@finos/legend-application-pure-ide-deployment 11.11.0 → 11.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ide/index.html +1 -1
- package/dist/ide/{135.js → static/135.2af0ed6c.js} +2 -2
- package/dist/ide/static/135.2af0ed6c.js.map +1 -0
- package/dist/ide/{14.js → static/14.9447a523.js} +2 -2
- package/dist/ide/static/14.9447a523.js.map +1 -0
- package/dist/ide/{144.js → static/144.56359b57.js} +1 -1
- package/dist/ide/static/144.56359b57.js.map +1 -0
- package/dist/ide/{192.js → static/192.2c9a3a4b.js} +1 -1
- package/dist/ide/static/192.2c9a3a4b.js.map +1 -0
- package/dist/ide/{196.js → static/196.dd0f3119.js} +1 -1
- package/dist/ide/static/196.dd0f3119.js.map +1 -0
- package/dist/ide/{222.js → static/222.969f20c8.js} +1 -1
- package/dist/ide/static/222.969f20c8.js.map +1 -0
- package/dist/ide/{224.js → static/224.bb7a7194.js} +1 -1
- package/dist/ide/static/224.bb7a7194.js.map +1 -0
- package/dist/ide/{246.js → static/246.4add4bf1.js} +2 -2
- package/dist/ide/static/246.4add4bf1.js.map +1 -0
- package/dist/ide/{309.js → static/309.df05f0ef.js} +2 -2
- package/dist/ide/static/309.df05f0ef.js.map +1 -0
- package/dist/ide/{32.js → static/32.1758faf0.js} +1 -1
- package/dist/ide/static/32.1758faf0.js.map +1 -0
- package/dist/ide/{327.js → static/327.fe8046d0.js} +1 -1
- package/dist/ide/static/327.fe8046d0.js.map +1 -0
- package/dist/ide/{362.js → static/362.a41dadab.js} +1 -1
- package/dist/ide/static/362.a41dadab.js.map +1 -0
- package/dist/ide/{374.js → static/374.0aa73cb9.js} +1 -1
- package/dist/ide/static/374.0aa73cb9.js.map +1 -0
- package/dist/ide/{399.js → static/399.4bd7d49b.js} +2 -2
- package/dist/ide/static/399.4bd7d49b.js.map +1 -0
- package/dist/ide/{400.js → static/400.5fa229f2.js} +1 -1
- package/dist/ide/static/400.5fa229f2.js.map +1 -0
- package/dist/ide/{404.js → static/404.7360c523.js} +1 -1
- package/dist/ide/static/404.7360c523.js.map +1 -0
- package/dist/ide/{413.js → static/413.848afa4d.js} +1 -1
- package/dist/ide/static/413.848afa4d.js.map +1 -0
- package/dist/ide/{46.js → static/46.767f2180.js} +1 -1
- package/dist/ide/static/46.767f2180.js.map +1 -0
- package/dist/ide/{471.js → static/471.d1ead9bf.js} +2 -2
- package/dist/ide/static/471.d1ead9bf.js.map +1 -0
- package/dist/ide/{481.js → static/481.be521fe4.js} +1 -1
- package/dist/ide/static/481.be521fe4.js.map +1 -0
- package/dist/ide/{578.js → static/578.d2ff5454.js} +1 -1
- package/dist/ide/static/578.d2ff5454.js.map +1 -0
- package/dist/ide/{586.js → static/586.c4953cb8.js} +1 -1
- package/dist/ide/static/586.c4953cb8.js.map +1 -0
- package/dist/ide/{616.js → static/616.dc5a1512.js} +1 -1
- package/dist/ide/static/616.dc5a1512.js.map +1 -0
- package/dist/ide/{624.js → static/624.2d11fadb.js} +1 -1
- package/dist/ide/static/624.2d11fadb.js.map +1 -0
- package/dist/ide/{636.js → static/636.4620ce27.js} +1 -1
- package/dist/ide/static/636.4620ce27.js.map +1 -0
- package/dist/ide/{817.js → static/817.6ce83b7d.js} +1 -1
- package/dist/ide/static/817.6ce83b7d.js.map +1 -0
- package/dist/ide/{837.js → static/837.5bdbaccc.js} +1 -1
- package/dist/ide/static/837.5bdbaccc.js.map +1 -0
- package/dist/ide/{909.js → static/909.35426328.js} +1 -1
- package/dist/ide/static/909.35426328.js.map +1 -0
- package/dist/ide/{923.js → static/923.1933c869.js} +1 -1
- package/dist/ide/static/923.1933c869.js.map +1 -0
- package/dist/ide/{932.js → static/932.417cc1c9.js} +1 -1
- package/dist/ide/static/932.417cc1c9.js.map +1 -0
- package/dist/ide/{947.js → static/947.b545969f.js} +2 -2
- package/dist/ide/static/947.b545969f.js.map +1 -0
- package/dist/ide/{969.js → static/969.d3cb41c2.js} +1 -1
- package/dist/ide/static/969.d3cb41c2.js.map +1 -0
- package/dist/ide/{977.js → static/977.112b9e63.js} +1 -1
- package/dist/ide/static/977.112b9e63.js.map +1 -0
- package/dist/ide/{99.js → static/99.5f870035.js} +2 -2
- package/dist/ide/static/99.5f870035.js.map +1 -0
- package/dist/ide/static/{index.e8b35023.js → index.0b1c88f5.js} +2 -2
- package/dist/ide/static/index.0b1c88f5.js.map +1 -0
- package/dist/ide/static/{index.89de1e23.css → index.0ff828b4.css} +6 -6
- package/dist/ide/static/{index.89de1e23.css.map → index.0ff828b4.css.map} +1 -1
- package/dist/ide/version.json +1 -1
- package/package.json +6 -6
- package/dist/ide/135.js.map +0 -1
- package/dist/ide/14.js.map +0 -1
- package/dist/ide/144.js.map +0 -1
- package/dist/ide/192.js.map +0 -1
- package/dist/ide/196.js.map +0 -1
- package/dist/ide/222.js.map +0 -1
- package/dist/ide/224.js.map +0 -1
- package/dist/ide/246.js.map +0 -1
- package/dist/ide/309.js.map +0 -1
- package/dist/ide/32.js.map +0 -1
- package/dist/ide/327.js.map +0 -1
- package/dist/ide/362.js.map +0 -1
- package/dist/ide/374.js.map +0 -1
- package/dist/ide/399.js.map +0 -1
- package/dist/ide/400.js.map +0 -1
- package/dist/ide/404.js.map +0 -1
- package/dist/ide/413.js.map +0 -1
- package/dist/ide/46.js.map +0 -1
- package/dist/ide/471.js.map +0 -1
- package/dist/ide/481.js.map +0 -1
- package/dist/ide/578.js.map +0 -1
- package/dist/ide/586.js.map +0 -1
- package/dist/ide/616.js.map +0 -1
- package/dist/ide/624.js.map +0 -1
- package/dist/ide/636.js.map +0 -1
- package/dist/ide/817.js.map +0 -1
- package/dist/ide/837.js.map +0 -1
- package/dist/ide/909.js.map +0 -1
- package/dist/ide/923.js.map +0 -1
- package/dist/ide/932.js.map +0 -1
- package/dist/ide/947.js.map +0 -1
- package/dist/ide/969.js.map +0 -1
- package/dist/ide/977.js.map +0 -1
- package/dist/ide/99.js.map +0 -1
- package/dist/ide/static/index.e8b35023.js.map +0 -1
- /package/dist/ide/{135.js.LICENSE.txt → static/135.2af0ed6c.js.LICENSE.txt} +0 -0
- /package/dist/ide/{14.js.LICENSE.txt → static/14.9447a523.js.LICENSE.txt} +0 -0
- /package/dist/ide/{246.js.LICENSE.txt → static/246.4add4bf1.js.LICENSE.txt} +0 -0
- /package/dist/ide/{309.js.LICENSE.txt → static/309.df05f0ef.js.LICENSE.txt} +0 -0
- /package/dist/ide/{399.js.LICENSE.txt → static/399.4bd7d49b.js.LICENSE.txt} +0 -0
- /package/dist/ide/{471.js.LICENSE.txt → static/471.d1ead9bf.js.LICENSE.txt} +0 -0
- /package/dist/ide/{947.js.LICENSE.txt → static/947.b545969f.js.LICENSE.txt} +0 -0
- /package/dist/ide/{99.js.LICENSE.txt → static/99.5f870035.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
|
|
1
|
-
(()=>{"use strict";var e,t,i,s,n,a={9626:(e,t,i)=>{i.r(t);const s=JSON.parse('{"name":"@finos/legend-shared","version":"10.0.31","description":"Legend Studio shared utilities and helpers","keywords":["legend","utilities","utils"],"homepage":"https://github.com/finos/legend-studio/tree/master/packages/legend-shared","bugs":{"url":"https://github.com/finos/legend-studio/issues"},"repository":{"type":"git","url":"https://github.com/finos/legend-studio.git","directory":"packages/legend-shared"},"license":"Apache-2.0","sideEffects":false,"type":"module","exports":{".":"./lib/index.js","./test":"./lib/__test__.js"},"module":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"yarn clean && yarn build:ts","build:ts":"tsc --project ./tsconfig.build.json","clean":"npm-run-all clean:cache clean:lib","clean:cache":"rimraf \\"build\\"","clean:lib":"rimraf \\"lib\\"","dev":"yarn dev:ts","dev:ts":"tsc --watch --preserveWatchOutput","lint:js":"cross-env NODE_ENV=production eslint --cache --cache-location ./build/.eslintcache --report-unused-disable-directives --parser-options=project:\\"./tsconfig.json\\" \\"./src/**/*.{js,ts,tsx}\\"","publish:prepare":"node ../../scripts/release/preparePublishContent.js","publish:snapshot":"node ../../scripts/release/publishDevSnapshot.js","test":"jest","test:watch":"jest --watch"},"dependencies":{"@braintree/sanitize-url":"6.0.4","@types/lodash-es":"4.17.10","@types/object-hash":"3.0.5","@types/pako":"2.0.2","@types/papaparse":"5.3.10","@types/seedrandom":"3.0.7","@types/uuid":"9.0.6","date-fns":"2.30.0","fuse.js":"6.6.2","hash.js":"1.1.7","http-status-codes":"2.3.0","lodash-es":"4.17.21","lossless-json":"2.0.11","mobx":"6.10.2","object-hash":"3.0.0","pako":"2.1.0","papaparse":"5.4.1","pretty-format":"29.7.0","query-string":"8.1.0","seedrandom":"3.0.5","serializr":"3.0.2","uuid":"9.0.1"},"devDependencies":{"@finos/legend-dev-utils":"workspace:*","@jest/globals":"29.7.0","cross-env":"7.0.3","eslint":"8.52.0","jest":"29.7.0","lodash":"4.17.21","npm-run-all":"4.1.5","rimraf":"5.0.5","typescript":"5.2.2"},"publishConfig":{"directory":"build/publishContent"},"extensions":{"webConsoleLoggerPlugin":"@finos/legend-logger-plugin-web-console"}}');var n,a=i(2270);class r{name;version;signature;uuid}class o{name;version;uuid=(0,a.default)();constructor(e,t){this.name=e,this.version=t}getName(){return this.name}getVersion(){return this.version}getSignature(){return`${this.getName()}@${this.getVersion()}`}getUUID(){return this.uuid}getInfo(){const e=new r;return e.name=this.getName(),e.version=this.getVersion(),e.signature=this.getSignature(),e.uuid=this.getUUID(),e}configure(e){return this}}class c{name;version;signature;uuid;plugins=[]}class l{name;version;uuid=(0,a.default)();plugins=[];constructor(e,t,i){this.name=e,this.version=t,this.plugins=i}getName(){return this.name}getVersion(){return this.version}getSignature(){return`${this.getName()}@${this.getVersion()}`}getUUID(){return this.uuid}getPlugins(){return[...this.plugins]}getInfo(){const e=new c;return e.name=this.getName(),e.version=this.getVersion(),e.signature=this.getSignature(),e.uuid=this.getUUID(),e.plugins=this.plugins.map((e=>e.getInfo())).sort(((e,t)=>e.name.localeCompare(t.name))),e}configure(e){return this}install(e){this.plugins.forEach((t=>t.install(e)))}}class d{plugins=[];presets=[];usePlugins(e){return this.plugins=e,this}usePresets(e){return this.presets=e,this}configure(e){Object.keys(e).forEach((t=>{const i=e[t];this.presets.forEach((e=>{e.getName()===t&&e.configure(i)})),this.plugins.forEach((e=>{e.getName()===t&&e.configure(i)}))}))}install(){this.plugins.forEach((e=>e.install(this))),this.presets.forEach((e=>e.install(this)))}getInfo(){return{plugins:this.plugins.filter((e=>!this.getHiddenPluginNames().includes(e.getName()))).map((e=>e.getInfo())).sort(((e,t)=>e.name.localeCompare(t.name))),presets:this.presets.filter((e=>!this.getHiddenPresetNames().includes(e.getName()))).map((e=>e.getInfo())).sort(((e,t)=>e.name.localeCompare(t.name)))}}getHiddenPluginNames(){return[]}getHiddenPresetNames(){return[]}}!function(e){e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(n||(n={}));class u{channel;name;timestamp=Date.now();static create(e){const t=new u;return t.name=e,t}}class p extends o{level=n.DEBUG;setLevel(e){this.level=e}install(e){e.registerLoggerPlugin(this)}debug(e,...t){this.level<=n.DEBUG&&this._debug(e,...t)}info(e,...t){this.level<=n.INFO&&this._info(e,...t)}warn(e,...t){this.level<=n.WARN&&this._warn(e,...t)}error(e,...t){this.level<=n.ERROR&&this._error(e,...t)}}class h{loggers=[];registerPlugins(e){this.loggers=e}debug(e,...t){this.loggers.forEach((i=>i.debug(e,...t)))}info(e,...t){this.loggers.forEach((i=>i.info(e,...t)))}warn(e,...t){this.loggers.forEach((i=>i.warn(e,...t)))}error(e,...t){this.loggers.forEach((i=>i.error(e,...t)))}}const{debug:m,info:g,warn:f,error:_}=console;class b extends p{constructor(){super(s.extensions.webConsoleLoggerPlugin,s.version)}_debug(e,...t){m(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}_info(e,...t){g(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}_warn(e,...t){f(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}_error(e,...t){_(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}}var E=i(2322),v=i(7029),T=(i(7921),i(3122),i(4006)),S=(i(5386),i(486),i(5741)),C=i(9420),y=i(7279),N=i(1367),A=i(0),I=i(8372),x=(i(8744),i(1112));const O=e=>e.constructor,w=()=>()=>{},R=e=>e.length?e[0]:void 0,k=e=>e.length?e[e.length-1]:void 0,P=e=>new Promise(((t,i)=>setTimeout((()=>{try{t(e())}catch(e){i(e)}}),0))),M=(e,t,i=((e,t)=>e===t))=>!e.find((e=>i(e,t)))&&(e.push(t),!0),L=(e,t,i,s=((e,t)=>e===t))=>{const n=e.findIndex((e=>s(e,t))),a=e.findIndex((e=>s(e,i)));return-1!==n&&-1!==a&&(e[n]=i,e[a]=t,!0)},F=(e,t,i=((e,t)=>e===t))=>{const s=e.findIndex((e=>i(e,t)));return-1!==s&&(e.splice(s,1),!0)},D=(e,t)=>{const i=(s={printFunctionName:!1,maxDepth:t?.deep?void 0:1},(0,T.default)(s,(e=>void 0!==e)));var s;return(0,x.format)(e,i).replace(/.*\s\{/g,"{").replace(/\[.*\]/g,(e=>["[Array]","[Function]"].includes(e)?e:"[Object]"))};class B extends Error{uuid=(0,a.default)();constructor(e){super(),this.message=void 0===e||""===e?"(no error message)":e}get detail(){return this.message}}class j extends Error{constructor(e,t,i){if(super(i||(t instanceof Error?t.message:t)),this.name=e,t instanceof Error){const e=(this.message.match(/\n/g)??[]).length+1;this.stack=`${(this.stack??"").split("\n").slice(0,e+1).join("\n")}\nCaused by: ${t.stack}`}else"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(t).stack}}class U extends j{constructor(e){super("Illegal State Error [PLEASE NOTIFY DEVELOPER]",e)}}class V extends j{constructor(e,t){super("Unsupported Operation Error",e||t?`${e}${t?`\n${D(t)}`:""}`:void 0)}}function G(e){if(!(e instanceof Error))throw new U("Expected error to be thrown")}const z=e=>{try{return e()}catch{return}};class H extends j{constructor(e,t){super("Assertion Error",e,t)}}const $=e=>null!=e;function Y(e,t=""){if(null==e)throw new H(t||"Value is nullable")}const W=(e,t="")=>(Y(e,t),e),K=e=>t=>((e,t)=>e instanceof t)(t,e);function J(e,t,i=""){if(!(e instanceof t))throw new H(i||`Value is expected to be of type '${t.name}'`)}const X=(e,t,i="")=>(J(e,t,i),e);function q(e,t=""){if(""===W(e,t))throw new H(t||"Expected string value to be non-empty")}function Q(e,t=""){return q(e,t),e}function Z(e,t=""){if(!e)throw new H(t||"Expected predicate to be truthy")}const ee=e=>"string"==typeof e,te=e=>"number"==typeof e&&!isNaN(e),ie=e=>"boolean"==typeof e,se=e=>"object"==typeof e&&null!==e;const ne=(e,t="")=>(function(e,t=""){if(!ee(e))throw new H(t||"Value is expected to be a string")}(e,t),e),ae=(e,t="")=>(function(e,t=""){if(!te(e))throw new H(t||"Value is expected to be a number")}(e,t),e),re=(e,t="")=>(function(e,t=""){if(!ie(e))throw new H(t||"Value is expected to be a boolean")}(e,t),e),oe=(e,t="")=>(function(e,t=""){if(!se(e))throw new H(t||"Value is expected to be a object")}(e,t),e);var ce=i(9391),le=i(3654),de=i(8247),ue=i(2659);new RegExp("^https?://(?:www.)?[-a-zA-Z0-9@:%._+~#=]{1,256}.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)$");const pe=ce.StatusCodes,he="charset=utf-8";var me,ge,fe;!function(e){e.CONTENT_TYPE="Content-Type",e.ACCEPT="Accept"}(me||(me={})),function(e){e.APPLICATION_JSON="application/json",e.APPLICATION_XML="application/xml",e.APPLICATION_ZLIB="application/zlib",e.TEXT_PLAIN="text/plain",e.TEXT_CSV="text/csv",e.ALL="*/*"}(ge||(ge={})),function(e){e.GET="GET",e.PUT="PUT",e.POST="POST",e.DELETE="DELETE"}(fe||(fe={}));const _e={mode:"cors",credentials:"include",redirect:"follow"},be=(e,t)=>{const i={};return e&&Object.entries(e).forEach((([e,t])=>{i[e]=t})),t&&Object.entries(t).forEach((([e,t])=>{i[e]=t})),i};class Ee extends Error{response;payload;constructor(e,t){super(),"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.name="Network Client Error",this.response=e;const{status:i,statusText:s,url:n}=e,a=`Received response with status ${i} (${s}) for ${n}`;this.message=(t?(e=>{if(se(e))return ee(e.message)?e.message:JSON.stringify(e);let t;try{t=JSON.parse(e)}catch{}return t&&ee(t.message)?t.message:e})(t).substring(0,5e3):"")||a,this.payload=t}}const ve=async(e,t,i)=>{if(i?.preprocess?.(e),!e.ok){let t;try{t=await e.text(),t=JSON.parse(t)}catch{}return Promise.reject(new Ee(e,t))}if(i?.skipProcessing)return Promise.resolve(e);if(e.status===pe.NO_CONTENT)return Promise.resolve(void 0);const s=t.headers.Accept;switch(s){case ge.APPLICATION_JSON:return e.json();case ge.TEXT_PLAIN:return e.text();default:return Promise.reject(new Ee(e,`Can't process response for request with Content-Type '${s}'`))}},Te=(e,t)=>{const i={};return i.Accept=ge.APPLICATION_JSON,e!==fe.GET&&(i[me.CONTENT_TYPE]=`${ge.APPLICATION_JSON};${he}`),be(i,t)};class Se{options={};baseUrl;constructor(e){this.baseUrl=e?.baseUrl,this.options={..._e,...e?.options??{}}}async get(e,t={},i,s,n,a){return this.request(fe.GET,e,void 0,t,i,s,n,a)}async put(e,t={},i={},s,n,a,r){return this.request(fe.PUT,e,t,i,s,n,a,r)}async post(e,t={},i={},s,n,a,r){return this.request(fe.POST,e,t,i,s,n,a,r)}async delete(e,t={},i={},s,n,a,r){return this.request(fe.DELETE,e,t,i,s,n,a,r)}async request(e,t,i,s,n,a,r,o){const c=((e,t,i)=>{if(!e&&!z((()=>new URL(t))))throw new Error(`Can't build URL string: base URL is not specified and the provided URL '${t}' is not absolute`);const s=new URL(t,e);return i instanceof Object&&Object.entries(i).forEach((([e,t])=>{void 0!==t&&(Array.isArray(t)?t.filter($).forEach((t=>s.searchParams.append(e,t.toString()))):s.searchParams.append(e,t.toString()))})),s.toString()})(this.baseUrl,t,a??{});let l;if((ee(i)||se(i))&&r?.enableCompression&&(Z(e!==fe.GET," GET request should not have any request payload"),i=(e=>new Blob([(0,le.deflate)(se(e)?JSON.stringify(e):e)]))(i),n=be(n,{[me.CONTENT_TYPE]:`${ge.APPLICATION_ZLIB};${he}`})),void 0!==i)if(ee(i)||i instanceof Blob)l=i;else{if(!se(i))throw new H("Request body can only be either a 'string' or an 'object'");l=JSON.stringify(i)}const d={...this.options,...s,method:e,body:l,headers:Te(e,n)};return fetch(c,d).then((e=>0===e.status||e.status===pe.UNAUTHORIZED?o?.autoReAuthenticateUrl?(e=>new Promise((t=>{const i="AUTO_AUTHENTICATION_IFRAME",s=document.getElementById(i);s?.remove();const n=document.createElement("iframe");n.id=i,n.src=e,n.style.display="none",n.addEventListener("load",(()=>{n.remove(),t()})),document.body.appendChild(n)})))(o.autoReAuthenticateUrl).then((()=>fetch(c,d))).then((e=>ve(e,d,o))):fetch(c,d).then((e=>ve(e,d,o))):ve(e,d,o))).catch((e=>(e=>e instanceof TypeError&&"Failed to fetch"===e.message)(e)?fetch(c,d).then((e=>ve(e,d,o))):Promise.reject(e)))}}const Ce=(e,t,i)=>{const s=new Blob([t],{type:i}),n=URL.createObjectURL(s),a=document.createElement("a");"string"==typeof a.download?(document.body.appendChild(a),a.download=e,a.href=n,a.click(),document.body.removeChild(a)):location.replace(n)};var ye;!function(e){e.APPLICATION_SETUP__FAILURE="application.setup.failure",e.APPLICATION_LOAD__SUCCESS="application.load.success",e.APPLICATION_LOAD__FAILURE="application.load.failure",e.ILLEGAL_APPLICATION_STATE_OCCURRED="application.error.illegal-state",e.APPLICATION_CONFIGURATION__FAILURE="application.configuration.failure",e.IDENTITY_AUTO_FETCH__FAILURE="application.identity.auto-fetch.failure",e.DOCUMENTATION_FETCH__FAILURE="application.documentation.fetch.failure",e.DOCUMENTATION_LOAD__SKIP="application.documentation.load.skip",e.DOCUMENTATION_REQUIREMENT_CHECK__FAILURE="application.documentation.requirement-check.failure",e.CONTEXTUAL_DOCUMENTATION_LOAD__SKIP="application.virtual-assistant.contextual-documentation-load.skip",e.VIRTUAL_ASSISTANT_DOCUMENTATION_ENTRY__ACCESS="application.virtual-assistant.documentation-entry.access",e.TERMINAL_COMMAND_CONFIGURATION_CHECK__FAILURE="application.load.terminal-command.configuration-check.failure",e.COLOR_THEME_CONFIGURATION_CHECK__FAILURE="application.layout.color-theme.configuration-check.failure",e.SETTING_CONFIGURATION_CHECK__FAILURE="application.setting.configuration-check.failure",e.SETTING_RETRIVE_FAILURE="application.setting.retrieve.failure",e.USER_DATA_RETRIEVE_FAILURE="application.user-data.retrieve.failure",e.COMMAND_CENTER_REGISTRATION__FAILURE="application.command.registration.failure",e.DEVELOPMENT_ISSUE="development.issue",e.APPLICATION_CONTEXT__ACCESS="application.context.access",e.APPLICATION_USAGE__INTERRUPT="application.usage.interrupt",e.APPLICATION_TELEMETRY_EVENT__FAILURE="application.telemetry-event.failure"}(ye||(ye={}));var Ne=i(9013);class Ae{schema;deserializeNullAsUndefined;constructor(e,t){this.schema=e,this.deserializeNullAsUndefined=Boolean(t?.deserializeNullAsUndefined)}toJson(e){return(0,Ne.serialize)(this.schema,e)}fromJson(e){return(0,Ne.deserialize)(this.schema,this.deserializeNullAsUndefined?(t=e,(0,T.default)(t,(e=>null!==e))):e);var t}}const Ie=e=>(0,Ne.custom)((t=>void 0===t?Ne.SKIP:(0,Ne.serialize)(e,t)),(t=>(0,Ne.deserialize)(e,t))),xe=e=>(0,Ne.custom)((()=>e),(()=>e)),Oe=(e,t)=>(0,Ne.custom)((t=>t?e(t):Ne.SKIP),(e=>e?t(e):Ne.SKIP)),we=e=>(0,Ne.custom)((t=>t?(0,Ne.serialize)(e,t):Ne.SKIP),(t=>t?(0,Ne.deserialize)(e,t):Ne.SKIP)),Re=(e,t,i)=>Array.isArray(e)?e.map(t):i?.skipIfEmpty?Ne.SKIP:[],ke=(e,t,i)=>Array.isArray(e)?e.length?e.map((e=>t(e))):i?.skipIfEmpty?Ne.SKIP:[]:Ne.SKIP,Pe=(e,t)=>(0,Ne.custom)((i=>ke(i,(t=>(0,Ne.serialize)(e,t)),{skipIfEmpty:!0,INTERNAL__forceReturnEmptyInTest:t?.INTERNAL__forceReturnEmptyInTest})),(t=>Re(t,(t=>(0,Ne.deserialize)(e,t)),{skipIfEmpty:!1}))),Me=(e,t,i)=>(0,Ne.custom)((t=>ke(t,(t=>e(t)),{skipIfEmpty:!0,INTERNAL__forceReturnEmptyInTest:i?.INTERNAL__forceReturnEmptyInTest})),(e=>Re(e,(e=>t(e)),{skipIfEmpty:!1}))),Le=e=>Me((e=>e),(e=>e),e);class Fe{key;markdownText;title;text;url;related;static serialization=new Ae((0,Ne.createModelSchema)(Fe,{markdownText:(0,Ne.custom)((e=>e),(e=>e.value?e:void 0)),related:(0,Ne.optional)((0,Ne.list)((0,Ne.primitive)())),title:(0,Ne.optional)((0,Ne.primitive)()),text:(0,Ne.optional)((0,Ne.primitive)()),url:(0,Ne.optional)((0,Ne.primitive)())}));static create(e,t){const i=Fe.serialization.fromJson(e);return i.key=t,i}}const De=e=>Object.entries(e).map((e=>({key:e[0],content:Fe.create(e[1],e[0])})));class Be{url;links;docRegistry=new Map;contextualDocIndex=new Map;constructor(e){this.url=e.config.documentationUrl,this.links=e.config.documentationLinkEntries,e.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraKeyedDocumentationEntries?.()??[])).forEach((t=>{this.hasDocEntry(t.key)?e.logService.warn(u.create(ye.DOCUMENTATION_LOAD__SKIP),t.key):this.docRegistry.set(t.key,t.content)})),e.config.keyedDocumentationEntries.forEach((e=>this.docRegistry.set(e.key,e.content)));const t=e.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraContextualDocumentationEntries?.()??[])),i=[];(0,A.default)(e.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraRequiredDocumentationKeys?.()??[])).concat(t.map((e=>e.documentationKey)))).forEach((e=>{this.docRegistry.has(e)||i.push(e)})),i.length&&e.logService.warn(u.create(ye.DOCUMENTATION_REQUIREMENT_CHECK__FAILURE),`Can't find corresponding documentation entry for keys:\n${i.map((e=>`- ${e}`)).join("\n")}`),t.forEach((t=>{if(this.hasContextualDocEntry(t.context))e.logService.warn(u.create(ye.CONTEXTUAL_DOCUMENTATION_LOAD__SKIP),t.context);else{const e=this.getDocEntry(t.documentationKey);e&&this.contextualDocIndex.set(t.context,e)}})),e.config.contextualDocEntries.forEach((e=>{const t=this.getDocEntry(e.documentationKey);t&&this.contextualDocIndex.set(e.context,t)}))}getDocEntry(e){return this.docRegistry.get(e)}hasDocEntry(e){return this.docRegistry.has(e)}getContextualDocEntry(e){return this.contextualDocIndex.get(e)}hasContextualDocEntry(e){return this.contextualDocIndex.has(e)}getAllDocEntries(){return Array.from(this.docRegistry.values())}publishDocRegistry(){const e={};return this.docRegistry.forEach(((t,i)=>{e[i]=Fe.serialization.toJson(t)})),e}publishContextualDocIndex(){const e={};return this.contextualDocIndex.forEach(((t,i)=>{e[i]=t.key})),e}}var je,Ue,Ve=i(75);!function(e){e.INITIAL="INITIAL",e.IN_PROGRESS="IN_PROGRESS",e.SUCCEEDED="SUCEEDED",e.FAILED="FAILED"}(je||(je={}));class Ge{state;_message;_messageFormatter;constructor(){this.state=je.INITIAL}setMessage(e){this._message=e}setMessageFormatter(e){this._messageFormatter=e}reset(){return this.state=je.INITIAL,this}inProgress(){return this.state=je.IN_PROGRESS,this}fail(){return this.state=je.FAILED,this}pass(){return this.state=je.SUCCEEDED,this}complete(e=!0){return e?this.pass():this.fail(),this}sync(e){const t=e.exportData();this.state=t.state,this._message=t.message}exportData(){return{state:this.state,message:this._message}}get isInInitialState(){return this.state===je.INITIAL}get isInProgress(){return this.state===je.IN_PROGRESS}get hasFailed(){return this.state===je.FAILED}get hasSucceeded(){return this.state===je.SUCCEEDED}get message(){return this._message?this._messageFormatter?this._messageFormatter(this._message):this._message:void 0}get hasCompleted(){return this.hasFailed||this.hasSucceeded}static create(){return(0,Ve.makeObservable)(new Ge,{state:Ve.observable,_message:Ve.observable,reset:Ve.action,inProgress:Ve.action,pass:Ve.action,fail:Ve.action,complete:Ve.action,setMessage:Ve.action,sync:Ve.action,isInInitialState:Ve.computed,isInProgress:Ve.computed,hasFailed:Ve.computed,hasSucceeded:Ve.computed,hasCompleted:Ve.computed,message:Ve.computed})}}!function(e){e.USER="user",e.ENV="env",e.RESULT="result",e.ERROR="error",e.HTTP_STATUS="status",e.HTTP_REQUEST_METHOD="method",e.HTTP_REQUEST_URL="url"}(Ue||(Ue={}));class ze{traceEntries=[];setup(e){this.traceEntries=e}bootstrap(e){this.traceEntries.forEach((t=>{t.plugin.bootstrap(t.clientSpan,e)}))}reportSuccess(){this.traceEntries.forEach((e=>{e.plugin.concludeClientSpan(e.clientSpan,void 0)}))}reportError(e){this.traceEntries.forEach((t=>{t.plugin.concludeClientSpan(t.clientSpan,e)}))}close(){this.traceEntries.forEach((e=>{e.plugin.concludeServerSpan(e.serverSpan)}))}}class He{plugins=[];registerPlugins(e){this.plugins=e}createTrace(e,t,i,s){const n=new ze;return e&&n.setup(this.plugins.map((n=>{const a=n.createClientSpan(e);return{clientSpan:a,serverSpan:n.createServerSpan(a,t,i,s),plugin:n}}))),n}}var $e=i(1931);const Ye=$e.Fuse.default;$e.Fuse;var We,Ke;!function(e){e.STANDARD="standard",e.INCLUDE="include match",e.EXACT="exact match",e.INVERSE="excludes exact match"}(We||(We={}));class Je{currentMode=We.STANDARD;onSearchModeChange;constructor(e){(0,Ve.makeObservable)(this,{currentMode:Ve.observable,isAdvancedSearchActive:Ve.computed,setCurrentMode:Ve.action}),this.onSearchModeChange=e}get isAdvancedSearchActive(){return this.currentMode!==We.STANDARD}generateSearchText(e){switch(this.currentMode){case We.INCLUDE:return`'"${e}"`;case We.EXACT:return`="${e}"`;case We.INVERSE:return`!"${e}"`;default:return e}}setCurrentMode(e){this.currentMode=e,this.onSearchModeChange()}}!function(e){e.SEARCH="SEARCH",e.CONTEXTUAL_SUPPORT="CONTEXTUAL_SUPPORT"}(Ke||(Ke={}));class Xe{uuid=(0,a.default)();documentationKey;title;content;url;isOpen=!1;constructor(e){(0,Ve.makeObservable)(this,{isOpen:Ve.observable,setIsOpen:Ve.action}),this.documentationKey=e.key,this.title=Q(e.title),this.content=e.markdownText??e.text,this.url=e.url}setIsOpen(e){this.isOpen=e}}class qe{uuid=(0,a.default)();context;title;content;url;related;constructor(e,t,i){this.context=e,this.title=t.title,this.content=t.markdownText??t.text,this.url=t.url,this.related=i}}const Qe=e=>Boolean(e.title&&(e.url??e.text??e.markdownText));class Ze{applicationStore;panelRenderingKey=(0,a.default)();isHidden=!0;isOpen=!1;isPanelMaximized=!1;selectedTab=Ke.SEARCH;currentDocumentationEntry;searchEngine;searchConfigurationState;searchState=Ge.create();searchText="";searchResults=[];showSearchConfigurationMenu=!1;isOverSearchLimit=!1;constructor(e){(0,Ve.makeObservable)(this,{isHidden:Ve.observable,isOpen:Ve.observable,isPanelMaximized:Ve.observable,panelRenderingKey:Ve.observable,isOverSearchLimit:Ve.observable,selectedTab:Ve.observable,searchText:Ve.observable,searchResults:Ve.observable,currentDocumentationEntry:Ve.observable,showSearchConfigurationMenu:Ve.observable,currentContextualDocumentationEntry:Ve.computed,setIsHidden:Ve.action,setIsOpen:Ve.action,setIsPanelMaximized:Ve.action,setSelectedTab:Ve.action,setSearchText:Ve.action,resetSearch:Ve.action,search:Ve.action,openDocumentationEntry:Ve.action,refreshPanelRendering:Ve.action,setShowSearchConfigurationMenu:Ve.action}),this.applicationStore=e,this.searchEngine=new Ye(this.applicationStore.documentationService.getAllDocEntries().filter(Qe),{includeScore:!0,shouldSort:!0,ignoreLocation:!0,threshold:.2,keys:[{name:"title",weight:4},{name:"text",weight:1},{name:"markdownText.value",weight:1}],useExtendedSearch:!0}),this.searchConfigurationState=new Je((()=>{this.search()}))}get currentContextualDocumentationEntry(){if(!this.applicationStore.navigationContextService.currentContext)return;const e=this.applicationStore.navigationContextService.currentContext.key,t=this.applicationStore.documentationService.getContextualDocEntry(e);return t?new qe(e,t,(t.related??[]).map((e=>this.applicationStore.documentationService.getDocEntry(e))).filter($).filter(Qe).map((e=>new Xe(e)))):void 0}openDocumentationEntry(e){const t=this.applicationStore.documentationService.getDocEntry(e);t&&(this.setIsOpen(!0),this.setIsHidden(!1),this.currentDocumentationEntry=new Xe(t),this.currentDocumentationEntry.setIsOpen(!0),this.resetSearch())}openDocumentationEntryLink(e){const t=this.applicationStore.documentationService.getDocEntry(e);t&&((e=>Qe(e)&&Boolean(e.text??e.markdownText))(t)?this.openDocumentationEntry(t.key):t.url&&this.applicationStore.navigationService.navigator.visitAddress(t.url))}setIsHidden(e){this.isHidden=e}setIsPanelMaximized(e){this.isPanelMaximized=e}hideAssistant(){this.setIsHidden(!0),this.setIsOpen(!1)}toggleAssistant(){!this.isHidden?this.hideAssistant():this.setIsHidden(!1)}setIsOpen(e){this.isOpen=e}setSelectedTab(e){this.selectedTab=e}refreshPanelRendering(){this.panelRenderingKey=(0,a.default)()}setSearchText(e){this.searchText=e}resetSearch(){this.searchText="",this.searchResults=[],this.searchState.complete()}search(){this.searchText?(this.currentDocumentationEntry=void 0,this.searchState.inProgress(),this.searchResults=Array.from(this.searchEngine.search(this.searchConfigurationState.generateSearchText(this.searchText),{limit:101}).values()).map((e=>new Xe(e.item))),this.searchResults.length>100?(this.isOverSearchLimit=!0,this.searchResults=this.searchResults.slice(0,100)):this.isOverSearchLimit=!1,this.searchState.complete()):this.searchResults=[]}setShowSearchConfigurationMenu(e){this.showSearchConfigurationMenu=e}}class et{notifierPlugins=[];registerEventNotifierPlugins(e){this.notifierPlugins=e}notify(e,t){this.notifierPlugins.forEach((i=>i.notify(e,t)))}}class tt{static logEvent_ApplicationInitializationSucceeded(e,t){e.logEvent(ye.APPLICATION_LOAD__SUCCESS,{application:{name:t.config.appName,version:t.config.appVersion,env:t.config.env},browser:{userAgent:navigator.userAgent},screen:{height:window.screen.height,width:window.screen.width}})}static logEvent_ApplicationContextAccessed(e,t){e.logEvent(ye.APPLICATION_CONTEXT__ACCESS,t)}static logEvent_VirtualAssistantDocumentationEntryAccessed(e,t){e.logEvent(ye.VIRTUAL_ASSISTANT_DOCUMENTATION_ENTRY__ACCESS,t)}static logEvent_ApplicationUsageInterrupted(e){e.logEvent(ye.APPLICATION_USAGE__INTERRUPT,{})}}class it{applicationStore;contextStack=[];constructor(e){(0,Ve.makeObservable)(this,{contextStack:Ve.observable,currentContext:Ve.computed,push:Ve.action,pop:Ve.action}),this.applicationStore=e}get currentContext(){return this.contextStack.length?this.contextStack[this.contextStack.length-1]:void 0}push(e){const t=this.contextStack.filter((e=>!e.isTransient));if(t.find((t=>t.key===e.key)))throw new U(`Found multiple context '${e.key}' in application navigation context stack`);t.push(e),this.applicationStore.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraAccessEventLoggingApplicationContextKeys?.()??[])).includes(e.key)&&tt.logEvent_ApplicationContextAccessed(this.applicationStore.telemetryService,{key:e.key}),this.contextStack=t}pop(e){const t=this.contextStack.find((t=>t.key===e.key));if(!t)return;const i=this.contextStack.indexOf(t);-1!==i&&(this.contextStack=this.contextStack.slice(0,i).filter((e=>!e.isTransient)))}}class st{applicationStore;commandRegistry=new Map;constructor(e){(0,Ve.makeObservable)(this,{commandRegistry:Ve.observable,registerCommand:Ve.action,deregisterCommand:Ve.action}),this.applicationStore=e}registerCommand(e){const t=e.key;this.commandRegistry.has(t)?this.applicationStore.logService.warn(u.create(ye.COMMAND_CENTER_REGISTRATION__FAILURE),"Can't register command: command is already registered"):this.commandRegistry.set(t,e)}deregisterCommand(e){this.commandRegistry.delete(e)}runCommand(e,t){const i=this.commandRegistry.get(e);return!(!i||i.trigger&&!i.trigger())&&(i.action?.(t),!0)}}class nt{applicationStore;keyMap=new Map;commandKeyMap=new Map;isHotkeysBlocked=!1;constructor(e){(0,Ve.makeObservable)(this,{keyMap:Ve.observable,commandKeyMap:Ve.observable,isHotkeysBlocked:Ve.observable,addHotkey:Ve.action,blockGlobalHotkeys:Ve.action,unblockGlobalHotkeys:Ve.action}),this.applicationStore=e,this.applicationStore.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraKeyedCommandConfigEntries?.()??[])).forEach((e=>{const t=[e.content.defaultKeyboardShortcut,...e.content.additionalKeyboardShortcuts??[]].filter($);t.length?t.forEach((t=>this.addHotkey(e.key,t))):this.commandKeyMap.has(e.key)||this.commandKeyMap.set(e.key,[])}))}blockGlobalHotkeys(){this.isHotkeysBlocked=!0}unblockGlobalHotkeys(){this.isHotkeysBlocked=!1}addHotkey(e,t){this.commandKeyMap.set(e,[...this.commandKeyMap.get(e)??[],t]),this.keyMap.set(t,[...(this.keyMap.get(t)??[]).filter((t=>t!==e)),e])}dispatch(e){if(this.isHotkeysBlocked)return;const t=this.keyMap.get(e)??[];for(const e of t)if(this.applicationStore.commandService.runCommand(e))return}}var at=i(7289),rt=i(3678),ot=i(8440),ct=i(1919),lt=i(5399),dt=i(9358);const ut="Roboto Mono",pt="yyyy-MM-dd'T'HH:mm:ss";var ht;!function(e){e.RESET="[0m",e.BOLD="[1m",e.DIM="[2m",e.ITALIC="[3m",e.UNDERLINE="[4m",e.BLINKING="[5m",e.STRIKETHROUGH="[9m",e.BLACK="[30m",e.RED="[31m",e.GREEN="[32m",e.YELLOW="[33m",e.BLUE="[34m",e.MAGENTA="[35m",e.CYAN="[36m",e.WHITE="[37m",e.BRIGHT_BLACK="[1;30m",e.BRIGHT_RED="[1;31m",e.BRIGHT_GREEN="[1;32m",e.BRIGHT_YELLOW="[1;33m",e.BRIGHT_BLUE="[1;34m",e.BRIGHT_MAGENTA="[1;35m",e.BRIGHT_CYAN="[1;36m",e.BRIGHT_WHITE="[1;37m",e.DIMMED_BLACK="[2;30m",e.DIMMED_RED="[2;31m",e.DIMMED_GREEN="[2;32m",e.DIMMED_YELLOW="[2;33m",e.DIMMED_BLUE="[2;34m",e.DIMMED_MAGENTA="[2;35m",e.DIMMED_CYAN="[2;36m",e.DIMMED_WHITE="[2;37m",e.BLACK_BG="[40m",e.RED_BG="[41m",e.GREEN_BG="[42m",e.YELLOW_BG="[43m",e.BLUE_BG="[44m",e.MAGENTA_BG="[45m",e.CYAN_BG="[46m",e.WHITE_BG="[47m",e.BRIGHT_BLACK_BG="[1;40m",e.BRIGHT_RED_BG="[1;41m",e.BRIGHT_GREEN_BG="[1;42m",e.BRIGHT_YELLOW_BG="[1;43m",e.BRIGHT_BLUE_BG="[1;44m",e.BRIGHT_MAGENTA_BG="[1;45m",e.BRIGHT_CYAN_BG="[1;46m",e.BRIGHT_WHITE_BG="[1;47m",e.DIMMED_BLACK_BG="[2;40m",e.DIMMED_RED_BG="[2;41m",e.DIMMED_GREEN_BG="[2;42m",e.DIMMED_YELLOW_BG="[2;43m",e.DIMMED_BLUE_BG="[2;44m",e.DIMMED_MAGENTA_BG="[2;45m",e.DIMMED_CYAN_BG="[2;46m",e.DIMMED_WHITE_BG="[2;47m"}(ht||(ht={}));const mt=(e,t)=>`[${e};${t}H`;class gt{searchInput;searchText="";useRegex=!1;matchWholeWord=!1;matchCaseSensitive=!1;resultCount;currentResultIndex;constructor(){(0,Ve.makeObservable)(this,{searchText:Ve.observable,useRegex:Ve.observable,matchWholeWord:Ve.observable,matchCaseSensitive:Ve.observable,resultCount:Ve.observable,currentResultIndex:Ve.observable})}setSearchInput(e){this.searchInput=e}focus(){this.searchInput?.focus()}}class ft{applicationStore;searchConfig=new gt;constructor(e){(0,Ve.makeObservable)(this,{setSearchText:Ve.action,setSearchRegex:Ve.action,setSearchWholeWord:Ve.action,setSearchCaseSensitive:Ve.action,setSearchResultCount:Ve.action,setSearchCurrentResultIndex:Ve.action}),this.applicationStore=e}setSearchText(e){this.searchConfig.searchText=e}setSearchRegex(e){this.searchConfig.useRegex=e}setSearchWholeWord(e){this.searchConfig.matchWholeWord=e}setSearchCaseSensitive(e){this.searchConfig.matchCaseSensitive=e}setSearchResultCount(e){this.searchConfig.resultCount=e}setSearchCurrentResultIndex(e){this.searchConfig.currentResultIndex=e}}class _t extends ft{preserveLog=!1;commandRegistry=new Map;constructor(e){super(e),(0,Ve.makeObservable)(this,{preserveLog:Ve.observable,setPreserveLog:Ve.action})}setPreserveLog(e){this.preserveLog=e}showHelp(){}showCommonANSIEscapeSequences(){}}var bt=i(1169);i(286);const Et=e=>e.length>=1?`${e[0].toUpperCase()}${e.substring(1,e.length)}`:e,vt=["a","an","the","but","by","nor","and","or","so","as","yet","for","in","nor","of","on","at","out","to","up"],Tt=e=>(e??"").trim().replace(/\b(?:\w+)\b/gu,(e=>vt.includes(e.toLowerCase())?e.toLowerCase():Et(e))).replace(/^(?:\w+)\b/u,(e=>Et(e))).replace(/\b(?:\w+)$/u,(e=>Et(e))),St=e=>e?e.trim().match(/^[A-Z_]+$/)?Tt(e.trim().replace(/_+/gu," ").toLowerCase()):Et(e.trim()).split(/(?<chunk>[A-Z][a-z]+|[0-9]+)/).map((e=>e.toUpperCase()===e?e:e.charAt(0).toUpperCase()+e.slice(1).toLowerCase())).filter(Boolean).join(" ").replace(/_+/gu," ").replace(/\s+/gu," "):"",Ct=(e,t=2)=>{try{return((e,t,i)=>{const s=(0,bt.stringify)(e,t,i);return Y(s,"Can't stringify lossless JSON value"),s})((0,bt.parse)(e),void 0,t)}catch{return e}},yt=e=>{try{return Ct(e,0)}catch{return e.replace(/\n\s*/g,"")}};var Nt;function At(e){return e.trim().split(" ").map((e=>{const t=e.split(/\b\+/),i=W(t.pop(),"Can't parse key binding: last part must be a non-modifier key");return{modifiers:t,key:i}}))}!function(e){e.TAB="Tab",e.CAPSLOCK="CapsLock",e.SHIFT="Shift",e.META="Meta",e.ALT="Alt",e.CONTROL="Control",e.SPACE="Space",e.ESC="Escape",e.LEFT="ArrowLeft",e.RIGHT="ArrowRight",e.UP="ArrowUp",e.DOWN="ArrowDown",e.ENTER="Enter",e.DELETE="Delete",e.BACKSPACE="Backspace",e.BACKQUOTE="Backquote"}(Nt||(Nt={}));const It=(e,t)=>t.key===e.code&&t.modifiers.every((t=>e.getModifierState(t)))&&![Nt.SHIFT,Nt.META,Nt.ALT,Nt.CONTROL].find((i=>t.key!==i&&e.getModifierState(i)&&!t.modifiers.includes(i))),xt=(e,t)=>It(e,W(At(t)[0]));var Ot=i(4707),wt=i(3493),Rt=i(6919);const kt=(0,Ot.default)({transitions:{create:()=>"none"}}),Pt=e=>{const{children:t}=e;return(0,E.jsx)(wt.default,{injectFirst:!0,children:(0,E.jsx)(Rt.default,{theme:kt,children:t})})};var Mt=i(3820),Lt=i(6242),Ft=i(4309),Dt=i(6940),Bt=i(8683),jt=i(1934),Ut=i(489);const Vt=(e,t)=>{const i=e=>{const{children:i,className:s}=e;return(0,E.jsx)("div",{className:(0,Ut.clsx)(t,s),children:i})};return i.displayName=e,i},Gt=e=>{const{children:t,darkMode:i,className:s}=e;return(0,E.jsx)("div",{className:(0,Ut.clsx)("modal",{"modal--dark":i},s),children:t})},zt=e=>{const{title:t,icon:i,className:s}=e;return(0,E.jsxs)("div",{className:(0,Ut.clsx)("modal__title",s),children:[i&&(0,E.jsx)("div",{className:"modal__title__icon",children:i}),(0,E.jsx)("div",{className:"modal__title__label",children:Tt(t)})]})},Ht=e=>{const{title:t,children:i,className:s}=e;return!i&&t?(0,E.jsx)("div",{className:(0,Ut.clsx)("modal__header",s),children:(0,E.jsx)(zt,{title:t})}):(0,E.jsx)("div",{className:(0,Ut.clsx)("modal__header",s),children:i})},$t=(Vt("ModalHeaderActions","modal__header__actions"),Vt("ModalBody","modal__body")),Yt=Vt("ModalFooter","modal__footer");Vt("ModalFooterStatus","modal__footer__status");var Wt,Kt;!function(e){e.STANDARD="STANDARD",e.CAUTION="CAUTION"}(Wt||(Wt={})),function(e){e.STANDARD="STANDARD",e.PROCEED_WITH_CAUTION="PROCEED_WITH_CAUTION",e.PROCEED="PROCEED"}(Kt||(Kt={}));class Jt{applicationStore;blockingAlertInfo;actionAlertInfo;constructor(e){(0,Ve.makeObservable)(this,{blockingAlertInfo:Ve.observable,actionAlertInfo:Ve.observable,setBlockingAlert:Ve.action,setActionAlertInfo:Ve.action}),this.applicationStore=e}setBlockingAlert(e){e?this.applicationStore.keyboardShortcutsService.blockGlobalHotkeys():this.applicationStore.keyboardShortcutsService.unblockGlobalHotkeys(),this.blockingAlertInfo=e}setActionAlertInfo(e){this.actionAlertInfo&&e&&this.applicationStore.notificationService.notifyIllegalState("Action alert is stacked: new alert is invoked while another one is being displayed"),e?this.applicationStore.keyboardShortcutsService.blockGlobalHotkeys():this.applicationStore.keyboardShortcutsService.unblockGlobalHotkeys(),this.actionAlertInfo=e}}var Xt=i(2784);const qt=(0,Xt.createContext)(void 0),Qt=()=>W((0,Xt.useContext)(qt),"Can't find application store in context"),Zt=({children:e,store:t})=>{const i=(0,Ft.useLocalObservable)((()=>t));return(0,E.jsx)(qt.Provider,{value:i,children:e})},ei=e=>{switch(e){case Kt.PROCEED_WITH_CAUTION:return"btn--caution";case Kt.PROCEED:case Kt.STANDARD:default:return"btn--dark"}},ti=(0,Ft.observer)((e=>{const{info:t}=e,i=Qt(),{title:s,message:n,prompt:a,type:r,onClose:o,onEnter:c,actions:l}=t,d=()=>{o?.(),i.alertService.setActionAlertInfo(void 0)};return(0,E.jsx)(jt.default,{open:Boolean(i.alertService.actionAlertInfo),onClose:w,TransitionProps:{onEnter:()=>c?.()},children:(0,E.jsxs)("form",{onSubmit:e=>{e.preventDefault(),l.find((e=>e.default))?.handler?.(),d()},className:`modal search-modal modal--dark blocking-alert blocking-alert--${(r??Wt.STANDARD).toLowerCase()}`,children:[s&&(0,E.jsx)(Ht,{title:s}),(0,E.jsxs)($t,{children:[(0,E.jsx)("div",{className:"blocking-alert__summary-text",children:n}),(0,E.jsx)("div",{className:"blocking-alert__prompt-text",children:a})]}),(0,E.jsxs)(Yt,{children:[l.map(((e,t)=>(0,E.jsx)("button",{type:e.default?"submit":"button",className:`btn btn--dark ${ei(e.type??Kt.STANDARD)}`,onClick:t=>{t.preventDefault(),e.handler?.(),d()},autoFocus:Boolean(e.default),children:e.label},t))),!l.length&&(0,E.jsx)("button",{type:"button",className:"btn btn--dark blocking-alert__action--standard",onClick:d,children:"Cancel"})]})]})})})),ii=(0,Ft.observer)((()=>{const e=Qt().alertService.actionAlertInfo;return e?(0,E.jsx)(ti,{info:e}):null})),si=e=>{const{isLoading:t,className:i}=e,s=(0,Xt.useRef)(null);return(0,Xt.useEffect)((()=>{s.current&&(t?s.current.parentElement?.classList.add("panel-loading-indicator__container"):s.current.parentElement?.classList.remove("panel-loading-indicator__container"))}),[t]),(0,E.jsx)("div",{ref:s,className:(0,Ut.clsx)(i,"panel-loading-indicator"+(t?"":"--disabled"))})},ni=(0,Ft.observer)((()=>{const e=Qt().alertService.blockingAlertInfo;return e?(0,E.jsx)(jt.default,{open:Boolean(e),onClose:w,classes:{root:"blocking-alert__root-container",container:"blocking-alert__container"},children:(0,E.jsxs)(Gt,{darkMode:!0,className:"blocking-alert",children:[(0,E.jsx)(si,{isLoading:Boolean(e.showLoading)}),(0,E.jsxs)($t,{children:[(0,E.jsx)("div",{className:"blocking-alert__message",children:e.message}),e.prompt&&(0,E.jsx)("div",{className:"blocking-alert__message__prompt",children:e.prompt})]})]})}):null}));var ai=i(7614),ri=i(2071),oi=i(5887),ci=i(2129),li=i(6073),di=i(5213),ui=i(5685),pi=i(2595),hi=i(4051),mi=i(4326),gi=i(2743),fi=i(2643),_i=i(9910),bi=i(8743),Ei=i(1513);ai.TbArrowsJoin2,ai.TbArrowsSplit2;const vi=ai.TbMathFunction,Ti=(ai.TbBook,ai.TbCircleOff,ai.TbCalendarTime,ai.TbClockEdit,ai.TbSql,ai.TbBrandSnowflake,ri.MdManageSearch,ri.MdModeEdit,ri.MdTextFields,ri.MdMoreVert,ri.MdMoreHoriz,ri.MdWrapText,ri.MdSaveAs,ri.MdSave,ri.MdVerticalAlignBottom,ri.MdRefresh),Si=(ri.MdFunctions,ri.MdCompareArrows,ri.MdPlaylistAddCheck,ri.MdAdd,ri.MdEdit,ri.MdSubject),Ci=ri.MdViewHeadline,yi=ri.MdAssistant,Ni=(ri.MdSettingsEthernet,ri.MdLink,ri.MdWindow,ri.MdReviews,ri.MdCalculate,ri.MdRocketLaunch,ri.MdOutlineDataset,ri.MdVerified,ri.MdQueryStats,ri.MdFilterCenterFocus,ri.MdOutlineDescription,ri.MdQuestionAnswer,ri.MdUnfoldLess,ri.MdUnfoldMore,oi.VscError,oi.VscWarning,oi.VscWordWrap),Ai=oi.VscGoToFile,Ii=oi.VscClose,xi=(oi.VscRunAll,oi.VscRunErrors,oi.VscOpenPreview,oi.VscDiff,oi.VscRegex),Oi=(oi.VscVersions,oi.VscCaseSensitive),wi=oi.VscWholeWord,Ri=oi.VscReferences,ki=oi.VscWand,Pi=oi.VscCollapseAll,Mi=oi.VscExpandAll,Li=(oi.VscJson,oi.VscTable,ci.BsFillTriangleFill,ci.BsFillFileEarmarkSpreadsheetFill,ci.BsBoxSeam,ci.BsGripVertical),Fi=ci.BsAlignTop,Di=ci.BsAlignMiddle,Bi=ci.BsAlignBottom,ji=ci.BsAlignStart,Ui=ci.BsAlignCenter,Vi=ci.BsAlignEnd,Gi=ci.BsDistributeHorizontal,zi=ci.BsDistributeVertical,Hi=(ci.BsDatabaseFillLock,ci.BsDatabaseFillCheck,ci.BsChevronUp,ci.BsChevronDown,ci.BsChevronRight,ci.BsChevronLeft,ci.BsQuestionSquare),$i=(ci.BsQuestionSquareFill,ci.BsTextLeft,li.HiCode,li.HiHome,di.IoOpenOutline,di.IoResize,di.IoFileTrayFullOutline,di.IoMenuOutline,di.IoBeaker,di.IoFlaskSharp),Yi=(di.IoSyncCircleSharp,di.IoStatsChart,di.IoHelpBuoy,di.IoCloudDownloadOutline,di.IoCloudUploadOutline,di.IoHelp,ui.FaHistory),Wi=ui.FaCrosshairs,Ki=(ui.FaLayerGroup,ui.FaGhost,ui.FaLock),Ji=(ui.FaMask,ui.FaFile,ui.FaLongArrowAltRight,ui.FaTimes),Xi=ui.FaTimesCircle,qi=ui.FaPlus,Qi=ui.FaCog,Zi=(ui.FaEye,ui.FaEyeSlash,ui.FaCaretUp,ui.FaCaretDown),es=(ui.FaFire,ui.FaSave,ui.FaSquare),ts=(ui.FaRegSquare,ui.FaCheckSquare),is=(ui.FaMinusSquare,ui.FaHashtag,ui.FaHammer),ss=(ui.FaCommentDots,ui.FaClock,ui.FaRegClock,ui.FaToggleOn,ui.FaQuestion,ui.FaQuestionCircle),ns=ui.FaInfoCircle,as=ui.FaCompress,rs=ui.FaMap,os=ui.FaPlay,cs=(ui.FaGripVertical,ui.FaRobot,ui.FaArrowLeft,ui.FaArrowRight,ui.FaArrowAltCircleDown,ui.FaArrowAltCircleRight),ls=(ui.FaArrowCircleRight,ui.FaUser,ui.FaShapes),ds=(ui.FaEnvelope,ui.FaSkull,ui.FaDollarSign,ui.FaSearch),us=(ui.FaStar,ui.FaKey,ui.FaExternalLinkAlt,ui.FaExternalLinkSquareAlt,ui.FaLightbulb,ui.FaRegLightbulb,ui.FaList),ps=(ui.FaCircle,ui.FaMinusCircle),hs=ui.FaTrash,ms=(ui.FaRegCircle,ui.FaShieldAlt,ui.FaTag,ui.FaTags,ui.FaBolt,ui.FaCheckCircle),gs=ui.FaExclamationTriangle,fs=ui.FaBug,_s=ui.FaCircleNotch,bs=(ui.FaRegKeyboard,ui.FaUserSecret,ui.FaBuffer,ui.FaSitemap,ui.FaExpand),Es=(ui.FaExpandArrowsAlt,ui.FaSortAlphaDown,ui.FaSort,ui.FaSortAlphaDownAlt,ui.FaFolderPlus,ui.FaCaretRight,ui.FaCaretLeft,ui.FaWrench),vs=ui.FaArrowDown,Ts=ui.FaArrowUp,Ss=ui.FaTerminal,Cs=(ui.FaTruckLoading,ui.FaFolderOpen),ys=ui.FaFolder,Ns=(ui.FaFileCode,ui.FaCodeBranch,ui.FaArrowAltCircleUp,ui.FaArrowAltCircleLeft,ui.FaRegStopCircle,ui.FaAsterisk,ui.FaFilter,ui.FaExclamationCircle),As=(ui.FaRocket,ui.FaCheck,ui.FaBan),Is=(ui.FaFileImport,ui.FaUserFriends,ui.FaDownload,ui.FaUpload,ui.FaRegWindowRestore),xs=(ui.FaPauseCircle,ui.FaShare,ui.FaRegCopy),Os=ui.FaFileAlt,ws=(ui.FaEdit,ui.FaArrowsAltH,ui.FaRegWindowMaximize),Rs=(ui.FaWindowMaximize,ui.FaLongArrowAltDown,ui.FaLongArrowAltUp,ui.FaMeteor,ui.FaPiedPiperSquare,ui.FaPuzzlePiece,ui.FaToggleOff,ui.FaMapMarkerAlt),ks=ui.FaHatWizard,Ps=ui.FaRegLaughWink,Ms=ui.FaRegSadTear,Ls=(ui.FaBusinessTime,ui.FaDatabase),Fs=(ui.FaServer,ui.FaArchive,ui.FaBrain,ui.FaBookOpen,ui.FaLevelDownAlt,ui.FaRegCalendarAlt,ui.FaCalculator,ui.FaReadme,pi.GiWaterDrop,pi.GiBeard),Ds=pi.GiSunglasses,Bs=(pi.GiHouseKeys,hi.GoChevronDown),js=hi.GoChevronUp,Us=(hi.GoChevronLeft,hi.GoChevronRight),Vs=(hi.GoFileBinary,hi.GoGitPullRequest,hi.GoGitMerge,hi.GoSync,hi.GoGitBranch,hi.GoX),Gs=(hi.GoPlug,mi.SiSwagger,gi.BiShapeTriangle,gi.BiAtom),zs=(gi.BiCabinet,fi.CgOptions,_i.FiPackage),Hs=(_i.FiMinus,_i.FiMousePointer),$s=_i.FiMove,Ys=(_i.FiPlusCircle,_i.FiSidebar,_i.FiTriangle,_i.FiZoomIn),Ws=_i.FiZoomOut;_i.FiGitMerge,_i.FiLink,bi.RiShapeLine,bi.RiTestTubeFill,bi.RiRobotFill,bi.RiGovernmentFill,bi.RiMoneyDollarCircleFill,Ei.FcWorkflow;var Ks=i(3882),Js=i(3083);const Xs=6e3;var qs;!function(e){e.ILEGAL_STATE="ILEGAL_STATE",e.ERROR="ERROR",e.WARNING="WARNING",e.SUCCESS="SUCCESS",e.INFO="INFO"}(qs||(qs={}));class Qs{severity;message;actions;autoHideDuration;constructor(e,t,i,s){this.severity=e,this.message=t,this.actions=i,this.autoHideDuration=s}}class Zs{notification;constructor(){(0,Ve.makeObservable)(this,{notification:Ve.observable,setNotification:Ve.action,notify:Ve.action,notifySuccess:Ve.action,notifyWarning:Ve.action,notifyIllegalState:Ve.action,notifyError:Ve.action})}setNotification(e){this.notification=e}notify(e,t,i){this.setNotification(new Qs(qs.INFO,e,t??[],null===i?void 0:i??Xs))}notifySuccess(e,t,i){this.setNotification(new Qs(qs.SUCCESS,e,t??[],null===i?void 0:i??Xs))}notifyWarning(e,t,i){this.setNotification(new Qs(qs.WARNING,e instanceof Error?e.message:e,t??[],null===i?void 0:i??Xs))}notifyError(e,t){let i;e instanceof B?i=e.detail:e instanceof Error?i=e.message:(Z(ee(e),"Can't display error"),i=e),i&&this.setNotification(new Qs(qs.ERROR,i,t??[],void 0))}notifyIllegalState(e,t,i){this.setNotification(new Qs(qs.ILEGAL_STATE,ee(e)?`[PLEASE NOTIFY DEVELOPER] ${e}`:e,t??[],null===i?void 0:i??Xs))}notifyUnsupportedFeature(e){this.notifyWarning(`Unsupported feature: ${e}`)}notifyAndReturnAlternativeOnError=(e,t)=>{try{return e()}catch(e){return G(e),this.notifyIllegalState(e.message),t}}}const en=(0,Ft.observer)((()=>{const e=Qt(),t=e.notificationService.notification,i=Boolean(t),s=t?.message??"",n=t?.severity??qs.INFO,[a,r]=(0,Xt.useState)(!1);let o=(0,E.jsx)("div",{className:"notification__message__content__icon notification__message__content__icon--info",children:(0,E.jsx)(ns,{})});switch(n){case qs.ILEGAL_STATE:o=(0,E.jsx)("div",{className:"notification__message__content__icon notification__message__content__icon--error",children:(0,E.jsx)(fs,{})});break;case qs.ERROR:o=(0,E.jsx)("div",{className:"notification__message__content__icon notification__message__content__icon--error",children:(0,E.jsx)(Xi,{})});break;case qs.WARNING:o=(0,E.jsx)("div",{className:"notification__message__content__icon notification__message__content__icon--warning",children:(0,E.jsx)(gs,{})});break;case qs.SUCCESS:o=(0,E.jsx)("div",{className:"notification__message__content__icon notification__message__content__icon--success",children:(0,E.jsx)(ms,{})})}const c=()=>{e.notificationService.setNotification(void 0),r(!1)},l=e.guardUnhandledError((()=>e.clipboardService.copyTextToClipboard(s)));return(0,E.jsx)(Ks.default,{classes:{root:"notification",anchorOriginBottomRight:"notification__position"},anchorOrigin:{vertical:"bottom",horizontal:"right"},open:i,autoHideDuration:t?t.autoHideDuration??null:Xs,onClose:(e,t)=>{"timeout"===t&&c()},children:(0,E.jsx)(Js.default,{classes:{root:"notification__content",message:"notification__message",action:"notification__actions"},message:(0,E.jsxs)("div",{className:"notification__message__content",children:[o,(0,E.jsx)("div",{className:(0,Ut.clsx)("notification__message__content__text",{"notification__message__content__text--expanded":a}),onClick:l,title:"Click to Copy",children:s})]}),action:[(0,E.jsx)("button",{className:"notification__action",onClick:()=>r(!a),tabIndex:-1,title:a?"Collapse":"Expand",children:a?(0,E.jsx)(Bs,{}):(0,E.jsx)(js,{})},"expand"),(0,E.jsx)("button",{className:"notification__action",onClick:c,tabIndex:-1,title:"Dismiss",children:(0,E.jsx)(Ji,{})},"close")]})},"string"==typeof s||"number"==typeof s?s:"")}));var tn=i(7954);const sn=e=>{const{children:t,classes:i,...s}=e;return(0,E.jsx)(tn.default,{classes:{...i??{},paper:"mui-menu__paper",list:"mui-menu__list"},transitionDuration:0,...s,children:e.children})},nn=e=>{const{className:t,children:i,menuProps:s,content:n,disabled:a,onClose:r,onOpen:o}=e,c=(0,Xt.useRef)(null),[l,d]=(0,Xt.useState)(!1),[u,p]=(0,Xt.useState)(),[h,m]=(0,Xt.useState)(0),[g,f]=(0,Xt.useState)(0),_=()=>{p(void 0),d(!1),f(0),m(0)},b=e=>{e.stopPropagation(),e.preventDefault(),_(),r?.()},v=e=>{if(e.stopPropagation(),e.preventDefault(),!a&&(o?.(),c.current)){const t=c.current.getBoundingClientRect(),i=t.left+(window.scrollX||document.documentElement.scrollLeft),s=t.top+(window.scrollY||document.documentElement.scrollTop),{clientX:n,clientY:a,target:o}=e,l=o;if(u!==l){if(!(document.elementsFromPoint(n,a).some((e=>e===l))&&i<=n&&n<=i+t.width&&s<=a&&a<=s+t.height))return _(),void r?.()}p(l),d(!0),f(a),m(n)}};return(0,E.jsxs)("div",{ref:c,className:t,onContextMenu:v,children:[i,(0,E.jsx)(sn,{open:l,anchorPosition:{left:h,top:g},onClose:b,anchorReference:"anchorPosition",BackdropProps:{invisible:!0,onContextMenu:v},disableRestoreFocus:!0,transitionDuration:0,onClick:b,...s,children:l&&n},`${h}, ${g}`)]})},an=(0,Xt.forwardRef)((function(e,t){const{className:i,children:s,...n}=e;return(0,E.jsx)("div",{ref:t,className:(0,Ut.clsx)("menu",i),...n,children:s})})),rn=e=>{const{className:t,onClick:i,title:s,disabled:n,children:a,...r}=e;return(0,E.jsx)("button",{className:(0,Ut.clsx)("menu__item",t),disabled:Boolean(n),title:s,onClick:i,...r,children:a})},on=Vt("MenuContentDivider","menu__divider");Vt("MenuContentItemIcon","menu__item__icon"),Vt("MenuContentItemLabel","menu__item__label");var cn=i(4584),ln=i(4906),dn=i(2801);const un=e=>((0,Xt.useEffect)((()=>{dn.L.initialize({startOnLoad:!0,theme:"dark"}),dn.L.contentLoaded()}),[e.value]),(0,E.jsx)(cn.Markdown,{className:(0,Ut.clsx)("markdown-content",e.className),remarkPlugins:[ln.default],components:e.components??{code:e=>{const{children:t,className:i,node:s,...n}=e,a=/language-(?<language>\w+)/.exec(i??"");return a?.groups?.language?(0,E.jsx)("code",{...n,className:(0,Ut.clsx)(a.groups.language),children:t}):(0,E.jsx)("code",{...n,className:i,children:t})}},children:e.value.value}));var pn=i(2515);const hn=e=>{const{children:t}=e,{ref:i,width:s,height:n}=(0,pn.useResizeDetector)({refreshMode:"throttle",refreshRate:50,refreshOptions:{trailing:!0}}),[a,r]=(0,Xt.useState)(!1),{ref:o,width:c,height:l}=(0,pn.useResizeDetector)({refreshMode:"throttle",refreshRate:50,refreshOptions:{trailing:!0}});return(0,Xt.useEffect)((()=>{r((c??0)>(s??0)+40&&(l??0)>(n??0)+40)}),[c,l,s,n]),(0,E.jsx)("div",{ref:o,className:"panel__content__blank",children:(0,E.jsx)("div",{ref:i,className:(0,Ut.clsx)("panel__content__blank__content",{"panel__content__blank__content--hide":!a}),children:t})})};var mn=i(5688),gn=i(4843),fn=i(8978);const _n=e=>{const{children:t,options:i,size:s,className:n,...a}=e,r=((e,t)=>{const i=[];for(let s=0;s<e.length;s+=t)i.push(e.slice(s,s+t));return i})(i,s);return(0,E.jsxs)("div",{className:(0,Ut.clsx)("mui-radio-group",n),children:[r.map(((e,t)=>(0,E.jsx)("div",{children:(0,E.jsx)(mn.default,{className:"mui-radio-group__group",...a,children:e.map((e=>(0,E.jsx)(gn.default,{className:"mui-radio-group__group__column",style:{width:100/s+"%"},value:e,control:(0,E.jsx)(fn.default,{className:"mui-radio-group__group__item__radio-btn"}),label:(0,E.jsx)("div",{className:"mui-radio-group__group__item__label",children:e})},e)))})},t))),t]})};var bn=i(948);const En=e=>{const{children:t,...i}=e;return(0,E.jsx)(bn.default,{classes:{paper:"mui-popover__paper"},transitionDuration:0,...i,children:e.children})};var vn,Tn=i(1327),Sn=i(5068);!function(e){e.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX="question.how-to-use-advanced-search-syntax"}(vn||(vn={}));const Cn=(0,Ft.observer)((e=>{const{entry:t}=e,i=Qt(),s=()=>{t.isOpen||tt.logEvent_VirtualAssistantDocumentationEntryAccessed(i.telemetryService,{key:t.documentationKey}),t.setIsOpen(!t.isOpen)},n=i.guardUnhandledError((()=>i.clipboardService.copyTextToClipboard(t.documentationKey)));return(0,E.jsx)(nn,{className:"virtual-assistant__doc-entry",menuProps:{elevation:7,classes:{root:"virtual-assistant__context-menu"}},content:(0,E.jsx)(an,{children:(0,E.jsx)(rn,{onClick:n,children:"Copy Documentation Key"})}),children:(0,E.jsxs)("div",{className:"virtual-assistant__doc-entry",children:[(0,E.jsxs)("div",{className:"virtual-assistant__doc-entry__header",children:[(0,E.jsx)("button",{className:(0,Ut.clsx)("virtual-assistant__doc-entry__expand-icon",{"virtual-assistant__doc-entry__expand-icon--disabled":!t.content}),disabled:!t.content,tabIndex:-1,onClick:s,children:t.isOpen?(0,E.jsx)(Bs,{}):(0,E.jsx)(Us,{})}),t.url?(0,E.jsx)("a",{className:"virtual-assistant__doc-entry__title virtual-assistant__doc-entry__title--link",rel:"noopener noreferrer",target:"_blank",href:t.url,onClick:()=>{tt.logEvent_VirtualAssistantDocumentationEntryAccessed(i.telemetryService,{key:t.documentationKey})},title:"Click to see external documentation",children:t.title}):(0,E.jsx)("div",{className:"virtual-assistant__doc-entry__title",onClick:s,children:t.title})]}),t.isOpen&&t.content&&(0,E.jsx)("div",{className:"virtual-assistant__doc-entry__content",children:ee(t.content)?(0,E.jsx)("div",{className:"virtual-assistant__doc-entry__content__text",children:t.content}):(0,E.jsx)(un,{className:"virtual-assistant__doc-entry__content__markdown-text",value:t.content})})]})})})),yn=(0,Ft.observer)((()=>{const e=Qt(),t=e.assistantService.currentContextualDocumentationEntry,i=e.guardUnhandledError((()=>e.clipboardService.copyTextToClipboard(t?.context??""))),s=e.guardUnhandledError((()=>e.clipboardService.copyTextToClipboard(e.navigationContextService.currentContext?.key??""))),n=e.guardUnhandledError((()=>e.clipboardService.copyTextToClipboard(e.navigationContextService.contextStack.map((e=>e.key)).join(" > "))));return(0,E.jsxs)(nn,{className:"virtual-assistant__contextual-support",disabled:!t,menuProps:{elevation:7,classes:{root:"virtual-assistant__context-menu"}},content:(0,E.jsxs)(an,{children:[(0,E.jsx)(rn,{onClick:i,children:"Copy Context ID"}),(0,E.jsx)(rn,{onClick:s,children:"Copy Current Context ID"}),(0,E.jsx)(rn,{onClick:n,children:"Copy Context Stack"})]}),children:[t&&(0,E.jsxs)("div",{className:"virtual-assistant__contextual-support__content",children:[t.title&&(0,E.jsx)("div",{className:"virtual-assistant__contextual-support__title",children:t.title}),t.content&&(0,E.jsx)(E.Fragment,{children:ee(t.content)?(0,E.jsx)("div",{className:"virtual-assistant__contextual-support__text",children:t.content}):(0,E.jsx)(un,{className:"virtual-assistant__contextual-support__markdown-text",value:t.content})}),t.related.length&&(0,E.jsxs)("div",{className:"virtual-assistant__contextual-support__relevant-entries",children:[(0,E.jsxs)("div",{className:"virtual-assistant__contextual-support__relevant-entries__title",children:["Related entries (",t.related.length,")"]}),t.related.map((e=>(0,E.jsx)(Cn,{entry:e},e.uuid)))]})]}),!t&&(0,E.jsx)(hn,{children:(0,E.jsxs)("div",{className:"virtual-assistant__panel__placeholder",children:[(0,E.jsx)(Ps,{className:"virtual-assistant__panel__placeholder__icon"}),(0,E.jsx)("div",{className:"virtual-assistant__panel__placeholder__message",children:"No contextual documentation found!"}),(0,E.jsx)("div",{className:"virtual-assistant__panel__placeholder__instruction",children:"Keep using the app. When contextual help is available, we will let you know!"})]})})]})})),Nn=(0,Ft.observer)((()=>{const e=Qt(),t=(0,Xt.useRef)(null),i=e.assistantService,s=i.searchText,n=(0,Xt.useMemo)((()=>(0,I.default)((()=>i.search()),100)),[i]);return(0,Xt.useEffect)((()=>{t.current?.focus()}),[]),(0,E.jsxs)("div",{className:"virtual-assistant__search",children:[(0,E.jsxs)("div",{className:"virtual-assistant__search__header",children:[(0,E.jsx)("input",{ref:t,onClick:()=>{document.querySelectorAll('[role="dialog"]').length&&t.current!==document.activeElement&&i.refreshPanelRendering()},className:(0,Ut.clsx)("virtual-assistant__search__input input--dark",{"virtual-assistant__search__input--searching":s}),spellCheck:!1,onChange:e=>{i.setSearchText(e.target.value),n()},value:s,placeholder:"Ask me a question"}),s&&(0,E.jsx)("div",{className:"virtual-assistant__search__input__search__count",children:i.searchResults.length+(i.isOverSearchLimit?"+":"")}),(0,E.jsx)("button",{className:(0,Ut.clsx)("virtual-assistant__search__input__config__trigger",{"virtual-assistant__search__input__config__trigger--toggled":i.showSearchConfigurationMenu,"virtual-assistant__search__input__config__trigger--active":i.searchConfigurationState.isAdvancedSearchActive}),tabIndex:-1,onClick:()=>i.setShowSearchConfigurationMenu(!i.showSearchConfigurationMenu),title:(i.searchConfigurationState.isAdvancedSearchActive?"Advanced search is currently active\n":"")+"Click to toggle search config menu",children:(0,E.jsx)(Qi,{})}),s?(0,E.jsx)("button",{className:"virtual-assistant__search__input__clear-btn",tabIndex:-1,onClick:()=>{i.resetSearch(),i.currentDocumentationEntry=void 0,t.current?.focus()},title:"Clear",children:(0,E.jsx)(Ji,{})}):(0,E.jsx)("div",{className:"virtual-assistant__search__input__search__icon",children:(0,E.jsx)(ds,{})})]}),(0,E.jsxs)("div",{className:"virtual-assistant__search__content",children:[(0,E.jsx)(si,{isLoading:i.searchState.isInProgress}),(0,E.jsx)("div",{className:(0,Ut.clsx)("virtual-assistant__search__input__config__panel",{"virtual-assistant__search__input__config__panel--toggled":i.showSearchConfigurationMenu}),children:(0,E.jsxs)("div",{className:"virtual-assistant__search__input__advanced-config__panel",children:[(0,E.jsxs)("div",{className:"virtual-assistant__search__input__advanced-config__panel__header__label",children:["search config",e.documentationService.hasDocEntry(vn.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX)&&(0,E.jsx)("div",{onClick:()=>i.openDocumentationEntryLink(vn.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX),title:"Click to see documentation",className:"virtual-assistant__search__input__advanced-config__panel__header__label__hint",children:(0,E.jsx)(ss,{})})]}),(0,E.jsx)("div",{children:(0,E.jsx)(_n,{value:i.searchConfigurationState.currentMode,onChange:e=>{const t=e.target.value;i.searchConfigurationState.setCurrentMode(t)},row:!1,options:[We.STANDARD,We.INCLUDE,We.EXACT,We.INVERSE],size:1})})]})}),i.currentDocumentationEntry&&(0,E.jsx)("div",{className:"virtual-assistant__search__results",children:(0,E.jsx)(Cn,{entry:i.currentDocumentationEntry},i.currentDocumentationEntry.uuid)}),!i.currentDocumentationEntry&&(0,E.jsxs)(E.Fragment,{children:[Boolean(i.searchResults.length)&&(0,E.jsx)("div",{className:"virtual-assistant__search__results",children:i.searchResults.map((e=>(0,E.jsx)(Cn,{entry:e},e.uuid)))}),s&&!i.searchResults.length&&(0,E.jsx)(hn,{children:(0,E.jsxs)("div",{className:"virtual-assistant__panel__placeholder",children:[(0,E.jsx)(Ms,{className:"virtual-assistant__panel__placeholder__icon"}),(0,E.jsx)("div",{className:"virtual-assistant__panel__placeholder__message",children:"No result..."})]})}),!s&&!i.searchResults.length&&(0,E.jsx)(nn,{className:"virtual-assistant__character__container",menuProps:{elevation:7,classes:{root:"virtual-assistant__context-menu"}},content:(0,E.jsxs)(an,{children:[(0,E.jsx)(rn,{onClick:()=>{Ce(`documentation-registry_${(0,Sn.default)(new Date(Date.now()),pt)}.json`,JSON.stringify(e.documentationService.publishDocRegistry(),void 0,2),ge.APPLICATION_JSON)},children:"Download documentation registry"}),(0,E.jsx)(rn,{onClick:()=>{Ce(`documentation-registry_${(0,Sn.default)(new Date(Date.now()),pt)}.json`,JSON.stringify(e.documentationService.publishContextualDocIndex(),void 0,2),ge.APPLICATION_JSON)},children:"Download contextual documentation mapping"})]}),children:(0,E.jsxs)("div",{className:"virtual-assistant__character",children:[(0,E.jsxs)("div",{className:"virtual-assistant__character__figure",children:[(0,E.jsx)(ks,{className:"virtual-assistant__character__hat"}),(0,E.jsx)(Ds,{className:"virtual-assistant__character__glasses"}),(0,E.jsx)(Fs,{className:"virtual-assistant__character__beard"})]}),(0,E.jsx)("div",{className:"virtual-assistant__character__greeting",children:"Bonjour, It's Pierre!"}),(0,E.jsx)("div",{className:"virtual-assistant__character__question",children:"How can I help today?"})]})})]})]})]})})),An=(0,Ft.observer)((e=>{const{triggerElement:t}=e,i=Qt(),s=i.assistantService,n=s.currentContextualDocumentationEntry,a=s.selectedTab,r=i.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraVirtualAssistantViewConfigurations?.()??[])),o=r.find((e=>e.key===a));return(0,E.jsx)(En,{open:s.isOpen,className:"virtual-assistant__panel__container",anchorEl:t,hideBackdrop:!0,PaperProps:{classes:{root:"virtual-assistant__panel__container__root"}},disableEnforceFocus:!0,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"bottom",horizontal:"right"},children:(0,E.jsxs)("div",{className:(0,Ut.clsx)("virtual-assistant__panel",{"virtual-assistant__panel--maximized":s.isPanelMaximized}),tabIndex:0,onKeyDown:e=>{"Tab"===e.key&&(e.preventDefault(),e.stopPropagation())},children:[(0,E.jsxs)("div",{className:"virtual-assistant__panel__header",children:[(0,E.jsxs)("div",{className:"virtual-assistant__panel__header__tabs",children:[(0,E.jsx)("div",{className:(0,Ut.clsx)("virtual-assistant__panel__header__tab",{"virtual-assistant__panel__header__tab--active":a===Ke.SEARCH}),onClick:()=>s.setSelectedTab(Ke.SEARCH),title:"Search",children:(0,E.jsx)("div",{className:"virtual-assistant__panel__header__tab__content",children:(0,E.jsx)(ds,{})})}),(0,E.jsx)("div",{className:(0,Ut.clsx)("virtual-assistant__panel__header__tab",{"virtual-assistant__panel__header__tab--active":a===Ke.CONTEXTUAL_SUPPORT}),onClick:()=>s.setSelectedTab(Ke.CONTEXTUAL_SUPPORT),title:"Contextual Support",children:(0,E.jsxs)("div",{className:"virtual-assistant__panel__header__tab__content",children:[(0,E.jsx)(Rs,{}),n&&(0,E.jsx)("div",{className:"virtual-assistant__panel__header__tab__indicator",title:"Contextual support available"})]})}),r.map((e=>(0,E.jsx)("div",{className:(0,Ut.clsx)("virtual-assistant__panel__header__tab",{"virtual-assistant__panel__header__tab--active":a===e.key}),onClick:()=>{s.setSelectedTab(e.key),e.autoExpandOnOpen&&s.setIsPanelMaximized(!0)},title:e.title,children:(0,E.jsx)("div",{className:"virtual-assistant__panel__header__tab__content",children:e.icon??(0,E.jsx)(ss,{})})},e.key)))]}),(0,E.jsxs)("div",{className:"virtual-assistant__panel__header__actions",children:[(0,E.jsx)("button",{className:"virtual-assistant__panel__header__action",tabIndex:-1,onClick:()=>s.setIsPanelMaximized(!s.isPanelMaximized),title:s.isPanelMaximized?"Minimize":"Maximize",children:s.isPanelMaximized?(0,E.jsx)(Is,{}):(0,E.jsx)(ws,{})}),(0,E.jsx)("button",{className:"virtual-assistant__panel__header__action",tabIndex:-1,onClick:()=>s.setIsOpen(!1),title:"Close",children:(0,E.jsx)(Ii,{className:"virtual-assistant__panel__icon__close"})})]})]}),(0,E.jsxs)("div",{className:"virtual-assistant__panel__content",children:[a===Ke.SEARCH&&(0,E.jsx)(Nn,{}),a===Ke.CONTEXTUAL_SUPPORT&&(0,E.jsx)(yn,{}),o?.renderer()]})]})},s.panelRenderingKey)})),In=(0,Ft.observer)((()=>{const[e,t]=(0,Xt.useState)(!1),[i,s]=(0,Xt.useState)((0,a.default)()),n=Qt(),r=(0,Xt.useRef)(null),o=n.assistantService,c=o.currentContextualDocumentationEntry,l=()=>{!o.isOpen&&c&&o.setSelectedTab(Ke.CONTEXTUAL_SUPPORT),o.setIsOpen(!o.isOpen)};return(0,Xt.useEffect)((()=>{o.isHidden&&s((0,a.default)())}),[o.isHidden]),(0,E.jsx)(Tn,{bounds:"parent",onStart:()=>t(!0),onStop:()=>t(!1),handle:".virtual-assistant__station__drag-handle",children:(0,E.jsxs)("div",{className:"virtual-assistant",ref:r,children:[(0,E.jsxs)("div",{className:(0,Ut.clsx)("virtual-assistant__station",{"virtual-assistant__station--hidden":o.isHidden,"virtual-assistant__station--active":Boolean(c)}),children:[(0,E.jsx)("button",{className:"virtual-assistant__station__hide-button",title:"Hide assistant",onClick:()=>{n.assistantService.toggleAssistant()},children:(0,E.jsx)(ps,{})}),(0,E.jsx)("button",{className:"virtual-assistant__station__trigger",tabIndex:-1,onClick:l,title:o.isOpen?"Click to close assistant panel":(c?"Contextual support available.\n":"")+"Click to open Assistant...",children:(0,E.jsxs)("div",{className:"virtual-assistant__station__character",children:[(0,E.jsx)(ks,{className:"virtual-assistant__station__character__hat"}),(0,E.jsx)(Ds,{className:"virtual-assistant__station__character__glasses"}),(0,E.jsx)(Fs,{className:"virtual-assistant__station__character__beard"})]})}),(0,E.jsx)("div",{className:"virtual-assistant__station__label",onClick:l,children:"Assistant"}),(0,E.jsx)(nn,{className:(0,Ut.clsx)("virtual-assistant__station__drag-handle",{"virtual-assistant__station__drag-handle--dragging":e}),menuProps:{elevation:7,classes:{root:"virtual-assistant__context-menu"}},content:(0,E.jsxs)(an,{children:[(0,E.jsx)(rn,{onClick:()=>{o.setIsOpen(!1),s((0,a.default)())},children:"Reset Position"}),(0,E.jsx)(rn,{onClick:()=>n.assistantService.hideAssistant(),children:"Hide Assistant"})]}),children:(0,E.jsx)("div",{className:"virtual-assistant__station__drag-handle__content",title:e?void 0:"Grab to drag assistant",children:(0,E.jsx)(Li,{})})})]},c?.uuid??""),!e&&o.isOpen&&!o.isHidden&&r.current&&(0,E.jsx)(An,{triggerElement:r.current})]})},i)}));var xn;!function(e){e.TOP_LEVEL_CONTAINER="application.top-level-container",e.BACKDROP_CONTAINER="application.backdrop-container"}(xn||(xn={}));const On=["Meta+KeyP","Control+KeyP","Meta+KeyS","Control+KeyS","F8","F10","F11","Meta+Shift+KeyP","Control+Backquote","Control+Shift+KeyN","Control+Shift+KeyP","Meta+KeyB","Control+KeyB","F7","Alt+F7","Control+Shift+KeyB","Alt+KeyZ"],wn=e=>(0,E.jsx)("div",{className:"backdrop__container","data-elementid":e.elementId}),Rn=(0,Ft.observer)((e=>{const{children:t}=e,i=Qt(),s=((e,t)=>{const i={};return e.forEach(((e,s)=>{e.length&&(i[s]={combinations:e,handler:t})})),i.INTERNAL__PLATFORM_NATIVE_KEYBOARD_COMMAND={combinations:On,handler:(e,t)=>{t.preventDefault()}},i})(i.keyboardShortcutsService.commandKeyMap,((e,t)=>{On.includes(e)&&t.preventDefault(),i.keyboardShortcutsService.dispatch(e)}));return(0,Xt.useEffect)((()=>{const e=function(e){const t=new Map;let i=null;return s=>{s instanceof KeyboardEvent&&((0,N.default)(Object.values(e).flatMap((e=>e.combinations.map((t=>({combination:t,handler:e.handler}))))).filter((e=>e.combination.length)),(e=>e.combination)).forEach((e=>{const i=e.combination,n=At(e.combination);if(!n.length)return;const a=t.get(i)??n,r=W(a[0]);It(s,r)?a.length>1?t.set(i,a.slice(1)):(t.delete(i),e.handler(i,s)):s.getModifierState(s.key)||t.delete(i)})),i&&clearTimeout(i),i=setTimeout(t.clear.bind(t),1e3))}}(s);return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}}),[s]),(0,Xt.useEffect)((()=>{const e=()=>{document.hidden&&(tt.logEvent_ApplicationUsageInterrupted(i.telemetryService),i.timeService.recordUsageInterruption())};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}}),[i]),(0,E.jsxs)(Pt,{children:[(0,E.jsx)(ni,{}),(0,E.jsx)(ii,{}),(0,E.jsx)(en,{}),(0,E.jsx)(In,{}),i.layoutService.showBackdrop&&(0,E.jsx)(Mt.Portal,{container:i.layoutService.getElementByID(i.layoutService.backdropContainerElementID??xn.BACKDROP_CONTAINER)??null,children:(0,E.jsx)(Lt.default,{className:"backdrop",open:i.layoutService.showBackdrop})}),(0,E.jsx)(Dt.DndProvider,{backend:Bt.HTML5Backend,children:(0,E.jsxs)("div",{className:"app__container","data-elementid":xn.TOP_LEVEL_CONTAINER,onContextMenu:e=>{e.stopPropagation(),e.preventDefault()},children:[(0,E.jsx)(wn,{elementId:xn.BACKDROP_CONTAINER}),t]})})]})})),kn={foreground:"#cccccc",background:"#1e1e1e",cursor:"#cccccc",selectionBackground:"#264f78",black:"#000000",red:"#cd3131",green:"#0dbc79",yellow:"#e5e510",blue:"#2472c8",magenta:"#bc3fbc",cyan:"#11a8cd",white:"#e5e5e5",brightBlack:"#666666",brightRed:"#f14c4c",brightGreen:"#23d18b",brightYellow:"#f5f543",brightBlue:"#3b8eea",brightMagenta:"#d670d6",brightCyan:"#29b8db",brightWhite:"#e5e5e5"},Pn={matchOverviewRuler:"#d186167e",activeMatchColorOverviewRuler:"#A0A0A0CC",matchBackground:"#62331c",activeMatchBackground:"#515C6A"},Mn=`\n${ht.BOLD}${ht.BRIGHT_BLUE}$purist${ht.RESET}\n${ht.BOLD}${ht.MAGENTA}❯${ht.RESET} `,Ln="❯ ";class Fn extends _t{instance;resizer;renderer;searcher;webLinkProvider;_TEMPORARY__onKeyListener;_TEMPORARY__onDataListener;command="";commandHistory=[];currentCommandSearchString="";commandHistoryNavigationIdx=void 0;isRunningCommand=!1;setupState=Ge.create();constructor(e){super(e),this.instance=new at.Terminal({allowProposedApi:!0,fontSize:12,letterSpacing:2,fontWeight:400,fontWeightBold:700,fontFamily:`"${ut}", Menlo, Consolas, monospace`,tabStopWidth:2,theme:kn,overviewRulerWidth:14,scrollback:1e5,convertEol:!0,scrollOnUserInput:!1}),this.resizer=new ot.FitAddon,this.searcher=new ct.SearchAddon,this.renderer=new dt.WebglAddon}setup(e){if(this.setupState.hasCompleted)throw new U("Terminal is already set up");this.setupState.complete(),this.renderer.onContextLoss((()=>{this.renderer.dispose()})),this.instance.loadAddon(this.resizer),this.instance.loadAddon(this.searcher),this.instance.loadAddon(this.renderer),this.instance.loadAddon(new lt.Unicode11Addon),this.instance.unicode.activeVersion="11",this.instance.attachCustomKeyEventHandler((e=>xt(e,"Control+KeyF")||xt(e,"Meta+KeyF")?(e.preventDefault(),e.stopPropagation(),this.searchConfig.focus(),!1):!(xt(e,"Control+KeyC")&&this.instance.hasSelection()||xt(e,"Control+KeyV")))),this.webLinkProvider=e?.webLinkProvider?new rt.WebLinksAddon(e.webLinkProvider.handler,{urlRegex:e.webLinkProvider.regex}):new rt.WebLinksAddon,this.instance.loadAddon(this.webLinkProvider),(e?.commands??[]).forEach((e=>{[e.command,...e.aliases??[]].forEach((t=>{this.commandRegistry.has(t)?this.applicationStore.logService.warn(u.create(ye.TERMINAL_COMMAND_CONFIGURATION_CHECK__FAILURE),`Found multiple duplicated terminal commands '${t}'`):this.commandRegistry.set(t,e)}))})),this.searcher.onDidChangeResults((e=>{this.setSearchResultCount(e.resultCount),this.setSearchCurrentResultIndex(e.resultIndex)})),this._TEMPORARY__onKeyListener=this.instance.onKey((({key:e,domEvent:t})=>{var i,s;if("ArrowUp"!==t.code)if("ArrowDown"!==t.code)if(this.commandHistoryNavigationIdx=void 0,"Enter"===t.code){if(this.command.trim()){const e=this.command,[t,...i]=e.replaceAll(/\s+/g," ").split(" ");if(this.addCommandToHistory(this.command),!t)return;const s=this.commandRegistry.get(t);if(!s)return void this.fail(`command not found: ${t}`);if(this.isRunningCommand)return;this.isRunningCommand=!0,s.handler(i.map((e=>e.trim())),t,e).catch((()=>{})).finally((()=>{this.isRunningCommand=!1,this.isFlushed||this.abort()}))}}else if(xt(t,"Control+KeyD")||xt(t,"Control+KeyC")&&!this.instance.hasSelection())this.abort();else if("Backspace"===t.code)this.deleteFromCommand(t.altKey||t.ctrlKey?this.computeCursorJumpMovement(!0):-1);else if("Delete"===t.code)this.deleteFromCommand(t.altKey||t.ctrlKey?this.computeCursorJumpMovement(!1):1);else if("ArrowLeft"===t.code){const e=this.computeCursorMovement(t.altKey||t.ctrlKey?this.computeCursorJumpMovement(!0):-1);this.instance.scrollLines(e.scroll),this.instance.write(e.seq)}else if("ArrowRight"===t.code){const e=this.computeCursorMovement(t.altKey||t.ctrlKey?this.computeCursorJumpMovement(!1):1);this.instance.scrollLines(e.scroll),this.instance.write(e.seq)}else e.match(/^[A-Za-z0-9!@#$%^&*()\-_=+"':;,.<>/?[\]{}|\\~` ]$/)?this.writeToCommand(e):(i=t,s=this.applicationStore,s.layoutService.getElementByID(xn.TOP_LEVEL_CONTAINER)?.dispatchEvent(new KeyboardEvent(i.type,i)));else void 0!==this.commandHistoryNavigationIdx&&this.setCommandFromHistory(0===this.commandHistoryNavigationIdx?void 0:this.commandHistoryNavigationIdx-1);else this.setCommandFromHistory(void 0!==this.commandHistoryNavigationIdx?this.commandHistoryNavigationIdx+1:0)})),this._TEMPORARY__onDataListener=this.instance.onData((e=>{e.length>1&&!e.startsWith("")&&this.writeToCommand(e.replaceAll(/[^A-Za-z0-9!@#$%^&*()\-_=+"':;,.<>/?[\]{}|\\~` ]/g,"").trimEnd())}))}getCommandRange(){const e=this.instance.buffer.active,t=this.instance.cols,i=`${Ln}${this.command}`,s=`${Ln}${this.command.substring(0,t-2)}${this.command.length<t-2?" ".repeat(t-this.command.length-2):""}`;let n=0,a=0;for(let i=e.baseY+e.cursorY;i>-1;--i){if(W(e.getLine(i)).translateToString()===s){n=i,a+=(i===e.baseY+e.cursorY?e.cursorX:t)-2;break}a+=i===e.baseY+e.cursorY?e.cursorX:t}return{startY:n,startX:2,endY:n+(i.length-i.length%t)/t,endX:i.length%t,cursorIdx:a}}computeCursorJumpMovement(e){const t=this.getCommandRange();let i,s=!1;if(e)for(let e=t.cursorIdx-1;e>-1;--e){if(this.command.charAt(e).match(/\w/))s||(s=!0);else if(s){i=t.cursorIdx-e-1;break}}else for(let e=t.cursorIdx+1;e<this.command.length;++e){if(this.command.charAt(e).match(/\w/))s||(s=!0);else if(s){i=e-t.cursorIdx-1;break}}return void 0===i&&(i=e?t.cursorIdx:this.command.length-t.cursorIdx),e?-i:i}computeCursorMovement(e,t=!0){const i=this.instance.buffer.active,s=this.instance.cols,n=this.instance.rows,a=this.getCommandRange(),r=t?e<0?a.cursorIdx:this.command.length-a.cursorIdx:e,o=Math.min(Math.abs(e),r);let c=i.cursorX,l=i.cursorY,d=i.baseY+i.cursorY;e<0?(c=(s+(i.cursorX-o)%s)%s,l=i.cursorY-(o>i.cursorX?Math.ceil(o/s):0),d=l+i.baseY,l=Math.max(l,-1)):e>0&&(c=(i.cursorX+o)%s,l=i.cursorY+(i.cursorX+o>=s?Math.floor((i.cursorX+o)/s):0),d=l+i.baseY,l=Math.min(l,n-1));const u=d>i.viewportY+n?d-(i.viewportY+n):d<i.viewportY?d-i.viewportY:0;return{seq:mt(l+1,c+1),scroll:u}}writeToCommand(e){const t=this.getCommandRange(),i=this.command.slice(0,t.cursorIdx),s=this.command.slice(t.cursorIdx),n=this.computeCursorMovement(e.length,!1);this.instance.scrollLines(n.scroll),this.instance.write(e+s+n.seq),this.setCommand(i+e+s)}deleteFromCommand(e){const t=this.getCommandRange(),i=e<0?t.cursorIdx:this.command.length-t.cursorIdx,s=Math.min(Math.abs(e),i);let n,a,r;if(0===e)return;e<0?(n=this.command.slice(0,t.cursorIdx-s),a=this.command.slice(t.cursorIdx,this.command.length),r=-s):(n=this.command.slice(0,t.cursorIdx),a=this.command.slice(t.cursorIdx+s,this.command.length),r=0);const o=this.computeCursorMovement(r);this.instance.scrollLines(o.scroll),this.instance.write(mt(t.startY+1,t.startX+1)+n+a+" ".repeat(s)+o.seq),this.setCommand(n+a)}get isSetup(){return this.setupState.hasCompleted}isFocused(){return document.activeElement===this.instance.textarea}mount(e){if(!this.setupState.hasCompleted)throw new U("XTerm terminal has not been set up yet");this.instance.open(e)}dispose(){this.searcher.dispose(),this.resizer.dispose(),this.renderer.dispose(),this.webLinkProvider?.dispose(),this._TEMPORARY__onKeyListener?.dispose(),this._TEMPORARY__onDataListener?.dispose(),this.instance.dispose()}autoResize(){this.resizer.fit()}focus(){this.instance.focus()}addCommandToHistory(e){e!==this.commandHistory.at(0)&&this.commandHistory.unshift(e)}setCommandFromHistory(e){const t=void 0===e?this.currentCommandSearchString:this.commandHistory.filter((e=>e.startsWith(this.currentCommandSearchString))).at(e);if(void 0!==t){let i=this.getCommandRange();this.instance.write(mt(i.startY+1,i.startX+1)+t.padEnd(this.command.length)),this.command=t,i=this.getCommandRange(),this.instance.write(mt(i.endY+1,i.endX+1)),this.commandHistoryNavigationIdx=e}}setCommand(e){this.command=e,this.currentCommandSearchString=e,this.commandHistoryNavigationIdx=void 0}newCommand(){this.instance.write(Mn),this.setCommand("")}newSystemCommand(e){this.isRunningCommand||(this.command&&(this.abort(),this.newCommand()),this.instance.write(`${ht.DIM}(system: ${e})\n${ht.RESET}`))}flushScreen(){this.instance.write("c"),this.instance.reset()}get isFlushed(){const e=this.instance.buffer.active;let t=!0;for(let i=e.baseY+e.cursorY;i>-1;--i){const s=W(e.getLine(i)).translateToString();if(s.trim()){t=s!==Ln;break}}return""===this.command&&t}clear(){this.flushScreen(),this.instance.scrollToTop(),this.newCommand()}resetANSIStyling(){this.instance.write(ht.RESET)}showHelp(){var e;this.resetANSIStyling(),this.instance.scrollToBottom(),this.isFlushed||this.isRunningCommand||this.abort(),this.instance.write((e=this.commandRegistry,`\n${ht.BRIGHT_BLACK}+-------------------------------------------------------+${ht.RESET}\n${ht.BRIGHT_BLACK}|${ht.RESET} ${ht.BRIGHT_GREEN}[@@]${ht.RESET} "Hi! Welcome to the HELP menu of Pure IDE" ${ht.BRIGHT_BLACK}|${ht.RESET}\n${ht.BRIGHT_BLACK}|${ht.RESET} ${ht.BRIGHT_GREEN}/|__|\\${ht.RESET} ${ht.BRIGHT_BLACK}|${ht.RESET}\n${ht.BRIGHT_BLACK}+--${ht.RESET} ${ht.BRIGHT_GREEN}d b${ht.RESET} ${ht.BRIGHT_BLACK}-----------------------------------------------+${ht.RESET}\n\nFollowing is the list of supported commands:\n\n${(0,N.default)(Array.from(e.values()),(e=>e.command)).map((e=>`${ht.BRIGHT_GREEN}${e.command.padEnd(30)}${ht.RESET}${e.description}${e.aliases?.length?`\n${"".padEnd(30)}Aliases: ${e.aliases.join(", ")}`:""}\n${"".padEnd(30)}Usage: ${ht.DIM}${e.usage}${ht.RESET}`)).join("\n")}`)),this.abort()}showCommonANSIEscapeSequences(){this.resetANSIStyling(),this.instance.scrollToBottom(),this.isFlushed||this.isRunningCommand||this.abort(),this.instance.write(`\nCommon ANSI Escape Sequences for Styling:\n\n${Object.entries(ht).map((([e,t])=>`${t}${St(e).padEnd(20)}${ht.RESET} ${t.replace("","\\u001b")}`)).join("\n")}`),this.abort()}abort(){this.resetANSIStyling(),this.instance.write("\n"),this.newCommand(),this.instance.scrollToBottom(),this.isRunningCommand=!1}fail(e,t){t?.systemCommand&&this.newSystemCommand(t.systemCommand),this.instance.write(`\n${ht.RED}${e}${ht.RED}`),this.abort()}output(e,t){this.resetANSIStyling(),t?.clear&&!this.preserveLog||!t?.systemCommand||this.newSystemCommand(t.systemCommand),!this.preserveLog&&t?.clear?this.flushScreen():(this.preserveLog||this.isRunningCommand)&&this.instance.write("\n"),this.instance.write(e),this.resetANSIStyling(),this.instance.write("\n"),this.instance.scrollToBottom(),this.newCommand()}search(e){this.searcher.findNext(e,{decorations:Pn,regex:this.searchConfig.useRegex,wholeWord:this.searchConfig.matchWholeWord,caseSensitive:this.searchConfig.matchCaseSensitive,incremental:!0})}clearSearch(){this.searcher.clearDecorations(),this.instance.clearSelection(),this.setSearchText(""),this.setSearchResultCount(void 0),this.setSearchCurrentResultIndex(void 0)}findPrevious(){this.searcher.findPrevious(this.searchConfig.searchText,{decorations:Pn,regex:this.searchConfig.useRegex,wholeWord:this.searchConfig.matchWholeWord,caseSensitive:this.searchConfig.matchCaseSensitive})}findNext(){this.searcher.findNext(this.searchConfig.searchText,{decorations:Pn,regex:this.searchConfig.useRegex,wholeWord:this.searchConfig.matchWholeWord,caseSensitive:this.searchConfig.matchCaseSensitive})}getContent(){const e=this.instance.buffer.active,t=[];for(let i=0;i<e.length;++i){const s=W(e.getLine(i));t.push(s.translateToString())}return t.join("\n").trimEnd()}copy(){this.instance.hasSelection()?this.applicationStore.clipboardService.copyTextToClipboard(this.instance.getSelection()).catch(this.applicationStore.alertUnhandledError):this.applicationStore.notificationService.notifyWarning("Ther terminal has no selection to copy")}copyAll(){this.applicationStore.clipboardService.copyTextToClipboard(this.getContent()).catch(this.applicationStore.alertUnhandledError)}}class Dn{applicationStore;terminal;constructor(e){this.applicationStore=e,this.terminal=new Fn(e)}}const Bn="(unknown)";class jn{applicationStore;currentUser=Bn;constructor(e){(0,Ve.makeObservable)(this,{currentUser:Ve.observable,setCurrentUser:Ve.action}),this.applicationStore=e}get isAnonymous(){return this.currentUser===Bn}setCurrentUser(e){this.currentUser=e}}class Un{get localStorage(){return W(window.localStorage,"'window.localStorage' object is not available in non-web environment")}setItem(e,t){this.localStorage.setItem(e,t)}getItem(e){return this.localStorage.getItem(e)}removeItem(e){this.localStorage.removeItem(e)}clear(){this.localStorage.clear()}hasItem(e){return this.localStorage.hasItem(e)}}class Vn{storeIndex;storageService;data;constructor(e,t){this.storageService=e,this.storeIndex=t,this.data=this.storageService.getIndex(this.storeIndex)??{}}getValue(e){return this.data[e]}getNumericValue(e){const t=this.getValue(e);return void 0!==t?ae(t):void 0}getStringValue(e){const t=this.getValue(e);return void 0!==t?ne(t):void 0}getBooleanValue(e){const t=this.getValue(e);return void 0!==t?re(t):void 0}getObjectValue(e){const t=this.getValue(e);return void 0!==t?oe(t):void 0}hasValue(e){return $(this.data[e])}persistValue(e,t){void 0!==t?this.data[e]=t:delete this.data[e],this.storageService.updateIndex(this.storeIndex,this.data)}}class Gn{applicationStore;storage;data;constructor(e){this.applicationStore=e,this.storage=new Un;const t=this.storage.getItem(e.config.applicationStorageKey);this.data=t?z((()=>JSON.parse(t)))??{}:{}}getIndex(e){return this.data[e]}updateIndex(e,t){(0,y.default)(t)?delete this.data[e]:this.data[e]=t,this.storage.setItem(this.applicationStore.config.applicationStorageKey,JSON.stringify(this.data))}}class zn{applicationStore;plugins=[];constructor(e){this.applicationStore=e}registerPlugins(e){this.plugins=e}setup(){const e={userId:this.applicationStore.identityService.currentUser,appName:this.applicationStore.config.appName,appEnv:this.applicationStore.config.env,appVersion:this.applicationStore.config.appVersion,appSessionId:this.applicationStore.uuid,appStartTime:this.applicationStore.timeService.timestamp};this.plugins.forEach((t=>t.setup(e)))}logEvent(e,t){this.plugins.forEach((i=>i.logEvent(e,t)))}}class Hn{timestamp=Date.now();interruptions=[];recordUsageInterruption(){this.interruptions.push(Date.now())}finalizeTimingsRecord(e,t){const i=e.elapsed,s=e.startTime,n=s+i,a={...t??{},...Object.fromEntries(e.records),total:i};let r=0;for(const e of this.interruptions)if(e>=s&&e<=n)r++;else if(e>n)break;return r>0?{...a,__numberOfInteruptions:r}:a}}var $n;!function(e){e.DEFAULT_DARK="default-dark",e.LEGACY_LIGHT="legacy-light",e.HIGH_CONTRAST_LIGHT="hc-light"}($n||($n={}));const Yn={name:"Default Dark (default)",key:$n.DEFAULT_DARK,TEMPORARY__globalCSSClassName:"theme__default-dark",colors:{"data-access-overview.chart.access-granted":"#6a9955","data-access-overview.chart.access-approved":"#007acc","data-access-overview.chart.access-requested":"#fbbc05","data-access-overview.chart.access-not-granted":"#ea4646","data-access-overview.chart.unsupported-access":"#2d2d2d"}},Wn={name:"Legacy Light",key:$n.LEGACY_LIGHT,TEMPORARY__globalCSSClassName:"theme__legacy-light"},Kn={name:"High-Contrast Light",key:$n.HIGH_CONTRAST_LIGHT,TEMPORARY__globalCSSClassName:"theme__hc-light",colors:{"data-access-overview.chart.access-granted":"#52a31d","data-access-overview.chart.access-approved":"#3d8df5","data-access-overview.chart.access-requested":"#f5c518","data-access-overview.chart.access-not-granted":"#fa5343","data-access-overview.chart.unsupported-access":"#e1e7ea"}};var Jn;!function(e){e.COLOR_THEME="application.layout.colorTheme"}(Jn||(Jn={}));const Xn={[Jn.COLOR_THEME]:{defaultValue:$n.DEFAULT_DARK}};class qn{applicationStore;backdropContainerElementID;showBackdrop=!1;colorThemeRegistry=new Map;currentColorTheme;constructor(e){(0,Ve.makeObservable)(this,{currentColorTheme:Ve.observable.ref,TEMPORARY__isLightColorThemeEnabled:Ve.computed,backdropContainerElementID:Ve.observable,showBackdrop:Ve.observable,setBackdropContainerElementID:Ve.action,setShowBackdrop:Ve.action,setColorTheme:Ve.action}),this.applicationStore=e,this.colorThemeRegistry.set($n.DEFAULT_DARK,Yn),this.applicationStore.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraColorThemes?.()??[])).forEach((e=>{this.colorThemeRegistry.has(e.key)?this.applicationStore.logService.warn(u.create(ye.COLOR_THEME_CONFIGURATION_CHECK__FAILURE),`Found duplicated color themes with key '${e.key}'`):this.colorThemeRegistry.set(e.key,e)}));const t=this.applicationStore.settingService.getStringValue(Jn.COLOR_THEME)??$n.DEFAULT_DARK;this.currentColorTheme=W(this.colorThemeRegistry.get(t)),this.TEMPORARY__syncGlobalCSSClassName(this.currentColorTheme,void 0)}getElementByID(e){return document.querySelector(`[data-elementid='${e}']`)??void 0}setBackdropContainerElementID(e){this.backdropContainerElementID=e}setShowBackdrop(e){this.showBackdrop=e}get TEMPORARY__isLightColorThemeEnabled(){return this.currentColorTheme.key!==$n.DEFAULT_DARK}TEMPORARY__syncGlobalCSSClassName(e,t){t&&document.body.classList.remove(t.TEMPORARY__globalCSSClassName),document.body.classList.add(e.TEMPORARY__globalCSSClassName)}setColorTheme(e,t){const i=this.colorThemeRegistry.get(e);if(e===this.currentColorTheme.key||!i)return;const s=this.currentColorTheme;this.currentColorTheme=i,this.TEMPORARY__syncGlobalCSSClassName(i,s),t?.persist&&this.applicationStore.settingService.persistValue(Jn.COLOR_THEME,e)}getColor(e){return this.currentColorTheme.colors?.[e]??W(this.colorThemeRegistry.get($n.DEFAULT_DARK)).colors?.[e]??"transparent"}}class Qn{applicationStore;constructor(e){this.applicationStore=e}async copyTextToClipboard(e,t){await navigator.clipboard.writeText(e).catch((e=>{this.applicationStore.notificationService.notifyError(e)})).finally((()=>{t?.notifySuccessMessage&&this.applicationStore.notificationService.notifySuccess(t.notifySuccessMessage)}))}}class Zn{navigator;constructor(e){this.navigator=e}}class ea{applicationStore;storage;registry=new Map;constructor(e){this.applicationStore=e,this.storage=new Vn(this.applicationStore.storageService,"application-settings-storage"),this.applicationStore.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraSettingConfigurationEntries?.()??[])).forEach((e=>{this.registry.has(e.key)?this.applicationStore.logService.warn(u.create(ye.SETTING_CONFIGURATION_CHECK__FAILURE),`Found duplicated setting with key '${e.key}'`):this.registry.set(e.key,e)}))}getNumericValue(e){const t=this.storage.getValue(e)??this.registry.get(e)?.defaultValue;if(te(t))return t;this.applicationStore.logService.warn(u.create(ye.SETTING_RETRIVE_FAILURE),`Can't retrieve numeric value for setting '${e}'`)}getStringValue(e){const t=this.storage.getValue(e)??this.registry.get(e)?.defaultValue;if(ee(t))return t;this.applicationStore.logService.warn(u.create(ye.SETTING_RETRIVE_FAILURE),`Can't retrieve string value for setting '${e}'`)}getBooleanValue(e){const t=this.storage.getValue(e)??this.registry.get(e)?.defaultValue;if(ie(t))return t;this.applicationStore.logService.warn(u.create(ye.SETTING_RETRIVE_FAILURE),`Can't retrieve boolean value for setting '${e}'`)}getObjectValue(e){const t=this.storage.getValue(e)??this.registry.get(e)?.defaultValue;if(se(t))return t;this.applicationStore.logService.warn(u.create(ye.SETTING_RETRIVE_FAILURE),`Can't retrieve object value for setting '${e}'`)}persistValue(e,t){const i=this.registry.get(e)?.defaultValue;this.storage.persistValue(e,void 0!==i&&(0,S.default)(i,t)?void 0:t)}}class ta{goToLocation(e,t){throw new V("Navigator does not support this operation")}reload(e){throw new V("Navigator does not support this operation")}goToAddress(e,t){throw new V("Navigator does not support this operation")}visitAddress(e){throw new V("Navigator does not support this operation")}generateAddress(e){throw new V("Navigator does not support this operation")}updateCurrentLocation(e){throw new V("Navigator does not support this operation")}updateCurrentZone(e){throw new V("Navigator does not support this operation")}resetZone(){throw new V("Navigator does not support this operation")}getCurrentBaseAddress(e){throw new V("Navigator does not support this operation")}getCurrentAddress(){throw new V("Navigator does not support this operation")}getCurrentLocation(){throw new V("Navigator does not support this operation")}getCurrentLocationParameters(){throw new V("Navigator does not support this operation")}getCurrentLocationParameterValue(e){throw new V("Navigator does not support this operation")}getCurrentZone(){throw new V("Navigator does not support this operation")}blockNavigation(e,t,i){throw new V("Navigator does not support this operation")}unblockNavigation(){throw new V("Navigator does not support this operation")}get isNavigationBlocked(){throw new V("Navigator does not support this operation")}INTERNAL__internalizeTransientParameter(e){throw new V("Navigator does not support this operation")}}class ia{applicationStore;storage;constructor(e){this.applicationStore=e,this.storage=new Vn(this.applicationStore.storageService,"application-user-data-storage")}getNumericValue(e){const t=this.storage.getValue(e);if(te(t))return t;this.applicationStore.logService.warn(u.create(ye.USER_DATA_RETRIEVE_FAILURE),`Can't retrieve numeric value for user data '${e}'`)}getStringValue(e){const t=this.storage.getValue(e);if(ee(t))return t;this.applicationStore.logService.warn(u.create(ye.USER_DATA_RETRIEVE_FAILURE),`Can't retrieve string value for user data '${e}'`)}getBooleanValue(e){const t=this.storage.getValue(e);if(ie(t))return t;this.applicationStore.logService.warn(u.create(ye.USER_DATA_RETRIEVE_FAILURE),`Can't retrieve boolean value for user data '${e}'`)}getObjectValue(e){const t=this.storage.getValue(e);if(se(t))return t;this.applicationStore.logService.warn(u.create(ye.USER_DATA_RETRIEVE_FAILURE),`Can't retrieve object value for user data '${e}'`)}persistValue(e,t){this.storage.persistValue(e,t)}}class sa{uuid=(0,a.default)();extensionStates=[];config;pluginManager;initState=Ge.create();platform;timeService;logService;storageService;userDataService;settingService;alertService;notificationService;identityService;commandService;keyboardShortcutsService;layoutService;clipboardService;terminalService;navigationService;navigationContextService;documentationService;assistantService;eventService;telemetryService;tracerService;constructor(e,t){this.config=e,this.pluginManager=t,this.timeService=new Hn,this.logService=new h,this.logService.registerPlugins(t.getLoggerPlugins()),this.storageService=new Gn(this),this.settingService=new ea(this),this.userDataService=new ia(this),this.alertService=new Jt(this),this.notificationService=new Zs,this.identityService=new jn(this),this.layoutService=new qn(this),this.clipboardService=new Qn(this),this.terminalService=new Dn(this),this.commandService=new st(this),this.keyboardShortcutsService=new nt(this),this.navigationService=new Zn(new ta),this.navigationContextService=new it(this),this.documentationService=new Be(this),this.assistantService=new Ze(this),this.eventService=new et,this.eventService.registerEventNotifierPlugins(t.getEventNotifierPlugins()),this.telemetryService=new zn(this),this.telemetryService.registerPlugins(t.getTelemetryServicePlugins()),this.telemetryService.setup(),this.tracerService=new He,this.tracerService.registerPlugins(t.getTracerServicePlugins()),this.extensionStates=this.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraApplicationExtensionStateBuilders?.()??[])).map((e=>e(this))).filter($)}async initialize(e){if(this.initState.isInInitialState){this.initState.inProgress();try{if(this.platform)throw new U("Platform is already configured");this.platform=e,this.navigationService=new Zn(e.getNavigator()),await e.initialize(),this.initState.pass()}catch(e){G(e),this.notificationService.notifyError(e),this.logService.error(u.create(ye.APPLICATION_LOAD__FAILURE),"Failed to load Legend application"),this.initState.fail()}}else this.notificationService.notifyIllegalState("Application store is re-initialized")}alertUnhandledError=e=>{this.logService.error(u.create(ye.ILLEGAL_APPLICATION_STATE_OCCURRED),"Encountered unhandled error in component tree",e),this.notificationService.notifyIllegalState(e.message)};guardUnhandledError=e=>()=>{e().catch(this.alertUnhandledError)}}class na{}class aa extends na{debug(e,...t){console.debug(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}info(e,...t){console.info(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}warn(e,...t){console.warn(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}error(e,...t){console.error(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}}class ra{config;logger;pluginManager;basePresets=[];basePlugins=[];baseAddress;pluginRegister;_isConfigured=!1;constructor(e){this.pluginManager=e,this.logger=new aa}setup(e){return this.baseAddress=Q(e.baseAddress,"Can't setup application: 'baseAddress' is missing or empty"),this.pluginRegister=e.pluginRegister,this._isConfigured=!0,this}withBasePresets(e){return this.basePresets=e,this.withPresets([])}withBasePlugins(e){return this.basePlugins=e,this.withPlugins([])}withPresets(e){return this.pluginManager.usePresets([...this.basePresets,...e]),this}withPlugins(e){return this.pluginManager.usePlugins([...this.basePlugins,...e]),this}async fetchApplicationConfiguration(e){const t=new Se;let i,s;try{i=await t.get(`${window.location.origin}${e}config.json`)}catch(e){G(e),this.logger.error(u.create(ye.APPLICATION_CONFIGURATION__FAILURE),e)}Y(i,"Can't fetch Legend application configuration");try{s=await t.get(`${window.location.origin}${e}version.json`)}catch(e){G(e),this.logger.error(u.create(ye.APPLICATION_CONFIGURATION__FAILURE),e)}return Y(s,"Can't fetch Legend application version"),[await this.configureApplication({configData:i,versionData:s,baseAddress:e}),i.extensions??{}]}async loadDocumentationRegistryData(e){const t={};await Promise.all([...e.documentationRegistryEntries,...this.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraDocumentationRegistryEntries?.()??[]))].map((async e=>{try{const i=new Se(e.simple?{options:{credentials:"omit"}}:{}),s=await i.get(Q(e.url,"Can't load documentation registry: 'url' field is missing or empty"));Y(s.entries,"Can't load documentation registry data: 'entries' field is missing");const n=e.includes?.map((e=>new RegExp(`^${e.trim().replace(/[\^$\\.+?()[\]{}|]/g,"\\$&").replace(/\*/g,".*")}$`)));Object.entries(s.entries).forEach((([e,i])=>{n&&!n.some((t=>t.test(e)))||t[e]||(t[e]=i)}))}catch(e){G(e),this.logger.warn(u.create(ye.DOCUMENTATION_FETCH__FAILURE),e)}}))),e.keyedDocumentationEntries=[...De(t),...e.keyedDocumentationEntries]}async start(){Y(this._isConfigured,"Legend application has not been configured properly. Make sure to run setup() before start()");try{const[e,t]=await this.fetchApplicationConfiguration(this.baseAddress);this.config=e,this.pluginRegister?.(this.pluginManager,this.config),this.pluginManager.configure(t),this.pluginManager.install(),await Promise.all([this.loadDocumentationRegistryData(e)]);const i=new sa(this.config,this.pluginManager);await Promise.all(this.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraApplicationSetups?.()??[])).map((e=>e(i)))),await this.loadApplication(i),this.logger.info(u.create(ye.APPLICATION_LOAD__SUCCESS),"Legend application loaded")}catch(e){throw G(e),this.logger.error(u.create(ye.APPLICATION_LOAD__FAILURE),"Failed to load Legend application"),e}}}const oa="legend-application-root",ca=JSON.parse('{"name":"@finos/legend-application","version":"15.0.64","description":"Legend application core","keywords":["legend","legend-application","application","legend-application-core"],"homepage":"https://github.com/finos/legend-studio/tree/master/packages/legend-application","bugs":{"url":"https://github.com/finos/legend-studio/issues"},"repository":{"type":"git","url":"https://github.com/finos/legend-studio.git","directory":"packages/legend-application"},"license":"Apache-2.0","sideEffects":false,"type":"module","exports":{".":"./lib/index.js","./browser":"./lib/browser.js","./test":"./lib/__test__.js","./lib/index.css":"./lib/index.css"},"module":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"yarn clean && yarn build:sass && yarn build:ts","build:sass":"cross-env INIT_CWD=$INIT_CWD node ../../scripts/workflow/buildSass.js","build:ts":"tsc --project ./tsconfig.build.json","clean":"npm-run-all clean:cache clean:lib","clean:cache":"rimraf \\"build\\"","clean:lib":"rimraf \\"lib\\"","dev":"npm-run-all --parallel dev:sass dev:ts","dev:sass":"sass style:lib --watch --load-path=../../node_modules/@finos/legend-art/scss","dev:ts":"tsc --watch --preserveWatchOutput","lint:js":"cross-env NODE_ENV=production eslint --cache --cache-location ./build/.eslintcache --report-unused-disable-directives --parser-options=project:\\"./tsconfig.json\\" \\"./src/**/*.{js,ts,tsx}\\"","publish:prepare":"node ../../scripts/release/preparePublishContent.js","publish:snapshot":"node ../../scripts/release/publishDevSnapshot.js","test":"jest","test:watch":"jest --watch"},"dependencies":{"@finos/legend-art":"workspace:*","@finos/legend-shared":"workspace:*","@types/react":"18.2.31","@types/react-dom":"18.2.14","@types/react-router-dom":"5.3.3","history":"5.3.0","mobx":"6.10.2","mobx-react-lite":"4.0.5","react":"18.2.0","react-dnd":"16.0.1","react-dnd-html5-backend":"16.0.1","react-dom":"18.2.0","react-router":"5.3.4","react-router-dom":"5.3.4","serializr":"3.0.2","xterm":"5.3.0","xterm-addon-fit":"0.8.0","xterm-addon-search":"0.13.0","xterm-addon-unicode11":"0.6.0","xterm-addon-web-links":"0.9.0","xterm-addon-webgl":"0.16.0"},"devDependencies":{"@finos/legend-dev-utils":"workspace:*","@jest/globals":"29.7.0","cross-env":"7.0.3","eslint":"8.52.0","jest":"29.7.0","npm-run-all":"4.1.5","rimraf":"5.0.5","sass":"1.69.4","typescript":"5.2.2"},"peerDependencies":{"react":"^18.0.0"},"publishConfig":{"directory":"build/publishContent"},"extensions":{"applicationPlugin":"@finos/legend-application-plugin-core","iframeEventNotifierPlugin":"@finos/legend-event-notifier-plugin-iframe"}}');class la extends o{}class da extends la{static NAME=ca.extensions.applicationPlugin;constructor(){super(da.NAME,ca.version)}install(e){e.registerApplicationPlugin(this)}getExtraApplicationSetups(){return[async e=>{(0,Ve.configure)({enforceActions:"observed"})}]}getExtraColorThemes(){return[Wn,Kn]}getExtraSettingConfigurationEntries(){return e=Xn,Object.entries(e).map((e=>({key:e[0],...e[1]})));var e}}class ua{appName;baseAddress;env;applicationStorageKey;documentationUrl;documentationLinkEntries=[];documentationRegistryEntries=[];keyedDocumentationEntries=[];contextualDocEntries=[];appVersion;appVersionBuildTime;appVersionCommitId;constructor(e){var t,i;this.baseAddress=e.baseAddress,this.appName=Q(e.configData.appName,"Can't configure application: 'appName' field is missing or empty"),this.env=Q(e.configData.env,"Can't configure application: 'env' field is missing or empty"),this.applicationStorageKey=e.configData.application?.storageKey??this.getDefaultApplicationStorageKey(),this.documentationUrl=e.configData.documentation?.url,this.documentationLinkEntries=(t=e.configData.documentation?.links??{},Object.entries(t).map((e=>({key:Q(e[0],"Documentation link 'key' is missing"),label:Q(e[1].label,"Documentation link 'label' is missing"),url:Q(e[1].url,"Documentation link 'url' is missing")})))),this.documentationRegistryEntries=e.configData.documentation?.registry??[],this.keyedDocumentationEntries=De(e.configData.documentation?.entries??{}),this.contextualDocEntries=(i=e.configData.documentation?.contextualEntries??{},Object.entries(i).map((e=>({context:e[0],documentationKey:e[1]})))),this.appVersion=W(e.versionData.version,"Can't collect application version: 'version' field is missing"),this.appVersionBuildTime=W(e.versionData.buildTime,"Can't collect application version: 'buildTime' field is missing"),this.appVersionCommitId=W(e.versionData.commitSHA,"Can't collect application version: 'commitSHA' field is missing")}static resolveAbsoluteUrl(e){return e.trim().startsWith("/")?window.location.origin+e:e}}class pa extends ua{pureUrl;useDynamicPureServer=!1;constructor(e){super(e),Y(e.configData.pure,"Can't configure application: 'pure' field is missing"),this.pureUrl=ua.resolveAbsoluteUrl(Q(e.configData.pure.url,"Can't configure application: 'pure.url' field is missing or empty")),void 0!==e.configData.pure.dynamic&&(this.useDynamicPureServer=Boolean(e.configData.pure.dynamic))}getDefaultApplicationStorageKey(){return"legend-pure-ide"}}class ha extends d{loggerPlugins=[];telemetryServicePlugins=[];tracerServicePlugins=[];eventNotifierPlugins=[];applicationPlugins=[];registerLoggerPlugin(e){this.loggerPlugins.push(e)}registerTelemetryServicePlugin(e){this.telemetryServicePlugins.push(e)}registerTracerServicePlugin(e){this.tracerServicePlugins.push(e)}registerEventNotifierPlugin(e){this.eventNotifierPlugins.push(e)}registerApplicationPlugin(e){this.applicationPlugins.push(e)}getLoggerPlugins(){return[...this.loggerPlugins]}getTelemetryServicePlugins(){return[...this.telemetryServicePlugins]}getTracerServicePlugins(){return[...this.tracerServicePlugins]}getEventNotifierPlugins(){return[...this.eventNotifierPlugins]}getApplicationPlugins(){return[...this.applicationPlugins]}}class ma extends ha{pureProtocolProcessorPlugins=[];pureGraphManagerPlugins=[];pureGraphPlugins=[];constructor(){super()}static create(){return new ma}registerPureProtocolProcessorPlugin(e){this.pureProtocolProcessorPlugins.push(e)}registerPureGraphManagerPlugin(e){this.pureGraphManagerPlugins.push(e)}registerPureGraphPlugin(e){this.pureGraphPlugins.push(e)}getPureGraphManagerPlugins(){return[...this.pureGraphManagerPlugins]}getPureProtocolProcessorPlugins(){return[...this.pureProtocolProcessorPlugins]}getPureGraphPlugins(){return[...this.pureGraphPlugins]}}const ga=JSON.parse('{"name":"@finos/legend-extension-dsl-diagram","version":"8.0.131","description":"Legend extension for Diagram DSL","keywords":["legend","legend-extension","dsl","dsl-diagram"],"homepage":"https://github.com/finos/legend-studio/tree/master/packages/legend-extension-dsl-diagram","bugs":{"url":"https://github.com/finos/legend-studio/issues"},"repository":{"type":"git","url":"https://github.com/finos/legend-studio.git","directory":"packages/legend-extension-dsl-diagram"},"license":"Apache-2.0","sideEffects":false,"type":"module","exports":{"./graph":"./lib/graph-manager/index.js","./application":"./lib/components/index.js","./application-studio":"./lib/components/studio/index.js","./lib/index.css":"./lib/index.css"},"module":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"yarn clean && yarn build:sass && yarn build:ts","build:sass":"cross-env INIT_CWD=$INIT_CWD node ../../scripts/workflow/buildSass.js","build:ts":"tsc --project ./tsconfig.build.json","clean":"npm-run-all clean:cache clean:lib","clean:cache":"rimraf \\"build\\"","clean:lib":"rimraf \\"lib\\"","dev":"npm-run-all --parallel dev:sass dev:ts","dev:sass":"sass style:lib --watch --load-path=../../node_modules/@finos/legend-art/scss","dev:ts":"tsc --watch --preserveWatchOutput","lint:js":"cross-env NODE_ENV=production eslint --cache --cache-location ./build/.eslintcache --report-unused-disable-directives --parser-options=project:\\"./tsconfig.json\\" \\"./src/**/*.{js,ts,tsx}\\"","publish:prepare":"node ../../scripts/release/preparePublishContent.js","publish:snapshot":"node ../../scripts/release/publishDevSnapshot.js","test":"jest","test:watch":"jest --watch"},"dependencies":{"@finos/legend-application":"workspace:*","@finos/legend-application-studio":"workspace:*","@finos/legend-art":"workspace:*","@finos/legend-graph":"workspace:*","@finos/legend-lego":"workspace:*","@finos/legend-shared":"workspace:*","@finos/legend-storage":"workspace:*","@types/react":"18.2.31","mobx":"6.10.2","mobx-react-lite":"4.0.5","react":"18.2.0","react-dnd":"16.0.1","react-dom":"18.2.0","serializr":"3.0.2"},"devDependencies":{"@finos/legend-dev-utils":"workspace:*","@jest/globals":"29.7.0","@testing-library/react":"14.0.0","cross-env":"7.0.3","eslint":"8.52.0","jest":"29.7.0","npm-run-all":"4.1.5","rimraf":"5.0.5","sass":"1.69.4","typescript":"5.2.2"},"peerDependencies":{"react":"^18.0.0"},"publishConfig":{"directory":"build/publishContent"},"extensions":{"graphManagerPreset":"@finos/legend-graph-manager-preset-dsl-diagram","pureProtocolProcessorPlugin":"@finos/legend-pure-protocol-processor-plugin-dsl-diagram","pureGraphManagerPlugin":"@finos/legend-pure-graph-manager-plugin-dsl-diagram","pureGraphPlugin":"@finos/legend-pure-graph-plugin-dsl-diagram","applicationStudioPlugin":"@finos/legend-application-studio-plugin-dsl-diagram"}}');class fa extends o{_$nominalTypeBrand;install(e){e.registerPureGraphManagerPlugin(this)}}const _a=e=>t=>(0,Ve.isObservable)(t)?t:e(t),ba=e=>(t,i)=>(0,Ve.isObservable)(t)?t:e(t,i),Ea=e=>{(0,Ve.makeObservable)(e,{_isDeleted:Ve.observable,_isDisposed:Ve.observable,name:Ve.observable,package:Ve.observable,isDeleted:Ve.computed,path:Ve.computed,_elementHashCode:Ve.computed,hashCode:Ve.computed,setIsDeleted:Ve.action,dispose:Ve.action})},va=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{content:Ve.observable.ref}),e))),Ta=_a((e=>(0,Ve.makeObservable)(e,{value:Ve.observable,valueForSerialization:Ve.computed})));var Sa=i(4485),Ca=i(3096);const ya=e=>Sa.sha1().update(e).digest("hex"),Na=e=>ya(e.filter($).map((e=>"string"==typeof e||"boolean"==typeof e||"number"==typeof e?ya(e):e.hashCode)).join(",")),Aa="*",Ia="::",xa="###",Oa="sourceInformation",wa=["$implicit"];var Ra,ka,Pa;!function(e){e.CORE="CORE",e.MAIN="ROOT",e.MODEL_GENERATION="MODEL_GENERATION_ROOT",e.SYSTEM="SYSTEM_ROOT",e.PROJECT_DEPENDENCY_ROOT="PROJECT_DEPENDENCY_ROOT"}(Ra||(Ra={})),function(e){e.STRING="String",e.BOOLEAN="Boolean",e.BINARY="Binary",e.NUMBER="Number",e.INTEGER="Integer",e.FLOAT="Float",e.DECIMAL="Decimal",e.DATE="Date",e.STRICTDATE="StrictDate",e.DATETIME="DateTime",e.STRICTTIME="StrictTime",e.LATESTDATE="LatestDate",e.BYTE="Byte"}(ka||(ka={})),function(e){e.Service_Test="serviceTest",e.Mapping_Test="mappingTest",e.Function_Test="functionTest"}(Pa||(Pa={}));const Ma=["meta::pure::metamodel::type","meta::pure::functions::date","meta::pure::profiles"];var La;!function(e){e.ANY="meta::pure::metamodel::type::Any",e.NIL="meta::pure::metamodel::type::Nil",e.PROFILE_DOC="meta::pure::profiles::doc",e.PROFILE_TEMPORAL="meta::pure::profiles::temporal",e.PROFILE="meta::pure::metamodel::extension::Profile",e.ENUMERATION="meta::pure::metamodel::type::Enumeration",e.MEASURE="meta::pure::metamodel::type::Measure",e.CLASS="meta::pure::metamodel::type::Class",e.ASSOCIATION="meta::pure::metamodel::relationship::Association",e.FUNCTION="meta::pure::metamodel::function::ConcreteFunctionDefinition",e.FLAT_DATA="meta::flatData::metamodel::FlatData",e.DATABASE="meta::relational::metamodel::Database",e.MAPPING="meta::pure::mapping::Mapping",e.SERVICE="meta::legend::service::metamodel::Service",e.CONNECTION="meta::pure::runtime::PackageableConnection",e.RUNTIME="meta::pure::runtime::PackageableRuntime",e.EXECUTION_ENVIRONMENT="meta::legend::service::metamodel::ExecutionEnvironmentInstance",e.FILE_GENERATION="meta::pure::generation::metamodel::GenerationConfiguration",e.GENERATION_SPECIFICATION="meta::pure::generation::metamodel::GenerationSpecification",e.SECTION_INDEX="meta::pure::metamodel::section::SectionIndex",e.DATA_ELEMENT="meta::pure::data::DataElement",e.SNOWFLAKE_APP="meta::external::function::activator::snowflakeApp::SnowflakeApp"}(La||(La={}));var Fa,Da;!function(e){e.BUSINESS_TEMPORAL="businesstemporal",e.PROCESSING_TEMPORAL="processingtemporal",e.BITEMPORAL="bitemporal"}(Fa||(Fa={})),function(e){e.ALL_VERSIONS="AllVersions",e.ALL_VERSIONS_IN_RANGE="AllVersionsInRange"}(Da||(Da={}));var Ba,ja;!function(e){e.CLASS="CLASS",e.STORE="STORE",e.MAPPING="MAPPING",e.RUNTIME="RUNTIME",e.FUNCTION="FUNCTION",e.FILE_GENERATION="FILE_GENERATION",e.SERVICE="SERVICE"}(Ba||(Ba={})),function(e){e.LET="meta::pure::functions::lang::letFunction",e.NEW="meta::pure::functions::meta::new",e.FROM="meta::pure::mapping::from"}(ja||(ja={}));var Ua;!function(e){e.INTERNAL__UNKNOWN_PACKAGEABLE_ELEMENT="INTERNAL__UNKNOWN_PACKAGEABLE_ELEMENT",e.INTERNAL__UNKNOWN_FUNCTION_ACTIVATOR="INTERNAL__UNKNOWN_FUNCTION_ACTIVATOR",e.PACKAGE="PACKAGE",e.PACKAGEABLE_ELEMENT="PACKAGEABLE_ELEMENT",e.PACKAGEABLE_ELEMENT_POINTER="PACKAGEABLE_ELEMENT_POINTER",e.PROFILE="PROFILE",e.TAG_POINTER="TAG_POINTER",e.STEREOTYPE_POINTER="STEREOTYPE_POINTER",e.TAGGED_VALUE="TAGGED_VALUE",e.ENUMERATION="ENUMERATION",e.ENUM_VALUE="ENUM_VALUE",e.CLASS="CLASS",e.PROPERTY="PROPERTY",e.PROPERTY_POINTER="PROPERTY_POINTER",e.MULTIPLICITY="MULTIPLICITY",e.CONSTRAINT="CONSTRAINT",e.DERIVED_PROPERTY="DERIVED_PROPERTY",e.ASSOCIATION="ASSOCIATION",e.FUNCTION="FUNCTION",e.MEASURE="MEASURE",e.UNIT="UNIT",e.FUNCTION_TEST_SUITE="FUNCTION_TEST_SUITE",e.FUNCTION_TEST="FUNCTION_TEST",e.FUNCTION_STORE_TEST_DATA="FUNCTION_STORE_TEST_DATA",e.FUNCTION_PARAMETER_VALUE="FUNCTION_PARAMETER_VALUE",e.ASSERT_FAIL="ASSERT_FAIL",e.ASSERT_PASS="ASSERT_PASS",e.EQUAL_TO_JSON_ASSERT_FAIL="EQUAL_TO_JSON_ASSERT_FAIL",e.EQUAL_TO="EQUAL_TO",e.EQUAL_TO_JSON="EQUAL_TO_JSON",e.EQUAL_TO_TDS="EQUAL_TO_TDS",e.SECTION_INDEX="SECTION_INDEX",e.SECTION="SECTION",e.IMPORT_AWARE_CODE_SECTION="IMPORT_AWARE_CODE_SECTION",e.DEFAULT_CODE_SECTION="DEFAULT_CODE_SECTION",e.RAW_LAMBDA="RAW_LAMBDA",e.RAW_VARIABLE="RAW_VARIABLE",e.RAW_INSTANCE_VALUE="RAW_INSTANCE_VALUE",e.BINDING_TRANSFORMER="BINDING_TRANSFORMER",e.INTERNAL__UNKNOWN_VALUE_SPECIFICATION="INTERNAL__UNKNOWN_VALUE_SPECIFICATION",e.INTERNAL__PROPAGATED_VALUE="INTERNAL__PROPAGATED_VALUE",e.VARIABLE_EXPRESSION="VARIABLE_EXPRESSION",e.EXPRESSION="EXPRESSION",e.FUNCTION_EXPRESSION="FUNCTION_EXPRESSION",e.SIMPLE_FUNCTION_EXPRESSION="SIMPLE_FUNCTION_EXPRESSION",e.ABSTRACT_PROPERTY_EXPRESSION="ABSTRACT_PROPERTY_EXPRESSION",e.INSTANCE_VALUE="INSTANCE_VALUE",e.PRIMITIVE_INSTANCE_VALUE="PRIMITIVE_INSTANCE_VALUE",e.ENUM_INSTANCE_VALUE="ENUM_INSTANCE_VALUE",e.KEY_EXPRESSION_INSTANCE_VALUE="KEY_EXPRESSION_INSTANCE_VALUE",e.KEY_EXPRESSION_VALUE="KEY_EXPRESSION_VALUE",e.RUNTIME_INSTANCE_VALUE="RUNTIME_INSTANCE_VALUE",e.PAIR_INSTANCE_VALUE="PAIR_INSTANCE_VALUE",e.MAPPING_INSTANCE_VALUE="MAPPING_INSTANCE_VALUE",e.PURE_LIST_INSTANCE_VALUE="PURE_LIST_INSTANCE_VALUE",e.COLLECTION_INSTANCE_VALUE="COLLECTION_INSTANCE_VALUE",e.LAMBDA_FUNCTION_INSTANCE_VALUE="LAMBDA_FUNCTION_INSTANCE_VALUE",e.FUNCTION_TYPE="FUNCTION_TYPE",e.LAMBDA_FUNCTION="LAMBDA_FUNCTION",e.ALLOY_SERIALIZATION_CONFIG_INSTANCE_VALUE="ALLOY_SERIALIZATION_CONFIG_INSTANCE_VALUE",e.ALLOY_SERIALIZATION_CONFIG="ALLOY_SERIALIZATION_CONFIG",e.ROOT_GRAPH_FETCH_TREE="ROOT_GRAPH_FETCH_TREE",e.PROPERTY_GRAPH_FETCH_TREE="PROPERTY_GRAPH_FETCH_TREE",e.SUBTYPE_GRAPH_FETCH_TREE="SUBTYPE_GRAPH_FETCH_TREE",e.SUBTYPE_GRAPH_FETCH_TREE_INSTANCE_VALUE="SUBTYPE_GRAPH_FETCH_TREE_INSTANCE_VALUE",e.PROPERTY_GRAPH_FETCH_TREE_INSTANCE_VALUE="PROEPRTY_GRAPH_FETCH_TREE_INSTANCE_VALUE",e.ROOT_GRAPH_FETCH_TREE_INSTANCE_VALUE="ROOT_GRAPH_FETCH_TREE_INSTANCE_VALUE",e.INTERNAL__UNKNOWN_STORE="INTERNAL__UNKNOWN_STORE",e.INTERNAL__UNKNOWN_CONNECTION="INTERNAL__UNKNOWN_CONNECTION",e.INTERNAL__UNKNOWN_PROPERTY_MAPPING="INTERNAL__UNKNOWN_PROPERTY_MAPPING",e.INTERNAL__UNKNOWN_CLASS_MAPPING="INTERNAL__UNKNOWN_CLASS_MAPPING",e.INTERNAL__UNKNOWN_MAPPING_INCLUDE="INTERNAL__UNKNOWN_MAPPING_INCLUDE",e.MAPPING="MAPPING",e.MAPPING_INCLUDE_MAPPING="MAPPING_INCLUDE_MAPPING",e.ASSOCIATION_IMPLEMENTATION="ASSOCIATION_IMPLEMENTATION",e.RELATIONAL_ASSOCIATION_IMPLEMENTATION="RELATIONAL_ASSOCIATION_IMPLEMENTATION",e.XSTORE_ASSOCIATION_IMPLEMENTATION="XSTORE_ASSOCIATION_IMPLEMENTATION",e.ENUMERATION_MAPPING="ENUMERATION_MAPPING",e.ENUM_VALUE_MAPPING="ENUM_VALUE_MAPPING",e.SET_IMPLEMENTATION="SET_IMPLEMENTATION",e.OPERATION_SET_IMPLEMENTATION="OPERATION_SET_IMPLEMENTATION",e.PURE_INSTANCE_SET_IMPLEMENTATION="PURE_INSTANCE_SET_IMPLEMENTATION",e.PROPERTY_MAPPING="PROPERTY_MAPPING",e.LOCAL_MAPPING_PROPERTY="LOCAL_MAPPING_PROPERTY",e.PURE_PROPERTY_MAPPING="PURE_PROPERTY_MAPPING",e.XSTORE_PROPERTY_MAPPING="XSTORE_PROPERTY_MAPPING",e.MAPPING_TEST_LEGACY="MAPPING_TEST_LEGACY",e.MAPPING_TEST_SUITE="MAPPING_TEST_SUITE",e.MAPPING_TEST="MAPPING_TEST",e.STORE_TEST_DATA="STORE_TEST_DATA",e.INPUT_DATA="INPUT_DATA",e.FLAT_DATA_INPUT_DATA="FLAT_DATA_INPUT_DATA",e.RELATIONAL_INPUT_DATA="RELATIONAL_INPUT_DATA",e.OBJECT_INPUT_DATA="OBJECT_INPUT_DATA",e.MAPPING_TEST_ASSERT="MAPPING_TEST_ASSERT",e.EXPECTED_OUTPUT_MAPPING_TEST_ASSERT="EXPECTED_OUTPUT_MAPPING_TEST_ASSERT",e.FILTER_MAPPING="FILTER_MAPPING",e.COLUMN_MAPPING="COLUMN_MAPPING",e.GROUP_BY_MAPPING="GROUP_BY_MAPPING",e.RUNTIME="RUNTIME",e.PACKAGEABLE_RUNTIME="PACKAGEABLE_RUNTIME",e.ENGINE_RUNTIME="ENGINE_RUNTIME",e.LEGACY_RUNTIME="LEGACY_RUNTIME",e.RUNTIME_POINTER="RUNTIME_POINTER",e.STORE_CONNECTIONS="STORE_CONNECTIONS",e.IDENTIFIED_CONNECTION="IDENTIFIED_CONNECTION",e.PACKAGEABLE_CONNECTION="PACKAGEABLE_CONNECTION",e.CONNECTION_POINTER="CONNECTION_POINTER",e.XML_MODEL_CONNECTION="XML_MODEL_CONNECTION",e.JSON_MODEL_CONNECTION="JSON_MODEL_CONNECTION",e.MODEL_CHAIN_CONNECTION="MODEL_CHAIN_CONNECTION",e.FLAT_DATA_CONNECTION="FLAT_DATA_CONNECTION",e.AGGREGATION_AWARE_MAPPING="AGGREGATION_AWARE_MAPPING",e.AGGREGATION_AWARE_SPECIFICATION="AGGREGATION_AWARE_SPECIFICATION",e.AGGREGATION_AWARE_SET_IMPLEMENTATION_CONTAINER="AGGREGATION_AWARE_SET_IMPLEMENTATION_CONTAINER",e.AGGREGATE_FUNCTION="AGGREGATE_FUNCTION",e.GROUP_BY_FUNCTION="GROUP_BY_FUNCTION",e.GENERATION_TREE="GENERATION_TREE",e.GENERATION_TREE_NODE="GENERATION_TREE_NODE",e.FILE_GENERATION="FILE_GENERATION",e.CONFIGURATION_PROPERTY="CONFIGURATION_PROPERTY",e.INTERNAL__UNKNOWN_EMBEDDED_DATA="INTERNAL__UNKNOWN_EMBEDDED_DATA",e.EXTERNAL_FORMAT_DATA="EXTERNAL_FORMAT_DATA",e.MODEL_STORE_DATA="MODEL_STORE_DATA",e.MODEL_DATA="MODEL_DATA",e.MODEL_EMBEDDED_DATA="MODEL_EMBEDDED_DATA",e.MODEL_INSTANCE_DATA="MODEL_INSTANCE_DATA",e.DATA_ELEMENT_REFERENCE="DATA_ELEMENT_REFERENCE",e.DATA_ELEMENT="DATA_ELEMENT",e.RELATIONAL_CSV_DATA="RELATIONAL_CSV_DATA",e.RELATIONAL_TDS="RELATIONAL_TDS",e.RELATIONAL_CSV_DATA_TABLE="RELATIONAL_CSV_DATA_TABLE",e.BINDING="BINDING",e.SCHEMA_SET="SCHEMA_SET",e.SCHEMA="SCHEMA",e.MODEL_UNIT="MODEL_UNIT",e.URL_STREAM="URL_STREAM",e.EXTERNAL_FORMAT_CONNECTION="EXTERNAL_FORMAT_CONNECTION",e.SERVICE="SERVICE",e.SERVICE_OWNER="SERVICE_OWNER",e.SERVICE_PURE_EXECUTION="SERVICE_PURE_EXECUTION",e.SERVICE_PURE_SINGLE_EXECUTION="SERVICE_PURE_SINGLE_EXECUTION",e.SERVICE_KEYED_EXECUTION_PARAMETER="SERVICE_KEYED_EXECUTION_PARAMETER",e.SERVICE_PURE_MULTI_EXECUTION="SERVICE_PURE_MULTI_EXECUTION",e.SERVICE_TEST_CONTAINER="SERVICE_TEST_CONTAINER",e.SERVICE_LEGACY_SINGLE_EXECUTION_TEST="SERVICE_LEGACY_SINGLE_EXECUTION_TEST",e.SERVICE_LEGACY_KEYED_SINGLE_EXECUTION_TEST="SERVICE_LEGACY_KEYED_SINGLE_EXECUTION_TEST",e.SERVICE_LEGACY_MULTI_EXECUTION_TEST="SERVICE_LEGACY_MULTI_EXECUTION_TEST",e.SERVICE_CONNECTION_TEST_DATA="SERVICE_CONNECTION_TEST_DATA",e.SERVICE_TEST_DATA="SERVICE_TEST_DATA",e.SERVICE_TEST_SUITE="SERVICE_TEST_SUITE",e.SERVICE_TEST="SERVICE_TEST",e.SERVICE_PARAMETER_VALUE="SERVICE_PARAMETER_VALUE",e.SERVICE_POST_VALIDATION="SERVICE_POST_VALIDATION",e.SERVICE_POST_VALIDATION_ASSERTION="SERVICE_POST_VALIDATION_ASSERTION",e.EXECUTION_ENVIRONMENT_INSTANCE="EXECUTION_ENVIRONMENT_INSTANCE",e.SINGLE_EXECUTION_PARAMETER="SINGLE_EXECUTION_PARAMETER",e.MULTI_EXECUTION_PARAMETER="MULTI_EXECUTION_PARAMETER",e.INTERNAL__UNKNOWN_DATASOURCE_SPECIFICATION="INTERNAL__UNKNOWN_DATASOURCE_SPECIFICATION",e.INTERNAL__UNKNOWN_AUTHENTICATION_STRATEGY="INTERNAL__UNKNOWN_AUTHENTICATION_STRATEGY",e.INTERNAL__UNKNOWN_POST_PROCESSOR="INTERNAL__UNKNOWN_POST_PROCESSOR",e.DATABASE="DATABASE",e.DATABASE_SCHEMA="DATABASE_SCHEMA",e.DATABASE_JOIN="DATABASE_JOIN",e.DATABASE_FILTER="DATABASE_FILTER",e.DATBASE_VIEW="DATBASE_VIEW",e.DATABASE_SCHEMA_TABLE="DATABASE_SCHEMA_TABLE",e.DATABASE_TABLE_COLUMN="DATABASE_TABLE_COLUMN",e.RELATIONAL="RELATIONAL",e.RELATIONAL_OPERATION_DYNA_FUNC="RELATIONAL_OPERATION_DYNA_FUNC",e.RELATIONAL_OPERATION_ELEMENTS_WITH_JOINS="RELATIONAL_OPERATION_ELEMENTS_WITH_JOINS",e.RELATIONAL_OPERATION_LITERAL="RELATIONAL_OPERATION_LITERAL",e.RELATIONAL_OPERATION_LITERAL_LIST="RELATIONAL_OPERATION_LITERAL_LIST",e.RELATIONAL_OPERATION_TABLE_ALIAS_COLUMN="RELATIONAL_OPERATION_TABLE_ALIAS_COLUMN",e.RELATIONAL_OPERATION_TABLE_POINTER="RELATIONAL_OPERATION_TABLE_POINTER",e.RELATIONAL_OPERATION_JOIN_POINTER="RELATIONAL_OPERATION_JOIN_POINTER",e.RELATIONAL_DATATYPE_VARCHAR="RELATIONAL_DATATYPE_VARCHAR",e.RELATIONAL_DATATYPE_CHAR="RELATIONAL_DATATYPE_CHAR",e.RELATIONAL_DATATYPE_VARBINARY="RELATIONAL_DATATYPE_VARBINARY",e.RELATIONAL_DATATYPE_BINARY="RELATIONAL_DATATYPE_BINARY",e.RELATIONAL_DATATYPE_BIT="RELATIONAL_DATATYPE_BIT",e.RELATIONAL_DATATYPE_INTEGER="RELATIONAL_DATATYPE_INTEGER",e.RELATIONAL_DATATYPE_BIGINT="RELATIONAL_DATATYPE_BIGINT",e.RELATIONAL_DATATYPE_SMALLINT="RELATIONAL_DATATYPE_SMALLINT",e.RELATIONAL_DATATYPE_TINYINT="RELATIONAL_DATATYPE_TINYINT",e.RELATIONAL_DATATYPE_NUMERIC="RELATIONAL_DATATYPE_NUMERIC",e.RELATIONAL_DATATYPE_DECIMAL="RELATIONAL_DATATYPE_DECIMAL",e.RELATIONAL_DATATYPE_DOUBLE="RELATIONAL_DATATYPE_DOUBLE",e.RELATIONAL_DATATYPE_FLOAT="RELATIONAL_DATATYPE_FLOAT",e.RELATIONAL_DATATYPE_REAL="RELATIONAL_DATATYPE_REAL",e.RELATIONAL_DATATYPE_DATE="RELATIONAL_DATATYPE_DATE",e.RELATIONAL_DATATYPE_TIMESTAMP="RELATIONAL_DATATYPE_TIMESTAMP",e.RELATIONAL_DATATYPE_OTHER="RELATIONAL_DATATYPE_OTHER",e.RELATIONAL_DATATYPE_SEMISTRUCTURED="RELATIONAL_DATATYPE_SEMISTRUCTURED",e.RELATIONAL_DATATYPE_JSON="RELATIONAL_DATATYPE_JSON",e.ROOT_RELATIONAL_INSTANCE_SET_IMPLEMENTATION="ROOT_RELATIONAL_INSTANCE_SET_IMPLEMENTATION",e.RELATIONAL_INSTANCE_SET_IMPLEMENTATION="RELATIONAL_INSTANCE_SET_IMPLEMENTATION",e.REALTIONAL_PROPERTY_MAPPING="REALTIONAL_PROPERTY_MAPPING",e.EMBEDDED_REALTIONAL_PROPERTY_MAPPING="EMBEDDED_REALTIONAL_PROPERTY_MAPPING",e.INLINE_EMBEDDED_REALTIONAL_PROPERTY_MAPPING="INLINE_EMBEDDED_REALTIONAL_PROPERTY_MAPPING",e.OTHERWISE_EMBEDDED_REALTIONAL_PROPERTY_MAPPING="OTHERWISE_EMBEDDED_REALTIONAL_PROPERTY_MAPPING",e.BUSINESS_MILESTONING="BUSINESS_MILESTONING",e.BUSINESS_SNAPSHOT_MILESTONING="BUSINESS_SNAPSHOT_MILESTONING",e.PROCESSING_MILESTONING="PROCESSING_MILESTONING",e.RELATIONAL_DATABASE_CONNECTION="RELATIONAL_DATABASE_CONNECTION",e.STATIC_DATASOURCE_SPECIFICATION="STATIC_DATASOURCE_SPECIFICATION",e.LOCAL_H2_DATASOURCE_SPECIFICATION="LOCAL_H2_DATASOURCE_SPECIFICATION",e.EMBEDDED_H2_DATASOURCE_SPECIFICATION="EMBEDDED_H2_DATASOURCE_SPECIFICATION",e.SNOWFLAKE_DATASOURCE_SPECIFICATION="SNOWFLAKE_DATASOURCE_SPECIFICATION",e.REDSHIFT_DATASOURCE_SPECIFICATION="REDSHIFT_DATASOURCE_SPECIFICATION",e.BIGQUERY_DATASOURCE_SPECIFICATION="BIGQUERY_DATASOURCE_SPECIFICATION",e.DATABRICKS_DATASOURCE_SPECIFICATION="DATABRICKS_DATASOURCE_SPECIFICATION",e.SPANNER_DATASOURCE_SPECIFICATION="SPANNER_DATASOURCE_SPECIFICATION",e.TRINO_DATASOURCE_SPECIFICATION="TRINO_DATASOURCE_SPECIFICATION",e.TRINO_SSL_SPECIFICATION="TRINO_SSL_SPECIFICATION",e.DELEGRATED_KEREBEROS_AUTHENTICATION_STRATEGY="DELEGRATED_KEREBEROS_AUTHENTICATION_STRATEGY",e.DEFAULT_H2_AUTHENTICATION_STRATEGY="DEFAULT_H2_AUTHENTICATION_STRATEGY",e.SNOWFLAKE_PUBLIC_AUTHENTICATION_STRATEGY="SNOWFLAKE_PUBLIC_AUTHENTICATION_STRATEGY",e.API_TOKEN_AUTHENTICATION_STRATEGY="API_TOKEN_AUTHENTICATION_STRATEGY",e.GCP_APPLICATION_DEFAULT_CREDENTIALS_AUTHENTICATION_STRATEGY="GCP_APPLICATION_DEFAULT_CREDENTIALS_AUTHENTICATION_STRATEGY",e.USERNAME_PASSWORD_AUTHENTICATION_STRATEGY="USERNAME_PASSWORD_AUTHENTICATION_STRATEGY",e.OAUTH_AUTHENTICATION_STRATEGY="OAUTH_AUTHENTICATION_STRATEGY",e.GCP_WORKLOAD_IDENTITY_FEDERATION_AUTHENTICATION_STRATEGY="GCP_WORKLOAD_IDENTITY_FEDERATION_AUTHENTICATION_STRATEGY",e.MIDDLE_TIER_USERNAME_PASSWORD_AUTHENTICATION_STRATEGY="MIDDLE_TIER_USERNAME_PASSWORD_AUTHENTICATION_STRATEGY",e.TRINO_DELEGATED_KERBEROS_AUTHENTICATION_STRATEGY="TRINO_KEREBEROS_AUTHENTICATION_STRATEGY",e.MAPPER_POST_PROCESSOR="MAPPER_POST_PROCESSOR",e.SCHEMA_MAPPER="SCHEMA_MAPPER",e.TABLE_MAPPER="TABLE_MAPPER",e.FLAT_DATA="FLAT_DATA",e.FLAT_DATA_SECTION="FLAT_DATA_SECTION",e.FLAT_DATA_PROPERTY="FLAT_DATA_PROPERTY",e.FLAT_DATA_ROOT_RECORD_TYPE="FLAT_DATA_ROOT_RECORD_TYPE",e.FLAT_DATA_RECORD_TYPE="FLAT_DATA_RECORD_TYPE",e.FLAT_DATA_RECORD_FIELD="FLAT_DATA_RECORD_FIELD",e.FLAT_DATA_STRING="FLAT_DATA_STRING",e.FLAT_DATA_BOOLEAN="FLAT_DATA_BOOLEAN",e.FLAT_DATA_NUMBER="FLAT_DATA_NUMBER",e.FLAT_DATA_INTEGER="FLAT_DATA_INTEGER",e.FLAT_DATA_FLOAT="FLAT_DATA_FLOAT",e.FLAT_DATA_DECIMAL="FLAT_DATA_DECIMAL",e.FLAT_DATA_DATE="FLAT_DATA_DATE",e.FLAT_DATA_DATE_TIME="FLAT_DATA_DATE_TIME",e.FLAT_DATA_STRICT_DATE="FLAT_DATA_STRICT_DATE",e.FLAT_DATA_INSTANCE_SET_IMPLEMENTATION="FLAT_DATA_INSTANCE_SET_IMPLEMENTATION",e.FLAT_DATA_PROPERTY_MAPPING="FLAT_DATA_PROPERTY_MAPPING",e.FLAT_DATA_ASSOCIATION_IMPLEMENTATION="FLAT_DATA_ASSOCIATION_IMPLEMENTATION",e.FLAT_DATA_ASSOCIATION_PROPERTY_MAPPING="FLAT_DATA_ASSOCIATION_PROPERTY_MAPPING",e.EMBEDDED_FLAT_DATA_PROPERTY_MAPPING="EMBEDDED_FLAT_DATA_PROPERTY_MAPPING",e.FLAT_DATA_SECTION_POINTER="FLAT_DATA_SECTION_POINTER",e.SNOWFLAKE_APP="SNOWFLAKE_APP"}(Ua||(Ua={}));const Va=e=>{return i={excludeKeys:e=>e.toLowerCase().endsWith(Oa.toLowerCase())},Z(se(t=e),"Can't hash non-object value"),Ca(t,i);var t,i},Ga=(e,t)=>Na([e?Va(e):"",t?Va(t):""]),za=(e,t)=>[Ua.PACKAGEABLE_ELEMENT_POINTER,e??"",t].map(ya).join(",");class Ha{stereotypes=[];taggedValues=[]}class $a extends Ha{name}class Ya extends $a{_UUID=(0,a.default)();_isDeleted=!1;_isDisposed=!1;package;constructor(e){super(),this.name=e}get isDeleted(){return this._isDeleted}setIsDeleted(e){this._isDeleted=e}get path(){if(!this.package)return this.name;const e=this.package.path;return e?`${e}${Ia}${this.name}`:this.name}dispose(){this._isDisposed=!0;try{this.hashCode}catch{}}get _elementHashCode(){return Na([Ua.PACKAGEABLE_ELEMENT,this.path])}get hashCode(){if(this._isDisposed)throw new U(`Element '${this.path}' is already disposed`);return this._elementHashCode}}class Wa extends Ya{}class Ka extends Wa{_subclasses=[];_generatedMilestonedProperties=[];properties=[];propertiesFromAssociations=[];derivedProperties=[];generalizations=[];constraints=[];dispose(){super.dispose(),this._subclasses=[],this.generalizations.forEach((e=>{const t=e.value.rawType;t._isDisposed||(t._subclasses=t._subclasses.filter((e=>!e._isDisposed)))}))}get _elementHashCode(){return Na([Ua.CLASS,this.path,Na(this.properties),Na(this.derivedProperties),Na(this.generalizations.map((e=>e.ownerReference.valueForSerialization??""))),Na(this.constraints),Na(this.stereotypes.map((e=>e.pointerHashCode))),Na(this.taggedValues)])}accept_PackageableElementVisitor(e){return e.visit_Class(this)}}class Ja extends Wa{}class Xa extends Ja{values=[];get _elementHashCode(){return Na([Ua.ENUMERATION,this.path,Na(this.values),Na(this.stereotypes.map((e=>e.pointerHashCode))),Na(this.taggedValues)])}accept_PackageableElementVisitor(e){return e.visit_Enumeration(this)}}class qa extends Ja{measure;conversionFunction;constructor(e,t,i){super(e),this.measure=t,this.conversionFunction=i}get hashCode(){return Na([Ua.UNIT,this.measure.path,this.conversionFunction??""])}accept_PackageableElementVisitor(e){throw new V}}class Qa extends Wa{canonicalUnit;nonCanonicalUnits=[];get _elementHashCode(){return Na([Ua.MEASURE,this.path,this.canonicalUnit??"",Na(this.nonCanonicalUnits)])}accept_PackageableElementVisitor(e){return e.visit_Measure(this)}}class Za extends Ya{children=[];get path(){return this.package?super.path:""}get hashCode(){return""}accept_PackageableElementVisitor(e){return e.visit_Package(this)}}class er{_OWNER;parserName;elements=[];constructor(e,t){this.parserName=e,this._OWNER=t}get hashCode(){return Na([Ua.SECTION,this.parserName,Na(this.elements.map((e=>e.valueForSerialization??"")))])}}class tr extends er{imports=[];get hashCode(){return Na([Ua.IMPORT_AWARE_CODE_SECTION,super.hashCode,Na(this.imports.map((e=>e.valueForSerialization??"")))])}}class ir extends er{get hashCode(){return Na([Ua.DEFAULT_CODE_SECTION,super.hashCode])}}class sr{_UUID=(0,a.default)()}class nr extends sr{ownerReference;constructor(e){super(),this.ownerReference=e}}class ar extends sr{value;constructor(e){super(),this.value=e}}class rr extends ar{constructor(e){super(e)}static create(e){return new rr(e)}get valueForSerialization(){return this.value.path}}const or=_a((e=>(0,Ve.makeObservable)(e,{name:Ve.observable,value:Ve.observable.ref,hashCode:Ve.computed}))),cr=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{type:Ve.observable,generationOutputPath:Ve.observable,scopeElements:Ve.observable,configurationProperties:Ve.observable,_elementHashCode:Ve.override}),e.scopeElements.forEach((e=>{e instanceof ar&&Ta(e)})),e.configurationProperties.forEach(or),e))),lr=_a((e=>((0,Ve.makeObservable)(e,{id:Ve.observable,hashCode:Ve.computed}),Ta(e.generationElement),e))),dr=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{generationNodes:Ve.observable,fileGenerations:Ve.observable,_elementHashCode:Ve.override}),e.generationNodes.forEach(lr),e.fileGenerations.forEach(Ta),e)));class ur{_OWNER;included;constructor(e,t){this._OWNER=e,this.included=t}}class pr extends ur{storeSubstitutions=[];get hashCode(){return Na([Ua.MAPPING_INCLUDE_MAPPING,this.included.valueForSerialization??"",R(this.storeSubstitutions)?.original.valueForSerialization??"",R(this.storeSubstitutions)?.substitute.valueForSerialization??""])}}class hr{}class mr extends hr{expectedOutput;constructor(e){super(),this.expectedOutput=yt(e)}get hashCode(){return Na([Ua.EXPECTED_OUTPUT_MAPPING_TEST_ASSERT,this.expectedOutput])}}class gr{}var fr,_r;!function(e){e.JSON="JSON",e.XML="XML"}(fr||(fr={}));class br extends gr{sourceClass;inputType;data;constructor(e,t,i){super(),this.sourceClass=e,this.inputType=t,this.data=t===fr.JSON?yt(i):i}get hashCode(){return Na([Ua.OBJECT_INPUT_DATA,this.sourceClass.valueForSerialization??"",this.inputType,this.data])}}class Er extends gr{sourceFlatData;data;constructor(e,t){super(),this.sourceFlatData=e,this.data=t}get hashCode(){return Na([Ua.FLAT_DATA_INPUT_DATA,za(Ba.STORE,this.sourceFlatData.valueForSerialization??""),this.data])}}!function(e){e.SQL="SQL",e.CSV="CSV"}(_r||(_r={}));class vr extends gr{database;data;inputType;constructor(e,t,i){super(),this.database=e,this.data=t,this.inputType=i}get hashCode(){return Na([Ua.RELATIONAL_INPUT_DATA,this.database.valueForSerialization??"",this.data,this.inputType])}}class Tr{}class Sr extends Tr{mappings=[];connectionStores=[];connections=[];get hashCode(){return Na([Ua.ENGINE_RUNTIME,Na(this.mappings.map((e=>za(Ba.MAPPING,e.valueForSerialization??"")))),Na(this.connectionStores),Na(this.connections.filter((e=>e.storeConnections.length)))])}}class Cr extends Tr{packageableRuntime;constructor(e){super(),this.packageableRuntime=e}get hashCode(){return Na([Ua.RUNTIME_POINTER,this.packageableRuntime.valueForSerialization??""])}}const yr=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,hashCode:Ve.computed}),Ta(e.type),e))),Nr=_a((e=>(0,Ve.makeObservable)(e,{body:Ve.observable.ref,parameters:Ve.observable.ref,hashCode:Ve.computed}))),Ar=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,multiplicity:Ve.observable,hashCode:Ve.computed}),Ta(e.type),e)));class Ir{observerContext;constructor(e){this.observerContext=e}visit_RawLambda(e){Nr(e)}visit_RawVariableExpression(e){Ar(e)}visit_RawPrimitiveInstanceValue(e){yr(e)}}ba(((e,t)=>(e.accept_RawValueSpecificationVisitor(new Ir(t)),e)));class xr{_correspondingPrimitiveType;constructor(e){this._correspondingPrimitiveType=e}}class Or extends xr{trueString;falseString;get hashCode(){return Na([Ua.FLAT_DATA_BOOLEAN,this.trueString??"",this.falseString??""])}}class wr extends xr{get hashCode(){return Na([Ua.FLAT_DATA_STRING])}}class Rr extends xr{get hashCode(){return Na([Ua.FLAT_DATA_NUMBER])}}class kr extends xr{dateFormat;timeZone;get hashCode(){return Na([Ua.FLAT_DATA_DATE,this.dateFormat?Na(this.dateFormat):"",this.timeZone??""])}}class Pr extends xr{fields=[];get hashCode(){return Na([Ua.FLAT_DATA_RECORD_TYPE,Na(this.fields)])}}const Mr=ba(((e,t)=>(Vd(e,t),(0,Ve.makeObservable)(e,{flatData:Ve.observable,sectionName:Ve.observable,hashCode:Ve.computed}),e))),Lr=_a((e=>((0,Ve.makeObservable)(e,{label:Ve.observable,flatDataDataType:Ve.observable,optional:Ve.observable,address:Ve.observable,hashCode:Ve.computed}),(e=>{e instanceof Or?(0,Ve.makeObservable)(e,{trueString:Ve.observable,falseString:Ve.observable,hashCode:Ve.computed}):e instanceof wr||e instanceof Rr?(0,Ve.makeObservable)(e,{hashCode:Ve.computed}):e instanceof kr?(0,Ve.makeObservable)(e,{dateFormat:Ve.observable,timeZone:Ve.observable,hashCode:Ve.computed}):e instanceof Pr&&_a(Fr)(e)})(e.flatDataDataType),e)));function Fr(e){return(0,Ve.makeObservable)(e,{fields:Ve.observable,hashCode:Ve.computed}),e.fields.forEach(Lr),e}_a(Fr);const Dr=_a(Fr),Br=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,value:Ve.observable,hashCode:Ve.computed}),e))),jr=_a((e=>((0,Ve.makeObservable)(e,{driverId:Ve.observable,name:Ve.observable,sectionProperties:Ve.observable,recordType:Ve.observable,hashCode:Ve.computed}),e.sectionProperties.forEach(Br),e.recordType&&Dr(e.recordType),e))),Ur=(_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,pointerHashCode:Ve.computed}),Ta(e.ownerReference),e))),_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{sections:Ve.observable,_elementHashCode:Ve.override}),e.sections.forEach(jr),e)))),Vr=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable}),Ta(e.ownerReference),e))),Gr=ba(((e,t)=>(Xd(e,t),(0,Ve.makeObservable)(e,{filter:Ve.observable,hashCode:Ve.computed}),Vr(e.sourceRootRecordType),e.filter&&Nr(e.filter),e))),zr=ba(((e,t)=>(Vd(e,t),Xd(e,t),(0,Ve.makeObservable)(e,{rootInstanceSetImplementation:Ve.observable,hashCode:Ve.computed}),e))),Hr=ba(((e,t)=>(Vd(e,t),(0,Ve.makeObservable)(e,{transformer:Ve.observable,transform:Ve.observable,hashCode:Ve.computed}),Nr(e.transform),e))),$r=_a((e=>((0,Ve.makeObservable)(e,{data:Ve.observable,hashCode:Ve.computed}),Ta(e.sourceFlatData),e))),Yr=_a((e=>((0,Ve.makeObservable)(e,{url:Ve.observable,hashCode:Ve.computed}),e)));class Wr{}class Kr extends Wr{serverPrincipal;get hashCode(){return Na([Ua.DELEGRATED_KEREBEROS_AUTHENTICATION_STRATEGY,this.serverPrincipal?.toString()??""])}}class Jr extends Wr{get hashCode(){return Na([Ua.DEFAULT_H2_AUTHENTICATION_STRATEGY])}}class Xr extends Wr{apiToken;constructor(e){super(),this.apiToken=e}get hashCode(){return Na([Ua.API_TOKEN_AUTHENTICATION_STRATEGY,this.apiToken])}}class qr extends Wr{oauthKey;scopeName;constructor(e,t){super(),this.oauthKey=e,this.scopeName=t}get hashCode(){return Na([Ua.OAUTH_AUTHENTICATION_STRATEGY,this.oauthKey,this.scopeName])}}class Qr extends Wr{privateKeyVaultReference;passPhraseVaultReference;publicUserName;constructor(e,t,i){super(),this.privateKeyVaultReference=e,this.passPhraseVaultReference=t,this.publicUserName=i}get hashCode(){return Na([Ua.SNOWFLAKE_PUBLIC_AUTHENTICATION_STRATEGY,this.privateKeyVaultReference,this.passPhraseVaultReference,this.publicUserName])}}class Zr extends Wr{get hashCode(){return Na([Ua.GCP_APPLICATION_DEFAULT_CREDENTIALS_AUTHENTICATION_STRATEGY])}}class eo extends Wr{serviceAccountEmail;additionalGcpScopes=[];constructor(e,t=[]){super(),this.serviceAccountEmail=e,this.additionalGcpScopes=t}get hashCode(){return Na([Ua.GCP_WORKLOAD_IDENTITY_FEDERATION_AUTHENTICATION_STRATEGY,this.serviceAccountEmail,Na(this.additionalGcpScopes)])}}class to extends Wr{baseVaultReference;userNameVaultReference;passwordVaultReference;constructor(e,t){super(),this.userNameVaultReference=e,this.passwordVaultReference=t}get hashCode(){return Na([Ua.USERNAME_PASSWORD_AUTHENTICATION_STRATEGY,this.baseVaultReference?.toString()??"",this.userNameVaultReference,this.passwordVaultReference])}}class io extends Wr{vaultReference;constructor(e){super(),this.vaultReference=e}get hashCode(){return Na([Ua.MIDDLE_TIER_USERNAME_PASSWORD_AUTHENTICATION_STRATEGY,this.vaultReference])}}class so extends Wr{kerberosRemoteServiceName;kerberosUseCanonicalHostname;constructor(e,t){super(),this.kerberosRemoteServiceName=e,this.kerberosUseCanonicalHostname=t}get hashCode(){return Na([Ua.TRINO_DELEGATED_KERBEROS_AUTHENTICATION_STRATEGY,this.kerberosRemoteServiceName,this.kerberosUseCanonicalHostname.toString()])}}class no{}class ao extends no{host;port;databaseName;constructor(e,t,i){super(),this.host=e,this.port=t,this.databaseName=i}get hashCode(){return Na([Ua.STATIC_DATASOURCE_SPECIFICATION,this.host,this.port.toString(),this.databaseName])}}class ro extends no{hostname;port;protocol;httpPath;constructor(e,t,i,s){super(),this.hostname=e,this.port=t,this.protocol=i,this.httpPath=s}get hashCode(){return Na([Ua.DATABRICKS_DATASOURCE_SPECIFICATION,this.hostname,this.port,this.protocol,this.httpPath])}}class oo extends no{databaseName;directory;autoServerMode;constructor(e,t,i){super(),this.databaseName=e,this.directory=t,this.autoServerMode=i}get hashCode(){return Na([Ua.EMBEDDED_H2_DATASOURCE_SPECIFICATION,this.databaseName,this.directory,this.autoServerMode.toString()])}}class co extends no{testDataSetupCsv;testDataSetupSqls=[];get hashCode(){return Na([Ua.LOCAL_H2_DATASOURCE_SPECIFICATION,this.testDataSetupCsv??"",Na(this.testDataSetupSqls)])}}class lo extends no{accountName;region;warehouseName;databaseName;cloudType;quotedIdentifiersIgnoreCase;proxyHost;proxyPort;nonProxyHosts;organization;accountType;role;enableQueryTags;constructor(e,t,i,s){super(),this.region=t,this.warehouseName=i,this.databaseName=s,this.accountName=e}get hashCode(){return Na([Ua.SNOWFLAKE_DATASOURCE_SPECIFICATION,this.accountName,this.region,this.warehouseName,this.databaseName,this.cloudType??"",this.proxyHost??"",this.proxyPort??"",this.nonProxyHosts??"",this.organization??"",this.accountType??"",this.role??"",this.quotedIdentifiersIgnoreCase?.toString()??"",this.enableQueryTags?.toString()??""])}}class uo extends no{clusterID;databaseName;host;port;region;endpointURL;constructor(e,t,i,s,n,a){super(),this.clusterID=n,this.region=a,this.host=s,this.databaseName=e,this.endpointURL=t,this.port=i}get hashCode(){return Na([Ua.REDSHIFT_DATASOURCE_SPECIFICATION,this.databaseName,this.endpointURL,this.port.toString(),this.clusterID,this.host,this.region])}}class po extends no{projectId;defaultDataset;proxyHost;proxyPort;constructor(e,t){super(),this.projectId=e,this.defaultDataset=t}get hashCode(){return Na([Ua.BIGQUERY_DATASOURCE_SPECIFICATION,this.projectId,this.defaultDataset,this.proxyHost??"",this.proxyPort??""])}}class ho extends no{projectId;instanceId;databaseId;proxyHost;proxyPort;constructor(e,t,i,s,n){super(),this.projectId=e,this.instanceId=t,this.databaseId=i,this.proxyHost=s,this.proxyPort=n}get hashCode(){return Na([Ua.SPANNER_DATASOURCE_SPECIFICATION,this.projectId,this.instanceId,this.databaseId,this.proxyHost??"",this.proxyPort??""])}}class mo extends no{host;port;sslSpecification;catalog;schema;clientTags;constructor(e,t,i){super(),this.host=e,this.port=t,this.sslSpecification=i}get hashCode(){return Na([Ua.TRINO_DATASOURCE_SPECIFICATION,this.host,this.port.toString(),this.sslSpecification,this.catalog??"",this.schema??"",this.clientTags??""])}}class go{}class fo extends go{_UUID=(0,a.default)();from;to;constructor(e,t){super(),this.from=e,this.to=t}get hashCode(){return Na([this.from,this.to])}}class _o extends fo{get hashCode(){return Na([super.hashCode,Ua.SCHEMA_MAPPER])}}class bo extends fo{schema;constructor(e,t,i){super(e,t),this.schema=i}get hashCode(){return Na([super.hashCode,Ua.TABLE_MAPPER,this.schema])}}class Eo{_UUID=(0,a.default)()}class vo extends Eo{mappers=[];get hashCode(){return Na([Ua.MAPPER_POST_PROCESSOR,Na(this.mappers)])}}const To="{target}",So="default";class Co{}class yo extends Co{}class No extends yo{}class Ao extends No{name;parameters=[];constructor(e){super(),this.name=e}get hashCode(){return Na([Ua.RELATIONAL_OPERATION_DYNA_FUNC,this.name,Na(this.parameters)])}}var Io;!function(e){e.INNER="INNER",e.LEFT_OUTER="LEFT_OUTER",e.RIGHT_OUTER="RIGHT_OUTER",e.OUTER="OUTER"}(Io||(Io={}));const xo=e=>[e].concat(e.children.length?xo(e.children[0]):[]);class Oo extends Co{relationalOperationElement;joinTreeNode;get hashCode(){return Na([Ua.RELATIONAL_OPERATION_ELEMENTS_WITH_JOINS,Na(this.joinTreeNode?xo(this.joinTreeNode):[]),this.relationalOperationElement??""])}}class wo extends Co{relation;name;database;isSelfJoinTarget=!1;get hashCode(){throw new V}}class Ro extends Co{alias;column;columnName;get hashCode(){return Na([Ua.RELATIONAL_OPERATION_TABLE_ALIAS_COLUMN,this.alias.isSelfJoinTarget?this.alias.relation.selfJoinPointerHashCode:this.alias.relation.pointerHashCode,this.alias.isSelfJoinTarget?To:this.alias.name,this.column.value.name])}}class ko extends Co{value;constructor(e){super(),this.value=e}get hashCode(){return Na([Ua.RELATIONAL_OPERATION_LITERAL,"number"==typeof this.value?this.value.toString():this.value])}}class Po extends Co{values=[];get hashCode(){return Na([Ua.RELATIONAL_OPERATION_LITERAL_LIST,Na(this.values)])}}class Mo extends Co{owner;name;type;nullable;get hashCode(){return Na([Ua.DATABASE_TABLE_COLUMN,this.name,this.nullable?.toString()??"",this.type])}}class Lo{}class Fo extends Lo{infinityDate}class Do{}class Bo extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_BIGINT])}}class jo extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_SMALLINT])}}class Uo extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_TINYINT])}}class Vo extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_INTEGER])}}class Go extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_FLOAT])}}class zo extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_DOUBLE])}}class Ho extends Do{size;constructor(e){super(),this.size=e}get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_VARCHAR,this.size.toString()])}}class $o extends Do{size;constructor(e){super(),this.size=e}get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_CHAR,this.size.toString()])}}class Yo extends Do{size;constructor(e){super(),this.size=e}get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_VARBINARY,this.size.toString()])}}class Wo extends Do{precision;scale;constructor(e,t){super(),this.precision=e,this.scale=t}get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_DECIMAL,this.precision.toString(),this.scale.toString()])}}class Ko extends Do{precision;scale;constructor(e,t){super(),this.precision=e,this.scale=t}get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_NUMERIC,this.precision.toString(),this.scale.toString()])}}class Jo extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_TIMESTAMP])}}class Xo extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_VARCHAR])}}class qo extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_BIT])}}class Qo extends Do{size;constructor(e){super(),this.size=e}get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_BINARY,this.size.toString()])}}class Zo extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_REAL])}}class ec extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_SEMISTRUCTURED])}}class tc extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_JSON])}}class ic extends nr{ownerReference;constructor(e){super(e),this.ownerReference=e}}class sc extends ic{value;constructor(e,t){super(e),this.value=t}get pointerHashCode(){return[Ua.RELATIONAL_OPERATION_TABLE_POINTER,this.ownerReference.valueForSerialization??"",this.value.schema.name,this.value.name].map(ya).join(",")}get selfJoinPointerHashCode(){return[Ua.RELATIONAL_OPERATION_TABLE_POINTER,this.ownerReference.valueForSerialization??"",So,To].map(ya).join(",")}}class nc extends ic{value;constructor(e,t){super(e),this.value=t}get pointerHashCode(){return[Ua.RELATIONAL_OPERATION_TABLE_POINTER,this.ownerReference.valueForSerialization??"",this.value.schema.name,this.value.name].map(ya).join(",")}get selfJoinPointerHashCode(){return[Ua.RELATIONAL_OPERATION_TABLE_POINTER,this.ownerReference.valueForSerialization??"",So,To].map(ya).join(",")}}const ac=_a((e=>((0,Ve.makeObservable)(e,{packageableElementIncludes:Ve.observable,packageableElementExcludes:Ve.observable,hashCode:Ve.computed}),e.packageableElementIncludes.forEach(Ta),e.packageableElementExcludes.forEach(Ta),e))),rc=(_a((e=>(Pd(e),(0,Ve.makeObservable)(e,{schemaSet:Ve.observable,schemaId:Ve.observable,contentType:Ve.observable,modelUnit:Ve.observable,_elementHashCode:Ve.override}),e.schemaSet&&Ta(e.schemaSet),ac(e.modelUnit),e))),_a((e=>((0,Ve.makeObservable)(e,{binding:Ve.observable,hashCode:Ve.computed}),Ta(e.binding),e)))),oc=_a((e=>((0,Ve.makeObservable)(e,{url:Ve.observable,hashCode:Ve.computed}),e))),cc=(_a((e=>(gu(e),(0,Ve.makeObservable)(e,{externalSource:Ve.observable,hashCode:Ve.computed}),oc(e.externalSource),e))),_a((e=>(0,Ve.makeObservable)(e,{id:Ve.observable,location:Ve.observable,content:Ve.observable,hashCode:Ve.computed}))));_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{format:Ve.observable,schemas:Ve.observable,_elementHashCode:Ve.override}),e.schemas.forEach(cc),e)));class lc extends Eo{content;get hashCode(){return Na([Ua.INTERNAL__UNKNOWN_POST_PROCESSOR,Va(this.content)])}}class dc extends no{content;get hashCode(){return Na([Ua.INTERNAL__UNKNOWN_DATASOURCE_SPECIFICATION,Va(this.content)])}}class uc extends Wr{content;get hashCode(){return Na([Ua.INTERNAL__UNKNOWN_AUTHENTICATION_STRATEGY,Va(this.content)])}}const pc=_a((e=>e instanceof Bo||e instanceof jo||e instanceof Uo||e instanceof Vo||e instanceof Go||e instanceof zo||e instanceof Jo||e instanceof Date||e instanceof Xo||e instanceof qo||e instanceof Zo||e instanceof ec||e instanceof tc?(0,Ve.makeObservable)(e,{hashCode:Ve.computed}):e instanceof Ho||e instanceof $o||e instanceof Yo||e instanceof Qo?(0,Ve.makeObservable)(e,{size:Ve.observable,hashCode:Ve.computed}):e instanceof Wo||e instanceof Ko?(0,Ve.makeObservable)(e,{precision:Ve.observable,scale:Ve.observable,hashCode:Ve.computed}):e)),hc=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,type:Ve.observable,nullable:Ve.observable,hashCode:Ve.computed}),pc(e.type),e))),mc=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,pointerHashCode:Ve.computed,selfJoinPointerHashCode:Ve.computed}),Ta(e.ownerReference),e))),gc=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,pointerHashCode:Ve.computed,selfJoinPointerHashCode:Ve.computed}),Ta(e.ownerReference),e))),fc=_a((e=>((0,Ve.makeObservable)(e,{relation:Ve.observable,name:Ve.observable,database:Ve.observable,isSelfJoinTarget:Ve.observable}),(e=>{e instanceof nc?gc(e):e instanceof sc&&mc(e)})(e.relation),e))),_c=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,parameters:Ve.observable,hashCode:Ve.computed}),e.parameters.forEach(Nc),e))),bc=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable}),Ta(e.ownerReference),e))),Ec=_a((e=>((0,Ve.makeObservable)(e,{alias:Ve.observable,column:Ve.observable,columnName:Ve.observable,hashCode:Ve.computed}),fc(e.alias),bc(e.column),e))),vc=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable}),Ta(e.ownerReference),e))),Tc=_a((e=>((0,Ve.makeObservable)(e,{alias:Ve.observable,children:Ve.observable,joinType:Ve.observable,hashCode:Ve.computed}),e.alias&&fc(e.alias),e.children.forEach(Tc),vc(e.join),e))),Sc=_a((e=>((0,Ve.makeObservable)(e,{relationalOperationElement:Ve.observable,joinTreeNode:Ve.observable,hashCode:Ve.computed}),e.relationalOperationElement&&Nc(e.relationalOperationElement),e.joinTreeNode&&Tc(e.joinTreeNode),e))),Cc=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,hashCode:Ve.computed}),e.value instanceof Co&&Nc(e.value),e))),yc=_a((e=>((0,Ve.makeObservable)(e,{values:Ve.observable,hashCode:Ve.computed}),e.values.forEach(Cc),e)));function Nc(e){return e instanceof Ao?_c(e):e instanceof wo?fc(e):e instanceof Ro?Ec(e):e instanceof Mo?hc(e):e instanceof ko?Cc(e):e instanceof Po?yc(e):e instanceof Oo?Sc(e):e}const Ac=_a((e=>e)),Ic=ba(((e,t)=>{if(e instanceof Fo)return Ac(e);const i=t.plugins.flatMap((e=>e.getExtraMilestoningObservers?.()??[]));for(const s of i){const i=s(e,t);if(i)return i}return e})),xc=_a((e=>((0,Ve.makeObservable)(e,{columnName:Ve.observable,relationalOperationElement:Ve.observable,hashCode:Ve.computed}),Nc(e.relationalOperationElement),e))),Oc=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable}),Ta(e.ownerReference),e))),wc=_a((e=>((0,Ve.makeObservable)(e,{joinTreeNode:Ve.observable,database:Ve.observable,filterName:Ve.observable,hashCode:Ve.computed}),e.joinTreeNode&&Tc(e.joinTreeNode),Oc(e.filter),e))),Rc=_a((e=>((0,Ve.makeObservable)(e,{columns:Ve.observable}),e.columns.forEach(Nc),e))),kc=e=>{(0,Ve.makeObservable)(e,{columns:Ve.observable,name:Ve.observable})},Pc=ba(((e,t)=>(kc(e),(0,Ve.makeObservable)(e,{primaryKey:Ve.observable,hashCode:Ve.computed}),e.primaryKey.forEach(hc),e.milestoning.forEach((e=>Ic(e,t))),e))),Mc=ba(((e,t)=>(kc(e),(0,Ve.makeObservable)(e,{primaryKey:Ve.observable,columnMappings:Ve.observable,filter:Ve.observable,distinct:Ve.observable,groupBy:Ve.observable,hashCode:Ve.computed}),e.primaryKey.forEach(hc),e.columnMappings.forEach(xc),e.filter&&wc(e.filter),e.groupBy&&Rc(e.groupBy),e))),Lc=ba(((e,t)=>((0,Ve.makeObservable)(e,{name:Ve.observable,tables:Ve.observable,views:Ve.observable,hashCode:Ve.computed}),e.tables.forEach((e=>Pc(e,t))),e.views.forEach((e=>Mc(e,t))),e))),Fc=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,operation:Ve.observable,hashCode:Ve.computed}),Nc(e.operation),e))),Dc=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,target:Ve.observable,aliases:Ve.observable,operation:Ve.observable,hashCode:Ve.computed}),e.target&&fc(e.target),Nc(e.operation),e))),Bc=ba(((e,t)=>(Ea(e),(0,Ve.makeObservable)(e,{schemas:Ve.observable,joins:Ve.observable,filters:Ve.observable,_elementHashCode:Ve.override}),e.schemas.forEach((e=>Lc(e,t))),e.joins.forEach(Dc),e.filters.forEach(Fc),e))),jc=ba(((e,t)=>(Vd(e,t),(0,Ve.makeObservable)(e,{transformer:Ve.observable,relationalOperation:Ve.observable.ref,bindingTransformer:Ve.observable,hashCode:Ve.computed}),e.bindingTransformer&&rc(e.bindingTransformer),e))),Uc=(e,t)=>(Xd(e,t),Vd(e,t),(0,Ve.makeObservable)(e,{id:Ve.observable,rootInstanceSetImplementation:Ve.observable,primaryKey:Ve.observable}),e.primaryKey.forEach(Nc),e),Vc=ba(Uc),Gc=ba(((e,t)=>(Uc(e,t),(0,Ve.makeObservable)(e,{inlineSetImplementation:Ve.observable}),nu(e.inlineSetImplementation,t),e))),zc=ba(((e,t)=>(Uc(e,t),(0,Ve.makeObservable)(e,{otherwisePropertyMapping:Ve.observable,hashCode:Ve.computed}),$d(e.otherwisePropertyMapping,t),e))),Hc=ba(((e,t)=>(Xd(e,t),(0,Ve.makeObservable)(e,{primaryKey:Ve.observable}),e.primaryKey.forEach(Nc),e))),$c=ba(((e,t)=>(Xd(e,t),(0,Ve.makeObservable)(e,{columnMappings:Ve.observable,filter:Ve.observable,distinct:Ve.observable,groupBy:Ve.observable,mainTableAlias:Ve.observable,superSetImplementationId:Ve.observable,hashCode:Ve.computed}),e.columnMappings.forEach(xc),e.filter&&wc(e.filter),e.groupBy&&Rc(e.groupBy),e.mainTableAlias&&fc(e.mainTableAlias),e))),Yc=_a((e=>((0,Ve.makeObservable)(e,{data:Ve.observable,inputType:Ve.observable,hashCode:Ve.computed}),Ta(e.database),e))),Wc=_a((e=>(0,Ve.makeObservable)(e,{host:Ve.observable,port:Ve.observable,databaseName:Ve.observable,hashCode:Ve.computed}))),Kc=_a((e=>(0,Ve.makeObservable)(e,{hostname:Ve.observable,port:Ve.observable,protocol:Ve.observable,httpPath:Ve.observable,hashCode:Ve.computed}))),Jc=_a((e=>(0,Ve.makeObservable)(e,{databaseName:Ve.observable,directory:Ve.observable,autoServerMode:Ve.observable,hashCode:Ve.computed}))),Xc=_a((e=>(0,Ve.makeObservable)(e,{testDataSetupCsv:Ve.observable,testDataSetupSqls:Ve.observable,hashCode:Ve.computed}))),qc=_a((e=>(0,Ve.makeObservable)(e,{accountName:Ve.observable,region:Ve.observable,warehouseName:Ve.observable,databaseName:Ve.observable,cloudType:Ve.observable,quotedIdentifiersIgnoreCase:Ve.observable,enableQueryTags:Ve.observable,proxyHost:Ve.observable,proxyPort:Ve.observable,nonProxyHosts:Ve.observable,organization:Ve.observable,accountType:Ve.observable,role:Ve.observable,hashCode:Ve.computed}))),Qc=_a((e=>(0,Ve.makeObservable)(e,{databaseName:Ve.observable,endpointURL:Ve.observable,port:Ve.observable,region:Ve.observable,clusterID:Ve.observable,host:Ve.observable,hashCode:Ve.computed}))),Zc=_a((e=>(0,Ve.makeObservable)(e,{projectId:Ve.observable,defaultDataset:Ve.observable,proxyHost:Ve.observable,proxyPort:Ve.observable,hashCode:Ve.computed}))),el=_a((e=>(0,Ve.makeObservable)(e,{projectId:Ve.observable,instanceId:Ve.observable,databaseId:Ve.observable,proxyHost:Ve.observable,proxyPort:Ve.observable,hashCode:Ve.computed}))),tl=_a((e=>(0,Ve.makeObservable)(e,{ssl:Ve.observable,trustStorePathVaultReference:Ve.observable,trustStorePasswordVaultReference:Ve.observable,hashCode:Ve.computed}))),il=_a((e=>((0,Ve.makeObservable)(e,{host:Ve.observable,port:Ve.observable,catalog:Ve.observable,schema:Ve.observable,clientTags:Ve.observable,hashCode:Ve.computed}),tl(e.sslSpecification),e))),sl=_a((e=>(0,Ve.makeObservable)(e,{content:Ve.observable.ref,hashCode:Ve.computed}))),nl=_a((e=>(0,Ve.makeObservable)(e,{serverPrincipal:Ve.observable,hashCode:Ve.computed}))),al=_a((e=>(0,Ve.makeObservable)(e,{hashCode:Ve.computed}))),rl=_a((e=>(0,Ve.makeObservable)(e,{apiToken:Ve.observable,hashCode:Ve.computed}))),ol=_a((e=>(0,Ve.makeObservable)(e,{oauthKey:Ve.observable,scopeName:Ve.observable,hashCode:Ve.computed}))),cl=_a((e=>(0,Ve.makeObservable)(e,{privateKeyVaultReference:Ve.observable,passPhraseVaultReference:Ve.observable,publicUserName:Ve.observable,hashCode:Ve.computed}))),ll=_a((e=>(0,Ve.makeObservable)(e,{hashCode:Ve.computed}))),dl=_a((e=>(0,Ve.makeObservable)(e,{hashCode:Ve.computed,userNameVaultReference:Ve.observable,passwordVaultReference:Ve.observable,baseVaultReference:Ve.observable}))),ul=_a((e=>(0,Ve.makeObservable)(e,{hashCode:Ve.computed,serviceAccountEmail:Ve.observable,additionalGcpScopes:Ve.observable}))),pl=_a((e=>(0,Ve.makeObservable)(e,{hashCode:Ve.computed,vaultReference:Ve.observable}))),hl=_a((e=>(0,Ve.makeObservable)(e,{hashCode:Ve.computed,kerberosRemoteServiceName:Ve.observable,kerberosUseCanonicalHostname:Ve.observable}))),ml=_a((e=>(0,Ve.makeObservable)(e,{content:Ve.observable.ref,hashCode:Ve.computed}))),gl=e=>{(0,Ve.makeObservable)(e,{from:Ve.observable,to:Ve.observable,hashCode:Ve.computed})},fl=_a((e=>(gl(e),e))),_l=_a((e=>(gl(e),(0,Ve.makeObservable)(e,{schema:Ve.observable}),fl(e.schema),e))),bl=e=>{(0,Ve.makeObservable)(e,{hashCode:Ve.computed})},El=e=>(bl(e),(0,Ve.makeObservable)(e,{mappers:Ve.observable}),e.mappers.forEach((e=>{(e=>{e instanceof _o?fl(e):e instanceof bo&&_l(e)})(e)})),e),vl=(e,t)=>{if(e instanceof lc)return(e=>(bl(e),(0,Ve.makeObservable)(e,{content:Ve.observable.ref}),e))(e);if(e instanceof vo)return El(e);const i=t.plugins.flatMap((e=>e.getExtraPostProcessorObservers?.()??[]));for(const s of i){const i=s(e,t);if(i)return i}return e},Tl=ba(((e,t)=>((e=>{gu(e),(0,Ve.makeObservable)(e,{type:Ve.observable,timeZone:Ve.observable,quoteIdentifiers:Ve.observable})})(e),(0,Ve.makeObservable)(e,{datasourceSpecification:Ve.observable,authenticationStrategy:Ve.observable,localMode:Ve.observable,postProcessors:Ve.observable,hashCode:Ve.computed}),((e,t)=>{if(e instanceof dc)return sl(e);if(e instanceof ao)return Wc(e);if(e instanceof ro)return Kc(e);if(e instanceof oo)return Jc(e);if(e instanceof co)return Xc(e);if(e instanceof lo)return qc(e);if(e instanceof uo)return Qc(e);if(e instanceof po)return Zc(e);if(e instanceof ho)return el(e);if(e instanceof mo)return il(e);const i=t.plugins.flatMap((e=>e.getExtraDatasourceSpecificationObservers?.()??[]));for(const s of i){const i=s(e,t);if(i)return i}})(e.datasourceSpecification,t),((e,t)=>{if(e instanceof uc)return ml(e);if(e instanceof Kr)return nl(e);if(e instanceof Jr)return al(e);if(e instanceof Xr)return rl(e);if(e instanceof qr)return ol(e);if(e instanceof Qr)return cl(e);if(e instanceof Zr)return ll(e);if(e instanceof to)return dl(e);if(e instanceof eo)return ul(e);if(e instanceof io)return pl(e);if(e instanceof so)return hl(e);const i=t.plugins.flatMap((e=>e.getExtraAuthenticationStrategyObservers?.()??[]));for(const s of i){const i=s(e,t);if(i)return i}})(e.authenticationStrategy,t),e.postProcessors.forEach((e=>{vl(e,t)})),e)));class Sl{id}class Cl extends Sl{__parent;doc;assertions=[]}class yl extends Sl{__parent;doc;tests=[];skip}class Nl extends Cl{storeTestData=[];get hashCode(){return Na([Ua.MAPPING_TEST,this.id,this.doc??"",Na(this.storeTestData),Na(this.assertions)])}}class Al extends yl{func;get hashCode(){return Na([Ua.MAPPING_TEST_SUITE,this.id,this.doc??"",this.func,Na(this.tests)])}}class Il extends Cl{serializationFormat;parameters=[];keys=[];get hashCode(){return Na([Ua.SERVICE_TEST,this.id,Na(this.assertions),Na(this.parameters),Na(this.keys),this.serializationFormat??""])}}class xl extends yl{testData;get hashCode(){return Na([Ua.SERVICE_TEST_SUITE,this.id,Na(this.tests),this.testData??""])}}class Ol{id;parentTest}class wl extends Ol{expected;get hashCode(){return Na([Ua.EQUAL_TO,this.id,Va(this.expected)])}accept_TestAssertionVisitor(e){return e.visit_EqualTo(this)}}class Rl extends Ol{expected;get hashCode(){return Na([Ua.EQUAL_TO_JSON,this.id,this.expected])}accept_TestAssertionVisitor(e){return e.visit_EqualToJSON(this)}}class kl extends Ol{expected;get hashCode(){return Na([Ua.EQUAL_TO_TDS,this.id,this.expected])}accept_TestAssertionVisitor(e){return e.visit_EqualToTDS(this)}}class Pl{}class Ml extends Pl{dataElement;get hashCode(){return Na([Ua.DATA_ELEMENT_REFERENCE,this.dataElement.valueForSerialization??""])}accept_EmbeddedDataVisitor(e){return e.visit_DataElementReference(this)}}class Ll extends Pl{contentType;data;get hashCode(){return Na([Ua.EXTERNAL_FORMAT_DATA,this.contentType,this.data])}accept_EmbeddedDataVisitor(e){return e.visit_ExternalFormatData(this)}}class Fl{model}class Dl extends Fl{data;get hashCode(){return Na([Ua.MODEL_EMBEDDED_DATA,this.model.valueForSerialization??"",this.data])}}class Bl extends Fl{instances;get hashCode(){return Na([Ua.MODEL_INSTANCE_DATA,this.model.valueForSerialization??"",Va(this.instances)])}}class jl extends Pl{modelData;get hashCode(){return Na([Ua.MODEL_STORE_DATA,this.modelData?Na(this.modelData):""])}accept_EmbeddedDataVisitor(e){return e.visit_ModelStoreData(this)}}class Ul extends Pl{tables=[];accept_EmbeddedDataVisitor(e){return e.visit_RelationalCSVData(this)}get hashCode(){return Na([Ua.RELATIONAL_CSV_DATA_TABLE,Na(this.tables)])}}class Vl extends Pl{content;get hashCode(){return Na([Ua.INTERNAL__UNKNOWN_EMBEDDED_DATA,Va(this.content)])}accept_EmbeddedDataVisitor(e){return e.visit_INTERNAL__UnknownEmbeddedData(this)}}const Gl=_a((e=>((0,Ve.makeObservable)(e,{contentType:Ve.observable,data:Ve.observable,hashCode:Ve.computed}),e))),zl=_a((e=>((0,Ve.makeObservable)(e,{dataElement:Ve.observable,hashCode:Ve.computed}),e))),Hl=ba(((e,t)=>((0,Ve.makeObservable)(e,{model:Ve.observable,data:Ve.observable,hashCode:Ve.computed}),ql(e.data,t),e))),$l=ba(((e,t)=>((0,Ve.makeObservable)(e,{model:Ve.observable,instances:Ve.observable,hashCode:Ve.computed}),e))),Yl=ba(((e,t)=>(e instanceof Dl?Hl(e,t):e instanceof Bl&&$l(e,t),e))),Wl=ba(((e,t)=>((0,Ve.makeObservable)(e,{modelData:Ve.observable,hashCode:Ve.computed}),e.modelData?.forEach((e=>{Yl(e,t)})),e))),Kl=_a((e=>((0,Ve.makeObservable)(e,{values:Ve.observable,table:Ve.observable,schema:Ve.observable,hashCode:Ve.computed}),e))),Jl=_a((e=>((0,Ve.makeObservable)(e,{tables:Ve.observable,hashCode:Ve.computed}),e.tables.forEach(Kl),e))),Xl=_a((e=>((0,Ve.makeObservable)(e,{content:Ve.observable.ref}),e)));function ql(e,t){if(e instanceof Vl)return Xl(e);if(e instanceof Ml)return zl(e);if(e instanceof Ll)return Gl(e);if(e instanceof jl)return Wl(e,t);if(e instanceof Ul)return Jl(e);const i=t.plugins.flatMap((e=>e.getExtraEmbeddedDataObservers?.()??[]));for(const s of i){const i=s(e,t);if(i)return i}return e}const Ql=ba(((e,t)=>(Ea(e),(0,Ve.makeObservable)(e,{stereotypes:Ve.observable,taggedValues:Ve.observable,data:Ve.observable,_elementHashCode:Ve.override}),e.stereotypes.forEach(Fu),e.taggedValues.forEach(Bu),ql(e.data,t),e)));class Zl{}class ed extends Zl{_OWNER;func;constructor(e,t){super(),this.func=e,this._OWNER=t}get hashCode(){return Na([Ua.SERVICE_PURE_EXECUTION,this.func])}}class td extends ed{mapping;runtime;constructor(e,t,i,s){super(e,t),this.mapping=i,this.runtime=s}get hashCode(){return Na([Ua.SERVICE_PURE_SINGLE_EXECUTION,super.hashCode,this.mapping?.valueForSerialization??"",this.runtime??""])}}class id extends ed{executionKey;executionParameters;constructor(e,t,i){super(t,i),this.executionKey=e}get hashCode(){return Na([Ua.SERVICE_PURE_MULTI_EXECUTION,super.hashCode,this.executionKey,Na(this.executionParameters??[])])}}class sd{_OWNER;constructor(e){this._OWNER=e}}class nd extends sd{data;asserts=[];constructor(e,t){super(e),this.data=t}get hashCode(){return Na([Ua.SERVICE_LEGACY_SINGLE_EXECUTION_TEST,this.data,Na(this.asserts)])}}class ad extends sd{tests=[];get hashCode(){return Na([Ua.SERVICE_LEGACY_MULTI_EXECUTION_TEST,Na(this.tests)])}}class rd{}class od extends rd{_OWNER;identifier;constructor(e,t){super(),this.identifier=e,this._OWNER=t}get hashCode(){return Na([Ua.SERVICE_OWNER,this.identifier])}}class cd extends rd{_OWNER;users=[];constructor(e,t){super(),this.users=e,this._OWNER=t}get hashCode(){return Na([Ua.SERVICE_OWNER,Na(this.users)])}}const ld=ba(((e,t)=>((0,Ve.makeObservable)(e,{connectionId:Ve.observable,testData:Ve.observable,hashCode:Ve.computed}),ql(e.testData,t),e))),dd=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,value:Ve.observable.ref,hashCode:Ve.computed}),e))),ud=_a((e=>((0,Ve.makeObservable)(e,{assertion:Ve.observable,hashCode:Ve.computed,id:Ve.observable}),Nr(e.assertion),e))),pd=_a((e=>((0,Ve.makeObservable)(e,{assertions:Ve.observable,description:Ve.observable,parameters:Ve.observable,hashCode:Ve.computed}),e.assertions.forEach(ud),e.parameters.forEach(Nr),e))),hd=ba(((e,t)=>((0,Ve.makeObservable)(e,{connectionsTestData:Ve.observable,hashCode:Ve.computed}),e.connectionsTestData.forEach((e=>ld(e,t))),e))),md=_a((e=>((0,Ve.makeObservable)(e,{id:Ve.observable,serializationFormat:Ve.observable,assertions:Ve.observable,parameters:Ve.observable,keys:Ve.observable,hashCode:Ve.computed}),e.parameters.forEach(dd),e.assertions.forEach(kd),e))),gd=ba(((e,t)=>((0,Ve.makeObservable)(e,{id:Ve.observable,tests:Ve.observable,testData:Ve.observable,hashCode:Ve.computed}),e.tests.forEach((e=>Rd(e,t))),e.testData&&hd(e.testData,t),e))),fd=_a((e=>((0,Ve.makeObservable)(e,{parametersValues:Ve.observable,assert:Ve.observable,singleExecutionTestParent:Ve.observable,hashCode:Ve.computed}),Nr(e.assert),e))),_d=_a((e=>((0,Ve.makeObservable)(e,{data:Ve.observable,asserts:Ve.observable,hashCode:Ve.computed}),e.asserts.forEach(fd),e))),bd=_a((e=>(_d(e),(0,Ve.makeObservable)(e,{key:Ve.observable}),e))),Ed=_a((e=>((0,Ve.makeObservable)(e,{tests:Ve.observable,hashCode:Ve.computed}),e.tests.forEach(bd),e))),vd=_a((e=>((0,Ve.makeObservable)(e,{identifier:Ve.observable,hashCode:Ve.computed}),e))),Td=_a((e=>((0,Ve.makeObservable)(e,{users:Ve.observable,hashCode:Ve.computed}),e))),Sd=e=>{(0,Ve.makeObservable)(e,{func:Ve.observable}),Nr(e.func)},Cd=ba(((e,t)=>(Sd(e),(0,Ve.makeObservable)(e,{runtime:Ve.observable,hashCode:Ve.computed}),e.mapping&&Ta(e.mapping),e.runtime&&xu(e.runtime,t),e))),yd=ba(((e,t)=>((0,Ve.makeObservable)(e,{key:Ve.observable,runtime:Ve.observable,hashCode:Ve.computed}),Ta(e.mapping),xu(e.runtime,t),e))),Nd=ba(((e,t)=>(Sd(e),(0,Ve.makeObservable)(e,{executionKey:Ve.observable,executionParameters:Ve.observable,hashCode:Ve.computed}),e.executionParameters?.forEach((e=>yd(e,t))),e))),Ad=ba(((e,t)=>(Ea(e),(0,Ve.makeObservable)(e,{pattern:Ve.observable,owners:Ve.observable,ownership:Ve.observable,documentation:Ve.observable,autoActivateUpdates:Ve.observable,execution:Ve.observable,test:Ve.observable,tests:Ve.observable,postValidations:Ve.observable,patternParameters:Ve.computed,_elementHashCode:Ve.override}),e.stereotypes.forEach(Fu),e.taggedValues.forEach(Bu),((e,t)=>{e instanceof td?Cd(e,t):e instanceof id&&Nd(e,t)})(e.execution,t),e.test&&(e=>{e instanceof nd?_d(e):e instanceof ad&&Ed(e)})(e.test),e.ownership&&(e=>{e instanceof od?vd(e):e instanceof cd&&Td(e)})(e.ownership),e.tests.forEach((e=>gd(e,t))),e.postValidations.forEach((e=>pd(e))),e)));class Id extends Cl{parameters;get hashCode(){return Na([Ua.FUNCTION_TEST,this.id,this.doc??"",this.parameters?Na(this.parameters):""])}}const xd=_a((e=>((0,Ve.makeObservable)(e,{id:Ve.observable,expected:Ve.observable,hashCode:Ve.computed}),e))),Od=_a((e=>((0,Ve.makeObservable)(e,{id:Ve.observable,expected:Ve.observable,hashCode:Ve.computed}),Gl(e.expected),e))),wd=_a((e=>((0,Ve.makeObservable)(e,{id:Ve.observable,expected:Ve.observable,hashCode:Ve.computed}),Gl(e.expected),e)));function Rd(e,t){if(e instanceof Il)return md(e);if(e instanceof Nl)return Fd(e,t);if(e instanceof Id)return np(e);const i=t.plugins.flatMap((e=>e.getExtraAtomicTestObservers?.()??[]));for(const s of i){const i=s(e,t);if(i)return i}return e}function kd(e){return e instanceof wl?xd(e):e instanceof Rl?wd(e):e instanceof kl?Od(e):e}const Pd=e=>{Ea(e),(0,Ve.makeObservable)(e,{includes:Ve.observable}),e.includes.forEach(Ta)},Md=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{content:Ve.observable.ref}),e))),Ld=ba(((e,t)=>((0,Ve.makeObservable)(e,{store:Ve.observable,data:Ve.observable,hashCode:Ve.computed}),ql(e.data,t),e))),Fd=ba(((e,t)=>((0,Ve.makeObservable)(e,{id:Ve.observable,assertions:Ve.observable,doc:Ve.observable,storeTestData:Ve.observable,hashCode:Ve.computed}),e.assertions.forEach(kd),e.storeTestData.forEach((e=>Ld(e,t))),e))),Dd=ba(((e,t)=>((0,Ve.makeObservable)(e,{id:Ve.observable,tests:Ve.observable,func:Ve.observable,hashCode:Ve.computed}),e.tests.forEach((e=>Rd(e,t))),Nr(e.func),e))),Bd=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,valueForSerialization:Ve.computed}),Ta(e.ownerReference),e))),jd=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable}),Ta(e.ownerReference),e))),Ud=_a((e=>((0,Ve.makeObservable)(e,{localMappingProperty:Ve.observable,localMappingPropertyType:Ve.observable,localMappingPropertyMultiplicity:Ve.observable,hashCode:Ve.computed}),Ta(e.localMappingPropertyType),e))),Vd=(e,t)=>{(0,Ve.makeObservable)(e,{sourceSetImplementation:Ve.observable,targetSetImplementation:Ve.observable}),Zu(e.property),jd(e.sourceSetImplementation),e.targetSetImplementation&&jd(e.targetSetImplementation),e.localMappingProperty&&Ud(e.localMappingProperty)},Gd=ba(((e,t)=>(Vd(e,t),(0,Ve.makeObservable)(e,{transformer:Ve.observable,transform:Ve.observable,explodeProperty:Ve.observable,hashCode:Ve.computed}),e.transformer&&Bd(e.transformer),Nr(e.transform),e))),zd=_a((e=>(0,Ve.makeObservable)(e,{content:Ve.observable.ref})));class Hd{observerContext;constructor(e){this.observerContext=e}visit_PropertyMapping(e){const t=this.observerContext.plugins.flatMap((e=>e.getExtraPropertyMappingObservers?.()??[]));for(const i of t){if(i(e,this.observerContext))return}}visit_INTERNAL__UnknownPropertyMapping(e){zd(e)}visit_PurePropertyMapping(e){Gd(e,this.observerContext)}visit_FlatDataPropertyMapping(e){Hr(e,this.observerContext)}visit_EmbeddedFlatDataPropertyMapping(e){zr(e,this.observerContext)}visit_RelationalPropertyMapping(e){jc(e,this.observerContext)}visit_FlatDataAssociationPropertyMapping(e){Mr(e,this.observerContext)}visit_EmbeddedRelationalPropertyMapping(e){Vc(e,this.observerContext)}visit_InlineEmbeddedRelationalPropertyMapping(e){Gc(e,this.observerContext)}visit_OtherwiseEmbeddedRelationalPropertyMapping(e){zc(e,this.observerContext)}visit_AggregationAwarePropertyMapping(e){}visit_XStorePropertyMapping(e){}}const $d=(e,t)=>(e.accept_PropertyMappingVisitor(new Hd(t)),e),Yd=_a((e=>(0,Ve.makeObservable)(e,{isDefault:Ve.computed,valueForSerialization:Ve.computed}))),Wd=_a((e=>(0,Ve.makeObservable)(e,{valueForSerialization:Ve.computed}))),Kd=e=>{(0,Ve.makeObservable)(e,{root:Ve.observable}),Ta(e.class),Yd(e.id),Wd(e.root)},Jd=_a((e=>((0,Ve.makeObservable)(e,{setImplementation:Ve.observable,class:Ve.observable,properties:Ve.observable}),e))),Xd=(e,t)=>{Kd(e),(0,Ve.makeObservable)(e,{mappingClass:Ve.observable,propertyMappings:Ve.observable}),e.mappingClass&&Jd(e.mappingClass),e.propertyMappings.forEach((e=>$d(e,t)))},qd=_a((e=>((0,Ve.makeObservable)(e,{}),jd(e.setImplementation),e))),Qd=e=>{Kd(e),(0,Ve.makeObservable)(e,{parameters:Ve.observable,operation:Ve.observable,hashCode:Ve.computed}),e.parameters.forEach(qd)},Zd=_a((e=>(Qd(e),e))),eu=_a((e=>(Qd(e),(0,Ve.makeObservable)(e,{validationFunction:Ve.observable}),Nr(e.validationFunction),e))),tu=ba(((e,t)=>(Xd(e,t),(0,Ve.makeObservable)(e,{filter:Ve.observable,hashCode:Ve.computed}),e.srcClass&&Ta(e.srcClass),e.filter&&Nr(e.filter),e))),iu=_a((e=>(Kd(e),(0,Ve.makeObservable)(e,{content:Ve.observable.ref}),e)));class su{observerContext;constructor(e){this.observerContext=e}visit_SetImplementation(e){const t=this.observerContext.plugins.flatMap((e=>e.getExtraSetImplementationObservers?.()??[]));for(const i of t){if(i(e,this.observerContext))return}}visit_INTERNAL__UnknownSetImplementation(e){iu(e)}visit_MergeOperationSetImplementation(e){eu(e)}visit_OperationSetImplementation(e){Zd(e)}visit_PureInstanceSetImplementation(e){tu(e,this.observerContext)}visit_FlatDataInstanceSetImplementation(e){Gr(e,this.observerContext)}visit_EmbeddedFlatDataSetImplementation(e){}visit_RelationalInstanceSetImplementation(e){Hc(e,this.observerContext)}visit_RootRelationalInstanceSetImplementation(e){$c(e,this.observerContext)}visit_AggregationAwareSetImplementation(e){}visit_INTERNAL__UnresolvedSetImplementation(e){}}const nu=(e,t)=>(e.accept_SetImplementationVisitor(new su(t)),e),au=_a((e=>((0,Ve.makeObservable)(e,{original:Ve.observable,substitute:Ve.observable}),Ta(e.original),Ta(e.substitute),e))),ru=_a((e=>e instanceof pr?((0,Ve.makeObservable)(e,{included:Ve.observable,storeSubstitutions:Ve.observable}),Ta(e.included),e.storeSubstitutions.forEach(au),e):e)),ou=_a((e=>(0,Ve.makeObservable)(e,{value:Ve.observable}))),cu=_a((e=>((0,Ve.makeObservable)(e,{sourceValues:Ve.observable,hashCode:Ve.computed}),Wu(e.enum),e.sourceValues.forEach(ou),e))),lu=_a((e=>((0,Ve.makeObservable)(e,{sourceType:Ve.observable,enumValueMappings:Ve.observable,hashCode:Ve.computed}),Ta(e.enumeration),Yd(e.id),e.sourceType&&Ta(e.sourceType),e.enumValueMappings.forEach(cu),e))),du=ba(((e,t)=>((0,Ve.makeObservable)(e,{id:Ve.observable,stores:Ve.observable,propertyMappings:Ve.observable,hashCode:Ve.computed}),Ta(e.association),Yd(e.id),e.stores.forEach(Ta),e.propertyMappings.forEach((e=>$d(e,t))),e))),uu=_a((e=>((0,Ve.makeObservable)(e,{inputType:Ve.observable,data:Ve.observable,hashCode:Ve.computed}),Ta(e.sourceClass),e))),pu=_a((e=>(0,Ve.makeObservable)(e,{expectedOutput:Ve.observable,hashCode:Ve.computed}))),hu=ba(((e,t)=>((0,Ve.makeObservable)(e,{name:Ve.observable,query:Ve.observable,inputData:Ve.observable,assert:Ve.observable,hashCode:Ve.computed}),Nr(e.query),e.inputData.forEach((e=>((e,t)=>{if(e instanceof br)return uu(e);if(e instanceof Er)return $r(e);if(e instanceof vr)return Yc(e);const i=t.plugins.flatMap((e=>e.getExtraMappingTestInputDataObservers?.()??[]));for(const s of i){const i=s(e,t);if(i)return i}return e})(e,t))),((e,t)=>{e instanceof mr&&pu(e)})(e.assert),e))),mu=ba(((e,t)=>(Ea(e),(0,Ve.makeObservable)(e,{includes:Ve.observable,classMappings:Ve.observable,enumerationMappings:Ve.observable,associationMappings:Ve.observable,test:Ve.observable,tests:Ve.observable,_elementHashCode:Ve.override}),e.includes.forEach(ru),e.classMappings.forEach((e=>nu(e,t))),e.enumerationMappings.forEach(lu),e.associationMappings.forEach((e=>du(e,t))),e.test.forEach((e=>hu(e,t))),e.tests.forEach((e=>function(e,t){return e instanceof xl?gd(e,t):e instanceof Al?Dd(e,t):e}(e,t))),e))),gu=e=>{(0,Ve.makeObservable)(e,{store:Ve.observable}),Ta(e.store)},fu=_a((e=>(gu(e),(0,Ve.makeObservable)(e,{hashCode:Ve.computed}),e))),_u=_a((e=>(gu(e),(0,Ve.makeObservable)(e,{url:Ve.observable,hashCode:Ve.computed}),Ta(e.class),e))),bu=_a((e=>(gu(e),(0,Ve.makeObservable)(e,{url:Ve.observable,hashCode:Ve.computed}),Ta(e.class),e))),Eu=_a((e=>(gu(e),(0,Ve.makeObservable)(e,{mappings:Ve.observable,hashCode:Ve.computed}),e.mappings.forEach(Ta),e))),vu=_a((e=>(gu(e),(0,Ve.makeObservable)(e,{content:Ve.observable.ref,hashCode:Ve.computed}),e)));class Tu{observerContext;constructor(e){this.observerContext=e}visit_Connection(e){const t=this.observerContext.plugins.flatMap((e=>e.getExtraConnectionObservers?.()??[]));for(const i of t){if(i(e,this.observerContext))return}}visit_INTERNAL__UnknownConnection(e){vu(e)}visit_ConnectionPointer(e){fu(e)}visit_ModelChainConnection(e){Eu(e)}visit_JsonModelConnection(e){_u(e)}visit_XmlModelConnection(e){bu(e)}visit_FlatDataConnection(e){Yr(e)}visit_RelationalDatabaseConnection(e){Tl(e,this.observerContext)}}const Su=(e,t)=>(e.accept_ConnectionVisitor(new Tu(t)),e),Cu=ba(((e,t)=>(Ea(e),(0,Ve.makeObservable)(e,{connectionValue:Ve.observable,_elementHashCode:Ve.override}),Su(e.connectionValue,t),e))),yu=ba(((e,t)=>((0,Ve.makeObservable)(e,{id:Ve.observable,connection:Ve.observable,hashCode:Ve.computed}),Su(e.connection,t),e))),Nu=ba(((e,t)=>((0,Ve.makeObservable)(e,{storeConnections:Ve.observable,hashCode:Ve.computed}),Ta(e.store),e.storeConnections.forEach((e=>yu(e,t))),e))),Au=ba(((e,t)=>((0,Ve.makeObservable)(e,{mappings:Ve.observable,connections:Ve.observable,hashCode:Ve.computed}),e.mappings.forEach(Ta),e.connections.forEach((e=>Nu(e,t))),e))),Iu=_a((e=>((0,Ve.makeObservable)(e,{hashCode:Ve.computed}),Ta(e.packageableRuntime),e))),xu=(e,t)=>e instanceof Cr?Iu(e):e instanceof Sr?Au(e,t):e,Ou=ba(((e,t)=>(Ea(e),(0,Ve.makeObservable)(e,{runtimeValue:Ve.observable,_elementHashCode:Ve.override}),Au(e.runtimeValue,t),e))),wu=ba(((e,t)=>(Ea(e),(0,Ve.makeObservable)(e,{_elementHashCode:Ve.override}),e)));class Ru{observerContext;constructor(e){this.observerContext=e}visit_PackageableElement(e){const t=this.observerContext.plugins.flatMap((e=>e.getExtraElementObservers?.()??[]));for(const i of t){if(i(e,this.observerContext))return}}visit_INTERNAL__UnknownPackageableElement(e){va(e)}visit_INTERNAL__UnknownFunctionActivator(e){cp(e)}visit_SnowflakeApp(e){lp(e)}visit_INTERNAL__UnknownStore(e){Md(e)}visit_Package(e){Lu(e,this.observerContext)}visit_SectionIndex(e){Gu(e)}visit_PrimitiveType(e){}visit_Profile(e){$u(e)}visit_Enumeration(e){Ku(e)}visit_Measure(e){Xu(e)}visit_Class(e){tp(e)}visit_Association(e){ip(e)}visit_ConcreteFunctionDefinition(e){op(e,this.observerContext)}visit_FlatData(e){Ur(e)}visit_Database(e){Bc(e,this.observerContext)}visit_Mapping(e){mu(e,this.observerContext)}visit_Service(e){Ad(e,this.observerContext)}visit_ExecutionEnvironmentInstance(e){wu(e,this.observerContext)}visit_PackageableRuntime(e){Ou(e,this.observerContext)}visit_PackageableConnection(e){Cu(e,this.observerContext)}visit_FileGenerationSpecification(e){cr(e)}visit_GenerationSpecification(e){dr(e)}visit_DataElement(e){Ql(e,this.observerContext)}}const ku=ba(((e,t)=>(e.accept_PackageableElementVisitor(new Ru(t)),e))),Pu=_a((e=>((0,Ve.makeObservable)(e,{activationConnection:Ve.observable}),e.activationConnection&&fu(e.activationConnection),e))),Mu=e=>{Ea(e),(0,Ve.makeObservable)(e,{children:Ve.observable,hashCode:Ve.override})},Lu=ba(((e,t)=>(Mu(e),e.children.forEach((e=>{e instanceof Za?Lu(e,t):ku(e,t)})),e))),Fu=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,pointerHashCode:Ve.computed}),Ta(e.ownerReference),e))),Du=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,pointerHashCode:Ve.computed}),e))),Bu=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,hashCode:Ve.computed}),Du(e.tag),e))),ju=_a((e=>(0,Ve.makeObservable)(e,{rawType:Ve.observable}))),Uu=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable}),ju(e.value),Ta(e.ownerReference),e))),Vu=_a((e=>((0,Ve.makeObservable)(e,{parserName:Ve.observable,elements:Ve.observable}),e instanceof tr?(0,Ve.makeObservable)(e,{imports:Ve.observable,hashCode:Ve.computed}):e instanceof ir&&(0,Ve.makeObservable)(e,{hashCode:Ve.computed}),e))),Gu=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{sections:Ve.observable,_elementHashCode:Ve.override}),e.sections.forEach(Vu),e))),zu=_a((e=>(0,Ve.makeObservable)(e,{value:Ve.observable}))),Hu=_a((e=>(0,Ve.makeObservable)(e,{value:Ve.observable}))),$u=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{p_stereotypes:Ve.observable,p_tags:Ve.observable,_elementHashCode:Ve.override}),e.p_stereotypes.forEach(zu),e.p_tags.forEach(Hu),e))),Yu=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,stereotypes:Ve.observable,taggedValues:Ve.observable,hashCode:Ve.computed}),e.stereotypes.forEach(Fu),e.taggedValues.forEach(Bu),e))),Wu=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable}),Ta(e.ownerReference),e))),Ku=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{values:Ve.observable,stereotypes:Ve.observable,taggedValues:Ve.observable,_elementHashCode:Ve.override}),e.values.forEach(Yu),e.stereotypes.forEach(Fu),e.taggedValues.forEach(Bu),e))),Ju=_a((e=>((0,Ve.makeObservable)(e,{measure:Ve.observable,conversionFunction:Ve.observable,hashCode:Ve.computed}),e.conversionFunction&&Nr(e.conversionFunction),e))),Xu=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{canonicalUnit:Ve.observable,nonCanonicalUnits:Ve.observable,_elementHashCode:Ve.override}),e.canonicalUnit&&Ju(e.canonicalUnit),e.nonCanonicalUnits.forEach(Ju),e))),qu=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,multiplicity:Ve.observable,aggregation:Ve.observable,stereotypes:Ve.observable,taggedValues:Ve.observable,hashCode:Ve.computed}),Uu(e.genericType),e.stereotypes.forEach(Fu),e.taggedValues.forEach(Bu),e))),Qu=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,multiplicity:Ve.observable,stereotypes:Ve.observable,taggedValues:Ve.observable,body:Ve.observable.ref,parameters:Ve.observable.ref,hashCode:Ve.computed}),Uu(e.genericType),e.stereotypes.forEach(Fu),e.taggedValues.forEach(Bu),e))),Zu=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,pointerHashCode:Ve.computed}),Ta(e.ownerReference),e))),ep=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,functionDefinition:Ve.observable,externalId:Ve.observable,enforcementLevel:Ve.observable,messageFunction:Ve.observable,hashCode:Ve.computed}),Nr(e.functionDefinition),e.messageFunction&&Nr(e.messageFunction),e))),tp=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{_subclasses:Ve.observable,properties:Ve.observable,propertiesFromAssociations:Ve.observable,derivedProperties:Ve.observable,generalizations:Ve.observable,constraints:Ve.observable,stereotypes:Ve.observable,taggedValues:Ve.observable,dispose:Ve.override,_elementHashCode:Ve.override}),e.properties.forEach(qu),e.propertiesFromAssociations.forEach(qu),e.derivedProperties.forEach(Qu),e.generalizations.forEach(Uu),e.constraints.forEach(ep),e.stereotypes.forEach(Fu),e.taggedValues.forEach(Bu),e))),ip=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{properties:Ve.observable,stereotypes:Ve.observable,taggedValues:Ve.observable,derivedProperties:Ve.observable,dispose:Ve.override,_elementHashCode:Ve.override}),e.properties.forEach(qu),e.derivedProperties.forEach(Qu),e.stereotypes.forEach(Fu),e.taggedValues.forEach(Bu),e))),sp=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,value:Ve.observable.ref,hashCode:Ve.computed}),e))),np=_a((e=>((0,Ve.makeObservable)(e,{id:Ve.observable,doc:Ve.observable,assertions:Ve.observable,hashCode:Ve.computed}),e.parameters?.forEach(sp),e.assertions.forEach(kd),e))),ap=ba(((e,t)=>((0,Ve.makeObservable)(e,{store:Ve.observable,data:Ve.observable,hashCode:Ve.computed}),ql(e.data,t),e))),rp=ba(((e,t)=>((0,Ve.makeObservable)(e,{id:Ve.observable,tests:Ve.observable,testData:Ve.observable,hashCode:Ve.computed}),e.tests.forEach((e=>Rd(e,t))),e.testData?.forEach((e=>ap(e,t))),e))),op=ba(((e,t)=>(Ea(e),(0,Ve.makeObservable)(e,{functionName:Ve.observable,returnMultiplicity:Ve.observable,parameters:Ve.observable.shallow,expressionSequence:Ve.observable.ref,stereotypes:Ve.observable,taggedValues:Ve.observable,tests:Ve.observable,_elementHashCode:Ve.override}),e.parameters.forEach(Ar),Ta(e.returnType),e.stereotypes.forEach(Fu),e.taggedValues.forEach(Bu),e.tests.forEach((e=>rp(e,t))),e))),cp=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{content:Ve.observable.ref}),e))),lp=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{applicationName:Ve.observable,description:Ve.observable,owner:Ve.observable,activationConfiguration:Ve.observable,_elementHashCode:Ve.override}),Pu(e.activationConfiguration),e))),dp=_a((e=>e instanceof Xa?Ku(e):e instanceof qa?Ju(e):e instanceof Ka?tp(e):e instanceof Qa?Xu(e):e)),up=(_a((e=>e instanceof Xa?Ku(e):e instanceof qa?Ju(e):e)),_a((e=>(0,Ve.makeObservable)(e,{_dummyObservable:Ve.observable})))),pp=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable}),Ta(e.ownerReference),e))),hp=_a((e=>(up(e),(0,Ve.makeObservable)(e,{id:Ve.observable,hideProperties:Ve.observable,hideTaggedValues:Ve.observable,hideStereotypes:Ve.observable,hashCode:Ve.computed}),Ta(e.class),e))),mp=_a((e=>(pp(e.classView),e))),gp=_a((e=>((0,Ve.makeObservable)(e,{path:Ve.observable,pathForSerialization:Ve.computed}),mp(e.from),mp(e.to),e))),fp=_a((e=>(gp(e),(0,Ve.makeObservable)(e,{hashCode:Ve.computed}),e))),_p=_a((e=>(gp(e),(0,Ve.makeObservable)(e,{hashCode:Ve.computed}),Zu(e.property),Ta(e.association),e))),bp=_a((e=>(gp(e),(0,Ve.makeObservable)(e,{hashCode:Ve.computed}),Zu(e.property),e))),Ep=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{classViews:Ve.observable,associationViews:Ve.observable,generalizationViews:Ve.observable,propertyViews:Ve.observable,_elementHashCode:Ve.override}),e.classViews.forEach(hp),e.associationViews.forEach(_p),e.generalizationViews.forEach(fp),e.propertyViews.forEach(bp),e)));var vp;!function(e){e.DIAGRAM="DIAGRAM",e.CLASS_VIEW="CLASS_VIEW",e.PROPERTY_VIEW="PROPERTY_VIEW",e.ASSOCIATION_VIEW="ASSOCIATION_VIEW",e.PROPERTY_HOLDER_VIEW="PROPERTY_HOLDER_VIEW",e.GENERALIZATION_VIEW="GENERALIZATION_VIEW",e.RELATIONSHIP_VIEW="RELATIONSHIP_VIEW",e.POINT="POINT",e.RECTANGLE="RECTANGLE",e.POSITIONED_RECTANGLE="POSITIONED_RECTANGLE"}(vp||(vp={}));class Tp extends Ya{classViews=[];associationViews=[];generalizationViews=[];propertyViews=[];get _elementHashCode(){return Na([vp.DIAGRAM,this.path,Na(this.classViews),Na(this.generalizationViews),Na(this.propertyViews)])}accept_PackageableElementVisitor(e){return e.visit_PackageableElement(this)}}class Sp extends fa{constructor(){super(ga.extensions.pureGraphManagerPlugin,ga.version)}getExtraElementObservers(){return[(e,t)=>{if(e instanceof Tp)return Ep(e)}]}}class Cp{package;name;get path(){return`${this.package}${Ia}${this.name}`}get hashCode(){return Na([Ua.PACKAGEABLE_ELEMENT,this.path])}}class yp{type;path;constructor(e,t){this.type=e,this.path=t}get hashCode(){return Na([Ua.PACKAGEABLE_ELEMENT_POINTER,this.type??"",this.path])}}class Np extends Cp{classViews=[];propertyViews=[];generalizationViews=[];get hashCode(){return Na([vp.DIAGRAM,this.path,Na(this.classViews),Na(this.generalizationViews),Na(this.propertyViews)])}accept_PackageableElementVisitor(e){return e.visit_PackageableElement(this)}}class Ap{rectangle;position;get hashCode(){return Na([vp.POSITIONED_RECTANGLE,this.position,this.rectangle])}}class Ip extends Ap{id;class;hideProperties;hideTaggedValues;hideStereotypes;get hashCode(){return Na([vp.CLASS_VIEW,super.hashCode,this.id,this.class,this.hideProperties?.toString()??"",this.hideTaggedValues?.toString()??"",this.hideStereotypes?.toString()??""])}}class xp{x;y;get hashCode(){return Na([vp.POINT,this.x.toString(),this.y.toString()])}}class Op{width;height;get hashCode(){return Na([vp.RECTANGLE,this.width.toString(),this.height.toString()])}}class wp{points=[]}class Rp{sourceView;targetView;line;get hashCode(){return Na([vp.RELATIONSHIP_VIEW,this.sourceView,this.targetView,Na(this.line.points)])}}class kp extends Rp{property;get hashCode(){return Na([vp.PROPERTY_HOLDER_VIEW,super.hashCode,this.property])}}class Pp extends kp{get hashCode(){return Na([vp.PROPERTY_VIEW,super.hashCode])}}class Mp extends Rp{get hashCode(){return Na([vp.GENERALIZATION_VIEW,super.hashCode])}}class Lp{lowerBound=0;upperBound;constructor(e,t){this.lowerBound=e,this.upperBound=t}get hashCode(){return Na([Ua.MULTIPLICITY,this.lowerBound.toString(),this.upperBound?.toString()??""])}static ZERO=new Lp(0,0);static ZERO_ONE=new Lp(0,1);static ZERO_MANY=new Lp(0,void 0);static ONE=new Lp(1,1);static ONE_MANY=new Lp(1,void 0)}const Fp=new Ae((0,Ne.createModelSchema)(class{sourceId;startLine;startColumn;endLine;endColumn},{sourceId:(0,Ne.primitive)(),startLine:(0,Ne.primitive)(),startColumn:(0,Ne.primitive)(),endLine:(0,Ne.primitive)(),endColumn:(0,Ne.primitive)()}));class Dp{package;name;sourceInformation;static serialization=new Ae((0,Ne.createModelSchema)(Dp,{package:(0,Ne.primitive)(),name:(0,Ne.primitive)(),sourceInformation:we(Fp.schema)}))}const Bp=(0,Ne.createModelSchema)(yp,{path:(0,Ne.primitive)(),type:(0,Ne.optional)((0,Ne.primitive)())}),jp=(0,Ne.createModelSchema)(Lp,{lowerBound:(0,Ne.primitive)(),upperBound:(0,Ne.optional)((0,Ne.primitive)())});class Up extends Cp{values=[];stereotypes=[];taggedValues=[];get hashCode(){return Na([Ua.ENUMERATION,this.path,Na(this.values),Na(this.stereotypes),Na(this.taggedValues)])}accept_PackageableElementVisitor(e){return e.visit_Enumeration(this)}}class Vp extends Cp{stereotypes=[];tags=[];get hashCode(){return Na([Ua.PROFILE,this.path,Na(this.stereotypes),Na(this.tags)])}accept_PackageableElementVisitor(e){return e.visit_Profile(this)}}class Gp extends Cp{measure;conversionFunction;get hashCode(){return Na([Ua.UNIT,this.measure,this.conversionFunction??""])}accept_PackageableElementVisitor(e){throw new V}}class zp extends Cp{canonicalUnit;nonCanonicalUnits=[];get hashCode(){return Na([Ua.MEASURE,this.path,this.canonicalUnit??"",Na(this.nonCanonicalUnits)])}accept_PackageableElementVisitor(e){return e.visit_Measure(this)}}class Hp extends Cp{superTypes=[];properties=[];derivedProperties=[];stereotypes=[];taggedValues=[];constraints=[];get hashCode(){return Na([Ua.CLASS,this.path,Na(this.properties),Na(this.derivedProperties),Na(this.superTypes),Na(this.constraints),Na(this.stereotypes),Na(this.taggedValues)])}accept_PackageableElementVisitor(e){return e.visit_Class(this)}}class $p extends Cp{properties=[];derivedProperties=[];stereotypes=[];taggedValues=[];get hashCode(){return Na([Ua.ASSOCIATION,this.path,Na(this.properties),Na(this.derivedProperties),Na(this.stereotypes),Na(this.taggedValues)])}accept_PackageableElementVisitor(e){return e.visit_Association(this)}}class Yp{value;stereotypes=[];taggedValues=[];get hashCode(){return Na([Ua.ENUM_VALUE,this.value,Na(this.stereotypes),Na(this.taggedValues)])}}class Wp{profile;value;get hashCode(){return Na([Ua.STEREOTYPE_POINTER,this.value,this.profile])}}class Kp{profile;value;get hashCode(){return Na([Ua.TAG_POINTER,this.value,this.profile])}}class Jp{tag;value;get hashCode(){return Na([Ua.TAGGED_VALUE,this.tag,this.value])}}class Xp{name;type;multiplicity;aggregation;stereotypes=[];taggedValues=[];get hashCode(){return Na([Ua.PROPERTY,this.name,this.multiplicity,this.type,this.aggregation??"",Na(this.stereotypes),Na(this.taggedValues)])}}class qp{name;returnType;returnMultiplicity;stereotypes=[];taggedValues=[];body;parameters;get hashCode(){return Na([Ua.DERIVED_PROPERTY,this.name,this.returnMultiplicity,this.returnType,Na(this.stereotypes),Na(this.taggedValues),Ga(this.parameters,this.body)])}}class Qp{class;property;get hashCode(){return Na([Ua.PROPERTY_POINTER,this.property,this.class??""])}}class Zp{name;functionDefinition;externalId;enforcementLevel;messageFunction;get hashCode(){return Na([Ua.CONSTRAINT,this.name,this.functionDefinition,this.externalId??"",this.enforcementLevel??"",this.messageFunction??""])}}class eh{}class th extends eh{body;parameters;get hashCode(){return Na([Ua.RAW_LAMBDA,Ga(this.parameters,this.body)])}accept_RawValueSpecificationVisitor(e){return e.visit_Lambda(this)}}class ih extends eh{class;name;multiplicity;get hashCode(){return Na([Ua.RAW_VARIABLE,this.class,this.name,this.multiplicity])}accept_RawValueSpecificationVisitor(e){return e.visit_Variable(this)}}class sh{queryTimeOutInSeconds=null;enableConstraints=!0}class nh extends eh{multiplicity=Lp.ONE;type;value;get hashCode(){return Na([Ua.RAW_INSTANCE_VALUE,this.type,this.multiplicity,this.value??""])}accept_RawValueSpecificationVisitor(e){return e.visit_PrimitiveInstanceValue(this)}}var ah,rh;!function(e){e.BASE_EXECUTION_CONTEXT="BaseExecutionContext"}(ah||(ah={})),function(e){e.LAMBDA="lambda",e.VARIABLE="var",e.CINTEGER="integer",e.CDECIMAL="decimal",e.CSTRING="string",e.CBOOLEAN="boolean",e.CFLOAT="float",e.CDATETIME="dateTime",e.CSTRICTDATE="strictDate",e.CSTRICTTIME="strictTime",e.CLATESTDATE="latestDate"}(rh||(rh={}));(0,Ne.createModelSchema)(class extends sh{},{_type:xe(ah.BASE_EXECUTION_CONTEXT),queryTimeOutInSeconds:(0,Ne.primitive)(),enableConstraints:(0,Ne.primitive)()});const oh=(0,Ne.createModelSchema)(th,{_type:xe(rh.LAMBDA),body:(0,Ne.raw)(),parameters:(0,Ne.raw)()}),ch=(0,Ne.createModelSchema)(ih,{_type:xe(rh.VARIABLE),class:(0,Ne.primitive)(),multiplicity:Ie(jp),name:(0,Ne.primitive)()}),lh=(0,Ne.createModelSchema)(nh,{type:(0,Ne.alias)("_type",(0,Ne.custom)((e=>{switch(e){case ka.INTEGER:return rh.CINTEGER;case ka.DECIMAL:return rh.CDECIMAL;case ka.STRING:return rh.CSTRING;case ka.BOOLEAN:return rh.CBOOLEAN;case ka.FLOAT:return rh.CFLOAT;case ka.DATETIME:return rh.CDATETIME;case ka.STRICTDATE:return rh.CSTRICTDATE;case ka.STRICTTIME:return rh.CSTRICTTIME;case ka.LATESTDATE:return rh.CLATESTDATE;default:throw new V(`Can't serialize raw instance value type '${e}'`)}}),(e=>{switch(e){case rh.CINTEGER:return ka.INTEGER;case rh.CDECIMAL:return ka.DECIMAL;case rh.CSTRING:return ka.STRING;case rh.CBOOLEAN:return ka.BOOLEAN;case rh.CFLOAT:return ka.FLOAT;case rh.CDATETIME:return ka.DATETIME;case rh.CSTRICTDATE:return ka.STRICTDATE;case rh.CSTRICTTIME:return ka.STRICTTIME;case rh.CLATESTDATE:return ka.LATESTDATE;default:throw new V(`Can't deserialize raw value instance value type '${e}'`)}}))),value:(0,Ne.optional)((0,Ne.primitive)())});class dh{visit_Lambda(e){return(0,Ne.serialize)(oh,e)}visit_Variable(e){return(0,Ne.serialize)(ch,e)}visit_PrimitiveInstanceValue(e){return(0,Ne.serialize)(lh,e)}}function uh(e){return e.accept_RawValueSpecificationVisitor(new dh)}function ph(e){switch(e._type){case rh.LAMBDA:return(0,Ne.deserialize)(oh,e);case rh.VARIABLE:return(0,Ne.deserialize)(ch,e);case rh.CINTEGER:case rh.CDECIMAL:case rh.CSTRING:case rh.CBOOLEAN:case rh.CFLOAT:case rh.CDATETIME:case rh.CSTRICTDATE:case rh.CSTRICTTIME:case rh.CLATESTDATE:return(e=>(0,Ne.deserialize)(lh,{...e,value:Array.isArray(e.values)&&1===e.values.length?e.values[0]:e.value}))(e);default:throw new V(`Can't deserialize raw value specification of type '${e._type}'`)}}class hh extends Cp{function;activationConfiguration;stereotypes=[];taggedValues=[]}class mh{}class gh{store}class fh extends gh{mappings=[];get hashCode(){return Na([Ua.MODEL_CHAIN_CONNECTION,Na(this.mappings)])}accept_ConnectionVisitor(e){return e.visit_ModelChainConnection(this)}}class _h extends gh{class;url;get hashCode(){return Na([Ua.JSON_MODEL_CONNECTION,this.class,this.url])}accept_ConnectionVisitor(e){return e.visit_JsonModelConnection(this)}}class bh extends gh{class;url;get hashCode(){return Na([Ua.XML_MODEL_CONNECTION,this.class,this.url])}accept_ConnectionVisitor(e){return e.visit_XmlModelConnection(this)}}class Eh extends gh{url;get hashCode(){return Na([Ua.FLAT_DATA_CONNECTION,this.store??"",this.url])}accept_ConnectionVisitor(e){return e.visit_FlatDataConnection(this)}}var vh;!function(e){e.DB2="DB2",e.H2="H2",e.MemSQL="MemSQL",e.Sybase="Sybase",e.SybaseIQ="SybaseIQ",e.Composite="Composite",e.Postgres="Postgres",e.SqlServer="SqlServer",e.Hive="Hive",e.Snowflake="Snowflake",e.BigQuery="BigQuery",e.Databricks="Databricks",e.Presto="Presto",e.Redshift="Redshift",e.Spanner="Spanner",e.Trino="Trino"}(vh||(vh={}));class Th{}class Sh extends Th{host;port;databaseName;get hashCode(){return Na([Ua.STATIC_DATASOURCE_SPECIFICATION,this.host,this.port.toString(),this.databaseName])}}class Ch extends Th{databaseName;directory;autoServerMode;get hashCode(){return Na([Ua.EMBEDDED_H2_DATASOURCE_SPECIFICATION,this.databaseName,this.directory,this.autoServerMode.toString()])}}class yh extends Th{hostname;port;protocol;httpPath;get hashCode(){return Na([Ua.DATABRICKS_DATASOURCE_SPECIFICATION,this.hostname,this.port,this.protocol,this.httpPath])}}class Nh extends Th{accountName;region;warehouseName;databaseName;cloudType;quotedIdentifiersIgnoreCase;enableQueryTags;proxyHost;proxyPort;nonProxyHosts;organization;accountType;role;get hashCode(){return Na([Ua.SNOWFLAKE_DATASOURCE_SPECIFICATION,this.accountName,this.region,this.warehouseName,this.databaseName,this.cloudType??"",this.proxyHost??"",this.proxyPort??"",this.nonProxyHosts??"",this.organization??"",this.accountType??"",this.role??"",this.quotedIdentifiersIgnoreCase?.toString()??"",this.enableQueryTags?.toString()??""])}}class Ah extends Th{clusterID;databaseName;host;port;region;endpointURL;get hashCode(){return Na([Ua.REDSHIFT_DATASOURCE_SPECIFICATION,this.databaseName,this.endpointURL,this.port.toString(),this.clusterID,this.host,this.region])}}class Ih extends Th{projectId;defaultDataset;proxyHost;proxyPort;get hashCode(){return Na([Ua.BIGQUERY_DATASOURCE_SPECIFICATION,this.projectId,this.defaultDataset,this.proxyHost??"",this.proxyPort??""])}}class xh extends Th{projectId;instanceId;databaseId;proxyHost;proxyPort;get hashCode(){return Na([Ua.SPANNER_DATASOURCE_SPECIFICATION,this.projectId,this.instanceId,this.databaseId,this.proxyHost??"",this.proxyPort??""])}}class Oh extends Th{testDataSetupCsv;testDataSetupSqls=[];get hashCode(){return Na([Ua.LOCAL_H2_DATASOURCE_SPECIFICATION,this.testDataSetupCsv??"",Na(this.testDataSetupSqls)])}}class wh{ssl;trustStorePathVaultReference;trustStorePasswordVaultReference;get hashCode(){return Na([Ua.TRINO_SSL_SPECIFICATION,this.ssl.toString(),this.trustStorePathVaultReference??"",this.trustStorePasswordVaultReference??""])}}class Rh extends Th{host;port;sslSpecification;catalog;schema;clientTags;get hashCode(){return Na([Ua.TRINO_DATASOURCE_SPECIFICATION,this.host,this.port.toString(),this.sslSpecification,this.catalog??"",this.schema??"",this.clientTags??""])}}class kh{}class Ph extends kh{serverPrincipal;get hashCode(){return Na([Ua.DELEGRATED_KEREBEROS_AUTHENTICATION_STRATEGY,this.serverPrincipal?.toString()??""])}}class Mh extends kh{get hashCode(){return Na([Ua.DEFAULT_H2_AUTHENTICATION_STRATEGY])}}class Lh extends kh{oauthKey;scopeName;get hashCode(){return Na([Ua.OAUTH_AUTHENTICATION_STRATEGY,this.oauthKey,this.scopeName])}}class Fh extends kh{apiToken;get hashCode(){return Na([Ua.API_TOKEN_AUTHENTICATION_STRATEGY,this.apiToken])}}class Dh extends kh{privateKeyVaultReference;passPhraseVaultReference;publicUserName;get hashCode(){return Na([Ua.SNOWFLAKE_PUBLIC_AUTHENTICATION_STRATEGY,this.privateKeyVaultReference,this.passPhraseVaultReference,this.publicUserName])}}class Bh extends kh{get hashCode(){return Na([Ua.GCP_APPLICATION_DEFAULT_CREDENTIALS_AUTHENTICATION_STRATEGY])}}class jh extends kh{serviceAccountEmail;additionalGcpScopes=[];get hashCode(){return Na([Ua.GCP_WORKLOAD_IDENTITY_FEDERATION_AUTHENTICATION_STRATEGY,this.serviceAccountEmail,Na(this.additionalGcpScopes)])}}class Uh extends kh{baseVaultReference;userNameVaultReference;passwordVaultReference;get hashCode(){return Na([Ua.USERNAME_PASSWORD_AUTHENTICATION_STRATEGY,this.baseVaultReference?.toString()??"",this.userNameVaultReference,this.passwordVaultReference])}}class Vh extends kh{vaultReference;get hashCode(){return Na([Ua.MIDDLE_TIER_USERNAME_PASSWORD_AUTHENTICATION_STRATEGY,this.vaultReference])}}class Gh extends kh{kerberosRemoteServiceName;kerberosUseCanonicalHostname;get hashCode(){return Na([Ua.TRINO_DELEGATED_KERBEROS_AUTHENTICATION_STRATEGY,this.kerberosRemoteServiceName,this.kerberosUseCanonicalHostname.toString()])}}class zh extends gh{connection;get hashCode(){return Na([Ua.CONNECTION_POINTER,this.connection])}accept_ConnectionVisitor(e){return e.visit_ConnectionPointer(this)}}class Hh extends gh{content;get hashCode(){return Na([Ua.INTERNAL__UNKNOWN_CONNECTION,Va(this.content)])}accept_ConnectionVisitor(e){return e.visit_INTERNAL__UnknownConnection(this)}}var $h;!function(e){e.CONNECTION_POINTER="connectionPointer",e.MODEL_CHAIN_CONNECTION="ModelChainConnection",e.JSON_MODEL_CONNECTION="JsonModelConnection",e.XML_MODEL_CONNECTION="XmlModelConnection",e.FLAT_DATA_CONNECTION="FlatDataConnection",e.RELATIONAL_DATABASE_CONNECTION="RelationalDatabaseConnection"}($h||($h={}));const Yh=(0,Ne.createModelSchema)(zh,{_type:xe($h.CONNECTION_POINTER),connection:(0,Ne.primitive)()});(0,Ne.createModelSchema)(fh,{_type:xe($h.MODEL_CHAIN_CONNECTION),store:(0,Ne.alias)("element",(0,Ne.optional)((0,Ne.primitive)())),mappings:(0,Ne.list)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(_h,{_type:xe($h.JSON_MODEL_CONNECTION),class:(0,Ne.primitive)(),store:(0,Ne.alias)("element",(0,Ne.optional)((0,Ne.primitive)())),url:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(bh,{_type:xe($h.XML_MODEL_CONNECTION),class:(0,Ne.primitive)(),store:(0,Ne.alias)("element",(0,Ne.optional)((0,Ne.primitive)())),url:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Eh,{_type:xe($h.FLAT_DATA_CONNECTION),store:(0,Ne.alias)("element",(0,Ne.primitive)()),url:(0,Ne.primitive)()});var Wh;!function(e){e.STATIC="static",e.H2_EMBEDDED="h2Embedded",e.H2_LOCAL="h2Local",e.DATABRICKS="databricks",e.SNOWFLAKE="snowflake",e.REDSHIFT="redshift",e.BIGQUERY="bigQuery",e.SPANNER="spanner",e.TRINO="Trino"}(Wh||(Wh={}));(0,Ne.createModelSchema)(Sh,{_type:xe(Wh.STATIC),databaseName:(0,Ne.primitive)(),host:(0,Ne.primitive)(),port:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Ch,{_type:xe(Wh.H2_EMBEDDED),autoServerMode:(0,Ne.primitive)(),databaseName:(0,Ne.primitive)(),directory:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Oh,{_type:xe(Wh.H2_LOCAL),testDataSetupCsv:(0,Ne.optional)((0,Ne.primitive)()),testDataSetupSqls:Le()}),(0,Ne.createModelSchema)(yh,{_type:xe(Wh.DATABRICKS),hostname:(0,Ne.primitive)(),port:(0,Ne.primitive)(),protocol:(0,Ne.primitive)(),httpPath:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Nh,{_type:xe(Wh.SNOWFLAKE),accountName:(0,Ne.primitive)(),accountType:(0,Ne.optional)((0,Ne.primitive)()),cloudType:(0,Ne.optional)((0,Ne.primitive)()),databaseName:(0,Ne.primitive)(),nonProxyHosts:(0,Ne.optional)((0,Ne.primitive)()),organization:(0,Ne.optional)((0,Ne.primitive)()),proxyHost:(0,Ne.optional)((0,Ne.primitive)()),proxyPort:(0,Ne.optional)((0,Ne.primitive)()),quotedIdentifiersIgnoreCase:(0,Ne.optional)((0,Ne.primitive)()),enableQueryTags:(0,Ne.optional)((0,Ne.primitive)()),region:(0,Ne.primitive)(),role:(0,Ne.optional)((0,Ne.primitive)()),warehouseName:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Ah,{_type:xe(Wh.REDSHIFT),clusterID:(0,Ne.primitive)(),databaseName:(0,Ne.primitive)(),endpointURL:(0,Ne.optional)((0,Ne.primitive)()),host:(0,Ne.primitive)(),port:(0,Ne.primitive)(),region:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Ih,{_type:xe(Wh.BIGQUERY),defaultDataset:(0,Ne.primitive)(),projectId:(0,Ne.primitive)(),proxyHost:(0,Ne.optional)((0,Ne.primitive)()),proxyPort:(0,Ne.optional)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(xh,{_type:xe(Wh.SPANNER),databaseId:(0,Ne.primitive)(),instanceId:(0,Ne.primitive)(),projectId:(0,Ne.primitive)(),proxyHost:(0,Ne.optional)((0,Ne.primitive)()),proxyPort:(0,Ne.optional)((0,Ne.primitive)())});const Kh=(0,Ne.createModelSchema)(wh,{ssl:(0,Ne.primitive)(),trustStorePathVaultReference:(0,Ne.optional)((0,Ne.primitive)()),trustStorePasswordVaultReference:(0,Ne.optional)((0,Ne.primitive)())});(0,Ne.createModelSchema)(Rh,{_type:xe(Wh.TRINO),host:(0,Ne.primitive)(),port:(0,Ne.primitive)(),catalog:(0,Ne.optional)((0,Ne.primitive)()),schema:(0,Ne.optional)((0,Ne.primitive)()),clientTags:(0,Ne.optional)((0,Ne.primitive)()),sslSpecification:Ie(Kh)});var Jh;!function(e){e.DELEGATED_KERBEROS="delegatedKerberos",e.SNOWFLAKE_PUBLIC="snowflakePublic",e.GCP_APPLICATION_DEFAULT_CREDENTIALS="gcpApplicationDefaultCredentials",e.API_TOKEN="apiToken",e.H2_DEFAULT="h2Default",e.OAUTH="oauth",e.USERNAME_PASSWORD="userNamePassword",e.GCP_WORKLOAD_IDENTITY_FEDERATION="gcpWorkloadIdentityFederation",e.MIDDLE_TIER_USERNAME_PASSWORD="middleTierUserNamePassword",e.TRINO_DELEGATED_KERBEROS="TrinoDelegatedKerberosAuth"}(Jh||(Jh={}));(0,Ne.createModelSchema)(Ph,{_type:xe(Jh.DELEGATED_KERBEROS),serverPrincipal:(0,Ne.optional)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(Mh,{_type:xe(Jh.H2_DEFAULT)}),(0,Ne.createModelSchema)(Fh,{_type:xe(Jh.API_TOKEN),apiToken:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Dh,{_type:xe(Jh.SNOWFLAKE_PUBLIC),privateKeyVaultReference:(0,Ne.primitive)(),passPhraseVaultReference:(0,Ne.primitive)(),publicUserName:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Bh,{_type:xe(Jh.GCP_APPLICATION_DEFAULT_CREDENTIALS)}),(0,Ne.createModelSchema)(Vh,{_type:xe(Jh.MIDDLE_TIER_USERNAME_PASSWORD),vaultReference:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(jh,{_type:xe(Jh.GCP_WORKLOAD_IDENTITY_FEDERATION),additionalGcpScopes:(0,Ne.list)((0,Ne.primitive)()),serviceAccountEmail:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Uh,{_type:xe(Jh.USERNAME_PASSWORD),baseVaultReference:(0,Ne.optional)((0,Ne.primitive)()),userNameVaultReference:(0,Ne.primitive)(),passwordVaultReference:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Gh,{_type:xe(Jh.TRINO_DELEGATED_KERBEROS),kerberosRemoteServiceName:(0,Ne.primitive)(),kerberosUseCanonicalHostname:(0,Ne.optional)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(Lh,{_type:xe(Jh.OAUTH),oauthKey:(0,Ne.primitive)(),scopeName:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Hh,{store:(0,Ne.alias)("element",(0,Ne.optional)((0,Ne.primitive)()))});const Xh=(0,Ne.createModelSchema)(class extends mh{activationConnection;get hashCode(){return Na([this.activationConnection??""])}},{_type:xe("snowflakeDeploymentConfiguration"),activationConnection:Ie(Yh)});class qh{id}class Qh extends qh{assertions=[];doc}class Zh{testable;atomicTestId;testSuiteId}class em extends Qh{serializationFormat;parameters=[];keys=[];get hashCode(){return Na([Ua.SERVICE_TEST,this.id,Na(this.assertions),Na(this.parameters),Na(this.keys),this.serializationFormat??""])}}class tm{id}class im extends tm{message;get hashCode(){return Na([Ua.ASSERT_FAIL,this.id,this.message])}}class sm extends tm{get hashCode(){return Na([Ua.ASSERT_PASS,this.id])}}class nm extends im{expected;actual;get hashCode(){return Na([Ua.EQUAL_TO_JSON_ASSERT_FAIL,this.id,this.message,this.expected,this.actual])}}class am{id}class rm extends am{expected;get hashCode(){return Na([Ua.EQUAL_TO,this.id,Va(this.expected)])}accept_TestAssertionVisitor(e){return e.visit_EqualTo(this)}}class om extends am{expected;get hashCode(){return Na([Ua.EQUAL_TO_JSON,this.id,this.expected])}accept_TestAssertionVisitor(e){return e.visit_EqualToJSON(this)}}class cm extends am{expected;get hashCode(){return Na([Ua.EQUAL_TO_TDS,this.id,this.expected])}accept_TestAssertionVisitor(e){return e.visit_EqualToTDS(this)}}class lm{}class dm extends lm{dataElement;get hashCode(){return Na([Ua.DATA_ELEMENT_REFERENCE,this.dataElement])}accept_EmbeddedDataVisitor(e){return e.visit_DataElementReference(this)}}class um extends lm{contentType;data;get hashCode(){return Na([Ua.EXTERNAL_FORMAT_DATA,this.contentType,this.data])}accept_EmbeddedDataVisitor(e){return e.visit_ExternalFormatData(this)}}class pm{model}class hm extends pm{instances;get hashCode(){return Na([Ua.MODEL_INSTANCE_DATA,this.model,Va(this.instances)])}}class mm{schema;table;values;get hashCode(){return Na([Ua.RELATIONAL_CSV_DATA_TABLE,this.schema,this.table,this.values])}}class gm extends lm{tables=[];accept_EmbeddedDataVisitor(e){return e.visit_RelationalData(this)}get hashCode(){return Na([Ua.RELATIONAL_CSV_DATA_TABLE,Na(this.tables)])}}var fm,_m;!function(e){e.MODEL_EMBEDDED_DATA="modelEmbeddedData",e.MODEL_INSTANCE_DATA="modelInstanceData"}(fm||(fm={})),function(e){e.MODEL_STORE_DATA="modelStore",e.EXTERNAL_FORMAT_DATA="externalFormat",e.DATA_ELEMENT_REFERENCE="reference",e.RELATIONAL_DATA="relationalCSVData"}(_m||(_m={}));(0,Ne.createModelSchema)(hm,{_type:xe(fm.MODEL_INSTANCE_DATA),instances:(0,Ne.raw)(),model:(0,Ne.primitive)()});const bm=(0,Ne.createModelSchema)(um,{_type:xe(_m.EXTERNAL_FORMAT_DATA),contentType:(0,Ne.primitive)(),data:(0,Ne.primitive)()}),Em=((0,Ne.createModelSchema)(dm,{_type:xe(_m.DATA_ELEMENT_REFERENCE),dataElement:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(mm,{schema:(0,Ne.optional)((0,Ne.primitive)()),table:(0,Ne.primitive)(),values:(0,Ne.primitive)()}));(0,Ne.createModelSchema)(gm,{_type:xe(_m.RELATIONAL_DATA),tables:(0,Ne.list)(Ie(Em))});class vm{name;query;inputData=[];assert;get hashCode(){return Na([Ua.MAPPING_TEST_LEGACY,this.name,this.query,Na(this.inputData),this.assert])}}class Tm{}class Sm{}class Cm extends Sm{expectedOutput;get hashCode(){return Na([Ua.EXPECTED_OUTPUT_MAPPING_TEST_ASSERT,this.expectedOutput])}}var ym,Nm;!function(e){e.JSON="JSON",e.XML="XML"}(ym||(ym={}));class Am extends Tm{inputType=ym.JSON;sourceClass;data;get hashCode(){return Na([Ua.OBJECT_INPUT_DATA,this.sourceClass,this.inputType,this.data])}}class Im extends Tm{sourceFlatData;data;get hashCode(){return Na([Ua.FLAT_DATA_INPUT_DATA,this.sourceFlatData,this.data])}}class xm extends Tm{database;data;inputType;get hashCode(){return Na([Ua.RELATIONAL_INPUT_DATA,this.database,this.data,this.inputType])}}class Om{id;association;stores=[];get hashCode(){return Na([Ua.ASSOCIATION_IMPLEMENTATION,this.association,this.id??"",Na(this.stores)])}}class wm extends Om{propertyMappings=[];get hashCode(){return Na([Ua.RELATIONAL_ASSOCIATION_IMPLEMENTATION,super.hashCode,Na(this.propertyMappings)])}}class Rm{type;multiplicity;get hashCode(){return Na([Ua.LOCAL_MAPPING_PROPERTY,this.type,this.multiplicity])}}class km{property;source;target;localMappingProperty;get hashCode(){return Na([Ua.PROPERTY_MAPPING,this.property,this.target??"",this.localMappingProperty??""])}}class Pm extends km{enumMappingId;relationalOperation;bindingTransformer;accept_PropertyMappingVisitor(e){return e.visit_RelationalPropertyMapping(this)}get hashCode(){return Na([Ua.REALTIONAL_PROPERTY_MAPPING,super.hashCode,this.enumMappingId??"",this.bindingTransformer??"",Va(this.relationalOperation)])}}class Mm{name;nullable;type;get hashCode(){return Na([Ua.DATABASE_TABLE_COLUMN,this.name,this.nullable.toString(),this.type])}}class Lm extends Cp{includedStores=[]}class Fm extends Lm{schemas=[];joins=[];filters=[];get hashCode(){return Na([Ua.DATABASE,this.path,Na(this.includedStores),Na(this.schemas),Na(this.joins),Na(this.filters)])}accept_PackageableElementVisitor(e){return e.visit_Database(this)}}class Dm{table;schema;database;mainTableDb;get hashCode(){return Na([Ua.RELATIONAL_OPERATION_TABLE_POINTER,this.database,this.schema,this.table])}}class Bm{name;tables=[];views=[];get hashCode(){return Na([Ua.DATABASE_SCHEMA,this.name,Na(this.tables),Na(this.views)])}}class jm{name;target;operation;get hashCode(){return Na([Ua.DATABASE_JOIN,this.name,this.operation])}}class Um{name;operation;get hashCode(){return Na([Ua.DATABASE_FILTER,this.name,this.operation])}}class Vm{name;columns=[];primaryKey=[];milestoning=[];get hashCode(){return Na([Ua.DATABASE_SCHEMA_TABLE,this.name,Na(this.columns),Na(this.primaryKey),Na(this.milestoning)])}}class Gm{}class zm extends Gm{size;get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_VARCHAR,this.size.toString()])}}class Hm extends Gm{size;get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_CHAR,this.size.toString()])}}class $m extends Gm{size;get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_VARBINARY,this.size.toString()])}}class Ym extends Gm{size;get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_BINARY,this.size.toString()])}}class Wm extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_BIT])}}class Km extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_INTEGER])}}class Jm extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_BIGINT])}}class Xm extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_SMALLINT])}}class qm extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_TINYINT])}}class Qm extends Gm{precision;scale;get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_NUMERIC,this.precision.toString(),this.scale.toString()])}}class Zm extends Gm{precision;scale;get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_DECIMAL,this.precision.toString(),this.scale.toString()])}}class eg extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_DOUBLE])}}class tg extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_FLOAT])}}class ig extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_REAL])}}class sg extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_DATE])}}class ng extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_TIMESTAMP])}}class ag extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_VARCHAR])}}class rg extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_SEMISTRUCTURED])}}class og extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_JSON])}}class cg{name;mainTable;distinct;filter;primaryKey=[];columnMappings=[];groupBy=[];get hashCode(){return Na([Ua.DATBASE_VIEW,this.name,Boolean(this.distinct).toString(),this.filter??"",Na(this.primaryKey),Na(this.columnMappings),Na(this.groupBy)])}}class lg{db;name}class dg{filter;joins=[];get hashCode(){return Na([Ua.FILTER_MAPPING,this.filter.db??"",this.filter.name,Na(this.joins??[])])}}class ug{db;name;joinType;get hashCode(){return Na([Ua.DATABASE_JOIN,this.db,this.name,this.joinType??""])}}class pg{name;operation;get hashCode(){return Na([Ua.COLUMN_MAPPING,this.name,this.operation])}}class hg{}class mg extends hg{funcName;parameters=[];get hashCode(){return Na([Ua.RELATIONAL_OPERATION_DYNA_FUNC,this.funcName,Na(this.parameters)])}}class gg extends hg{joins=[];relationalElement;get hashCode(){return Na([Ua.RELATIONAL_OPERATION_ELEMENTS_WITH_JOINS,Na(this.joins),this.relationalElement??""])}}class fg extends hg{table;tableAlias;column;get hashCode(){return Na([Ua.RELATIONAL_OPERATION_TABLE_ALIAS_COLUMN,this.table,this.tableAlias,this.column])}}class _g extends hg{value;get hashCode(){return Na([Ua.RELATIONAL_OPERATION_LITERAL,"number"==typeof this.value?this.value.toString():this.value])}}class bg extends hg{values=[];get hashCode(){return Na([Ua.RELATIONAL_OPERATION_LITERAL_LIST,Na(this.values)])}}class Eg{infinityDate}class vg extends Eg{from;thru;thruIsInclusive;get hashCode(){return Na([Ua.BUSINESS_MILESTONING,this.infinityDate??"",this.from,this.thru,this.thruIsInclusive.toString()])}}class Tg extends Eg{snapshotDate;get hashCode(){return Na([Ua.BUSINESS_SNAPSHOT_MILESTONING,this.infinityDate??"",this.snapshotDate])}}class Sg extends Eg{in;out;outIsInclusive;get hashCode(){return Na([Ua.PROCESSING_MILESTONING,this.infinityDate??"",this.in,this.out,this.outIsInclusive.toString()])}}!function(e){e.BUSINESS_MILESTONING="businessMilestoning",e.BUSINESS_SNAPSHOT_MILESTONING="businessSnapshotMilestoning",e.PROCESSING_MILESTONING="processingMilestoning"}(Nm||(Nm={}));(0,Ne.createModelSchema)(vg,{_type:xe(Nm.BUSINESS_MILESTONING),from:(0,Ne.primitive)(),infinityDate:Oe(uh,ph),thru:(0,Ne.primitive)(),thruIsInclusive:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Tg,{_type:xe(Nm.BUSINESS_SNAPSHOT_MILESTONING),infinityDate:Oe(uh,ph),snapshotDate:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Sg,{_type:xe(Nm.PROCESSING_MILESTONING),in:(0,Ne.primitive)(),infinityDate:Oe(uh,ph),out:(0,Ne.primitive)(),outIsInclusive:(0,Ne.primitive)()});class Cg{from;to;get hashCode(){return Na([this.from,this.to])}}class yg extends Cg{get hashCode(){return Na([super.hashCode,Ua.SCHEMA_MAPPER])}}class Ng extends Cg{schema;get hashCode(){return Na([super.hashCode,Ua.TABLE_MAPPER,this.schema])}}class Ag{}class Ig extends Ag{mappers=[];get hashCode(){return Na([Ua.MAPPER_POST_PROCESSOR,Na(this.mappers)])}}var xg,Og;!function(e){e.TABLE="table",e.SCHEMA="schema"}(xg||(xg={})),function(e){e.MAPPER="mapper"}(Og||(Og={}));const wg=(0,Ne.createModelSchema)(yg,{_type:xe(xg.SCHEMA),from:(0,Ne.primitive)(),to:(0,Ne.primitive)()}),Rg=(0,Ne.createModelSchema)(Ng,{_type:xe(xg.TABLE),from:(0,Ne.primitive)(),schema:Ie(wg),to:(0,Ne.primitive)()});(0,Ne.createModelSchema)(Ig,{_type:xe(Og.MAPPER),mappers:(0,Ne.list)((0,Ne.custom)((e=>(e=>{if(e instanceof Ng)return(0,Ne.serialize)(Rg,e);if(e instanceof yg)return(0,Ne.serialize)(wg,e);throw new V("Can't serialize mapper",e)})(e)),(e=>(e=>{switch(e._type){case xg.TABLE:return(0,Ne.deserialize)(Rg,e);case xg.SCHEMA:return(0,Ne.deserialize)(wg,e);default:throw new V(`Can't deserialize mapper of type '${e._type}'`)}})(e))))});var kg,Pg;!function(e){e.STANDARD="filter",e.MULTI_GRAIN="MultiGrainFilter"}(kg||(kg={})),function(e){e.DYNA_FUNC="dynaFunc",e.ELEMENT_WITH_JOINS="elemtWithJoins",e.LITERAL="literal",e.LITERAL_LIST="literalList",e.TABLE_ALIAS_COLUMN="column"}(Pg||(Pg={}));var Mg;!function(e){e.VARCHAR="Varchar",e.CHAR="Char",e.VARBINARY="Varbinary",e.BINARY="Binary",e.BIT="Bit",e.NUMERIC="Numeric",e.DECIMAL="Decimal",e.DOUBLE="Double",e.FLOAT="Float",e.REAL="Real",e.INTEGER="Integer",e.BIGINT="BigInt",e.SMALLINT="SmallInt",e.TINYINT="TinyInt",e.DATE="Date",e.TIMESTAMP="Timestamp",e.ARRAY="Array",e.OTHER="Other",e.SEMISTRUCTURED="SemiStructured",e.JSON="Json"}(Mg||(Mg={}));const Lg=(0,Ne.createModelSchema)(ag,{_type:xe(Mg.OTHER)}),Fg=(0,Ne.createModelSchema)(ng,{_type:xe(Mg.TIMESTAMP)}),Dg=(0,Ne.createModelSchema)(sg,{_type:xe(Mg.DATE)}),Bg=(0,Ne.createModelSchema)(ig,{_type:xe(Mg.REAL)}),jg=(0,Ne.createModelSchema)(tg,{_type:xe(Mg.FLOAT)}),Ug=(0,Ne.createModelSchema)(eg,{_type:xe(Mg.DOUBLE)}),Vg=(0,Ne.createModelSchema)(Zm,{_type:xe(Mg.DECIMAL),precision:(0,Ne.primitive)(),scale:(0,Ne.primitive)()}),Gg=(0,Ne.createModelSchema)(Qm,{_type:xe(Mg.NUMERIC),precision:(0,Ne.primitive)(),scale:(0,Ne.primitive)()}),zg=(0,Ne.createModelSchema)(qm,{_type:xe(Mg.TINYINT)}),Hg=(0,Ne.createModelSchema)(Xm,{_type:xe(Mg.SMALLINT)}),$g=(0,Ne.createModelSchema)(Jm,{_type:xe(Mg.BIGINT)}),Yg=(0,Ne.createModelSchema)(Km,{_type:xe(Mg.INTEGER)}),Wg=(0,Ne.createModelSchema)(Wm,{_type:xe(Mg.BIT)}),Kg=(0,Ne.createModelSchema)(Ym,{_type:xe(Mg.BINARY),size:(0,Ne.primitive)()}),Jg=(0,Ne.createModelSchema)($m,{_type:xe(Mg.VARBINARY),size:(0,Ne.primitive)()}),Xg=(0,Ne.createModelSchema)(Hm,{_type:xe(Mg.CHAR),size:(0,Ne.primitive)()}),qg=(0,Ne.createModelSchema)(zm,{_type:xe(Mg.VARCHAR),size:(0,Ne.primitive)()}),Qg=(0,Ne.createModelSchema)(rg,{_type:xe(Mg.SEMISTRUCTURED)}),Zg=(0,Ne.createModelSchema)(og,{_type:xe(Mg.JSON)}),ef=((0,Ne.createModelSchema)(Mm,{name:(0,Ne.primitive)(),nullable:(0,Ne.optional)((0,Ne.primitive)()),type:(0,Ne.custom)((e=>(e=>{if(e instanceof zm)return(0,Ne.serialize)(qg,e);if(e instanceof Hm)return(0,Ne.serialize)(Xg,e);if(e instanceof $m)return(0,Ne.serialize)(Jg,e);if(e instanceof Ym)return(0,Ne.serialize)(Kg,e);if(e instanceof Wm)return(0,Ne.serialize)(Wg,e);if(e instanceof Qm)return(0,Ne.serialize)(Gg,e);if(e instanceof eg)return(0,Ne.serialize)(Ug,e);if(e instanceof tg)return(0,Ne.serialize)(jg,e);if(e instanceof ig)return(0,Ne.serialize)(Bg,e);if(e instanceof Km)return(0,Ne.serialize)(Yg,e);if(e instanceof Jm)return(0,Ne.serialize)($g,e);if(e instanceof Xm)return(0,Ne.serialize)(Hg,e);if(e instanceof qm)return(0,Ne.serialize)(zg,e);if(e instanceof sg)return(0,Ne.serialize)(Dg,e);if(e instanceof ng)return(0,Ne.serialize)(Fg,e);if(e instanceof Zm)return(0,Ne.serialize)(Vg,e);if(e instanceof ag)return(0,Ne.serialize)(Lg,e);if(e instanceof rg)return(0,Ne.serialize)(Qg,e);if(e instanceof og)return(0,Ne.serialize)(Zg,e);throw new V("Can't serialize relational data type",e)})(e)),(e=>(e=>{switch(e._type){case Mg.VARCHAR:return(0,Ne.deserialize)(qg,e);case Mg.CHAR:return(0,Ne.deserialize)(Xg,e);case Mg.VARBINARY:return(0,Ne.deserialize)(Jg,e);case Mg.BINARY:return(0,Ne.deserialize)(Kg,e);case Mg.BIT:return(0,Ne.deserialize)(Wg,e);case Mg.NUMERIC:return(0,Ne.deserialize)(Gg,e);case Mg.DOUBLE:return(0,Ne.deserialize)(Ug,e);case Mg.FLOAT:return(0,Ne.deserialize)(jg,e);case Mg.REAL:return(0,Ne.deserialize)(Bg,e);case Mg.INTEGER:return(0,Ne.deserialize)(Yg,e);case Mg.BIGINT:return(0,Ne.deserialize)($g,e);case Mg.SMALLINT:return(0,Ne.deserialize)(Hg,e);case Mg.TINYINT:return(0,Ne.deserialize)(zg,e);case Mg.DATE:return(0,Ne.deserialize)(Dg,e);case Mg.TIMESTAMP:return(0,Ne.deserialize)(Fg,e);case Mg.ARRAY:return(0,Ne.deserialize)(Lg,e);case Mg.DECIMAL:return(0,Ne.deserialize)(Vg,e);case Mg.OTHER:return(0,Ne.deserialize)(Lg,e);case Mg.SEMISTRUCTURED:return(0,Ne.deserialize)(Qg,e);case Mg.JSON:return(0,Ne.deserialize)(Zg,e);default:throw new V(`Can't deserialize relational column data type '${e._type}'`)}})(e)))}),(0,Ne.createModelSchema)(Dm,{_type:xe("Table"),database:(0,Ne.primitive)(),mainTableDb:(0,Ne.primitive)(),schema:(0,Ne.primitive)(),table:(0,Ne.primitive)()})),tf=(0,Ne.createModelSchema)(lg,{db:(0,Ne.optional)((0,Ne.primitive)()),name:(0,Ne.primitive)()}),sf=(0,Ne.createModelSchema)(ug,{db:(0,Ne.primitive)(),joinType:(0,Ne.optional)((0,Ne.primitive)()),name:(0,Ne.primitive)()}),nf=(0,Ne.createModelSchema)(mg,{_type:xe(Pg.DYNA_FUNC),funcName:(0,Ne.primitive)(),parameters:(0,Ne.list)((0,Ne.custom)((e=>lf(e)),(e=>df(e))))}),af=(0,Ne.createModelSchema)(gg,{_type:xe(Pg.ELEMENT_WITH_JOINS),joins:(0,Ne.list)(Ie(sf)),relationalElement:Oe(lf,df)}),rf=(0,Ne.createModelSchema)(_g,{_type:xe(Pg.LITERAL),value:(0,Ne.custom)((e=>"string"==typeof e||"number"==typeof e?e:lf(e)),(e=>"string"==typeof e||"number"==typeof e?e:df(e)))}),of=(0,Ne.createModelSchema)(bg,{_type:xe(Pg.LITERAL_LIST),values:(0,Ne.list)(Ie(rf))}),cf=(0,Ne.createModelSchema)(fg,{_type:xe(Pg.TABLE_ALIAS_COLUMN),column:(0,Ne.primitive)(),table:Ie(ef),tableAlias:(0,Ne.primitive)()});function lf(e){if(e instanceof mg)return(0,Ne.serialize)(nf,e);if(e instanceof gg)return(0,Ne.serialize)(af,e);if(e instanceof _g)return(0,Ne.serialize)(rf,e);if(e instanceof bg)return(0,Ne.serialize)(of,e);if(e instanceof fg)return(0,Ne.serialize)(cf,e);throw new V("Can't serialize relational operation element",e)}function df(e){switch(e._type){case Pg.DYNA_FUNC:return(0,Ne.deserialize)(nf,e);case Pg.ELEMENT_WITH_JOINS:return(0,Ne.deserialize)(af,e);case Pg.LITERAL:return(0,Ne.deserialize)(rf,e);case Pg.LITERAL_LIST:return(0,Ne.deserialize)(of,e);case Pg.TABLE_ALIAS_COLUMN:return(0,Ne.deserialize)(cf,e);default:throw new V(`Can't deserialize relational operation element of type '${e._type}'`)}}const uf=(0,Ne.createModelSchema)(dg,{filter:Ie(tf),joins:(0,Ne.list)(Ie(sf))}),pf=(0,Ne.createModelSchema)(pg,{name:(0,Ne.primitive)(),operation:(0,Ne.custom)((e=>lf(e)),(e=>df(e)))}),hf=(0,Ne.createModelSchema)(cg,{columnMappings:(0,Ne.list)(Ie(pf)),distinct:(0,Ne.primitive)(),filter:Ie(uf),groupBy:(0,Ne.list)((0,Ne.custom)((e=>lf(e)),(e=>df(e)))),mainTable:Ie(ef),name:(0,Ne.primitive)(),primaryKey:(0,Ne.list)((0,Ne.primitive)())}),mf=(0,Ne.createModelSchema)(Bm,{name:(0,Ne.primitive)(),tables:(0,Ne.list)((0,Ne.object)(Vm)),views:(0,Ne.list)(Ie(hf))}),gf=(0,Ne.createModelSchema)(jm,{name:(0,Ne.primitive)(),operation:(0,Ne.custom)((e=>lf(e)),(e=>df(e))),target:(0,Ne.optional)((0,Ne.primitive)())}),ff=(0,Ne.createModelSchema)(Um,{_type:xe(kg.STANDARD),name:(0,Ne.primitive)(),operation:(0,Ne.custom)((e=>lf(e)),(e=>df(e)))});(0,Ne.createModelSchema)(Fm,{_type:xe("relational"),filters:(0,Ne.list)(Ie(ff)),includedStores:(0,Ne.list)((0,Ne.primitive)()),joins:(0,Ne.list)(Ie(gf)),name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),schemas:(0,Ne.list)(Ie(mf))});class _f{}class bf extends _f{includedMapping;sourceDatabasePath;targetDatabasePath;get hashCode(){return Na([Ua.MAPPING_INCLUDE_MAPPING,this.includedMapping,this.sourceDatabasePath??"",this.targetDatabasePath??""])}}class Ef{value}class vf extends Ef{}class Tf extends Ef{}class Sf extends Ef{enumeration}const Cf=e=>{if(e instanceof vf)return ka.STRING;if(e instanceof Tf)return ka.INTEGER;if(e instanceof Sf)return e.enumeration;throw new V("Can't classify enum value mapping source value",e)};class yf{enumValue;sourceValues=[];get hashCode(){return Na([Ua.ENUM_VALUE_MAPPING,this.enumValue,Na(this.sourceValues.map((e=>e instanceof Tf?e.value.toString():e instanceof Sf?`${e.enumeration}.${e.value}`:e.value)))])}}class Nf{id;enumeration;sourceType;enumValueMappings=[];get hashCode(){return Na([Ua.ENUMERATION_MAPPING,this.id??"",this.enumeration,this.enumValueMappings.length?R(Array.from(new Set(this.enumValueMappings.flatMap((e=>e.sourceValues.map(Cf)))).values()))??"":"",Na(this.enumValueMappings)])}}class Af{id;class;root;mappingClass;extendsClassMappingId;get hashCode(){return Na([Ua.SET_IMPLEMENTATION,this.id??"",this.class??"",this.root.toString(),this.extendsClassMappingId??""])}}var If,xf,Of;!function(e){e.STORE_UNION="STORE_UNION",e.ROUTER_UNION="ROUTER_UNION",e.INHERITANCE="INHERITANCE",e.MERGE="MERGE"}(If||(If={}));class wf extends Af{parameters=[];operation;get hashCode(){return Na([Ua.OPERATION_SET_IMPLEMENTATION,this.operation,Na(this.parameters)])}accept_ClassMappingVisitor(e){return e.visit_OperationClassMapping(this)}}class Rf extends Af{srcClass;propertyMappings=[];filter;get hashCode(){return Na([Ua.PURE_INSTANCE_SET_IMPLEMENTATION,super.hashCode,this.srcClass??"",this.filter??"",Na(this.propertyMappings)])}accept_ClassMappingVisitor(e){return e.visit_PureInstanceClassMapping(this)}}class kf extends km{enumMappingId;explodeProperty;transform;get hashCode(){return Na([Ua.PURE_PROPERTY_MAPPING,super.hashCode,this.enumMappingId??"",this.transform,Boolean(this.explodeProperty).toString()])}accept_PropertyMappingVisitor(e){return e.visit_PurePropertyMapping(this)}}class Pf extends km{}class Mf extends Pf{enumMappingId;transform;get hashCode(){return Na([Ua.FLAT_DATA_PROPERTY_MAPPING,super.hashCode,this.enumMappingId??"",this.transform])}accept_PropertyMappingVisitor(e){return e.visit_FlatDataPropertyMapping(this)}}class Lf extends Pf{id;root;class;propertyMappings=[];get hashCode(){return Na([Ua.EMBEDDED_FLAT_DATA_PROPERTY_MAPPING,super.hashCode,this.id,this.class,Na(this.propertyMappings)])}accept_PropertyMappingVisitor(e){return e.visit_EmbeddedFlatDataPropertyMapping(this)}}class Ff extends Af{flatData;sectionName;filter;propertyMappings=[];get hashCode(){return Na([Ua.FLAT_DATA_INSTANCE_SET_IMPLEMENTATION,super.hashCode,this.flatData,this.sectionName,this.filter??"",Na(this.propertyMappings)])}accept_ClassMappingVisitor(e){return e.visit_RootFlatDataClassMapping(this)}}class Df extends Af{primaryKey=[];propertyMappings=[];accept_ClassMappingVisitor(e){return e.visit_RelationalClassMapping(this)}get hashCode(){return Na([Ua.RELATIONAL_INSTANCE_SET_IMPLEMENTATION,super.hashCode,Na(this.primaryKey),Na(this.propertyMappings)])}}class Bf extends Df{mainTable;distinct;groupBy=[];filter;accept_ClassMappingVisitor(e){return e.visit_RootRelationalClassMapping(this)}get hashCode(){return Na([Ua.ROOT_RELATIONAL_INSTANCE_SET_IMPLEMENTATION,super.hashCode,this.mainTable??"",this.distinct.toString(),Na(this.groupBy),this.filter??""])}}class jf extends km{id;classMapping;accept_PropertyMappingVisitor(e){return e.visit_EmbeddedRelationalPropertyMapping(this)}get hashCode(){return Na([Ua.EMBEDDED_REALTIONAL_PROPERTY_MAPPING,super.hashCode,this.classMapping.class??"",Na(this.classMapping.primaryKey),Na(this.classMapping.propertyMappings)])}}class Uf extends jf{otherwisePropertyMapping;accept_PropertyMappingVisitor(e){return e.visit_OtherwiseEmbeddedRelationalPropertyMapping(this)}get hashCode(){return Na([Ua.OTHERWISE_EMBEDDED_REALTIONAL_PROPERTY_MAPPING,super.hashCode,this.otherwisePropertyMapping])}}class Vf extends km{id;setImplementationId;accept_PropertyMappingVisitor(e){return e.visit_InlineEmbeddedPropertyMapping(this)}get hashCode(){return Na([Ua.INLINE_EMBEDDED_REALTIONAL_PROPERTY_MAPPING,this.property,this.setImplementationId])}}class Gf{canAggregate=!1;groupByFunctions=[];aggregateValues=[];get hashCode(){return Na([Ua.AGGREGATION_AWARE_SPECIFICATION,Na(this.groupByFunctions),Na(this.aggregateValues),this.canAggregate.toString()])}}class zf{mapFn;aggregateFn;get hashCode(){return Na([Ua.AGGREGATE_FUNCTION,Ga(this.mapFn.parameters,this.mapFn.body),Ga(this.aggregateFn.parameters,this.aggregateFn.body)])}}class Hf{groupByFn;get hashCode(){return Na([Ua.GROUP_BY_FUNCTION,Ga(this.groupByFn.parameters,this.groupByFn.body)])}}class $f extends km{accept_PropertyMappingVisitor(e){return e.visit_AggregationAwarePropertyMapping(this)}}class Yf extends km{crossExpression;get hashCode(){return Na([Ua.XSTORE_PROPERTY_MAPPING,super.hashCode,this.crossExpression])}accept_PropertyMappingVisitor(e){return e.visit_XStorePropertyMapping(this)}}class Wf extends Om{propertyMappings=[];get hashCode(){return Na([Ua.XSTORE_ASSOCIATION_IMPLEMENTATION,super.hashCode,Na(this.propertyMappings)])}}class Kf{binding;get hashCode(){return Na([Ua.BINDING_TRANSFORMER,this.binding])}}class Jf extends wf{validationFunction;get hashCode(){return Na([Ua.OPERATION_SET_IMPLEMENTATION,this.operation,Na(this.parameters),Ga(this.validationFunction.parameters,this.validationFunction.body)])}accept_ClassMappingVisitor(e){return e.visit_MergeOperationClassMapping(this)}}class Xf extends Om{propertyMappings=[];get hashCode(){return Na([Ua.FLAT_DATA_ASSOCIATION_IMPLEMENTATION,super.hashCode,Na(this.propertyMappings)])}}class qf extends km{flatData;sectionName;accept_PropertyMappingVisitor(e){return e.visit_FlatDataAssociationPropertyMapping(this)}get hashCode(){return Na([Ua.FLAT_DATA_ASSOCIATION_PROPERTY_MAPPING,super.hashCode,this.flatData,this.sectionName])}}class Qf extends Af{content;get hashCode(){return Na([Ua.INTERNAL__UNKNOWN_CLASS_MAPPING,this.id??"",this.class??"",this.root.toString(),Va(this.content)])}accept_ClassMappingVisitor(e){return e.visit_INTERNAL__UnknownClassMapping(this)}}!function(e){e.OPERATION="operation",e.MERGE_OPERATION="mergeOperation",e.PUREINSTANCE="pureInstance",e.ROOT_FLAT_DATA="flatData",e.ROOT_RELATIONAL="relational",e.RELATIONAL="embedded",e.AGGREGATION_AWARE="aggregationAware"}(xf||(xf={})),function(e){e.PURE="purePropertyMapping",e.FLAT_DATA="flatDataPropertyMapping",e.ASSOCIATION_FLAT_DATA="flatDataAssociationPropertyMapping",e.EMBEDDED_FLAT_DATA="embeddedFlatDataPropertyMapping",e.RELATIONAL="relationalPropertyMapping",e.EMBEDDED_RELATIONAL="embeddedPropertyMapping",e.INLINE_EMBEDDED_RELATIONAL="inlineEmbeddedPropertyMapping",e.OTHERWISE_EMBEDDED_RELATIONAL="otherwiseEmbeddedPropertyMapping",e.AGGREGATION_AWARE="AggregationAwarePropertyMapping",e.XSTORE="xStorePropertyMapping"}(Of||(Of={}));const Zf=(0,Ne.createModelSchema)(Rm,{multiplicity:Ie(jp),type:(0,Ne.primitive)()}),e_=((0,Ne.createModelSchema)(wf,{_type:xe(xf.OPERATION),class:(0,Ne.primitive)(),extendsClassMappingId:(0,Ne.optional)((0,Ne.primitive)()),id:(0,Ne.optional)((0,Ne.primitive)()),operation:(0,Ne.primitive)(),parameters:(0,Ne.list)((0,Ne.primitive)()),root:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Jf,{_type:xe(xf.MERGE_OPERATION),class:(0,Ne.primitive)(),extendsClassMappingId:(0,Ne.optional)((0,Ne.primitive)()),id:(0,Ne.optional)((0,Ne.primitive)()),operation:(0,Ne.primitive)(),parameters:(0,Ne.list)((0,Ne.primitive)()),root:(0,Ne.primitive)(),validationFunction:Ie(oh)}),(0,Ne.createModelSchema)(kf,{_type:xe(Of.PURE),enumMappingId:(0,Ne.optional)((0,Ne.primitive)()),explodeProperty:(0,Ne.optional)((0,Ne.primitive)()),localMappingProperty:Ie(Zf),property:Ie(wb),source:(0,Ne.primitive)(),target:(0,Ne.optional)((0,Ne.primitive)()),transform:Ie(oh)}));(0,Ne.createModelSchema)(Rf,{_type:xe(xf.PUREINSTANCE),class:(0,Ne.primitive)(),extendsClassMappingId:(0,Ne.optional)((0,Ne.primitive)()),filter:Ie(oh),id:(0,Ne.optional)((0,Ne.primitive)()),propertyMappings:(0,Ne.list)((0,Ne.custom)((function(e){return e instanceof kf?(0,Ne.serialize)(e_,e):Ne.SKIP}),(function(e){return e._type===Of.PURE?(0,Ne.deserialize)(e_,e):Ne.SKIP}))),root:(0,Ne.primitive)(),srcClass:(0,Ne.optional)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(Bf,{_type:xe(xf.ROOT_RELATIONAL),class:(0,Ne.primitive)(),distinct:(0,Ne.primitive)(),extendsClassMappingId:(0,Ne.optional)((0,Ne.primitive)()),filter:Ie(uf),groupBy:Me(lf,df,{INTERNAL__forceReturnEmptyInTest:!0}),id:(0,Ne.optional)((0,Ne.primitive)()),mainTable:Ie(ef),primaryKey:(0,Ne.list)((0,Ne.custom)(lf,df)),propertyMappings:(0,Ne.list)((0,Ne.custom)(l_,d_)),root:(0,Ne.optional)((0,Ne.primitive)())});const t_=(0,Ne.createModelSchema)(Df,{_type:xe(xf.RELATIONAL),class:(0,Ne.optional)((0,Ne.primitive)()),extendsClassMappingId:(0,Ne.optional)((0,Ne.primitive)()),id:(0,Ne.optional)((0,Ne.primitive)()),primaryKey:(0,Ne.list)((0,Ne.custom)((e=>lf(e)),(e=>df(e)))),propertyMappings:(0,Ne.list)((0,Ne.custom)((e=>l_(e)),(e=>d_(e)))),root:(0,Ne.optional)((0,Ne.primitive)())}),i_=(0,Ne.createModelSchema)(Kf,{binding:(0,Ne.primitive)()}),s_=(0,Ne.createModelSchema)(Pm,{_type:xe(Of.RELATIONAL),bindingTransformer:Oe((e=>(0,Ne.serialize)(i_,e)),(e=>(0,Ne.deserialize)(i_,e))),enumMappingId:(0,Ne.optional)((0,Ne.primitive)()),localMappingProperty:Ie(Zf),property:Ie(wb),relationalOperation:(0,Ne.raw)(),source:(0,Ne.optional)((0,Ne.primitive)()),target:(0,Ne.optional)((0,Ne.primitive)())}),n_=(0,Ne.createModelSchema)(qf,{_type:xe(Of.ASSOCIATION_FLAT_DATA),flatData:(0,Ne.primitive)(),property:Ie(wb),sectionName:(0,Ne.primitive)(),source:(0,Ne.optional)((0,Ne.primitive)()),target:(0,Ne.optional)((0,Ne.primitive)())}),a_=(0,Ne.createModelSchema)(jf,{_type:xe(Of.EMBEDDED_RELATIONAL),classMapping:Ie(t_),id:(0,Ne.optional)((0,Ne.primitive)()),localMappingProperty:Ie(Zf),property:Ie(wb),source:(0,Ne.optional)((0,Ne.primitive)()),target:(0,Ne.optional)((0,Ne.primitive)())}),r_=(0,Ne.createModelSchema)(Uf,{_type:xe(Of.OTHERWISE_EMBEDDED_RELATIONAL),classMapping:Ie(t_),localMappingProperty:Ie(Zf),otherwisePropertyMapping:(0,Ne.custom)(l_,d_),property:Ie(wb),source:(0,Ne.optional)((0,Ne.primitive)()),target:(0,Ne.optional)((0,Ne.primitive)())});r_.extends=void 0;const o_=(0,Ne.createModelSchema)(Vf,{_type:xe(Of.INLINE_EMBEDDED_RELATIONAL),id:(0,Ne.optional)((0,Ne.primitive)()),localMappingProperty:Ie(Zf),property:Ie(wb),source:(0,Ne.optional)((0,Ne.primitive)()),setImplementationId:(0,Ne.primitive)(),target:(0,Ne.optional)((0,Ne.primitive)())}),c_=(0,Ne.createModelSchema)(Yf,{_type:xe(Of.XSTORE),crossExpression:Ie(oh),localMappingProperty:Ie(Zf),property:Ie(wb),source:(0,Ne.primitive)(),target:(0,Ne.optional)((0,Ne.primitive)())});function l_(e){return e instanceof Pm?(0,Ne.serialize)(s_,e):e instanceof Uf?(0,Ne.serialize)(r_,e):e instanceof jf?(0,Ne.serialize)(a_,e):e instanceof Vf?(0,Ne.serialize)(o_,e):e instanceof Yf?(0,Ne.serialize)(c_,e):Ne.SKIP}function d_(e){switch(e._type){case Of.RELATIONAL:return(0,Ne.deserialize)(s_,e);case Of.EMBEDDED_RELATIONAL:return(0,Ne.deserialize)(a_,e);case Of.OTHERWISE_EMBEDDED_RELATIONAL:return(0,Ne.deserialize)(r_,e);case Of.INLINE_EMBEDDED_RELATIONAL:return(0,Ne.deserialize)(o_,e);case Of.XSTORE:return(0,Ne.deserialize)(c_,e);default:return Ne.SKIP}}const u_=(0,Ne.createModelSchema)(Mf,{_type:xe(Of.FLAT_DATA),enumMappingId:(0,Ne.optional)((0,Ne.primitive)()),localMappingProperty:Ie(Zf),property:Ie(wb),source:(0,Ne.primitive)(),target:(0,Ne.optional)((0,Ne.primitive)()),transform:Ie(oh)}),p_=(0,Ne.createModelSchema)(Lf,{_type:xe(Of.EMBEDDED_FLAT_DATA),class:(0,Ne.primitive)(),id:(0,Ne.optional)((0,Ne.primitive)()),localMappingProperty:Ie(Zf),property:Ie(wb),propertyMappings:(0,Ne.list)((0,Ne.custom)(h_,m_)),root:(0,Ne.primitive)(),source:(0,Ne.primitive)(),target:(0,Ne.optional)((0,Ne.primitive)())});function h_(e){return e instanceof Mf?(0,Ne.serialize)(u_,e):e instanceof Lf?(0,Ne.serialize)(p_,e):Ne.SKIP}function m_(e){switch(e._type){case Of.FLAT_DATA:return(0,Ne.deserialize)(u_,e);case Of.EMBEDDED_FLAT_DATA:return(0,Ne.deserialize)(p_,e);default:return Ne.SKIP}}(0,Ne.createModelSchema)(Ff,{_type:xe(xf.ROOT_FLAT_DATA),class:(0,Ne.primitive)(),extendsClassMappingId:(0,Ne.optional)((0,Ne.primitive)()),filter:Ie(oh),flatData:(0,Ne.primitive)(),id:(0,Ne.optional)((0,Ne.primitive)()),propertyMappings:(0,Ne.list)((0,Ne.custom)(h_,m_)),root:(0,Ne.primitive)(),sectionName:(0,Ne.primitive)()}),(0,Ne.createModelSchema)($f,{_type:xe(Of.AGGREGATION_AWARE),localMappingProperty:Ie(Zf),property:Ie(wb),source:(0,Ne.optional)((0,Ne.primitive)()),target:(0,Ne.optional)((0,Ne.primitive)())});const g_=(0,Ne.createModelSchema)(zf,{aggregateFn:Ie(oh),mapFn:Ie(oh)}),f_=(0,Ne.createModelSchema)(Hf,{groupByFn:Ie(oh)});(0,Ne.createModelSchema)(Gf,{aggregateValues:(0,Ne.list)(Ie(g_)),canAggregate:(0,Ne.primitive)(),groupByFunctions:(0,Ne.list)(Ie(f_))});(0,Ne.createModelSchema)(Qf,{class:(0,Ne.primitive)(),id:(0,Ne.optional)((0,Ne.primitive)()),root:(0,Ne.primitive)()});var __,b_;!function(e){e.OBJECT="object",e.FLAT_DATA="flatData",e.RELATIONAL="relational"}(__||(__={})),function(e){e.EXPECTED_OUTPUT_MAPPING_TEST_ASSERT="expectedOutputMappingTestAssert"}(b_||(b_={}));const E_=(0,Ne.createModelSchema)(Am,{_type:xe(__.OBJECT),data:(0,Ne.primitive)(),inputType:(0,Ne.primitive)(),sourceClass:(0,Ne.primitive)()}),v_=(0,Ne.createModelSchema)(Im,{_type:xe(__.FLAT_DATA),data:(0,Ne.primitive)(),sourceFlatData:Ie(Bp)}),T_=(0,Ne.createModelSchema)(xm,{_type:xe(__.RELATIONAL),data:(0,Ne.primitive)(),database:(0,Ne.primitive)(),inputType:(0,Ne.primitive)()}),S_=(0,Ne.createModelSchema)(Cm,{_type:xe(b_.EXPECTED_OUTPUT_MAPPING_TEST_ASSERT),expectedOutput:(0,Ne.primitive)()});(0,Ne.createModelSchema)(vm,{assert:(0,Ne.custom)((e=>{if(e instanceof Cm)return(0,Ne.serialize)(S_,e);throw new V("Can't serialize mapping test assert",e)}),(e=>{if(e._type===b_.EXPECTED_OUTPUT_MAPPING_TEST_ASSERT)return(0,Ne.deserialize)(S_,e);throw new V(`Can't deserialize mapping test assert of type '${e._type}'`)})),inputData:(0,Ne.list)((0,Ne.custom)((e=>{if(e instanceof Am)return(0,Ne.serialize)(E_,e);if(e instanceof Im)return(0,Ne.serialize)(v_,e);if(e instanceof xm)return(0,Ne.serialize)(T_,e);throw new V("Can't serialize mapping test input data",e)}),(e=>{switch(e._type){case __.OBJECT:return(0,Ne.deserialize)(E_,e);case __.FLAT_DATA:return(0,Ne.deserialize)(v_,e);case __.RELATIONAL:return(0,Ne.deserialize)(T_,e);default:throw new V(`Can't deserialize mapping test input data of type '${e._type}'`)}}))),name:(0,Ne.primitive)(),query:Ie(oh)});var C_;!function(e){e.RELATIONAL="relational",e.XSTORE="xStore",e.FLAT_DATA="flatData"}(C_||(C_={}));const y_=e=>e instanceof Pm?(0,Ne.serialize)(s_,e):e instanceof Yf?(0,Ne.serialize)(c_,e):e instanceof qf?(0,Ne.serialize)(n_,e):Ne.SKIP,N_=e=>{switch(e._type){case Of.RELATIONAL:return(0,Ne.deserialize)(s_,e);case Of.XSTORE:return(0,Ne.deserialize)(c_,e);case Of.ASSOCIATION_FLAT_DATA:return(0,Ne.deserialize)(n_,e);default:return Ne.SKIP}};(0,Ne.createModelSchema)(wm,{_type:xe(C_.RELATIONAL),association:(0,Ne.primitive)(),id:(0,Ne.optional)((0,Ne.primitive)()),propertyMappings:(0,Ne.list)((0,Ne.custom)(y_,N_)),stores:(0,Ne.list)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(Xf,{_type:xe(C_.FLAT_DATA),association:(0,Ne.primitive)(),id:(0,Ne.optional)((0,Ne.primitive)()),propertyMappings:(0,Ne.list)((0,Ne.custom)(y_,N_)),stores:(0,Ne.list)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(Wf,{_type:xe(C_.XSTORE),association:(0,Ne.primitive)(),id:(0,Ne.optional)((0,Ne.primitive)()),propertyMappings:(0,Ne.list)((0,Ne.custom)(y_,N_)),stores:(0,Ne.list)((0,Ne.primitive)())});var A_;!function(e){e.STRING="stringSourceValue",e.INTEGER="integerSourceValue",e.ENUM="enumSourceValue"}(A_||(A_={}));const I_=(0,Ne.createModelSchema)(vf,{_type:xe(A_.STRING),value:(0,Ne.primitive)()}),x_=(0,Ne.createModelSchema)(Tf,{_type:xe(A_.INTEGER),value:(0,Ne.primitive)()}),O_=(0,Ne.createModelSchema)(Sf,{_type:xe(A_.ENUM),enumeration:(0,Ne.primitive)(),value:(0,Ne.primitive)()}),w_=(e,t)=>{if(t.args){const i=t.args;if(i.sourceType)switch(i.sourceType){case ka.STRING:{const t=new vf;return t.value=ne(e,"Enum value mapping string source value must be a string"),t}case ka.INTEGER:{const t=new Tf;return t.value=ae(e,"Enum value mapping integer source value must be a number"),t}default:{const t=new Sf;return Z($(i.sourceType)&&"string"==typeof i.sourceType,"Enum value mapping enumeration source value enumeration must be a string"),t.enumeration=i.sourceType,t.value=ne(e,"Enum value mapping enumeration source value must be a string"),t}}switch(e._type){case A_.STRING:return(0,Ne.deserialize)(I_,e);case A_.INTEGER:return(0,Ne.deserialize)(x_,e);case A_.ENUM:return(0,Ne.deserialize)(O_,e);default:throw new V(`Can't deserialize enum value mapping source value of type '${e._type}'`)}}throw new U(`Deserialization parent context is not defined. Got: ${i=t,JSON.stringify(i,((e,t)=>e&&t&&"number"!=typeof t?Array.isArray(t)?"[object Array]":`${t}`:t))}`);var i},R_=(0,Ne.createModelSchema)(yf,{enumValue:(0,Ne.primitive)(),sourceValues:(0,Ne.list)((0,Ne.custom)((e=>{if(e instanceof vf)return(0,Ne.serialize)(I_,e);if(e instanceof Tf)return(0,Ne.serialize)(x_,e);if(e instanceof Sf)return(0,Ne.serialize)(O_,e);throw new V("Can't serialize enum value mapping source value",e)}),((e,t)=>w_(e,t))))}),k_=((0,Ne.createModelSchema)(Nf,{enumValueMappings:(0,Ne.list)((0,Ne.custom)((e=>(0,Ne.serialize)(R_,e)),((e,t)=>(0,Ne.deserialize)(R_,e,void 0,t.target)))),enumeration:(0,Ne.primitive)(),id:(0,Ne.optional)((0,Ne.primitive)())}),"mappingIncludeMapping");(0,Ne.createModelSchema)(bf,{_type:xe(k_),includedMapping:(0,Ne.primitive)(),sourceDatabasePath:(0,Ne.optional)((0,Ne.primitive)()),targetDatabasePath:(0,Ne.optional)((0,Ne.primitive)())});class P_{}class M_ extends P_{func;get hashCode(){return Na([Ua.SERVICE_PURE_EXECUTION,this.func])}}class L_ extends M_{mapping;runtime;get hashCode(){return Na([Ua.SERVICE_PURE_SINGLE_EXECUTION,super.hashCode,this.mapping??"",this.runtime??""])}}class F_{key;mapping;runtime;get hashCode(){return Na([Ua.SERVICE_KEYED_EXECUTION_PARAMETER,this.key,this.mapping,this.runtime])}}class D_ extends M_{executionKey;executionParameters;get hashCode(){return Na([Ua.SERVICE_PURE_MULTI_EXECUTION,super.hashCode,this.executionKey,Na(this.executionParameters??[])])}}class B_ extends Cp{runtimeValue;get hashCode(){return Na([Ua.PACKAGEABLE_RUNTIME,this.path,this.runtimeValue])}accept_PackageableElementVisitor(e){return e.visit_PackageableRuntime(this)}}class j_{}class U_ extends j_{mappings=[];connectionStores=[];connections=[];get hashCode(){return Na([Ua.ENGINE_RUNTIME,Na(this.mappings),Na(this.connectionStores),Na(this.connections)])}}class V_ extends j_{mappings=[];connections=[];get hashCode(){return Na([Ua.LEGACY_RUNTIME,Na(this.mappings),Na(this.connections)])}}class G_ extends j_{runtime;get hashCode(){return Na([Ua.RUNTIME_POINTER,this.runtime])}}var z_;!function(e){e.RUNTIME_POINTER="runtimePointer",e.LEGACY_RUNTIME="legacyRuntime",e.ENGINE_RUNTIME="engineRuntime"}(z_||(z_={}));const H_=(0,Ne.createModelSchema)(G_,{_type:xe(z_.RUNTIME_POINTER),runtime:(0,Ne.primitive)()}),$_=e=>{if(e instanceof U_)return(0,Ne.serialize)(U_,e);if(e instanceof G_)return(0,Ne.serialize)(H_,e);throw new V("Can't serialize runtime",e)},Y_=e=>{switch(e._type){case z_.RUNTIME_POINTER:return(0,Ne.deserialize)(H_,e);case z_.ENGINE_RUNTIME:return(0,Ne.deserialize)(U_,e);case z_.LEGACY_RUNTIME:case void 0:return(0,Ne.deserialize)(V_,e);default:throw new V(`Can't deeserialize runtime of type '${e._type}'`)}};(0,Ne.createModelSchema)(B_,{_type:xe("runtime"),name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),runtimeValue:(0,Ne.custom)((e=>(0,Ne.serialize)(U_,e)),(e=>(0,Ne.deserialize)(U_,e)))});class W_{name;value;get hashCode(){return Na([Ua.SERVICE_PARAMETER_VALUE,this.name,Va(this.value)])}}class K_{}class J_{parametersValues=[];assert;get hashCode(){return Na([Ua.SERVICE_TEST_CONTAINER,this.assert])}}class X_ extends K_{data;asserts=[];get hashCode(){return Na([Ua.SERVICE_LEGACY_SINGLE_EXECUTION_TEST,this.data,Na(this.asserts)])}}class q_{key;data;asserts=[];get hashCode(){return Na([Ua.SERVICE_LEGACY_KEYED_SINGLE_EXECUTION_TEST,this.key,this.data,Na(this.asserts)])}}class Q_ extends K_{tests=[];get hashCode(){return Na([Ua.SERVICE_LEGACY_MULTI_EXECUTION_TEST,Na(this.tests)])}}class Z_{description;parameters=[];assertions=[];get hashCode(){return Na([Ua.SERVICE_POST_VALIDATION,this.description,Na(this.parameters),Na(this.assertions)])}}class eb{id;assertion;get hashCode(){return Na([Ua.SERVICE_POST_VALIDATION_ASSERTION,this.id,this.assertion])}}class tb{}class ib extends tb{identifier;get hashCode(){return Na([Ua.SERVICE_OWNER,this.identifier])}}class sb extends tb{users=[];get hashCode(){return Na([Ua.SERVICE_OWNER,Na(this.users)])}}var nb,ab,rb;!function(e){e.SINGLE_EXECUTION_TEST="singleExecutionTest",e.MULTI_EXECUTION_TEST="multiExecutionTest"}(nb||(nb={})),function(e){e.PURE_SINGLE_EXECUTION="pureSingleExecution",e.PURE_MULTI_EXECUTION="pureMultiExecution"}(ab||(ab={})),function(e){e.DEPLOYMENT_OWNERSHIP="deploymentOwnership",e.USERLIST_OWNERSHIP="userListOwnership"}(rb||(rb={}));const ob=(0,Ne.createModelSchema)(W_,{name:(0,Ne.primitive)(),value:(0,Ne.raw)()}),cb=(0,Ne.createModelSchema)(eb,{assertion:Ie(oh),id:(0,Ne.primitive)()}),lb=((0,Ne.createModelSchema)(Z_,{assertions:(0,Ne.list)((0,Ne.custom)((e=>(0,Ne.serialize)(cb,e)),(e=>(0,Ne.deserialize)(cb,e)))),description:(0,Ne.primitive)(),parameters:(0,Ne.list)(Ie(oh))}),(0,Ne.createModelSchema)(em,{_type:xe(Pa.Service_Test),assertions:(0,Ne.list)((0,Ne.custom)((e=>xb(e)),(e=>Ob(e)))),id:(0,Ne.primitive)(),keys:(0,Ne.list)((0,Ne.primitive)()),parameters:Pe(ob),serializationFormat:(0,Ne.optional)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(L_,{_type:xe(ab.PURE_SINGLE_EXECUTION),func:Ie(oh),mapping:(0,Ne.optional)((0,Ne.primitive)()),runtime:Oe($_,Y_)}),(0,Ne.createModelSchema)(ib,{_type:xe(rb.DEPLOYMENT_OWNERSHIP),identifier:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(sb,{_type:xe(rb.USERLIST_OWNERSHIP),users:(0,Ne.list)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(F_,{key:(0,Ne.primitive)(),mapping:(0,Ne.primitive)(),runtime:Oe($_,Y_)})),db=((0,Ne.createModelSchema)(D_,{_type:xe(ab.PURE_MULTI_EXECUTION),executionKey:(0,Ne.optional)((0,Ne.primitive)()),executionParameters:(0,Ne.optional)((0,Ne.list)(Ie(lb))),func:Ie(oh)}),(0,Ne.createModelSchema)(J_,{assert:Ie(oh),parametersValues:Le({INTERNAL__forceReturnEmptyInTest:!0})})),ub=((0,Ne.createModelSchema)(X_,{_type:xe(nb.SINGLE_EXECUTION_TEST),asserts:(0,Ne.list)(Ie(db)),data:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(q_,{asserts:(0,Ne.list)(Ie(db)),data:(0,Ne.primitive)(),key:(0,Ne.primitive)()}));(0,Ne.createModelSchema)(Q_,{_type:xe(nb.MULTI_EXECUTION_TEST),tests:(0,Ne.list)(Ie(ub))});class pb{name;value;get hashCode(){return Na([Ua.FUNCTION_PARAMETER_VALUE,this.name,Va(this.value)])}}class hb extends Qh{parameters;get hashCode(){return Na([Ua.FUNCTION_TEST,this.id,this.doc??"",this.parameters?Na(this.parameters):""])}}const mb=(0,Ne.createModelSchema)(pb,{name:(0,Ne.primitive)(),value:(0,Ne.raw)()});(0,Ne.createModelSchema)(hb,{_type:xe(Pa.Function_Test),assertions:(0,Ne.list)((0,Ne.custom)((e=>xb(e)),(e=>Ob(e)))),id:(0,Ne.primitive)(),doc:(0,Ne.optional)((0,Ne.primitive)()),parameters:Pe(mb)});var gb,fb,_b,bb;!function(e){e.ASSERT_FAIL="assertFail",e.ASSERT_PASS="assertPass",e.EQUAL_TO_JSON_ASSERT_FAIL="equalToJsonAssertFail"}(gb||(gb={})),function(e){e.EQUAL_TO="equalTo",e.EQUAL_TO_JSON="equalToJson",e.EQUAL_TO_TDS="equalToTDS"}(fb||(fb={})),function(e){e.TEST_ERROR="testError",e.TEST_EXECUTED="testExecuted",e.MULTI_EXECUTION_TEST_RESULT="multiExecutionTestResult",e.TEMPROARY_MULTI_EXECUTION_TEST_RESULT="MultiExecutionServiceTestResult"}(_b||(_b={})),function(e){e.SERVICE_TEST_SUITE="serviceTestSuite",e.MAPPING_TEST_SUITE="mappingTestSuite",e.FUNCTION_TEST_SUITE="functionTestSuite"}(bb||(bb={}));(0,Ne.createModelSchema)(class{testSuiteId;atomicTestId},{atomicTestId:(0,Ne.primitive)(),testSuiteId:(0,Ne.primitive)()});const Eb=(0,Ne.createModelSchema)(im,{_type:xe(gb.ASSERT_FAIL),id:(0,Ne.primitive)(),message:(0,Ne.primitive)()}),vb=(0,Ne.createModelSchema)(sm,{_type:xe(gb.ASSERT_PASS),id:(0,Ne.primitive)()}),Tb=(0,Ne.createModelSchema)(nm,{_type:xe(gb.EQUAL_TO_JSON_ASSERT_FAIL),actual:(0,Ne.primitive)(),expected:(0,Ne.primitive)(),id:(0,Ne.primitive)(),message:(0,Ne.primitive)()}),Sb=(0,Ne.createModelSchema)(rm,{_type:xe(fb.EQUAL_TO),expected:(0,Ne.raw)(),id:(0,Ne.primitive)()}),Cb=(0,Ne.createModelSchema)(om,{_type:xe(fb.EQUAL_TO_JSON),expected:Ie(bm),id:(0,Ne.primitive)()}),yb=(0,Ne.createModelSchema)(cm,{_type:xe(fb.EQUAL_TO_TDS),expected:Ie(bm),id:(0,Ne.primitive)()}),Nb=(0,Ne.createModelSchema)(class extends Zh{error},{atomicTestId:(0,Ne.primitive)(),error:(0,Ne.primitive)(),testable:(0,Ne.primitive)(),testSuiteId:(0,Ne.primitive)()}),Ab=(0,Ne.createModelSchema)(class extends Zh{testExecutionStatus;assertStatuses=[]},{assertStatuses:(0,Ne.list)((0,Ne.custom)((e=>(e=>{if(e instanceof nm)return(0,Ne.serialize)(Tb,e);if(e instanceof im)return(0,Ne.serialize)(Eb,e);if(e instanceof sm)return(0,Ne.serialize)(vb,e);throw new V("Can't serialize assertion status",e)})(e)),(e=>(e=>{switch(e._type){case gb.ASSERT_FAIL:return(0,Ne.deserialize)(Eb,e);case gb.ASSERT_PASS:return(0,Ne.deserialize)(vb,e);case gb.EQUAL_TO_JSON_ASSERT_FAIL:return(0,Ne.deserialize)(Tb,e);default:throw new V(`Can't deserialize assertion status of type '${e._type}'`)}})(e)))),atomicTestId:(0,Ne.primitive)(),testable:(0,Ne.primitive)(),testExecutionStatus:(0,Ne.primitive)(),testSuiteId:(0,Ne.optional)((0,Ne.primitive)())}),Ib=(0,Ne.createModelSchema)(class extends Zh{keyIndexedTestResults=new Map},{atomicTestId:(0,Ne.primitive)(),keyIndexedTestResults:(0,Ne.custom)((()=>Ne.SKIP),(e=>((e,t)=>{const i=new Map;return Object.keys(e).forEach((s=>i.set(s,t(e[s])))),i})(e,(e=>function(e){switch(e._type){case _b.TEST_ERROR:return(0,Ne.deserialize)(Nb,e);case _b.TEST_EXECUTED:return(0,Ne.deserialize)(Ab,e);case _b.MULTI_EXECUTION_TEST_RESULT:case _b.TEMPROARY_MULTI_EXECUTION_TEST_RESULT:return(0,Ne.deserialize)(Ib,e);default:throw new V(`Can't deserialize atomic test of type '${e._type}'`)}}(e))))),testable:(0,Ne.primitive)(),testSuiteId:(0,Ne.primitive)()});const xb=e=>{if(e instanceof rm)return(0,Ne.serialize)(Sb,e);if(e instanceof om)return(0,Ne.serialize)(Cb,e);if(e instanceof cm)return(0,Ne.serialize)(yb,e);throw new V("Can't serialize test assertion",e)},Ob=e=>{switch(e._type){case fb.EQUAL_TO:return(0,Ne.deserialize)(Sb,e);case fb.EQUAL_TO_JSON:return(0,Ne.deserialize)(Cb,e);case fb.EQUAL_TO_TDS:return(0,Ne.deserialize)(yb,e);default:throw new V(`Can't deserialize test assertion of type '${e._type}'`)}},wb=(0,Ne.createModelSchema)(Qp,{class:(0,Ne.optional)((0,Ne.primitive)()),property:(0,Ne.primitive)()}),Rb=(0,Ne.createModelSchema)(Wp,{profile:(0,Ne.primitive)(),value:(0,Ne.primitive)()}),kb=(0,Ne.createModelSchema)(Kp,{profile:(0,Ne.primitive)(),value:(0,Ne.primitive)()}),Pb=(0,Ne.createModelSchema)(Jp,{tag:Ie(kb),value:(0,Ne.primitive)()}),Mb=((0,Ne.createModelSchema)(Vp,{_type:xe("profile"),name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),stereotypes:(0,Ne.list)((0,Ne.primitive)()),tags:(0,Ne.list)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(Yp,{stereotypes:Pe(Rb,{INTERNAL__forceReturnEmptyInTest:!0}),taggedValues:Pe(Pb,{INTERNAL__forceReturnEmptyInTest:!0}),value:(0,Ne.primitive)()})),Lb=((0,Ne.createModelSchema)(Up,{_type:xe("Enumeration"),name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),stereotypes:Pe(Rb,{INTERNAL__forceReturnEmptyInTest:!0}),taggedValues:Pe(Pb,{INTERNAL__forceReturnEmptyInTest:!0}),values:(0,Ne.list)(Ie(Mb))}),(0,Ne.createModelSchema)(Gp,{_type:xe("unit"),conversionFunction:(0,Ne.optional)(Ie(oh)),measure:(0,Ne.primitive)(),name:(0,Ne.primitive)(),package:(0,Ne.primitive)()})),Fb=((0,Ne.createModelSchema)(zp,{_type:xe("measure"),canonicalUnit:(0,Ne.optional)(Ie(Lb)),name:(0,Ne.primitive)(),nonCanonicalUnits:(0,Ne.list)(Ie(Lb)),package:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(class extends hh{applicationName;description;owner;accept_PackageableElementVisitor(e){return e.visit_SnowflakeApp(this)}get hashCode(){return Na([Ua.SNOWFLAKE_APP,this.applicationName,this.description??"",this.owner??"",this.activationConfiguration])}},{_type:xe("snowflakeApp"),description:(0,Ne.optional)((0,Ne.primitive)()),owner:(0,Ne.optional)((0,Ne.primitive)()),applicationName:(0,Ne.primitive)(),function:Ie(Bp),name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),stereotypes:Pe(Rb,{INTERNAL__forceReturnEmptyInTest:!0}),taggedValues:Pe(Pb,{INTERNAL__forceReturnEmptyInTest:!0}),activationConfiguration:Ie(Xh)}),(0,Ne.createModelSchema)(Xp,{aggregation:(0,Ne.optional)((0,Ne.primitive)()),multiplicity:Ie(jp),name:(0,Ne.primitive)(),stereotypes:Pe(Rb,{INTERNAL__forceReturnEmptyInTest:!0}),taggedValues:Pe(Pb,{INTERNAL__forceReturnEmptyInTest:!0}),type:(0,Ne.primitive)()})),Db=(0,Ne.createModelSchema)(qp,{body:(0,Ne.raw)(),name:(0,Ne.primitive)(),parameters:(0,Ne.raw)(),returnMultiplicity:Ie(jp),returnType:(0,Ne.primitive)(),stereotypes:Pe(Rb,{INTERNAL__forceReturnEmptyInTest:!0}),taggedValues:Pe(Pb,{INTERNAL__forceReturnEmptyInTest:!0})}),Bb=(0,Ne.createModelSchema)(Zp,{enforcementLevel:(0,Ne.optional)((0,Ne.primitive)()),externalId:(0,Ne.optional)((0,Ne.primitive)()),functionDefinition:Ie(oh),messageFunction:(0,Ne.optional)(Ie(oh)),name:(0,Ne.primitive)()}),jb=((0,Ne.createModelSchema)(Hp,{_type:xe("class"),constraints:Pe(Bb,{INTERNAL__forceReturnEmptyInTest:!0}),name:(0,Ne.primitive)(),originalMilestonedProperties:Me((()=>Ne.SKIP),(()=>Ne.SKIP),{INTERNAL__forceReturnEmptyInTest:!0}),package:(0,Ne.primitive)(),properties:Pe(Fb,{INTERNAL__forceReturnEmptyInTest:!0}),derivedProperties:(0,Ne.alias)("qualifiedProperties",Pe(Db,{INTERNAL__forceReturnEmptyInTest:!0})),stereotypes:Pe(Rb,{INTERNAL__forceReturnEmptyInTest:!0}),superTypes:Le({INTERNAL__forceReturnEmptyInTest:!0}),taggedValues:Pe(Pb,{INTERNAL__forceReturnEmptyInTest:!0})}),(0,Ne.createModelSchema)($p,{_type:xe("association"),name:(0,Ne.primitive)(),originalMilestonedProperties:Me((()=>Ne.SKIP),(()=>Ne.SKIP),{INTERNAL__forceReturnEmptyInTest:!0}),package:(0,Ne.primitive)(),properties:(0,Ne.list)(Ie(Fb)),derivedProperties:(0,Ne.alias)("qualifiedProperties",Pe(Db,{INTERNAL__forceReturnEmptyInTest:!0})),stereotypes:Pe(Rb,{INTERNAL__forceReturnEmptyInTest:!0}),taggedValues:Pe(Pb,{INTERNAL__forceReturnEmptyInTest:!0})}),(0,Ne.createModelSchema)(class extends hh{content;get hashCode(){return Na([Ua.INTERNAL__UNKNOWN_FUNCTION_ACTIVATOR,this.path,Va(this.content)])}accept_PackageableElementVisitor(e){return e.visit_INTERNAL__UnknownFunctionActivator(this)}},{function:(0,Ne.primitive)(),name:(0,Ne.primitive)(),package:(0,Ne.primitive)()}),"diagram"),Ub=(0,Ne.createModelSchema)(xp,{x:(0,Ne.primitive)(),y:(0,Ne.primitive)()}),Vb=(0,Ne.createModelSchema)(Op,{height:(0,Ne.primitive)(),width:(0,Ne.primitive)()}),Gb=(0,Ne.createModelSchema)(wp,{points:(0,Ne.list)(Ie(Ub))}),zb=(0,Ne.createModelSchema)(Ip,{class:(0,Ne.primitive)(),hideProperties:(0,Ne.optional)((0,Ne.primitive)()),hideStereotypes:(0,Ne.optional)((0,Ne.primitive)()),hideTaggedValues:(0,Ne.optional)((0,Ne.primitive)()),id:(0,Ne.primitive)(),position:Ie(Ub),rectangle:Ie(Vb)}),Hb=(0,Ne.createModelSchema)(Pp,{line:Ie(Gb),property:Ie(wb),sourceView:(0,Ne.primitive)(),targetView:(0,Ne.primitive)()}),$b=(0,Ne.createModelSchema)(Mp,{line:Ie(Gb),sourceView:(0,Ne.primitive)(),targetView:(0,Ne.primitive)()}),Yb=(0,Ne.createModelSchema)(Np,{_type:xe(jb),classViews:(0,Ne.list)(Ie(zb)),generalizationViews:(0,Ne.list)(Ie($b)),name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),propertyViews:(0,Ne.list)(Ie(Hb))});class Wb extends o{_$nominalTypeBrand;install(e){e.registerPureProtocolProcessorPlugin(this)}}class Kb{_UUID=(0,a.default)();_OWNER;name;multiplicity;genericType;aggregation;stereotypes=[];taggedValues=[];constructor(e,t,i,s){this.name=e,this.multiplicity=t,this.genericType=i,this._OWNER=s}get hashCode(){return Na([Ua.PROPERTY,this.name,this.multiplicity,this.genericType.ownerReference.valueForSerialization??"",this.aggregation??"",Na(this.stereotypes.map((e=>e.pointerHashCode))),Na(this.taggedValues)])}}class Jb{lowerBound;upperBound;constructor(e,t){this.lowerBound=e,this.upperBound=t}get hashCode(){return Na([Ua.MULTIPLICITY,this.lowerBound.toString(),this.upperBound?.toString()??""])}static ZERO=new Jb(0,0);static ZERO_ONE=new Jb(0,1);static ZERO_MANY=new Jb(0,void 0);static ONE=new Jb(1,1);static ONE_MANY=new Jb(1,void 0)}class Xb extends nr{ownerReference;value;constructor(e,t){super(e),this.ownerReference=e,this.value=t}}class qb extends Xb{ownerReference;constructor(e){const t=rr.create(e.rawType);super(t,e),this.ownerReference=t}static create(e){return new qb(e)}}class Qb{_UUID=(0,a.default)();rawType;constructor(e){this.rawType=e}}class Zb extends Ya{_generatedMilestonedProperties=[];properties;derivedProperties=[];constructor(e){super(e);const t=[new Kb("",Jb.ONE,qb.create(new Qb(new Ka(""))),new Ka("")),new Kb("",Jb.ONE,qb.create(new Qb(new Ka(""))),new Ka(""))];t[0]._OWNER=this,t[1]._OWNER=this,this.properties=t}dispose(){super.dispose();const[e,t]=this.properties;if(e.genericType.value.rawType instanceof Ka&&t.genericType.value.rawType instanceof Ka){const i=X(e.genericType.value.rawType,Ka),s=X(t.genericType.value.rawType,Ka);i.propertiesFromAssociations=i.propertiesFromAssociations.filter((e=>e!==t)),s.propertiesFromAssociations=s.propertiesFromAssociations.filter((t=>t!==e))}}get _elementHashCode(){return Na([Ua.ASSOCIATION,this.path,Na(this.properties),Na(this.derivedProperties),Na(this.stereotypes.map((e=>e.pointerHashCode))),Na(this.taggedValues)])}accept_PackageableElementVisitor(e){return e.visit_Association(this)}}class eE extends Ya{includes=[];classMappings=[];enumerationMappings=[];associationMappings=[];test=[];tests=[];get _elementHashCode(){return Na([Ua.MAPPING,this.path,Na(this.classMappings),Na(this.enumerationMappings),Na(this.associationMappings),Na(this.test),Na(this.includes),Na(this.tests)])}accept_PackageableElementVisitor(e){return e.visit_Mapping(this)}}class tE extends Ya{p_stereotypes=[];p_tags=[];get _elementHashCode(){return Na([Ua.PROFILE,this.path,Na(this.p_stereotypes.map((e=>e.value))),Na(this.p_tags.map((e=>e.value)))])}accept_PackageableElementVisitor(e){return e.visit_Profile(this)}}class iE extends Ya{pattern="/";owners=[];ownership;documentation="";autoActivateUpdates=!0;execution;test;tests=[];postValidations=[];get patternParameters(){return(0,A.default)((this.pattern.match(/\{\w+\}/gu)??[]).map((e=>e.substring(1,e.length-1))))}get _elementHashCode(){return Na([Ua.SERVICE,Na(this.stereotypes.map((e=>e.pointerHashCode))),Na(this.taggedValues),this.path,this.pattern,Na(this.owners),this.ownership,this.documentation,this.autoActivateUpdates.toString(),this.execution,this.test??"",Na(this.tests),Na(this.postValidations)])}accept_PackageableElementVisitor(e){return e.visit_Service(this)}}class sE extends Ya{functionName;constructor(e){super(e),this.functionName=e}}class nE extends sE{}class aE extends nE{returnType;returnMultiplicity;parameters=[];expressionSequence=[];tests=[];constructor(e,t,i){super(e),this.returnType=t,this.returnMultiplicity=i}get _elementHashCode(){return Na([Ua.FUNCTION,this.path,Na(this.parameters),this.returnType.valueForSerialization??"",Na(this.taggedValues),Na(this.stereotypes.map((e=>e.pointerHashCode))),Ga(void 0,this.expressionSequence),this.tests.length?Na(this.tests):""])}accept_PackageableElementVisitor(e){return e.visit_ConcreteFunctionDefinition(this)}}class rE extends Ya{includes=[]}class oE extends rE{sections=[];get _elementHashCode(){return Na([Ua.FLAT_DATA,this.path,Na(this.includes.map((e=>e.valueForSerialization??""))),Na(this.sections)])}accept_PackageableElementVisitor(e){return e.visit_FlatData(this)}}class cE extends Ya{runtimeValue;get _elementHashCode(){return Na([Ua.PACKAGEABLE_RUNTIME,this.path,this.runtimeValue])}accept_PackageableElementVisitor(e){return e.visit_PackageableRuntime(this)}}class lE extends Ya{connectionValue;get _elementHashCode(){return Na([Ua.PACKAGEABLE_CONNECTION,this.path,this.connectionValue])}accept_PackageableElementVisitor(e){return e.visit_PackageableConnection(this)}}class dE extends Ya{}class uE extends dE{type;generationOutputPath;scopeElements=[];configurationProperties=[];get _elementHashCode(){return Na([Ua.FILE_GENERATION,this.path,this.type,this.generationOutputPath??"",Na(this.scopeElements.map((e=>e instanceof ar?e.valueForSerialization??"":e))),Na(this.configurationProperties)])}accept_PackageableElementVisitor(e){return e.visit_FileGenerationSpecification(this)}}class pE extends Ya{generationNodes=[];fileGenerations=[];findGenerationElementById(e){return this.generationNodes.find((t=>t.id===e))?.generationElement.value}get _elementHashCode(){return Na([Ua.GENERATION_TREE,this.path,Na(this.generationNodes),Na(this.fileGenerations.map((e=>za(Ba.FILE_GENERATION,e.valueForSerialization??""))))])}accept_PackageableElementVisitor(e){return e.visit_GenerationSpecification(this)}}class hE extends rE{schemas=[];joins=[];filters=[];get _elementHashCode(){return Na([Ua.DATABASE,this.path,Na(this.includes.map((e=>e.valueForSerialization??""))),Na(this.schemas),Na(this.joins),Na(this.filters)])}accept_PackageableElementVisitor(e){return e.visit_Database(this)}}class mE{_class;index=new Map;constructor(e){this._class=e}getElementClass(){return this._class}get elements(){return Array.from(this.index.values())}getElement(e){return this.index.get(e)}setElement(e,t){this.index.set(e,t)}deleteElement(e){this.index.delete(e)}renameElement(e,t){const i=this.getElement(e);i&&(this.deleteElement(e),this.setElement(t,i))}}class gE extends Ja{accept_PackageableElementVisitor(e){return e.visit_PrimitiveType(this)}static STRING=new gE(ka.STRING);static BOOLEAN=new gE(ka.BOOLEAN);static BINARY=new gE(ka.BINARY);static NUMBER=new gE(ka.NUMBER);static INTEGER=new gE(ka.INTEGER);static FLOAT=new gE(ka.FLOAT);static DECIMAL=new gE(ka.DECIMAL);static DATE=new gE(ka.DATE);static STRICTDATE=new gE(ka.STRICTDATE);static DATETIME=new gE(ka.DATETIME);static STRICTTIME=new gE(ka.STRICTTIME);static LATESTDATE=new gE(ka.LATESTDATE);static BYTE=new gE(ka.BYTE)}const fE=e=>W((0,C.default)(e.split(Ia))),_E=e=>{const t=e.lastIndexOf(Ia);return-1===t?void 0:e.substring(0,t)},bE=(e,t)=>{const i=e.lastIndexOf(Ia);return-1===i?[t??"",e]:[e.substring(0,i),e.substring(i+2,e.length)]},EE=(e,t)=>`${e?`${e}${Ia}`:""}${t}`,vE=e=>e.split(Ia).join("_");class TE{_UUID=(0,a.default)();_OWNER;name;genericType;multiplicity;stereotypes=[];taggedValues=[];body;parameters;constructor(e,t,i,s){this.name=e,this.multiplicity=t,this.genericType=i,this._OWNER=s}get hashCode(){return Na([Ua.DERIVED_PROPERTY,this.name,this.multiplicity,this.genericType.ownerReference.valueForSerialization??"",Na(this.stereotypes.map((e=>e.pointerHashCode))),Na(this.taggedValues),Ga(this.parameters,this.body)])}}const SE=(e,t)=>{e.children.push(t),t.package=e},CE=(e,t)=>{e.children=e.children.filter((e=>e!==t))},yE=e=>e.package?yE(e.package):X(e,Za),NE=(e,t,i,s)=>{const n=t.indexOf(Ia),a=-1===n?t:t.substring(0,n);let r;if(r=e.children.find((e=>e instanceof Za&&e.name===a)),!r){if(!i)throw new H(`Can't find child package '${a}' in package '${e.path}'`);Z(!wa.includes(a),`Can't create package with reserved name '${a}'`),r=new Za(a),r.package=e,e.children.push(r)}return s&&s.set(EE(e.path,a),r),-1!==n?NE(r,t.substring(n+2),i,s):r},AE=(e,t,i,s)=>{if(s){const n=s.get(EE(e.path,t));if(n)return n;let a=t;for(;""!==a;){const n=EE(e.path,a),r=s.get(n);if(r)return NE(r,t.substring(a.length+2,t.length),i,s);const o=a.lastIndexOf(Ia);a=-1!==o?a.substring(0,o):""}}return NE(e,t,i,s)},IE=(e,t,i)=>(q(t,"Package path is required"),AE(e.root,t,!0,i)),xE=(e,t)=>X(e.rawType,t),OE=(e,t)=>W(e.p_tags.find((e=>e.value===t)),`Can't find tag '${t}' in profile '${e.path}'`),wE=(e,t)=>W(e.p_stereotypes.find((e=>e.value===t)),`Can't find stereotype '${t}' in profile '${e.path}'`),RE=(e,t)=>{const i=e.properties.findIndex((e=>e===t));return Z(-1!==i,`Can't find property '${t.name}' in association '${e.path}'`),W(e.properties[(i+1)%2])},kE=e=>{const t=new Set;t.add(e);const i=e=>{e.generalizations.forEach((e=>{const s=xE(e.value,Ka);t.has(s)||(t.add(s),i(s))}))};return i(e),t.delete(e),Array.from(t)},PE=e=>e.properties.concat(e.propertiesFromAssociations).concat(e.derivedProperties),ME=(e,t)=>W(e instanceof Ka?PE(e).find((e=>e.name===t)):e.properties.find((e=>e.name===t)),`Can't find property '${t}' of '${e.path}'`),LE=(e,t)=>e===t?e.toString():0===e&&void 0===t?"MANY":`$${e}_${t??"MANY"}$`,FE=(e,t)=>t.substring(0,t.indexOf((e=>`_${e.parameters.map((e=>`${e.type.value.name}_${LE(e.multiplicity.lowerBound,e.multiplicity.upperBound)}_`)).join("_")}_${e.returnType.value.name}_${LE(e.returnMultiplicity.lowerBound,e.returnMultiplicity.upperBound)}_`)(e))),DE=(e,t)=>{if((e=>{const t=z((()=>yE(e)))?.name;return e instanceof gE||t===Ra.SYSTEM||t===Ra.CORE})(e))return"system elements";if((e=>z((()=>yE(e)))?.name===Ra.MODEL_GENERATION)(e))return"generation elements";if((e=>{const t=z((()=>yE(e)));return t?.name===Ra.PROJECT_DEPENDENCY_ROOT||void 0!==t&&Boolean(XE(t.name))})(e)){const i=t.dependencyManager.getElementOrigin(e);if(i)return`project dependency ${i}`}return""};class BE extends Ya{data;get hashCode(){return Na([Ua.DATA_ELEMENT,this.path,Na(this.stereotypes.map((e=>e.pointerHashCode))),Na(this.taggedValues),this.data])}accept_PackageableElementVisitor(e){return e.visit_DataElement(this)}}class jE extends Ya{executionParameters=[];get _elementHashCode(){return Na([Ua.EXECUTION_ENVIRONMENT_INSTANCE,this.path,Na(this.executionParameters)])}accept_PackageableElementVisitor(e){return e.visit_ExecutionEnvironmentInstance(this)}}class UE extends Ya{content;get _elementHashCode(){return Na([Ua.INTERNAL__UNKNOWN_PACKAGEABLE_ELEMENT,this.path,Va(this.content)])}accept_PackageableElementVisitor(e){return e.visit_INTERNAL__UnknownPackageableElement(this)}}class VE extends Ya{function;activationConfiguration}class GE extends VE{content;get _elementHashCode(){return Na([Ua.INTERNAL__UNKNOWN_FUNCTION_ACTIVATOR,this.path,Va(this.content)])}accept_PackageableElementVisitor(e){return e.visit_INTERNAL__UnknownFunctionActivator(this)}}class zE extends rE{content;get _elementHashCode(){return Na([Ua.INTERNAL__UNKNOWN_STORE,this.path,Va(this.content)])}accept_PackageableElementVisitor(e){return e.visit_INTERNAL__UnknownStore(this)}}const HE=new Set([Ya,Wa,Ja,gE,Ka,Zb,Xa,aE,tE,Qa,qa,BE,rE,eE,lE,cE,pE,uE,iE,jE,class extends Ya{sections=[];get _elementHashCode(){return Na([Ua.SECTION_INDEX,this.path,Na(this.sections)])}accept_PackageableElementVisitor(e){return e.visit_SectionIndex(this)}},UE,zE]);class $E{root;_origin;extensions=[];graphPlugins=[];elementSectionIndex=new Map;sectionIndicesIndex=new Map;profilesIndex=new Map;typesIndex=new Map;associationsIndex=new Map;functionsIndex=new Map;functionActivatorsIndex=new Map;storesIndex=new Map;mappingsIndex=new Map;connectionsIndex=new Map;runtimesIndex=new Map;servicesIndex=new Map;generationSpecificationsIndex=new Map;fileGenerationsIndex=new Map;dataElementsIndex=new Map;executionEnvironmentsIndex=new Map;INTERNAL__unknownElementsIndex=new Map;constructor(e,t,i){this.root=new Za(e);const s=t.flatMap((e=>e.getExtraPureGraphExtensionClasses?.()??[]));this.extensions=this.createGraphExtensions(s),this._origin=i}createGraphExtensions(e){return e.map((e=>{if(HE.has(e))throw new U("Pure graph extension not allowed for the specified class. Consider removing this extension from plugins.");return new mE(e)}))}get ownSectionIndices(){return Array.from(this.sectionIndicesIndex.values())}get ownProfiles(){return Array.from(this.profilesIndex.values())}get ownEnumerations(){return Array.from(this.typesIndex.values()).filter(K(Xa))}get ownMeasures(){return Array.from(this.typesIndex.values()).filter(K(Qa))}get ownClasses(){return Array.from(this.typesIndex.values()).filter(K(Ka))}get ownTypes(){return Array.from(this.typesIndex.values())}get ownAssociations(){return Array.from(this.associationsIndex.values())}get ownFunctions(){return Array.from(this.functionsIndex.values())}get ownFunctionActivators(){return Array.from(this.functionActivatorsIndex.values())}get ownStores(){return Array.from(this.storesIndex.values())}get ownFlatDatas(){return Array.from(this.storesIndex.values()).filter(K(oE))}get ownDatabases(){return Array.from(this.storesIndex.values()).filter(K(hE))}get ownMappings(){return Array.from(this.mappingsIndex.values())}get ownServices(){return Array.from(this.servicesIndex.values())}get ownRuntimes(){return Array.from(this.runtimesIndex.values())}get ownConnections(){return Array.from(this.connectionsIndex.values())}get ownFileGenerations(){return Array.from(this.fileGenerationsIndex.values())}get ownDataElements(){return Array.from(this.dataElementsIndex.values())}get ownExecutionEnvironments(){return Array.from(this.executionEnvironmentsIndex.values())}get ownGenerationSpecifications(){return Array.from(this.generationSpecificationsIndex.values())}get ownTestables(){const e=[...this.ownServices,...this.ownMappings],t=this.graphPlugins.flatMap((e=>e.getExtraTestablesCollectors?.()??[]));return[...e,...this.allOwnElements.map((e=>t.find((t=>Boolean(t(e))))?.(e))).filter($)]}get origin(){return this._origin}setOrigin(e){if(this._origin)throw new U("Graph origin has already been set");this._origin=e}getExtensionElements(e){return this.getExtensionForElementClass(e).elements}getExtensionForElementClass(e){const t=this.extensions.filter((t=>t.getElementClass()===e));if(0===t.length)throw new V("Can't find graph extension for the specified element class: no compatible graph extensions available from plugins");if(t.length>1)throw new U("Found multiple extensions for the specified element class");return t[0]}getOwnNullableSection=e=>this.elementSectionIndex.get(e);getOwnNullableSectionIndex=e=>this.sectionIndicesIndex.get(e);getOwnNullableProfile=e=>this.profilesIndex.get(e);getOwnNullableType=e=>this.typesIndex.get(e);getOwnNullableClass=e=>{const t=this.getOwnNullableType(e);return t instanceof Ka?t:void 0};getOwnNullableEnumeration=e=>{const t=this.getOwnNullableType(e);return t instanceof Xa?t:void 0};getOwnNullableMeasure=e=>{const t=this.getOwnNullableType(e);return t instanceof Qa?t:void 0};getOwnNullableAssociation=e=>this.associationsIndex.get(e);getOwnNullableFunction=e=>this.functionsIndex.get(e);getOwnNullableFunctionActivator=e=>this.functionActivatorsIndex.get(e);getOwnNullableStore=e=>this.storesIndex.get(e);getOwnNullableMapping=e=>this.mappingsIndex.get(e);getOwnNullableConnection=e=>this.connectionsIndex.get(e);getOwnNullableRuntime=e=>this.runtimesIndex.get(e);getOwnNullableService=e=>this.servicesIndex.get(e);getOwnNullableGenerationSpecification=e=>this.generationSpecificationsIndex.get(e);getOwnNullableFileGeneration=e=>this.fileGenerationsIndex.get(e);getOwnNullableDataElement=e=>this.dataElementsIndex.get(e);getOwnNullableExecutionEnviornment=e=>this.executionEnvironmentsIndex.get(e);getOwnSectionIndex=e=>W(this.getOwnNullableSectionIndex(e),`Can't find section index '${e}'`);getOwnProfile=e=>W(this.getOwnNullableProfile(e),`Can't find profile '${e}'`);getOwnType=e=>W(this.getOwnNullableType(e),`Can't find type '${e}'`);getOwnClass=e=>W(this.getOwnNullableClass(e),`Can't find class '${e}'`);getOwnEnumeration=e=>W(this.getOwnNullableEnumeration(e),`Can't find enumeration '${e}'`);getOwnMeasure=e=>W(this.getOwnNullableMeasure(e),`Can't find measure '${e}'`);getOwnAssociation=e=>W(this.getOwnNullableAssociation(e),`Can't find association '${e}'`);getOwnFunction=e=>W(this.getOwnNullableFunction(e),`Can't find function '${e}'`);getOwnFunctionActivator=e=>W(this.getOwnNullableFunctionActivator(e),`Can't find function activator '${e}'`);getOwnStore=e=>W(this.getOwnNullableStore(e),`Can't find store '${e}'`);getOwnDatabase=e=>X(this.getOwnNullableStore(e),hE,`Can't find database '${e}'`);getOwnFlatDataStore=e=>X(this.getOwnNullableStore(e),oE,`Can't find flat-data store '${e}'`);getOwnMapping=e=>W(this.getOwnNullableMapping(e),`Can't find mapping '${e}'`);getOwnConnection=e=>W(this.getOwnNullableConnection(e),`Can't find connection '${e}'`);getOwnRuntime=e=>W(this.getOwnNullableRuntime(e),`Can't find runtime '${e}'`);getOwnService=e=>W(this.getOwnNullableService(e),`Can't find service '${e}'`);getOwnGenerationSpecification=e=>W(this.getOwnNullableGenerationSpecification(e),`Can't find generation specification '${e}'`);getOwnFileGeneration=e=>W(this.getOwnNullableFileGeneration(e),`Can't find file generation '${e}'`);getOwnDataElement=e=>W(this.getOwnNullableDataElement(e),`Can't find data element '${e}'`);getOwnExecutionEnvironment=e=>W(this.getOwnNullableExecutionEnviornment(e),`Can't find execution environment element '${e}'`);getOwnNullableExtensionElement(e,t){return this.getExtensionForElementClass(t).getElement(e)}setOwnSection(e,t){this.elementSectionIndex.set(e,t)}setOwnSectionIndex(e,t){this.sectionIndicesIndex.set(e,t)}setOwnProfile(e,t){this.profilesIndex.set(e,t)}setOwnType(e,t){this.typesIndex.set(e,t)}setOwnAssociation(e,t){this.associationsIndex.set(e,t)}setOwnFunction(e,t){this.functionsIndex.set(e,t)}setOwnFunctionActivator(e,t){this.functionActivatorsIndex.set(e,t)}setOwnStore(e,t){this.storesIndex.set(e,t)}setOwnMapping(e,t){this.mappingsIndex.set(e,t)}setOwnConnection(e,t){this.connectionsIndex.set(e,t)}setOwnRuntime(e,t){this.runtimesIndex.set(e,t)}setOwnService(e,t){this.servicesIndex.set(e,t)}setOwnGenerationSpecification(e,t){this.generationSpecificationsIndex.set(e,t)}setOwnFileGeneration(e,t){this.fileGenerationsIndex.set(e,t)}setOwnDataElement(e,t){this.dataElementsIndex.set(e,t)}setOwnExecutionEnvironment(e,t){this.executionEnvironmentsIndex.set(e,t)}INTERNAL__setOwnUnknownElement(e,t){this.INTERNAL__unknownElementsIndex.set(e,t)}setOwnElementInExtension(e,t,i){this.getExtensionForElementClass(i).setElement(e,t)}get allOwnElements(){return[...this.ownProfiles,...this.ownEnumerations,...this.ownMeasures,...this.ownClasses,...this.ownAssociations,...this.ownFunctions,...this.ownFunctionActivators,...this.ownStores,...this.ownMappings,...this.ownServices,...this.ownRuntimes,...this.ownConnections,...this.ownGenerationSpecifications,...this.ownFileGenerations,...this.ownDataElements,...this.ownExecutionEnvironments,...Array.from(this.INTERNAL__unknownElementsIndex.values()),...this.extensions.flatMap((e=>e.elements))]}async dispose(){this.allOwnElements.length&&await Promise.all(this.allOwnElements.map((e=>P((()=>{e.dispose()})))))}getNullablePackage=e=>e?z((()=>AE(this.root,e,!1,void 0))):this.root;getOwnNullableElement(e,t){let i=this.sectionIndicesIndex.get(e)??this.INTERNAL__unknownElementsIndex.get(e)??this.typesIndex.get(e)??this.profilesIndex.get(e)??this.associationsIndex.get(e)??this.functionsIndex.get(e)??this.functionActivatorsIndex.get(e)??this.storesIndex.get(e)??this.mappingsIndex.get(e)??this.servicesIndex.get(e)??this.runtimesIndex.get(e)??this.connectionsIndex.get(e)??this.fileGenerationsIndex.get(e)??this.dataElementsIndex.get(e)??this.executionEnvironmentsIndex.get(e)??this.generationSpecificationsIndex.get(e);if(!i)for(const t of this.extensions){const s=t.getElement(e);if(s){i=s;break}}return t&&!i?this.getNullablePackage(e):i}addOwnElement(e,t){if(SE(t?IE(this,t,void 0):this.root,e),e instanceof eE)this.setOwnMapping(e.path,e);else if(e instanceof rE)this.setOwnStore(e.path,e);else if(e instanceof Wa)this.setOwnType(e.path,e);else if(e instanceof Zb)this.setOwnAssociation(e.path,e);else if(e instanceof tE)this.setOwnProfile(e.path,e);else if(e instanceof aE)this.setOwnFunction(e.path,e);else if(e instanceof VE)this.setOwnFunctionActivator(e.path,e);else if(e instanceof iE)this.setOwnService(e.path,e);else if(e instanceof lE)this.setOwnConnection(e.path,e);else if(e instanceof cE)this.setOwnRuntime(e.path,e);else if(e instanceof uE)this.setOwnFileGeneration(e.path,e);else if(e instanceof pE)this.setOwnGenerationSpecification(e.path,e);else if(e instanceof BE)this.setOwnDataElement(e.path,e);else if(e instanceof jE)this.setOwnExecutionEnvironment(e.path,e);else if(e instanceof Za);else{this.getExtensionForElementClass(O(e)).setElement(e.path,e)}}deleteOwnElement(e){if(e.package&&CE(e.package,e),e instanceof UE)this.INTERNAL__unknownElementsIndex.delete(e.path);else if(e instanceof eE)this.mappingsIndex.delete(e.path);else if(e instanceof rE)this.storesIndex.delete(e.path);else if(e instanceof Wa)this.typesIndex.delete(e.path),e instanceof Qa&&(e.canonicalUnit&&this.typesIndex.delete(e.canonicalUnit.path),e.nonCanonicalUnits.forEach((e=>this.typesIndex.delete(e.path))));else if(e instanceof Zb)this.associationsIndex.delete(e.path);else if(e instanceof tE)this.profilesIndex.delete(e.path);else if(e instanceof aE)this.functionsIndex.delete(e.path);else if(e instanceof VE)this.functionActivatorsIndex.delete(e.path);else if(e instanceof iE)this.servicesIndex.delete(e.path);else if(e instanceof cE)this.runtimesIndex.delete(e.path);else if(e instanceof lE)this.connectionsIndex.delete(e.path);else if(e instanceof uE)this.fileGenerationsIndex.delete(e.path);else if(e instanceof pE)this.generationSpecificationsIndex.delete(e.path);else if(e instanceof BE)this.dataElementsIndex.delete(e.path);else if(e instanceof jE)this.executionEnvironmentsIndex.delete(e.path);else if(e instanceof Za)e.children.forEach((e=>this.deleteOwnElement(e)));else{this.getExtensionForElementClass(O(e)).deleteElement(e.path)}}renameOwnElement(e,t,i){if(t===i)return;if(!i)throw new V(`Can't rename element '${t} to '${i}': path is empty'`);if(e instanceof Za&&!Boolean(i.match(/^(?:\w[\w$_-]*)(?:::\w[\w$_-]*)*$/))||!(e instanceof Za)&&!Boolean(i.match(/^(?:\w[\w$_-]*)(?:::\w[\w$_-]*)+$/)))throw new V(`Can't rename element '${t} to '${i}': invalid path'`);if(this.getOwnNullableElement(i,!0))throw new V(`Can't rename element '${t} to '${i}': another element with the same path already existed'`);const[s,n]=bE(i);if(!(e instanceof Za)){const t=this.getNullablePackage(s)??(""!==s?IE(this,s,void 0):this.root);e.name=n,e instanceof aE&&(e.functionName=FE(e,e.name)),e.package!==t&&(e.package&&CE(e.package,e),SE(t,e))}if(e instanceof UE)this.INTERNAL__unknownElementsIndex.delete(t),this.INTERNAL__unknownElementsIndex.set(i,e),e.content={...e.content,name:e.name,package:e.package?.path};else if(e instanceof GE)this.functionActivatorsIndex.delete(t),this.functionActivatorsIndex.set(i,e),e.content={...e.content,name:e.name,package:e.package?.path};else if(e instanceof zE)this.storesIndex.delete(t),this.storesIndex.set(i,e),e.content={...e.content,name:e.name,package:e.package?.path};else if(e instanceof eE)this.mappingsIndex.delete(t),this.mappingsIndex.set(i,e);else if(e instanceof rE)this.storesIndex.delete(t),this.storesIndex.set(i,e);else if(e instanceof Wa)this.typesIndex.delete(t),this.typesIndex.set(i,e),e instanceof Qa&&(e.canonicalUnit&&(this.typesIndex.delete(e.canonicalUnit.path),this.typesIndex.set(e.canonicalUnit.path.replace(t,i),e.canonicalUnit)),e.nonCanonicalUnits.forEach((e=>{this.typesIndex.delete(e.path),this.typesIndex.set(e.path.replace(t,i),e)})));else if(e instanceof Zb)this.associationsIndex.delete(t),this.associationsIndex.set(i,e);else if(e instanceof tE)this.profilesIndex.delete(t),this.profilesIndex.set(i,e);else if(e instanceof aE)this.functionsIndex.delete(t),this.functionsIndex.set(i,e);else if(e instanceof VE)this.functionActivatorsIndex.delete(t),this.functionActivatorsIndex.set(i,e);else if(e instanceof iE)this.servicesIndex.delete(t),this.servicesIndex.set(i,e);else if(e instanceof cE)this.runtimesIndex.delete(t),this.runtimesIndex.set(i,e);else if(e instanceof lE)this.connectionsIndex.delete(t),this.connectionsIndex.set(i,e);else if(e instanceof uE)this.fileGenerationsIndex.delete(t),this.fileGenerationsIndex.set(i,e);else if(e instanceof BE)this.dataElementsIndex.delete(t),this.dataElementsIndex.set(i,e);else if(e instanceof jE)this.executionEnvironmentsIndex.delete(t),this.executionEnvironmentsIndex.set(i,e);else if(e instanceof pE)this.generationSpecificationsIndex.delete(t),this.generationSpecificationsIndex.set(i,e);else if(e instanceof Za){const a=new Map;if(e.children.forEach((e=>{a.set(e.path,e)})),e.name=n,!e.package)throw new U("Can't rename root package");const r=e.package;if(r!==this.getNullablePackage(s)){CE(r,e);const t=""!==s?IE(this,s,void 0):this.root;SE(t,e)}a.forEach(((e,s)=>{this.renameOwnElement(e,s,s.replace(t,i))}))}else{this.getExtensionForElementClass(O(e)).renameElement(t,i)}}TEMPORARY__deleteOwnSectionIndex(){this.sectionIndicesIndex.forEach((e=>{e.setIsDeleted(!0),this.sectionIndicesIndex.delete(e.path)})),this.sectionIndicesIndex=new Map,this.elementSectionIndex=new Map}}const YE=":";class WE{}class KE extends WE{groupId;artifactId;versionId;constructor(e,t,i){super(),this.groupId=e,this.artifactId=t,this.versionId=i}}const JE="@dependency__",XE=e=>{if(0===e.indexOf(JE))return e.substring(13)};class qE extends $E{constructor(e,t,i){super(t.name,e,i),this.root=t}}const QE=(e,t)=>i=>{for(const s of e.dependencyGraphs){const e=t(s,i);if(e)return e}};class ZE{graphPlugins;_origin;roots=[];projectDependencyModelsIndex=new Map;constructor(e){this.graphPlugins=e}initialize(e){Array.from(e.entries()).forEach((([e,t])=>{const i=new Za((e=>`${JE}${e}`)(e));this.roots.push(i),this.projectDependencyModelsIndex.set(e,new qE(this.graphPlugins,i,new KE(t.groupId,t.artifactId,t.versionId)))}))}get numberOfDependencies(){return this.projectDependencyModelsIndex.size}get hasDependencies(){return Boolean(this.projectDependencyModelsIndex.size)}get dependencyGraphs(){return Array.from(this.projectDependencyModelsIndex.values())}get allOwnElements(){return this.dependencyGraphs.flatMap((e=>e.allOwnElements))}get origin(){return this._origin}setOrigin(e){if(this._origin)throw new U("Graph origin has already been set");this._origin=e}getOwnNullableSectionIndex=QE(this,((e,t)=>e.getOwnNullableSectionIndex(t)));getOwnNullableProfile=QE(this,((e,t)=>e.getOwnNullableProfile(t)));getOwnNullableType=QE(this,((e,t)=>e.getOwnNullableType(t)));getOwnNullableClass=QE(this,((e,t)=>e.getOwnNullableClass(t)));getOwnNullableEnumeration=QE(this,((e,t)=>e.getOwnNullableEnumeration(t)));getOwnNullableMeasure=QE(this,((e,t)=>e.getOwnNullableMeasure(t)));getOwnNullableAssociation=QE(this,((e,t)=>e.getOwnNullableAssociation(t)));getOwnNullableFunction=QE(this,((e,t)=>e.getOwnNullableFunction(t)));getOwnNullableFunctionActivator=QE(this,((e,t)=>e.getOwnNullableFunctionActivator(t)));getOwnNullableStore=QE(this,((e,t)=>e.getOwnNullableStore(t)));getOwnNullableMapping=QE(this,((e,t)=>e.getOwnNullableMapping(t)));getOwnNullableConnection=QE(this,((e,t)=>e.getOwnNullableConnection(t)));getOwnNullableRuntime=QE(this,((e,t)=>e.getOwnNullableRuntime(t)));getOwnNullableService=QE(this,((e,t)=>e.getOwnNullableService(t)));getOwnNullableGenerationSpecification=QE(this,((e,t)=>e.getOwnNullableGenerationSpecification(t)));getOwnNullableFileGeneration=QE(this,((e,t)=>e.getOwnNullableFileGeneration(t)));getOwnNullableDataElement=QE(this,((e,t)=>e.getOwnNullableDataElement(t)));getOwnExecutionEnvironment=QE(this,((e,t)=>e.getOwnNullableExecutionEnviornment(t)));getOwnNullableExtensionElement(e,t){for(const i of this.dependencyGraphs){const s=i.getExtensionForElementClass(t).getElement(e);if(s)return s}}get sectionIndices(){return this.dependencyGraphs.flatMap((e=>e.ownSectionIndices))}get profiles(){return this.dependencyGraphs.flatMap((e=>e.ownProfiles))}get enumerations(){return this.dependencyGraphs.flatMap((e=>e.ownEnumerations))}get measures(){return this.dependencyGraphs.flatMap((e=>e.ownMeasures))}get classes(){return this.dependencyGraphs.flatMap((e=>e.ownClasses))}get types(){return this.dependencyGraphs.flatMap((e=>e.ownTypes))}get associations(){return this.dependencyGraphs.flatMap((e=>e.ownAssociations))}get functions(){return this.dependencyGraphs.flatMap((e=>e.ownFunctions))}get functionActivators(){return this.dependencyGraphs.flatMap((e=>e.ownFunctionActivators))}get stores(){return this.dependencyGraphs.flatMap((e=>e.ownStores))}get databases(){return this.dependencyGraphs.flatMap((e=>e.ownDatabases))}get mappings(){return this.dependencyGraphs.flatMap((e=>e.ownMappings))}get services(){return this.dependencyGraphs.flatMap((e=>e.ownServices))}get runtimes(){return this.dependencyGraphs.flatMap((e=>e.ownRuntimes))}get connections(){return this.dependencyGraphs.flatMap((e=>e.ownConnections))}get dataElements(){return this.dependencyGraphs.flatMap((e=>e.ownDataElements))}get generationSpecifications(){return this.dependencyGraphs.flatMap((e=>e.ownGenerationSpecifications))}get fileGenerations(){return this.dependencyGraphs.flatMap((e=>e.ownFileGenerations))}get testables(){return this.dependencyGraphs.flatMap((e=>e.ownTestables))}get executionEnvironments(){return this.dependencyGraphs.flatMap((e=>e.ownExecutionEnvironments))}getExtensionElements(e){return this.dependencyGraphs.flatMap((t=>t.getExtensionElements(e)))}getModel(e){return W(this.projectDependencyModelsIndex.get(e),`Can't find dependency model with project ID '${e}'`)}getNullableElement(e,t){const i=this.dependencyGraphs.find((i=>Boolean(i.getOwnNullableElement(e,t))));return i?.getOwnNullableElement(e,t)}getElementOrigin(e){const t=this.dependencyGraphs.find((t=>Boolean(t.getOwnNullableElement(e.path))));return t?.origin instanceof KE?`${t.origin.groupId}${YE}${t.origin.artifactId}`:void 0}}class ev extends rE{static NAME="ModelStore";static INSTANCE=new ev;constructor(){super(ev.NAME)}accept_PackageableElementVisitor(e){throw new V}}class tv extends $E{primitiveTypesIndex=new Map;get primitiveTypes(){return Array.from(this.primitiveTypesIndex.values())}constructor(e){super(Ra.CORE,e),this.initializePrimitiveTypes(),this.setOwnStore(ev.NAME,ev.INSTANCE)}get allOwnElements(){return[...super.allOwnElements,...this.primitiveTypes]}initializePrimitiveTypes(){[gE.STRING,gE.BOOLEAN,gE.BINARY,gE.NUMBER,gE.INTEGER,gE.FLOAT,gE.DECIMAL,gE.DATE,gE.STRICTDATE,gE.DATETIME,gE.STRICTTIME,gE.LATESTDATE,gE.BYTE].forEach((e=>{this.primitiveTypesIndex.set(e.path,e),this.setOwnType(e.path,e)}))}}class iv extends $E{autoImports=[];constructor(e){super(Ra.SYSTEM,e)}initializeAutoImports(){this.autoImports=Ma.map((e=>X(this.getOwnNullableElement(e,!0),Za,`Can't find auto-import package '${e}'`)))}}class sv extends $E{constructor(e){super(Ra.MODEL_GENERATION,e)}}class nv extends $E{coreModel;systemModel;generationModel;dependencyManager;constructor(e,t,i){super(Ra.MAIN,i),this.coreModel=e,this.systemModel=t,this.generationModel=new sv(i),this.dependencyManager=new ZE(i)}get autoImports(){return this.systemModel.autoImports}get primitiveTypes(){return this.coreModel.primitiveTypes}get sectionIndices(){return[...this.coreModel.ownSectionIndices,...this.systemModel.ownSectionIndices,...this.dependencyManager.sectionIndices,...this.ownSectionIndices,...this.generationModel.ownSectionIndices]}get profiles(){return[...this.coreModel.ownProfiles,...this.systemModel.ownProfiles,...this.dependencyManager.profiles,...this.ownProfiles,...this.generationModel.ownProfiles]}get enumerations(){return[...this.coreModel.ownEnumerations,...this.systemModel.ownEnumerations,...this.dependencyManager.enumerations,...this.ownEnumerations,...this.generationModel.ownEnumerations]}get measures(){return[...this.coreModel.ownMeasures,...this.systemModel.ownMeasures,...this.dependencyManager.measures,...this.ownMeasures,...this.generationModel.ownMeasures]}get classes(){return[...this.coreModel.ownClasses,...this.systemModel.ownClasses,...this.dependencyManager.classes,...this.ownClasses,...this.generationModel.ownClasses]}get types(){return[...this.coreModel.ownTypes,...this.systemModel.ownTypes,...this.dependencyManager.types,...this.ownTypes,...this.generationModel.ownTypes]}get associations(){return[...this.coreModel.ownAssociations,...this.systemModel.ownAssociations,...this.dependencyManager.associations,...this.ownAssociations,...this.generationModel.ownAssociations]}get functions(){return[...this.coreModel.ownFunctions,...this.systemModel.ownFunctions,...this.dependencyManager.functions,...this.ownFunctions,...this.generationModel.ownFunctions]}get functionActivators(){return[...this.coreModel.ownFunctionActivators,...this.systemModel.ownFunctionActivators,...this.dependencyManager.functionActivators,...this.ownFunctionActivators,...this.generationModel.ownFunctionActivators]}get stores(){return[...this.coreModel.ownStores,...this.systemModel.ownStores,...this.dependencyManager.stores,...this.ownStores,...this.generationModel.ownStores]}get databases(){return[...this.coreModel.ownDatabases,...this.systemModel.ownDatabases,...this.dependencyManager.databases,...this.ownDatabases,...this.generationModel.ownDatabases]}get mappings(){return[...this.coreModel.ownMappings,...this.systemModel.ownMappings,...this.dependencyManager.mappings,...this.ownMappings,...this.generationModel.ownMappings]}get services(){return[...this.coreModel.ownServices,...this.systemModel.ownServices,...this.dependencyManager.services,...this.ownServices,...this.generationModel.ownServices]}get runtimes(){return[...this.coreModel.ownRuntimes,...this.systemModel.ownRuntimes,...this.dependencyManager.runtimes,...this.ownRuntimes,...this.generationModel.ownRuntimes]}get connections(){return[...this.coreModel.ownConnections,...this.systemModel.ownConnections,...this.dependencyManager.connections,...this.ownConnections,...this.generationModel.ownConnections]}get dataElements(){return[...this.coreModel.ownDataElements,...this.systemModel.ownDataElements,...this.dependencyManager.dataElements,...this.ownDataElements,...this.generationModel.ownDataElements]}get executionEnvironments(){return[...this.coreModel.ownExecutionEnvironments,...this.systemModel.ownExecutionEnvironments,...this.dependencyManager.executionEnvironments,...this.ownExecutionEnvironments,...this.generationModel.ownExecutionEnvironments]}get generationSpecifications(){return[...this.coreModel.ownGenerationSpecifications,...this.systemModel.ownGenerationSpecifications,...this.dependencyManager.generationSpecifications,...this.ownGenerationSpecifications,...this.generationModel.ownGenerationSpecifications]}get fileGenerations(){return[...this.coreModel.ownFileGenerations,...this.systemModel.ownFileGenerations,...this.dependencyManager.fileGenerations,...this.ownFileGenerations,...this.generationModel.ownFileGenerations]}get allElements(){return[...this.coreModel.allOwnElements,...this.systemModel.allOwnElements,...this.dependencyManager.allOwnElements,...this.allOwnElements,...this.generationModel.allOwnElements]}get testables(){return[...this.coreModel.ownTestables,...this.systemModel.ownTestables,...this.dependencyManager.testables,...this.ownTestables,...this.generationModel.ownTestables]}getPrimitiveType=e=>W(this.coreModel.primitiveTypesIndex.get(e),`Can't find primitive type '${e}'`);getType=e=>W(this.getOwnNullableType(e)??this.generationModel.getOwnNullableType(e)??this.dependencyManager.getOwnNullableType(e)??this.systemModel.getOwnNullableType(e)??this.coreModel.getOwnNullableType(e),`Can't find type '${e}'`);getProfile=e=>W(this.getOwnNullableProfile(e)??this.generationModel.getOwnNullableProfile(e)??this.dependencyManager.getOwnNullableProfile(e)??this.systemModel.getOwnNullableProfile(e),`Can't find profile '${e}'`);getEnumeration=e=>X(this.getType(e),Xa,`Can't find enumeration '${e}'`);getMeasure=e=>X(this.getType(e),Qa,`Can't find measure '${e}'`);getUnit=e=>X(this.getType(e),qa,`Can't find unit '${e}'`);getClass=e=>X(this.getType(e),Ka,`Can't find class '${e}'`);getAssociation=e=>W(this.getOwnNullableAssociation(e)??this.generationModel.getOwnNullableAssociation(e)??this.dependencyManager.getOwnNullableAssociation(e)??this.systemModel.getOwnNullableAssociation(e),`Can't find association '${e}'`);getPropertyOwner=e=>W(this.getOwnNullableAssociation(e)??this.generationModel.getOwnNullableAssociation(e)??this.dependencyManager.getOwnNullableAssociation(e)??this.systemModel.getOwnNullableAssociation(e)??X(this.getType(e),Ka),`Can't find property owner '${e}'`);getFunction=e=>X(this.getOwnNullableFunction(e)??this.generationModel.getOwnNullableFunction(e)??this.dependencyManager.getOwnNullableFunction(e)??this.systemModel.getOwnNullableFunction(e),aE,`Can't find function '${e}'`);getFunctionActivator=e=>X(this.getOwnNullableFunctionActivator(e)??this.generationModel.getOwnNullableFunctionActivator(e)??this.dependencyManager.getOwnNullableFunctionActivator(e)??this.systemModel.getOwnNullableFunctionActivator(e),VE,`Can't find function activator '${e}'`);getStore=e=>W(this.getOwnNullableStore(e)??this.generationModel.getOwnNullableStore(e)??this.dependencyManager.getOwnNullableStore(e)??this.systemModel.getOwnNullableStore(e)??this.coreModel.getOwnNullableStore(e),`Can't find store '${e}'`);getFlatDataStore=e=>X(this.getStore(e),oE,`Can't find flat-data store '${e}'`);getDatabase=e=>X(this.getStore(e),hE,`Can't find database store '${e}'`);getMapping=e=>W(this.getOwnNullableMapping(e)??this.generationModel.getOwnNullableMapping(e)??this.dependencyManager.getOwnNullableMapping(e)??this.systemModel.getOwnNullableMapping(e),`Can't find mapping '${e}'`);getService=e=>W(this.getOwnNullableService(e)??this.generationModel.getOwnNullableService(e)??this.dependencyManager.getOwnNullableService(e)??this.systemModel.getOwnNullableService(e),`Can't find service '${e}'`);getConnection=e=>W(this.getOwnNullableConnection(e)??this.generationModel.getOwnNullableConnection(e)??this.dependencyManager.getOwnNullableConnection(e)??this.systemModel.getOwnNullableConnection(e),`Can't find connection '${e}'`);getRuntime=e=>W(this.getOwnNullableRuntime(e)??this.generationModel.getOwnNullableRuntime(e)??this.dependencyManager.getOwnNullableRuntime(e)??this.systemModel.getOwnNullableRuntime(e),`Can't find runtime '${e}'`);getGenerationSpecification=e=>W(this.getOwnNullableGenerationSpecification(e)??this.generationModel.getOwnNullableGenerationSpecification(e)??this.dependencyManager.getOwnNullableGenerationSpecification(e)??this.systemModel.getOwnNullableGenerationSpecification(e),`Can't find generation specification '${e}'`);getFileGeneration=e=>W(this.getOwnNullableFileGeneration(e)??this.generationModel.getOwnNullableFileGeneration(e)??this.dependencyManager.getOwnNullableFileGeneration(e)??this.systemModel.getOwnNullableFileGeneration(e),`Can't find file generation '${e}'`);getDataElement=e=>W(this.getOwnNullableDataElement(e)??this.generationModel.getOwnNullableDataElement(e)??this.dependencyManager.getOwnNullableDataElement(e)??this.systemModel.getOwnNullableDataElement(e),`Can't find data element '${e}'`);getExtensionElement(e,t,i){return W(this.getOwnNullableExtensionElement(e,t)??this.generationModel.getOwnNullableExtensionElement(e,t)??this.dependencyManager.getOwnNullableExtensionElement(e,t)??this.systemModel.getOwnNullableExtensionElement(e,t),i??`Can't find element '${e}'`)}getElement=(e,t)=>W(this.getNullableElement(e,t),`Can't find element '${e}'`);getNullableClass=e=>z((()=>this.getClass(e)));getNullableMapping=e=>z((()=>this.getMapping(e)));getNullableService=e=>z((()=>this.getService(e)));getNullableRuntime=e=>z((()=>this.getRuntime(e)));getNullableFileGeneration=e=>z((()=>this.getFileGeneration(e)));getNullableElement(e,t){const i=super.getOwnNullableElement(e)??this.dependencyManager.getNullableElement(e)??this.generationModel.getOwnNullableElement(e)??this.systemModel.getOwnNullableElement(e)??this.coreModel.getOwnNullableElement(e);return t&&!i?this.getNullablePackage(e)??this.dependencyManager.getNullableElement(e,!0)??this.generationModel.getNullablePackage(e)??this.systemModel.getNullablePackage(e):i}getMultiplicity(e,t){let i;return 1===e&&1===t?i=Jb.ONE:0===e&&1===t?i=Jb.ZERO_ONE:0===e&&void 0===t?i=Jb.ZERO_MANY:1===e&&void 0===t?i=Jb.ONE_MANY:0===e&&0===t&&(i=Jb.ZERO),i??new Jb(e,t)}addElement(e,t){const i=EE(t??"",e.name);if(this.getNullableElement(i,!1))throw new U(`Can't create element '${i}': another element with the same path already existed`);super.addOwnElement(e,t)}deleteElement(e){super.deleteOwnElement(e);const t=this.graphPlugins.flatMap((e=>e.getExtraDeadReferencesCleaners?.()??[]));for(const e of t)e(this)}renameElement(e,t){if(this.getNullableElement(t,!1))throw new U(`Can't rename element '${e.path}' to '${t}': another element with the same path already existed`);super.renameOwnElement(e,e.path,t)}}class av extends nr{ownerReference;value;constructor(e,t){super(e),this.ownerReference=e,this.value=t}get pointerHashCode(){return[Ua.STEREOTYPE_POINTER,this.value.value,this.ownerReference.valueForSerialization??""].map(ya).join(",")}}class rv extends av{ownerReference;constructor(e){const t=rr.create(e._OWNER);super(t,e),this.ownerReference=t}static create(e){return new rv(e)}}class ov extends nr{ownerReference;value;constructor(e,t){super(e),this.ownerReference=e,this.value=t}get pointerHashCode(){return[Ua.TAG_POINTER,this.value.value,this.ownerReference.valueForSerialization??""].map(ya).join(",")}}class cv extends ov{ownerReference;constructor(e){const t=rr.create(e._OWNER);super(t,e),this.ownerReference=t}static create(e){return new cv(e)}}class lv extends nr{ownerReference;value;constructor(e,t){super(e),this.ownerReference=e,this.value=t}get pointerHashCode(){return[Ua.PROPERTY_POINTER,this.value.name,this.ownerReference.valueForSerialization??""].map(ya).join(",")}}class dv extends lv{ownerReference;constructor(e){const t=rr.create(e._OWNER);super(t,e),this.ownerReference=t}static create(e){return new dv(e)}}var uv;!function(e){e.DB2="DB2",e.H2="H2",e.MemSQL="MemSQL",e.Sybase="Sybase",e.SybaseIQ="SybaseIQ",e.Composite="Composite",e.Postgres="Postgres",e.SqlServer="SqlServer",e.Hive="Hive",e.Snowflake="Snowflake",e.Databricks="Databricks",e.Presto="Presto",e.Redshift="Redshift",e.BigQuery="BigQuery",e.Spanner="Spanner",e.Trino="Trino"}(uv||(uv={}));var pv;!function(e){e.V1_0_0="v1_0_0",e.VX_X_X="vX_X_X"}(pv||(pv={}));const hv=(e,t)=>`${W(e,"Package path is required")}${Ia}${W(t,"Name is required")}`;const mv=e=>e instanceof iv?"System elements":e instanceof sv?"Generation elements":e instanceof qE&&e.origin instanceof KE?`Project dependency ${e.origin.groupId}${YE}${e.origin.artifactId} `:"";class gv{elementClassName;_class;prerequisites=[];firstPass;secondPass;thirdPass;fourthPass;fifthPass;constructor(e){this.elementClassName=e.elementClassName,this._class=e._class,this.prerequisites=e.prerequisites??[],this.firstPass=e.firstPass,this.secondPass=e.secondPass,this.thirdPass=e.thirdPass,this.fourthPass=e.fourthPass,this.fifthPass=e.fifthPass}getElementProtocolClass(){return this._class}getPrerequisiteElementProtocolClasses(){return this.prerequisites}runFirstPass(e,t,i,s){q(e.package,"Element 'package' field is missing or empty"),q(e.name,"Element 'name' field is missing or empty");((e,t,i)=>{if(i){if(i.has(e)){const i=t.graph.getNullableElement(e),s=DE(W(i),t.graph);throw new H(`${mv(t.currentSubGraph)}Element '${e}' already exists${s?` in ${s}`:""}`)}i.add(e)}else{const i=t.graph.getNullableElement(e);if(i){const s=DE(i,t.graph);throw new H(`${mv(t.currentSubGraph)}Element '${e}' already exists${s?` in ${s}`:""}`)}}})(hv(e.package,e.name),t,s);const n=this.firstPass(e,t);return SE(IE(t.currentSubGraph,e.package,i),n),n}runSecondPass(e,t){this.secondPass?.(e,t)}runThirdPass(e,t){this.thirdPass?.(e,t)}runFourthPass(e,t){this.fourthPass?.(e,t)}runFifthPass(e,t){this.fifthPass?.(e,t)}}class fv{_PARENT;_isEmbedded=!1;id;class;root;superSetImplementationId;constructor(e,t,i,s){this.id=e,this._PARENT=t,this.class=i,this.root=s}get hashCode(){return Na([Ua.SET_IMPLEMENTATION,this.id.valueForSerialization??"",this.class.valueForSerialization??"",this.root.valueForSerialization.toString(),this.superSetImplementationId??""])}}var _v;!function(e){e.STORE_UNION="STORE_UNION",e.ROUTER_UNION="ROUTER_UNION",e.INHERITANCE="INHERITANCE",e.MERGE="MERGE"}(_v||(_v={}));class bv extends eE{static NAME="INTERNAL__PseudoMapping";static INSTANCE=new bv;constructor(){super(bv.NAME)}}const Ev=(e,t)=>{e.name=t.name,e.package=t.package?.path??""};class vv extends fv{mappingClass;propertyMappings=[]}class Tv{value;constructor(e){this.value=e}}class Sv extends Tv{defaultValue;constructor(e,t){super(e),this.defaultValue=t}get isDefault(){return this.defaultValue===this.value}}class Cv extends Sv{static create(e,t){return new Cv(e,vE(t))}get valueForSerialization(){if(!this.isDefault)return this.value}}class yv extends Tv{}class Nv extends yv{constructor(e){super(e)}static create(e){return new Nv(e)}get valueForSerialization(){return this.value}}class Av extends Ka{static NAME="INTERNAL__PseudoClass";static INSTANCE=new Av;constructor(){super(Av.NAME)}}class Iv extends vv{static NAME="INTERNAL__PseudoInstanceSetImplementation";static INSTANCE=new Iv;constructor(){super(Cv.create("",Av.INSTANCE.path),bv.INSTANCE,rr.create(Av.INSTANCE),Nv.create(!1))}accept_SetImplementationVisitor(e){throw new V}}const xv=(e,t)=>{const i=new Qp;return i.class=t?.isTransformingEmbeddedPropertyMapping||t?.isTransformingLocalPropertyMapping?void 0:e.ownerReference.valueForSerialization??"",i.property=e.value.name,i};const Ov=e=>e.classView.value.id,wv=e=>{const t=new Pp,i=new wp;return i.points=e.pathForSerialization,t.line=i,t.property=xv(e.property),t.sourceView=Ov(e.from),t.targetView=Ov(e.to),t},Rv=e=>{const t=new Mp,i=new wp;return i.points=e.pathForSerialization,t.line=i,t.sourceView=Ov(e.from),t.targetView=Ov(e.to),t},kv=e=>{const t=new Ip;return t.class=e.class.valueForSerialization??"",t.hideProperties=e.hideProperties,t.hideStereotypes=e.hideStereotypes,t.hideTaggedValues=e.hideTaggedValues,t.id=e.id,t.position=((e,t)=>{const i=new xp;return i.x=e,i.y=t,i})(e.position.x,e.position.y),t.rectangle=((e,t)=>{const i=new Op;return i.height=e,i.width=t,i})(e.rectangle.height,e.rectangle.width),t};class Pv{x;y;constructor(e,t){this.x=e,this.y=t}get hashCode(){return Na([vp.POINT,this.x.toString(),this.y.toString()])}}class Mv{width;height;constructor(e,t){this.width=e,this.height=t}get hashCode(){return Na([vp.RECTANGLE,this.width.toString(),this.height.toString()])}}class Lv{_dummyObservable={};position;rectangle;constructor(e,t){this.position=e,this.rectangle=t}center=()=>new Pv(this.position.x+this.rectangle.width/2,this.position.y+this.rectangle.height/2);contains(e,t){const i=this.normalizeBox(this);return e>i.position.x&&e<i.position.x+i.rectangle.width&&t>i.position.y&&t<i.position.y+i.rectangle.height}normalizeBox(e){let t=e;return e.rectangle.width<0&&(t=new Lv(new Pv(e.position.x+e.rectangle.width,e.position.y),new Mv(-e.rectangle.width,e.rectangle.height))),e.rectangle.height<0&&(t=new Lv(new Pv(e.position.x,e.position.y+e.rectangle.height),new Mv(e.rectangle.width,-e.rectangle.height))),t}get hashCode(){return this._dummyObservable,Na([vp.POSITIONED_RECTANGLE,this.position,this.rectangle])}}class Fv extends Lv{_OWNER;class;id;hideProperties;hideTaggedValues;hideStereotypes;constructor(e,t,i){super(new Pv(0,0),new Mv(0,0)),this._OWNER=e,this.id=t,this.class=i}get hashCode(){return Na([vp.CLASS_VIEW,super.hashCode,this.id,this.class.valueForSerialization??"",this.hideProperties?.toString()??"",this.hideTaggedValues?.toString()??"",this.hideStereotypes?.toString()??""])}}class Dv{_offsetX;_offsetY;classView;constructor(e){this.classView=e}}class Bv extends nr{ownerReference;value;constructor(e,t){super(e),this.ownerReference=e,this.value=t}}class jv extends Bv{ownerReference;constructor(e){const t=rr.create(e._OWNER);super(t,e),this.ownerReference=t}static create(e){return new jv(e)}}class Uv{_OWNER;from;to;path=[];constructor(e,t,i){this._OWNER=e,this.from=new Dv(jv.create(t)),this.to=new Dv(jv.create(i))}computeEdgeEndpoint(e,t=!0){const i=e.classView.value,s=e.classView.value.center(),n=s.x+(e._offsetX??0),a=s.y+(e._offsetY??0);return i.contains(n,a)?new Pv(n,a):(t&&(e._offsetX=0,e._offsetY=0),new Pv(s.x,s.y))}buildFullPath(e=!0){return[this.computeEdgeEndpoint(this.from,e),...this.path,this.computeEdgeEndpoint(this.to,e)]}static pruneUnnecessaryInsidePoints=(e,t,i)=>{Z(Boolean(e.length),"Path requires at least 1 point");let s=0,n=e[s];for(;s<e.length-1&&t.contains(n.x,n.y);)s++,n=e[s];let a=e.length-1,r=e[a];for(;a>0&&i.contains(r.x,r.y);)a--,r=e[a];const o=e.slice(s-1,a+2);return o.length<2?[n,r]:o};get pathForSerialization(){return Uv.pruneUnnecessaryInsidePoints(this.buildFullPath(),this.from.classView.value,this.to.classView.value)}get hashCode(){return Na([vp.RELATIONSHIP_VIEW,this.from.classView.value.id,this.to.classView.value.id,Na(this.pathForSerialization)])}}class Vv extends Uv{property;constructor(e,t,i,s){super(e,i,s),this.property=t}get hashCode(){return Na([vp.PROPERTY_HOLDER_VIEW,super.hashCode,this.property.pointerHashCode])}}class Gv extends Vv{get hashCode(){return Na([vp.PROPERTY_VIEW,super.hashCode])}}class zv extends Uv{get hashCode(){return Na([vp.GENERALIZATION_VIEW,super.hashCode])}}class Hv{x;y;constructor(e,t){this.x=e,this.y=t}static fromPoints(e,t){return new Hv(t.x-e.x,t.y-e.y)}unit(){const e=Math.sqrt(this.x*this.x+this.y*this.y);return new Hv(this.x/e,this.y/e)}normal(e){return new Hv(e.y-this.y,-(e.x-this.x))}dotProduct(e){return this.x*e.x+this.y*e.y}}const $v=e=>{let t=0,i=0;for(;e.offsetParent;)t+=e.offsetLeft-e.scrollLeft+e.clientLeft,i+=e.offsetTop-e.scrollTop+e.clientTop,e=e.offsetParent;return new Pv(t,i)},Yv=(e,t)=>e.classViews.find((e=>e.id===t)),Wv=(e,t)=>{e.path=t},Kv=e=>{const t=e.buildFullPath(),i=Uv.pruneUnnecessaryInsidePoints(t,e.from.classView.value,e.to.classView.value);if(i[0]!==t[0]){const t=e.from.classView.value.center();e.from._offsetX=W(i[0],"Diagram path expected to have at least 2 points").x-t.x,e.from._offsetY=W(i[0],"Diagram path expected to have at least 2 points").y-t.y}if(i[i.length-1]!==t[t.length-1]){const t=e.to.classView.value.center();e.to._offsetX=i[i.length-1].x-t.x,e.to._offsetY=i[i.length-1].y-t.y}const s=[];for(let e=0;e<i.length-2;e++){const t=Hv.fromPoints(i[e+1],i[e]).unit(),n=Hv.fromPoints(i[e+1],i[e+2]).unit(),a=t.dotProduct(n),r=180*Math.acos(a)/Math.PI;Math.abs(r-180)>5&&s.push(i[e+1])}Wv(e,s)},Jv=(e,t)=>e.x*Math.cos(t)-e.y*Math.sin(t),Xv=(e,t)=>e.x*Math.sin(t)+e.y*Math.cos(t),qv=e=>new Pv(e.position.x+e.rectangle.width,e.position.y+e.rectangle.height),Qv=e=>{const t=qv(e);return new Lv(new Pv(t.x-5,t.y-5),new Mv(10,10))},Zv=(e,t)=>(t=e.normalizeBox(t),e.contains(t.position.x,t.position.y)||e.contains(t.position.x+t.rectangle.width,t.position.y)||e.contains(t.position.x,t.position.y+t.rectangle.height)||e.contains(t.position.x+t.rectangle.width,t.position.y+t.rectangle.height)),eT=e=>{const t=W(e.x,"Point 'x' coordinate is missing"),i=W(e.y,"Point 'y' coordinate is missing");return new Pv(t,i)},tT=(e,t,i)=>{q(e.class,"Class view 'class' field is missing or empty"),q(e.id,"Class view 'id' field is missing or empty"),Y(e.rectangle,"Class view 'rectangle' field is missing"),Y(e.position,"Class view 'position' field is missing");const s=new Fv(i,e.id,t.resolveClass(e.class));return s.hideProperties=e.hideProperties,s.hideTaggedValues=e.hideTaggedValues,s.hideStereotypes=e.hideStereotypes,s.rectangle=(e=>{const t=W(e.width,"Rectangle 'width' is missing"),i=W(e.height,"Rectangle 'height' is missing");return new Mv(t,i)})(e.rectangle),s.position=eT(e.position),s};class iT extends Wb{constructor(){super(ga.extensions.pureProtocolProcessorPlugin,ga.version)}V1_getExtraElementBuilders(){return[new gv({elementClassName:"Diagram",_class:Np,firstPass:(e,t)=>{J(e,Np);const i=new Tp(e.name),s=hv(e.package,e.name);return t.currentSubGraph.setOwnElementInExtension(s,i,Tp),i},secondPass:(e,t)=>{J(e,Np);const i=((e,t)=>W(t.getOwnNullableExtensionElement(e,Tp),`Can't find diagram '${e}'`))(hv(e.package,e.name),t.currentSubGraph);i.classViews=e.classViews.map((e=>tT(e,t,i))),i.propertyViews=e.propertyViews.map((e=>((e,t,i)=>{Y(e.property,"Property view 'property' field is missing"),Y(e.line,"Property view 'line' field is missing");const s=W(Yv(i,W(e.sourceView)),"Property view 'sourceView' field is missing"),n=W(Yv(i,W(e.targetView)),"Property view 'targetView' field is missing"),a=t.resolveOwnProperty(e.property),r=new Gv(i,a,s,n);r.path=e.line.points.map((e=>eT(e)));try{Kv(r)}catch(e){G(e),t.logService.warn(u.create(e.message))}return r})(e,t,i))),i.generalizationViews=e.generalizationViews.map((e=>((e,t,i)=>{Y(e.line,"Generalization view 'line' field is missing");const s=W(Yv(t,W(e.sourceView)),"Generalization view 'sourceView' field is missing"),n=W(Yv(t,W(e.targetView)),"Generalization view 'targetView' field is missing"),a=new zv(t,s,n);a.path=e.line.points.map((e=>eT(e)));try{Kv(a)}catch(e){G(e),i.logService.warn(u.create(e.message))}return a})(e,i,t)))}})]}V1_getExtraElementClassifierPathGetters(){return[e=>{if(e instanceof Np)return"meta::pure::metamodel::diagram::Diagram"}]}V1_getExtraElementProtocolSerializers(){return[(e,t)=>{if(e instanceof Np)return(0,Ne.serialize)(Yb,e)}]}V1_getExtraElementProtocolDeserializers(){return[(e,t)=>{if(e._type===jb)return(0,Ne.deserialize)(Yb,e)}]}V1_getExtraElementTransformers(){return[(e,t)=>{if(e instanceof Tp)return(e=>{const t=new Np;return Ev(t,e),t.classViews=e.classViews.map(kv),t.generalizationViews=e.generalizationViews.map(Rv),t.propertyViews=e.propertyViews.map(wv),t})(e)}]}}class sT extends o{_$nominalTypeBrand;install(e){e.registerPureGraphPlugin(this)}}class nT extends sT{constructor(){super(ga.extensions.pureGraphPlugin,ga.version)}getExtraPureGraphExtensionClasses(){return[Tp]}getExtraDeadReferencesCleaners(){return[e=>{e.getExtensionForElementClass(Tp).elements.forEach((t=>((e,t)=>{e.propertyViews.filter((e=>!(e.property.ownerReference.value instanceof Ka?PE(e.property.ownerReference.value):e.property.ownerReference.value.properties).map((e=>e.name)).includes(e.property.value.name))).forEach((t=>F(e.propertyViews,t))),e.classViews.filter((e=>!t.getNullableClass(e.class.value.path))).forEach((t=>F(e.classViews,t))),e.generalizationViews.filter((e=>{const i=e.from.classView.value.class.value,s=e.to.classView.value.class.value;return!t.getNullableClass(i.path)||!t.getNullableClass(s.path)||0===i.generalizations.filter((e=>e.value.rawType===s)).length})).forEach((t=>F(e.generalizationViews,t)))})(t,e)))}]}}class aT extends l{constructor(){super(ga.extensions.graphManagerPreset,ga.version,[new nT,new Sp,new iT])}}var rT=i(979),oT=i(4926);class cT{historyAPI;_isNavigationBlocked=!1;_forceBypassNavigationBlocking=!1;_blockCheckers=[];_beforeUnloadListener=e=>{this._forceBypassNavigationBlocking||this._blockCheckers.some((e=>e()))&&(e.returnValue="")};onBlock;onNativePlatformNavigationBlock;constructor(e){(0,Ve.makeObservable)(this,{_isNavigationBlocked:Ve.observable,isNavigationBlocked:Ve.computed,blockNavigation:Ve.action,unblockNavigation:Ve.action}),this.historyAPI=e}get window(){return W(window,"Window object is not available in non-web environment")}goToLocation(e,t){t?.ignoreBlocking&&(this._forceBypassNavigationBlocking=!0);const i=()=>{this._forceBypassNavigationBlocking=!0,this.window.location.href=this.generateAddress(e)};!this._forceBypassNavigationBlocking&&this._blockCheckers.some((e=>e()))?this.onBlock?.(i):i()}reload(e){e?.ignoreBlocking&&(this._forceBypassNavigationBlocking=!0);const t=()=>{this._forceBypassNavigationBlocking=!0,this.window.location.reload()};!this._forceBypassNavigationBlocking&&this._blockCheckers.some((e=>e()))?this.onBlock?.(t):t()}goToAddress(e,t){t?.ignoreBlocking&&(this._forceBypassNavigationBlocking=!0);const i=()=>{this._forceBypassNavigationBlocking=!0,this.window.location.href=e};!this._forceBypassNavigationBlocking&&this._blockCheckers.some((e=>e()))?this.onBlock?.(i):i()}visitAddress(e){this.window.open(e,"_blank")}generateAddress(e){return this.window.location.origin+this.historyAPI.createHref({pathname:e})}updateCurrentLocation(e){this.historyAPI.push(e)}updateCurrentZone(e){this.window.location.hash="#"+e}resetZone(){this.updateCurrentLocation(this.getCurrentLocation())}getCurrentBaseAddress(e){return e?.withAppRoot?this.generateAddress(""):this.window.location.origin}getCurrentAddress(){return this.window.location.href}getCurrentLocation(){return this.historyAPI.location.pathname}getCurrentLocationParameters(){const e={},t=((e,t=!1)=>t?de.default.parseUrl(e).query:de.default.parse(e))((i=this.getCurrentAddress(),(0,ue.sanitizeUrl)(i)),!0);var i;return Object.keys(t).forEach((i=>{e[i]=((e,t)=>{const i=t[e];return i?decodeURIComponent(i):void 0})(i,t)})),e}getCurrentLocationParameterValue(e){return this.getCurrentLocationParameters()[e]}getCurrentZone(){return this.window.location.hash.substring(1)}blockNavigation(e,t,i){this._isNavigationBlocked=!0,this.onBlock=t,this.onNativePlatformNavigationBlock=i,this.window.history.pushState(null,"",this.getCurrentAddress()),this.window.onpopstate=()=>{window.history.forward(),this.onNativePlatformNavigationBlock?.()},this._blockCheckers=e,this.window.removeEventListener("beforeunload",this._beforeUnloadListener),this.window.addEventListener("beforeunload",this._beforeUnloadListener)}unblockNavigation(){this._isNavigationBlocked=!1,this.onBlock=void 0,this.window.onpopstate=null,this._blockCheckers=[],this.window.removeEventListener("beforeunload",this._beforeUnloadListener)}get isNavigationBlocked(){return this._isNavigationBlocked}INTERNAL__internalizeTransientParameter(e){const t=this.getCurrentZone(),i=this.getCurrentLocationParameters();var s,n;delete i[e],this.updateCurrentLocation((s=this.getCurrentLocation(),n=(e=>{const t={};return Object.entries(e).forEach((([e,i])=>{i&&(t[e]=i.toString())})),de.default.stringify(t)})(i),n?`${s}?${n}`:s)),this.updateCurrentZone(t)}}class lT{applicationStore;constructor(e){this.applicationStore=e}async initialize(){}}var dT;!function(e){e.INITIAL_COLOR_THEME="initialColorTheme"}(dT||(dT={}));class uT extends lT{navigator;constructor(e,t){super(e),this.navigator=new cT(t.historyAPI)}getNavigator(){return this.navigator}async initialize(){const e=this.applicationStore.navigationService.navigator.getCurrentLocationParameterValue(dT.INITIAL_COLOR_THEME);e&&(this.applicationStore.layoutService.setColorTheme(e),this.applicationStore.navigationService.navigator.INTERNAL__internalizeTransientParameter(dT.INITIAL_COLOR_THEME))}}const pT=(0,Xt.createContext)(void 0),hT=({children:e})=>{const t=Qt(),i=(0,rT.useHistory)(),s=(0,Ft.useLocalObservable)((()=>new uT(t,{historyAPI:i})));return(0,E.jsx)(pT.Provider,{value:s,children:e})},mT=({children:e,baseUrl:t})=>(0,E.jsx)(oT.BrowserRouter,{basename:t,children:(0,E.jsx)(hT,{children:e})}),gT="/welcome.pure",fT="/",_T="::";var bT,ET;!function(e){e.CONCEPT_EXPLORER="CONCEPT_EXPLORER",e.FILE_EXPLORER="FILE_EXPLORER"}(bT||(bT={})),function(e){e.TERMINAL="TERMINAL",e.SEARCH="SEARCH",e.REFERENCES="REFERNECES",e.TEST_RUNNER="TEST_RUNNER",e.CODE_FIX_SUGGESTION="CODE_FIX_SUGGESTION"}(ET||(ET={}));var vT,TT=i(7259);!function(e){e.WHITESPACE="",e.KEYWORD="keyword",e.IDENTIFIER="identifier",e.OPERATOR="operator",e.DELIMITER="delimiter",e.PARSER="parser",e.NUMBER="number",e.DATE="date",e.COLOR="color",e.PACKAGE="package",e.STRING="string",e.COMMENT="comment",e.LANGUAGE_STRUCT="language-struct",e.MULTIPLICITY="multiplicity",e.GENERICS="generics",e.PROPERTY="property",e.PARAMETER="parameter",e.VARIABLE="variable",e.TYPE="type",e.INVALID="invalid"}(vT||(vT={}));const ST=e=>{const t=[];e.tokenColors.forEach((e=>{if(!e.settings)return;let i=[];i=ee(e.scope)?e.scope.replace(/^[,]+/,"").replace(/[,]+$/,"").split(",").map((e=>e.trim())):Array.isArray(e.scope)?e.scope:[""];const s={};e.settings.foreground&&ee(e.settings.foreground)&&(s.foreground=e.settings.foreground),e.settings.background&&ee(e.settings.background)&&(s.background=e.settings.background),e.settings.fontStyle&&ee(e.settings.fontStyle)&&(s.fontStyle=e.settings.fontStyle),i.forEach((e=>{if($(e)||!Object.keys(s).length)return;const i={...s,token:e};t.push(i)}))}));const i={};return Object.entries(e.colors).forEach((([e,t])=>{var s,n,a;Array.isArray(t)?t.length&&(i[e]=(s=t,Z(0<=(n=0)&&n<s.length,`Index out of bound: ${n}`),W(s[n],a))):i[e]=t})),{base:"vs-dark",inherit:!0,rules:t,colors:i}},CT=(e,t,i,s)=>{const n=ST(e);return{...n,base:t,colors:{...n.colors,...i},rules:[...n.rules,...s]}},yT=JSON.parse('{"name":"Solarized (dark)","tokenColors":[{"settings":{"foreground":"#839496"}},{"scope":["meta.embedded","source.groovy.embedded","string meta.image.inline.markdown"],"settings":{"foreground":"#839496"}},{"name":"Comment","scope":"comment","settings":{"fontStyle":"italic","foreground":"#586E75"}},{"name":"String","scope":"string","settings":{"foreground":"#2AA198"}},{"name":"Regexp","scope":"string.regexp","settings":{"foreground":"#DC322F"}},{"name":"Number","scope":"constant.numeric","settings":{"foreground":"#D33682"}},{"name":"Variable","scope":["variable.language","variable.other"],"settings":{"foreground":"#268BD2"}},{"name":"Keyword","scope":"keyword","settings":{"foreground":"#859900"}},{"name":"Storage","scope":"storage","settings":{"fontStyle":"bold","foreground":"#93A1A1"}},{"name":"Class name","scope":["entity.name.class","entity.name.type","entity.name.namespace","entity.name.scope-resolution"],"settings":{"fontStyle":"","foreground":"#CB4B16"}},{"name":"Function name","scope":"entity.name.function","settings":{"foreground":"#268BD2"}},{"name":"Variable start","scope":"punctuation.definition.variable","settings":{"foreground":"#859900"}},{"name":"Embedded code markers","scope":["punctuation.section.embedded.begin","punctuation.section.embedded.end"],"settings":{"foreground":"#DC322F"}},{"name":"Built-in constant","scope":["constant.language","meta.preprocessor"],"settings":{"foreground":"#B58900"}},{"name":"Support.construct","scope":["support.function.construct","keyword.other.new"],"settings":{"foreground":"#CB4B16"}},{"name":"User-defined constant","scope":["constant.character","constant.other"],"settings":{"foreground":"#CB4B16"}},{"name":"Inherited class","scope":"entity.other.inherited-class","settings":{"foreground":"#6C71C4"}},{"name":"Function argument","scope":"variable.parameter","settings":{}},{"name":"Tag name","scope":"entity.name.tag","settings":{"foreground":"#268BD2"}},{"name":"Tag start/end","scope":"punctuation.definition.tag","settings":{"foreground":"#586E75"}},{"name":"Tag attribute","scope":"entity.other.attribute-name","settings":{"foreground":"#93A1A1"}},{"name":"Library function","scope":"support.function","settings":{"foreground":"#268BD2"}},{"name":"Continuation","scope":"punctuation.separator.continuation","settings":{"foreground":"#DC322F"}},{"name":"Library constant","scope":["support.constant","support.variable"],"settings":{}},{"name":"Library class/type","scope":["support.type","support.class"],"settings":{"foreground":"#859900"}},{"name":"Library Exception","scope":"support.type.exception","settings":{"foreground":"#CB4B16"}},{"name":"Library variable","scope":"support.other.variable","settings":{}},{"name":"Invalid","scope":"invalid","settings":{"foreground":"#DC322F"}},{"name":"diff: header","scope":["meta.diff","meta.diff.header"],"settings":{"fontStyle":"italic","foreground":"#268BD2"}},{"name":"diff: deleted","scope":"markup.deleted","settings":{"fontStyle":"","foreground":"#DC322F"}},{"name":"diff: changed","scope":"markup.changed","settings":{"fontStyle":"","foreground":"#CB4B16"}},{"name":"diff: inserted","scope":"markup.inserted","settings":{"foreground":"#859900"}},{"name":"Markup Quote","scope":"markup.quote","settings":{"foreground":"#859900"}},{"name":"Markup Lists","scope":"markup.list","settings":{"foreground":"#B58900"}},{"name":"Markup Styling","scope":["markup.bold","markup.italic"],"settings":{"foreground":"#D33682"}},{"name":"Markup: Strong","scope":"markup.bold","settings":{"fontStyle":"bold"}},{"name":"Markup: Emphasis","scope":"markup.italic","settings":{"fontStyle":"italic"}},{"scope":"markup.strikethrough","settings":{"fontStyle":"strikethrough"}},{"name":"Markup Inline","scope":"markup.inline.raw","settings":{"fontStyle":"","foreground":"#2AA198"}},{"name":"Markup Headings","scope":"markup.heading","settings":{"fontStyle":"bold","foreground":"#268BD2"}},{"name":"Markup Setext Header","scope":"markup.heading.setext","settings":{"fontStyle":"","foreground":"#268BD2"}}],"colors":{"focusBorder":"#2AA19899","selection.background":"#2AA19899","input.background":"#003847","input.foreground":"#93A1A1","input.placeholderForeground":"#93A1A1AA","inputOption.activeBorder":"#2AA19899","inputValidation.infoBorder":"#363b5f","inputValidation.infoBackground":"#052730","inputValidation.warningBackground":"#5d5938","inputValidation.warningBorder":"#9d8a5e","inputValidation.errorBackground":"#571b26","inputValidation.errorBorder":"#a92049","errorForeground":"#ffeaea","badge.background":"#047aa6","progressBar.background":"#047aa6","dropdown.background":"#00212B","dropdown.border":"#2AA19899","button.background":"#2AA19899","list.activeSelectionBackground":"#005A6F","quickInputList.focusBackground":"#005A6F","list.hoverBackground":"#004454AA","list.inactiveSelectionBackground":"#00445488","list.dropBackground":"#00445488","list.highlightForeground":"#1ebcc5","editor.background":"#002B36","editor.foreground":"#839496","editorWidget.background":"#00212B","editorCursor.foreground":"#D30102","editorWhitespace.foreground":"#93A1A180","editor.lineHighlightBackground":"#073642","editorLineNumber.activeForeground":"#949494","editor.selectionBackground":"#274642","minimap.selectionHighlight":"#274642","editorIndentGuide.background":"#93A1A180","editorIndentGuide.activeBackground":"#C3E1E180","editorHoverWidget.background":"#004052","editorMarkerNavigationError.background":"#AB395B","editorMarkerNavigationWarning.background":"#5B7E7A","editor.selectionHighlightBackground":"#005A6FAA","editor.wordHighlightBackground":"#004454AA","editor.wordHighlightStrongBackground":"#005A6FAA","editorBracketHighlight.foreground1":"#cdcdcdff","editorBracketHighlight.foreground2":"#b58900ff","editorBracketHighlight.foreground3":"#d33682ff","peekViewResult.background":"#00212B","peekViewEditor.background":"#10192c","peekViewTitle.background":"#00212B","peekView.border":"#2b2b4a","peekViewEditor.matchHighlightBackground":"#7744AA40","titleBar.activeBackground":"#002C39","editorGroup.border":"#00212B","editorGroup.dropBackground":"#2AA19844","editorGroupHeader.tabsBackground":"#004052","tab.activeForeground":"#d6dbdb","tab.activeBackground":"#002B37","tab.inactiveForeground":"#93A1A1","tab.inactiveBackground":"#004052","tab.border":"#003847","tab.lastPinnedBorder":"#2AA19844","activityBar.background":"#003847","panel.border":"#2b2b4a","sideBar.background":"#00212B","sideBarTitle.foreground":"#93A1A1","statusBar.foreground":"#93A1A1","statusBar.background":"#00212B","statusBar.debuggingBackground":"#00212B","statusBar.noFolderBackground":"#00212B","statusBarItem.remoteBackground":"#2AA19899","ports.iconRunningProcessForeground":"#369432","statusBarItem.prominentBackground":"#003847","statusBarItem.prominentHoverBackground":"#003847","debugToolBar.background":"#00212B","debugExceptionWidget.background":"#00212B","debugExceptionWidget.border":"#AB395B","pickerGroup.foreground":"#2AA19899","pickerGroup.border":"#2AA19899","terminal.ansiBlack":"#073642","terminal.ansiRed":"#dc322f","terminal.ansiGreen":"#859900","terminal.ansiYellow":"#b58900","terminal.ansiBlue":"#268bd2","terminal.ansiMagenta":"#d33682","terminal.ansiCyan":"#2aa198","terminal.ansiWhite":"#eee8d5","terminal.ansiBrightBlack":"#002b36","terminal.ansiBrightRed":"#cb4b16","terminal.ansiBrightGreen":"#586e75","terminal.ansiBrightYellow":"#657b83","terminal.ansiBrightBlue":"#839496","terminal.ansiBrightMagenta":"#6c71c4","terminal.ansiBrightCyan":"#93a1a1","terminal.ansiBrightWhite":"#fdf6e3"},"semanticHighlighting":true}'),NT=JSON.parse('{"name":"GitHub Dark","colors":{"focusBorder":"#005cc5","foreground":"#d1d5da","descriptionForeground":"#959da5","errorForeground":"#f97583","textLink.foreground":"#79b8ff","textLink.activeForeground":"#c8e1ff","textBlockQuote.background":"#24292e","textBlockQuote.border":"#444d56","textCodeBlock.background":"#2f363d","textPreformat.foreground":"#d1d5da","textSeparator.foreground":"#586069","button.background":"#176f2c","button.foreground":"#dcffe4","button.hoverBackground":"#22863a","button.secondaryBackground":"#444d56","button.secondaryForeground":"#fff","button.secondaryHoverBackground":"#586069","checkbox.background":"#444d56","checkbox.border":"#1b1f23","dropdown.background":"#2f363d","dropdown.border":"#1b1f23","dropdown.foreground":"#e1e4e8","dropdown.listBackground":"#24292e","input.background":"#2f363d","input.border":"#1b1f23","input.foreground":"#e1e4e8","input.placeholderForeground":"#959da5","badge.foreground":"#c8e1ff","badge.background":"#044289","progressBar.background":"#0366d6","titleBar.activeForeground":"#e1e4e8","titleBar.activeBackground":"#24292e","titleBar.inactiveForeground":"#959da5","titleBar.inactiveBackground":"#1f2428","titleBar.border":"#1b1f23","activityBar.foreground":"#e1e4e8","activityBar.inactiveForeground":"#6a737d","activityBar.background":"#24292e","activityBarBadge.foreground":"#fff","activityBarBadge.background":"#0366d6","activityBar.activeBorder":"#f9826c","activityBar.border":"#1b1f23","sideBar.foreground":"#d1d5da","sideBar.background":"#1f2428","sideBar.border":"#1b1f23","sideBarTitle.foreground":"#e1e4e8","sideBarSectionHeader.foreground":"#e1e4e8","sideBarSectionHeader.background":"#1f2428","sideBarSectionHeader.border":"#1b1f23","list.hoverForeground":"#e1e4e8","list.inactiveSelectionForeground":"#e1e4e8","list.activeSelectionForeground":"#e1e4e8","list.hoverBackground":"#282e34","list.inactiveSelectionBackground":"#282e34","list.activeSelectionBackground":"#39414a","list.inactiveFocusBackground":"#1d2d3e","list.focusBackground":"#044289","tree.indentGuidesStroke":"#2f363d","notificationCenterHeader.foreground":"#959da5","notificationCenterHeader.background":"#24292e","notifications.foreground":"#e1e4e8","notifications.background":"#2f363d","notifications.border":"#1b1f23","notificationsErrorIcon.foreground":"#ea4a5a","notificationsWarningIcon.foreground":"#ffab70","notificationsInfoIcon.foreground":"#79b8ff","pickerGroup.border":"#444d56","pickerGroup.foreground":"#e1e4e8","quickInput.background":"#24292e","quickInput.foreground":"#e1e4e8","statusBar.foreground":"#d1d5da","statusBar.background":"#24292e","statusBar.border":"#1b1f23","statusBar.noFolderBackground":"#24292e","statusBar.debuggingBackground":"#931c06","statusBar.debuggingForeground":"#fff","statusBarItem.prominentBackground":"#282e34","statusBarItem.remoteForeground":"#d1d5da","statusBarItem.remoteBackground":"#24292e","editorGroupHeader.tabsBackground":"#1f2428","editorGroupHeader.tabsBorder":"#1b1f23","editorGroup.border":"#1b1f23","tab.activeForeground":"#e1e4e8","tab.inactiveForeground":"#959da5","tab.inactiveBackground":"#1f2428","tab.activeBackground":"#24292e","tab.hoverBackground":"#24292e","tab.unfocusedHoverBackground":"#24292e","tab.border":"#1b1f23","tab.unfocusedActiveBorderTop":"#1b1f23","tab.activeBorder":"#24292e","tab.unfocusedActiveBorder":"#24292e","tab.activeBorderTop":"#f9826c","breadcrumb.foreground":"#959da5","breadcrumb.focusForeground":"#e1e4e8","breadcrumb.activeSelectionForeground":"#d1d5da","breadcrumbPicker.background":"#2b3036","editor.foreground":"#e1e4e8","editor.background":"#24292e","editorWidget.background":"#1f2428","editor.foldBackground":"#58606915","editor.lineHighlightBackground":"#2b3036","editorLineNumber.foreground":"#444d56","editorLineNumber.activeForeground":"#e1e4e8","editorIndentGuide.background":"#2f363d","editorIndentGuide.activeBackground":"#444d56","editorWhitespace.foreground":"#444d56","editorCursor.foreground":"#c8e1ff","editorError.foreground":"#f97583","editorWarning.foreground":"#ffea7f","editor.findMatchBackground":"#ffd33d44","editor.findMatchHighlightBackground":"#ffd33d22","editor.linkedEditingBackground":"#3392FF22","editor.inactiveSelectionBackground":"#3392FF22","editor.selectionBackground":"#3392FF44","editor.selectionHighlightBackground":"#17E5E633","editor.selectionHighlightBorder":"#17E5E600","editor.wordHighlightBackground":"#17E5E600","editor.wordHighlightStrongBackground":"#17E5E600","editor.wordHighlightBorder":"#17E5E699","editor.wordHighlightStrongBorder":"#17E5E666","editorBracketMatch.background":"#17E5E650","editorBracketMatch.border":"#17E5E600","editorGutter.modifiedBackground":"#2188ff","editorGutter.addedBackground":"#28a745","editorGutter.deletedBackground":"#ea4a5a","diffEditor.insertedTextBackground":"#28a74530","diffEditor.removedTextBackground":"#d73a4930","scrollbar.shadow":"#0008","scrollbarSlider.background":"#6a737d33","scrollbarSlider.hoverBackground":"#6a737d44","scrollbarSlider.activeBackground":"#6a737d88","editorOverviewRuler.border":"#1b1f23","panel.background":"#1f2428","panel.border":"#1b1f23","panelTitle.activeBorder":"#f9826c","panelTitle.activeForeground":"#e1e4e8","panelTitle.inactiveForeground":"#959da5","panelInput.border":"#2f363d","terminal.foreground":"#d1d5da","terminal.tab.activeBorder":"#f9826c","terminalCursor.background":"#586069","terminalCursor.foreground":"#79b8ff","terminal.ansiBrightWhite":"#fafbfc","terminal.ansiWhite":"#d1d5da","terminal.ansiBrightBlack":"#959da5","terminal.ansiBlack":"#586069","terminal.ansiBlue":"#2188ff","terminal.ansiBrightBlue":"#79b8ff","terminal.ansiGreen":"#34d058","terminal.ansiBrightGreen":"#85e89d","terminal.ansiCyan":"#39c5cf","terminal.ansiBrightCyan":"#56d4dd","terminal.ansiRed":"#ea4a5a","terminal.ansiBrightRed":"#f97583","terminal.ansiMagenta":"#b392f0","terminal.ansiBrightMagenta":"#b392f0","terminal.ansiYellow":"#ffea7f","terminal.ansiBrightYellow":"#ffea7f","editorBracketHighlight.foreground1":"#79b8ff","editorBracketHighlight.foreground2":"#ffab70","editorBracketHighlight.foreground3":"#b392f0","editorBracketHighlight.foreground4":"#79b8ff","editorBracketHighlight.foreground5":"#ffab70","editorBracketHighlight.foreground6":"#b392f0","gitDecoration.addedResourceForeground":"#34d058","gitDecoration.modifiedResourceForeground":"#79b8ff","gitDecoration.deletedResourceForeground":"#ea4a5a","gitDecoration.untrackedResourceForeground":"#34d058","gitDecoration.ignoredResourceForeground":"#6a737d","gitDecoration.conflictingResourceForeground":"#ffab70","gitDecoration.submoduleResourceForeground":"#6a737d","debugToolBar.background":"#2b3036","editor.stackFrameHighlightBackground":"#C6902625","editor.focusedStackFrameHighlightBackground":"#2b6a3033","peekViewEditor.matchHighlightBackground":"#ffd33d33","peekViewResult.matchHighlightBackground":"#ffd33d33","peekViewEditor.background":"#1f242888","peekViewResult.background":"#1f2428","settings.headerForeground":"#e1e4e8","settings.modifiedItemIndicator":"#0366d6","welcomePage.buttonBackground":"#2f363d","welcomePage.buttonHoverBackground":"#444d56"},"semanticHighlighting":true,"tokenColors":[{"scope":["comment","punctuation.definition.comment","string.comment"],"settings":{"foreground":"#6a737d"}},{"scope":["constant","entity.name.constant","variable.other.constant","variable.other.enummember","variable.language"],"settings":{"foreground":"#79b8ff"}},{"scope":["entity","entity.name"],"settings":{"foreground":"#b392f0"}},{"scope":"variable.parameter.function","settings":{"foreground":"#e1e4e8"}},{"scope":"entity.name.tag","settings":{"foreground":"#85e89d"}},{"scope":"keyword","settings":{"foreground":"#f97583"}},{"scope":["storage","storage.type"],"settings":{"foreground":"#f97583"}},{"scope":["storage.modifier.package","storage.modifier.import","storage.type.java"],"settings":{"foreground":"#e1e4e8"}},{"scope":["string","punctuation.definition.string","string punctuation.section.embedded source"],"settings":{"foreground":"#9ecbff"}},{"scope":"support","settings":{"foreground":"#79b8ff"}},{"scope":"meta.property-name","settings":{"foreground":"#79b8ff"}},{"scope":"variable","settings":{"foreground":"#ffab70"}},{"scope":"variable.other","settings":{"foreground":"#e1e4e8"}},{"scope":"invalid.broken","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.deprecated","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.illegal","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.unimplemented","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"carriage-return","settings":{"fontStyle":"italic underline","background":"#f97583","foreground":"#24292e","content":"^M"}},{"scope":"message.error","settings":{"foreground":"#fdaeb7"}},{"scope":"string variable","settings":{"foreground":"#79b8ff"}},{"scope":["source.regexp","string.regexp"],"settings":{"foreground":"#dbedff"}},{"scope":["string.regexp.character-class","string.regexp constant.character.escape","string.regexp source.ruby.embedded","string.regexp string.regexp.arbitrary-repitition"],"settings":{"foreground":"#dbedff"}},{"scope":"string.regexp constant.character.escape","settings":{"fontStyle":"bold","foreground":"#85e89d"}},{"scope":"support.constant","settings":{"foreground":"#79b8ff"}},{"scope":"support.variable","settings":{"foreground":"#79b8ff"}},{"scope":"meta.module-reference","settings":{"foreground":"#79b8ff"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#ffab70"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#79b8ff"}},{"scope":"markup.quote","settings":{"foreground":"#85e89d"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#e1e4e8"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#e1e4e8"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"scope":["markup.strikethrough"],"settings":{"fontStyle":"strikethrough"}},{"scope":"markup.inline.raw","settings":{"foreground":"#79b8ff"}},{"scope":["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],"settings":{"background":"#86181d","foreground":"#fdaeb7"}},{"scope":["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],"settings":{"background":"#144620","foreground":"#85e89d"}},{"scope":["markup.changed","punctuation.definition.changed"],"settings":{"background":"#c24e00","foreground":"#ffab70"}},{"scope":["markup.ignored","markup.untracked"],"settings":{"foreground":"#2f363d","background":"#79b8ff"}},{"scope":"meta.diff.range","settings":{"foreground":"#b392f0","fontStyle":"bold"}},{"scope":"meta.diff.header","settings":{"foreground":"#79b8ff"}},{"scope":"meta.separator","settings":{"fontStyle":"bold","foreground":"#79b8ff"}},{"scope":"meta.output","settings":{"foreground":"#79b8ff"}},{"scope":["brackethighlighter.tag","brackethighlighter.curly","brackethighlighter.round","brackethighlighter.square","brackethighlighter.angle","brackethighlighter.quote"],"settings":{"foreground":"#d1d5da"}},{"scope":"brackethighlighter.unmatched","settings":{"foreground":"#fdaeb7"}},{"scope":["constant.other.reference.link","string.other.link"],"settings":{"foreground":"#dbedff","fontStyle":"underline"}}]}'),AT=JSON.parse('{"name":"GitHub Dark Dimmed","colors":{"focusBorder":"#316dca","foreground":"#adbac7","descriptionForeground":"#768390","errorForeground":"#e5534b","textLink.foreground":"#539bf5","textLink.activeForeground":"#539bf5","textBlockQuote.background":"#1c2128","textBlockQuote.border":"#444c56","textCodeBlock.background":"#636e7b66","textPreformat.foreground":"#768390","textSeparator.foreground":"#373e47","icon.foreground":"#768390","keybindingLabel.foreground":"#adbac7","button.background":"#347d39","button.foreground":"#ffffff","button.hoverBackground":"#46954a","button.secondaryBackground":"#3d444d","button.secondaryForeground":"#adbac7","button.secondaryHoverBackground":"#444c56","checkbox.background":"#2d333b","checkbox.border":"#444c56","dropdown.background":"#2d333b","dropdown.border":"#444c56","dropdown.foreground":"#adbac7","dropdown.listBackground":"#2d333b","input.background":"#22272e","input.border":"#444c56","input.foreground":"#adbac7","input.placeholderForeground":"#636e7b","badge.foreground":"#cdd9e5","badge.background":"#316dca","progressBar.background":"#316dca","titleBar.activeForeground":"#768390","titleBar.activeBackground":"#22272e","titleBar.inactiveForeground":"#768390","titleBar.inactiveBackground":"#1c2128","titleBar.border":"#444c56","activityBar.foreground":"#adbac7","activityBar.inactiveForeground":"#768390","activityBar.background":"#22272e","activityBarBadge.foreground":"#cdd9e5","activityBarBadge.background":"#316dca","activityBar.activeBorder":"#ec775c","activityBar.border":"#444c56","sideBar.foreground":"#adbac7","sideBar.background":"#1c2128","sideBar.border":"#444c56","sideBarTitle.foreground":"#adbac7","sideBarSectionHeader.foreground":"#adbac7","sideBarSectionHeader.background":"#1c2128","sideBarSectionHeader.border":"#444c56","list.hoverForeground":"#adbac7","list.inactiveSelectionForeground":"#adbac7","list.activeSelectionForeground":"#adbac7","list.hoverBackground":"#636e7b1a","list.inactiveSelectionBackground":"#636e7b66","list.activeSelectionBackground":"#636e7b66","list.focusForeground":"#adbac7","list.focusBackground":"#4184e426","list.inactiveFocusBackground":"#4184e426","list.highlightForeground":"#539bf5","tree.indentGuidesStroke":"#373e47","notificationCenterHeader.foreground":"#768390","notificationCenterHeader.background":"#2d333b","notifications.foreground":"#adbac7","notifications.background":"#2d333b","notifications.border":"#444c56","notificationsErrorIcon.foreground":"#e5534b","notificationsWarningIcon.foreground":"#c69026","notificationsInfoIcon.foreground":"#539bf5","pickerGroup.border":"#444c56","pickerGroup.foreground":"#768390","quickInput.background":"#2d333b","quickInput.foreground":"#adbac7","statusBar.foreground":"#768390","statusBar.background":"#22272e","statusBar.border":"#444c56","statusBar.focusBorder":"#316dca80","statusBar.noFolderBackground":"#22272e","statusBar.debuggingForeground":"#cdd9e5","statusBar.debuggingBackground":"#c93c37","statusBarItem.prominentBackground":"#636e7b66","statusBarItem.remoteForeground":"#adbac7","statusBarItem.remoteBackground":"#444c56","statusBarItem.hoverBackground":"#adbac714","statusBarItem.activeBackground":"#adbac71f","statusBarItem.focusBorder":"#316dca","editorGroupHeader.tabsBackground":"#1c2128","editorGroupHeader.tabsBorder":"#444c56","editorGroup.border":"#444c56","tab.activeForeground":"#adbac7","tab.inactiveForeground":"#768390","tab.inactiveBackground":"#1c2128","tab.activeBackground":"#22272e","tab.hoverBackground":"#22272e","tab.unfocusedHoverBackground":"#636e7b1a","tab.border":"#444c56","tab.unfocusedActiveBorderTop":"#444c56","tab.activeBorder":"#22272e","tab.unfocusedActiveBorder":"#22272e","tab.activeBorderTop":"#ec775c","breadcrumb.foreground":"#768390","breadcrumb.focusForeground":"#adbac7","breadcrumb.activeSelectionForeground":"#768390","breadcrumbPicker.background":"#2d333b","editor.foreground":"#adbac7","editor.background":"#22272e","editorWidget.background":"#2d333b","editor.foldBackground":"#636e7b1a","editor.lineHighlightBackground":"#636e7b1a","editorLineNumber.foreground":"#636e7b","editorLineNumber.activeForeground":"#adbac7","editorIndentGuide.background":"#adbac71f","editorIndentGuide.activeBackground":"#adbac73d","editorWhitespace.foreground":"#545d68","editorCursor.foreground":"#539bf5","editor.findMatchBackground":"#966600","editor.findMatchHighlightBackground":"#eac55f80","editor.linkedEditingBackground":"#539bf512","editor.selectionHighlightBackground":"#57ab5a40","editor.wordHighlightBackground":"#636e7b80","editor.wordHighlightBorder":"#636e7b99","editor.wordHighlightStrongBackground":"#636e7b4d","editor.wordHighlightStrongBorder":"#636e7b99","editorBracketMatch.background":"#57ab5a40","editorBracketMatch.border":"#57ab5a99","editorInlayHint.background":"#76839033","editorInlayHint.foreground":"#768390","editorInlayHint.typeBackground":"#76839033","editorInlayHint.typeForeground":"#768390","editorInlayHint.paramBackground":"#76839033","editorInlayHint.paramForeground":"#768390","editorGutter.modifiedBackground":"#ae7c1466","editorGutter.addedBackground":"#46954a66","editorGutter.deletedBackground":"#e5534b66","diffEditor.insertedLineBackground":"#347d3926","diffEditor.insertedTextBackground":"#57ab5a4d","diffEditor.removedLineBackground":"#c93c3726","diffEditor.removedTextBackground":"#f470674d","scrollbar.shadow":"#545d6833","scrollbarSlider.background":"#76839033","scrollbarSlider.hoverBackground":"#7683903d","scrollbarSlider.activeBackground":"#76839047","editorOverviewRuler.border":"#1c2128","minimapSlider.background":"#76839033","minimapSlider.hoverBackground":"#7683903d","minimapSlider.activeBackground":"#76839047","panel.background":"#1c2128","panel.border":"#444c56","panelTitle.activeBorder":"#ec775c","panelTitle.activeForeground":"#adbac7","panelTitle.inactiveForeground":"#768390","panelInput.border":"#444c56","debugIcon.breakpointForeground":"#e5534b","debugConsole.infoForeground":"#768390","debugConsole.warningForeground":"#c69026","debugConsole.errorForeground":"#ff938a","debugConsole.sourceForeground":"#daaa3f","debugConsoleInputIcon.foreground":"#b083f0","debugTokenExpression.name":"#6cb6ff","debugTokenExpression.value":"#96d0ff","debugTokenExpression.string":"#96d0ff","debugTokenExpression.boolean":"#6bc46d","debugTokenExpression.number":"#6bc46d","debugTokenExpression.error":"#ff938a","symbolIcon.arrayForeground":"#e0823d","symbolIcon.booleanForeground":"#539bf5","symbolIcon.classForeground":"#e0823d","symbolIcon.colorForeground":"#6cb6ff","symbolIcon.constructorForeground":"#dcbdfb","symbolIcon.enumeratorForeground":"#e0823d","symbolIcon.enumeratorMemberForeground":"#539bf5","symbolIcon.eventForeground":"#636e7b","symbolIcon.fieldForeground":"#e0823d","symbolIcon.fileForeground":"#c69026","symbolIcon.folderForeground":"#c69026","symbolIcon.functionForeground":"#b083f0","symbolIcon.interfaceForeground":"#e0823d","symbolIcon.keyForeground":"#539bf5","symbolIcon.keywordForeground":"#f47067","symbolIcon.methodForeground":"#b083f0","symbolIcon.moduleForeground":"#f47067","symbolIcon.namespaceForeground":"#f47067","symbolIcon.nullForeground":"#539bf5","symbolIcon.numberForeground":"#57ab5a","symbolIcon.objectForeground":"#e0823d","symbolIcon.operatorForeground":"#6cb6ff","symbolIcon.packageForeground":"#e0823d","symbolIcon.propertyForeground":"#e0823d","symbolIcon.referenceForeground":"#539bf5","symbolIcon.snippetForeground":"#539bf5","symbolIcon.stringForeground":"#6cb6ff","symbolIcon.structForeground":"#e0823d","symbolIcon.textForeground":"#6cb6ff","symbolIcon.typeParameterForeground":"#6cb6ff","symbolIcon.unitForeground":"#539bf5","symbolIcon.variableForeground":"#e0823d","symbolIcon.constantForeground":["#b4f1b4","#8ddb8c","#6bc46d","#57ab5a","#46954a","#347d39","#2b6a30","#245829","#1b4721","#113417"],"terminal.foreground":"#adbac7","terminal.ansiBlack":"#545d68","terminal.ansiRed":"#f47067","terminal.ansiGreen":"#57ab5a","terminal.ansiYellow":"#c69026","terminal.ansiBlue":"#539bf5","terminal.ansiMagenta":"#b083f0","terminal.ansiCyan":"#39c5cf","terminal.ansiWhite":"#909dab","terminal.ansiBrightBlack":"#636e7b","terminal.ansiBrightRed":"#ff938a","terminal.ansiBrightGreen":"#6bc46d","terminal.ansiBrightYellow":"#daaa3f","terminal.ansiBrightBlue":"#6cb6ff","terminal.ansiBrightMagenta":"#dcbdfb","terminal.ansiBrightCyan":"#56d4dd","terminal.ansiBrightWhite":"#cdd9e5","editorBracketHighlight.foreground1":"#6cb6ff","editorBracketHighlight.foreground2":"#6bc46d","editorBracketHighlight.foreground3":"#daaa3f","editorBracketHighlight.foreground4":"#ff938a","editorBracketHighlight.foreground5":"#fc8dc7","editorBracketHighlight.foreground6":"#dcbdfb","editorBracketHighlight.unexpectedBracket.foreground":"#768390","gitDecoration.addedResourceForeground":"#57ab5a","gitDecoration.modifiedResourceForeground":"#c69026","gitDecoration.deletedResourceForeground":"#e5534b","gitDecoration.untrackedResourceForeground":"#57ab5a","gitDecoration.ignoredResourceForeground":"#636e7b","gitDecoration.conflictingResourceForeground":"#cc6b2c","gitDecoration.submoduleResourceForeground":"#768390","debugToolBar.background":"#2d333b","editor.stackFrameHighlightBackground":"#ae7c1466","editor.focusedStackFrameHighlightBackground":"#46954a66","peekViewEditor.matchHighlightBackground":"#ae7c1466","peekViewResult.matchHighlightBackground":"#ae7c1466","peekViewEditor.background":"#636e7b1a","peekViewResult.background":"#22272e","settings.headerForeground":"#adbac7","settings.modifiedItemIndicator":"#ae7c1466","welcomePage.buttonBackground":"#373e47","welcomePage.buttonHoverBackground":"#444c56"},"semanticHighlighting":true,"tokenColors":[{"scope":["comment","punctuation.definition.comment","string.comment"],"settings":{"foreground":"#768390"}},{"scope":["constant.other.placeholder","constant.character"],"settings":{"foreground":"#f47067"}},{"scope":["constant","entity.name.constant","variable.other.constant","variable.other.enummember","variable.language","entity"],"settings":{"foreground":"#6cb6ff"}},{"scope":["entity.name","meta.export.default","meta.definition.variable"],"settings":{"foreground":"#f69d50"}},{"scope":["variable.parameter.function","meta.jsx.children","meta.block","meta.tag.attributes","entity.name.constant","meta.object.member","meta.embedded.expression"],"settings":{"foreground":"#adbac7"}},{"scope":"entity.name.function","settings":{"foreground":"#dcbdfb"}},{"scope":["entity.name.tag","support.class.component"],"settings":{"foreground":"#8ddb8c"}},{"scope":"keyword","settings":{"foreground":"#f47067"}},{"scope":["storage","storage.type"],"settings":{"foreground":"#f47067"}},{"scope":["storage.modifier.package","storage.modifier.import","storage.type.java"],"settings":{"foreground":"#adbac7"}},{"scope":["string","string punctuation.section.embedded source"],"settings":{"foreground":"#96d0ff"}},{"scope":"support","settings":{"foreground":"#6cb6ff"}},{"scope":"meta.property-name","settings":{"foreground":"#6cb6ff"}},{"scope":"variable","settings":{"foreground":"#f69d50"}},{"scope":"variable.other","settings":{"foreground":"#adbac7"}},{"scope":"invalid.broken","settings":{"fontStyle":"italic","foreground":"#ff938a"}},{"scope":"invalid.deprecated","settings":{"fontStyle":"italic","foreground":"#ff938a"}},{"scope":"invalid.illegal","settings":{"fontStyle":"italic","foreground":"#ff938a"}},{"scope":"invalid.unimplemented","settings":{"fontStyle":"italic","foreground":"#ff938a"}},{"scope":"carriage-return","settings":{"fontStyle":"italic underline","background":"#f47067","foreground":"#cdd9e5","content":"^M"}},{"scope":"message.error","settings":{"foreground":"#ff938a"}},{"scope":"string variable","settings":{"foreground":"#6cb6ff"}},{"scope":["source.regexp","string.regexp"],"settings":{"foreground":"#96d0ff"}},{"scope":["string.regexp.character-class","string.regexp constant.character.escape","string.regexp source.ruby.embedded","string.regexp string.regexp.arbitrary-repitition"],"settings":{"foreground":"#96d0ff"}},{"scope":"string.regexp constant.character.escape","settings":{"fontStyle":"bold","foreground":"#8ddb8c"}},{"scope":"support.constant","settings":{"foreground":"#6cb6ff"}},{"scope":"support.variable","settings":{"foreground":"#6cb6ff"}},{"scope":"support.type.property-name.json","settings":{"foreground":"#8ddb8c"}},{"scope":"meta.module-reference","settings":{"foreground":"#6cb6ff"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#f69d50"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#6cb6ff"}},{"scope":"markup.quote","settings":{"foreground":"#8ddb8c"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#adbac7"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#adbac7"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"scope":["markup.strikethrough"],"settings":{"fontStyle":"strikethrough"}},{"scope":"markup.inline.raw","settings":{"foreground":"#6cb6ff"}},{"scope":["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],"settings":{"background":"#5d0f12","foreground":"#ff938a"}},{"scope":["punctuation.section.embedded"],"settings":{"foreground":"#f47067"}},{"scope":["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],"settings":{"background":"#113417","foreground":"#8ddb8c"}},{"scope":["markup.changed","punctuation.definition.changed"],"settings":{"background":"#682d0f","foreground":"#f69d50"}},{"scope":["markup.ignored","markup.untracked"],"settings":{"foreground":"#2d333b","background":"#6cb6ff"}},{"scope":"meta.diff.range","settings":{"foreground":"#dcbdfb","fontStyle":"bold"}},{"scope":"meta.diff.header","settings":{"foreground":"#6cb6ff"}},{"scope":"meta.separator","settings":{"fontStyle":"bold","foreground":"#6cb6ff"}},{"scope":"meta.output","settings":{"foreground":"#6cb6ff"}},{"scope":["brackethighlighter.tag","brackethighlighter.curly","brackethighlighter.round","brackethighlighter.square","brackethighlighter.angle","brackethighlighter.quote"],"settings":{"foreground":"#768390"}},{"scope":"brackethighlighter.unmatched","settings":{"foreground":"#ff938a"}},{"scope":["constant.other.reference.link","string.other.link"],"settings":{"foreground":"#96d0ff"}}]}'),IT=JSON.parse('{"name":"Material-Theme-Default","semanticHighlighting":true,"tokenColors":[{"name":"Global settings","settings":{"background":"#263238","foreground":"#EEFFFF"}},{"name":"String","scope":"string","settings":{"foreground":"#C3E88D"}},{"name":"Punctuation","scope":"punctuation, constant.other.symbol","settings":{"foreground":"#89DDFF"}},{"name":"String Escape","scope":"constant.character.escape, text.html constant.character.entity.named","settings":{"foreground":"#EEFFFF"}},{"name":"Boolean","scope":"constant.language.boolean","settings":{"foreground":"#ff9cac"}},{"name":"Number","scope":"constant.numeric","settings":{"foreground":"#F78C6C"}},{"name":"Variable","scope":"variable, variable.parameter, support.variable, variable.language, support.constant, meta.definition.variable entity.name.function, meta.function-call.arguments","settings":{"foreground":"#EEFFFF"}},{"name":"Other Keyword","scope":"keyword.other","settings":{"foreground":"#F78C6C"}},{"name":"Keyword","scope":"keyword, modifier, variable.language.this, support.type.object, constant.language","settings":{"foreground":"#89DDFF"}},{"name":"Function call","scope":"entity.name.function, support.function","settings":{"foreground":"#82AAFF"}},{"name":"Storage","scope":"storage.type, storage.modifier, storage.control","settings":{"foreground":"#C792EA"}},{"name":"Modules","scope":"support.module, support.node","settings":{"foreground":"#f07178","fontStyle":"italic"}},{"name":"Type","scope":"support.type, constant.other.key","settings":{"foreground":"#FFCB6B"}},{"name":"Type","scope":"entity.name.type, entity.other.inherited-class, entity.other","settings":{"foreground":"#FFCB6B"}},{"name":"Comment","scope":"comment","settings":{"foreground":"#546E7A","fontStyle":"italic"}},{"name":"Comment","scope":"comment punctuation.definition.comment, string.quoted.docstring","settings":{"foreground":"#546E7A","fontStyle":"italic"}},{"name":"Punctuation","scope":"punctuation","settings":{"foreground":"#89DDFF"}},{"name":"Class","scope":"entity.name, entity.name.type.class, support.type, support.class, meta.use","settings":{"foreground":"#FFCB6B"}},{"name":"Class variable","scope":"variable.object.property, meta.field.declaration entity.name.function","settings":{"foreground":"#f07178"}},{"name":"Class method","scope":"meta.definition.method entity.name.function","settings":{"foreground":"#f07178"}},{"name":"Function definition","scope":"meta.function entity.name.function","settings":{"foreground":"#82AAFF"}},{"name":"Template expression","scope":"template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end","settings":{"foreground":"#89DDFF"}},{"name":"Reset embedded/template expression colors","scope":"meta.embedded, source.groovy.embedded, meta.template.expression","settings":{"foreground":"#EEFFFF"}},{"name":"YAML key","scope":"entity.name.tag.yaml","settings":{"foreground":"#f07178"}},{"name":"JSON key","scope":"meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json","settings":{"foreground":"#f07178"}},{"name":"JSON constant","scope":"constant.language.json","settings":{"foreground":"#89DDFF"}},{"name":"CSS class","scope":"entity.other.attribute-name.class","settings":{"foreground":"#FFCB6B"}},{"name":"CSS ID","scope":"entity.other.attribute-name.id","settings":{"foreground":"#F78C6C"}},{"name":"CSS tag","scope":"source.css entity.name.tag","settings":{"foreground":"#FFCB6B"}},{"name":"CSS properties","scope":"support.type.property-name.css","settings":{"foreground":"#B2CCD6"}},{"name":"HTML tag outer","scope":"meta.tag, punctuation.definition.tag","settings":{"foreground":"#89DDFF"}},{"name":"HTML tag inner","scope":"entity.name.tag","settings":{"foreground":"#f07178"}},{"name":"HTML tag attribute","scope":"entity.other.attribute-name","settings":{"foreground":"#C792EA"}},{"name":"HTML entities","scope":"punctuation.definition.entity.html","settings":{"foreground":"#EEFFFF"}},{"name":"Markdown heading","scope":"markup.heading","settings":{"foreground":"#89DDFF"}},{"name":"Markdown link text","scope":"text.html.markdown meta.link.inline, meta.link.reference","settings":{"foreground":"#f07178"}},{"name":"Markdown list item","scope":"text.html.markdown beginning.punctuation.definition.list","settings":{"foreground":"#89DDFF"}},{"name":"Markdown italic","scope":"markup.italic","settings":{"foreground":"#f07178","fontStyle":"italic"}},{"name":"Markdown bold","scope":"markup.bold","settings":{"foreground":"#f07178","fontStyle":"bold"}},{"name":"Markdown bold italic","scope":"markup.bold markup.italic, markup.italic markup.bold","settings":{"foreground":"#f07178","fontStyle":"italic bold"}},{"name":"Markdown code block","scope":"markup.fenced_code.block.markdown punctuation.definition.markdown","settings":{"foreground":"#C3E88D"}},{"name":"Markdown inline code","scope":"markup.inline.raw.string.markdown","settings":{"foreground":"#C3E88D"}},{"name":"INI property name","scope":"keyword.other.definition.ini","settings":{"foreground":"#f07178"}},{"name":"INI section title","scope":"entity.name.section.group-title.ini","settings":{"foreground":"#89DDFF"}},{"name":"C# class","scope":"source.cs meta.class.identifier storage.type","settings":{"foreground":"#FFCB6B"}},{"name":"C# class method","scope":"source.cs meta.method.identifier entity.name.function","settings":{"foreground":"#f07178"}},{"name":"C# function call","scope":"source.cs meta.method-call meta.method, source.cs entity.name.function","settings":{"foreground":"#82AAFF"}},{"name":"C# type","scope":"source.cs storage.type","settings":{"foreground":"#FFCB6B"}},{"name":"C# return type","scope":"source.cs meta.method.return-type","settings":{"foreground":"#FFCB6B"}},{"name":"C# preprocessor","scope":"source.cs meta.preprocessor","settings":{"foreground":"#546E7A"}},{"name":"C# namespace","scope":"source.cs entity.name.type.namespace","settings":{"foreground":"#EEFFFF"}},{"name":"JSX Text","scope":"meta.jsx.children, SXNested","settings":{"foreground":"#EEFFFF"}},{"name":"JSX Components name","scope":"support.class.component","settings":{"foreground":"#FFCB6B"}},{"name":"C-related Block Level Variables","scope":"source.cpp meta.block variable.other","settings":{"foreground":"#EEFFFF"}},{"name":"Member Access Meta","scope":"source.python meta.member.access.python","settings":{"foreground":"#f07178"}},{"name":"Function Call","scope":"source.python meta.function-call.python, meta.function-call.arguments","settings":{"foreground":"#82AAFF"}},{"name":"Blocks","scope":"meta.block","settings":{"foreground":"#f07178"}},{"name":"Function Call","scope":"entity.name.function.call","settings":{"foreground":"#82AAFF"}},{"name":"Namespaces","scope":"source.php support.other.namespace, source.php meta.use support.class","settings":{"foreground":"#EEFFFF"}},{"name":"Constant keywords","scope":"constant.keyword","settings":{"foreground":"#89DDFF","fontStyle":"italic"}},{"name":"Entity name","scope":"entity.name.function","settings":{"foreground":"#82AAFF"}},{"name":"Global settings","settings":{"background":"#263238","foreground":"#EEFFFF"}},{"name":"Markup Deleted","scope":["markup.deleted"],"settings":{"foreground":"#f07178"}},{"name":"Markup Inserted","scope":["markup.inserted"],"settings":{"foreground":"#C3E88D"}},{"name":"Markup Underline","scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"name":"Keyword Control","scope":["keyword.control"],"settings":{"foreground":"#89DDFF","fontStyle":"italic"}},{"name":"Parameter","scope":["variable.parameter"],"settings":{"fontStyle":"italic"}},{"name":"Python - Self Parameter","scope":["variable.parameter.function.language.special.self.python"],"settings":{"foreground":"#f07178","fontStyle":"italic"}},{"name":"Python - Format Placeholder","scope":["constant.character.format.placeholder.other.python"],"settings":{"foreground":"#F78C6C"}},{"name":"Markdown - Blockquote","scope":["markup.quote"],"settings":{"fontStyle":"italic","foreground":"#89DDFF"}},{"name":"Markdown - Fenced Language","scope":["markup.fenced_code.block"],"settings":{"foreground":"#EEFFFF90"}},{"name":"Markdown - Blockquote Punctuation","scope":["punctuation.definition.quote"],"settings":{"foreground":"#ff9cac"}},{"name":"JSON Key - Level 0","scope":["meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C792EA"}},{"name":"JSON Key - Level 1","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFCB6B"}},{"name":"JSON Key - Level 2","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#F78C6C"}},{"name":"JSON Key - Level 3","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#f07178"}},{"name":"JSON Key - Level 4","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#916b53"}},{"name":"JSON Key - Level 5","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#82AAFF"}},{"name":"JSON Key - Level 6","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#ff9cac"}},{"name":"JSON Key - Level 7","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C792EA"}},{"name":"JSON Key - Level 8","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C3E88D"}}],"colors":{"focusBorder":"#FFFFFF00","foreground":"#EEFFFF","button.background":"#80CBC420","button.foreground":"#ffffff","dropdown.background":"#263238","input.background":"#303C41","inputOption.activeBorder":"#EEFFFF30","list.activeSelectionBackground":"#263238","list.activeSelectionForeground":"#80CBC4","list.dropBackground":"#f0717880","list.focusBackground":"#EEFFFF20","list.focusForeground":"#EEFFFF","list.highlightForeground":"#80CBC4","list.hoverBackground":"#263238","list.inactiveSelectionBackground":"#00000030","activityBar.background":"#263238","activityBar.dropBackground":"#f0717880","activityBarBadge.background":"#80CBC4","activityBarBadge.foreground":"#000000","badge.background":"#00000030","badge.foreground":"#546E7A","sideBar.background":"#263238","sideBarSectionHeader.background":"#263238","editorGroup.dropBackground":"#f0717880","editorGroup.focusedEmptyBorder":"#f07178","editorGroupHeader.tabsBackground":"#263238","tab.border":"#263238","tab.activeBorder":"#80CBC4","tab.inactiveBackground":"#263238","tab.activeModifiedBorder":"#607a86","tab.inactiveModifiedBorder":"#904348","tab.unfocusedActiveModifiedBorder":"#c05a60","tab.unfocusedInactiveModifiedBorder":"#904348","editor.background":"#263238","editor.foreground":"#EEFFFF","editorLineNumber.foreground":"#37474F","editorLineNumber.activeForeground":"#607a86","editorCursor.foreground":"#FFCC00","editor.selectionBackground":"#80CBC420","editor.selectionHighlightBackground":"#FFCC0020","editor.wordHighlightBackground":"#ff9cac30","editor.wordHighlightStrongBackground":"#C3E88D30","editor.findMatchHighlight":"#EEFFFF","editor.findRangeHighlightBackground":"#FFCB6B30","editor.lineHighlightBorder":"#00000000","editor.rangeHighlightBackground":"#FFFFFF0d","editorWhitespace.foreground":"#EEFFFF40","editorWidget.background":"#263238","editorHoverWidget.background":"#263238","editorMarkerNavigation.background":"#EEFFFF05","peekView.border":"#00000030","peekViewEditor.background":"#EEFFFF05","peekViewResult.background":"#EEFFFF05","peekViewTitle.background":"#EEFFFF05","panel.background":"#263238","panel.border":"#26323860","panelTitle.activeBorder":"#80CBC4","panelTitle.inactiveForeground":"#EEFFFF","notebook.focusedCellBorder":"#80CBC4","notebook.inactiveFocusedCellBorder":"#80CBC450","statusBar.background":"#263238","statusBar.debuggingBackground":"#C792EA","statusBar.debuggingForeground":"#ffffff","statusBar.noFolderBackground":"#263238","statusBarItem.activeBackground":"#f0717880","statusBarItem.hoverBackground":"#546E7A20","statusBarItem.remoteBackground":"#80CBC4","statusBarItem.remoteForeground":"#000000","titleBar.activeBackground":"#263238","pickerGroup.border":"#FFFFFF1a","terminal.ansiBlack":"#000000","terminal.ansiBlue":"#82AAFF","terminal.ansiBrightBlack":"#546E7A","terminal.ansiBrightBlue":"#82AAFF","terminal.ansiBrightCyan":"#89DDFF","terminal.ansiBrightGreen":"#C3E88D","terminal.ansiBrightMagenta":"#C792EA","terminal.ansiBrightRed":"#f07178","terminal.ansiBrightWhite":"#ffffff","terminal.ansiBrightYellow":"#FFCB6B","terminal.ansiCyan":"#89DDFF","terminal.ansiGreen":"#C3E88D","terminal.ansiMagenta":"#C792EA","terminal.ansiRed":"#f07178","terminal.ansiWhite":"#ffffff","terminal.ansiYellow":"#FFCB6B","debugToolBar.background":"#263238","debugConsole.errorForeground":"#f07178","debugConsole.infoForeground":"#89DDFF","debugConsole.warningForeground":"#FFCB6B","selection.background":"#00000080","editorRuler.foreground":"#37474F","widget.shadow":"#00000030","scrollbar.shadow":"#00000030","editorLink.activeForeground":"#EEFFFF","progressBar.background":"#80CBC4","pickerGroup.foreground":"#80CBC4","tree.indentGuidesStroke":"#37474F","terminalCursor.foreground":"#FFCB6B","terminalCursor.background":"#000000","inputOption.activeBackground":"#EEFFFF30","textLink.foreground":"#80CBC4","textLink.activeForeground":"#EEFFFF","sideBar.foreground":"#607a86","sideBar.border":"#26323860","sideBarTitle.foreground":"#EEFFFF","sideBarSectionHeader.border":"#26323860","panel.dropBackground":"#EEFFFF","panelTitle.activeForeground":"#FFFFFF","editor.lineHighlightBackground":"#00000050","editor.findMatchBackground":"#000000","editor.findMatchHighlightBackground":"#00000050","editor.findMatchBorder":"#80CBC4","editor.findMatchHighlightBorder":"#ffffff30","editorIndentGuide.background":"#37474F70","editorIndentGuide.activeBackground":"#37474F","editorGroup.border":"#00000030","editorGutter.modifiedBackground":"#82AAFF60","editorGutter.addedBackground":"#C3E88D60","editorGutter.deletedBackground":"#f0717860","activityBar.border":"#26323860","activityBar.foreground":"#EEFFFF","activityBar.activeBorder":"#80CBC4","extensionBadge.remoteForeground":"#EEFFFF","scrollbarSlider.background":"#EEFFFF20","scrollbarSlider.hoverBackground":"#EEFFFF10","scrollbarSlider.activeBackground":"#80CBC4","tab.unfocusedActiveBorder":"#546E7A","tab.activeForeground":"#FFFFFF","tab.inactiveForeground":"#607a86","tab.activeBackground":"#263238","tab.unfocusedActiveForeground":"#EEFFFF","editorWidget.resizeBorder":"#80CBC4","editorWidget.border":"#80CBC4","statusBar.border":"#26323860","statusBar.foreground":"#546E7A","editorBracketMatch.border":"#FFCC0050","editorBracketMatch.background":"#263238","editorOverviewRuler.findMatchForeground":"#80CBC4","editorOverviewRuler.border":"#263238","editorOverviewRuler.errorForeground":"#f0717840","editorOverviewRuler.infoForeground":"#82AAFF40","editorOverviewRuler.warningForeground":"#FFCB6B40","editorInfo.foreground":"#82AAFF70","editorWarning.foreground":"#FFCB6B70","editorError.foreground":"#f0717870","editorHoverWidget.border":"#FFFFFF10","titleBar.activeForeground":"#EEFFFF","titleBar.inactiveBackground":"#263238","titleBar.inactiveForeground":"#607a86","titleBar.border":"#26323860","input.foreground":"#EEFFFF","input.placeholderForeground":"#EEFFFF60","input.border":"#FFFFFF10","inputValidation.errorBorder":"#f07178","inputValidation.infoBorder":"#82AAFF","inputValidation.warningBorder":"#FFCB6B","dropdown.border":"#FFFFFF10","quickInput.background":"#263238","quickInput.foreground":"#607a86","list.hoverForeground":"#FFFFFF","list.inactiveSelectionForeground":"#80CBC4","quickInput.list.focusBackground":"#EEFFFF20","editorSuggestWidget.background":"#263238","editorSuggestWidget.foreground":"#EEFFFF","editorSuggestWidget.highlightForeground":"#80CBC4","editorSuggestWidget.selectedBackground":"#00000050","editorSuggestWidget.border":"#FFFFFF10","diffEditor.insertedTextBackground":"#89DDFF20","diffEditor.removedTextBackground":"#ff9cac20","notifications.background":"#263238","notifications.foreground":"#EEFFFF","notificationLink.foreground":"#80CBC4","extensionButton.prominentBackground":"#C3E88D90","extensionButton.prominentHoverBackground":"#C3E88D","extensionButton.prominentForeground":"#000000","peekViewEditorGutter.background":"#EEFFFF05","peekViewTitleDescription.foreground":"#EEFFFF60","peekViewResult.matchHighlightBackground":"#80CBC420","peekViewEditor.matchHighlightBackground":"#80CBC420","peekViewResult.selectionBackground":"#607a8670","gitDecoration.deletedResourceForeground":"#f0717890","gitDecoration.conflictingResourceForeground":"#FFCB6B90","gitDecoration.modifiedResourceForeground":"#82AAFF90","gitDecoration.untrackedResourceForeground":"#C3E88D90","gitDecoration.ignoredResourceForeground":"#607a8690","breadcrumb.background":"#263238","breadcrumb.foreground":"#607a86","breadcrumb.focusForeground":"#EEFFFF","breadcrumb.activeSelectionForeground":"#80CBC4","breadcrumbPicker.background":"#263238","menu.background":"#263238","menu.foreground":"#EEFFFF","menu.selectionBackground":"#00000050","menu.selectionForeground":"#80CBC4","menu.selectionBorder":"#00000030","menu.separatorBackground":"#EEFFFF","menubar.selectionBackground":"#00000030","menubar.selectionForeground":"#80CBC4","menubar.selectionBorder":"#00000030","settings.dropdownForeground":"#EEFFFF","settings.dropdownBackground":"#263238","settings.numberInputForeground":"#EEFFFF","settings.numberInputBackground":"#263238","settings.textInputForeground":"#EEFFFF","settings.textInputBackground":"#263238","settings.headerForeground":"#80CBC4","settings.modifiedItemIndicator":"#80CBC4","settings.checkboxBackground":"#263238","settings.checkboxForeground":"#EEFFFF","listFilterWidget.background":"#00000030","listFilterWidget.outline":"#00000030","listFilterWidget.noMatchesOutline":"#00000030"}}'),xT=JSON.parse('{"name":"Material-Theme-Darker","semanticHighlighting":true,"tokenColors":[{"name":"Global settings","settings":{"background":"#212121","foreground":"#EEFFFF"}},{"name":"String","scope":"string","settings":{"foreground":"#C3E88D"}},{"name":"Punctuation","scope":"punctuation, constant.other.symbol","settings":{"foreground":"#89DDFF"}},{"name":"String Escape","scope":"constant.character.escape, text.html constant.character.entity.named","settings":{"foreground":"#EEFFFF"}},{"name":"Boolean","scope":"constant.language.boolean","settings":{"foreground":"#ff9cac"}},{"name":"Number","scope":"constant.numeric","settings":{"foreground":"#F78C6C"}},{"name":"Variable","scope":"variable, variable.parameter, support.variable, variable.language, support.constant, meta.definition.variable entity.name.function, meta.function-call.arguments","settings":{"foreground":"#EEFFFF"}},{"name":"Other Keyword","scope":"keyword.other","settings":{"foreground":"#F78C6C"}},{"name":"Keyword","scope":"keyword, modifier, variable.language.this, support.type.object, constant.language","settings":{"foreground":"#89DDFF"}},{"name":"Function call","scope":"entity.name.function, support.function","settings":{"foreground":"#82AAFF"}},{"name":"Storage","scope":"storage.type, storage.modifier, storage.control","settings":{"foreground":"#C792EA"}},{"name":"Modules","scope":"support.module, support.node","settings":{"foreground":"#f07178","fontStyle":"italic"}},{"name":"Type","scope":"support.type, constant.other.key","settings":{"foreground":"#FFCB6B"}},{"name":"Type","scope":"entity.name.type, entity.other.inherited-class, entity.other","settings":{"foreground":"#FFCB6B"}},{"name":"Comment","scope":"comment","settings":{"foreground":"#545454","fontStyle":"italic"}},{"name":"Comment","scope":"comment punctuation.definition.comment, string.quoted.docstring","settings":{"foreground":"#545454","fontStyle":"italic"}},{"name":"Punctuation","scope":"punctuation","settings":{"foreground":"#89DDFF"}},{"name":"Class","scope":"entity.name, entity.name.type.class, support.type, support.class, meta.use","settings":{"foreground":"#FFCB6B"}},{"name":"Class variable","scope":"variable.object.property, meta.field.declaration entity.name.function","settings":{"foreground":"#f07178"}},{"name":"Class method","scope":"meta.definition.method entity.name.function","settings":{"foreground":"#f07178"}},{"name":"Function definition","scope":"meta.function entity.name.function","settings":{"foreground":"#82AAFF"}},{"name":"Template expression","scope":"template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end","settings":{"foreground":"#89DDFF"}},{"name":"Reset embedded/template expression colors","scope":"meta.embedded, source.groovy.embedded, meta.template.expression","settings":{"foreground":"#EEFFFF"}},{"name":"YAML key","scope":"entity.name.tag.yaml","settings":{"foreground":"#f07178"}},{"name":"JSON key","scope":"meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json","settings":{"foreground":"#f07178"}},{"name":"JSON constant","scope":"constant.language.json","settings":{"foreground":"#89DDFF"}},{"name":"CSS class","scope":"entity.other.attribute-name.class","settings":{"foreground":"#FFCB6B"}},{"name":"CSS ID","scope":"entity.other.attribute-name.id","settings":{"foreground":"#F78C6C"}},{"name":"CSS tag","scope":"source.css entity.name.tag","settings":{"foreground":"#FFCB6B"}},{"name":"CSS properties","scope":"support.type.property-name.css","settings":{"foreground":"#B2CCD6"}},{"name":"HTML tag outer","scope":"meta.tag, punctuation.definition.tag","settings":{"foreground":"#89DDFF"}},{"name":"HTML tag inner","scope":"entity.name.tag","settings":{"foreground":"#f07178"}},{"name":"HTML tag attribute","scope":"entity.other.attribute-name","settings":{"foreground":"#C792EA"}},{"name":"HTML entities","scope":"punctuation.definition.entity.html","settings":{"foreground":"#EEFFFF"}},{"name":"Markdown heading","scope":"markup.heading","settings":{"foreground":"#89DDFF"}},{"name":"Markdown link text","scope":"text.html.markdown meta.link.inline, meta.link.reference","settings":{"foreground":"#f07178"}},{"name":"Markdown list item","scope":"text.html.markdown beginning.punctuation.definition.list","settings":{"foreground":"#89DDFF"}},{"name":"Markdown italic","scope":"markup.italic","settings":{"foreground":"#f07178","fontStyle":"italic"}},{"name":"Markdown bold","scope":"markup.bold","settings":{"foreground":"#f07178","fontStyle":"bold"}},{"name":"Markdown bold italic","scope":"markup.bold markup.italic, markup.italic markup.bold","settings":{"foreground":"#f07178","fontStyle":"italic bold"}},{"name":"Markdown code block","scope":"markup.fenced_code.block.markdown punctuation.definition.markdown","settings":{"foreground":"#C3E88D"}},{"name":"Markdown inline code","scope":"markup.inline.raw.string.markdown","settings":{"foreground":"#C3E88D"}},{"name":"INI property name","scope":"keyword.other.definition.ini","settings":{"foreground":"#f07178"}},{"name":"INI section title","scope":"entity.name.section.group-title.ini","settings":{"foreground":"#89DDFF"}},{"name":"C# class","scope":"source.cs meta.class.identifier storage.type","settings":{"foreground":"#FFCB6B"}},{"name":"C# class method","scope":"source.cs meta.method.identifier entity.name.function","settings":{"foreground":"#f07178"}},{"name":"C# function call","scope":"source.cs meta.method-call meta.method, source.cs entity.name.function","settings":{"foreground":"#82AAFF"}},{"name":"C# type","scope":"source.cs storage.type","settings":{"foreground":"#FFCB6B"}},{"name":"C# return type","scope":"source.cs meta.method.return-type","settings":{"foreground":"#FFCB6B"}},{"name":"C# preprocessor","scope":"source.cs meta.preprocessor","settings":{"foreground":"#545454"}},{"name":"C# namespace","scope":"source.cs entity.name.type.namespace","settings":{"foreground":"#EEFFFF"}},{"name":"JSX Text","scope":"meta.jsx.children, SXNested","settings":{"foreground":"#EEFFFF"}},{"name":"JSX Components name","scope":"support.class.component","settings":{"foreground":"#FFCB6B"}},{"name":"C-related Block Level Variables","scope":"source.cpp meta.block variable.other","settings":{"foreground":"#EEFFFF"}},{"name":"Member Access Meta","scope":"source.python meta.member.access.python","settings":{"foreground":"#f07178"}},{"name":"Function Call","scope":"source.python meta.function-call.python, meta.function-call.arguments","settings":{"foreground":"#82AAFF"}},{"name":"Blocks","scope":"meta.block","settings":{"foreground":"#f07178"}},{"name":"Function Call","scope":"entity.name.function.call","settings":{"foreground":"#82AAFF"}},{"name":"Namespaces","scope":"source.php support.other.namespace, source.php meta.use support.class","settings":{"foreground":"#EEFFFF"}},{"name":"Constant keywords","scope":"constant.keyword","settings":{"foreground":"#89DDFF","fontStyle":"italic"}},{"name":"Entity name","scope":"entity.name.function","settings":{"foreground":"#82AAFF"}},{"name":"Global settings","settings":{"background":"#212121","foreground":"#EEFFFF"}},{"name":"Markup Deleted","scope":["markup.deleted"],"settings":{"foreground":"#f07178"}},{"name":"Markup Inserted","scope":["markup.inserted"],"settings":{"foreground":"#C3E88D"}},{"name":"Markup Underline","scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"name":"Keyword Control","scope":["keyword.control"],"settings":{"foreground":"#89DDFF","fontStyle":"italic"}},{"name":"Parameter","scope":["variable.parameter"],"settings":{"fontStyle":"italic"}},{"name":"Python - Self Parameter","scope":["variable.parameter.function.language.special.self.python"],"settings":{"foreground":"#f07178","fontStyle":"italic"}},{"name":"Python - Format Placeholder","scope":["constant.character.format.placeholder.other.python"],"settings":{"foreground":"#F78C6C"}},{"name":"Markdown - Blockquote","scope":["markup.quote"],"settings":{"fontStyle":"italic","foreground":"#89DDFF"}},{"name":"Markdown - Fenced Language","scope":["markup.fenced_code.block"],"settings":{"foreground":"#EEFFFF90"}},{"name":"Markdown - Blockquote Punctuation","scope":["punctuation.definition.quote"],"settings":{"foreground":"#ff9cac"}},{"name":"JSON Key - Level 0","scope":["meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C792EA"}},{"name":"JSON Key - Level 1","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFCB6B"}},{"name":"JSON Key - Level 2","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#F78C6C"}},{"name":"JSON Key - Level 3","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#f07178"}},{"name":"JSON Key - Level 4","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#916b53"}},{"name":"JSON Key - Level 5","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#82AAFF"}},{"name":"JSON Key - Level 6","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#ff9cac"}},{"name":"JSON Key - Level 7","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C792EA"}},{"name":"JSON Key - Level 8","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C3E88D"}}],"colors":{"focusBorder":"#FFFFFF00","foreground":"#EEFFFF","button.background":"#61616150","button.foreground":"#ffffff","dropdown.background":"#212121","input.background":"#2B2B2B","inputOption.activeBorder":"#EEFFFF30","list.activeSelectionBackground":"#212121","list.activeSelectionForeground":"#80CBC4","list.dropBackground":"#f0717880","list.focusBackground":"#EEFFFF20","list.focusForeground":"#EEFFFF","list.highlightForeground":"#80CBC4","list.hoverBackground":"#212121","list.inactiveSelectionBackground":"#00000030","activityBar.background":"#212121","activityBar.dropBackground":"#f0717880","activityBarBadge.background":"#80CBC4","activityBarBadge.foreground":"#000000","badge.background":"#00000030","badge.foreground":"#545454","sideBar.background":"#212121","sideBarSectionHeader.background":"#212121","editorGroup.dropBackground":"#f0717880","editorGroup.focusedEmptyBorder":"#f07178","editorGroupHeader.tabsBackground":"#212121","tab.border":"#212121","tab.activeBorder":"#80CBC4","tab.inactiveBackground":"#212121","tab.activeModifiedBorder":"#616161","tab.inactiveModifiedBorder":"#904348","tab.unfocusedActiveModifiedBorder":"#c05a60","tab.unfocusedInactiveModifiedBorder":"#904348","editor.background":"#212121","editor.foreground":"#EEFFFF","editorLineNumber.foreground":"#424242","editorLineNumber.activeForeground":"#616161","editorCursor.foreground":"#FFCC00","editor.selectionBackground":"#61616150","editor.selectionHighlightBackground":"#FFCC0020","editor.wordHighlightBackground":"#ff9cac30","editor.wordHighlightStrongBackground":"#C3E88D30","editor.findMatchHighlight":"#EEFFFF","editor.findRangeHighlightBackground":"#FFCB6B30","editor.lineHighlightBorder":"#00000000","editor.rangeHighlightBackground":"#FFFFFF0d","editorWhitespace.foreground":"#EEFFFF40","editorWidget.background":"#212121","editorHoverWidget.background":"#212121","editorMarkerNavigation.background":"#EEFFFF05","peekView.border":"#00000030","peekViewEditor.background":"#EEFFFF05","peekViewResult.background":"#EEFFFF05","peekViewTitle.background":"#EEFFFF05","panel.background":"#212121","panel.border":"#21212160","panelTitle.activeBorder":"#80CBC4","panelTitle.inactiveForeground":"#EEFFFF","notebook.focusedCellBorder":"#80CBC4","notebook.inactiveFocusedCellBorder":"#80CBC450","statusBar.background":"#212121","statusBar.debuggingBackground":"#C792EA","statusBar.debuggingForeground":"#ffffff","statusBar.noFolderBackground":"#212121","statusBarItem.activeBackground":"#f0717880","statusBarItem.hoverBackground":"#54545420","statusBarItem.remoteBackground":"#80CBC4","statusBarItem.remoteForeground":"#000000","titleBar.activeBackground":"#212121","pickerGroup.border":"#FFFFFF1a","terminal.ansiBlack":"#000000","terminal.ansiBlue":"#82AAFF","terminal.ansiBrightBlack":"#545454","terminal.ansiBrightBlue":"#82AAFF","terminal.ansiBrightCyan":"#89DDFF","terminal.ansiBrightGreen":"#C3E88D","terminal.ansiBrightMagenta":"#C792EA","terminal.ansiBrightRed":"#f07178","terminal.ansiBrightWhite":"#ffffff","terminal.ansiBrightYellow":"#FFCB6B","terminal.ansiCyan":"#89DDFF","terminal.ansiGreen":"#C3E88D","terminal.ansiMagenta":"#C792EA","terminal.ansiRed":"#f07178","terminal.ansiWhite":"#ffffff","terminal.ansiYellow":"#FFCB6B","debugToolBar.background":"#212121","debugConsole.errorForeground":"#f07178","debugConsole.infoForeground":"#89DDFF","debugConsole.warningForeground":"#FFCB6B","selection.background":"#00000080","editorRuler.foreground":"#424242","widget.shadow":"#00000030","scrollbar.shadow":"#00000030","editorLink.activeForeground":"#EEFFFF","progressBar.background":"#80CBC4","pickerGroup.foreground":"#80CBC4","tree.indentGuidesStroke":"#424242","terminalCursor.foreground":"#FFCB6B","terminalCursor.background":"#000000","inputOption.activeBackground":"#EEFFFF30","textLink.foreground":"#80CBC4","textLink.activeForeground":"#EEFFFF","sideBar.foreground":"#616161","sideBar.border":"#21212160","sideBarTitle.foreground":"#EEFFFF","sideBarSectionHeader.border":"#21212160","panel.dropBackground":"#EEFFFF","panelTitle.activeForeground":"#FFFFFF","editor.lineHighlightBackground":"#00000050","editor.findMatchBackground":"#000000","editor.findMatchHighlightBackground":"#00000050","editor.findMatchBorder":"#80CBC4","editor.findMatchHighlightBorder":"#ffffff30","editorIndentGuide.background":"#42424270","editorIndentGuide.activeBackground":"#424242","editorGroup.border":"#00000030","editorGutter.modifiedBackground":"#82AAFF60","editorGutter.addedBackground":"#C3E88D60","editorGutter.deletedBackground":"#f0717860","activityBar.border":"#21212160","activityBar.foreground":"#EEFFFF","activityBar.activeBorder":"#80CBC4","extensionBadge.remoteForeground":"#EEFFFF","scrollbarSlider.background":"#EEFFFF20","scrollbarSlider.hoverBackground":"#EEFFFF10","scrollbarSlider.activeBackground":"#80CBC4","tab.unfocusedActiveBorder":"#545454","tab.activeForeground":"#FFFFFF","tab.inactiveForeground":"#616161","tab.activeBackground":"#212121","tab.unfocusedActiveForeground":"#EEFFFF","editorWidget.resizeBorder":"#80CBC4","editorWidget.border":"#80CBC4","statusBar.border":"#21212160","statusBar.foreground":"#616161","editorBracketMatch.border":"#FFCC0050","editorBracketMatch.background":"#212121","editorOverviewRuler.findMatchForeground":"#80CBC4","editorOverviewRuler.border":"#212121","editorOverviewRuler.errorForeground":"#f0717840","editorOverviewRuler.infoForeground":"#82AAFF40","editorOverviewRuler.warningForeground":"#FFCB6B40","editorInfo.foreground":"#82AAFF70","editorWarning.foreground":"#FFCB6B70","editorError.foreground":"#f0717870","editorHoverWidget.border":"#FFFFFF10","titleBar.activeForeground":"#EEFFFF","titleBar.inactiveBackground":"#212121","titleBar.inactiveForeground":"#616161","titleBar.border":"#21212160","input.foreground":"#EEFFFF","input.placeholderForeground":"#EEFFFF60","input.border":"#FFFFFF10","inputValidation.errorBorder":"#f07178","inputValidation.infoBorder":"#82AAFF","inputValidation.warningBorder":"#FFCB6B","dropdown.border":"#FFFFFF10","quickInput.background":"#212121","quickInput.foreground":"#616161","list.hoverForeground":"#FFFFFF","list.inactiveSelectionForeground":"#80CBC4","quickInput.list.focusBackground":"#EEFFFF20","editorSuggestWidget.background":"#212121","editorSuggestWidget.foreground":"#EEFFFF","editorSuggestWidget.highlightForeground":"#80CBC4","editorSuggestWidget.selectedBackground":"#00000050","editorSuggestWidget.border":"#FFFFFF10","diffEditor.insertedTextBackground":"#89DDFF20","diffEditor.removedTextBackground":"#ff9cac20","notifications.background":"#212121","notifications.foreground":"#EEFFFF","notificationLink.foreground":"#80CBC4","extensionButton.prominentBackground":"#C3E88D90","extensionButton.prominentHoverBackground":"#C3E88D","extensionButton.prominentForeground":"#000000","peekViewEditorGutter.background":"#EEFFFF05","peekViewTitleDescription.foreground":"#EEFFFF60","peekViewResult.matchHighlightBackground":"#61616150","peekViewEditor.matchHighlightBackground":"#61616150","peekViewResult.selectionBackground":"#61616170","gitDecoration.deletedResourceForeground":"#f0717890","gitDecoration.conflictingResourceForeground":"#FFCB6B90","gitDecoration.modifiedResourceForeground":"#82AAFF90","gitDecoration.untrackedResourceForeground":"#C3E88D90","gitDecoration.ignoredResourceForeground":"#61616190","breadcrumb.background":"#212121","breadcrumb.foreground":"#616161","breadcrumb.focusForeground":"#EEFFFF","breadcrumb.activeSelectionForeground":"#80CBC4","breadcrumbPicker.background":"#212121","menu.background":"#212121","menu.foreground":"#EEFFFF","menu.selectionBackground":"#00000050","menu.selectionForeground":"#80CBC4","menu.selectionBorder":"#00000030","menu.separatorBackground":"#EEFFFF","menubar.selectionBackground":"#00000030","menubar.selectionForeground":"#80CBC4","menubar.selectionBorder":"#00000030","settings.dropdownForeground":"#EEFFFF","settings.dropdownBackground":"#212121","settings.numberInputForeground":"#EEFFFF","settings.numberInputBackground":"#212121","settings.textInputForeground":"#EEFFFF","settings.textInputBackground":"#212121","settings.headerForeground":"#80CBC4","settings.modifiedItemIndicator":"#80CBC4","settings.checkboxBackground":"#212121","settings.checkboxForeground":"#EEFFFF","listFilterWidget.background":"#00000030","listFilterWidget.outline":"#00000030","listFilterWidget.noMatchesOutline":"#00000030"}}'),OT=JSON.parse('{"name":"One Dark Pro","type":"dark","semanticHighlighting":true,"semanticTokenColors":{"enumMember":{"foreground":"#56b6c2"},"variable.constant":{"foreground":"#d19a66"},"variable.defaultLibrary":{"foreground":"#e5c07b"},"variable:dart":{"foreground":"#d19a66"},"property:dart":{"foreground":"#d19a66"},"annotation:dart":{"foreground":"#d19a66"},"parameter.label:dart":{"foreground":"#abb2bf"},"macro":{"foreground":"#d19a66"},"tomlArrayKey":{"foreground":"#e5c07b"}},"tokenColors":[{"scope":"meta.embedded","settings":{"foreground":"#abb2bf"}},{"name":"unison punctuation","scope":"punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison","settings":{"foreground":"#e06c75"}},{"name":"haskell variable generic-type","scope":"variable.other.generic-type.haskell","settings":{"foreground":"#c678dd"}},{"name":"haskell storage type","scope":"storage.type.haskell","settings":{"foreground":"#d19a66"}},{"name":"support.variable.magic.python","scope":"support.variable.magic.python","settings":{"foreground":"#e06c75"}},{"name":"punctuation.separator.parameters.python","scope":"punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python","settings":{"foreground":"#abb2bf"}},{"name":"variable.parameter.function.language.special.self.python","scope":"variable.parameter.function.language.special.self.python","settings":{"foreground":"#e5c07b"}},{"name":"variable.parameter.function.language.special.cls.python","scope":"variable.parameter.function.language.special.cls.python","settings":{"foreground":"#e5c07b"}},{"name":"storage.modifier.lifetime.rust","scope":"storage.modifier.lifetime.rust","settings":{"foreground":"#abb2bf"}},{"name":"support.function.std.rust","scope":"support.function.std.rust","settings":{"foreground":"#61afef"}},{"name":"entity.name.lifetime.rust","scope":"entity.name.lifetime.rust","settings":{"foreground":"#e5c07b"}},{"name":"variable.language.rust","scope":"variable.language.rust","settings":{"foreground":"#e06c75"}},{"name":"support.constant.edge","scope":"support.constant.edge","settings":{"foreground":"#c678dd"}},{"name":"regexp constant character-class","scope":"constant.other.character-class.regexp","settings":{"foreground":"#e06c75"}},{"name":"keyword.operator","scope":["keyword.operator.word"],"settings":{"foreground":"#c678dd"}},{"name":"regexp operator.quantifier","scope":"keyword.operator.quantifier.regexp","settings":{"foreground":"#d19a66"}},{"name":"Text","scope":"variable.parameter.function","settings":{"foreground":"#abb2bf"}},{"name":"Comment Markup Link","scope":"comment markup.link","settings":{"foreground":"#5c6370"}},{"name":"markup diff","scope":"markup.changed.diff","settings":{"foreground":"#e5c07b"}},{"name":"diff","scope":"meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff","settings":{"foreground":"#61afef"}},{"name":"inserted.diff","scope":"markup.inserted.diff","settings":{"foreground":"#98c379"}},{"name":"deleted.diff","scope":"markup.deleted.diff","settings":{"foreground":"#e06c75"}},{"name":"c++ function","scope":"meta.function.c,meta.function.cpp","settings":{"foreground":"#e06c75"}},{"name":"c++ block","scope":"punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c","settings":{"foreground":"#abb2bf"}},{"name":"js/ts punctuation separator key-value","scope":"punctuation.separator.key-value","settings":{"foreground":"#abb2bf"}},{"name":"js/ts import keyword","scope":"keyword.operator.expression.import","settings":{"foreground":"#61afef"}},{"name":"math js/ts","scope":"support.constant.math","settings":{"foreground":"#e5c07b"}},{"name":"math property js/ts","scope":"support.constant.property.math","settings":{"foreground":"#d19a66"}},{"name":"js/ts variable.other.constant","scope":"variable.other.constant","settings":{"foreground":"#e5c07b"}},{"name":"java type","scope":["storage.type.annotation.java","storage.type.object.array.java"],"settings":{"foreground":"#e5c07b"}},{"name":"java source","scope":"source.java","settings":{"foreground":"#e06c75"}},{"name":"java modifier.import","scope":"punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java","settings":{"foreground":"#abb2bf"}},{"name":"java modifier.import","scope":"meta.method.java","settings":{"foreground":"#61afef"}},{"name":"java modifier.import","scope":"storage.modifier.import.java,storage.type.java,storage.type.generic.java","settings":{"foreground":"#e5c07b"}},{"name":"java instanceof","scope":"keyword.operator.instanceof.java","settings":{"foreground":"#c678dd"}},{"name":"java variable.name","scope":"meta.definition.variable.name.java","settings":{"foreground":"#e06c75"}},{"name":"operator logical","scope":"keyword.operator.logical","settings":{"foreground":"#56b6c2"}},{"name":"operator bitwise","scope":"keyword.operator.bitwise","settings":{"foreground":"#56b6c2"}},{"name":"operator channel","scope":"keyword.operator.channel","settings":{"foreground":"#56b6c2"}},{"name":"support.constant.property-value.scss","scope":"support.constant.property-value.scss,support.constant.property-value.css","settings":{"foreground":"#d19a66"}},{"name":"CSS/SCSS/LESS Operators","scope":"keyword.operator.css,keyword.operator.scss,keyword.operator.less","settings":{"foreground":"#56b6c2"}},{"name":"css color standard name","scope":"support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss","settings":{"foreground":"#d19a66"}},{"name":"css comma","scope":"punctuation.separator.list.comma.css","settings":{"foreground":"#abb2bf"}},{"name":"css attribute-name.id","scope":"support.constant.color.w3c-standard-color-name.css","settings":{"foreground":"#d19a66"}},{"name":"css property-name","scope":"support.type.vendored.property-name.css","settings":{"foreground":"#56b6c2"}},{"name":"js/ts module","scope":"support.module.node,support.type.object.module,support.module.node","settings":{"foreground":"#e5c07b"}},{"name":"entity.name.type.module","scope":"entity.name.type.module","settings":{"foreground":"#e5c07b"}},{"name":"js variable readwrite","scope":"variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node","settings":{"foreground":"#e06c75"}},{"name":"js/ts json","scope":"support.constant.json","settings":{"foreground":"#d19a66"}},{"name":"js/ts Keyword","scope":["keyword.operator.expression.instanceof","keyword.operator.new","keyword.operator.ternary","keyword.operator.optional","keyword.operator.expression.keyof"],"settings":{"foreground":"#c678dd"}},{"name":"js/ts console","scope":"support.type.object.console","settings":{"foreground":"#e06c75"}},{"name":"js/ts support.variable.property.process","scope":"support.variable.property.process","settings":{"foreground":"#d19a66"}},{"name":"js console function","scope":"entity.name.function,support.function.console","settings":{"foreground":"#61afef"}},{"name":"keyword.operator.misc.rust","scope":"keyword.operator.misc.rust","settings":{"foreground":"#abb2bf"}},{"name":"keyword.operator.sigil.rust","scope":"keyword.operator.sigil.rust","settings":{"foreground":"#c678dd"}},{"name":"operator","scope":"keyword.operator.delete","settings":{"foreground":"#c678dd"}},{"name":"js dom","scope":"support.type.object.dom","settings":{"foreground":"#56b6c2"}},{"name":"js dom variable","scope":"support.variable.dom,support.variable.property.dom","settings":{"foreground":"#e06c75"}},{"name":"keyword.operator","scope":"keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational","settings":{"foreground":"#56b6c2"}},{"name":"C operator assignment","scope":"keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp","settings":{"foreground":"#c678dd"}},{"name":"Punctuation","scope":"punctuation.separator.delimiter","settings":{"foreground":"#abb2bf"}},{"name":"Other punctuation .c","scope":"punctuation.separator.c,punctuation.separator.cpp","settings":{"foreground":"#c678dd"}},{"name":"C type posix-reserved","scope":"support.type.posix-reserved.c,support.type.posix-reserved.cpp","settings":{"foreground":"#56b6c2"}},{"name":"keyword.operator.sizeof.c","scope":"keyword.operator.sizeof.c,keyword.operator.sizeof.cpp","settings":{"foreground":"#c678dd"}},{"name":"python parameter","scope":"variable.parameter.function.language.python","settings":{"foreground":"#d19a66"}},{"name":"python type","scope":"support.type.python","settings":{"foreground":"#56b6c2"}},{"name":"python logical","scope":"keyword.operator.logical.python","settings":{"foreground":"#c678dd"}},{"name":"pyCs","scope":"variable.parameter.function.python","settings":{"foreground":"#d19a66"}},{"name":"python block","scope":"punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python","settings":{"foreground":"#abb2bf"}},{"name":"python function-call.generic","scope":"meta.function-call.generic.python","settings":{"foreground":"#61afef"}},{"name":"python placeholder reset to normal string","scope":"constant.character.format.placeholder.other.python","settings":{"foreground":"#d19a66"}},{"name":"Operators","scope":"keyword.operator","settings":{"foreground":"#abb2bf"}},{"name":"Compound Assignment Operators","scope":"keyword.operator.assignment.compound","settings":{"foreground":"#c678dd"}},{"name":"Compound Assignment Operators js/ts","scope":"keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts","settings":{"foreground":"#56b6c2"}},{"name":"Keywords","scope":"keyword","settings":{"foreground":"#c678dd"}},{"name":"Namespaces","scope":"entity.name.namespace","settings":{"foreground":"#e5c07b"}},{"name":"Variables","scope":"variable","settings":{"foreground":"#e06c75"}},{"name":"Variables","scope":"variable.c","settings":{"foreground":"#abb2bf"}},{"name":"Language variables","scope":"variable.language","settings":{"foreground":"#e5c07b"}},{"name":"Java Variables","scope":"token.variable.parameter.java","settings":{"foreground":"#abb2bf"}},{"name":"Java Imports","scope":"import.storage.java","settings":{"foreground":"#e5c07b"}},{"name":"Packages","scope":"token.package.keyword","settings":{"foreground":"#c678dd"}},{"name":"Packages","scope":"token.package","settings":{"foreground":"#abb2bf"}},{"name":"Functions","scope":["entity.name.function","meta.require","support.function.any-method","variable.function"],"settings":{"foreground":"#61afef"}},{"name":"Classes","scope":"entity.name.type.namespace","settings":{"foreground":"#e5c07b"}},{"name":"Classes","scope":"support.class, entity.name.type.class","settings":{"foreground":"#e5c07b"}},{"name":"Class name","scope":"entity.name.class.identifier.namespace.type","settings":{"foreground":"#e5c07b"}},{"name":"Class name","scope":["entity.name.class","variable.other.class.js","variable.other.class.ts"],"settings":{"foreground":"#e5c07b"}},{"name":"Class name php","scope":"variable.other.class.php","settings":{"foreground":"#e06c75"}},{"name":"Type Name","scope":"entity.name.type","settings":{"foreground":"#e5c07b"}},{"name":"Keyword Control","scope":"keyword.control","settings":{"foreground":"#c678dd"}},{"name":"Control Elements","scope":"control.elements, keyword.operator.less","settings":{"foreground":"#d19a66"}},{"name":"Methods","scope":"keyword.other.special-method","settings":{"foreground":"#61afef"}},{"name":"Storage","scope":"storage","settings":{"foreground":"#c678dd"}},{"name":"Storage JS TS","scope":"token.storage","settings":{"foreground":"#c678dd"}},{"name":"Source Js Keyword Operator Delete,source Js Keyword Operator In,source Js Keyword Operator Of,source Js Keyword Operator Instanceof,source Js Keyword Operator New,source Js Keyword Operator Typeof,source Js Keyword Operator Void","scope":"keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void","settings":{"foreground":"#c678dd"}},{"name":"Java Storage","scope":"token.storage.type.java","settings":{"foreground":"#e5c07b"}},{"name":"Support","scope":"support.function","settings":{"foreground":"#56b6c2"}},{"name":"Support type","scope":"support.type.property-name","settings":{"foreground":"#abb2bf"}},{"name":"[VSCODE-CUSTOM] toml support","scope":"support.type.property-name.toml, support.type.property-name.table.toml, support.type.property-name.array.toml","settings":{"foreground":"#e06c75"}},{"name":"Support type","scope":"support.constant.property-value","settings":{"foreground":"#abb2bf"}},{"name":"Support type","scope":"support.constant.font-name","settings":{"foreground":"#d19a66"}},{"name":"Meta tag","scope":"meta.tag","settings":{"foreground":"#abb2bf"}},{"name":"Strings","scope":"string","settings":{"foreground":"#98c379"}},{"name":"Constant other symbol","scope":"constant.other.symbol","settings":{"foreground":"#56b6c2"}},{"name":"Integers","scope":"constant.numeric","settings":{"foreground":"#d19a66"}},{"name":"Constants","scope":"constant","settings":{"foreground":"#d19a66"}},{"name":"Constants","scope":"punctuation.definition.constant","settings":{"foreground":"#d19a66"}},{"name":"Tags","scope":"entity.name.tag","settings":{"foreground":"#e06c75"}},{"name":"Attributes","scope":"entity.other.attribute-name","settings":{"foreground":"#d19a66"}},{"name":"Attribute IDs","scope":"entity.other.attribute-name.id","settings":{"foreground":"#61afef"}},{"name":"Attribute class","scope":"entity.other.attribute-name.class.css","settings":{"foreground":"#d19a66"}},{"name":"Selector","scope":"meta.selector","settings":{"foreground":"#c678dd"}},{"name":"Headings","scope":"markup.heading","settings":{"foreground":"#e06c75"}},{"name":"Headings","scope":"markup.heading punctuation.definition.heading, entity.name.section","settings":{"foreground":"#61afef"}},{"name":"Units","scope":"keyword.other.unit","settings":{"foreground":"#e06c75"}},{"name":"Bold","scope":"markup.bold,todo.bold","settings":{"foreground":"#d19a66"}},{"name":"Bold","scope":"punctuation.definition.bold","settings":{"foreground":"#e5c07b"}},{"name":"markup Italic","scope":"markup.italic, punctuation.definition.italic,todo.emphasis","settings":{"foreground":"#c678dd"}},{"name":"emphasis md","scope":"emphasis md","settings":{"foreground":"#c678dd"}},{"name":"[VSCODE-CUSTOM] Markdown headings","scope":"entity.name.section.markdown","settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] Markdown heading Punctuation Definition","scope":"punctuation.definition.heading.markdown","settings":{"foreground":"#e06c75"}},{"name":"punctuation.definition.list.begin.markdown","scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Markdown heading setext","scope":"markup.heading.setext","settings":{"foreground":"#abb2bf"}},{"name":"[VSCODE-CUSTOM] Markdown Punctuation Definition Bold","scope":"punctuation.definition.bold.markdown","settings":{"foreground":"#d19a66"}},{"name":"[VSCODE-CUSTOM] Markdown Inline Raw","scope":"markup.inline.raw.markdown","settings":{"foreground":"#98c379"}},{"name":"[VSCODE-CUSTOM] Markdown Inline Raw","scope":"markup.inline.raw.string.markdown","settings":{"foreground":"#98c379"}},{"name":"[VSCODE-CUSTOM] Markdown Inline Raw punctuation","scope":"punctuation.definition.raw.markdown","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Markdown List Punctuation Definition","scope":"punctuation.definition.list.markdown","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Markdown Punctuation Definition String","scope":["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown","punctuation.definition.metadata.markdown"],"settings":{"foreground":"#e06c75"}},{"name":"beginning.punctuation.definition.list.markdown","scope":["beginning.punctuation.definition.list.markdown"],"settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] Markdown Punctuation Definition Link","scope":"punctuation.definition.metadata.markdown","settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] Markdown Underline Link/Image","scope":"markup.underline.link.markdown,markup.underline.link.image.markdown","settings":{"foreground":"#c678dd"}},{"name":"[VSCODE-CUSTOM] Markdown Link Title/Description","scope":"string.other.link.title.markdown,string.other.link.description.markdown","settings":{"foreground":"#61afef"}},{"name":"[VSCODE-CUSTOM] Asciidoc Inline Raw","scope":"markup.raw.monospace.asciidoc","settings":{"foreground":"#98c379"}},{"name":"[VSCODE-CUSTOM] Asciidoc Inline Raw Punctuation Definition","scope":"punctuation.definition.asciidoc","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Asciidoc List Punctuation Definition","scope":"markup.list.asciidoc","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Asciidoc underline link","scope":"markup.link.asciidoc,markup.other.url.asciidoc","settings":{"foreground":"#c678dd"}},{"name":"[VSCODE-CUSTOM] Asciidoc link name","scope":"string.unquoted.asciidoc,markup.other.url.asciidoc","settings":{"foreground":"#61afef"}},{"name":"Regular Expressions","scope":"string.regexp","settings":{"foreground":"#56b6c2"}},{"name":"Embedded","scope":"punctuation.section.embedded, variable.interpolation","settings":{"foreground":"#e06c75"}},{"name":"Embedded","scope":"punctuation.section.embedded.begin,punctuation.section.embedded.end","settings":{"foreground":"#c678dd"}},{"name":"illegal","scope":"invalid.illegal","settings":{"foreground":"#ffffff"}},{"name":"illegal","scope":"invalid.illegal.bad-ampersand.html","settings":{"foreground":"#abb2bf"}},{"scope":"invalid.illegal.unrecognized-tag.html","settings":{"foreground":"#e06c75"}},{"name":"Broken","scope":"invalid.broken","settings":{"foreground":"#ffffff"}},{"name":"Deprecated","scope":"invalid.deprecated","settings":{"foreground":"#ffffff"}},{"name":"html Deprecated","scope":"invalid.deprecated.entity.other.attribute-name.html","settings":{"foreground":"#d19a66"}},{"name":"Unimplemented","scope":"invalid.unimplemented","settings":{"foreground":"#ffffff"}},{"name":"Source Json Meta Structure Dictionary Json > String Quoted Json","scope":"source.json meta.structure.dictionary.json > string.quoted.json","settings":{"foreground":"#e06c75"}},{"name":"Source Json Meta Structure Dictionary Json > String Quoted Json > Punctuation String","scope":"source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string","settings":{"foreground":"#e06c75"}},{"name":"Source Json Meta Structure Dictionary Json > Value Json > String Quoted Json,source Json Meta Structure Array Json > Value Json > String Quoted Json,source Json Meta Structure Dictionary Json > Value Json > String Quoted Json > Punctuation,source Json Meta Structure Array Json > Value Json > String Quoted Json > Punctuation","scope":"source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation","settings":{"foreground":"#98c379"}},{"name":"Source Json Meta Structure Dictionary Json > Constant Language Json,source Json Meta Structure Array Json > Constant Language Json","scope":"source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json","settings":{"foreground":"#56b6c2"}},{"name":"[VSCODE-CUSTOM] JSON Property Name","scope":"support.type.property-name.json","settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] JSON Punctuation for Property Name","scope":"support.type.property-name.json punctuation","settings":{"foreground":"#e06c75"}},{"name":"laravel blade tag","scope":"text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade","settings":{"foreground":"#c678dd"}},{"name":"laravel blade @","scope":"text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade","settings":{"foreground":"#c678dd"}},{"name":"use statement for other classes","scope":"support.other.namespace.use.php,support.other.namespace.use-as.php,entity.other.alias.php,meta.interface.php","settings":{"foreground":"#e5c07b"}},{"name":"error suppression","scope":"keyword.operator.error-control.php","settings":{"foreground":"#c678dd"}},{"name":"php instanceof","scope":"keyword.operator.type.php","settings":{"foreground":"#c678dd"}},{"name":"style double quoted array index normal begin","scope":"punctuation.section.array.begin.php","settings":{"foreground":"#abb2bf"}},{"name":"style double quoted array index normal end","scope":"punctuation.section.array.end.php","settings":{"foreground":"#abb2bf"}},{"name":"php illegal.non-null-typehinted","scope":"invalid.illegal.non-null-typehinted.php","settings":{"foreground":"#f44747"}},{"name":"php types","scope":"storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php","settings":{"foreground":"#e5c07b"}},{"name":"php call-function","scope":"meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php","settings":{"foreground":"#61afef"}},{"name":"php function-resets","scope":"punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php","settings":{"foreground":"#abb2bf"}},{"name":"support php constants","scope":"support.constant.core.rust","settings":{"foreground":"#d19a66"}},{"name":"support php constants","scope":"support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php","settings":{"foreground":"#d19a66"}},{"name":"php goto","scope":"entity.name.goto-label.php,support.other.php","settings":{"foreground":"#61afef"}},{"name":"php logical/bitwise operator","scope":"keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php","settings":{"foreground":"#56b6c2"}},{"name":"php regexp operator","scope":"keyword.operator.regexp.php","settings":{"foreground":"#c678dd"}},{"name":"php comparison","scope":"keyword.operator.comparison.php","settings":{"foreground":"#56b6c2"}},{"name":"php heredoc/nowdoc","scope":"keyword.operator.heredoc.php,keyword.operator.nowdoc.php","settings":{"foreground":"#c678dd"}},{"name":"python function decorator @","scope":"meta.function.decorator.python","settings":{"foreground":"#61afef"}},{"name":"python function support","scope":"support.token.decorator.python,meta.function.decorator.identifier.python","settings":{"foreground":"#56b6c2"}},{"name":"parameter function js/ts","scope":"function.parameter","settings":{"foreground":"#abb2bf"}},{"name":"brace function","scope":"function.brace","settings":{"foreground":"#abb2bf"}},{"name":"parameter function ruby cs","scope":"function.parameter.ruby, function.parameter.cs","settings":{"foreground":"#abb2bf"}},{"name":"constant.language.symbol.ruby","scope":"constant.language.symbol.ruby","settings":{"foreground":"#56b6c2"}},{"name":"constant.language.symbol.hashkey.ruby","scope":"constant.language.symbol.hashkey.ruby","settings":{"foreground":"#56b6c2"}},{"name":"rgb-value","scope":"rgb-value","settings":{"foreground":"#56b6c2"}},{"name":"rgb value","scope":"inline-color-decoration rgb-value","settings":{"foreground":"#d19a66"}},{"name":"rgb value less","scope":"less rgb-value","settings":{"foreground":"#d19a66"}},{"name":"sass selector","scope":"selector.sass","settings":{"foreground":"#e06c75"}},{"name":"ts primitive/builtin types","scope":"support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx","settings":{"foreground":"#e5c07b"}},{"name":"block scope","scope":"block.scope.end,block.scope.begin","settings":{"foreground":"#abb2bf"}},{"name":"cs storage type","scope":"storage.type.cs","settings":{"foreground":"#e5c07b"}},{"name":"cs local variable","scope":"entity.name.variable.local.cs","settings":{"foreground":"#e06c75"}},{"scope":"token.info-token","settings":{"foreground":"#61afef"}},{"scope":"token.warn-token","settings":{"foreground":"#d19a66"}},{"scope":"token.error-token","settings":{"foreground":"#f44747"}},{"scope":"token.debug-token","settings":{"foreground":"#c678dd"}},{"name":"String interpolation","scope":["punctuation.definition.template-expression.begin","punctuation.definition.template-expression.end","punctuation.section.embedded"],"settings":{"foreground":"#c678dd"}},{"name":"Reset JavaScript string interpolation expression","scope":["meta.template.expression"],"settings":{"foreground":"#abb2bf"}},{"name":"Import module JS","scope":["keyword.operator.module"],"settings":{"foreground":"#c678dd"}},{"name":"js Flowtype","scope":["support.type.type.flowtype"],"settings":{"foreground":"#61afef"}},{"name":"js Flow","scope":["support.type.primitive"],"settings":{"foreground":"#e5c07b"}},{"name":"js class prop","scope":["meta.property.object"],"settings":{"foreground":"#e06c75"}},{"name":"js func parameter","scope":["variable.parameter.function.js"],"settings":{"foreground":"#e06c75"}},{"name":"js template literals begin","scope":["keyword.other.template.begin"],"settings":{"foreground":"#98c379"}},{"name":"js template literals end","scope":["keyword.other.template.end"],"settings":{"foreground":"#98c379"}},{"name":"js template literals variable braces begin","scope":["keyword.other.substitution.begin"],"settings":{"foreground":"#98c379"}},{"name":"js template literals variable braces end","scope":["keyword.other.substitution.end"],"settings":{"foreground":"#98c379"}},{"name":"js operator.assignment","scope":["keyword.operator.assignment"],"settings":{"foreground":"#56b6c2"}},{"name":"go operator","scope":["keyword.operator.assignment.go"],"settings":{"foreground":"#e5c07b"}},{"name":"go operator","scope":["keyword.operator.arithmetic.go","keyword.operator.address.go"],"settings":{"foreground":"#c678dd"}},{"name":"Go package name","scope":["entity.name.package.go"],"settings":{"foreground":"#e5c07b"}},{"name":"elm prelude","scope":["support.type.prelude.elm"],"settings":{"foreground":"#56b6c2"}},{"name":"elm constant","scope":["support.constant.elm"],"settings":{"foreground":"#d19a66"}},{"name":"template literal","scope":["punctuation.quasi.element"],"settings":{"foreground":"#c678dd"}},{"name":"html/pug (jade) escaped characters and entities","scope":["constant.character.entity"],"settings":{"foreground":"#e06c75"}},{"name":"styling css pseudo-elements/classes to be able to differentiate from classes which are the same colour","scope":["entity.other.attribute-name.pseudo-element","entity.other.attribute-name.pseudo-class"],"settings":{"foreground":"#56b6c2"}},{"name":"Clojure globals","scope":["entity.global.clojure"],"settings":{"foreground":"#e5c07b"}},{"name":"Clojure symbols","scope":["meta.symbol.clojure"],"settings":{"foreground":"#e06c75"}},{"name":"Clojure constants","scope":["constant.keyword.clojure"],"settings":{"foreground":"#56b6c2"}},{"name":"CoffeeScript Function Argument","scope":["meta.arguments.coffee","variable.parameter.function.coffee"],"settings":{"foreground":"#e06c75"}},{"name":"Ini Default Text","scope":["source.ini"],"settings":{"foreground":"#98c379"}},{"name":"Makefile prerequisities","scope":["meta.scope.prerequisites.makefile"],"settings":{"foreground":"#e06c75"}},{"name":"Makefile text colour","scope":["source.makefile"],"settings":{"foreground":"#e5c07b"}},{"name":"Groovy import names","scope":["storage.modifier.import.groovy"],"settings":{"foreground":"#e5c07b"}},{"name":"Groovy Methods","scope":["meta.method.groovy"],"settings":{"foreground":"#61afef"}},{"name":"Groovy Variables","scope":["meta.definition.variable.name.groovy"],"settings":{"foreground":"#e06c75"}},{"name":"Groovy Inheritance","scope":["meta.definition.class.inherited.classes.groovy"],"settings":{"foreground":"#98c379"}},{"name":"HLSL Semantic","scope":["support.variable.semantic.hlsl"],"settings":{"foreground":"#e5c07b"}},{"name":"HLSL Types","scope":["support.type.texture.hlsl","support.type.sampler.hlsl","support.type.object.hlsl","support.type.object.rw.hlsl","support.type.fx.hlsl","support.type.object.hlsl"],"settings":{"foreground":"#c678dd"}},{"name":"SQL Variables","scope":["text.variable","text.bracketed"],"settings":{"foreground":"#e06c75"}},{"name":"types","scope":["support.type.swift","support.type.vb.asp"],"settings":{"foreground":"#e5c07b"}},{"name":"heading 1, keyword","scope":["entity.name.function.xi"],"settings":{"foreground":"#e5c07b"}},{"name":"heading 2, callable","scope":["entity.name.class.xi"],"settings":{"foreground":"#56b6c2"}},{"name":"heading 3, property","scope":["constant.character.character-class.regexp.xi"],"settings":{"foreground":"#e06c75"}},{"name":"heading 4, type, class, interface","scope":["constant.regexp.xi"],"settings":{"foreground":"#c678dd"}},{"name":"heading 5, enums, preprocessor, constant, decorator","scope":["keyword.control.xi"],"settings":{"foreground":"#56b6c2"}},{"name":"heading 6, number","scope":["invalid.xi"],"settings":{"foreground":"#abb2bf"}},{"name":"string","scope":["beginning.punctuation.definition.quote.markdown.xi"],"settings":{"foreground":"#98c379"}},{"name":"comments","scope":["beginning.punctuation.definition.list.markdown.xi"],"settings":{"foreground":"#7f848e"}},{"name":"link","scope":["constant.character.xi"],"settings":{"foreground":"#61afef"}},{"name":"accent","scope":["accent.xi"],"settings":{"foreground":"#61afef"}},{"name":"wikiword","scope":["wikiword.xi"],"settings":{"foreground":"#d19a66"}},{"name":"language operators like \'+\', \'-\' etc","scope":["constant.other.color.rgb-value.xi"],"settings":{"foreground":"#ffffff"}},{"name":"elements to dim","scope":["punctuation.definition.tag.xi"],"settings":{"foreground":"#5c6370"}},{"name":"C++/C#","scope":["entity.name.label.cs","entity.name.scope-resolution.function.call","entity.name.scope-resolution.function.definition"],"settings":{"foreground":"#e5c07b"}},{"name":"Markdown underscore-style headers","scope":["entity.name.label.cs","markup.heading.setext.1.markdown","markup.heading.setext.2.markdown"],"settings":{"foreground":"#e06c75"}},{"name":"meta.brace.square","scope":[" meta.brace.square"],"settings":{"foreground":"#abb2bf"}},{"name":"Comments","scope":"comment, punctuation.definition.comment","settings":{"foreground":"#7f848e","fontStyle":"italic"}},{"name":"[VSCODE-CUSTOM] Markdown Quote","scope":"markup.quote.markdown","settings":{"foreground":"#5c6370"}},{"name":"punctuation.definition.block.sequence.item.yaml","scope":"punctuation.definition.block.sequence.item.yaml","settings":{"foreground":"#abb2bf"}},{"scope":["constant.language.symbol.elixir","constant.language.symbol.double-quoted.elixir"],"settings":{"foreground":"#56b6c2"}},{"scope":["entity.name.variable.parameter.cs"],"settings":{"foreground":"#e5c07b"}},{"scope":["entity.name.variable.field.cs"],"settings":{"foreground":"#e06c75"}},{"name":"Deleted","scope":"markup.deleted","settings":{"foreground":"#e06c75"}},{"name":"Inserted","scope":"markup.inserted","settings":{"foreground":"#98c379"}},{"name":"Underline","scope":"markup.underline","settings":{"fontStyle":"underline"}},{"name":"punctuation.section.embedded.begin.php","scope":["punctuation.section.embedded.begin.php","punctuation.section.embedded.end.php"],"settings":{"foreground":"#BE5046"}},{"name":"support.other.namespace.php","scope":["support.other.namespace.php"],"settings":{"foreground":"#abb2bf"}},{"name":"variable.other.object","scope":["variable.other.object"],"settings":{"foreground":"#e5c07b"}},{"name":"variable.other.constant.property","scope":["variable.other.constant.property"],"settings":{"foreground":"#e06c75"}},{"name":"entity.other.inherited-class","scope":["entity.other.inherited-class"],"settings":{"foreground":"#e5c07b"}},{"name":"c variable readwrite","scope":"variable.other.readwrite.c","settings":{"foreground":"#e06c75"}},{"name":"php scope","scope":"entity.name.variable.parameter.php,punctuation.separator.colon.php,constant.other.php","settings":{"foreground":"#abb2bf"}},{"name":"Assembly","scope":["constant.numeric.decimal.asm.x86_64"],"settings":{"foreground":"#c678dd"}},{"scope":["support.other.parenthesis.regexp"],"settings":{"foreground":"#d19a66"}},{"scope":["constant.character.escape"],"settings":{"foreground":"#56b6c2"}},{"scope":["string.regexp"],"settings":{"foreground":"#e06c75"}},{"name":"js/ts italic","scope":"entity.other.attribute-name.js,entity.other.attribute-name.ts,entity.other.attribute-name.jsx,entity.other.attribute-name.tsx,variable.parameter,variable.language.super","settings":{"fontStyle":"italic"}},{"name":"comment","scope":"comment.line.double-slash,comment.block.documentation","settings":{"fontStyle":"italic"}},{"name":"Python Keyword Control","scope":"keyword.control.import.python,keyword.control.flow.python,keyword.operator.logical.python","settings":{"fontStyle":"italic"}},{"name":"markup.italic.markdown","scope":"markup.italic.markdown","settings":{"fontStyle":"italic"}}],"colors":{"activityBar.background":"#282c34","activityBar.foreground":"#d7dae0","activityBarBadge.background":"#4d78cc","activityBarBadge.foreground":"#f8fafd","badge.background":"#282c34","button.background":"#404754","button.secondaryBackground":"#30333d","button.secondaryForeground":"#c0bdbd","checkbox.border":"#404754","debugToolBar.background":"#21252b","descriptionForeground":"#abb2bf","diffEditor.insertedTextBackground":"#00809b33","dropdown.background":"#21252b","dropdown.border":"#21252b","editor.background":"#282c34","editor.findMatchBackground":"#42557b","editor.findMatchBorder":"#457dff","editor.findMatchHighlightBackground":"#6199ff2f","editor.foreground":"#abb2bf","editorBracketHighlight.foreground1":"#d19a66","editorBracketHighlight.foreground2":"#c678dd","editorBracketHighlight.foreground3":"#56b6c2","editorHoverWidget.highlightForeground":"#61afef","editorInlayHint.foreground":"#abb2bf","editorInlayHint.background":"#2c313c","editor.lineHighlightBackground":"#2c313c","editorLineNumber.activeForeground":"#abb2bf","editorGutter.addedBackground":"#109868","editorGutter.deletedBackground":"#9A353D","editorGutter.modifiedBackground":"#948B60","editorOverviewRuler.addedBackground":"#109868","editorOverviewRuler.deletedBackground":"#9A353D","editorOverviewRuler.modifiedBackground":"#948B60","editor.selectionBackground":"#67769660","editor.selectionHighlightBackground":"#ffffff10","editor.selectionHighlightBorder":"#dddddd","editor.wordHighlightBackground":"#d2e0ff2f","editor.wordHighlightBorder":"#7f848e","editor.wordHighlightStrongBackground":"#abb2bf26","editor.wordHighlightStrongBorder":"#7f848e","editorBracketMatch.background":"#515a6b","editorBracketMatch.border":"#515a6b","editorCursor.background":"#ffffffc9","editorCursor.foreground":"#528bff","editorError.foreground":"#c24038","editorGroup.background":"#181a1f","editorGroup.border":"#181a1f","editorGroupHeader.tabsBackground":"#21252b","editorHoverWidget.background":"#21252b","editorHoverWidget.border":"#181a1f","editorIndentGuide.activeBackground":"#c8c8c859","editorIndentGuide.background":"#3b4048","editorLineNumber.foreground":"#495162","editorMarkerNavigation.background":"#21252b","editorRuler.foreground":"#abb2bf26","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","editorWarning.foreground":"#d19a66","editorWhitespace.foreground":"#ffffff1d","editorWidget.background":"#21252b","focusBorder":"#3e4452","gitDecoration.ignoredResourceForeground":"#636b78","input.background":"#1d1f23","input.foreground":"#abb2bf","list.activeSelectionBackground":"#2c313a","list.activeSelectionForeground":"#d7dae0","list.focusBackground":"#323842","list.focusForeground":"#f0f0f0","list.highlightForeground":"#ecebeb","list.hoverBackground":"#2c313a","list.hoverForeground":"#abb2bf","list.inactiveSelectionBackground":"#323842","list.inactiveSelectionForeground":"#d7dae0","list.warningForeground":"#d19a66","menu.foreground":"#abb2bf","menu.separatorBackground":"#343a45","minimapGutter.addedBackground":"#109868","minimapGutter.deletedBackground":"#9A353D","minimapGutter.modifiedBackground":"#948B60","panel.border":"#3e4452","panelSectionHeader.background":"#21252b","peekViewEditor.background":"#1b1d23","peekViewEditor.matchHighlightBackground":"#29244b","peekViewResult.background":"#22262b","scrollbar.shadow":"#23252c","scrollbarSlider.activeBackground":"#747d9180","scrollbarSlider.background":"#4e566660","scrollbarSlider.hoverBackground":"#5a637580","settings.focusedRowBackground":"#282c34","settings.headerForeground":"#fff","sideBar.background":"#21252b","sideBar.foreground":"#abb2bf","sideBarSectionHeader.background":"#282c34","sideBarSectionHeader.foreground":"#abb2bf","statusBar.background":"#21252b","statusBar.debuggingBackground":"#cc6633","statusBar.debuggingBorder":"#ff000000","statusBar.debuggingForeground":"#ffffff","statusBar.foreground":"#9da5b4","statusBar.noFolderBackground":"#21252b","statusBarItem.remoteBackground":"#4d78cc","statusBarItem.remoteForeground":"#f8fafd","tab.activeBackground":"#282c34","tab.activeBorder":"#b4b4b4","tab.activeForeground":"#dcdcdc","tab.border":"#181a1f","tab.hoverBackground":"#323842","tab.inactiveBackground":"#21252b","tab.unfocusedHoverBackground":"#323842","terminal.ansiBlack":"#3f4451","terminal.ansiBlue":"#4aa5f0","terminal.ansiBrightBlack":"#4f5666","terminal.ansiBrightBlue":"#4dc4ff","terminal.ansiBrightCyan":"#4cd1e0","terminal.ansiBrightGreen":"#a5e075","terminal.ansiBrightMagenta":"#de73ff","terminal.ansiBrightRed":"#ff616e","terminal.ansiBrightWhite":"#e6e6e6","terminal.ansiBrightYellow":"#f0a45d","terminal.ansiCyan":"#42b3c2","terminal.ansiGreen":"#8cc265","terminal.ansiMagenta":"#c162de","terminal.ansiRed":"#e05561","terminal.ansiWhite":"#d7dae0","terminal.ansiYellow":"#d18f52","terminal.background":"#282c34","terminal.border":"#3e4452","terminal.foreground":"#abb2bf","terminal.selectionBackground":"#abb2bf30","textBlockQuote.background":"#2e3440","textBlockQuote.border":"#4b5362","textLink.foreground":"#61afef","textPreformat.foreground":"#d19a66","titleBar.activeBackground":"#282c34","titleBar.activeForeground":"#9da5b4","titleBar.inactiveBackground":"#21252b","titleBar.inactiveForeground":"#6b717d","tree.indentGuidesStroke":"#ffffff1d","walkThrough.embeddedEditorBackground":"#2e3440","welcomePage.buttonHoverBackground":"#404754"}}'),wT=JSON.parse('{"name":"One Dark Pro","type":"dark","semanticHighlighting":true,"semanticTokenColors":{"enumMember":{"foreground":"#56b6c2"},"variable.constant":{"foreground":"#d19a66"},"variable.defaultLibrary":{"foreground":"#e5c07b"},"variable:dart":{"foreground":"#d19a66"},"property:dart":{"foreground":"#d19a66"},"annotation:dart":{"foreground":"#d19a66"},"parameter.label:dart":{"foreground":"#abb2bf"},"macro":{"foreground":"#d19a66"},"tomlArrayKey":{"foreground":"#e5c07b"}},"tokenColors":[{"scope":"meta.embedded","settings":{"foreground":"#abb2bf"}},{"name":"unison punctuation","scope":"punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison","settings":{"foreground":"#e06c75"}},{"name":"haskell variable generic-type","scope":"variable.other.generic-type.haskell","settings":{"foreground":"#c678dd"}},{"name":"haskell storage type","scope":"storage.type.haskell","settings":{"foreground":"#d19a66"}},{"name":"support.variable.magic.python","scope":"support.variable.magic.python","settings":{"foreground":"#e06c75"}},{"name":"punctuation.separator.parameters.python","scope":"punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python","settings":{"foreground":"#abb2bf"}},{"name":"variable.parameter.function.language.special.self.python","scope":"variable.parameter.function.language.special.self.python","settings":{"foreground":"#e5c07b"}},{"name":"variable.parameter.function.language.special.cls.python","scope":"variable.parameter.function.language.special.cls.python","settings":{"foreground":"#e5c07b"}},{"name":"storage.modifier.lifetime.rust","scope":"storage.modifier.lifetime.rust","settings":{"foreground":"#abb2bf"}},{"name":"support.function.std.rust","scope":"support.function.std.rust","settings":{"foreground":"#61afef"}},{"name":"entity.name.lifetime.rust","scope":"entity.name.lifetime.rust","settings":{"foreground":"#e5c07b"}},{"name":"variable.language.rust","scope":"variable.language.rust","settings":{"foreground":"#e06c75"}},{"name":"support.constant.edge","scope":"support.constant.edge","settings":{"foreground":"#c678dd"}},{"name":"regexp constant character-class","scope":"constant.other.character-class.regexp","settings":{"foreground":"#e06c75"}},{"name":"keyword.operator","scope":["keyword.operator.word"],"settings":{"foreground":"#c678dd"}},{"name":"regexp operator.quantifier","scope":"keyword.operator.quantifier.regexp","settings":{"foreground":"#d19a66"}},{"name":"Text","scope":"variable.parameter.function","settings":{"foreground":"#abb2bf"}},{"name":"Comment Markup Link","scope":"comment markup.link","settings":{"foreground":"#5c6370"}},{"name":"markup diff","scope":"markup.changed.diff","settings":{"foreground":"#e5c07b"}},{"name":"diff","scope":"meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff","settings":{"foreground":"#61afef"}},{"name":"inserted.diff","scope":"markup.inserted.diff","settings":{"foreground":"#98c379"}},{"name":"deleted.diff","scope":"markup.deleted.diff","settings":{"foreground":"#e06c75"}},{"name":"c++ function","scope":"meta.function.c,meta.function.cpp","settings":{"foreground":"#e06c75"}},{"name":"c++ block","scope":"punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c","settings":{"foreground":"#abb2bf"}},{"name":"js/ts punctuation separator key-value","scope":"punctuation.separator.key-value","settings":{"foreground":"#abb2bf"}},{"name":"js/ts import keyword","scope":"keyword.operator.expression.import","settings":{"foreground":"#61afef"}},{"name":"math js/ts","scope":"support.constant.math","settings":{"foreground":"#e5c07b"}},{"name":"math property js/ts","scope":"support.constant.property.math","settings":{"foreground":"#d19a66"}},{"name":"js/ts variable.other.constant","scope":"variable.other.constant","settings":{"foreground":"#e5c07b"}},{"name":"java type","scope":["storage.type.annotation.java","storage.type.object.array.java"],"settings":{"foreground":"#e5c07b"}},{"name":"java source","scope":"source.java","settings":{"foreground":"#e06c75"}},{"name":"java modifier.import","scope":"punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java","settings":{"foreground":"#abb2bf"}},{"name":"java modifier.import","scope":"meta.method.java","settings":{"foreground":"#61afef"}},{"name":"java modifier.import","scope":"storage.modifier.import.java,storage.type.java,storage.type.generic.java","settings":{"foreground":"#e5c07b"}},{"name":"java instanceof","scope":"keyword.operator.instanceof.java","settings":{"foreground":"#c678dd"}},{"name":"java variable.name","scope":"meta.definition.variable.name.java","settings":{"foreground":"#e06c75"}},{"name":"operator logical","scope":"keyword.operator.logical","settings":{"foreground":"#56b6c2"}},{"name":"operator bitwise","scope":"keyword.operator.bitwise","settings":{"foreground":"#56b6c2"}},{"name":"operator channel","scope":"keyword.operator.channel","settings":{"foreground":"#56b6c2"}},{"name":"support.constant.property-value.scss","scope":"support.constant.property-value.scss,support.constant.property-value.css","settings":{"foreground":"#d19a66"}},{"name":"CSS/SCSS/LESS Operators","scope":"keyword.operator.css,keyword.operator.scss,keyword.operator.less","settings":{"foreground":"#56b6c2"}},{"name":"css color standard name","scope":"support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss","settings":{"foreground":"#d19a66"}},{"name":"css comma","scope":"punctuation.separator.list.comma.css","settings":{"foreground":"#abb2bf"}},{"name":"css attribute-name.id","scope":"support.constant.color.w3c-standard-color-name.css","settings":{"foreground":"#d19a66"}},{"name":"css property-name","scope":"support.type.vendored.property-name.css","settings":{"foreground":"#56b6c2"}},{"name":"js/ts module","scope":"support.module.node,support.type.object.module,support.module.node","settings":{"foreground":"#e5c07b"}},{"name":"entity.name.type.module","scope":"entity.name.type.module","settings":{"foreground":"#e5c07b"}},{"name":"js variable readwrite","scope":"variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node","settings":{"foreground":"#e06c75"}},{"name":"js/ts json","scope":"support.constant.json","settings":{"foreground":"#d19a66"}},{"name":"js/ts Keyword","scope":["keyword.operator.expression.instanceof","keyword.operator.new","keyword.operator.ternary","keyword.operator.optional","keyword.operator.expression.keyof"],"settings":{"foreground":"#c678dd"}},{"name":"js/ts console","scope":"support.type.object.console","settings":{"foreground":"#e06c75"}},{"name":"js/ts support.variable.property.process","scope":"support.variable.property.process","settings":{"foreground":"#d19a66"}},{"name":"js console function","scope":"entity.name.function,support.function.console","settings":{"foreground":"#61afef"}},{"name":"keyword.operator.misc.rust","scope":"keyword.operator.misc.rust","settings":{"foreground":"#abb2bf"}},{"name":"keyword.operator.sigil.rust","scope":"keyword.operator.sigil.rust","settings":{"foreground":"#c678dd"}},{"name":"operator","scope":"keyword.operator.delete","settings":{"foreground":"#c678dd"}},{"name":"js dom","scope":"support.type.object.dom","settings":{"foreground":"#56b6c2"}},{"name":"js dom variable","scope":"support.variable.dom,support.variable.property.dom","settings":{"foreground":"#e06c75"}},{"name":"keyword.operator","scope":"keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational","settings":{"foreground":"#56b6c2"}},{"name":"C operator assignment","scope":"keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp","settings":{"foreground":"#c678dd"}},{"name":"Punctuation","scope":"punctuation.separator.delimiter","settings":{"foreground":"#abb2bf"}},{"name":"Other punctuation .c","scope":"punctuation.separator.c,punctuation.separator.cpp","settings":{"foreground":"#c678dd"}},{"name":"C type posix-reserved","scope":"support.type.posix-reserved.c,support.type.posix-reserved.cpp","settings":{"foreground":"#56b6c2"}},{"name":"keyword.operator.sizeof.c","scope":"keyword.operator.sizeof.c,keyword.operator.sizeof.cpp","settings":{"foreground":"#c678dd"}},{"name":"python parameter","scope":"variable.parameter.function.language.python","settings":{"foreground":"#d19a66"}},{"name":"python type","scope":"support.type.python","settings":{"foreground":"#56b6c2"}},{"name":"python logical","scope":"keyword.operator.logical.python","settings":{"foreground":"#c678dd"}},{"name":"pyCs","scope":"variable.parameter.function.python","settings":{"foreground":"#d19a66"}},{"name":"python block","scope":"punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python","settings":{"foreground":"#abb2bf"}},{"name":"python function-call.generic","scope":"meta.function-call.generic.python","settings":{"foreground":"#61afef"}},{"name":"python placeholder reset to normal string","scope":"constant.character.format.placeholder.other.python","settings":{"foreground":"#d19a66"}},{"name":"Operators","scope":"keyword.operator","settings":{"foreground":"#abb2bf"}},{"name":"Compound Assignment Operators","scope":"keyword.operator.assignment.compound","settings":{"foreground":"#c678dd"}},{"name":"Compound Assignment Operators js/ts","scope":"keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts","settings":{"foreground":"#56b6c2"}},{"name":"Keywords","scope":"keyword","settings":{"foreground":"#c678dd"}},{"name":"Namespaces","scope":"entity.name.namespace","settings":{"foreground":"#e5c07b"}},{"name":"Variables","scope":"variable","settings":{"foreground":"#e06c75"}},{"name":"Variables","scope":"variable.c","settings":{"foreground":"#abb2bf"}},{"name":"Language variables","scope":"variable.language","settings":{"foreground":"#e5c07b"}},{"name":"Java Variables","scope":"token.variable.parameter.java","settings":{"foreground":"#abb2bf"}},{"name":"Java Imports","scope":"import.storage.java","settings":{"foreground":"#e5c07b"}},{"name":"Packages","scope":"token.package.keyword","settings":{"foreground":"#c678dd"}},{"name":"Packages","scope":"token.package","settings":{"foreground":"#abb2bf"}},{"name":"Functions","scope":["entity.name.function","meta.require","support.function.any-method","variable.function"],"settings":{"foreground":"#61afef"}},{"name":"Classes","scope":"entity.name.type.namespace","settings":{"foreground":"#e5c07b"}},{"name":"Classes","scope":"support.class, entity.name.type.class","settings":{"foreground":"#e5c07b"}},{"name":"Class name","scope":"entity.name.class.identifier.namespace.type","settings":{"foreground":"#e5c07b"}},{"name":"Class name","scope":["entity.name.class","variable.other.class.js","variable.other.class.ts"],"settings":{"foreground":"#e5c07b"}},{"name":"Class name php","scope":"variable.other.class.php","settings":{"foreground":"#e06c75"}},{"name":"Type Name","scope":"entity.name.type","settings":{"foreground":"#e5c07b"}},{"name":"Keyword Control","scope":"keyword.control","settings":{"foreground":"#c678dd"}},{"name":"Control Elements","scope":"control.elements, keyword.operator.less","settings":{"foreground":"#d19a66"}},{"name":"Methods","scope":"keyword.other.special-method","settings":{"foreground":"#61afef"}},{"name":"Storage","scope":"storage","settings":{"foreground":"#c678dd"}},{"name":"Storage JS TS","scope":"token.storage","settings":{"foreground":"#c678dd"}},{"name":"Source Js Keyword Operator Delete,source Js Keyword Operator In,source Js Keyword Operator Of,source Js Keyword Operator Instanceof,source Js Keyword Operator New,source Js Keyword Operator Typeof,source Js Keyword Operator Void","scope":"keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void","settings":{"foreground":"#c678dd"}},{"name":"Java Storage","scope":"token.storage.type.java","settings":{"foreground":"#e5c07b"}},{"name":"Support","scope":"support.function","settings":{"foreground":"#56b6c2"}},{"name":"Support type","scope":"support.type.property-name","settings":{"foreground":"#abb2bf"}},{"name":"[VSCODE-CUSTOM] toml support","scope":"support.type.property-name.toml, support.type.property-name.table.toml, support.type.property-name.array.toml","settings":{"foreground":"#e06c75"}},{"name":"Support type","scope":"support.constant.property-value","settings":{"foreground":"#abb2bf"}},{"name":"Support type","scope":"support.constant.font-name","settings":{"foreground":"#d19a66"}},{"name":"Meta tag","scope":"meta.tag","settings":{"foreground":"#abb2bf"}},{"name":"Strings","scope":"string","settings":{"foreground":"#98c379"}},{"name":"Constant other symbol","scope":"constant.other.symbol","settings":{"foreground":"#56b6c2"}},{"name":"Integers","scope":"constant.numeric","settings":{"foreground":"#d19a66"}},{"name":"Constants","scope":"constant","settings":{"foreground":"#d19a66"}},{"name":"Constants","scope":"punctuation.definition.constant","settings":{"foreground":"#d19a66"}},{"name":"Tags","scope":"entity.name.tag","settings":{"foreground":"#e06c75"}},{"name":"Attributes","scope":"entity.other.attribute-name","settings":{"foreground":"#d19a66"}},{"name":"Attribute IDs","scope":"entity.other.attribute-name.id","settings":{"foreground":"#61afef"}},{"name":"Attribute class","scope":"entity.other.attribute-name.class.css","settings":{"foreground":"#d19a66"}},{"name":"Selector","scope":"meta.selector","settings":{"foreground":"#c678dd"}},{"name":"Headings","scope":"markup.heading","settings":{"foreground":"#e06c75"}},{"name":"Headings","scope":"markup.heading punctuation.definition.heading, entity.name.section","settings":{"foreground":"#61afef"}},{"name":"Units","scope":"keyword.other.unit","settings":{"foreground":"#e06c75"}},{"name":"Bold","scope":"markup.bold,todo.bold","settings":{"foreground":"#d19a66"}},{"name":"Bold","scope":"punctuation.definition.bold","settings":{"foreground":"#e5c07b"}},{"name":"markup Italic","scope":"markup.italic, punctuation.definition.italic,todo.emphasis","settings":{"foreground":"#c678dd"}},{"name":"emphasis md","scope":"emphasis md","settings":{"foreground":"#c678dd"}},{"name":"[VSCODE-CUSTOM] Markdown headings","scope":"entity.name.section.markdown","settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] Markdown heading Punctuation Definition","scope":"punctuation.definition.heading.markdown","settings":{"foreground":"#e06c75"}},{"name":"punctuation.definition.list.begin.markdown","scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Markdown heading setext","scope":"markup.heading.setext","settings":{"foreground":"#abb2bf"}},{"name":"[VSCODE-CUSTOM] Markdown Punctuation Definition Bold","scope":"punctuation.definition.bold.markdown","settings":{"foreground":"#d19a66"}},{"name":"[VSCODE-CUSTOM] Markdown Inline Raw","scope":"markup.inline.raw.markdown","settings":{"foreground":"#98c379"}},{"name":"[VSCODE-CUSTOM] Markdown Inline Raw","scope":"markup.inline.raw.string.markdown","settings":{"foreground":"#98c379"}},{"name":"[VSCODE-CUSTOM] Markdown Inline Raw punctuation","scope":"punctuation.definition.raw.markdown","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Markdown List Punctuation Definition","scope":"punctuation.definition.list.markdown","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Markdown Punctuation Definition String","scope":["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown","punctuation.definition.metadata.markdown"],"settings":{"foreground":"#e06c75"}},{"name":"beginning.punctuation.definition.list.markdown","scope":["beginning.punctuation.definition.list.markdown"],"settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] Markdown Punctuation Definition Link","scope":"punctuation.definition.metadata.markdown","settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] Markdown Underline Link/Image","scope":"markup.underline.link.markdown,markup.underline.link.image.markdown","settings":{"foreground":"#c678dd"}},{"name":"[VSCODE-CUSTOM] Markdown Link Title/Description","scope":"string.other.link.title.markdown,string.other.link.description.markdown","settings":{"foreground":"#61afef"}},{"name":"[VSCODE-CUSTOM] Asciidoc Inline Raw","scope":"markup.raw.monospace.asciidoc","settings":{"foreground":"#98c379"}},{"name":"[VSCODE-CUSTOM] Asciidoc Inline Raw Punctuation Definition","scope":"punctuation.definition.asciidoc","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Asciidoc List Punctuation Definition","scope":"markup.list.asciidoc","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Asciidoc underline link","scope":"markup.link.asciidoc,markup.other.url.asciidoc","settings":{"foreground":"#c678dd"}},{"name":"[VSCODE-CUSTOM] Asciidoc link name","scope":"string.unquoted.asciidoc,markup.other.url.asciidoc","settings":{"foreground":"#61afef"}},{"name":"Regular Expressions","scope":"string.regexp","settings":{"foreground":"#56b6c2"}},{"name":"Embedded","scope":"punctuation.section.embedded, variable.interpolation","settings":{"foreground":"#e06c75"}},{"name":"Embedded","scope":"punctuation.section.embedded.begin,punctuation.section.embedded.end","settings":{"foreground":"#c678dd"}},{"name":"illegal","scope":"invalid.illegal","settings":{"foreground":"#ffffff"}},{"name":"illegal","scope":"invalid.illegal.bad-ampersand.html","settings":{"foreground":"#abb2bf"}},{"scope":"invalid.illegal.unrecognized-tag.html","settings":{"foreground":"#e06c75"}},{"name":"Broken","scope":"invalid.broken","settings":{"foreground":"#ffffff"}},{"name":"Deprecated","scope":"invalid.deprecated","settings":{"foreground":"#ffffff"}},{"name":"html Deprecated","scope":"invalid.deprecated.entity.other.attribute-name.html","settings":{"foreground":"#d19a66"}},{"name":"Unimplemented","scope":"invalid.unimplemented","settings":{"foreground":"#ffffff"}},{"name":"Source Json Meta Structure Dictionary Json > String Quoted Json","scope":"source.json meta.structure.dictionary.json > string.quoted.json","settings":{"foreground":"#e06c75"}},{"name":"Source Json Meta Structure Dictionary Json > String Quoted Json > Punctuation String","scope":"source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string","settings":{"foreground":"#e06c75"}},{"name":"Source Json Meta Structure Dictionary Json > Value Json > String Quoted Json,source Json Meta Structure Array Json > Value Json > String Quoted Json,source Json Meta Structure Dictionary Json > Value Json > String Quoted Json > Punctuation,source Json Meta Structure Array Json > Value Json > String Quoted Json > Punctuation","scope":"source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation","settings":{"foreground":"#98c379"}},{"name":"Source Json Meta Structure Dictionary Json > Constant Language Json,source Json Meta Structure Array Json > Constant Language Json","scope":"source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json","settings":{"foreground":"#56b6c2"}},{"name":"[VSCODE-CUSTOM] JSON Property Name","scope":"support.type.property-name.json","settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] JSON Punctuation for Property Name","scope":"support.type.property-name.json punctuation","settings":{"foreground":"#e06c75"}},{"name":"laravel blade tag","scope":"text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade","settings":{"foreground":"#c678dd"}},{"name":"laravel blade @","scope":"text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade","settings":{"foreground":"#c678dd"}},{"name":"use statement for other classes","scope":"support.other.namespace.use.php,support.other.namespace.use-as.php,entity.other.alias.php,meta.interface.php","settings":{"foreground":"#e5c07b"}},{"name":"error suppression","scope":"keyword.operator.error-control.php","settings":{"foreground":"#c678dd"}},{"name":"php instanceof","scope":"keyword.operator.type.php","settings":{"foreground":"#c678dd"}},{"name":"style double quoted array index normal begin","scope":"punctuation.section.array.begin.php","settings":{"foreground":"#abb2bf"}},{"name":"style double quoted array index normal end","scope":"punctuation.section.array.end.php","settings":{"foreground":"#abb2bf"}},{"name":"php illegal.non-null-typehinted","scope":"invalid.illegal.non-null-typehinted.php","settings":{"foreground":"#f44747"}},{"name":"php types","scope":"storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php","settings":{"foreground":"#e5c07b"}},{"name":"php call-function","scope":"meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php","settings":{"foreground":"#61afef"}},{"name":"php function-resets","scope":"punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php","settings":{"foreground":"#abb2bf"}},{"name":"support php constants","scope":"support.constant.core.rust","settings":{"foreground":"#d19a66"}},{"name":"support php constants","scope":"support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php","settings":{"foreground":"#d19a66"}},{"name":"php goto","scope":"entity.name.goto-label.php,support.other.php","settings":{"foreground":"#61afef"}},{"name":"php logical/bitwise operator","scope":"keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php","settings":{"foreground":"#56b6c2"}},{"name":"php regexp operator","scope":"keyword.operator.regexp.php","settings":{"foreground":"#c678dd"}},{"name":"php comparison","scope":"keyword.operator.comparison.php","settings":{"foreground":"#56b6c2"}},{"name":"php heredoc/nowdoc","scope":"keyword.operator.heredoc.php,keyword.operator.nowdoc.php","settings":{"foreground":"#c678dd"}},{"name":"python function decorator @","scope":"meta.function.decorator.python","settings":{"foreground":"#61afef"}},{"name":"python function support","scope":"support.token.decorator.python,meta.function.decorator.identifier.python","settings":{"foreground":"#56b6c2"}},{"name":"parameter function js/ts","scope":"function.parameter","settings":{"foreground":"#abb2bf"}},{"name":"brace function","scope":"function.brace","settings":{"foreground":"#abb2bf"}},{"name":"parameter function ruby cs","scope":"function.parameter.ruby, function.parameter.cs","settings":{"foreground":"#abb2bf"}},{"name":"constant.language.symbol.ruby","scope":"constant.language.symbol.ruby","settings":{"foreground":"#56b6c2"}},{"name":"constant.language.symbol.hashkey.ruby","scope":"constant.language.symbol.hashkey.ruby","settings":{"foreground":"#56b6c2"}},{"name":"rgb-value","scope":"rgb-value","settings":{"foreground":"#56b6c2"}},{"name":"rgb value","scope":"inline-color-decoration rgb-value","settings":{"foreground":"#d19a66"}},{"name":"rgb value less","scope":"less rgb-value","settings":{"foreground":"#d19a66"}},{"name":"sass selector","scope":"selector.sass","settings":{"foreground":"#e06c75"}},{"name":"ts primitive/builtin types","scope":"support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx","settings":{"foreground":"#e5c07b"}},{"name":"block scope","scope":"block.scope.end,block.scope.begin","settings":{"foreground":"#abb2bf"}},{"name":"cs storage type","scope":"storage.type.cs","settings":{"foreground":"#e5c07b"}},{"name":"cs local variable","scope":"entity.name.variable.local.cs","settings":{"foreground":"#e06c75"}},{"scope":"token.info-token","settings":{"foreground":"#61afef"}},{"scope":"token.warn-token","settings":{"foreground":"#d19a66"}},{"scope":"token.error-token","settings":{"foreground":"#f44747"}},{"scope":"token.debug-token","settings":{"foreground":"#c678dd"}},{"name":"String interpolation","scope":["punctuation.definition.template-expression.begin","punctuation.definition.template-expression.end","punctuation.section.embedded"],"settings":{"foreground":"#c678dd"}},{"name":"Reset JavaScript string interpolation expression","scope":["meta.template.expression"],"settings":{"foreground":"#abb2bf"}},{"name":"Import module JS","scope":["keyword.operator.module"],"settings":{"foreground":"#c678dd"}},{"name":"js Flowtype","scope":["support.type.type.flowtype"],"settings":{"foreground":"#61afef"}},{"name":"js Flow","scope":["support.type.primitive"],"settings":{"foreground":"#e5c07b"}},{"name":"js class prop","scope":["meta.property.object"],"settings":{"foreground":"#e06c75"}},{"name":"js func parameter","scope":["variable.parameter.function.js"],"settings":{"foreground":"#e06c75"}},{"name":"js template literals begin","scope":["keyword.other.template.begin"],"settings":{"foreground":"#98c379"}},{"name":"js template literals end","scope":["keyword.other.template.end"],"settings":{"foreground":"#98c379"}},{"name":"js template literals variable braces begin","scope":["keyword.other.substitution.begin"],"settings":{"foreground":"#98c379"}},{"name":"js template literals variable braces end","scope":["keyword.other.substitution.end"],"settings":{"foreground":"#98c379"}},{"name":"js operator.assignment","scope":["keyword.operator.assignment"],"settings":{"foreground":"#56b6c2"}},{"name":"go operator","scope":["keyword.operator.assignment.go"],"settings":{"foreground":"#e5c07b"}},{"name":"go operator","scope":["keyword.operator.arithmetic.go","keyword.operator.address.go"],"settings":{"foreground":"#c678dd"}},{"name":"Go package name","scope":["entity.name.package.go"],"settings":{"foreground":"#e5c07b"}},{"name":"elm prelude","scope":["support.type.prelude.elm"],"settings":{"foreground":"#56b6c2"}},{"name":"elm constant","scope":["support.constant.elm"],"settings":{"foreground":"#d19a66"}},{"name":"template literal","scope":["punctuation.quasi.element"],"settings":{"foreground":"#c678dd"}},{"name":"html/pug (jade) escaped characters and entities","scope":["constant.character.entity"],"settings":{"foreground":"#e06c75"}},{"name":"styling css pseudo-elements/classes to be able to differentiate from classes which are the same colour","scope":["entity.other.attribute-name.pseudo-element","entity.other.attribute-name.pseudo-class"],"settings":{"foreground":"#56b6c2"}},{"name":"Clojure globals","scope":["entity.global.clojure"],"settings":{"foreground":"#e5c07b"}},{"name":"Clojure symbols","scope":["meta.symbol.clojure"],"settings":{"foreground":"#e06c75"}},{"name":"Clojure constants","scope":["constant.keyword.clojure"],"settings":{"foreground":"#56b6c2"}},{"name":"CoffeeScript Function Argument","scope":["meta.arguments.coffee","variable.parameter.function.coffee"],"settings":{"foreground":"#e06c75"}},{"name":"Ini Default Text","scope":["source.ini"],"settings":{"foreground":"#98c379"}},{"name":"Makefile prerequisities","scope":["meta.scope.prerequisites.makefile"],"settings":{"foreground":"#e06c75"}},{"name":"Makefile text colour","scope":["source.makefile"],"settings":{"foreground":"#e5c07b"}},{"name":"Groovy import names","scope":["storage.modifier.import.groovy"],"settings":{"foreground":"#e5c07b"}},{"name":"Groovy Methods","scope":["meta.method.groovy"],"settings":{"foreground":"#61afef"}},{"name":"Groovy Variables","scope":["meta.definition.variable.name.groovy"],"settings":{"foreground":"#e06c75"}},{"name":"Groovy Inheritance","scope":["meta.definition.class.inherited.classes.groovy"],"settings":{"foreground":"#98c379"}},{"name":"HLSL Semantic","scope":["support.variable.semantic.hlsl"],"settings":{"foreground":"#e5c07b"}},{"name":"HLSL Types","scope":["support.type.texture.hlsl","support.type.sampler.hlsl","support.type.object.hlsl","support.type.object.rw.hlsl","support.type.fx.hlsl","support.type.object.hlsl"],"settings":{"foreground":"#c678dd"}},{"name":"SQL Variables","scope":["text.variable","text.bracketed"],"settings":{"foreground":"#e06c75"}},{"name":"types","scope":["support.type.swift","support.type.vb.asp"],"settings":{"foreground":"#e5c07b"}},{"name":"heading 1, keyword","scope":["entity.name.function.xi"],"settings":{"foreground":"#e5c07b"}},{"name":"heading 2, callable","scope":["entity.name.class.xi"],"settings":{"foreground":"#56b6c2"}},{"name":"heading 3, property","scope":["constant.character.character-class.regexp.xi"],"settings":{"foreground":"#e06c75"}},{"name":"heading 4, type, class, interface","scope":["constant.regexp.xi"],"settings":{"foreground":"#c678dd"}},{"name":"heading 5, enums, preprocessor, constant, decorator","scope":["keyword.control.xi"],"settings":{"foreground":"#56b6c2"}},{"name":"heading 6, number","scope":["invalid.xi"],"settings":{"foreground":"#abb2bf"}},{"name":"string","scope":["beginning.punctuation.definition.quote.markdown.xi"],"settings":{"foreground":"#98c379"}},{"name":"comments","scope":["beginning.punctuation.definition.list.markdown.xi"],"settings":{"foreground":"#7f848e"}},{"name":"link","scope":["constant.character.xi"],"settings":{"foreground":"#61afef"}},{"name":"accent","scope":["accent.xi"],"settings":{"foreground":"#61afef"}},{"name":"wikiword","scope":["wikiword.xi"],"settings":{"foreground":"#d19a66"}},{"name":"language operators like \'+\', \'-\' etc","scope":["constant.other.color.rgb-value.xi"],"settings":{"foreground":"#ffffff"}},{"name":"elements to dim","scope":["punctuation.definition.tag.xi"],"settings":{"foreground":"#5c6370"}},{"name":"C++/C#","scope":["entity.name.label.cs","entity.name.scope-resolution.function.call","entity.name.scope-resolution.function.definition"],"settings":{"foreground":"#e5c07b"}},{"name":"Markdown underscore-style headers","scope":["entity.name.label.cs","markup.heading.setext.1.markdown","markup.heading.setext.2.markdown"],"settings":{"foreground":"#e06c75"}},{"name":"meta.brace.square","scope":[" meta.brace.square"],"settings":{"foreground":"#abb2bf"}},{"name":"Comments","scope":"comment, punctuation.definition.comment","settings":{"foreground":"#7f848e"}},{"name":"[VSCODE-CUSTOM] Markdown Quote","scope":"markup.quote.markdown","settings":{"foreground":"#5c6370"}},{"name":"punctuation.definition.block.sequence.item.yaml","scope":"punctuation.definition.block.sequence.item.yaml","settings":{"foreground":"#abb2bf"}},{"scope":["constant.language.symbol.elixir","constant.language.symbol.double-quoted.elixir"],"settings":{"foreground":"#56b6c2"}},{"scope":["entity.name.variable.parameter.cs"],"settings":{"foreground":"#e5c07b"}},{"scope":["entity.name.variable.field.cs"],"settings":{"foreground":"#e06c75"}},{"name":"Deleted","scope":"markup.deleted","settings":{"foreground":"#e06c75"}},{"name":"Inserted","scope":"markup.inserted","settings":{"foreground":"#98c379"}},{"name":"Underline","scope":"markup.underline","settings":{"fontStyle":"underline"}},{"name":"punctuation.section.embedded.begin.php","scope":["punctuation.section.embedded.begin.php","punctuation.section.embedded.end.php"],"settings":{"foreground":"#BE5046"}},{"name":"support.other.namespace.php","scope":["support.other.namespace.php"],"settings":{"foreground":"#abb2bf"}},{"name":"variable.other.object","scope":["variable.other.object"],"settings":{"foreground":"#e5c07b"}},{"name":"variable.other.constant.property","scope":["variable.other.constant.property"],"settings":{"foreground":"#e06c75"}},{"name":"entity.other.inherited-class","scope":["entity.other.inherited-class"],"settings":{"foreground":"#e5c07b"}},{"name":"c variable readwrite","scope":"variable.other.readwrite.c","settings":{"foreground":"#e06c75"}},{"name":"php scope","scope":"entity.name.variable.parameter.php,punctuation.separator.colon.php,constant.other.php","settings":{"foreground":"#abb2bf"}},{"name":"Assembly","scope":["constant.numeric.decimal.asm.x86_64"],"settings":{"foreground":"#c678dd"}},{"scope":["support.other.parenthesis.regexp"],"settings":{"foreground":"#d19a66"}},{"scope":["constant.character.escape"],"settings":{"foreground":"#56b6c2"}},{"scope":["string.regexp"],"settings":{"foreground":"#e06c75"}}],"colors":{"activityBar.background":"#23272e","activityBar.foreground":"#d7dae0","activityBarBadge.background":"#4d78cc","activityBarBadge.foreground":"#f8fafd","badge.background":"#23272e","button.background":"#404754","button.secondaryBackground":"#30333d","button.secondaryForeground":"#c0bdbd","checkbox.border":"#404754","debugToolBar.background":"#1e2227","descriptionForeground":"#abb2bf","diffEditor.insertedTextBackground":"#00809b33","dropdown.background":"#1e2227","dropdown.border":"#1e2227","editor.background":"#23272e","editor.findMatchBackground":"#42557b","editor.findMatchBorder":"#457dff","editor.findMatchHighlightBackground":"#6199ff2f","editor.foreground":"#abb2bf","editorBracketHighlight.foreground1":"#d19a66","editorBracketHighlight.foreground2":"#c678dd","editorBracketHighlight.foreground3":"#56b6c2","editorHoverWidget.highlightForeground":"#61afef","editorInlayHint.foreground":"#abb2bf","editorInlayHint.background":"#2c313c","editor.lineHighlightBackground":"#2c313c","editorLineNumber.activeForeground":"#abb2bf","editorGutter.addedBackground":"#109868","editorGutter.deletedBackground":"#9A353D","editorGutter.modifiedBackground":"#948B60","editorOverviewRuler.addedBackground":"#109868","editorOverviewRuler.deletedBackground":"#9A353D","editorOverviewRuler.modifiedBackground":"#948B60","editor.selectionBackground":"#67769660","editor.selectionHighlightBackground":"#ffffff10","editor.selectionHighlightBorder":"#dddddd","editor.wordHighlightBackground":"#d2e0ff2f","editor.wordHighlightBorder":"#7f848e","editor.wordHighlightStrongBackground":"#abb2bf26","editor.wordHighlightStrongBorder":"#7f848e","editorBracketMatch.background":"#515a6b","editorBracketMatch.border":"#515a6b","editorCursor.background":"#ffffffc9","editorCursor.foreground":"#528bff","editorError.foreground":"#c24038","editorGroup.background":"#181a1f","editorGroup.border":"#181a1f","editorGroupHeader.tabsBackground":"#1e2227","editorHoverWidget.background":"#1e2227","editorHoverWidget.border":"#181a1f","editorIndentGuide.activeBackground":"#c8c8c859","editorIndentGuide.background":"#3b4048","editorLineNumber.foreground":"#495162","editorMarkerNavigation.background":"#1e2227","editorRuler.foreground":"#abb2bf26","editorSuggestWidget.background":"#1e2227","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","editorWarning.foreground":"#d19a66","editorWhitespace.foreground":"#ffffff1d","editorWidget.background":"#1e2227","focusBorder":"#3e4452","gitDecoration.ignoredResourceForeground":"#636b78","input.background":"#1d1f23","input.foreground":"#abb2bf","list.activeSelectionBackground":"#2c313a","list.activeSelectionForeground":"#d7dae0","list.focusBackground":"#323842","list.focusForeground":"#f0f0f0","list.highlightForeground":"#ecebeb","list.hoverBackground":"#2c313a","list.hoverForeground":"#abb2bf","list.inactiveSelectionBackground":"#323842","list.inactiveSelectionForeground":"#d7dae0","list.warningForeground":"#d19a66","menu.foreground":"#abb2bf","menu.separatorBackground":"#343a45","minimapGutter.addedBackground":"#109868","minimapGutter.deletedBackground":"#9A353D","minimapGutter.modifiedBackground":"#948B60","panel.border":"#3e4452","panelSectionHeader.background":"#1e2227","peekViewEditor.background":"#1b1d23","peekViewEditor.matchHighlightBackground":"#29244b","peekViewResult.background":"#22262b","scrollbar.shadow":"#23252c","scrollbarSlider.activeBackground":"#747d9180","scrollbarSlider.background":"#4e566660","scrollbarSlider.hoverBackground":"#5a637580","settings.focusedRowBackground":"#23272e","settings.headerForeground":"#fff","sideBar.background":"#1e2227","sideBar.foreground":"#abb2bf","sideBarSectionHeader.background":"#23272e","sideBarSectionHeader.foreground":"#abb2bf","statusBar.background":"#1e2227","statusBar.debuggingBackground":"#cc6633","statusBar.debuggingBorder":"#ff000000","statusBar.debuggingForeground":"#ffffff","statusBar.foreground":"#9da5b4","statusBar.noFolderBackground":"#1e2227","statusBarItem.remoteBackground":"#4d78cc","statusBarItem.remoteForeground":"#f8fafd","tab.activeBackground":"#23272e","tab.activeBorder":"#b4b4b4","tab.activeForeground":"#dcdcdc","tab.border":"#181a1f","tab.hoverBackground":"#323842","tab.inactiveBackground":"#1e2227","tab.unfocusedHoverBackground":"#323842","terminal.ansiBlack":"#3f4451","terminal.ansiBlue":"#4aa5f0","terminal.ansiBrightBlack":"#4f5666","terminal.ansiBrightBlue":"#4dc4ff","terminal.ansiBrightCyan":"#4cd1e0","terminal.ansiBrightGreen":"#a5e075","terminal.ansiBrightMagenta":"#de73ff","terminal.ansiBrightRed":"#ff616e","terminal.ansiBrightWhite":"#e6e6e6","terminal.ansiBrightYellow":"#f0a45d","terminal.ansiCyan":"#42b3c2","terminal.ansiGreen":"#8cc265","terminal.ansiMagenta":"#c162de","terminal.ansiRed":"#e05561","terminal.ansiWhite":"#d7dae0","terminal.ansiYellow":"#d18f52","terminal.background":"#23272e","terminal.border":"#3e4452","terminal.foreground":"#abb2bf","terminal.selectionBackground":"#abb2bf30","textBlockQuote.background":"#2e3440","textBlockQuote.border":"#4b5362","textLink.foreground":"#61afef","textPreformat.foreground":"#d19a66","titleBar.activeBackground":"#23272e","titleBar.activeForeground":"#9da5b4","titleBar.inactiveBackground":"#1e2227","titleBar.inactiveForeground":"#6b717d","tree.indentGuidesStroke":"#ffffff1d","walkThrough.embeddedEditorBackground":"#2e3440","welcomePage.buttonHoverBackground":"#404754"}}'),RT=[{token:vT.IDENTIFIER,foreground:"dcdcaa"},{token:vT.NUMBER,foreground:"b5cea8"},{token:vT.DATE,foreground:"b5cea8"},{token:vT.COLOR,foreground:"b5cea8"},{token:vT.PACKAGE,foreground:"808080"},{token:vT.PARSER,foreground:"c586c0"},{token:vT.LANGUAGE_STRUCT,foreground:"c586c0"},{token:vT.MULTIPLICITY,foreground:"2d796b"},{token:vT.GENERICS,foreground:"2d796b"},{token:vT.PROPERTY,foreground:"9cdcfe"},{token:vT.PARAMETER,foreground:"9cdcfe"},{token:vT.VARIABLE,foreground:"4fc1ff"},{token:vT.TYPE,foreground:"3dc9b0"},{token:`${vT.STRING}.escape`,foreground:"d7ba7d"}];var kT;!function(e){e.DEFAULT_DARK="default-dark",e.GITHUB_DARK="github-dark",e.GITHUB_DARK_DIMMED="github-dark-dimmed",e.SOLARIZED_DARK="solarized-dark",e.ONE_DARK_PRO="one-dark-pro",e.ONE_DARK_PRO_DARKER="one-dark-pro-darker",e.MATERIAL_DEFAULT="material-default",e.MATERIAL_DARKER="material-darker",e.BUILT_IN__VSCODE_LIGHT="vs",e.BUILT_IN__VSCODE_DARK="vs-dark",e.BUILT_IN__VSCODE_HC_BLACK="hc-black",e.BUILT_IN__VSCODE_HC_LIGHT="hc-light"}(kT||(kT={}));const PT={base:"vs-dark",inherit:!0,colors:{},rules:[...RT,{token:"string.sql",foreground:"ce9178"},{token:"white.sql",foreground:"d4d4d4"},{token:"identifier.sql",foreground:"d4d4d4"},{token:"operator.sql",foreground:"d4d4d4"}]},MT=CT(yT,kT.BUILT_IN__VSCODE_DARK,{},[]),LT=CT(NT,kT.BUILT_IN__VSCODE_DARK,{},[]),FT=CT(AT,kT.BUILT_IN__VSCODE_DARK,{},[]),DT=CT(IT,kT.BUILT_IN__VSCODE_DARK,{},[]),BT=CT(xT,kT.BUILT_IN__VSCODE_DARK,{},[]),jT=CT(OT,kT.BUILT_IN__VSCODE_DARK,{},[]),UT=CT(wT,kT.BUILT_IN__VSCODE_DARK,{},[]),VT=(e,t)=>{e.hasTextFocus()||e.focus(),e.revealPositionInCenter(t,0),e.setPosition(t)},GT="dummy_problem_marker_owner";var zT,HT;!function(e){e.TEXT="plaintext",e.PURE="pure",e.JSON="json",e.JAVA="java",e.MARKDOWN="markdown",e.SQL="sql",e.XML="xml",e.YAML="yaml",e.GRAPHQL="graphql"}(zT||(zT={})),function(e){e.PACKAGE="Package",e.PROFILE="Profile",e.TAG="Tag",e.STEREOTYPE="Stereotype",e.CLASS="Class",e.ASSOCIATION="Association",e.PROPERTY="Property",e.QUALIFIED_PROPERTY="QualifiedProperty",e.ENUMERATION="Enumeration",e.ENUM_VALUE="Enum",e.MEASURE="Measure",e.UNIT="Unit",e.FUNCTION="ConcreteFunctionDefinition",e.NATIVE_FUNCTION="NativeFunction",e.DIAGRAM="Diagram",e.DATABASE="Database",e.MAPPING="Mapping"}(HT||(HT={}));class $T{pureId;pureType;pureName;get id(){return this.pureId}}class YT extends $T{deprecated}(0,Ne.createModelSchema)(YT,{pureId:(0,Ne.primitive)(),pureType:(0,Ne.primitive)(),deprecated:(0,Ne.primitive)()});class WT extends $T{RO;classPath;file;line;column;get id(){return`${this.classPath}.${this.pureId}`}}(0,Ne.createModelSchema)(WT,{pureId:(0,Ne.primitive)(),pureName:(0,Ne.primitive)(),pureType:(0,Ne.primitive)(),RO:(0,Ne.primitive)(),classPath:(0,Ne.primitive)(),file:(0,Ne.primitive)(),line:(0,Ne.primitive)(),column:(0,Ne.primitive)()});class KT extends $T{RO;notpublic;user;file;line;column}(0,Ne.createModelSchema)(KT,{pureId:(0,Ne.primitive)(),pureName:(0,Ne.optional)((0,Ne.primitive)()),pureType:(0,Ne.primitive)(),RO:(0,Ne.primitive)(),notpublic:(0,Ne.primitive)(),user:(0,Ne.primitive)(),file:(0,Ne.primitive)(),line:(0,Ne.primitive)(),column:(0,Ne.primitive)()});class JT{li_attr;id;text;icon;children;state;getNodeAttribute(e){return X(this.li_attr,e,`Expected concept node attribute to be of type '${e.name}'`)}}(0,Ne.createModelSchema)(JT,{li_attr:(0,Ne.custom)((()=>Ne.SKIP),(e=>e.classPath?(0,Ne.deserialize)(WT,e):e.file?(0,Ne.deserialize)(KT,e):(0,Ne.deserialize)(YT,e))),id:(0,Ne.primitive)(),text:(0,Ne.primitive)(),icon:(0,Ne.primitive)(),children:(0,Ne.primitive)(),state:(0,Ne.primitive)()});const XT=e=>e.startsWith("/")?e.substring(1,e.length):e;class qT{content;RO;constructor(){(0,Ve.makeObservable)(this,{content:Ve.observable,hashCode:Ve.computed,setContent:Ve.action})}setContent(e){this.content=e}get hashCode(){return ya(this.content)}}(0,Ne.createModelSchema)(qT,{content:(0,Ne.primitive)(),RO:(0,Ne.primitive)()});class QT{file;line;column;constructor(e,t,i){this.file=e,this.line=t,this.column=i}}class ZT extends QT{error;constructor(e,t,i,s){super(e,t??1,i??1),this.error=s}}var eS;!function(e){e.ENUM="meta::pure::ide::findusages::findUsagesForEnum_String_1__String_1__SourceInformation_MANY_",e.PROPERTY="meta::pure::ide::findusages::findUsagesForProperty_String_1__String_1__SourceInformation_MANY_",e.ELEMENT="meta::pure::ide::findusages::findUsagesForPath_String_1__SourceInformation_MANY_",e.MULTIPLE_PATHS="meta::pure::ide::findusages::findUsagesForMultiplePaths_String_1__Pair_MANY_"}(eS||(eS={}));const tS=e=>`'${e.path}'${e.owner?` of '${e.owner}'`:""}`;class iS{source;line;column;startLine;startColumn;endLine;endColumn}(0,Ne.createModelSchema)(iS,{source:(0,Ne.primitive)(),line:(0,Ne.primitive)(),column:(0,Ne.primitive)(),startLine:(0,Ne.primitive)(),startColumn:(0,Ne.primitive)(),endLine:(0,Ne.primitive)(),endColumn:(0,Ne.primitive)()});class sS{first;second}(0,Ne.createModelSchema)(sS,{first:(0,Ne.primitive)(),second:(0,Ne.list)((0,Ne.object)(iS))});class nS{uuid=(0,a.default)();get description(){}match(e){return this===e}onOpen(){}onClose(){}}class aS{currentTab;tabs=[];constructor(){(0,Ve.makeObservable)(this,{currentTab:Ve.observable,tabs:Ve.observable,setCurrentTab:Ve.action,closeTab:Ve.action,closeAllTabs:Ve.action,closeAllOtherTabs:Ve.action,openTab:Ve.action,swapTabs:Ve.action})}setCurrentTab(e){this.currentTab=e}closeAllOtherTabs(e){Y(this.tabs.find((t=>t===e)),"Specified tab should be currently opened"),this.setCurrentTab(e),this.tabs=[e]}closeAllTabs(){this.setCurrentTab(void 0),this.tabs=[]}swapTabs(e,t){L(this.tabs,e,t)}openTab(e){if(!this.tabs.find((t=>t.match(e))))if(this.currentTab){const t=this.tabs.findIndex((e=>e===this.currentTab));this.tabs.splice(t+1,0,e)}else this.tabs.push(e);this.setCurrentTab(e),e.onOpen()}closeTab(e){const t=this.tabs.findIndex((t=>t.match(e)));if(Z(-1!==t,"Can't close a tab which is not opened"),this.tabs.splice(t,1),this.currentTab===e)if(this.tabs.length){const e=t-1;this.setCurrentTab(e>=0?this.tabs[e]:this.tabs[0])}else this.setCurrentTab(void 0);e.onClose()}}class rS extends nS{ideStore;constructor(e){super(),this.ideStore=e}}class oS extends aS{ideStore;constructor(e){super(),this.ideStore=e}get dndType(){return"editor.tab-manager.tab"}closeTab(e){e instanceof _S&&e.hasChanged?this.ideStore.applicationStore.alertService.setActionAlertInfo({message:"Unsaved changes will be lost if you continue. Do you still want to proceed?",prompt:"To save changes, abort and compile",type:Wt.CAUTION,actions:[{label:"Proceed",type:Kt.PROCEED_WITH_CAUTION,handler:()=>super.closeTab(e)},{label:"Save changes",type:Kt.PROCEED_WITH_CAUTION,handler:()=>{(0,Ve.flowResult)(this.ideStore.executeGo()).then((()=>{super.closeTab(e)})).catch(this.ideStore.applicationStore.alertUnhandledError)}},{label:"Abort",type:Kt.PROCEED,default:!0}]}):super.closeTab(e)}}var cS;!function(e){e.SEARCH_FILE="editor.search.file",e.SEARCH_TEXT="editor.search.text",e.GO_TO_FILE="editor.go-to-file",e.TOGGLE_TERMINAL_PANEL="editor.toggle-terminal-panel",e.EXECUTE="editor.execute",e.FULL_RECOMPILE="editor.full-compile",e.FULL_RECOMPILE_WITH_FULL_INIT="editor.full-compile.with-init",e.RUN_ALL_TESTS="editor.run-all-tests",e.RUN_RELAVANT_TESTS="editor.run-relavant-tests"}(cS||(cS={}));const lS={[cS.SEARCH_FILE]:{title:"Search for file",defaultKeyboardShortcut:"Control+Shift+KeyN",additionalKeyboardShortcuts:["Control+KeyP","Meta+KeyP"]},[cS.SEARCH_TEXT]:{title:"Search text",defaultKeyboardShortcut:"Control+Shift+KeyF",additionalKeyboardShortcuts:["Meta+Shift+KeyF"]},[cS.GO_TO_FILE]:{title:"Go to file",defaultKeyboardShortcut:"Control+F1"},[cS.TOGGLE_TERMINAL_PANEL]:{title:"Toggle terminal",defaultKeyboardShortcut:"Control+Backquote"},[cS.EXECUTE]:{title:"Execute",defaultKeyboardShortcut:"F9"},[cS.FULL_RECOMPILE]:{title:"Run full re-compilation",defaultKeyboardShortcut:"F11"},[cS.FULL_RECOMPILE_WITH_FULL_INIT]:{title:"Run full re-compilation",defaultKeyboardShortcut:"Shift+F11"},[cS.RUN_ALL_TESTS]:{title:"Run all tests",defaultKeyboardShortcut:"F10"},[cS.RUN_RELAVANT_TESTS]:{title:"Run relavant tests",defaultKeyboardShortcut:"Shift+F10"}};var dS;!function(e){e.RECENTER="editor.diagram-editor.recenter",e.USE_ZOOM_TOOL="editor.diagram-editor.use-zoom-tool",e.USE_VIEW_TOOL="editor.diagram-editor.use-view-tool",e.USE_PAN_TOOL="editor.diagram-editor.use-pan-tool"}(dS||(dS={}));const uS={[dS.RECENTER]:{title:"Diagram Editor: Recenter",defaultKeyboardShortcut:"KeyR"},[dS.USE_ZOOM_TOOL]:{title:"Diagram Editor: Use zoom tool",defaultKeyboardShortcut:"KeyZ"},[dS.USE_VIEW_TOOL]:{title:"Diagram Editor: Use view tool",defaultKeyboardShortcut:"KeyV"},[dS.USE_PAN_TOOL]:{title:"Diagram Editor: Use pan tool",defaultKeyboardShortcut:"KeyM"}};var pS;!function(e){e.TOGGLE_TEXT_WRAP="editor.file-editor.toggle-text-wrap",e.REVEAL_CONCEPT_IN_TREE="editor.file-editor.reveal-concept-in-tree",e.GO_TO_DEFINITION="editor.file-editor.go-to-definition",e.GO_BACK="editor.file-editor.go-back",e.FIND_USAGES="editor.file-editor.find-usage",e.RENAME_CONCEPT="editor.file-editor.rename-concept",e.GO_TO_LINE="editor.file-editor.go-to-line",e.DELETE_LINE="editor.file-editor.delete-line"}(pS||(pS={}));const hS={[pS.TOGGLE_TEXT_WRAP]:{title:"Toggle Text-wrap (File)",defaultKeyboardShortcut:"Alt+KeyZ"},[pS.REVEAL_CONCEPT_IN_TREE]:{title:"Reveal Concept in Tree (File)",defaultKeyboardShortcut:"Control+Shift+KeyB"},[pS.GO_TO_DEFINITION]:{title:"Go to Definition (File)",defaultKeyboardShortcut:"Control+KeyB"},[pS.GO_BACK]:{title:"Go Back (File)",defaultKeyboardShortcut:"Control+Alt+KeyB"},[pS.FIND_USAGES]:{title:"Find Usages (File)",defaultKeyboardShortcut:"Alt+F7"},[pS.RENAME_CONCEPT]:{title:"Rename Concept (File)",defaultKeyboardShortcut:"F2"},[pS.GO_TO_LINE]:{title:"Go to Line (File)",defaultKeyboardShortcut:"Control+KeyG"},[pS.DELETE_LINE]:{title:"Delete Line (File)",defaultKeyboardShortcut:"Control+KeyD"}};var mS;!function(e){e.GO="go",e.TEST="test",e.REMOVE="rm",e.MOVE="mv",e.NEW_DIRECTORY="mkdir",e.NEW_FILE="touch",e.OPEN_FILE="open",e.OPEN_DIRECTORY="cd",e.LIST_DIRECTORY="ls",e.WELCOME="welcome",e.ECHO="echo",e.CLEAR="clear",e.ANSI="ansi",e.HELP="help"}(mS||(mS={}));class gS{model;editor;_dummyCursorObservable={};language;viewState;forcedCursorPosition;wrapText=!1;constructor(e){(0,Ve.makeObservable)(this,{viewState:Ve.observable.ref,editor:Ve.observable.ref,_dummyCursorObservable:Ve.observable.ref,forcedCursorPosition:Ve.observable.ref,wrapText:Ve.observable,cursorObserver:Ve.computed,notifyCursorObserver:Ve.action,setViewState:Ve.action,setEditor:Ve.action,setForcedCursorPosition:Ve.action,setWrapText:Ve.action}),this.language=(e=>{switch(k(e.split("."))){case"pure":return zT.PURE;case"java":return zT.JAVA;case"md":return zT.MARKDOWN;case"sql":return zT.SQL;case"json":return zT.JSON;case"xml":return zT.XML;case"yml":case"yaml":return zT.YAML;case"graphql":return zT.GRAPHQL;default:return zT.TEXT}})(e.filePath),this.model=TT.editor.createModel(e.uuid,this.language),this.model.setValue(e.file.content)}notifyCursorObserver(){this._dummyCursorObservable={}}get cursorObserver(){return this._dummyCursorObservable,this.editor?{position:this.editor.getPosition()??void 0,selection:this.editor.getSelection()??void 0}:void 0}setViewState(e){this.viewState=e}setEditor(e){this.editor=e}setForcedCursorPosition(e){this.forcedCursorPosition=e}setWrapText(e){const t=this.wrapText;this.wrapText=e,t!==e&&this.editor&&(this.editor.updateOptions({wordWrap:e?"on":"off"}),this.editor.focus())}}class fS{fileEditorState;concept;coordinate;constructor(e,t,i){this.fileEditorState=e,this.concept=t,this.coordinate=i}}class _S extends rS{filePath;textEditorState;_currentHashCode;file;renameConceptState;showGoToLinePrompt=!1;constructor(e,t,i){super(e),(0,Ve.makeObservable)(this,{_currentHashCode:Ve.observable,file:Ve.observable,renameConceptState:Ve.observable,showGoToLinePrompt:Ve.observable,hasChanged:Ve.computed,resetChangeDetection:Ve.action,setFile:Ve.action,setShowGoToLinePrompt:Ve.action,setConceptToRenameState:Ve.flow}),this.file=t,this._currentHashCode=t.hashCode,this.filePath=i,this.textEditorState=new gS(this)}get label(){return XT(this.filePath)}get description(){return`File: ${XT(this.filePath)}${this.file.RO?" (readonly)":""}`}get fileName(){return W(k(this.filePath.split("/")))}match(e){return e instanceof _S&&this.filePath===e.filePath}onClose(){this.textEditorState.model.dispose()}get hasChanged(){return this._currentHashCode!==this.file.hashCode}resetChangeDetection(){this._currentHashCode=this.file.hashCode}setFile(e){this.file=e,this.textEditorState.model.setValue(e.content),this.resetChangeDetection()}setShowGoToLinePrompt(e){this.showGoToLinePrompt=e}*setConceptToRenameState(e){if(!e)return void(this.renameConceptState=void 0);if(this.hasChanged)return void this.ideStore.applicationStore.notificationService.notifyWarning("Can't rename concept: source is not compiled");const t=yield this.ideStore.getConceptInfo(e);this.renameConceptState=t?new fS(this,t,e):void 0}showError(e){var t,i,s;t=this.textEditorState.model,i=[{message:e.error.message,startLineNumber:e.line,startColumn:e.column,endLineNumber:e.line,endColumn:e.column}],s=this.uuid,TT.editor.setModelMarkers(t,s??GT,i.map((e=>({startLineNumber:e.startLineNumber,startColumn:e.startColumn,endLineNumber:e.endLineNumber,endColumn:e.endColumn+1,message:""===e.message?"(no error message)":e.message,severity:TT.MarkerSeverity.Error}))))}clearError(){var e;e=this.uuid,TT.editor.removeAllMarkers(e??GT)}registerCommands(){this.textEditorState.language===zT.PURE&&(this.ideStore.applicationStore.commandService.registerCommand({key:pS.GO_TO_DEFINITION,trigger:()=>this.ideStore.tabManagerState.currentTab===this&&Boolean(this.textEditorState.editor?.hasTextFocus()),action:()=>{const e=this.textEditorState.editor?.getPosition();e&&(0,Ve.flowResult)(this.ideStore.executeNavigation(new QT(this.filePath,e.lineNumber,e.column))).catch(this.ideStore.applicationStore.alertUnhandledError)}}),this.ideStore.applicationStore.commandService.registerCommand({key:pS.GO_BACK,action:()=>{(0,Ve.flowResult)(this.ideStore.navigateBack()).catch(this.ideStore.applicationStore.alertUnhandledError)}}),this.ideStore.applicationStore.commandService.registerCommand({key:pS.REVEAL_CONCEPT_IN_TREE,trigger:()=>this.ideStore.tabManagerState.currentTab===this&&Boolean(this.textEditorState.editor?.hasTextFocus()),action:()=>{const e=this.textEditorState.editor?.getPosition();e&&this.ideStore.revealConceptInTree(new QT(this.filePath,e.lineNumber,e.column)).catch(this.ideStore.applicationStore.alertUnhandledError)}}),this.ideStore.applicationStore.commandService.registerCommand({key:pS.FIND_USAGES,trigger:()=>this.ideStore.tabManagerState.currentTab===this&&Boolean(this.textEditorState.editor?.hasTextFocus()),action:()=>{const e=this.textEditorState.editor?.getPosition();if(e){const t=new QT(this.filePath,e.lineNumber,e.column);this.findConceptUsages(t)}}}),this.ideStore.applicationStore.commandService.registerCommand({key:pS.RENAME_CONCEPT,trigger:()=>this.ideStore.tabManagerState.currentTab===this&&Boolean(this.textEditorState.editor?.hasTextFocus()),action:()=>{const e=this.textEditorState.editor?.getPosition();if(e){if(!this.textEditorState.model.getWordAtPosition(e))return;const t=new QT(this.filePath,e.lineNumber,e.column);(0,Ve.flowResult)(this.setConceptToRenameState(t)).catch(this.ideStore.applicationStore.alertUnhandledError)}}})),this.ideStore.applicationStore.commandService.registerCommand({key:pS.DELETE_LINE,trigger:()=>this.ideStore.tabManagerState.currentTab===this&&Boolean(this.textEditorState.editor?.hasTextFocus()),action:()=>{const e=this.textEditorState.editor?.getPosition();e&&this.textEditorState.model.pushEditOperations([],[{range:{startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber+1,endColumn:1},text:"",forceMoveMarkers:!0}],(()=>null))}}),this.ideStore.applicationStore.commandService.registerCommand({key:pS.GO_TO_LINE,trigger:()=>this.ideStore.tabManagerState.currentTab===this,action:()=>{this.setShowGoToLinePrompt(!0)}}),this.ideStore.applicationStore.commandService.registerCommand({key:pS.TOGGLE_TEXT_WRAP,trigger:()=>this.ideStore.tabManagerState.currentTab===this,action:()=>{this.textEditorState.setWrapText(!this.textEditorState.wrapText)}})}findConceptUsages(e){const t=()=>{(0,Ve.flowResult)(this.ideStore.findUsagesFromCoordinate(e)).catch(this.ideStore.applicationStore.alertUnhandledError)};this.hasChanged?this.ideStore.applicationStore.alertService.setActionAlertInfo({message:"Source is not compiled, finding concept usages might be inaccurate. Do you want compile to proceed?",type:Wt.CAUTION,actions:[{label:"Compile and Proceed",type:Kt.PROCEED_WITH_CAUTION,handler:()=>{(0,Ve.flowResult)(this.ideStore.executeGo()).then(t).catch(this.ideStore.applicationStore.alertUnhandledError)}},{label:"Abort",type:Kt.PROCEED,default:!0}]}):t()}async renameConcept(e){if(!this.renameConceptState)return;const t=this.renameConceptState.concept;try{this.ideStore.applicationStore.alertService.setBlockingAlert({message:"Finding concept usages...",showLoading:!0});const i=await this.ideStore.findConceptUsages(t.pureType===HT.ENUM_VALUE?eS.ENUM:t.pureType===HT.PROPERTY||t.pureType===HT.QUALIFIED_PROPERTY?eS.PROPERTY:eS.ELEMENT,(t.owner?[`'${t.owner}'`]:[]).concat(`'${t.path}'`));await(0,Ve.flowResult)(this.ideStore.renameConcept(t.pureName,e,t.pureType,i)),this.textEditorState.setForcedCursorPosition({lineNumber:this.renameConceptState.coordinate.line,column:this.renameConceptState.coordinate.column})}catch(e){G(e),this.ideStore.applicationStore.notificationService.notifyError(e)}finally{this.ideStore.applicationStore.alertService.setBlockingAlert(void 0)}}deregisterCommands(){this.textEditorState.language===zT.PURE&&[pS.GO_TO_DEFINITION,pS.GO_BACK,pS.REVEAL_CONCEPT_IN_TREE,pS.FIND_USAGES,pS.RENAME_CONCEPT].forEach((e=>this.ideStore.applicationStore.commandService.deregisterCommand(e))),[pS.GO_TO_LINE,pS.TOGGLE_TEXT_WRAP].forEach((e=>this.ideStore.applicationStore.commandService.deregisterCommand(e)))}}class bS{ideStore;treeData;selectedNode;loadInitialDataState=Ge.create();refreshDataState=Ge.create();constructor(e){(0,Ve.makeObservable)(this,{treeData:Ve.observable.ref,loadInitialDataState:Ve.observable,refreshDataState:Ve.observable,initialize:Ve.flow,expandNode:Ve.flow,openNode:Ve.flow,refreshTreeData:Ve.flow,setTreeData:Ve.action,setSelectedNode:Ve.action}),this.ideStore=e}getTreeData(){return W(this.treeData,"Tree data has not been initialized")}*initialize(){if(this.loadInitialDataState.isInProgress)this.ideStore.applicationStore.notificationService.notifyWarning("Tree state initialization is in progress");else{this.loadInitialDataState.inProgress();try{this.treeData=this.buildTreeData(yield this.getRootNodes()),this.loadInitialDataState.pass()}catch(e){G(e),this.ideStore.applicationStore.notificationService.notifyError(e),this.loadInitialDataState.fail()}}}setSelectedNode(e){e!==this.selectedNode&&(this.selectedNode&&(this.selectedNode.isSelected=!1),e&&(e.isSelected=!0),this.selectedNode=e,this.refreshTree())}setTreeData(e){this.treeData=e}refreshTree(){this.setTreeData({...W(this.treeData)})}*expandNode(e){if(!e.isLoading)if(this.getTreeData().nodes.has(e.id)&&e.childrenIds)e.isLoading=!1,e.isOpen=!0,this.refreshTree();else{e.isLoading=!0;try{const t=yield this.getChildNodes(e);this.processChildNodes(e,t),e.isOpen=!0,this.refreshTree()}catch(e){G(e),this.ideStore.applicationStore.notificationService.notifyError(e)}finally{e.isLoading=!1}}}*refreshTreeData(){if(!this.treeData)return;const e=new Set(Array.from(this.getTreeData().nodes.values()).filter((e=>e.isOpen)).map((e=>e.id))),t=this.selectedNode?.id;this.refreshDataState.inProgress();try{this.treeData=this.buildTreeData(yield this.getRootNodes())}catch(e){return G(e),this.ideStore.applicationStore.notificationService.notifyError(e),void this.refreshDataState.fail()}const i=this.getTreeData().rootIds.map((e=>W(this.getTreeData().nodes.get(e)))).filter((t=>e.has(t.id)));yield this.refreshOpenNodes(i,e),t&&this.getTreeData().nodes.has(t)&&this.setSelectedNode(W(this.getTreeData().nodes.get(t)))}async refreshOpenNodes(e,t){return await Promise.all(e.map((e=>(t.delete(e.id),(0,Ve.flowResult)(this.expandNode(e)).catch((()=>{})))))),(e=e.flatMap((e=>e.childrenIds??[])).map((e=>W(this.getTreeData().nodes.get(e)))).filter((e=>t.has(e.id)))).length?this.refreshOpenNodes(e,t):Promise.resolve()}}class ES{id;path;RO}class vS extends ES{file;statusType}(0,Ne.createModelSchema)(vS,{id:(0,Ne.primitive)(),path:(0,Ne.primitive)(),file:(0,Ne.primitive)(),statusType:(0,Ne.primitive)(),RO:(0,Ne.primitive)()});class TS extends ES{repo}(0,Ne.createModelSchema)(TS,{id:(0,Ne.primitive)(),path:(0,Ne.primitive)(),repo:(0,Ne.primitive)(),RO:(0,Ne.primitive)()});class SS{li_attr;text;icon;children;state;get isFolderNode(){return this.li_attr instanceof TS}get isFileNode(){return this.li_attr instanceof vS}get isRepoNode(){return this.li_attr instanceof TS&&Boolean(this.li_attr.repo)}getNodeAttribute(e){return X(this.li_attr,e,`Expected directory node attribute to be of type '${e.name}'`)}}(0,Ne.createModelSchema)(SS,{li_attr:(0,Ne.custom)((()=>Ne.SKIP),(e=>e.file?(0,Ne.deserialize)(vS,e):(0,Ne.deserialize)(TS,e))),text:(0,Ne.primitive)(),icon:(0,Ne.primitive)(),children:(0,Ne.primitive)(),state:(0,Ne.primitive)()});const CS=e=>{const t=e.trim(),i=t.lastIndexOf("/");if(!(i<=0))return t.substring(0,i)},yS=e=>`file_${e}`;class NS extends bS{nodeForCreateNewFile;nodeForCreateNewDirectory;nodeForRenameFile;constructor(e){super(e),(0,Ve.makeObservable)(this,{nodeForCreateNewFile:Ve.observable,nodeForCreateNewDirectory:Ve.observable,nodeForRenameFile:Ve.observable,setNodeForCreateNewFile:Ve.action,setNodeForCreateNewDirectory:Ve.action,setNodeForRenameFile:Ve.action,revealPath:Ve.flow})}setNodeForCreateNewFile=e=>{Z(!e||e.data.isFolderNode,"Node selected for creating a new file from must be a directory"),this.nodeForCreateNewFile=e};setNodeForCreateNewDirectory=e=>{Z(!e||e.data.isFolderNode,"Node selected for creating a new directory from must be a directory"),this.nodeForCreateNewDirectory=e};setNodeForRenameFile=e=>{Z(!e||e.data.isFileNode,"Node selected for renaming must be a file"),this.nodeForRenameFile=e};async getRootNodes(){return(await this.ideStore.client.getDirectoryChildren()).map((e=>(0,Ne.deserialize)(SS,e)))}buildTreeData(e){const t=[],i=new Map;return e.forEach((e=>{const s=e.li_attr.id;t.push(s),i.set(s,{data:e,id:s,label:e.text,isLoading:!1})})),{rootIds:t,nodes:i}}async getChildNodes(e){return(await this.ideStore.client.getDirectoryChildren(e.data.li_attr.path)).map((e=>(0,Ne.deserialize)(SS,e)))}processChildNodes(e,t){const i=this.getTreeData(),s=[];t.forEach((e=>{const t=e.li_attr.id;s.push(t),i.nodes.set(t,{data:e,id:t,label:e.text,isLoading:!1})})),e.childrenIds=s}*openNode(e){e.data.isFileNode&&(yield(0,Ve.flowResult)(this.ideStore.loadFile(e.data.li_attr.path)))}*revealPath(e,t){t?.forceOpenExplorerPanel&&this.ideStore.setActiveActivity(bT.FILE_EXPLORER,{keepShowingIfMatchedCurrent:!0});const i=[];let s=e;for(;s;)i.unshift(s),s=CS(s);for(const e of i){const i=W(this.getTreeData().nodes.get(yS(e)),`Can't find node with path '${e}'`);if(i.data.isFolderNode)yield(0,Ve.flowResult)(this.expandNode(i));else{if(t?.directoryOnly)throw new Error("Can't reveal non-directory path");yield(0,Ve.flowResult)(this.ideStore.loadFile(e,t?.coordinate))}}this.setSelectedNode(W(this.getTreeData().nodes.get(yS(e)),`Can't find node with path '${e}'`))}}const AS=e=>{const t=e.trim(),i=t.lastIndexOf(Ia);if(!(i<=0))return t.substring(0,i)};class IS extends bS{loadConceptActivity=Ge.create();statusText;nodeForRenameConcept;nodeForMoveElement;constructor(e){super(e),(0,Ve.makeObservable)(this,{statusText:Ve.observable,nodeForRenameConcept:Ve.observable,nodeForMoveElement:Ve.observable,setStatusText:Ve.action,setNodeForRenameConcept:Ve.action,setNodeForMoveElement:Ve.action,pullConceptsActivity:Ve.action,pollConceptsActivity:Ve.flow,revealConcept:Ve.flow})}setStatusText(e){this.statusText=e}setNodeForRenameConcept(e){this.nodeForRenameConcept=e}setNodeForMoveElement(e){this.nodeForMoveElement=e}async getRootNodes(){return await(0,Ve.flowResult)(this.pollConceptsActivity()),(await this.ideStore.client.getConceptChildren()).map((e=>(0,Ne.deserialize)(JT,e)))}buildTreeData(e){const t=[],i=new Map;return e.forEach((e=>{const s=e.li_attr.id;t.push(s),i.set(s,{data:e,id:s,label:e.text,isLoading:!1})})),{rootIds:t,nodes:i}}async getChildNodes(e){return(await this.ideStore.client.getConceptChildren(e.data.li_attr.pureId)).map((e=>(0,Ne.deserialize)(JT,e)))}processChildNodes(e,t){const i=this.getTreeData(),s=[];t.forEach((t=>{const n=t.li_attr.id;s.push(n),i.nodes.set(n,{data:t,id:n,label:t.text,isLoading:!1,parent:e})})),e.childrenIds=s}*openNode(e){(e.data.li_attr instanceof WT||e.data.li_attr instanceof KT)&&("Diagram"===e.data.li_attr.pureType?yield(0,Ve.flowResult)(this.ideStore.loadDiagram(e.data.li_attr.file,e.data.li_attr.pureId,Number.parseInt(e.data.li_attr.line,10),Number.parseInt(e.data.li_attr.column,10))):yield(0,Ve.flowResult)(this.ideStore.loadFile(e.data.li_attr.file,new QT(e.data.li_attr.file,Number.parseInt(e.data.li_attr.line,10),Number.parseInt(e.data.li_attr.column,10)))))}*pollConceptsActivity(){if(this.loadConceptActivity.isInInitialState){this.loadConceptActivity.inProgress(),this.setStatusText("Loading concepts activity...");try{yield this.pullConceptsActivity()}finally{this.setStatusText(void 0),this.loadConceptActivity.reset()}}}async pullConceptsActivity(){const e=await this.ideStore.client.getConceptActivity();return e.text&&this.setStatusText(`Preparing - ${e.text}`),e.initializing?new Promise(((e,t)=>setTimeout((()=>{try{e(this.pullConceptsActivity())}catch(e){t(e)}}),1e3))):Promise.resolve()}*revealConcept(e,t){t?.forceOpenExplorerPanel&&this.ideStore.setActiveActivity(bT.CONCEPT_EXPLORER,{keepShowingIfMatchedCurrent:!0});const i=[];let s=e;for(;s;)i.unshift(s),s=AS(s);for(const e of i){const i=W(this.getTreeData().nodes.get(e),`Can't find node with path '${e}'`);if(i.data.li_attr instanceof YT)yield(0,Ve.flowResult)(this.expandNode(i));else if(t?.packageOnly)throw new Error("Can't reveal non-package path")}this.setSelectedNode(W(this.getTreeData().nodes.get(e),`Can't find node with path '${e}'`))}async movePackageableElements(e,t){let i=[];try{i=(await this.ideStore.client.getPackageableElementsUsage(e.map((e=>e.pureId)))).map((e=>(0,Ne.deserialize)(sS,e)))}catch{return void this.ideStore.applicationStore.notificationService.notifyError("Can't find usage for child packageable elements")}finally{this.ideStore.applicationStore.alertService.setBlockingAlert(void 0)}const s=[];Z(i.length===e.length,"Can't find matching usages for packageable elements");for(let n=0;n<i.length;++n){const a=W(e[n]);s.push({pureName:a.pureName,pureType:a.pureType,sourcePackage:W(_E(a.pureId)),destinationPackage:t,usages:W(i[n]).second})}await(0,Ve.flowResult)(this.ideStore.movePackageableElements(s))}async renameConcept(e,t){const i=e.data.li_attr,s=i.pureName??i.pureId;let n=[];try{switch(this.ideStore.applicationStore.alertService.setBlockingAlert({message:"Finding concept usages...",showLoading:!0}),i.pureType){case HT.PROPERTY:case HT.QUALIFIED_PROPERTY:J(i,WT),n=await this.ideStore.findConceptUsages(eS.PROPERTY,[`'${i.classPath}'`,`'${i.pureId}'`]);break;case HT.PACKAGE:{let e=[],i=[];try{i=await this.ideStore.client.getChildPackageableElements(s),e=(await this.ideStore.client.getPackageableElementsUsage(i.map((e=>e.pureId)))).map((e=>(0,Ne.deserialize)(sS,e)))}catch{return void this.ideStore.applicationStore.notificationService.notifyError("Can't find usage for child packageable elements")}finally{this.ideStore.applicationStore.alertService.setBlockingAlert(void 0)}const n=[];Z(e.length===i.length,"Can't find matching usages for child packageable elements");const a=_E(s)?.concat(Ia).concat(t)??t;for(let t=0;t<e.length;++t){const r=W(i[t]),o=W(_E(r.pureId)),c=a.concat(o.substring(o.indexOf(s)+s.length));n.push({pureName:r.pureName,pureType:r.pureType,sourcePackage:o,destinationPackage:c,usages:W(e[t]).second})}return void await(0,Ve.flowResult)(this.ideStore.movePackageableElements(n))}default:n=await this.ideStore.findConceptUsages(eS.ELEMENT,[`'${i.pureId}'`])}}catch(e){return G(e),void this.ideStore.applicationStore.notificationService.notifyError(e)}finally{this.ideStore.applicationStore.alertService.setBlockingAlert(void 0)}await(0,Ve.flowResult)(this.ideStore.renameConcept(s,t,i.pureType,n))}}class xS{cached;datamarts;text}(0,Ne.createModelSchema)(xS,{cached:(0,Ne.primitive)(),datamarts:(0,Ne.list)((0,Ne.primitive)()),text:(0,Ne.primitive)()});class OS extends xS{error;sessionError}(0,Ne.createModelSchema)(OS,{cached:(0,Ne.primitive)(),datamarts:(0,Ne.list)((0,Ne.primitive)()),text:(0,Ne.primitive)(),error:(0,Ne.primitive)(),sessionError:(0,Ne.primitive)()});class wS extends OS{RO;line;column;source}(0,Ne.createModelSchema)(wS,{cached:(0,Ne.primitive)(),datamarts:(0,Ne.list)((0,Ne.primitive)()),text:(0,Ne.primitive)(),RO:(0,Ne.primitive)(),line:(0,Ne.primitive)(),column:(0,Ne.primitive)(),source:(0,Ne.primitive)(),error:(0,Ne.primitive)(),sessionError:(0,Ne.primitive)()});class RS{text;reinit}class kS extends RS{cache;modifiedFiles=[]}(0,Ne.createModelSchema)(kS,{text:(0,Ne.primitive)(),cache:(0,Ne.primitive)(),modifiedFiles:(0,Ne.list)((0,Ne.primitive)()),reinit:(0,Ne.primitive)()});class PS extends RS{RO;line;column;source;error;sessionError}(0,Ne.createModelSchema)(PS,{text:(0,Ne.primitive)(),RO:(0,Ne.primitive)(),line:(0,Ne.optional)((0,Ne.primitive)()),column:(0,Ne.optional)((0,Ne.primitive)()),source:(0,Ne.optional)((0,Ne.primitive)()),error:(0,Ne.primitive)(),sessionError:(0,Ne.primitive)()});class MS{RO;line;column;source}(0,Ne.createModelSchema)(MS,{RO:(0,Ne.primitive)(),line:(0,Ne.primitive)(),column:(0,Ne.primitive)(),source:(0,Ne.primitive)()});class LS extends RS{jumpTo}(0,Ne.createModelSchema)(LS,{text:(0,Ne.primitive)(),jumpTo:(0,Ne.object)(MS)});class FS{uuid=(0,a.default)();sourceID;line;column;foundName}(0,Ne.createModelSchema)(FS,{sourceID:(0,Ne.primitive)(),line:(0,Ne.primitive)(),column:(0,Ne.primitive)(),foundName:(0,Ne.primitive)()});class DS{uuid=(0,a.default)();sourceID;line;column;foundName;add;messageToBeModified;fileToBeModified;lineToBeModified;columnToBeModified}(0,Ne.createModelSchema)(DS,{sourceID:(0,Ne.primitive)(),line:(0,Ne.primitive)(),column:(0,Ne.primitive)(),foundName:(0,Ne.primitive)(),add:(0,Ne.primitive)(),messageToBeModified:(0,Ne.primitive)(),fileToBeModified:(0,Ne.primitive)(),lineToBeModified:(0,Ne.primitive)(),columnToBeModified:(0,Ne.primitive)()});class BS extends PS{candidateName;candidatesWithPackageImported=[];candidatesWithPackageNotImported=[]}(0,Ne.createModelSchema)(BS,{candidateName:(0,Ne.primitive)(),candidatesWithPackageImported:(0,Ne.list)((0,Ne.object)(FS)),candidatesWithPackageNotImported:(0,Ne.list)((0,Ne.object)(DS))});class jS extends PS{candidateName;candidates=[]}(0,Ne.createModelSchema)(jS,{candidateName:(0,Ne.primitive)(),candidates:(0,Ne.list)((0,Ne.object)(DS))});class US{id;parentId;file;line;column}(0,Ne.createModelSchema)(US,{id:(0,Ne.primitive)(),parentId:(0,Ne.primitive)(),file:(0,Ne.primitive)(),line:(0,Ne.primitive)(),column:(0,Ne.primitive)()});class VS{children=[];li_attr;text;type}(0,Ne.createModelSchema)(VS,{children:(0,Ne.list)((0,Ne.object)(VS)),li_attr:(0,Ne.object)(US),text:(0,Ne.primitive)(),type:(0,Ne.primitive)()});class GS extends RS{count;filterPaths=[];path;relevantTestsOnly;runnerId;tests=[]}(0,Ne.createModelSchema)(GS,{count:(0,Ne.primitive)(),filterPaths:(0,Ne.list)((0,Ne.primitive)()),path:(0,Ne.primitive)(),relevantTestsOnly:(0,Ne.primitive)(),runnerId:(0,Ne.primitive)(),tests:(0,Ne.list)((0,Ne.object)(VS))});class zS{uuid=(0,a.default)()}class HS{before;found;after}(0,Ne.createModelSchema)(HS,{after:(0,Ne.primitive)(),before:(0,Ne.primitive)(),found:(0,Ne.primitive)()});class $S{uuid=(0,a.default)();sourceId;startLine;startColumn;endLine;endColumn;preview;constructor(e,t,i,s,n){this.sourceId=e,this.startLine=t,this.startColumn=i,this.endLine=s,this.endColumn=n}}(0,Ne.createModelSchema)($S,{sourceId:(0,Ne.primitive)(),startLine:(0,Ne.primitive)(),startColumn:(0,Ne.primitive)(),endLine:(0,Ne.primitive)(),endColumn:(0,Ne.primitive)(),preview:(0,Ne.optional)((0,Ne.object)(HS))});class YS extends zS{sourceId;coordinates=[];isExpanded=!0;constructor(){super(),(0,Ve.makeObservable)(this,{coordinates:Ve.observable,isExpanded:Ve.observable,setIsExpanded:Ve.action,dismissCoordinate:Ve.action})}setCoordinates(e){this.coordinates=e}setIsExpanded(e){this.isExpanded=e}dismissCoordinate(e){F(this.coordinates,e)}}(0,Ne.createModelSchema)(YS,{sourceId:(0,Ne.primitive)(),coordinates:(0,Ne.list)((0,Ne.object)($S))});var WS;!function(e){e.PASSED="Success",e.FAILED="AssertFail",e.ERROR="Error",e.NOT_RUN="notRan"}(WS||(WS={}));class KS{status;test}class JS extends KS{test=[]}(0,Ne.createModelSchema)(JS,{status:(0,Ne.primitive)(),test:(0,Ne.list)((0,Ne.primitive)())});class XS{text;RO;line;column;source;error}(0,Ne.createModelSchema)(XS,{text:(0,Ne.primitive)(),RO:(0,Ne.primitive)(),line:(0,Ne.primitive)(),column:(0,Ne.primitive)(),source:(0,Ne.primitive)(),error:(0,Ne.primitive)()});class qS extends KS{test=[];error}(0,Ne.createModelSchema)(qS,{status:(0,Ne.primitive)(),test:(0,Ne.list)((0,Ne.primitive)()),error:(0,Ne.object)(XS)});class QS{}class ZS extends QS{finished;tests=[]}(0,Ne.createModelSchema)(ZS,{finished:(0,Ne.primitive)(),tests:(0,Ne.list)((0,Ne.custom)((()=>Ne.SKIP),(e=>e.error?(0,Ne.deserialize)(qS,e):(0,Ne.deserialize)(JS,e))))});class eC extends QS{error;text}(0,Ne.createModelSchema)(eC,{error:(0,Ne.primitive)(),text:(0,Ne.primitive)()});var tC,iC;!function(e){e.PASSED="PASSED",e.FAILED="FAILED",e.NONE="NONE"}(tC||(tC={})),function(e){e.PASSED="PASSED",e.FAILED="FAILED",e.ERROR="ERROR",e.RUNNING="RUNNING"}(iC||(iC={}));const sC=(e,t)=>{const i=e.id;return Boolean(e.data.type)?((e,t)=>t.passedTests.has(e)?iC.PASSED:t.failedTests.has(e)?iC.FAILED:t.testsWithError.has(e)?iC.ERROR:iC.RUNNING)(i,t):t.failedTestIds.some((e=>e.startsWith(`${i}_`)))||t.testWithErrorIds.some((e=>e.startsWith(`${i}_`)))?iC.FAILED:t.notRunTestIds.some((e=>e.startsWith(`${i}_`)))?iC.RUNNING:iC.PASSED};class nC{_START_TIME;total;time=0;passedTests=new Set;failedTests=new Map;testsWithError=new Map;notRunTests;results=new Map;constructor(e){(0,Ve.makeObservable)(this,{total:Ve.observable,time:Ve.observable,passedTests:Ve.observable,failedTests:Ve.observable,testsWithError:Ve.observable,notRunTests:Ve.observable,results:Ve.observable,passed:Ve.computed,error:Ve.computed,failed:Ve.computed,passedTestIds:Ve.computed,failedTestIds:Ve.computed,testWithErrorIds:Ve.computed,notRunTestIds:Ve.computed,numberOfTestsRun:Ve.computed,runPercentage:Ve.computed,suiteStatus:Ve.computed,setTime:Ve.action,addResult:Ve.action}),this._START_TIME=Date.now(),this.total=e.size,this.notRunTests=new Set(e)}get passed(){return this.passedTests.size}get error(){return this.testsWithError.size}get failed(){return this.failedTests.size}get passedTestIds(){return Array.from(this.passedTests.values())}get failedTestIds(){return Array.from(this.failedTests.keys())}get testWithErrorIds(){return Array.from(this.testsWithError.keys())}get notRunTestIds(){return Array.from(this.notRunTests.values())}get numberOfTestsRun(){return this.passed+this.error+this.failed}get runPercentage(){return Math.floor(100*this.numberOfTestsRun/this.total)}get suiteStatus(){return this.failed+this.error?tC.FAILED:this.passed?tC.PASSED:tC.NONE}setTime(e){this.time=e}addResult(e,t){switch(this.results.set(t,e),this.notRunTests.delete(t),e.status){case WS.PASSED:this.passedTests.add(t);break;case WS.FAILED:this.failedTests.set(t,X(e,qS));break;case WS.ERROR:this.testsWithError.set(t,X(e,qS));break;default:throw new V(`Unsupported test result status '${e.status}'`)}this.time=Date.now()-this._START_TIME}}class aC{ideStore;testExecutionResult;checkTestRunnerState=Ge.create();testResultInfo;allTests=new Map;selectedTestId;treeBuildingState=Ge.create();treeData;viewAsList=!1;constructor(e,t){(0,Ve.makeObservable)(this,{testResultInfo:Ve.observable.ref,allTests:Ve.observable,selectedTestId:Ve.observable,treeData:Ve.observable.ref,viewAsList:Ve.observable,setViewAsList:Ve.action,setSelectedTestId:Ve.action,setTestResultInfo:Ve.action,setTreeData:Ve.action,refreshTree:Ve.action,collapseTree:Ve.action,expandTree:Ve.action,buildTreeDataByLayer:Ve.action,pullTestRunnerResult:Ve.action,buildTestTreeData:Ve.flow,pollTestRunnerResult:Ve.flow,rerunTestSuite:Ve.flow,cancelTestRun:Ve.flow}),this.ideStore=e,this.testExecutionResult=t}getTreeData(){return W(this.treeData,"Test tree data has not been initialized")}setViewAsList(e){this.viewAsList=e}setSelectedTestId(e){this.selectedTestId=e}setTestResultInfo(e){this.testResultInfo=e}setTreeData(e){this.treeData=e}refreshTree(){this.setTreeData({...W(this.treeData)})}*buildTestTreeData(){if(this.treeBuildingState.isInProgress)return;this.treeBuildingState.inProgress();const e=this.testExecutionResult.tests.map((e=>{const t=e.li_attr.id;return e.type&&this.allTests.set(t,e),t})),t=new Map;this.treeData={rootIds:e,nodes:t},yield this.buildTreeDataByLayer(this.testExecutionResult.tests),this.treeBuildingState.reset()}collapseTree(){this.getTreeData().nodes.forEach((e=>{e.isOpen=!1})),this.refreshTree()}expandTree(){this.getTreeData().nodes.forEach((e=>{e.isOpen=!0})),this.refreshTree()}async buildTreeDataByLayer(e){const t=this.getTreeData(),i=[];return await Promise.all(e.map((e=>new Promise(((s,n)=>setTimeout((()=>{const a=e.li_attr.id,r={id:a,label:e.text,data:e,childrenIds:e.type?void 0:[],isLoading:!1};if(e.type&&this.allTests.set(a,e),t.nodes.set(a,r),"Root"!==e.li_attr.parentId)try{const i=W(t.nodes.get((o=e,`test${this.testExecutionResult.runnerId}_${o.li_attr.parentId}`)),`Can't find parent test node with ID '${e.li_attr.parentId}'`);i.childrenIds?M(i.childrenIds,a):i.childrenIds=[a]}catch(e){return void n(e)}var o;i.push(...e.children),s()}),0)))))),i.length?this.buildTreeDataByLayer(i):Promise.resolve()}*pollTestRunnerResult(){if(this.checkTestRunnerState.isInInitialState){this.checkTestRunnerState.inProgress();try{Z(this.allTests.size===this.testExecutionResult.count,`Number of tests scanned in tree (${this.allTests.size}) does not match the number of total reported tests (${this.testExecutionResult.count})`);const e=new nC(new Set(this.allTests.keys()));this.testResultInfo=e,yield this.pullTestRunnerResult(e)}finally{this.checkTestRunnerState.reset()}}}async pullTestRunnerResult(e){const t=(i=await this.ideStore.client.checkTestRunner(this.testExecutionResult.runnerId)).error?(0,Ne.deserialize)(eC,i):(0,Ne.deserialize)(ZS,i);var i;return t instanceof ZS?(await Promise.all(t.tests.map((t=>P((()=>{return e.addResult(t,(i=t,`test${this.testExecutionResult.runnerId}_${i.test.join("_")}`));var i}))))),t.finished?Promise.resolve():new Promise(((t,i)=>setTimeout((()=>{try{t(this.pullTestRunnerResult(e))}catch(e){G(e),this.ideStore.applicationStore.notificationService.notifyWarning("Failed to run test"+(e.message?`: ${e.message}`:"")),i(e)}}),1e3)))):(this.setTestResultInfo(void 0),Promise.resolve())}*rerunTestSuite(){this.ideStore.testRunState.isInProgress||(yield(0,Ve.flowResult)(this.ideStore.executeTests(this.testExecutionResult.path,this.testExecutionResult.relevantTestsOnly)))}*cancelTestRun(){this.ideStore.testRunState.isInProgress&&(yield this.ideStore.client.cancelTestRunner(this.testExecutionResult.runnerId),this.ideStore.applicationStore.notificationService.notifyWarning(`Stopped running test (id: ${this.testExecutionResult.runnerId}) successfully!`))}}class rC{}class oC extends rC{error;errorDialog;text}(0,Ne.createModelSchema)(oC,{error:(0,Ne.primitive)(),errorDialog:(0,Ne.primitive)(),text:(0,Ne.primitive)()});class cC{networkClient;userId="localuser";sessionId=`${this.userId}@${Date.now()}@abcd`;compilerMode;mode;constructor(e){this.networkClient=e}get baseUrl(){return W(this.networkClient.baseUrl,"Pure client has not been configured properly")}initialize=e=>this.networkClient.get(`${this.baseUrl}/initialize`,void 0,void 0,{requestCache:e,sessionId:this.sessionId,mode:this.mode,fastCompile:this.compilerMode});getInitializationActivity=()=>this.networkClient.get(`${this.baseUrl}/initializationActivity`,void 0,void 0,{sessionId:this.sessionId});getConceptActivity=()=>this.networkClient.get(`${this.baseUrl}/conceptsActivity`,void 0,void 0,{sessionId:this.sessionId});execute=(e,t,i)=>this.networkClient.post(`${this.baseUrl}/${t}`,{extraParams:i,openFiles:e},void 0,void 0,{sessionId:this.sessionId,mode:this.mode,fastCompile:this.compilerMode});getExecutionActivity=()=>this.networkClient.get(`${this.baseUrl}/executionActivity`,void 0,void 0,{sessionId:this.sessionId});findFiles=(e,t)=>this.networkClient.get(`${this.baseUrl}/findPureFiles`,void 0,void 0,{file:e,regex:t});searchText=(e,t,i,s=2e3)=>this.networkClient.get(`${this.baseUrl}/findInSources`,void 0,void 0,{string:e,caseSensitive:t,regex:i,limit:s});getTextSearchPreview=e=>this.networkClient.post(`${this.baseUrl}/getTextSearchPreview`,e);checkTestRunner=e=>this.networkClient.get(`${this.baseUrl}/testRunnerCheck`,void 0,void 0,{sessionId:this.sessionId,testRunnerId:e});cancelTestRunner=e=>this.networkClient.get(`${this.baseUrl}/testRunnerCancel`,void 0,void 0,{sessionId:this.sessionId,testRunnerId:e});getConceptChildren=e=>this.networkClient.get(`${this.baseUrl}/execute`,void 0,void 0,{func:"meta::pure::ide::display_ide(String[1]):String[1]",param:e?`'${e}'`:`'${_T}'`,format:"raw",mode:this.mode,sessionId:this.sessionId});getConceptInfo=async(e,t,i)=>{const s=await this.networkClient.get(`${this.baseUrl}/getConceptInfo`,void 0,void 0,{file:e,line:t,column:i});if(s.error)throw new Error(s.text);return s};getUsages=async(e,t)=>{const i=await this.networkClient.get(`${this.baseUrl}/execute`,void 0,void 0,{func:e,param:t});return Array.isArray(i)?i:[i]};renameConcept=e=>this.networkClient.put(`${this.baseUrl}/renameConcept`,e);movePackageableElements=e=>this.networkClient.put(`${this.baseUrl}/movePackageableElements`,e);getPackageableElementsUsage=async e=>{const t=await this.networkClient.get(`${this.baseUrl}/execute`,void 0,void 0,{func:eS.MULTIPLE_PATHS,param:[`'${e.join(",")}'`]});return Array.isArray(t)?t:[t]};getChildPackageableElements=async e=>{const t=await this.networkClient.get(`${this.baseUrl}/execute`,void 0,void 0,{func:"meta::pure::ide::getChildPackageableElements_String_1__String_MANY_",param:[`'${e}'`]});return(Array.isArray(t)?t:[t]).map((e=>JSON.parse(e)))};getFile=e=>this.networkClient.get(`${this.baseUrl}/fileAsJson/${e}`,void 0,void 0,{sessionId:this.sessionId,mode:this.mode,fastCompile:this.compilerMode});getDirectoryChildren=e=>this.networkClient.get(`${this.baseUrl}/dir`,void 0,void 0,{parameters:e??"/",mode:this.mode,sessionId:this.sessionId});updateSource=e=>this.networkClient.put(`${this.baseUrl}/updateSource`,e);createFile=e=>this.networkClient.post(`${this.baseUrl}/newFile/${e}`,void 0,void 0,void 0,{sessionId:this.sessionId,mode:this.mode,fastCompile:this.compilerMode});createFolder=e=>this.networkClient.post(`${this.baseUrl}/newFolder/${e}`,void 0,void 0,void 0,{sessionId:this.sessionId,mode:this.mode,fastCompile:this.compilerMode});renameFile=(e,t)=>this.networkClient.put(`${this.baseUrl}/renameFile`,{oldPath:e,newPath:t},void 0);deleteDirectoryOrFile=e=>this.networkClient.delete(`${this.baseUrl}/deleteFile/${e}`,void 0,void 0,void 0,{sessionId:this.sessionId});getDiagramInfo=async e=>JSON.parse(await this.networkClient.get(`${this.baseUrl}/execute`,void 0,void 0,{func:"meta::pure::ide::diagram::getDiagramInfo_String_1__String_1_",param:[`'${e}'`]}));getDiagramClassInfo=async e=>JSON.parse(await this.networkClient.get(`${this.baseUrl}/execute`,void 0,void 0,{func:"meta::pure::ide::diagram::getDiagramClassInfo_String_1__String_1_",param:[`'${e}'`]}));getSuggestionsForIncompletePath=(e,t)=>this.networkClient.post(`${this.baseUrl}/suggestion/incompletePath`,{path:e,types:t});getSuggestionsForIdentifier=(e,t)=>this.networkClient.post(`${this.baseUrl}/suggestion/identifier`,{importPaths:e,types:t});getSuggestionsForAttribute=(e,t)=>this.networkClient.post(`${this.baseUrl}/suggestion/attribute`,{importPaths:e,path:t});getSuggestionsForClass=e=>this.networkClient.post(`${this.baseUrl}/suggestion/class`,{importPaths:e});getSuggestionsForVariable=(e,t,i)=>this.networkClient.post(`${this.baseUrl}/suggestion/variable`,{sourceId:e,line:t,column:i})}class lC{_initialDefaultSize;_tempSize;size;defaultSize;snapSize;maxSize;constructor(e){this.size=e.initial,this._tempSize=e.default,this.defaultSize=e.default,this._initialDefaultSize=e.default,this.snapSize=e.snap,(0,Ve.makeObservable)(this,{_tempSize:Ve.observable,size:Ve.observable,defaultSize:Ve.observable,snapSize:Ve.observable,maxSize:Ve.observable,isOpen:Ve.computed,isMaximizable:Ve.computed,isMaximized:Ve.computed,setSize:Ve.action,open:Ve.action,close:Ve.action,toggle:Ve.action,setMaxSize:Ve.action,maximize:Ve.action,minimize:Ve.action,toggleMaximize:Ve.action})}get isOpen(){return 0!==this.size}get isMaximizable(){return void 0!==this.maxSize}get isMaximized(){return void 0!==this.maxSize&&this.size===this.maxSize}setSize(e){e=Math.max(e,0),this.maxSize&&(e=Math.min(e,this.maxSize)),this.size!==e&&(void 0!==this.snapSize?e>this.size?this.maxSize&&e>this.maxSize-this.snapSize?this.size=this.maxSize:this.size=e<this.snapSize?this.defaultSize:e:this.size=e<this.snapSize?0:e:this.size=e)}open(){0===this.size&&(this.size=this._tempSize)}close(){0!==this.size&&(this._tempSize=this.size||this.defaultSize,this.size=0)}toggle(){0===this.size?this.open():this.close()}setMaxSize(e){this._tempSize=Math.min(this._tempSize,e),this.size=Math.min(this.size,e),this.defaultSize=Math.min(this._initialDefaultSize,e),this.maxSize=e}maximize(){void 0!==this.maxSize&&this.size!==this.maxSize&&(this._tempSize=this.size,this.size=this.maxSize)}minimize(){void 0!==this.maxSize&&this.size===this.maxSize&&(this.size=this._tempSize===this.maxSize?this.defaultSize:this._tempSize)}toggleMaximize(){void 0!==this.maxSize&&(this.size===this.maxSize?this.minimize():this.maximize())}}class dC{_UUID=(0,a.default)();tag;value;constructor(e,t){this.tag=e,this.value=t}get hashCode(){return Na([Ua.TAGGED_VALUE,this.tag.pointerHashCode,this.value])}}var uC;!function(e){e.NONE="NONE",e.SHARED="SHARED",e.COMPOSITE="COMPOSITE"}(uC||(uC={}));class pC{_UUID=(0,a.default)();_OWNER;value;constructor(e,t){this._OWNER=e,this.value=t}}class hC{_UUID=(0,a.default)();_OWNER;value;constructor(e,t){this._OWNER=e,this.value=t}}class mC{sourceId;line;column;startLine;startColumn;endLine;endColumn}(0,Ne.createModelSchema)(mC,{column:(0,Ne.primitive)(),endLine:(0,Ne.primitive)(),endColumn:(0,Ne.primitive)(),line:(0,Ne.primitive)(),sourceId:(0,Ne.primitive)(),startLine:(0,Ne.primitive)(),startColumn:(0,Ne.primitive)()});const gC=(0,Ne.custom)((()=>Ne.SKIP),(e=>(e.sourceId=e.source,(0,Ne.deserialize)(mC,e))));class fC{package;name;tags=[];stereotypes=[]}(0,Ne.createModelSchema)(fC,{name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),stereotypes:(0,Ne.list)((0,Ne.primitive)()),tags:(0,Ne.list)((0,Ne.primitive)())});class _C{profile;value}(0,Ne.createModelSchema)(_C,{profile:(0,Ne.primitive)(),value:(0,Ne.primitive)()});class bC{profile;value}(0,Ne.createModelSchema)(bC,{profile:(0,Ne.primitive)(),value:(0,Ne.primitive)()});class EC{tag;value}(0,Ne.createModelSchema)(EC,{tag:(0,Ne.object)(bC),value:(0,Ne.primitive)()});class vC{rawType;typeParameter}(0,Ne.createModelSchema)(vC,{rawType:(0,Ne.optional)((0,Ne.primitive)()),typeParameter:(0,Ne.optional)((0,Ne.primitive)())});class TC{name;stereotypes=[];taggedValues=[];aggregation;multiplicity;genericType}(0,Ne.createModelSchema)(TC,{aggregation:(0,Ne.primitive)(),genericType:(0,Ne.object)(vC),multiplicity:(0,Ne.primitive)(),name:(0,Ne.primitive)(),stereotypes:(0,Ne.list)((0,Ne.object)(_C)),taggedValues:(0,Ne.list)((0,Ne.object)(EC))});class SC{package;name;sourceInformation}(0,Ne.createModelSchema)(SC,{name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),sourceInformation:gC});class CC{package;name;sourceInformation;stereotypes=[];taggedValues=[];generalizations=[];properties=[];qualifiedProperties=[]}(0,Ne.createModelSchema)(CC,{generalizations:(0,Ne.list)((0,Ne.object)(vC)),name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),properties:(0,Ne.list)((0,Ne.object)(TC)),qualifiedProperties:(0,Ne.list)((0,Ne.object)(TC)),sourceInformation:gC,stereotypes:(0,Ne.list)((0,Ne.object)(_C)),taggedValues:(0,Ne.list)((0,Ne.object)(EC))});class yC{package;name;enumValues=[]}(0,Ne.createModelSchema)(yC,{name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),enumValues:(0,Ne.list)((0,Ne.primitive)())});class NC{x;y}(0,Ne.createModelSchema)(NC,{x:(0,Ne.primitive)(),y:(0,Ne.primitive)()});class AC{height;width}(0,Ne.createModelSchema)(AC,{height:(0,Ne.primitive)(),width:(0,Ne.primitive)()});class IC{points=[]}(0,Ne.createModelSchema)(IC,{points:(0,Ne.list)((0,Ne.object)(NC))});class xC{id;source;target;geometry}(0,Ne.createModelSchema)(xC,{geometry:(0,Ne.object)(IC),id:(0,Ne.primitive)(),source:(0,Ne.primitive)(),target:(0,Ne.primitive)()});class OC{name;owningType}(0,Ne.createModelSchema)(OC,{name:(0,Ne.primitive)(),owningType:(0,Ne.primitive)()});class wC{id;source;target;property;geometry}(0,Ne.createModelSchema)(wC,{geometry:(0,Ne.object)(IC),id:(0,Ne.primitive)(),property:(0,Ne.object)(OC),source:(0,Ne.primitive)(),target:(0,Ne.primitive)()});class RC{id;type;position;rectangleGeometry}(0,Ne.createModelSchema)(RC,{id:(0,Ne.primitive)(),position:(0,Ne.object)(NC),rectangleGeometry:(0,Ne.object)(AC),type:(0,Ne.primitive)()});class kC{package;name;stereotypes=[];taggedValues=[];generalizationViews=[];propertyViews=[];typeViews=[];sourceInformation}(0,Ne.createModelSchema)(kC,{name:(0,Ne.primitive)(),generalizationViews:(0,Ne.list)((0,Ne.object)(xC)),package:(0,Ne.primitive)(),propertyViews:(0,Ne.list)((0,Ne.object)(wC)),sourceInformation:gC,stereotypes:(0,Ne.list)((0,Ne.object)(_C)),taggedValues:(0,Ne.list)((0,Ne.object)(EC)),typeViews:(0,Ne.list)((0,Ne.object)(RC))});class PC{classes=[];enumerations=[];profiles=[]}(0,Ne.createModelSchema)(PC,{classes:(0,Ne.list)((0,Ne.object)(CC)),enumerations:(0,Ne.list)((0,Ne.object)(yC)),profiles:(0,Ne.list)((0,Ne.object)(fC))});class MC{name;diagram;domainInfo}(0,Ne.createModelSchema)(MC,{diagram:(0,Ne.object)(kC),name:(0,Ne.primitive)(),domainInfo:(0,Ne.optional)((0,Ne.object)(PC))});class LC{class;enumerations=[];profiles=[];specializations=[]}(0,Ne.createModelSchema)(LC,{class:(0,Ne.object)(CC),enumerations:(0,Ne.list)((0,Ne.object)(yC)),profiles:(0,Ne.list)((0,Ne.object)(fC)),specializations:(0,Ne.list)((0,Ne.object)(SC))});const FC=e=>{const t=e.classViews.map((e=>` TypeView ${e.id}(\n type=${e.class.value.path},\n position=(${e.position.x.toFixed(5)}, ${e.position.y.toFixed(5)}),\n width=${e.rectangle.width.toFixed(5)},\n height=${e.rectangle.height.toFixed(5)},\n stereotypesVisible=true,\n attributesVisible=true,\n attributeStereotypesVisible=true,\n attributeTypesVisible=true,\n color=#FFFFCC,\n lineWidth=1.0)`)),i=e.generalizationViews.map(((e,t)=>` GeneralizationView gview_${t}(\n source=${e.from.classView.value.id},\n target=${e.to.classView.value.id},\n points=[${e.buildFullPath().map((e=>`(${e.x.toFixed(5)},${e.y.toFixed(5)})`)).join(",")}],\n label='',\n color=#000000,\n lineWidth=-1.0,\n lineStyle=SIMPLE)`)),s=e.propertyViews.map(((e,t)=>` PropertyView pview_${t}(\n property=${e.property.value._OWNER.path}.${e.property.value.name},\n source=${e.from.classView.value.id},\n target=${e.to.classView.value.id},\n points=[${e.buildFullPath().map((e=>`(${e.x.toFixed(5)},${e.y.toFixed(5)})`)).join(",")}],\n label='',\n propertyPosition=(0.0,0.0),\n multiplicityPosition=(0.0,0.0),\n color=#000000,\n lineWidth=-1.0,\n stereotypesVisible=true,\n nameVisible=true,\n lineStyle=SIMPLE)`));return`Diagram ${e.path}(width=0.0, height=0.0)\n{\n${[...t,...i,...s].join("\n\n")}\n}`},DC=(e,t,i,s)=>{const n=t.getOwnNullableClass(e);if(!n){const[n,a]=bE(e),r=new Ka(a);return SE(AE(t.root,n,!0,new Map),r),t.setOwnType(e,r),i.set(e,{isStubbed:!0,sourceInformation:s}),r}return n},BC=e=>{if("*"===e)return new Jb(0,void 0);{const t=e.split("..");if(1===t.length)return new Jb(parseInt(W(t[0]),10),parseInt(W(t[0]),10));if(2===t.length)return new Jb(parseInt(W(t[0]),10),"*"===t[1]?void 0:parseInt(W(t[1]),10));throw new Error(`Can't parse multiplicity value '${e}'`)}},jC=(e,t,i,s)=>{t.taggedValues.forEach((t=>{M(e.taggedValues,new dC(cv.create(OE(i.getProfile(t.tag.profile),t.tag.value)),t.value))})),t.stereotypes.forEach((t=>{M(e.stereotypes,rv.create(wE(i.getProfile(t.profile),t.value)))})),t.generalizations.filter((e=>Boolean(e.rawType))).forEach((t=>{const n=DC(W(t.rawType),i,s,void 0);M(e.generalizations,qb.create(new Qb(n))),M(n._subclasses,e)})),t.properties.filter((e=>Boolean(e.genericType.rawType))).forEach((t=>{const n=new Kb(t.name,BC(t.multiplicity),qb.create(new Qb(i.getOwnNullableEnumeration(W(t.genericType.rawType))??DC(W(t.genericType.rawType),i,s,void 0))),e);n.aggregation="Composite"===t.aggregation?uC.COMPOSITE:"Shared"===t.aggregation?uC.SHARED:void 0,M(e.properties,n)})),t.qualifiedProperties.filter((e=>e.genericType.rawType)).forEach((t=>{M(e.derivedProperties,new TE(t.name,BC(t.multiplicity),qb.create(new Qb(i.getOwnNullableEnumeration(W(t.genericType.rawType))??DC(W(t.genericType.rawType),i,s,void 0))),e))}))},UC=e=>{const t=new nv(new tv([]),new iv([]),[]),i=new Map;if(e.domainInfo){const s=e.domainInfo;s.classes.forEach((e=>{const s=new Ka(e.name);SE(AE(t.root,e.package,!0,new Map),s),t.setOwnType(s.path,s),i.set(s.path,{sourceInformation:e.sourceInformation,isStubbed:!1})})),s.profiles.forEach((e=>{const i=new tE(e.name);SE(AE(t.root,e.package,!0,new Map),i),t.setOwnProfile(i.path,i),e.tags.forEach((e=>M(i.p_tags,new pC(i,e)))),e.stereotypes.forEach((e=>M(i.p_stereotypes,new hC(i,e))))})),s.enumerations.forEach((e=>{const i=new Xa(e.name);SE(AE(t.root,e.package,!0,new Map),i),t.setOwnType(i.path,i)})),s.classes.forEach((e=>{const s=`${e.package}${""===e.package?"":Ia}${e.name}`,n=t.getClass(s);jC(n,e,t,i)}))}const s=e.diagram,n=new Tp(s.name);return SE(AE(t.root,s.package,!0,new Map),n),s.typeViews.forEach((e=>{const i=new Fv(n,e.id,rr.create(t.getClass(e.type)));i.position=new Pv(e.position.x,e.position.y),i.rectangle=new Mv(e.rectangleGeometry.width,e.rectangleGeometry.height),M(n.classViews,i)})),s.propertyViews.forEach((e=>{const i=new Gv(n,dv.create(ME(t.getClass(e.property.owningType),e.property.name)),W(n.classViews.find((t=>t.id===e.source))),W(n.classViews.find((t=>t.id===e.target))));i.path=e.geometry.points.map((e=>new Pv(e.x,e.y))),Kv(i),M(n.propertyViews,i)})),s.generalizationViews.forEach((e=>{const t=new zv(n,W(n.classViews.find((t=>t.id===e.source))),W(n.classViews.find((t=>t.id===e.target))));t.path=e.geometry.points.map((e=>new Pv(e.x,e.y))),Kv(t),M(n.generalizationViews,t)})),[n,t,i]};var VC,GC,zC;!function(e){e.PROFILE="Profile",e.CLASS="Class",e.ENUMERATION="Enum",e.MEASURE="Measure",e.ASSOCIATION="Association",e.FUNCTION="function",e.MAPPING="Mapping",e.FLAT_DATA="FlatData",e.DATABASE="Database",e.SERVICE="Service",e.RUNTIME="Runtime",e.CONNECTION="Connection",e.FILE_GENERATION="FileGeneration",e.GENERATION_SPECIFICATION="GenerationSpecification",e.DATA_ELEMENT="Data",e.EXECUTION_ENVIRONMENT="ExecutionEnvironment"}(VC||(VC={})),function(e){e.JSON_MODEL_CONNECTION="JsonModelConnection",e.XML_MODEL_CONNECTION="XmlModelConnection",e.MODEL_CHAIN_CONNECTION="ModelChainConnection",e.RELATIONAL_DATABASE_CONNECTION="RelationalDatabaseConnection",e.FLAT_DATA_CONNECTION="FlatDataConnection"}(GC||(GC={})),function(e){e.PURE="Pure",e.CONNECTION="Connection",e.RUNTIME="Runtime",e.MAPPING="Mapping",e.SERVICE="Service",e.FLATDATA="FlatData",e.RELATIONAL="Relational",e.GENERATION_SPECIFICATION="GenerationSpecification",e.FILE_GENERATION_SPECIFICATION="FileGeneration",e.DATA="Data"}(zC||(zC={}));const HC=(e,t)=>e===t?e.toString():0===e&&void 0===t?Aa:`${e}..${t??Aa}`;class $C extends Vv{association;constructor(e,t,i,s,n){super(e,i,s,n),this.association=t}get hashCode(){return Na([vp.ASSOCIATION_VIEW,super.hashCode,this.association.valueForSerialization??""])}}const YC=(0,Ve.action)(((e,t)=>{e.value=t})),WC=((0,Ve.action)(((e,t)=>{F(e.properties,t)})),(0,Ve.action)(((e,t)=>{M(e.properties,qu(t))}))),KC=((0,Ve.action)(((e,t,i)=>{L(e.properties,t,i)})),(0,Ve.action)(((e,t)=>{F(e.derivedProperties,t)})),(0,Ve.action)(((e,t)=>{M(e.derivedProperties,Qu(t))})),(0,Ve.action)(((e,t,i)=>{L(e.derivedProperties,t,i)})),(0,Ve.action)(((e,t)=>{M(e.constraints,ep(t))})),(0,Ve.action)(((e,t)=>{F(e.constraints,t)})),(0,Ve.action)(((e,t,i)=>{L(e.constraints,t,i)})),(0,Ve.action)(((e,t)=>{M(e.generalizations,Uu(t))}))),JC=((0,Ve.action)(((e,t)=>{F(e.generalizations,t)})),(0,Ve.action)(((e,t,i)=>{L(e.generalizations,t,i)})),(0,Ve.action)(((e,t)=>{M(e._subclasses,t)})),(0,Ve.action)(((e,t)=>{F(e._subclasses,t)})),(0,Ve.action)(((e,t)=>{Uu(e),ju(t),e.value=t,e.ownerReference.value=t.rawType}))),XC=((0,Ve.action)(((e,t)=>{e.name=t})),(0,Ve.action)(((e,t)=>{JC(e.genericType,ju(t))})),(0,Ve.action)(((e,t)=>{e.multiplicity=t})),(0,Ve.action)(((e,t)=>{e.aggregation=t})),(0,Ve.action)(((e,t)=>{e.value=zu(t),YC(e.ownerReference,t._OWNER)})),(0,Ve.action)(((e,t)=>{M(e.taggedValues,Bu(t))})),(0,Ve.action)(((e,t)=>{F(e.taggedValues,t)})),(0,Ve.action)(((e,t)=>{M(e.stereotypes,Fu(t))})),(0,Ve.action)(((e,t)=>{F(e.stereotypes,t)})),(0,Ve.action)(((e,t)=>{e.tag.value=Hu(t),e.tag.ownerReference.value=t._OWNER})),(0,Ve.action)(((e,t)=>{e.value=t})),(0,Ve.action)(((e,t)=>{e.value=t})),(0,Ve.action)(((e,t,i)=>{L(e.taggedValues,t,i)})),(0,Ve.action)(((e,t,i)=>{L(e.stereotypes,t,i)})),(0,Ve.action)(((e,t)=>{e.name=t})),(0,Ve.action)(((e,t)=>{e.functionDefinition=Nr(t)})),(0,Ve.action)(((e,t)=>{M(e.p_tags,Hu(t))})),(0,Ve.action)(((e,t)=>{F(e.p_tags,t)})),(0,Ve.action)(((e,t)=>{M(e.p_stereotypes,zu(t))})),(0,Ve.action)(((e,t)=>{F(e.p_stereotypes,t)})),(0,Ve.action)(((e,t,i)=>{L(e.p_tags,t,i)})),(0,Ve.action)(((e,t,i)=>{L(e.p_stereotypes,t,i)})),(0,Ve.action)(((e,t)=>{F(e.parameters,t)})),(0,Ve.action)(((e,t)=>{M(e.parameters,Ar(t))})),(0,Ve.action)(((e,t)=>{YC(e.returnType,dp(t))})),(0,Ve.action)(((e,t)=>{e.returnMultiplicity=t})),(0,Ve.action)(((e,t,i)=>{L(e.parameters,t,i)})),(0,Ve.action)(((e,t)=>{e.content=t})),(0,Ve.action)(((e,t,i)=>{e.data=ql(t,i)})),(0,Ve.action)(((e,t)=>{F(e.testData??[],t)})),(0,Ve.action)(((e,t,i)=>{M(e.tests,rp(t,i))})),(0,Ve.action)(((e,t)=>{e.value=t})),(0,Ve.action)(((e,t)=>{e.parameters=t.map(sp)})),(0,Ve.action)(((e,t)=>{F(e.parameters??[],t)})),(0,Ve.action)(((e,t)=>{e.parameters?.push(sp(t))})),(0,Ve.action)(((e,t)=>{e.name=t})),(0,Ve.action)(((e,t)=>{e.name=t})),(0,Ve.action)(((e,t)=>{M(e.values,Yu(t))})),(0,Ve.action)(((e,t)=>{F(e.values,t)})),(0,Ve.action)(((e,t,i)=>{L(e.values,t,i)})),(0,Ve.action)(((e,t)=>{e.value=Yu(t),YC(e.ownerReference,t._OWNER)})),(0,Ve.action)(((e,t,i)=>{const s=RE(e,t),n=X(t.genericType.ownerReference.value,Ka,`Association property '${t.name}' must be of type 'class'`);var a;((a=n).package||a.name)&&Z(F(n.propertiesFromAssociations,s),`Can't find property '${s.name}' from association '${e.path}' in associated class '${n.path}'`),M(i.propertiesFromAssociations,s);const r=new Qb(i);t.genericType.value=r,t.genericType.ownerReference.value=r.rawType})),(0,Ve.action)(((e,t)=>{e.canonicalUnit=Ju(t)})),(0,Ve.action)(((e,t)=>{e.conversionFunction=Nr(t)})),(0,Ve.action)(((e,t)=>{e.classViews=t.map(hp)}))),qC=(0,Ve.action)(((e,t)=>{M(e.classViews,hp(t))})),QC=(0,Ve.action)(((e,t)=>{F(e.classViews,t)})),ZC=(0,Ve.action)(((e,t)=>{e.associationViews=t.map(_p)})),ey=(0,Ve.action)(((e,t)=>{F(e.associationViews,t)})),ty=(0,Ve.action)(((e,t)=>{e.generalizationViews=t.map(fp)})),iy=(0,Ve.action)(((e,t)=>{M(e.generalizationViews,fp(t))})),sy=(0,Ve.action)(((e,t)=>{F(e.generalizationViews,t)})),ny=(0,Ve.action)(((e,t)=>{e.propertyViews=t.map(bp)})),ay=(0,Ve.action)(((e,t)=>{M(e.propertyViews,bp(t))})),ry=(0,Ve.action)(((e,t)=>{F(e.propertyViews,t)})),oy=(0,Ve.action)(((e,t)=>{e.hideProperties=t})),cy=(0,Ve.action)(((e,t)=>{e.hideStereotypes=t})),ly=(0,Ve.action)(((e,t)=>{e.hideTaggedValues=t})),dy=(0,Ve.action)(((e,t)=>{e._offsetX=t})),uy=(0,Ve.action)(((e,t)=>{e._offsetY=t})),py=(0,Ve.action)(((e,t,i)=>{((e,t,i,s=((e,t)=>e===t))=>{const n=e.findIndex((e=>s(e,t)));-1!==n&&(e[n]=i)})(e.path,t,i)})),hy=(0,Ve.action)(Kv),my=(0,Ve.action)(((e,t,i,s,n)=>{for(const n of e.path)if(Math.sqrt((t-n.x)*(t-n.x)+(i-n.y)*(i-n.y))<10/s)return n;const a=e.buildFullPath(n),r=[];let o;for(let e=0;e<a.length-1;e++){const n=a[e],c=a[e+1],l=new Hv(n.x,n.y).normal(new Hv(c.x,c.y)).unit(),d=Hv.fromPoints(n,new Pv(t,i));if(Math.abs(l.dotProduct(d))<5/s){const e=(n.x<c.x?n.x:c.x)-5/s,a=(n.x<c.x?c.x:n.x)+5/s,l=(n.y<c.y?n.y:c.y)-5/s,d=(n.y<c.y?c.y:n.y)+5/s;e<=t&&t<=a&&l<=i&&i<=d&&(o=new Pv(t,i),r.push(o))}e<a.length-2&&r.push(a[e+1])}return o&&n&&Wv(e,r),o})),gy=(0,Ve.action)(Wv),fy=(0,Ve.action)(((e,t)=>{e.rectangle=t})),_y=(0,Ve.action)(((e,t)=>{e.position=t})),by=(0,Ve.action)((e=>{e._dummyObservable={}}));var Ey,vy,Ty;!function(e){e[e.LAYOUT=0]="LAYOUT",e[e.PAN=1]="PAN",e[e.ZOOM_IN=2]="ZOOM_IN",e[e.ZOOM_OUT=3]="ZOOM_OUT",e[e.ADD_RELATIONSHIP=4]="ADD_RELATIONSHIP",e[e.ADD_CLASS=5]="ADD_CLASS"}(Ey||(Ey={})),function(e){e[e.PROPERTY=0]="PROPERTY",e[e.INHERITANCE=1]="INHERITANCE",e[e.NONE=2]="NONE"}(vy||(vy={})),function(e){e[e.ALIGN_LEFT=0]="ALIGN_LEFT",e[e.ALIGN_CENTER=1]="ALIGN_CENTER",e[e.ALIGN_RIGHT=2]="ALIGN_RIGHT",e[e.ALIGN_TOP=3]="ALIGN_TOP",e[e.ALIGN_MIDDLE=4]="ALIGN_MIDDLE",e[e.ALIGN_BOTTOM=5]="ALIGN_BOTTOM",e[e.SPACE_HORIZONTALLY=6]="SPACE_HORIZONTALLY",e[e.SPACE_VERTICALLY=7]="SPACE_VERTICALLY"}(Ty||(Ty={}));const Sy=.05,Cy=[50,75,90,100,110,125,150,200,250,300,400],yy=e=>(e instanceof TE?"/ ":"")+e.name;class Ny{diagram;isReadOnly;enableLayoutAutoAdjustment;div;canvas;ctx;canvasDimension;canvasCenter;virtualScreen;screenOffset;zoom;interactionMode;relationshipMode;triangle;diamond;fontFamily;fontSize;lineHeight;truncateText;maxLineLength;screenPadding;classViewSpaceX;classViewSpaceY;propertySpacing;showScreenGrid;showScreenBoxGuide;screenGridAxisTickLength;screenGridSpacingX;screenGridSpacingY;screenGridLineWidth;screenGridLineColor;screenGridLabelTextColor;screenGuideLineColor;screenGuideLabelTextColor;showCanvasGrid;showCanvasBoxGuide;showScreenOffsetGuide;canvasGridAxisTickLength;canvasGridSpacingX;canvasGridSpacingY;canvasGridLineWidth;canvasGridLineColor;canvasGridLabelTextColor;canvasGuideLineColor;canvasGuideLabelTextColor;screenOffsetGuideLineColor;screenOffsetGuideLabelTextColor;defaultLineWidth;defaultLineColor;canvasColor;backgroundColor;classViewFillColor;classViewHeaderTextColor;classViewPropertyTextColor;classViewPrimitivePropertyTextColor;classViewDerivedPropertyTextColor;relationshipViewTextColor;propertyViewOwnedDiamondColor;propertyViewSharedDiamondColor;generalizationViewInheritanceTriangeFillColor;selectionBoxBorderColor;selection;selectionStart;selectedClassCorner;selectedClassProperty;selectedClasses;selectedPropertyOrAssociation;selectedInheritance;selectedPoint;_selectedClassesInitialPositions;startClassView;handleAddRelationship;mouseOverClassCorner;mouseOverClassName;mouseOverClassView;mouseOverClassProperty;mouseOverPropertyHolderViewLabel;cursorPosition;leftClick;middleClick;rightClick;clickX;clickY;positionBeforeLastMove;onAddClassViewClick=()=>{};onClassViewRightClick=()=>{};onBackgroundDoubleClick;onClassViewDoubleClick;onClassNameDoubleClick;onClassPropertyDoubleClick;handleEditClassView=()=>{};handleEditProperty=()=>{};handleAddSimpleProperty=()=>{};constructor(e,t){(0,Ve.makeObservable)(this,{isReadOnly:Ve.observable,enableLayoutAutoAdjustment:Ve.observable,interactionMode:Ve.observable,relationshipMode:Ve.observable,zoom:Ve.observable,mouseOverClassView:Ve.observable,mouseOverClassName:Ve.observable,mouseOverClassCorner:Ve.observable,mouseOverClassProperty:Ve.observable,mouseOverPropertyHolderViewLabel:Ve.observable,selectionStart:Ve.observable,selectedClassCorner:Ve.observable,selectedClasses:Ve.observable,selectedPropertyOrAssociation:Ve.observable,selectedInheritance:Ve.observable,leftClick:Ve.observable,middleClick:Ve.observable,rightClick:Ve.observable,changeMode:Ve.action,setIsReadOnly:Ve.action,setEnableLayoutAutoAdjustment:Ve.action,setMouseOverClassView:Ve.action,setMouseOverClassName:Ve.action,setMouseOverClassCorner:Ve.action,setMouseOverClassProperty:Ve.action,setMouseOverPropertyHolderViewLabel:Ve.action,setSelectionStart:Ve.action,setSelectedClassCorner:Ve.action,setSelectedClasses:Ve.action,setSelectedPropertyOrAssociation:Ve.action,setSelectedInheritance:Ve.action,setLeftClick:Ve.action,setMiddleClick:Ve.action,setRightClick:Ve.action,setZoomLevel:Ve.action,align:Ve.action}),this.diagram=t,this.div=e,this.div.childNodes.forEach((e=>this.div.removeChild(e))),this.canvas=document.createElement("canvas"),this.canvasDimension=new Mv(this.div.offsetWidth,this.div.offsetHeight),this.canvasCenter=new Pv(this.canvasDimension.width/2,this.canvasDimension.height/2),this.canvas.width=this.canvasDimension.width,this.canvas.height=this.canvasDimension.height,this.canvas.style.position="absolute",this.canvas.style.left="0",this.canvas.style.top="0",this.div.appendChild(this.canvas),this.ctx=this.canvas.getContext("2d"),this.screenOffset=new Pv(0,0),this.virtualScreen=new Lv(new Pv(0,0),new Mv(0,0)),this.zoom=1,this.triangle=[new Pv(0,0),new Pv(-15,-10),new Pv(-15,10)],this.diamond=[new Pv(0,0),new Pv(-10,-5),new Pv(-20,0),new Pv(-10,5)],this.fontFamily="Arial",this.fontSize=12,this.lineHeight=14,this.truncateText=!0,this.maxLineLength=40,this.showScreenGrid=!1,this.showScreenBoxGuide=!0,this.screenGridAxisTickLength=50,this.screenGridSpacingX=100,this.screenGridSpacingY=100,this.screenGridLineWidth=.5,this.showCanvasGrid=!1,this.showCanvasBoxGuide=!0,this.showScreenOffsetGuide=!0,this.canvasGridAxisTickLength=50,this.canvasGridSpacingX=100,this.canvasGridSpacingY=100,this.canvasGridLineWidth=.5,this.defaultLineWidth=1,this.screenGridLineColor="rgba(61,126,154,0.56)",this.screenGridLabelTextColor="rgba(61,126,154,0.56)",this.screenGuideLineColor="red",this.screenGuideLabelTextColor="red",this.canvasGridLineColor="green",this.canvasGridLabelTextColor="green",this.canvasGuideLineColor="orange",this.canvasGuideLabelTextColor="orange",this.screenOffsetGuideLineColor="purple",this.screenOffsetGuideLabelTextColor="purple",this.defaultLineColor="rgb(0,0,0)",this.canvasColor="rgb(220,220,220)",this.backgroundColor="rgb(255,255,255)",this.classViewFillColor="rgb(185,185,185)",this.classViewHeaderTextColor="rgb(0,0,0)",this.classViewPropertyTextColor="rgb(0,0,0)",this.classViewPrimitivePropertyTextColor="rgb(255,255,255)",this.classViewDerivedPropertyTextColor="rgb(100,100,100)",this.relationshipViewTextColor="rgb(0,0,0)",this.propertyViewSharedDiamondColor="rgb(255,255,255)",this.propertyViewOwnedDiamondColor="rgb(0,0,0)",this.generalizationViewInheritanceTriangeFillColor="rgb(255,255,255)",this.selectionBoxBorderColor="rgba(0,0,0, 0.02)",this.interactionMode=Ey.LAYOUT,this.relationshipMode=vy.NONE,this.isReadOnly=!1,this.enableLayoutAutoAdjustment=!1,this.screenPadding=20,this.classViewSpaceX=10,this.classViewSpaceY=4,this.propertySpacing=10,this.selectionStart=void 0,this.selection=void 0,this.selectedClasses=[],this._selectedClassesInitialPositions=[],this.cursorPosition=new Pv(0,0),this.leftClick=!1,this.middleClick=!1,this.rightClick=!1,this.clickX=0,this.clickY=0,this.positionBeforeLastMove=new Pv(0,0),this.div.onwheel=this.mousewheel.bind(this),this.div.onmousedown=this.mousedown.bind(this),this.div.onkeydown=this.keydown.bind(this),this.div.ondblclick=this.mousedblclick.bind(this),this.div.onmouseup=this.mouseup.bind(this),this.div.onmousemove=this.mousemove.bind(this)}setIsReadOnly(e){this.isReadOnly=e}setEnableLayoutAutoAdjustment(e){this.enableLayoutAutoAdjustment=e}setMouseOverClassView(e){this.mouseOverClassView=e}setMouseOverClassName(e){this.mouseOverClassName=e}setMouseOverClassCorner(e){this.mouseOverClassCorner=e}setMouseOverClassProperty(e){this.mouseOverClassProperty=e}setMouseOverPropertyHolderViewLabel(e){this.mouseOverPropertyHolderViewLabel=e}setSelectionStart(e){this.selectionStart=e}setSelectedClassCorner(e){this.selectedClassCorner=e}setSelectedClasses(e){this.selectedClasses=e}setSelectedPropertyOrAssociation(e){this.selectedPropertyOrAssociation=e}setSelectedInheritance(e){this.selectedInheritance=e}setLeftClick(e){this.leftClick=e}setMiddleClick(e){this.middleClick=e}setRightClick(e){this.rightClick=e}setZoomLevel(e){this.zoom=e}render(e){this.diagram.classViews.forEach((e=>this.ensureClassViewMeetMinDimensions(e))),this.refresh(),e?.initial&&(this.autoRecenter(),(this.canvas.width<this.virtualScreen.rectangle.width+2*this.screenPadding+20||this.canvas.height<this.virtualScreen.rectangle.height+2*this.screenPadding+20)&&this.zoomToFit())}refresh(){this.refreshCanvas(),this.drawScreen()}refreshCanvas(){this.canvasDimension=new Mv(this.div.offsetWidth,this.div.offsetHeight),this.canvasCenter=new Pv(this.canvasDimension.width/2,this.canvasDimension.height/2),this.canvas.width=this.canvasDimension.width,this.canvas.height=this.canvasDimension.height}clearScreen(){this.ctx.fillStyle=this.canvasColor,this.ctx.fillRect(0,0,this.canvasDimension.width,this.canvasDimension.height)}drawScreen(){this.manageVirtualScreen(),this.clearScreen(),this.drawAll()}autoRecenter(){this.center(this.virtualScreen.position.x+this.virtualScreen.rectangle.width/2,this.virtualScreen.position.y+this.virtualScreen.rectangle.height/2)}center(e,t){this.screenOffset=new Pv(-e+this.canvasCenter.x,-t+this.canvasCenter.y),this.refresh()}changeMode(e,t){switch(e){case Ey.LAYOUT:case Ey.PAN:case Ey.ZOOM_IN:case Ey.ZOOM_OUT:case Ey.ADD_CLASS:if(t!==vy.NONE)throw new U(`Can't change to '${e}' mode: relationship mode should not be specified in layout mode`);break;case Ey.ADD_RELATIONSHIP:if(t===vy.NONE)throw new U("Can't switch to relationship mode: relationship mode is not specified");break;default:throw new V(`Can't switch to mode '${e}': unsupported mode`)}if(this.interactionMode=e,this.relationshipMode=t,e===Ey.ADD_RELATIONSHIP)switch(t){case vy.INHERITANCE:this.handleAddRelationship=(e,t)=>{if(e.class.value===t.class.value||kE(e.class.value).includes(t.class.value)||kE(t.class.value).includes(e.class.value)||KC(e.class.value,qb.create(new Qb(t.class.value))),e.class.value.generalizations.find((e=>e.value.rawType===t.class.value))){const i=new zv(this.diagram,e,t);return iy(this.diagram,i),i}};break;case vy.PROPERTY:this.handleAddRelationship=(e,t)=>{const i=new Kb(`property_${e.class.value.properties.length+1}`,Jb.ONE,qb.create(new Qb(t.class.value)),e.class.value);if(WC(e.class.value,i),e!==t){const s=new Gv(this.diagram,dv.create(i),e,t);return ay(this.diagram,s),s}};break;default:throw new V(`Can't switch to relationship mode '${t}': unsupported mode`)}}align(e){if(!(this.selectedClasses.length<2)){switch(e){case Ty.ALIGN_LEFT:{const e=this.selectedClasses.reduce(((e,t)=>Math.min(e,t.position.x)),Number.MAX_SAFE_INTEGER);this.selectedClasses.forEach((t=>_y(t,new Pv(e,t.position.y))));break}case Ty.ALIGN_CENTER:{const e=this.selectedClasses.reduce(((e,t)=>e+t.position.x+t.rectangle.width/2),0)/this.selectedClasses.length;this.selectedClasses.forEach((t=>_y(t,new Pv(e-t.rectangle.width/2,t.position.y))));break}case Ty.ALIGN_RIGHT:{const e=this.selectedClasses.reduce(((e,t)=>Math.max(e,t.position.x+t.rectangle.width)),-Number.MAX_SAFE_INTEGER);this.selectedClasses.forEach((t=>_y(t,new Pv(e-t.rectangle.width,t.position.y))));break}case Ty.ALIGN_TOP:{const e=this.selectedClasses.reduce(((e,t)=>Math.min(e,t.position.y)),Number.MAX_SAFE_INTEGER);this.selectedClasses.forEach((t=>_y(t,new Pv(t.position.x,e))));break}case Ty.ALIGN_MIDDLE:{const e=this.selectedClasses.reduce(((e,t)=>e+t.position.y+t.rectangle.height/2),0)/this.selectedClasses.length;this.selectedClasses.forEach((t=>_y(t,new Pv(t.position.x,e-t.rectangle.height/2))));break}case Ty.ALIGN_BOTTOM:{const e=this.selectedClasses.reduce(((e,t)=>Math.max(e,t.position.y+t.rectangle.height)),-Number.MAX_SAFE_INTEGER);this.selectedClasses.forEach((t=>_y(t,new Pv(t.position.x,e-t.rectangle.height))));break}case Ty.SPACE_HORIZONTALLY:{const e=this.selectedClasses.slice().sort(((e,t)=>e.position.x-t.position.x));if(2===e.length){const t=e[0],i=e[1];_y(i,new Pv(t.position.x+t.rectangle.width,i.position.y))}else{const t=[];for(let i=1;i<e.length;i++){const s=e[i-1],n=e[i];t.push(n.position.x-(s.position.x+s.rectangle.width))}const i=t.reduce(((e,t)=>e+t),0)/t.length;for(let t=1;t<e.length;t++){const s=e[t-1],n=e[t];_y(n,new Pv(s.position.x+s.rectangle.width+i,n.position.y))}}break}case Ty.SPACE_VERTICALLY:{const e=this.selectedClasses.slice().sort(((e,t)=>e.position.y-t.position.y));if(2===e.length){const t=e[0],i=e[1];_y(i,new Pv(i.position.x,t.position.y+t.rectangle.height))}else{const t=[];for(let i=1;i<e.length;i++){const s=e[i-1],n=e[i];t.push(n.position.y-(s.position.y+s.rectangle.height))}const i=t.reduce(((e,t)=>e+t),0)/t.length;for(let t=1;t<e.length;t++){const s=e[t-1],n=e[t];_y(n,new Pv(n.position.x,s.position.y+s.rectangle.height+i))}}break}}this.drawScreen()}}truncateTextWithEllipsis(e,t=this.maxLineLength){return e.length>t?`${e.substring(0,t+1-3)}...`:e}canvasCoordinateToModelCoordinate(e){return new Pv((e.x-this.canvasCenter.x)/this.zoom-this.screenOffset.x+this.canvasCenter.x,(e.y-this.canvasCenter.y)/this.zoom-this.screenOffset.y+this.canvasCenter.y)}modelCoordinateToCanvasCoordinate(e){return new Pv((e.x-this.canvasCenter.x+this.screenOffset.x)*this.zoom+this.canvasCenter.x,(e.y-this.canvasCenter.y+this.screenOffset.y)*this.zoom+this.canvasCenter.y)}resolveMouseEventCoordinate(e){if(e.target instanceof HTMLElement){const t=$v(e.target);return new Pv(t.x+e.offsetX,t.y+e.offsetY)}return new Pv(e.x,e.y)}eventCoordinateToCanvasCoordinate(e){return new Pv(e.x-this.divPosition.x+this.div.scrollLeft,e.y-this.divPosition.y+this.div.scrollTop)}canvasCoordinateToEventCoordinate(e){return new Pv(e.x-this.div.scrollLeft+this.divPosition.x,e.y-this.div.scrollTop+this.divPosition.y)}hasPropertyView(e,t){return this.diagram.propertyViews.filter((i=>i.property.value===t&&i.from.classView.value===e)).length>0}get divPosition(){return $v(this.div)}manageVirtualScreen(){if(this.diagram.classViews.length){const e=W(this.diagram.classViews[0]);let t=e.position.x,i=e.position.y,s=e.position.x+e.rectangle.width,n=e.position.y+e.rectangle.height;for(const e of this.diagram.classViews)t=Math.min(t,e.position.x),i=Math.min(i,e.position.y),s=Math.max(s,e.position.x+e.rectangle.width),n=Math.max(n,e.position.y+e.rectangle.height);const a=this.diagram.associationViews.concat(this.diagram.generalizationViews).concat(this.diagram.propertyViews);for(const e of a){const a=Uv.pruneUnnecessaryInsidePoints(e.buildFullPath(),e.from.classView.value,e.to.classView.value);if(e instanceof Gv){const r=this.drawLinePropertyText(W(a[a.length-2],"Diagram path expected to have at least 2 points"),W(a[a.length-1],"Diagram path expected to have at least 2 points"),e.to.classView.value,e.property.value,!1);t=Math.min(t,r.position.x),i=Math.min(i,r.position.y),s=Math.max(s,qv(r).x),n=Math.max(n,qv(r).y)}for(const a of e.path)t=Math.min(t,a.x),i=Math.min(i,a.y),s=Math.max(s,a.x),n=Math.max(n,a.y)}this.virtualScreen=new Lv(new Pv(t,i),new Mv(s-t,n-i))}else this.setZoomLevel(1),this.screenOffset=new Pv(0,0),this.virtualScreen=new Lv(new Pv(this.canvasDimension.width/2,this.canvasDimension.height/2),new Mv(0,0))}executeZoom(e,t){e=Math.max(e,Sy);const i=this.zoom;this.setZoomLevel(e),this.screenOffset=new Pv(((t.x-this.canvasCenter.x)*(i-e)+this.screenOffset.x*i)/e,((t.y-this.canvasCenter.y)*(i-e)+this.screenOffset.y*i)/e),this.clearScreen(),this.drawAll()}zoomPoint(e,t){this.executeZoom(e,t)}zoomCenter(e){this.setZoomLevel(Math.max(e,Sy)),this.clearScreen(),this.drawAll()}zoomToFit(){this.autoRecenter(),this.zoomCenter(Math.max(Math.min(this.canvas.width/(this.virtualScreen.rectangle.width+2*this.screenPadding+20),this.canvas.height/(this.virtualScreen.rectangle.height+2*this.screenPadding+20)),Sy))}addClassView(e,t){if(!this.isReadOnly){const i=this.diagram.classViews.map((e=>e.id));let s=(0,a.default)();for(;i.includes(s);)s=(0,a.default)();const n=new Fv(this.diagram,s,rr.create(e));return _y(n,t??this.canvasCoordinateToModelCoordinate(new Pv(this.virtualScreen.position.x+this.virtualScreen.rectangle.width/2,this.virtualScreen.position.y+this.virtualScreen.rectangle.height/2))),qC(this.diagram,n),by(n),this.diagram.classViews.filter((t=>t.class.value!==e)).forEach((t=>{const i=t.class.value;e.generalizations.map((e=>e.value.rawType)).includes(i)&&iy(this.diagram,new zv(this.diagram,n,t)),i.generalizations.map((e=>e.value.rawType)).includes(e)&&iy(this.diagram,new zv(this.diagram,t,n)),PE(e).forEach((e=>{e.genericType.value.rawType===i&&ay(this.diagram,new Gv(this.diagram,dv.create(e),n,t))})),PE(i).forEach((i=>{i.genericType.value.rawType===e&&ay(this.diagram,new Gv(this.diagram,dv.create(i),t,n))}))})),this.drawClassView(n),this.drawScreen(),n}}drawBoundingBox(){this.ctx.fillStyle=this.backgroundColor,this.ctx.lineWidth=1,this.ctx.fillRect((this.virtualScreen.position.x+this.screenOffset.x-this.canvasCenter.x-this.screenPadding)*this.zoom+this.canvasCenter.x,(this.virtualScreen.position.y+this.screenOffset.y-this.canvasCenter.y-this.screenPadding)*this.zoom+this.canvasCenter.y,(this.virtualScreen.rectangle.width+2*this.screenPadding)*this.zoom,(this.virtualScreen.rectangle.height+2*this.screenPadding)*this.zoom),this.ctx.strokeRect((this.virtualScreen.position.x+this.screenOffset.x-this.canvasCenter.x-this.screenPadding)*this.zoom+this.canvasCenter.x,(this.virtualScreen.position.y+this.screenOffset.y-this.canvasCenter.y-this.screenPadding)*this.zoom+this.canvasCenter.y,(this.virtualScreen.rectangle.width+2*this.screenPadding)*this.zoom,(this.virtualScreen.rectangle.height+2*this.screenPadding)*this.zoom)}drawDiagram(){this.diagram.associationViews.forEach((e=>this.drawPropertyOrAssociation(e))),this.diagram.generalizationViews.forEach((e=>this.drawInheritance(e))),this.diagram.propertyViews.forEach((e=>this.drawPropertyOrAssociation(e))),this.diagram.classViews.forEach((e=>this.drawClassView(e))),this.showCanvasGrid&&this.drawCanvasGrid(),this.showScreenGrid&&this.drawScreenGrid()}drawAll(){this.drawBoundingBox(),this.drawDiagram()}drawScreenGrid(){const e=(this.virtualScreen.position.x+this.screenOffset.x-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,t=(this.virtualScreen.position.y+this.screenOffset.y-this.canvasCenter.y)*this.zoom+this.canvasCenter.y,i=(this.virtualScreen.rectangle.width+2*this.screenPadding)*this.zoom,s=(this.virtualScreen.rectangle.height+2*this.screenPadding)*this.zoom;this.ctx.beginPath(),this.ctx.fillStyle=this.screenGridLabelTextColor,this.ctx.strokeStyle=this.screenGridLineColor,this.ctx.lineWidth=this.screenGridLineWidth,this.ctx.font=`${(this.fontSize-1)*this.zoom}px ${this.fontFamily}`;let n=0;for(let a=e;a<e+i-2*this.screenPadding;a+=this.screenGridSpacingX*this.zoom)this.ctx.fillText(`${n}`,a+5*this.zoom,t-(this.screenGridAxisTickLength+this.screenPadding)*this.zoom),this.ctx.fillText(`[${Math.round(this.virtualScreen.position.x+n)}]`,a+5*this.zoom,t-(this.screenGridAxisTickLength+this.screenPadding-this.lineHeight)*this.zoom),this.ctx.moveTo(a,t-(this.screenGridAxisTickLength+this.screenPadding)*this.zoom),this.ctx.lineTo(a,t+s-this.screenPadding*this.zoom),this.ctx.stroke(),n+=this.screenGridSpacingX;let a=0;for(let n=t;n<t+s-2*this.screenPadding;n+=this.screenGridSpacingY*this.zoom)this.ctx.fillText(`${a}`,e-(this.screenGridAxisTickLength+this.screenPadding)*this.zoom,n+5*this.zoom),this.ctx.fillText(`[${Math.round(this.virtualScreen.position.y+a)}]`,e-(this.screenGridAxisTickLength+this.screenPadding)*this.zoom,n+(5+this.lineHeight)*this.zoom),this.ctx.moveTo(e-(this.screenGridAxisTickLength+this.screenPadding)*this.zoom,n),this.ctx.lineTo(e+i-this.screenPadding*this.zoom,n),this.ctx.stroke(),a+=this.screenGridSpacingY;this.showScreenBoxGuide&&(this.ctx.beginPath(),this.ctx.fillStyle=this.screenGuideLabelTextColor,this.ctx.strokeStyle=this.screenGuideLineColor,this.ctx.moveTo(e,t),this.ctx.lineTo(e,t+s-2*this.screenPadding*this.zoom),this.ctx.stroke(),this.ctx.lineTo(e,t+s-2*this.screenPadding*this.zoom),this.ctx.lineTo(e+i-2*this.screenPadding*this.zoom,t+s-2*this.screenPadding*this.zoom),this.ctx.stroke(),this.ctx.lineTo(e+i-2*this.screenPadding*this.zoom,t+s-2*this.screenPadding*this.zoom),this.ctx.lineTo(e+i-2*this.screenPadding*this.zoom,t),this.ctx.stroke(),this.ctx.lineTo(e+i-2*this.screenPadding*this.zoom,t),this.ctx.lineTo(e,t),this.ctx.stroke(),this.ctx.fillText(`${Math.round(this.virtualScreen.rectangle.width/2)}`,e+i/2-(this.screenPadding-5)*this.zoom,t+5*this.zoom),this.ctx.fillText(`[${Math.round(this.virtualScreen.position.x+this.virtualScreen.rectangle.width/2)}]`,e+i/2-(this.screenPadding-5)*this.zoom,t+(5+this.lineHeight)*this.zoom),this.ctx.lineTo(e+i/2-this.screenPadding*this.zoom,t),this.ctx.lineTo(e+i/2-this.screenPadding*this.zoom,t+s-2*this.screenPadding*this.zoom),this.ctx.stroke(),this.ctx.fillText(`${Math.round(this.virtualScreen.rectangle.height/2)}`,e+5*this.zoom,t+s/2-(this.screenPadding-5)*this.zoom),this.ctx.fillText(`[${Math.round(this.virtualScreen.position.y+this.virtualScreen.rectangle.height/2)}]`,e+5*this.zoom,t+s/2-(this.screenPadding-5-this.lineHeight)*this.zoom),this.ctx.lineTo(e,t+s/2-this.screenPadding*this.zoom),this.ctx.lineTo(e+i-2*this.screenPadding*this.zoom,t+s/2-this.screenPadding*this.zoom),this.ctx.stroke()),this.ctx.strokeStyle=this.defaultLineColor,this.ctx.lineWidth=this.defaultLineWidth}drawCanvasGrid(){const e=-this.canvasCenter.x*this.zoom+this.canvasCenter.x,t=-this.canvasCenter.y*this.zoom+this.canvasCenter.y,i=this.canvasDimension.width,s=this.canvasDimension.height;this.ctx.setLineDash([5,5]),this.ctx.fillStyle=this.canvasGridLabelTextColor,this.ctx.strokeStyle=this.canvasGridLineColor,this.ctx.lineWidth=this.canvasGridLineWidth,this.ctx.font=`${(this.fontSize-1)*this.zoom}px ${this.fontFamily}`;this.ctx.beginPath();let n=0;for(let t=e;t<i;t+=this.canvasGridSpacingX*this.zoom)0!==t&&this.ctx.fillText(`[${Math.round(n)}]`,t+5*this.zoom,5*this.zoom),this.ctx.moveTo(t,0),this.ctx.lineTo(t,s),this.ctx.stroke(),n+=this.canvasGridSpacingX;let a=0;for(let e=t;e<s;e+=this.canvasGridSpacingY*this.zoom)0!==e&&this.ctx.fillText(`[${Math.round(a)}]`,5*this.zoom,e+5*this.zoom),this.ctx.moveTo(0,e),this.ctx.lineTo(i,e),this.ctx.stroke(),a+=this.canvasGridSpacingY;if(this.showCanvasBoxGuide&&(this.ctx.beginPath(),this.ctx.fillStyle=this.canvasGuideLabelTextColor,this.ctx.strokeStyle=this.canvasGuideLineColor,this.ctx.fillText(`[${Math.round(i/2)}]`,i/2+5*this.zoom,5*this.zoom),this.ctx.moveTo(i/2,0),this.ctx.lineTo(i/2,s),this.ctx.stroke(),this.ctx.fillText(`[${Math.round(s/2)}]`,5*this.zoom,s/2+5*this.zoom),this.ctx.moveTo(0,s/2),this.ctx.lineTo(i,s/2),this.ctx.stroke()),this.showScreenOffsetGuide){const i=5,s=35;this.ctx.beginPath(),this.ctx.setLineDash([]),this.ctx.fillStyle=this.screenOffsetGuideLabelTextColor,this.ctx.strokeStyle=this.screenOffsetGuideLineColor,this.ctx.arc(e+this.screenOffset.x*this.zoom,t+this.screenOffset.y*this.zoom,i*this.zoom,0,2*Math.PI),this.ctx.moveTo(e+(this.screenOffset.x-i)*this.zoom,t+this.screenOffset.y*this.zoom),this.ctx.lineTo(e+(this.screenOffset.x+2*i)*this.zoom,t+this.screenOffset.y*this.zoom),this.ctx.moveTo(e+this.screenOffset.x*this.zoom,t+(this.screenOffset.y-i)*this.zoom),this.ctx.lineTo(e+this.screenOffset.x*this.zoom,t+(this.screenOffset.y+2*i)*this.zoom),this.ctx.stroke(),this.ctx.setLineDash([5,5]),this.ctx.moveTo(e,t+this.screenOffset.y*this.zoom),this.ctx.lineTo(e+(this.screenOffset.x-i)*this.zoom,t+this.screenOffset.y*this.zoom),this.ctx.moveTo(e+this.screenOffset.x*this.zoom,t+0),this.ctx.lineTo(e+this.screenOffset.x*this.zoom,t+(this.screenOffset.y-i)*this.zoom),this.ctx.stroke(),this.ctx.beginPath(),this.screenOffset.x>=s&&this.screenOffset.y>=s?(this.ctx.fillText(`[${Math.round(this.screenOffset.x)}]`,e+(this.screenOffset.x+5)*this.zoom,t+5*this.zoom),this.ctx.fillText(`[${Math.round(this.screenOffset.y)}]`,e+5*this.zoom,t+(this.screenOffset.y+5)*this.zoom)):this.screenOffset.x>=0&&this.screenOffset.y>=0?this.ctx.fillText(`Δ [${Math.round(this.screenOffset.x)},${Math.round(this.screenOffset.y)}]`,e+(this.screenOffset.x+i+5)*this.zoom,t+(this.screenOffset.y+i+5)*this.zoom):this.ctx.fillText(`Δ [${Math.round(this.screenOffset.x)},${Math.round(this.screenOffset.y)}]`,e+(i+5)*this.zoom,t+(i+5)*this.zoom)}this.ctx.setLineDash([]),this.ctx.strokeStyle=this.defaultLineColor,this.ctx.lineWidth=this.defaultLineWidth}drawClassViewProperty(e,t,i,s,n){this.ctx.font=this.mouseOverClassView===e&&this.mouseOverClassProperty===t?`bold ${(this.fontSize-1)*(n?1:this.zoom)}px ${this.fontFamily}`:`${n?"bold":""} ${(this.fontSize-1)*(n?1:this.zoom)}px ${this.fontFamily}`;const a=yy(t);let r=this.ctx.measureText(`${a} : `).width;n||(this.ctx.fillText(`${a} : `,i,s),this.ctx.fillText(t.genericType.value.rawType.name,i+r,s),t.genericType.value.rawType instanceof Xa&&(this.ctx.beginPath(),this.ctx.moveTo(i+r,s+(this.fontSize-1)*this.zoom),this.ctx.lineTo(i+r+this.ctx.measureText(t.genericType.value.rawType.name).width,s+(this.fontSize-1)*this.zoom),this.ctx.stroke())),r+=this.ctx.measureText(t.genericType.value.rawType.name).width,this.ctx.font=`${(this.fontSize-1)*(n?1:this.zoom)}px ${this.fontFamily}`;const o=HC(t.multiplicity.lowerBound,t.multiplicity.upperBound);return n||this.ctx.fillText(`[${o}]`,i+r,s),r+=this.ctx.measureText(`[${o}]`).width,r}computeClassNameWidth(e){return this.ctx.font=`bold ${this.fontSize}px ${this.fontFamily}`,this.ctx.textBaseline="top",this.ctx.measureText(this.truncateTextWithEllipsis(e.class.value.name)).width}ensureClassViewMeetMinDimensions(e){let t=this.computeClassNameWidth(e),i=this.lineHeight+2*this.classViewSpaceY;if(!e.hideStereotypes){this.ctx.font=`${this.fontSize}px ${this.fontFamily}`;for(const s of e.class.value.stereotypes){const e=`<< ${this.truncateTextWithEllipsis(s.value.value,this.maxLineLength-6)} >>`,n=this.ctx.measureText(e).width;t=Math.max(t,n),i+=this.lineHeight}}if(!e.hideTaggedValues){this.ctx.font=`${this.fontSize}px ${this.fontFamily}`,this.ctx.textBaseline="top";for(const s of e.class.value.taggedValues){const e=`{ ${this.truncateTextWithEllipsis(`${s.tag.value.value} = ${s.value}`,this.maxLineLength-4)} }`,n=this.ctx.measureText(e).width;t=Math.max(t,n),i+=this.lineHeight}}if(e.hideProperties||(PE(e.class.value).forEach((s=>{if(!this.hasPropertyView(e,s)){const n=this.drawClassViewProperty(e,s,0,0,!0);t=Math.max(t,n),i+=this.lineHeight}})),i+=2*this.classViewSpaceY),t+=2*this.classViewSpaceX,!this.isReadOnly||this.enableLayoutAutoAdjustment){const s=e.rectangle.width&&e.rectangle.width>t?e.rectangle.width:t,n=e.rectangle.height&&e.rectangle.height>i?e.rectangle.height:i;fy(e,new Mv(s,n))}}drawClassView(e){const t=this.computeClassNameWidth(e);this.ensureClassViewMeetMinDimensions(e),this.ctx.fillStyle=this.classViewFillColor;const i=this.modelCoordinateToCanvasCoordinate(e.position);this.ctx.fillRect(i.x,i.y,e.rectangle.width*this.zoom,e.rectangle.height*this.zoom),this.ctx.lineWidth=0!==this.selectedClasses.length&&-1!==this.selectedClasses.indexOf(e)?2:1,this.ctx.strokeRect(i.x,i.y,e.rectangle.width*this.zoom,e.rectangle.height*this.zoom);const s=e.position.x,n=e.position.y;this.ctx.lineWidth=1,this.ctx.fillStyle=this.classViewHeaderTextColor;let a=n;if(this.ctx.font=`${this.fontSize*this.zoom}px ${this.fontFamily}`,!e.hideStereotypes)for(const t of e.class.value.stereotypes){this.ctx.font=`${this.fontSize}px ${this.fontFamily}`;const i=`<< ${this.truncateTextWithEllipsis(t.value.value,this.maxLineLength-6)} >>`,n=this.ctx.measureText(i).width;this.ctx.font=`${this.fontSize*this.zoom}px ${this.fontFamily}`,this.ctx.fillText(i,(s+this.screenOffset.x+(e.rectangle.width-n)/2-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,(a+this.screenOffset.y+this.classViewSpaceY-this.canvasCenter.y)*this.zoom+this.canvasCenter.y),a+=this.lineHeight}this.ctx.font=`bold ${this.fontSize*this.zoom}px ${this.fontFamily}`;const r=this.truncateTextWithEllipsis(e.class.value.name);if(this.ctx.fillText(r,(s+this.screenOffset.x+(e.rectangle.width-t)/2-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,(a+this.screenOffset.y+this.classViewSpaceY-this.canvasCenter.y)*this.zoom+this.canvasCenter.y),a+=this.lineHeight,!e.hideTaggedValues)for(const t of e.class.value.taggedValues){this.ctx.font=`${this.fontSize}px ${this.fontFamily}`;const i=`{ ${this.truncateTextWithEllipsis(`${t.tag.value.value} = ${t.value}`,this.maxLineLength-4)} }`,n=this.ctx.measureText(i).width;this.ctx.font=`${this.fontSize*this.zoom}px ${this.fontFamily}`,this.ctx.fillText(i,(s+this.screenOffset.x+(e.rectangle.width-n)/2-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,(a+this.screenOffset.y+this.classViewSpaceY-this.canvasCenter.y)*this.zoom+this.canvasCenter.y),a+=this.lineHeight}if(a+=3*this.classViewSpaceY,!e.hideProperties){this.ctx.beginPath();const t=(n+this.screenOffset.y+this.lineHeight+(e.hideStereotypes?0:e.class.value.stereotypes.length*this.lineHeight)+(e.hideTaggedValues?0:e.class.value.taggedValues.length*this.lineHeight)+this.classViewSpaceY-this.canvasCenter.y)*this.zoom+this.canvasCenter.y;this.ctx.moveTo((s+this.screenOffset.x-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,t),this.ctx.lineTo((s+this.screenOffset.x+e.rectangle.width-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,t),this.ctx.stroke();for(const t of PE(e.class.value))if(!this.hasPropertyView(e,t)){this.ctx.fillStyle=t instanceof TE?this.classViewDerivedPropertyTextColor:t.genericType.value.rawType instanceof gE?this.classViewPrimitivePropertyTextColor:this.classViewPropertyTextColor;const i=(s+this.screenOffset.x+this.classViewSpaceX-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,n=(a+this.screenOffset.y-this.canvasCenter.y)*this.zoom+this.canvasCenter.y;this.drawClassViewProperty(e,t,i,n,!1),a+=this.lineHeight}}by(e)}drawLinePropertyNameAndMultiplicity(e,t,i,s,n,a){this.ctx.font=`${this.fontSize}px ${this.fontFamily}`;const r=yy(e),o=HC(e.multiplicity.lowerBound,e.multiplicity.upperBound),c=this.ctx.measureText(r).width,l=this.ctx.measureText(o).width;this.ctx.font=`${this.fontSize*this.zoom}px ${this.fontFamily}`;const d=t(c),u=i(c),p=this.modelCoordinateToCanvasCoordinate(new Pv(t(c),i(c)));a||this.ctx.fillText(r,p.x,p.y);const h=s(l),m=n(l),g=this.modelCoordinateToCanvasCoordinate(new Pv(s(l),n(l)));a||this.ctx.fillText(o,g.x,g.y);const f=new Pv(Math.min(d,h),Math.min(u,m));return new Lv(f,new Mv(Math.max(d,h)+Math.max(c,l)-f.x,Math.max(u,m)+this.lineHeight-f.y))}drawLinePropertyText(e,t,i,s,n){this.ctx.textBaseline="top",this.ctx.fillStyle=this.relationshipViewTextColor;const a=e.x,r=e.y,o=t.x,c=t.y,l=i.rectangle;if(r<c){const e=a+(o-a)/(c-r)*(i.position.y-r);if(e>i.position.x&&e<i.position.x+l.width)return this.drawLinePropertyNameAndMultiplicity(s,(t=>e<i.position.x+l.width/2?e+this.propertySpacing:e-t-this.propertySpacing),(e=>i.position.y-this.lineHeight-this.propertySpacing),(t=>e<i.position.x+l.width/2?e-t-this.propertySpacing:e+this.propertySpacing),(e=>i.position.y-this.lineHeight-this.propertySpacing),n)}else{const e=a+(o-a)/(c-r)*(i.position.y+l.height-r);if(e>i.position.x&&e<i.position.x+l.width)return this.drawLinePropertyNameAndMultiplicity(s,(t=>e<i.position.x+l.width/2?e+this.propertySpacing:e-t-this.propertySpacing),(e=>i.position.y+l.height+this.propertySpacing),(t=>e<i.position.x+l.width/2?e-t-this.propertySpacing:e+this.propertySpacing),(e=>i.position.y+l.height+this.propertySpacing),n)}if(a<o){const e=r+(c-r)/(o-a)*(i.position.x-a);if(e>i.position.y&&e<i.position.y+l.height)return this.drawLinePropertyNameAndMultiplicity(s,(e=>i.position.x-e-this.propertySpacing),(t=>e<i.position.y+i.rectangle.height/2?e+this.propertySpacing:e-this.lineHeight-this.propertySpacing),(e=>i.position.x-e-this.propertySpacing),(t=>e<i.position.y+i.rectangle.height/2?e-this.lineHeight-this.propertySpacing:e+this.propertySpacing),n)}else{const e=r+(c-r)/(o-a)*(i.position.x+i.rectangle.width-a);if(e>i.position.y&&e<i.position.y+i.rectangle.height)return this.drawLinePropertyNameAndMultiplicity(s,(e=>i.position.x+i.rectangle.width+this.propertySpacing),(t=>e<i.position.y+i.rectangle.height/2?e+this.propertySpacing:e-this.lineHeight-this.propertySpacing),(e=>i.position.x+i.rectangle.width+this.propertySpacing),(t=>e<i.position.y+i.rectangle.height/2?e-this.lineHeight-this.propertySpacing:e+this.propertySpacing),n)}return new Lv(new Pv(0,0),new Mv(0,0))}drawPropertyOrAssociation(e){const t=Uv.pruneUnnecessaryInsidePoints(e.buildFullPath(),e.from.classView.value,e.to.classView.value),i=e.property.value;if(this.drawLinePropertyText(W(t[t.length-2],"Diagram path expected to have at least 2 points"),W(t[t.length-1],"Diagram path expected to have at least 2 points"),e.to.classView.value,i,!1),this.ctx.beginPath(),this.ctx.lineWidth=e===this.selectedPropertyOrAssociation?2:1,t.forEach(((e,t)=>{const i=this.modelCoordinateToCanvasCoordinate(e);0===t?this.ctx.moveTo(i.x,i.y):this.ctx.lineTo(i.x,i.y)})),this.ctx.stroke(),this.ctx.lineWidth=1,i instanceof Kb){const s=t[1],n=t[0],a=s.x,r=s.y,o=n.x,c=n.y,l=e.from;let d=0,u=0;if(c>r){const e=a+(o-a)/(c-r)*(l.classView.value.position.y-r);e>l.classView.value.position.x&&e<l.classView.value.position.x+l.classView.value.rectangle.width&&(d=(e-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,u=(l.classView.value.position.y-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}else{const e=a+(o-a)/(c-r)*(l.classView.value.position.y+l.classView.value.rectangle.height-r);e>l.classView.value.position.x&&e<l.classView.value.position.x+l.classView.value.rectangle.width&&(d=(e-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,u=(l.classView.value.position.y+l.classView.value.rectangle.height-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}if(o>a){const e=r+(c-r)/(o-a)*(l.classView.value.position.x-a);e>l.classView.value.position.y&&e<l.classView.value.position.y+l.classView.value.rectangle.height&&(d=(l.classView.value.position.x-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,u=(e-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}else{const e=r+(c-r)/(o-a)*(l.classView.value.position.x+l.classView.value.rectangle.width-a);e>l.classView.value.position.y&&e<l.classView.value.position.y+l.classView.value.rectangle.height&&(d=(l.classView.value.position.x+l.classView.value.rectangle.width-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,u=(e-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}if(i.aggregation===uC.COMPOSITE||i.aggregation===uC.SHARED){let e=Math.atan((c-r)/(o-a));e=o>=a?e:e+Math.PI,this.ctx.beginPath(),this.ctx.moveTo(d+(this.screenOffset.x+Jv(this.diamond[0],e))*this.zoom,u+(this.screenOffset.y+Xv(this.diamond[0],e))*this.zoom),this.ctx.lineTo(d+(this.screenOffset.x+Jv(this.diamond[1],e))*this.zoom,u+(this.screenOffset.y+Xv(this.diamond[1],e))*this.zoom),this.ctx.lineTo(d+(this.screenOffset.x+Jv(this.diamond[2],e))*this.zoom,u+(this.screenOffset.y+Xv(this.diamond[2],e))*this.zoom),this.ctx.lineTo(d+(this.screenOffset.x+Jv(this.diamond[3],e))*this.zoom,u+(this.screenOffset.y+Xv(this.diamond[3],e))*this.zoom),this.ctx.lineTo(d+(this.screenOffset.x+Jv(this.diamond[0],e))*this.zoom,u+(this.screenOffset.y+Xv(this.diamond[0],e))*this.zoom),i.aggregation===uC.SHARED&&(this.ctx.fillStyle=this.propertyViewSharedDiamondColor),i.aggregation===uC.COMPOSITE&&(this.ctx.fillStyle=this.propertyViewOwnedDiamondColor),this.ctx.fill(),this.ctx.stroke(),this.ctx.lineWidth=1}}}drawInheritance(e){const t=e.to.classView.value.rectangle,i=Uv.pruneUnnecessaryInsidePoints(e.buildFullPath(),e.from.classView.value,e.to.classView.value),s=W(i[i.length-2],"Diagram path expected to have at least 2 points").x,n=W(i[i.length-2],"Diagram path expected to have at least 2 points").y,a=W(i[i.length-1],"Diagram path expected to have at least 2 points").x,r=W(i[i.length-1],"Diagram path expected to have at least 2 points").y;let o=0,c=0;if(r>n){const i=s+(a-s)/(r-n)*(e.to.classView.value.position.y-n);i>e.to.classView.value.position.x&&i<e.to.classView.value.position.x+t.width&&(o=(i-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,c=(e.to.classView.value.position.y-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}else{const i=s+(a-s)/(r-n)*(e.to.classView.value.position.y+t.height-n);i>e.to.classView.value.position.x&&i<e.to.classView.value.position.x+t.width&&(o=(i-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,c=(e.to.classView.value.position.y+t.height-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}if(a>s){const i=n+(r-n)/(a-s)*(e.to.classView.value.position.x-s);i>e.to.classView.value.position.y&&i<e.to.classView.value.position.y+t.height&&(o=(e.to.classView.value.position.x-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,c=(i-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}else{const i=n+(r-n)/(a-s)*(e.to.classView.value.position.x+t.width-s);i>e.to.classView.value.position.y&&i<e.to.classView.value.position.y+t.height&&(o=(e.to.classView.value.position.x+t.width-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,c=(i-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}this.ctx.beginPath(),this.ctx.lineWidth=e===this.selectedInheritance?2:1,i.forEach(((e,t)=>{const i=this.modelCoordinateToCanvasCoordinate(e);0===t?this.ctx.moveTo(i.x,i.y):this.ctx.lineTo(i.x,i.y)})),this.ctx.stroke();let l=Math.atan((r-n)/(a-s));l=a>=s?l:l+Math.PI,this.ctx.beginPath(),this.ctx.moveTo(o+(this.screenOffset.x+Jv(this.triangle[0],l))*this.zoom,c+(this.screenOffset.y+Xv(this.triangle[0],l))*this.zoom),this.ctx.lineTo(o+(this.screenOffset.x+Jv(this.triangle[1],l))*this.zoom,c+(this.screenOffset.y+Xv(this.triangle[1],l))*this.zoom),this.ctx.lineTo(o+(this.screenOffset.x+Jv(this.triangle[2],l))*this.zoom,c+(this.screenOffset.y+Xv(this.triangle[2],l))*this.zoom),this.ctx.lineTo(o+(this.screenOffset.x+Jv(this.triangle[0],l))*this.zoom,c+(this.screenOffset.y+Xv(this.triangle[0],l))*this.zoom),this.ctx.fillStyle=this.generalizationViewInheritanceTriangeFillColor,this.ctx.fill(),this.ctx.stroke(),this.ctx.lineWidth=1}reorderDiagramDomain(e,t){const i=t.classViews.filter((t=>t!==e));return i.push(e),i}potentiallyShiftRelationships(e,t,i,s){e.forEach((e=>{-1!==t.indexOf(e.from.classView.value)&&-1!==t.indexOf(e.to.classView.value)&&gy(e,e.path.map((e=>new Pv(e.x-i,e.y-s))))}))}recenter(){if(0!==this.selectedClasses.length){const e=R(this.selectedClasses);e&&this.center(e.position.x+e.rectangle.width/2,e.position.y+e.rectangle.height/2)}else this.autoRecenter()}switchToZoomMode(){this.changeMode(this.interactionMode!==Ey.ZOOM_IN?Ey.ZOOM_IN:Ey.ZOOM_OUT,vy.NONE)}switchToViewMode(){this.changeMode(Ey.LAYOUT,vy.NONE)}switchToPanMode(){this.changeMode(Ey.PAN,vy.NONE)}switchToAddPropertyMode(){this.isReadOnly||this.changeMode(Ey.ADD_RELATIONSHIP,vy.PROPERTY)}switchToAddInheritanceMode(){this.isReadOnly||this.changeMode(Ey.ADD_RELATIONSHIP,vy.INHERITANCE)}switchToAddClassMode(){this.isReadOnly||this.changeMode(Ey.ADD_CLASS,vy.NONE)}ejectProperty(){this.isReadOnly||(this.mouseOverClassProperty?this.mouseOverClassProperty.genericType.value.rawType instanceof Ka&&this.addClassView(this.mouseOverClassProperty.genericType.value.rawType,this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(new Pv(this.cursorPosition.x,this.cursorPosition.y)))):this.selectedClassProperty&&(this.selectedClassProperty.property.genericType.value.rawType instanceof Ka&&this.addClassView(this.selectedClassProperty.property.genericType.value.rawType,this.selectedClassProperty.selectionPoint),this.selectedClassProperty=void 0))}getSuperTypeLevels(e,t,i,s){if(e.length){const n=(0,N.default)(e.flatMap((e=>e.class.value.generalizations.map((e=>new Fv(t,(0,a.default)(),rr.create(xE(e.value,Ka))))))),(e=>e.class.value));if(n.forEach((e=>this.ensureClassViewMeetMinDimensions(e))),-1===s||i<s){const a=this.getSuperTypeLevels(n,t,i+1,s);return a.push(e),a}return[e]}return[]}layoutTaxonomy(e,t,i,s){e.reverse();return[e.flatMap(((t,n)=>{let a=0,r=0,o=0,c=0;if(n>0){const t=e[n-1];if(t.length){const e=[...t].sort(((e,t)=>e.position.x-t.position.x));o=e[0].position.x,a=e[e.length-1].position.x+e[e.length-1].rectangle.width-e[0].position.x;const i=[...t].sort(((e,t)=>e.position.y-t.position.y));c=i[0].position.y,r=i[i.length-1].position.y+i[i.length-1].rectangle.height-i[0].position.y}}const l=Math.max(...t.map((e=>e.rectangle.height))),d=o+a/2-t.map((e=>e.rectangle.width)).reduce(((e,t)=>e+t+10))/2,u=s?c-l-30:c+r+30;return(i||n>0)&&(_y(t[0],new Pv(d,u)),t.forEach(((e,i)=>{if(i>0){const s=t[i-1];_y(e,new Pv(s.position.x+s.rectangle.width+10,u))}}))),t})),(s?e:e.slice().reverse()).slice(0,e.length-1).flatMap(((i,s)=>i.flatMap((i=>e[s+1].flatMap((e=>i.class.value.generalizations.map((e=>e.value.rawType)).includes(e.class.value)?new zv(t,i,e):[]))))))]}keydown(e){if("Delete"===e.code)this.isReadOnly||(this.selectedClasses.forEach((e=>{QC(this.diagram,e),ZC(this.diagram,this.diagram.associationViews.filter((t=>!(t.from.classView.value===e||t.to.classView.value===e)))),ty(this.diagram,this.diagram.generalizationViews.filter((t=>!(t.from.classView.value===e||t.to.classView.value===e)))),ny(this.diagram,this.diagram.propertyViews.filter((t=>!(t.from.classView.value===e||t.to.classView.value===e))))})),this.selectedPropertyOrAssociation instanceof $C?ey(this.diagram,this.selectedPropertyOrAssociation):this.selectedPropertyOrAssociation instanceof Gv&&ry(this.diagram,this.selectedPropertyOrAssociation),this.selectedInheritance&&this.diagram.generalizationViews.find((e=>e===this.selectedInheritance))&&sy(this.diagram,this.selectedInheritance),this.setSelectedClasses([]),this.drawScreen());else if("KeyE"===e.code)this.selectedClassProperty?(this.handleEditProperty(this.selectedClassProperty.property,this.selectedClassProperty.selectionPoint,void 0),e.preventDefault()):this.selectedPropertyOrAssociation?(this.handleEditProperty(this.selectedPropertyOrAssociation.property.value,this.selectedPoint??(this.selectedPropertyOrAssociation.path.length?this.selectedPropertyOrAssociation.path[0]:this.selectedPropertyOrAssociation.from.classView.value.center()),this.selectedPropertyOrAssociation),e.preventDefault()):1===this.selectedClasses.length&&this.handleEditClassView(this.selectedClasses[0]);else if(e.altKey&&"KeyP"===e.code)this.isReadOnly||0!==this.selectedClasses.length&&(this.selectedClasses.forEach((e=>{oy(e,!e.hideProperties)})),this.drawScreen());else if(e.altKey&&"KeyS"===e.code)this.isReadOnly||0!==this.selectedClasses.length&&(this.selectedClasses.forEach((e=>{cy(e,!e.hideStereotypes)})),this.drawScreen());else if(e.altKey&&"KeyT"===e.code)this.isReadOnly||0!==this.selectedClasses.length&&(this.selectedClasses.forEach((e=>{ly(e,!e.hideTaggedValues)})),this.drawScreen());else if(e.altKey&&"ArrowDown"===e.code)this.isReadOnly||1!==this.selectedClasses.length||this.handleAddSimpleProperty(this.selectedClasses[0]);else if("ArrowUp"===e.code){const e=this.getSuperTypeLevels(this.selectedClasses,this.diagram,0,1),t=this.layoutTaxonomy(e,this.diagram,!1,!0);t[0].forEach((e=>qC(this.diagram,e))),t[1].forEach((e=>iy(this.diagram,e))),this.drawScreen()}else if("ArrowDown"===e.code){const e=(0,N.default)(this.selectedClasses.flatMap((e=>e.class.value._subclasses.flatMap((e=>new Fv(this.diagram,(0,a.default)(),rr.create(e)))))),(e=>e.class.value));if(e.length>0){e.forEach((e=>this.ensureClassViewMeetMinDimensions(e)));const t=this.layoutTaxonomy([e,this.selectedClasses],this.diagram,!1,!1);t[0].forEach((e=>qC(this.diagram,e))),t[1].forEach((e=>iy(this.diagram,e)))}this.drawScreen()}}mouseup(e){const t=this.resolveMouseEventCoordinate(e);switch(this.interactionMode){case Ey.ZOOM_IN:{const e=Math.round(100*this.zoom);let i;i=e<=Cy[0]-10?10*Math.floor(e/10)+10:e>=Cy[Cy.length-1]?100*Math.floor(e/100)+100:W(Cy.find((t=>t>e))),this.zoomPoint(i/100,this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(t)));break}case Ey.ZOOM_OUT:{const e=Math.round(100*this.zoom);let i;i=e<=Cy[0]?10*Math.ceil(e/10)-10:e>=Cy[Cy.length-1]+100?100*Math.ceil(e/100)-100:W((0,C.default)(Cy,(t=>t<e))),this.zoomPoint(i/100,this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(t)));break}}if(!this.isReadOnly)switch(this.interactionMode){case Ey.LAYOUT:this.diagram.generalizationViews.forEach((e=>hy(e))),this.diagram.associationViews.forEach((e=>hy(e))),this.diagram.propertyViews.forEach((e=>hy(e)));break;case Ey.ADD_CLASS:{const e=this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(t));this.onAddClassViewClick(e),this.changeMode(Ey.LAYOUT,vy.NONE);break}case Ey.ADD_RELATIONSHIP:if(this.startClassView&&this.selectionStart&&this.handleAddRelationship){const e=this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(t));for(let t=this.diagram.classViews.length-1;t>=0;t--){const i=this.diagram.classViews[t];if(i.contains(e.x,e.y)){const t=this.handleAddRelationship(this.startClassView,i);t&&(dy(t.from,-(this.startClassView.position.x+this.startClassView.rectangle.width/2-this.selectionStart.x)),uy(t.from,-(this.startClassView.position.y+this.startClassView.rectangle.height/2-this.selectionStart.y)),dy(t.to,-(i.position.x+i.rectangle.width/2-e.x)),uy(t.to,-(i.position.y+i.rectangle.height/2-e.y)))}}this.changeMode(Ey.LAYOUT,vy.NONE)}}this.setLeftClick(!1),this.setMiddleClick(!1),this.setRightClick(!1),this.setSelectedClassCorner(void 0),this.setSelectionStart(void 0),this.drawScreen()}mousedblclick(e){const t=this.resolveMouseEventCoordinate(e);if([Ey.ADD_RELATIONSHIP,Ey.ADD_CLASS,Ey.ZOOM_IN,Ey.ZOOM_OUT].includes(this.interactionMode))return;const i=this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(t));if(this.mouseOverClassProperty&&this.onClassPropertyDoubleClick)return void this.onClassPropertyDoubleClick(this.mouseOverClassProperty,i,void 0);if(this.mouseOverClassName&&this.onClassNameDoubleClick)return void this.onClassNameDoubleClick(this.mouseOverClassName,i);const s=this.diagram.classViews.find((e=>e.contains(i.x,i.y)));s&&this.onClassViewDoubleClick?this.onClassViewDoubleClick(s,i):this.mouseOverPropertyHolderViewLabel&&this.onClassPropertyDoubleClick?this.onClassPropertyDoubleClick(this.mouseOverPropertyHolderViewLabel.property.value,i,this.mouseOverPropertyHolderViewLabel):this.onBackgroundDoubleClick&&this.onBackgroundDoubleClick(i)}mousedown(e){const t=this.resolveMouseEventCoordinate(e);this.setSelectionStart(void 0),this.setSelectedClassCorner(void 0),this.setSelectedPropertyOrAssociation(void 0),this.setSelectedInheritance(void 0),this.selection=void 0,this.selectedClassProperty=void 0,this.selectedPoint=void 0,this.startClassView=void 0;const i=this.eventCoordinateToCanvasCoordinate(t),s=this.canvasCoordinateToModelCoordinate(i);if(0===e.button)switch(this.setLeftClick(!0),this.interactionMode){case Ey.PAN:return void(this.positionBeforeLastMove=t);case Ey.LAYOUT:for(let e=this.diagram.classViews.length-1;e>=0;e--){const t=this.diagram.classViews[e];if(Qv(t).contains(s.x,s.y)){this.setSelectedClasses([]),this.setSelectedClassCorner(this.diagram.classViews[e]),this.isReadOnly||XC(this.diagram,this.reorderDiagramDomain(W(this.selectedClassCorner),this.diagram));break}}if(!this.selectedClassCorner)if(this.mouseOverClassProperty)this.selectedClassProperty={property:this.mouseOverClassProperty,selectionPoint:s},this.setSelectedClasses([]);else{let e=!1;for(let t=this.diagram.classViews.length-1;t>=0;t--){const n=this.diagram.classViews[t];if(n.contains(s.x,s.y)){0!==this.selectedClasses.length&&-1!==this.selectedClasses.indexOf(n)||this.setSelectedClasses([n]),this.isReadOnly||XC(this.diagram,this.reorderDiagramDomain(this.selectedClasses[0],this.diagram)),this.clickX=i.x/this.zoom-this.screenOffset.x,this.clickY=i.y/this.zoom-this.screenOffset.y,this._selectedClassesInitialPositions=this.selectedClasses.map((e=>({classView:e,oldPos:new Pv(e.position.x,e.position.y)}))),e=!0;break}}if(e||this.setSelectedClasses([]),!this.selectedClasses.length){for(const e of this.diagram.generalizationViews){const t=my(e,s.x,s.y,this.zoom,!this.isReadOnly);if(t){this.selectedPoint=t,this.setSelectedInheritance(e);break}}if(!this.selectedPoint)for(const e of this.diagram.associationViews){const t=my(e,s.x,s.y,this.zoom,!this.isReadOnly);if(t){this.selectedPoint=t,this.setSelectedPropertyOrAssociation(e);break}}if(!this.selectedPoint)for(const e of this.diagram.propertyViews){const t=my(e,s.x,s.y,this.zoom,!this.isReadOnly);if(t){this.selectedPoint=t,this.setSelectedPropertyOrAssociation(e);break}}this.selectedPoint||this.setSelectionStart(s)}}break;case Ey.ADD_RELATIONSHIP:this.setSelectionStart(s),this.startClassView=void 0;for(let e=this.diagram.classViews.length-1;e>=0;e--){const t=this.diagram.classViews[e];t.contains(s.x,s.y)&&(this.startClassView=t)}this.startClassView||this.changeMode(Ey.LAYOUT,vy.NONE)}else{if(1===e.button)return this.setMiddleClick(!0),void(this.positionBeforeLastMove=t);if(2===e.button)return this.setRightClick(!0),this.positionBeforeLastMove=t,void(this.mouseOverClassView&&(this.onClassViewRightClick(this.mouseOverClassView,s),this.setRightClick(!1)))}this.clearScreen(),this.drawAll()}mousewheel(e){const t=this.resolveMouseEventCoordinate(e);if(e.preventDefault(),e.stopImmediatePropagation(),Math.abs(e.deltaY)<=Math.abs(e.deltaX))return;const i=this.zoom-e.deltaY/120*.05;this.executeZoom(i,this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(t)))}mousemove(e){const t=this.resolveMouseEventCoordinate(e);if(this.cursorPosition=t,this.rightClick||this.middleClick||this.leftClick&&this.interactionMode===Ey.PAN)this.screenOffset=new Pv(this.screenOffset.x+(t.x-this.positionBeforeLastMove.x)/this.zoom,this.screenOffset.y+(t.y-this.positionBeforeLastMove.y)/this.zoom),this.positionBeforeLastMove=t,this.clearScreen(),this.drawAll();else if(this.leftClick){const e=this.eventCoordinateToCanvasCoordinate(t),i=this.canvasCoordinateToModelCoordinate(e);switch(this.interactionMode){case Ey.LAYOUT:if(this.selectedClassCorner&&(fy(this.selectedClassCorner,new Mv(i.x-this.selectedClassCorner.position.x,i.y-this.selectedClassCorner.position.y)),by(this.selectedClassCorner),this.drawClassView(this.selectedClassCorner),this.drawScreen()),!this.selectionStart&&this.selectedClasses.length&&!this.isReadOnly){let t=0,i=0;this.selectedClasses.forEach(((s,n)=>{const a=this._selectedClassesInitialPositions.length>n?this._selectedClassesInitialPositions[n]:void 0;if(a){const n=e.x/this.zoom-this.screenOffset.x-(this.clickX-a.oldPos.x),r=e.y/this.zoom-this.screenOffset.y-(this.clickY-a.oldPos.y);t=s.position.x-n,i=s.position.y-r,_y(s,new Pv(n,r)),by(s)}})),this.potentiallyShiftRelationships(this.diagram.associationViews,this.selectedClasses,t,i),this.potentiallyShiftRelationships(this.diagram.propertyViews,this.selectedClasses,t,i),this.potentiallyShiftRelationships(this.diagram.generalizationViews,this.selectedClasses,t,i),this.drawScreen()}if(this.selectedPoint&&(this.selectedPropertyOrAssociation?py(this.selectedPropertyOrAssociation,this.selectedPoint,i):this.selectedInheritance&&py(this.selectedInheritance,this.selectedPoint,i),this.selectedPoint=i,this.drawScreen()),this.selectionStart){this.clearScreen(),this.drawAll();const t=this.modelCoordinateToCanvasCoordinate(this.selectionStart);this.ctx.fillStyle=this.selectionBoxBorderColor,this.ctx.fillRect(t.x,t.y,e.x-t.x,e.y-t.y),this.ctx.strokeRect(t.x,t.y,e.x-t.x,e.y-t.y);const i=(e.x-t.x)/this.zoom,s=(e.y-t.y)/this.zoom;this.selection=new Lv(new Pv(i>0?this.selectionStart.x:this.selectionStart.x+i,s>0?this.selectionStart.y:this.selectionStart.y+s),new Mv(Math.abs(i),Math.abs(s))),this.setSelectedClasses([]);for(const e of this.diagram.classViews)(Zv(this.selection,e)||Zv(e,this.selection))&&this.setSelectedClasses([...this.selectedClasses,e])}break;case Ey.ADD_RELATIONSHIP:if(this.selectionStart&&this.startClassView){this.clearScreen(),this.drawBoundingBox();const t=this.modelCoordinateToCanvasCoordinate(this.selectionStart);this.ctx.moveTo(t.x,t.y),this.ctx.lineTo(e.x,e.y),this.ctx.stroke(),this.drawDiagram()}}}else{this.drawScreen();const e=this.eventCoordinateToCanvasCoordinate(t),i=this.canvasCoordinateToModelCoordinate(e);this.setMouseOverClassView(void 0),this.setMouseOverClassName(void 0),this.setMouseOverClassCorner(void 0),this.setMouseOverClassProperty(void 0),this.setMouseOverPropertyHolderViewLabel(void 0);for(const t of this.diagram.classViews.slice().reverse())if(t.contains(i.x,i.y)){this.setMouseOverClassView(t),Qv(t).contains(i.x,i.y)&&this.setMouseOverClassCorner(t);const s=t.class.value;let n=t.position.y+this.classViewSpaceY;n+=t.hideStereotypes?0:s.stereotypes.length*this.lineHeight;const a=this.computeClassNameWidth(t);new Lv(this.modelCoordinateToCanvasCoordinate(new Pv(t.position.x+(t.rectangle.width-a)/2,n)),new Mv(a,this.lineHeight)).contains(e.x,e.y)&&this.setMouseOverClassName(t),n+=this.lineHeight,n+=t.hideTaggedValues?0:s.taggedValues.length*this.lineHeight,n+=2*this.classViewSpaceY;for(const i of PE(s))this.hasPropertyView(t,i)||(this.ctx.font=`${(this.fontSize-1)*this.zoom}px ${this.fontFamily}`,new Lv(this.modelCoordinateToCanvasCoordinate(new Pv(t.position.x+this.classViewSpaceX,n)),new Mv(this.drawClassViewProperty(t,i,0,0,!0)*this.zoom,this.lineHeight*this.zoom)).contains(e.x,e.y)&&this.setMouseOverClassProperty(i),n+=this.lineHeight);break}const s=[...this.diagram.propertyViews,...this.diagram.associationViews];for(const e of s){const t=Uv.pruneUnnecessaryInsidePoints(e.buildFullPath(),e.from.classView.value,e.to.classView.value);if(this.drawLinePropertyText(W(t[t.length-2],"Diagram path expected to have at least 2 points"),W(t[t.length-1],"Diagram path expected to have at least 2 points"),e.to.classView.value,e.property.value,!1).contains(i.x,i.y)){this.setMouseOverPropertyHolderViewLabel(e);break}}}}}class Ay extends rS{diagramInfo;_renderer;diagram;diagramClasses;graph;diagramPath;filePath;fileLine;fileColumn;constructor(e,t,i,s,n,a){super(e),(0,Ve.makeObservable)(this,{_renderer:Ve.observable,diagram:Ve.observable,diagramInfo:Ve.observable,diagramName:Ve.computed,diagramCursorClass:Ve.computed,addClassView:Ve.flow,rebuild:Ve.action,setRenderer:Ve.action}),this.diagramPath=i,this.filePath=s,this.fileLine=n,this.fileColumn=a,this.diagramInfo=t;const[r,o,c]=UC(t);this.diagram=r,this.graph=o,this.diagramClasses=c}get label(){return XT(this.diagramPath)}get description(){return`Diagram: ${XT(this.diagramPath)}`}get diagramName(){return fE(this.diagramPath)}match(e){return e instanceof Ay&&this.diagramPath===e.diagramPath}get renderer(){return W(this._renderer,"Diagram renderer must be initialized (this is likely caused by calling this method at the wrong place)")}get isDiagramRendererInitialized(){return Boolean(this._renderer)}get diagramCursorClass(){if(!this.isDiagramRendererInitialized)return"";if(this.renderer.middleClick||this.renderer.rightClick)return"diagram-editor__cursor--grabbing";switch(this.renderer.interactionMode){case Ey.PAN:return this.renderer.leftClick?"diagram-editor__cursor--grabbing":"diagram-editor__cursor--grab";case Ey.ZOOM_IN:return"diagram-editor__cursor--zoom-in";case Ey.ZOOM_OUT:return"diagram-editor__cursor--zoom-out";case Ey.LAYOUT:return this.renderer.selectionStart?"diagram-editor__cursor--crosshair":this.renderer.mouseOverClassCorner||this.renderer.selectedClassCorner?"diagram-editor__cursor--resize":this.renderer.mouseOverClassView?"diagram-editor__cursor--pointer":"";default:return""}}rebuild(e){this.diagramInfo=e;const[t,i,s]=UC(e);this.diagram=t,this.graph=i,this.diagramClasses=s,this.fileLine=e.diagram.sourceInformation.line,this.fileColumn=e.diagram.sourceInformation.column}setupRenderer(){this.renderer.onClassViewDoubleClick=e=>{const t=this.diagramClasses.get(e.class.value.path)?.sourceInformation;if(t){const e=new QT(t.sourceId,t.startLine,t.startColumn);(0,Ve.flowResult)(this.ideStore.executeNavigation(e)).catch(this.ideStore.applicationStore.alertUnhandledError)}}}setRenderer(e){this._renderer=e}*addClassView(e,t){const i=((e,t,i)=>{e.profiles.forEach((e=>{const i=`${e.package}${""===e.package?"":Ia}${e.name}`;if(!t.getOwnNullableProfile(i)){const i=new tE(e.name);SE(AE(t.root,e.package,!0,new Map),i),t.setOwnProfile(i.path,i),e.tags.forEach((e=>M(i.p_tags,new pC(i,e)))),e.stereotypes.forEach((e=>M(i.p_stereotypes,new hC(i,e))))}})),e.enumerations.forEach((e=>{const i=`${e.package}${""===e.package?"":Ia}${e.name}`;if(!t.getOwnNullableEnumeration(i)){const i=new Xa(e.name);SE(AE(t.root,e.package,!0,new Map),i),t.setOwnType(i.path,i)}}));const s=e.class,n=`${s.package}${""===s.package?"":Ia}${s.name}`;let a=t.getOwnNullableClass(n);a||(a=new Ka(s.name),SE(AE(t.root,s.package,!0,new Map),a),t.setOwnType(a.path,a));const r=i.get(a.path)?.isStubbed??!0;return i.set(a.path,{sourceInformation:s.sourceInformation,isStubbed:!1}),e.specializations.forEach((e=>{const s=W(a),n=DC(W(`${e.package}${""===e.package?"":Ia}${e.name}`),t,i,e.sourceInformation);M(s._subclasses,n),n.generalizations.map((e=>e.value.rawType)).includes(s)||M(n.generalizations,qb.create(new Qb(s)))})),r&&jC(a,s,t,i),a})((0,Ne.deserialize)(LC,yield this.ideStore.client.getDiagramClassInfo(e)),this.graph,this.diagramClasses),s=this.renderer.addClassView(i,t);s&&(s.id=((e,t)=>{if(!t.match(/^[\w_-]+$/))throw new Error("Token must only contain digits, letters, or special characters _ and -");const i=e.map((e=>{const i=e.match(new RegExp(`^${t}_(?<count>\\d+)$`));return i?.groups?.count?parseInt(i.groups.count,10):0})).reduce(((e,t)=>Math.max(e,t)),0);return`${t}_${i+1}`})(this.diagram.classViews.map((e=>e.id)),"cview"))}registerCommands(){const e=()=>this.ideStore.tabManagerState.currentTab===this&&this.isDiagramRendererInitialized;this.ideStore.applicationStore.commandService.registerCommand({key:dS.RECENTER,trigger:e,action:()=>this.renderer.recenter()}),this.ideStore.applicationStore.commandService.registerCommand({key:dS.USE_ZOOM_TOOL,trigger:e,action:()=>this.renderer.switchToZoomMode()}),this.ideStore.applicationStore.commandService.registerCommand({key:dS.USE_VIEW_TOOL,trigger:e,action:()=>this.renderer.switchToViewMode()}),this.ideStore.applicationStore.commandService.registerCommand({key:dS.USE_PAN_TOOL,trigger:e,action:()=>this.renderer.switchToPanMode()})}deregisterCommands(){[dS.RECENTER,dS.USE_ZOOM_TOOL,dS.USE_VIEW_TOOL,dS.USE_PAN_TOOL].forEach((e=>this.ideStore.applicationStore.commandService.deregisterCommand(e)))}}class Iy{text="";isCaseSensitive=!1;isRegExp=!1;constructor(){(0,Ve.makeObservable)(this,{text:Ve.observable,isCaseSensitive:Ve.observable,isRegExp:Ve.observable,reset:Ve.action,setText:Ve.action,setCaseSensitive:Ve.action,setRegExp:Ve.action})}reset(){this.setText(""),this.setCaseSensitive(!1),this.setRegExp(!1)}setText(e){this.text=e}setCaseSensitive(e){this.isCaseSensitive=e}setRegExp(e){this.isRegExp=e}}class xy extends B{}const Oy=/^(?:(?:\w[\w$]*)::)*\w[\w$]*$/,wy=/^\/?(?:\w+\/)*\w+(?:\.\w+)*$/,Ry=/(?:(?<url>https?:[/]{2}[^\s"'!*(){}|\\^<>`]*[^\s"':,.!?{}|\\^~[\]`()<>])|(?<path>resource:(?<path_sourceId>\/?(?:\w+\/)*\w+(?:\.\w+)*) (?:line:(?<path_line>\d+)) (?:column:(?<path_column>\d+))))/;class ky{ideStore;constructor(e){this.ideStore=e}}class Py extends ky{result;constructor(e,t){super(e),this.result=t}}class My extends ky{result;constructor(e,t){super(e),this.result=t}}class Ly{ideStore;usageConcept;searchEntries=[];constructor(e,t,i,s){(0,Ve.makeObservable)(this,{searchEntries:Ve.observable,numberOfFiles:Ve.computed,numberOfResults:Ve.computed}),this.ideStore=e,this.usageConcept=t;const n=new Map;i.forEach(((e,t)=>{let i;n.has(e.source)?i=W(n.get(e.source)):(i=new YS,i.sourceId=e.source,n.set(e.source,i));const a=new $S(e.source,e.startLine,e.startColumn,e.endLine,e.endColumn);a.preview=s.find((t=>t.sourceId===e.source&&t.startLine===e.startLine&&t.startColumn===e.startColumn&&t.endLine===e.endLine&&t.endColumn===e.endColumn))?.preview,i.coordinates.push(a)})),this.searchEntries=Array.from(n.keys()).sort(((e,t)=>e.localeCompare(t))).map((e=>{const t=W(n.get(e));return t.setCoordinates(t.coordinates.sort(((e,t)=>e.startColumn-t.startColumn)).sort(((e,t)=>e.startLine-t.startLine))),t}))}dismissSearchEntry(e){F(this.searchEntries,e),this.searchEntries.length||this.ideStore.setReferenceUsageResult(void 0)}get numberOfFiles(){return this.searchEntries.length}get numberOfResults(){return this.searchEntries.flatMap((e=>e.coordinates)).length}}class Fy{searchState;searchEntries=[];constructor(e,t){(0,Ve.makeObservable)(this,{searchEntries:Ve.observable,numberOfFiles:Ve.computed,numberOfResults:Ve.computed}),this.searchState=e,this.searchEntries=t}dismissSearchEntry(e){F(this.searchEntries,e),this.searchEntries.length||this.searchState.setResult(void 0)}get numberOfFiles(){return this.searchEntries.length}get numberOfResults(){return this.searchEntries.flatMap((e=>e.coordinates)).length}}class Dy{ideStore;loadState=Ge.create();searchInput;text="";isCaseSensitive=!1;isRegExp=!1;result;constructor(e){(0,Ve.makeObservable)(this,{text:Ve.observable,isCaseSensitive:Ve.observable,isRegExp:Ve.observable,result:Ve.observable,setText:Ve.action,setCaseSensitive:Ve.action,setRegExp:Ve.action,setResult:Ve.action,search:Ve.flow}),this.ideStore=e}setSearchInput(e){this.searchInput=e}focus(){this.searchInput?.focus()}select(){this.searchInput?.select()}*search(){if(!this.loadState.isInProgress){this.loadState.inProgress();try{const e=(yield this.ideStore.client.searchText(this.text,this.isCaseSensitive,this.isRegExp)).map((e=>(e=>(0,Ne.deserialize)(YS,e))(e)));this.setResult(new Fy(this,e)),this.loadState.pass()}catch(e){G(e),this.ideStore.applicationStore.notificationService.notifyError(e),this.loadState.fail()}}}setText(e){this.text=e}setCaseSensitive(e){this.isCaseSensitive=e}setRegExp(e){this.isRegExp=e}setResult(e){this.result=e}}class By{applicationStore;initState=Ge.create();directoryTreeState;conceptTreeState;client;activePanelMode=ET.TERMINAL;panelGroupDisplayState=new lC({initial:0,default:300,snap:100});activeActivity=bT.CONCEPT_EXPLORER;sideBarDisplayState=new lC({initial:300,default:300,snap:150});tabManagerState=new oS(this);executionState=Ge.create();navigationStack=[];fileSearchCommandLoadState=Ge.create();fileSearchCommandState=new Iy;openFileSearchCommand=!1;fileSearchCommandResults=[];codeFixSuggestion;referenceUsageLoadState=Ge.create();referenceUsageResult;textSearchState;testRunState=Ge.create();testRunnerState;constructor(e){var t;(0,Ve.makeObservable)(this,{activePanelMode:Ve.observable,activeActivity:Ve.observable,navigationStack:Ve.observable,openFileSearchCommand:Ve.observable,fileSearchCommandResults:Ve.observable,fileSearchCommandState:Ve.observable,codeFixSuggestion:Ve.observable,referenceUsageResult:Ve.observable,testRunnerState:Ve.observable,setCodeFixSuggestion:Ve.action,setReferenceUsageResult:Ve.action,setOpenFileSearchCommand:Ve.action,setActivePanelMode:Ve.action,setActiveActivity:Ve.action,setTestRunnerState:Ve.action,pullInitializationActivity:Ve.action,pullExecutionStatus:Ve.action,initialize:Ve.flow,checkIfSessionWakingUp:Ve.flow,loadDiagram:Ve.flow,loadFile:Ve.flow,execute:Ve.flow,executeGo:Ve.flow,manageExecuteGoResult:Ve.flow,executeTests:Ve.flow,executeFullTestSuite:Ve.flow,executeNavigation:Ve.flow,navigateBack:Ve.flow,fullReCompile:Ve.flow,command:Ve.flow,findUsagesFromCoordinate:Ve.flow,findUsages:Ve.flow,renameConcept:Ve.flow,movePackageableElements:Ve.flow,updateFileUsingSuggestionCandidate:Ve.flow,updateFile:Ve.flow,searchFile:Ve.flow,createNewDirectory:Ve.flow,createNewFile:Ve.flow,renameFile:Ve.flow,deleteDirectoryOrFile:Ve.flow}),this.applicationStore=e,this.textSearchState=new Dy(this),this.directoryTreeState=new NS(this),this.conceptTreeState=new IS(this),this.client=new cC(new Se({baseUrl:this.applicationStore.config.useDynamicPureServer?window.location.origin:this.applicationStore.config.pureUrl})),(t=this).applicationStore.terminalService.terminal.setup({webLinkProvider:{handler:(e,i)=>{const s=i.match(Ry);s?.groups?.url?t.applicationStore.navigationService.navigator.visitAddress(s.groups.url):s?.groups?.path&&s.groups.path_sourceId&&s.groups.path_column&&s.groups.path_line&&(0,Ve.flowResult)(t.loadFile(s.groups.path_sourceId,new QT(s.groups.path_sourceId,Number.parseInt(s.groups.path_line,10),Number.parseInt(s.groups.path_column,10)))).catch(t.applicationStore.alertUnhandledError)},regex:Ry},commands:[{command:mS.GO,description:"Run the go() function in welcome file",usage:"go",aliases:["compile","executeGo"],handler:async e=>(0,Ve.flowResult)(t.executeGo()).catch(t.applicationStore.alertUnhandledError)},{command:mS.TEST,description:"Run the test suite (by path if specified)",usage:"test [/some/path]",handler:async e=>{const i=R(e);!i||i.match(Oy)?await(0,Ve.flowResult)(t.executeTests(i??_T)).catch(t.applicationStore.alertUnhandledError):t.applicationStore.terminalService.terminal.fail("command requires a valid package/concept path")}},{command:mS.REMOVE,description:"Remove a file or directory",usage:"rm /some/path",handler:async e=>{const i=R(e);i?.match(wy)?await(0,Ve.flowResult)(t.deleteDirectoryOrFile(i,void 0,void 0)).catch(t.applicationStore.alertUnhandledError):t.applicationStore.terminalService.terminal.fail("rm command requires a valid file/directory path")}},{command:mS.MOVE,description:"Move a file",usage:"mv /old/path /new/path",handler:async e=>{const i=e[0];if(!i?.match(wy))return void t.applicationStore.terminalService.terminal.fail("command requires a valid old file path");const s=e[1];s?.match(wy)?await(0,Ve.flowResult)(t.renameFile(i,s)).catch(t.applicationStore.alertUnhandledError):t.applicationStore.terminalService.terminal.fail("command requires a valid new file path")}},{command:mS.NEW_DIRECTORY,description:"Create a new directory",usage:"mkdir /some/path",handler:async e=>{const i=e[0];i?.match(wy)?await(0,Ve.flowResult)(t.createNewDirectory(i)).catch(t.applicationStore.alertUnhandledError):t.applicationStore.terminalService.terminal.fail("command requires a valid directory path")}},{command:mS.NEW_FILE,description:"Create a new file",usage:"touch /some/path",handler:async e=>{const i=e[0];i?.match(wy)?await(0,Ve.flowResult)(t.createNewDirectory(i)).catch(t.applicationStore.alertUnhandledError):t.applicationStore.terminalService.terminal.fail("command requires a valid path")}},{command:mS.WELCOME,description:"Open the welcome file",usage:"welcome",aliases:["start"],handler:async()=>{await(0,Ve.flowResult)(t.loadFile(gT)).catch(t.applicationStore.alertUnhandledError)}},{command:mS.OPEN_FILE,description:"Open a file",usage:"open /some/file/path",aliases:["edit","code","vi"],handler:async e=>{const i=e[0];i?.match(Oy)?await(0,Ve.flowResult)(t.loadFile(i)).catch(t.applicationStore.alertUnhandledError):t.applicationStore.terminalService.terminal.fail("command requires a valid file path")}},{command:mS.OPEN_DIRECTORY,description:"Open a directory or a package",usage:"cd /some/directory/path | cd some::package::path",handler:async e=>{const i=e[0];if(i&&(i.match(wy)||i.match(Oy)))try{i.match(Oy)?await(0,Ve.flowResult)(t.conceptTreeState.revealConcept(i,{forceOpenExplorerPanel:!0,packageOnly:!0})):await(0,Ve.flowResult)(t.directoryTreeState.revealPath(i,{forceOpenExplorerPanel:!0,directoryOnly:!0}))}catch(e){G(e),t.applicationStore.terminalService.terminal.fail(e.message)}else t.applicationStore.terminalService.terminal.fail("command requires a valid directory or concept path")}},{command:mS.LIST_DIRECTORY,description:"List children of a directory or package",usage:"cd /some/directory/path | cd some::package::path | cd ::",handler:async e=>{const i=e[0];if(i&&(i.match(wy)||i.match(Oy)||[fT,_T].includes(i)))try{i.match(Oy)||i===_T?t.applicationStore.terminalService.terminal.output((await t.client.getConceptChildren(i)).map((e=>(0,Ne.deserialize)(JT,e))).map((e=>e.li_attr instanceof YT?`${ht.BRIGHT_CYAN}${e.text}${ht.RESET}`:e.text)).join("\n")):t.applicationStore.terminalService.terminal.output((await t.client.getDirectoryChildren(i)).map((e=>(0,Ne.deserialize)(SS,e))).map((e=>e.isFolderNode?`${ht.BRIGHT_CYAN}${e.text}${ht.RESET}`:e.text)).join("\n"))}catch(e){G(e),t.applicationStore.terminalService.terminal.fail(e.message)}else t.applicationStore.terminalService.terminal.fail("command requires a valid directory or package path")}},{command:mS.CLEAR,description:"Clear the terminal",usage:"clear",handler:async e=>{t.applicationStore.terminalService.terminal.clear()}},{command:mS.ECHO,description:"Print text",usage:"echo 'some string'",handler:async(e,i,s)=>{const n=s.substring(s.indexOf(i)+i.length).trim();t.applicationStore.terminalService.terminal.output(n.replaceAll(/\\u001b/g,""))}},{command:mS.ANSI,description:"Show common ANSI escape sequences used for styling",usage:"ansi",handler:async e=>(t.applicationStore.terminalService.terminal.showCommonANSIEscapeSequences(),Promise.resolve())},{command:mS.HELP,description:"Show help",usage:"help",handler:async e=>(t.applicationStore.terminalService.terminal.showHelp(),Promise.resolve())}]})}setOpenFileSearchCommand(e){this.openFileSearchCommand=e}setActivePanelMode(e){this.activePanelMode=e}setCodeFixSuggestion(e){this.codeFixSuggestion=e}setReferenceUsageResult(e){this.referenceUsageResult=e}setTestRunnerState(e){this.testRunnerState=e}cleanUp(){this.applicationStore.alertService.setBlockingAlert(void 0),this.applicationStore.alertService.setActionAlertInfo(void 0),this.applicationStore.terminalService.terminal.dispose()}*initialize(e,t,i,s){if(this.initState.isInInitialState){this.client.mode=i,this.client.compilerMode=s,this.initState.inProgress();try{this.applicationStore.alertService.setBlockingAlert({message:"Loading Pure IDE...",prompt:"Please be patient as we are building the initial application state",showLoading:!0});const i=this.client.initialize(!e).catch((e=>{G(e),this.applicationStore.notificationService.notifyError(e),this.initState.fail(),this.applicationStore.alertService.setBlockingAlert({message:"Failed to initialize IDE",prompt:"Before debugging, make sure the server is running then restart the application"})}));yield this.pullInitializationActivity(),this.applicationStore.alertService.setBlockingAlert(void 0);const s=(0,Ve.flowResult)(this.loadFile(gT)),a=this.directoryTreeState.initialize(),r=this.conceptTreeState.initialize(),o=(n=yield i).error?n.source?(0,Ne.deserialize)(wS,n):(0,Ne.deserialize)(OS,n):(0,Ne.deserialize)(xS,n);o.text&&(this.applicationStore.terminalService.terminal.output(o.text,{systemCommand:"initialize application"}),this.setActivePanelMode(ET.TERMINAL),this.panelGroupDisplayState.open()),o instanceof OS?o.sessionError?this.applicationStore.alertService.setBlockingAlert({message:"Session corrupted",prompt:o.sessionError}):o instanceof wS&&(yield(0,Ve.flowResult)(this.loadFile(o.source,new ZT(o.source,o.line,o.column,new xy((o.text??"").split("\n").filter(Boolean)[0]))))):(t&&(yield t()),yield Promise.all([s,a,r])),this.initState.pass()}catch(e){G(e),this.applicationStore.notificationService.notifyError(e),this.initState.fail(),this.applicationStore.alertService.setActionAlertInfo({message:"Failed to initialize IDE",prompt:"This can either due to an internal server error, which you would need to manually resolve; or a compilation, which you can proceed to debug",type:Wt.CAUTION,actions:[{label:"Compile to debug",type:Kt.PROCEED_WITH_CAUTION,default:!0,handler:()=>{(0,Ve.flowResult)(this.executeGo()).catch(this.applicationStore.alertUnhandledError)}}]})}finally{this.applicationStore.terminalService.terminal.clear()}var n}else this.applicationStore.notificationService.notifyIllegalState("Editor store is re-initialized")}*checkIfSessionWakingUp(e){this.applicationStore.alertService.setBlockingAlert({message:e??"Checking IDE session...",showLoading:!0}),yield this.pullInitializationActivity((t=>{t.text&&this.applicationStore.alertService.setBlockingAlert({message:e??"Checking IDE session...",prompt:t.text,showLoading:!0})})),this.applicationStore.alertService.setBlockingAlert(void 0)}async pullInitializationActivity(e){return(await this.client.getInitializationActivity()).initializing?new Promise(((e,t)=>setTimeout((()=>{try{e(this.pullInitializationActivity())}catch(e){t(e)}}),1e3))):Promise.resolve()}registerCommands(){this.applicationStore.commandService.registerCommand({key:cS.SEARCH_FILE,action:()=>this.setOpenFileSearchCommand(!0)}),this.applicationStore.commandService.registerCommand({key:cS.SEARCH_TEXT,action:()=>{this.setActivePanelMode(ET.SEARCH),this.panelGroupDisplayState.open(),this.textSearchState.focus(),this.textSearchState.select()}}),this.applicationStore.commandService.registerCommand({key:cS.GO_TO_FILE,action:()=>{this.tabManagerState.currentTab instanceof _S&&this.directoryTreeState.revealPath(this.tabManagerState.currentTab.filePath,{forceOpenExplorerPanel:!0})}}),this.applicationStore.commandService.registerCommand({key:cS.TOGGLE_TERMINAL_PANEL,action:()=>{this.panelGroupDisplayState.isOpen?this.activePanelMode!==ET.TERMINAL?(this.setActivePanelMode(ET.TERMINAL),this.applicationStore.terminalService.terminal.focus()):this.applicationStore.terminalService.terminal.isFocused()?this.panelGroupDisplayState.close():this.applicationStore.terminalService.terminal.focus():(this.setActivePanelMode(ET.TERMINAL),this.panelGroupDisplayState.open())}}),this.applicationStore.commandService.registerCommand({key:cS.EXECUTE,action:()=>{(0,Ve.flowResult)(this.executeGo()).catch(this.applicationStore.alertUnhandledError)}}),this.applicationStore.commandService.registerCommand({key:cS.FULL_RECOMPILE,action:()=>{(0,Ve.flowResult)(this.fullReCompile(!1)).catch(this.applicationStore.alertUnhandledError)}}),this.applicationStore.commandService.registerCommand({key:cS.FULL_RECOMPILE_WITH_FULL_INIT,action:()=>{(0,Ve.flowResult)(this.fullReCompile(!0)).catch(this.applicationStore.alertUnhandledError)}}),this.applicationStore.commandService.registerCommand({key:cS.RUN_ALL_TESTS,action:()=>{(0,Ve.flowResult)(this.executeFullTestSuite(!1)).catch(this.applicationStore.alertUnhandledError)}}),this.applicationStore.commandService.registerCommand({key:cS.RUN_RELAVANT_TESTS,action:()=>{(0,Ve.flowResult)(this.executeFullTestSuite(!0)).catch(this.applicationStore.alertUnhandledError)}})}deregisterCommands(){[cS.SEARCH_FILE,cS.SEARCH_TEXT,cS.GO_TO_FILE,cS.TOGGLE_TERMINAL_PANEL,cS.EXECUTE,cS.FULL_RECOMPILE,cS.FULL_RECOMPILE_WITH_FULL_INIT,cS.RUN_ALL_TESTS,cS.RUN_RELAVANT_TESTS].forEach((e=>this.applicationStore.commandService.deregisterCommand(e)))}setActiveActivity(e,t){this.sideBarDisplayState.isOpen?e!==this.activeActivity||t?.keepShowingIfMatchedCurrent||this.sideBarDisplayState.close():this.sideBarDisplayState.open(),this.activeActivity=e}*loadDiagram(e,t,i,s){let n=this.tabManagerState.tabs.find((e=>e instanceof Ay&&e.diagramPath===t));n||(yield(0,Ve.flowResult)(this.checkIfSessionWakingUp()),n=new Ay(this,(0,Ne.deserialize)(MC,yield this.client.getDiagramInfo(t)),t,e,i,s)),this.tabManagerState.openTab(n)}*loadFile(e,t){try{let i=this.tabManagerState.tabs.find((t=>t instanceof _S&&t.filePath===e));i||(yield(0,Ve.flowResult)(this.checkIfSessionWakingUp()),i=new _S(this,(0,Ne.deserialize)(qT,yield this.client.getFile(e)),e)),this.tabManagerState.openTab(i),t&&(i.textEditorState.setForcedCursorPosition({lineNumber:t.line,column:t.column}),t instanceof ZT&&i.showError(t))}catch(t){G(t),this.applicationStore.terminalService.terminal.fail(t.message,{systemCommand:`load file ${e}`})}}async reloadFile(e){const t=[];await Promise.all(this.tabManagerState.tabs.map((async i=>{if(i instanceof _S&&i.filePath===e)i.setFile((0,Ne.deserialize)(qT,await this.client.getFile(e)));else if(i instanceof Ay&&i.filePath===e)try{i.rebuild((0,Ne.deserialize)(MC,await this.client.getDiagramInfo(i.diagramPath)))}catch{t.push(i)}}))),t.forEach((e=>this.tabManagerState.closeTab(e)))}*execute(e,t,i,s,n,a){if(!this.initState.hasCompleted)return void this.applicationStore.notificationService.notifyWarning("Can't execute while initializing application");if(this.executionState.isInProgress)return void this.applicationStore.notificationService.notifyWarning("Another execution is already in progress!");this.setCodeFixSuggestion(void 0),this.executionState.inProgress();const r=this.tabManagerState.tabs.filter(K(_S)).map((e=>e.filePath));try{const c=this.tabManagerState.tabs.map((e=>e instanceof _S?{path:e.filePath,code:e.file.content}:e instanceof Ay?{diagram:e.diagramPath,code:FC(e.diagram)}:void 0)).filter($),l=this.client.execute(c,e,t),d=1e3;let u,p=!1;yield Promise.all([l.then((e=>{p=!0,u=e})),new Promise(((e,t)=>setTimeout((()=>{!p&&i&&(this.applicationStore.alertService.setBlockingAlert({message:"Executing...",prompt:"Please do not refresh the application",showLoading:!0}),e(this.pullExecutionStatus().finally((()=>{this.applicationStore.alertService.setBlockingAlert(void 0)})))),e()}),d,!0)))]);const h=(o=W(u)).error?o.candidateName&&o.PureUnmatchedFunctionException?(0,Ne.deserialize)(BS,o):o.candidateName&&o.candidates?(0,Ne.deserialize)(jS,o):(0,Ne.deserialize)(PS,o):o.jumpTo?(0,Ne.deserialize)(LS,o):o.tests?(0,Ne.deserialize)(GS,o):(0,Ne.deserialize)(kS,o);this.applicationStore.alertService.setBlockingAlert(void 0),h instanceof PS?(this.applicationStore.notificationService.notifyError("Execution failed"+(h.text?`: ${h.text}`:"")),this.applicationStore.terminalService.terminal.fail(h.text,{systemCommand:n??"execute"}),h.sessionError?this.applicationStore.alertService.setBlockingAlert({message:"Session corrupted",prompt:h.sessionError}):yield(0,Ve.flowResult)(s(h,r))):(a?.silentTerminalOnSuccess||this.applicationStore.terminalService.terminal.output(h.text??"",{clear:a?.clearTerminal,systemCommand:n??"execute"}),h instanceof kS?(this.applicationStore.notificationService.notifySuccess("Execution succeeded!"),h.reinit?(this.applicationStore.alertService.setBlockingAlert({message:"Reinitializing...",prompt:"Please do not refresh the application",showLoading:!0}),this.initState.reset(),yield(0,Ve.flowResult)(this.initialize(!1,(()=>(0,Ve.flowResult)(this.execute(e,t,i,s,n))),this.client.mode,this.client.compilerMode))):yield(0,Ve.flowResult)(s(h,r))):yield(0,Ve.flowResult)(s(h,r)))}catch(e){G(e),this.applicationStore.notificationService.notifyError(e),this.applicationStore.terminalService.terminal.fail(e.message,{systemCommand:n??"execute"})}finally{this.applicationStore.alertService.setBlockingAlert(void 0),this.executionState.reset()}var o}async pullExecutionStatus(){const e=await this.client.getExecutionActivity();return this.applicationStore.alertService.setBlockingAlert({message:"Executing...",prompt:e.text?e.text:"Please do not refresh the application",showLoading:!0}),e.executing?new Promise(((e,t)=>setTimeout((()=>{try{e(this.pullExecutionStatus())}catch(e){t(e)}}),500))):(this.applicationStore.alertService.setBlockingAlert({message:"Executing...",prompt:"Please do not refresh the application",showLoading:!0}),Promise.resolve())}*executeGo(){yield(0,Ve.flowResult)(this.execute("executeGo",{},!0,((e,t)=>(0,Ve.flowResult)(this.manageExecuteGoResult(e,t))),mS.GO,{clearTerminal:!0}))}*manageExecuteGoResult(e,t){const i=this.refreshTrees();if(this.tabManagerState.tabs.filter(K(_S)).filter((e=>t.includes(e.filePath))).forEach((e=>e.clearError())),e instanceof PS)e.source&&(yield(0,Ve.flowResult)(this.loadFile(e.source,new ZT(e.source,e.line,e.column,new xy(e.text.split("\n").filter(Boolean)[0]))))),e instanceof BS?(this.setCodeFixSuggestion(new Py(this,e)),this.setActivePanelMode(ET.CODE_FIX_SUGGESTION),this.panelGroupDisplayState.open()):e instanceof jS&&(this.setCodeFixSuggestion(new My(this,e)),this.setActivePanelMode(ET.CODE_FIX_SUGGESTION),this.panelGroupDisplayState.open()),this.resetChangeDetection(t);else if(e instanceof kS){if(e.modifiedFiles.length)for(const t of e.modifiedFiles)yield this.reloadFile(t);this.resetChangeDetection(t.concat(e.modifiedFiles)),!this.initState.hasFailed&&this.conceptTreeState.treeData||(yield(0,Ve.flowResult)(this.conceptTreeState.initialize()),this.initState.pass())}yield i}*executeTests(e,t){t?this.applicationStore.notificationService.notifyUnsupportedFeature("Run relevant tests! (reason: VCS required)"):this.testRunState.isInProgress?this.applicationStore.notificationService.notifyWarning("Test runner is working. Please try again later"):(this.testRunState.inProgress(),yield(0,Ve.flowResult)(this.execute("executeTests",{path:e,relevantTestsOnly:t},!1,(async(e,t)=>{const i=this.refreshTrees();if(e instanceof PS)e.source&&await(0,Ve.flowResult)(this.loadFile(e.source,new ZT(e.source,e.line,e.column,new xy(e.text.split("\n").filter(Boolean)[0])))),this.setActivePanelMode(ET.TERMINAL),this.panelGroupDisplayState.open(),this.testRunState.fail();else if(e instanceof GS){this.setActivePanelMode(ET.TEST_RUNNER),this.panelGroupDisplayState.open();const t=new aC(this,e);this.setTestRunnerState(t),await(0,Ve.flowResult)(t.buildTestTreeData()),t.refreshTree(),await(0,Ve.flowResult)(t.pollTestRunnerResult()),this.testRunState.pass()}this.resetChangeDetection(t),await i}),`${mS.TEST} ${e}`)))}*executeFullTestSuite(e){yield(0,Ve.flowResult)(this.executeTests(_T,e))}*executeNavigation(e){this.navigationStack.push(e),yield(0,Ve.flowResult)(this.execute("getConcept",{file:e.file,line:e.line,column:e.column},!1,(async(e,t)=>{e instanceof LS&&await(0,Ve.flowResult)(this.loadFile(e.jumpTo.source,new QT(e.jumpTo.source,e.jumpTo.line,e.jumpTo.column))),this.resetChangeDetection(t)}),"navigate",{silentTerminalOnSuccess:!0}))}*navigateBack(){if(0!==this.navigationStack.length){if(this.navigationStack.length>0){const e=this.navigationStack.pop();e&&(yield(0,Ve.flowResult)(this.loadFile(e.file,e)))}}else this.applicationStore.notificationService.notifyWarning("Can't navigate back any further - navigation stack is empty")}*fullReCompile(e){this.applicationStore.alertService.setActionAlertInfo({message:"Are you sure you want to perform a full re-compile?",prompt:"This may take a long time to complete",type:Wt.CAUTION,actions:[{label:"Perform full re-compile",type:Kt.PROCEED_WITH_CAUTION,handler:()=>{(0,Ve.flowResult)(this.execute("executeSaveAndReset",{},!0,(async(t,i)=>{this.initState.reset(),await(0,Ve.flowResult)(this.initialize(e,void 0,this.client.mode,this.client.compilerMode)),this.resetChangeDetection(i),this.setActiveActivity(bT.CONCEPT_EXPLORER,{keepShowingIfMatchedCurrent:!0})}),"recompile")).catch(this.applicationStore.alertUnhandledError)}},{label:"Abort",type:Kt.PROCEED,default:!0}]})}resetChangeDetection(e){this.tabManagerState.tabs.filter(K(_S)).filter((t=>e.includes(t.filePath))).forEach((e=>e.resetChangeDetection()))}async refreshTrees(){await Promise.all([this.directoryTreeState.refreshTreeData(),this.conceptTreeState.refreshTreeData()])}async revealConceptInTree(e){let t;try{t=await this.client.getConceptInfo(e.file,e.line,e.column)}catch{return void this.applicationStore.notificationService.notifyWarning("Can't find concept info. Please make sure that the code compiles and that you are looking for references of non primitive types!")}if(t.path){this.applicationStore.alertService.setBlockingAlert({message:"Revealing concept in tree...",showLoading:!0});try{this.activeActivity!==bT.CONCEPT_EXPLORER&&this.setActiveActivity(bT.CONCEPT_EXPLORER);const e=t.path.split(Ia);let i=W(e[0]),s=W(this.conceptTreeState.getTreeData().nodes.get(i));for(let t=1;t<e.length;++t)i=`${i}${Ia}${e[t]}`,this.conceptTreeState.getTreeData().nodes.get(i)||await(0,Ve.flowResult)(this.conceptTreeState.expandNode(s)),s=W(this.conceptTreeState.getTreeData().nodes.get(i));this.conceptTreeState.setSelectedNode(s)}catch{this.applicationStore.notificationService.notifyWarning("Error revealing concept. Please make sure that the code compiles and that you are looking for a valid concept")}finally{this.applicationStore.alertService.setBlockingAlert(void 0)}}}*command(e,t){try{const s=(i=yield e()).error?(0,Ne.deserialize)(oC,i):new rC;return!(s instanceof oC)||(s.errorDialog?this.applicationStore.notificationService.notifyWarning(`Can't run command '${t}': ${s.text}`):this.applicationStore.terminalService.terminal.output(s.text,{systemCommand:t}),!1)}catch(e){return G(e),this.applicationStore.notificationService.notifyError(e),this.applicationStore.terminalService.terminal.fail(e.message,{systemCommand:t}),!1}var i}async getConceptInfo(e){try{return await this.client.getConceptInfo(e.file,e.line,e.column)}catch{return void this.applicationStore.notificationService.notifyWarning("Can't find concept info. Please make sure that the code compiles and that you are looking for references of non primitive types!")}}async findConceptUsages(e,t){return(await this.client.getUsages(e,t)).map((e=>(0,Ne.deserialize)(iS,e)))}*findUsagesFromCoordinate(e){const t=yield this.getConceptInfo(e);t&&(yield(0,Ve.flowResult)(this.findUsages(t)))}*findUsages(e){try{this.referenceUsageLoadState.inProgress(),this.applicationStore.alertService.setBlockingAlert({message:"Finding concept usages...",prompt:`Finding references of ${tS(e)}`,showLoading:!0});const t=yield this.findConceptUsages(e.pureType===HT.ENUM_VALUE?eS.ENUM:e.pureType===HT.PROPERTY||e.pureType===HT.QUALIFIED_PROPERTY?eS.PROPERTY:eS.ELEMENT,(e.owner?[`'${e.owner}'`]:[]).concat(`'${e.path}'`)),i=(yield this.client.getTextSearchPreview(t.map((e=>(0,Ne.serialize)($S,new $S(e.source,e.startLine,e.startColumn,e.endLine,e.endColumn)))))).map((e=>(0,Ne.deserialize)($S,e)));this.setReferenceUsageResult(new Ly(this,e,t,i)),this.setActivePanelMode(ET.REFERENCES),this.panelGroupDisplayState.open()}catch(e){G(e),this.applicationStore.notificationService.notifyError(e)}finally{this.applicationStore.alertService.setBlockingAlert(void 0),this.referenceUsageLoadState.complete()}}*renameConcept(e,t,i,s){try{yield this.client.renameConcept({oldName:e,newName:t,pureType:i,sourceInformations:s.map((e=>({sourceId:e.source,line:e.line,column:e.column})))});const n=s.map((e=>e.source));for(const e of n)yield this.reloadFile(e);yield this.refreshTrees(),this.applicationStore.notificationService.notifyWarning("Please re-compile the code after refacting")}catch(t){G(t),this.applicationStore.notificationService.notifyError(`Can't rename concept '${e}'`)}}*movePackageableElements(e){try{yield this.client.movePackageableElements(e.map((e=>({pureName:e.pureName,pureType:e.pureType,sourcePackage:e.sourcePackage,destinationPackage:e.destinationPackage,sourceInformations:e.usages.map((e=>({sourceId:e.source,line:e.line,column:e.column})))}))));const t=(0,A.default)(e.flatMap((e=>e.usages.map((e=>e.source)))));for(const e of t)yield this.reloadFile(e);yield this.refreshTrees(),this.applicationStore.notificationService.notifyWarning("Please re-compile the code after refacting")}catch(e){G(e),this.applicationStore.notificationService.notifyError(`Can't move packageable elements:\n${e.message}`)}}*updateFileUsingSuggestionCandidate(e){this.setCodeFixSuggestion(void 0),yield(0,Ve.flowResult)(this.updateFile(e.fileToBeModified,e.lineToBeModified,e.columnToBeModified,e.add,e.messageToBeModified)),this.setActivePanelMode(ET.TERMINAL),this.panelGroupDisplayState.open()}*updateFile(e,t,i,s,n){try{const a=yield this.client.updateSource([{path:e,line:t,column:i,message:n,add:s}]);if(a.modifiedFiles.length)for(const e of a.modifiedFiles)yield this.reloadFile(e);this.applicationStore.notificationService.notifyWarning("Please re-compile the code after refacting")}catch(t){G(t),this.applicationStore.notificationService.notifyError(`Can't update file '${e}'`)}}*searchFile(){this.fileSearchCommandLoadState.isInProgress||(this.fileSearchCommandLoadState.inProgress(),this.fileSearchCommandResults=yield this.client.findFiles(this.fileSearchCommandState.text,this.fileSearchCommandState.isRegExp),this.fileSearchCommandLoadState.pass())}*createNewDirectory(e){try{yield(0,Ve.flowResult)(this.command((()=>this.client.createFolder(XT(e))),mS.NEW_DIRECTORY)),yield(0,Ve.flowResult)(this.directoryTreeState.refreshTreeData())}catch(e){G(e),this.applicationStore.notificationService.notifyError(e)}}*createNewFile(e){try{const t=yield(0,Ve.flowResult)(this.command((()=>this.client.createFile(XT(e))),mS.NEW_FILE));yield(0,Ve.flowResult)(this.directoryTreeState.refreshTreeData()),t&&(yield(0,Ve.flowResult)(this.loadFile(e)))}catch(e){G(e),this.applicationStore.notificationService.notifyError(e)}}*renameFile(e,t){try{yield(0,Ve.flowResult)(this.command((()=>this.client.renameFile(e,t)),mS.MOVE)),yield(0,Ve.flowResult)(this.directoryTreeState.refreshTreeData());const i=this.tabManagerState.tabs.find((t=>t instanceof _S&&t.filePath===e));i&&this.tabManagerState.closeTab(i)}catch(e){G(e),this.applicationStore.notificationService.notifyError(e)}}*deleteDirectoryOrFile(e,t,i){const s=async()=>{await(0,Ve.flowResult)(this.command((()=>this.client.deleteDirectoryOrFile(XT(e))),mS.REMOVE));this.tabManagerState.tabs.filter((i=>i instanceof _S&&(void 0===t||t?i.filePath.startsWith(`${e}/`):i.filePath===e))).forEach((e=>this.tabManagerState.closeTab(e))),await(0,Ve.flowResult)(this.directoryTreeState.refreshTreeData())};void 0===t||void 0===i?s().catch(this.applicationStore.alertUnhandledError):this.applicationStore.alertService.setActionAlertInfo({message:`Are you sure you would like to delete this ${t?"directory":"file"}?`,prompt:i?"Beware! This directory is not empty, this action is not undo-able, you have to manually revert using VCS":"Beware! This action is not undo-able, you have to manually revert using VCS",type:Wt.CAUTION,actions:[{label:"Delete anyway",type:Kt.PROCEED_WITH_CAUTION,handler:()=>{s().catch(this.applicationStore.alertUnhandledError)}},{label:"Abort",type:Kt.PROCEED,default:!0}]})}}const jy=(0,Xt.createContext)(void 0),Uy=({children:e})=>{const t=Qt(),i=(0,Ft.useLocalObservable)((()=>new By(t)));return(0,E.jsx)(jy.Provider,{value:i,children:e})},Vy=()=>W((0,Xt.useContext)(jy),"Can't find editor store in context"),Gy=(0,Ft.observer)((()=>{const e=Vy(),t=Qt().terminalService.terminal,i=(0,Xt.useRef)(null),{ref:s,width:n,height:a}=(0,pn.useResizeDetector)();(0,Xt.useEffect)((()=>(i.current&&t.searchConfig.setSearchInput(i.current),()=>t.searchConfig.setSearchInput(void 0))),[t]),(0,Xt.useEffect)((()=>{s.current&&t.mount(s.current)}),[t,s]),(0,Xt.useEffect)((()=>{e.panelGroupDisplayState.isOpen&&e.activePanelMode===ET.TERMINAL&&t.focus()}),[t,e.panelGroupDisplayState.isOpen,e.activePanelMode]),(0,Xt.useEffect)((()=>{t.autoResize()}),[t,n,a]);const r=()=>{t.clear(),t.focus()},o=()=>t.copyAll();return t.isSetup?(0,E.jsxs)("div",{className:"terminal-panel",children:[(0,E.jsxs)("div",{className:"terminal-panel__header",children:[(0,E.jsxs)("div",{className:"terminal-panel__header__group",children:[(0,E.jsxs)("div",{className:"terminal-panel__header__searcher__input__container",children:[(0,E.jsx)("input",{ref:i,className:"terminal-panel__header__searcher__input input--dark",spellCheck:!1,value:t.searchConfig.searchText,onChange:e=>{const i=e.target.value;t.setSearchText(i),t.search(i)},onKeyDown:e=>{"Enter"===e.code?e.shiftKey?t.findPrevious():t.findNext():"Escape"===e.code&&(t.clearSearch(),t.focus())},placeholder:"Find"}),(0,E.jsxs)("div",{className:"terminal-panel__header__searcher__input__actions",children:[(0,E.jsx)("button",{className:"terminal-panel__header__searcher__input__action",tabIndex:-1,title:"Clear Search",onClick:()=>t.clearSearch(),children:(0,E.jsx)(Ii,{})}),(0,E.jsx)("button",{className:(0,Ut.clsx)("terminal-panel__header__searcher__input__action",{"terminal-panel__header__searcher__input__action--active":t.searchConfig.matchCaseSensitive}),tabIndex:-1,title:"Match Case",onClick:()=>t.setSearchCaseSensitive(!t.searchConfig.matchCaseSensitive),children:(0,E.jsx)(Oi,{})}),(0,E.jsx)("button",{className:(0,Ut.clsx)("terminal-panel__header__searcher__input__action",{"terminal-panel__header__searcher__input__action--active":t.searchConfig.matchWholeWord}),tabIndex:-1,title:"Match Whole Word",onClick:()=>t.setSearchWholeWord(!t.searchConfig.matchWholeWord),children:(0,E.jsx)(wi,{})}),(0,E.jsx)("button",{className:(0,Ut.clsx)("terminal-panel__header__searcher__input__action",{"terminal-panel__header__searcher__input__action--active":t.searchConfig.useRegex}),tabIndex:-1,title:"Use Regular Expression",onClick:()=>t.setSearchRegex(!t.searchConfig.useRegex),children:(0,E.jsx)(xi,{})})]})]}),(0,E.jsx)("div",{className:"terminal-panel__header__searcher__result",children:t.searchConfig.resultCount?`${void 0!==t.searchConfig.currentResultIndex?t.searchConfig.currentResultIndex+1:0} of ${t.searchConfig.resultCount}`:"No results"}),(0,E.jsx)("button",{className:"terminal-panel__header__action terminal-panel__header__group__action",title:"Previous Match (Shift+Enter)",disabled:!t.searchConfig.resultCount,tabIndex:-1,onClick:()=>{t.findPrevious()},children:(0,E.jsx)(Ts,{className:"terminal-panel__header__action__icon"})}),(0,E.jsx)("button",{className:"terminal-panel__header__action terminal-panel__header__group__action",title:"Next Match (Enter)",disabled:!t.searchConfig.resultCount,tabIndex:-1,onClick:()=>{t.findNext()},children:(0,E.jsx)(vs,{className:"terminal-panel__header__action__icon"})})]}),(0,E.jsx)("div",{className:"terminal-panel__header__group__separator"}),(0,E.jsxs)("div",{className:"terminal-panel__header__group",children:[(0,E.jsx)("button",{className:(0,Ut.clsx)("terminal-panel__header__action terminal-panel__header__group__action",{"terminal-panel__header__action--active":t.preserveLog}),title:"Toggle Preserve Console",tabIndex:-1,onClick:()=>t.setPreserveLog(!t.preserveLog),children:(0,E.jsx)(Yi,{className:"terminal-panel__header__action__icon"})}),(0,E.jsx)("button",{className:"terminal-panel__header__action terminal-panel__header__group__action",title:"Copy Text Content",tabIndex:-1,onClick:o,children:(0,E.jsx)(xs,{className:"terminal-panel__header__action__icon"})}),(0,E.jsx)("button",{className:"terminal-panel__header__action terminal-panel__header__group__action",title:"Clear Console",tabIndex:-1,onClick:r,children:(0,E.jsx)(hs,{className:"terminal-panel__header__action__icon"})}),(0,E.jsx)("button",{className:"terminal-panel__header__action terminal-panel__header__group__action",title:"Show Help",tabIndex:-1,onClick:()=>{t.showHelp(),t.focus()},children:(0,E.jsx)(ss,{className:"terminal-panel__header__action__icon"})})]})]}),(0,E.jsx)(nn,{className:"terminal-panel__content",content:(0,E.jsxs)(an,{children:[(0,E.jsx)(rn,{onClick:()=>t.copy(),children:"Copy"}),(0,E.jsx)(rn,{onClick:o,children:"Copy All"}),(0,E.jsx)(rn,{onClick:r,children:"Clear"})]}),menuProps:{elevation:7},children:(0,E.jsx)("div",{ref:s,className:"terminal-panel__container"})})]}):(0,E.jsx)("div",{className:"terminal-panel",children:(0,E.jsx)(hn,{children:"Terminal is not set up yet"})})})),zy=(0,Ft.observer)((e=>{const{searchResult:t,result:i}=e,s=Vy(),n=Qt(),a=e=>()=>(0,Ve.flowResult)(s.loadFile(i.sourceId,new QT(i.sourceId,e.startLine,e.startColumn))).catch(n.alertUnhandledError),r=e=>()=>{i.dismissCoordinate(e),i.coordinates.length||t.dismissSearchEntry(i)};return(0,E.jsxs)("div",{className:"text-search-panel__entry",children:[(0,E.jsxs)("div",{className:"text-search-panel__entry__header",onClick:()=>i.setIsExpanded(!i.isExpanded),children:[(0,E.jsxs)("div",{className:"text-search-panel__entry__header__title",children:[(0,E.jsx)("div",{className:"text-search-panel__entry__header__title__expander",children:i.isExpanded?(0,E.jsx)(Bs,{}):(0,E.jsx)(Us,{})}),(0,E.jsx)("div",{className:"text-search-panel__entry__header__title__label",children:(0,E.jsx)(Os,{})}),(0,E.jsx)("div",{className:"text-search-panel__entry__header__title__content",children:XT(i.sourceId)})]}),(0,E.jsxs)("div",{className:"text-search-panel__entry__header__actions",children:[(0,E.jsx)("div",{className:"text-search-panel__entry__header__action text-search-panel__entry__header__action--with-counter",children:(0,E.jsx)("div",{className:"text-search-panel__entry__header__action__counter",children:i.coordinates.length})}),(0,E.jsx)("button",{className:"text-search-panel__entry__header__action text-search-panel__entry__header__action--hidden",tabIndex:-1,title:"Dismiss",onClick:()=>t.dismissSearchEntry(i),children:(0,E.jsx)(Ji,{})})]})]}),i.isExpanded&&(0,E.jsx)("div",{className:"text-search-panel__entry__content",children:i.coordinates.map((e=>(0,E.jsxs)("div",{className:"text-search-panel__entry__content__item",children:[(0,E.jsxs)("div",{className:"text-search-panel__entry__content__item__label text-search-panel__entry__content__item__label--full",title:e.preview?`${e.preview.before}${e.preview.found.replaceAll(/\n/g,"↵")}${e.preview.after}`:"Go To Result",onClick:a(e),children:[e.preview&&(0,E.jsxs)("div",{className:"text-search-panel__entry__content__item__label__content",children:[(0,E.jsx)("div",{className:"text-search-panel__entry__content__item__label__coordinates",children:`[${e.startLine}:${e.startColumn}]`}),(0,E.jsxs)("div",{className:"text-search-panel__entry__content__item__label__preview",children:[(0,E.jsx)("span",{className:"text-search-panel__entry__content__item__label__preview__text",children:e.preview.before}),(0,E.jsx)("span",{className:"text-search-panel__entry__content__item__label__preview__text text-search-panel__entry__content__item__label__preview__text--found",children:e.preview.found.replaceAll(/\n/g,"↵")}),(0,E.jsx)("span",{className:"text-search-panel__entry__content__item__label__preview__text",children:e.preview.after})]})]}),!e.preview&&(0,E.jsx)(E.Fragment,{children:`line: ${e.startLine} - column: ${e.startColumn}`})]}),(0,E.jsx)("div",{className:"text-search-panel__entry__content__item__actions",children:(0,E.jsx)("button",{className:"text-search-panel__entry__content__item__action text-search-panel__entry__content__item__action--hidden",tabIndex:-1,title:"Dismiss",onClick:r(e),children:(0,E.jsx)(Ji,{})})})]},e.uuid)))})]})})),Hy=(0,Ft.observer)((e=>{const{searchResult:t}=e,i=Vy(),s=Qt(),n=t.searchEntries.some((e=>!e.isExpanded));return(0,E.jsxs)("div",{className:"text-search-panel__content",children:[(0,E.jsxs)("div",{className:"text-search-panel__content__header",children:[(0,E.jsx)("div",{className:"text-search-panel__content__header__title",children:t.searchEntries.length?`${t.numberOfResults} result(s) in ${t.numberOfFiles} files`:"No result"}),(0,E.jsxs)("div",{className:"text-search-panel__content__header__actions",children:[(0,E.jsx)("button",{className:"text-search-panel__content__header__action",tabIndex:-1,title:"Refresh",onClick:()=>{(0,Ve.flowResult)(i.textSearchState.search()).catch(s.alertUnhandledError)},children:(0,E.jsx)(Ti,{})}),(0,E.jsx)("button",{className:"text-search-panel__content__header__action",tabIndex:-1,title:"Clear",onClick:()=>{i.textSearchState.setText(""),i.textSearchState.setResult(void 0)},children:(0,E.jsx)(Ii,{})}),!n&&(0,E.jsx)("button",{className:"text-search-panel__content__header__action",tabIndex:-1,title:"Collapse All",onClick:()=>{t.searchEntries.forEach((e=>e.setIsExpanded(!1)))},children:(0,E.jsx)(Pi,{})}),n&&(0,E.jsx)("button",{className:"text-search-panel__content__header__action",tabIndex:-1,title:"Expand All",onClick:()=>{t.searchEntries.forEach((e=>e.setIsExpanded(!0)))},children:(0,E.jsx)(Mi,{})})]})]}),(0,E.jsx)("div",{className:"text-search-panel__content__results",children:t.searchEntries.map((e=>(0,E.jsx)(zy,{searchResult:t,result:e},e.uuid)))})]})})),$y=(0,Ft.observer)((()=>{const e=Vy(),t=(0,Xt.useRef)(null),i=e.textSearchState,s=(0,Xt.useMemo)((()=>(0,I.default)((()=>i.search()),300)),[i]);return(0,Xt.useEffect)((()=>(t.current&&i.setSearchInput(t.current),()=>i.setSearchInput(void 0))),[i]),(0,Xt.useEffect)((()=>{e.panelGroupDisplayState.isOpen&&e.activePanelMode===ET.SEARCH&&i.focus()}),[i,e.panelGroupDisplayState.isOpen,e.activePanelMode]),(0,E.jsxs)("div",{className:"text-search-panel",children:[(0,E.jsx)(si,{isLoading:e.textSearchState.loadState.isInProgress}),(0,E.jsx)("div",{className:"text-search-panel__header",children:(0,E.jsxs)("div",{className:"text-search-panel__searcher__input__container",children:[(0,E.jsx)("input",{ref:t,autoFocus:!0,className:"text-search-panel__searcher__input input--dark",onChange:e=>{const t=e.target.value;i.setText(t),s.cancel(),t?s():i.setResult(void 0)},onKeyDown:e=>{"Enter"===e.code?(s.cancel(),i.text&&s()):"Escape"===e.code&&t.current?.select()},value:i.text,placeholder:"Search"}),(0,E.jsxs)("div",{className:"text-search-panel__searcher__input__actions",children:[(0,E.jsx)("button",{className:(0,Ut.clsx)("text-search-panel__searcher__input__action",{"text-search-panel__searcher__input__action--active":i.isCaseSensitive}),tabIndex:-1,title:"Match Case",onClick:()=>i.setCaseSensitive(!i.isCaseSensitive),children:(0,E.jsx)(Oi,{})}),(0,E.jsx)("button",{className:(0,Ut.clsx)("text-search-panel__searcher__input__action",{"text-search-panel__searcher__input__action--active":i.isRegExp}),tabIndex:-1,title:"Use Regular Expression",onClick:()=>i.setRegExp(!i.isRegExp),children:(0,E.jsx)(xi,{})})]})]})}),e.textSearchState.result&&(0,E.jsx)(Hy,{searchResult:e.textSearchState.result})]})})),Yy=e=>{const{node:t,level:i,stepPaddingInRem:s,classPrefix:n,onNodeSelect:a}=e;return(0,E.jsxs)("div",{className:(0,Ut.clsx)("tree-view__node__container",{[`${n}__tree-view__node__container`]:n}),onClick:()=>a?.(t),style:{paddingLeft:(i-1)*(s??1)+"rem",display:"flex"},children:[(0,E.jsx)("div",{className:(0,Ut.clsx)("tree-view__node__icon",{[`${n}__tree-view__node__icon`]:n}),children:Boolean(t.childrenIds?.length)&&(t.isOpen?(0,E.jsx)(Bs,{}):(0,E.jsx)(Us,{}))}),(0,E.jsx)("div",{className:(0,Ut.clsx)("tree-view__node__label",{[`${n}__tree-view__node__label`]:n}),children:t.label})]})},Wy=e=>{const{node:t,level:i,onNodeSelect:s,getChildNodes:n,classPrefix:a,components:r,stepPaddingInRem:o,innerProps:c}=e,l={TreeNodeView:Wy,TreeNodeContainer:Yy},d=r?{...l,...r}:l;return(0,E.jsxs)("div",{className:(0,Ut.clsx)("tree-view__node__block",{[`${a}__tree-view__node__block`]:a}),children:[(0,E.jsx)(d.TreeNodeContainer,{node:t,level:i+1,stepPaddingInRem:o,classPrefix:a,onNodeSelect:s,innerProps:c}),t.isOpen&&n(t).map((e=>(0,E.jsx)(d.TreeNodeView,{node:e,level:i+1,components:r,classPrefix:a,onNodeSelect:s,getChildNodes:n,innerProps:c},e.id)))]})},Ky=e=>{const{treeData:t,className:i,classPrefix:s,components:n,onNodeSelect:a,getChildNodes:r,getRootNodes:o,innerProps:c}=e,l=o?.(t)??t.rootIds.map((e=>t.nodes.get(e))).filter($),d={TreeNodeView:Wy,TreeNodeContainer:Yy},u=n?{...d,...n}:d;return(0,E.jsx)("div",{className:(0,Ut.clsx)("tree-view__node__root",i??"",{[`${s}__tree-view__node__root`]:s}),children:l.map((e=>(0,E.jsx)(u.TreeNodeView,{level:0,node:e,getChildNodes:r,components:u,onNodeSelect:a,classPrefix:s,innerProps:c},e.id)))})},Jy=Vt("Panel","panel"),Xy=(Vt("PanelFullContent","panel__content--full"),e=>{const{title:t,keepTitleFormat:i,labelClassName:s,darkMode:n,className:a,children:r}=e,o=Boolean(n),c=Boolean(i);return(0,E.jsxs)("div",{className:(0,Ut.clsx)("panel__header",a),children:[t&&(0,E.jsx)("div",{className:"panel__header__title",children:(0,E.jsx)("div",{className:(0,Ut.clsx)("panel__header__title__label",s,{"panel__header__title__label--light":o}),children:c?t:t.toLowerCase()})}),r]})}),qy=Vt("PanelHeaderActions","panel__header__actions"),Qy=e=>{const{className:t,onClick:i,children:s,disabled:n,title:a}=e;return(0,E.jsx)("button",{className:(0,Ut.clsx)("panel__header__action",t),disabled:Boolean(n),onClick:i,title:a,tabIndex:-1,children:s})},Zy=e=>{const{className:t,darkMode:i,children:s}=e;return(0,E.jsx)("div",{className:(0,Ut.clsx)("panel__content",t,{"panel__content--dark":i}),children:s})},eN=(Vt("PanelContentLists","panel__content__lists"),Vt("PanelList","panel__content__form__list"),Vt("PanelListItem","panel__content__form__list__item"),Vt("PanelListItemTitle","panel__content__form__list__item__title"),Vt("PanelListItemLabel","panel__content__form__list__item__label"),Vt("PanelForm","panel__content__form"),Vt("PanelDivider","panel__content__form__divider")),tN=(Vt("PanelFormDescription","panel__content__form__description"),Vt("PanelFormSection","panel__content__form__section"));(0,Xt.forwardRef)((function(e,t){const{name:i,value:s,update:n,prompt:a,errorMessageClassName:r,placeholder:o,validate:c,onValidate:l,isReadOnly:d,className:u,darkMode:p,fullWidth:h,inputType:m}=e,[g,f]=(0,Xt.useState)(s??""),_=c?.(g)??void 0;return(0,Xt.useEffect)((()=>{_||s===g||n(g),l?.(_)}),[s,g,_,l,n]),(0,E.jsxs)(tN,{children:[i&&(0,E.jsx)("div",{className:"panel__content__form__section__header__label",children:Et(i)}),a&&(0,E.jsx)("div",{className:"panel__content__form__section__header__prompt",children:a}),(0,E.jsxs)("div",{className:"input-group",children:[(0,E.jsx)("input",{className:(0,Ut.clsx)("input input-group__input panel__content__form__section__input",u,{"input--dark":p||!0},{"input--small":!h}),ref:t,type:m||"text",spellCheck:!1,disabled:d,placeholder:o,value:g,onChange:e=>{f(e.target.value)}}),_&&(0,E.jsx)("div",{className:(0,Ut.clsx)("panel__content__form__section__input-group__error-message input-group__error-message",{"input--small":!h},r),children:_})]})]})})),(0,Xt.forwardRef)((function(e,t){const{name:i,value:s,update:n,prompt:a,placeholder:r,isReadOnly:o,errorMessage:c,className:l,darkMode:d,fullWidth:u,inputType:p}=e,h=s??"";return(0,E.jsxs)(tN,{children:[(0,E.jsx)("div",{className:"panel__content__form__section__header__label",children:Et(i)}),(0,E.jsx)("div",{className:"panel__content__form__section__header__prompt",children:a}),(0,E.jsxs)("div",{className:"input-group",children:[(0,E.jsx)("input",{className:(0,Ut.clsx)("input input-group__input panel__content__form__section__input",l,{"input--dark":d||!0},{"input--small":!u}),ref:t,type:p||"text",spellCheck:!1,disabled:o,placeholder:r,value:h,onChange:e=>{const t=e.target.value;n(t||void 0)}}),c&&(0,E.jsx)("div",{className:(0,Ut.clsx)("panel__content__form__section__input-group__error-message input-group__error-message",{"input--small":!u}),children:c})]}),c&&(0,E.jsx)(eN,{})]})})),(0,Ft.observer)((e=>{const{value:t,name:i,prompt:s,children:n,isReadOnly:a,update:r}=e;return(0,E.jsxs)(tN,{children:[i&&(0,E.jsx)("div",{className:"panel__content__form__section__header__label",children:Et(i)}),(0,E.jsxs)("div",{className:(0,Ut.clsx)("panel__content__form__section__toggler",{"panel__content__form__section__toggler--disabled":a}),onClick:()=>{a||r(!t)},children:[(0,E.jsx)("button",{type:"button",className:(0,Ut.clsx)("panel__content__form__section__toggler__btn",{"panel__content__form__section__toggler__btn--toggled":t}),disabled:a,tabIndex:-1,children:t?(0,E.jsx)(ts,{}):(0,E.jsx)(es,{})}),(0,E.jsxs)("div",{className:"panel__content__form__section__toggler__prompt",children:[s," ",n]})]})]})})),Vt("PanelFormActions","panel__content__form__actions");var iN=i(410);const sN=iN.ReflexContainer,nN="resizable-panel--collapsed",aN=(e,t)=>({collapsiblePanel:{className:(0,Ut.clsx)(...t?.classes??[],{[nN]:e}),onStartResize:e=>{e.domElement.classList.remove(nN),t?.onStartResize?.(e)},onStopResize:e=>{const i=Number(e.domElement.style.flexGrow);i<=.01?e.domElement.style.flexGrow="0":i>=.99&&(e.domElement.style.flexGrow="1"),t?.onStopResize?.(e)},size:!e&&t?.size?t.size:0,flex:e?0:void 0},remainingPanel:{flex:e?1:void 0}}),rN=iN.ReflexElement,oN=iN.ReflexSplitter,cN=e=>(0,E.jsx)("div",{className:"resizable-panel__splitter-line",style:{background:e.color}});var lN=i(8845);const dN=(0,Ft.observer)((e=>{const{node:t,level:i,stepPaddingInRem:s,onNodeSelect:n,innerProps:a}=e,{testRunnerState:r,onNodeOpen:o,onNodeExpand:c,onNodeCompress:l,renderNodeLabel:d}=a,u=Vy(),p=Qt(),h=r.testResultInfo,m=!t.data.type,g=t.id===r.selectedTestId;let f;switch(h?sC(t,h):void 0){case iC.PASSED:f=(0,E.jsx)("div",{className:"test-runner-panel__explorer__package-tree__status test-runner-panel__explorer__package-tree__status--passed",children:(0,E.jsx)(ms,{})});break;case iC.FAILED:f=(0,E.jsx)("div",{className:"test-runner-panel__explorer__package-tree__status test-runner-panel__explorer__package-tree__status--failed",children:(0,E.jsx)(Ns,{})});break;case iC.ERROR:f=(0,E.jsx)("div",{className:"test-runner-panel__explorer__package-tree__status test-runner-panel__explorer__package-tree__status--error",children:(0,E.jsx)(Xi,{})});break;case iC.RUNNING:f=(0,E.jsx)("div",{className:"test-runner-panel__explorer__package-tree__status test-runner-panel__explorer__package-tree__status--running",children:(0,E.jsx)(_s,{})});break;default:f=(0,E.jsx)(ss,{})}const _=()=>{t.isOpen?l(t):c(t)};return(0,E.jsxs)("div",{className:(0,Ut.clsx)("tree-view__node__container explorer__package-tree__node__container",{"explorer__package-tree__node__container--selected":g}),onClick:e=>{e.stopPropagation(),e.preventDefault(),n?.(t),m?_():o(t)},onDoubleClick:()=>{m?_():(0,Ve.flowResult)(u.loadFile(t.data.li_attr.file,new QT(t.data.li_attr.file,Number.parseInt(t.data.li_attr.line,10),Number.parseInt(t.data.li_attr.column,10)))).catch(p.alertUnhandledError)},style:{paddingLeft:i*(s??1)+"rem",display:"flex"},children:[(0,E.jsxs)("div",{className:"tree-view__node__icon explorer__package-tree__node__icon",children:[(0,E.jsx)("div",{className:"explorer__package-tree__node__icon__expand",onClick:e=>{e.stopPropagation(),_()},children:m?t.isOpen?(0,E.jsx)(Bs,{}):(0,E.jsx)(Us,{}):(0,E.jsx)("div",{})}),(0,E.jsx)("div",{className:"explorer__package-tree__node__icon__type",children:f})]}),(0,E.jsx)("button",{className:"tree-view__node__label explorer__package-tree__node__label",tabIndex:-1,children:d?.(t)??t.label})]})})),uN=(0,Ft.observer)((e=>{const{testRunnerState:t}=e,i=t.getTreeData(),s=e=>t.setSelectedTestId(e.id),n=e=>{let t=e.id.split("__")[0];if(!t)return e.label;const i=t.split("_");return t=i.slice(1,i.length).join(Ia),(0,E.jsxs)("div",{className:"test-runner-list__item__label",children:[(0,E.jsx)("div",{className:"test-runner-list__item__label__name",children:e.label}),(0,E.jsx)("div",{className:"test-runner-list__item__label__path",children:t})]})};return(0,E.jsx)("div",{className:"explorer__content",children:Array.from(t.allTests.keys()).map((e=>i.nodes.get(e))).filter($).map((e=>(0,E.jsx)(dN,{node:e,level:0,onNodeSelect:()=>{},innerProps:{testRunnerState:t,onNodeOpen:s,renderNodeLabel:n,onNodeExpand:()=>{},onNodeCompress:()=>{}}},e.id)))})})),pN=(0,Ft.observer)((e=>{const{testRunnerState:t}=e,i=t.getTreeData(),s=0===i.nodes.size;return(0,E.jsxs)("div",{className:"explorer__content",children:[s&&(0,E.jsx)(hn,{children:"No tests found"}),!s&&(0,E.jsx)(Ky,{components:{TreeNodeContainer:dN},treeData:i,onNodeSelect:()=>{},getChildNodes:e=>e.isLoading||!e.childrenIds?[]:e.childrenIds.map((e=>i.nodes.get(e))).filter($),innerProps:{testRunnerState:t,onNodeOpen:e=>t.setSelectedTestId(e.id),onNodeExpand:e=>{e.isOpen=!0,t.refreshTree()},onNodeCompress:e=>{e.isOpen=!1,t.refreshTree()}}})]})})),hN=/(?<path>resource:(?<path_sourceId>\/?(?:\w+\/)*\w+(?:\.\w+)*) (?:line:(?<path_line>\d+)) (?:column:(?<path_column>\d+)))/g,mN=e=>{const{wrapText:t,result:i}=e,s=Vy(),n=Qt(),[a,r]=(0,Xt.useState)(),o=(0,Xt.useRef)(void 0),c=(0,Xt.useRef)(null);return(0,Xt.useEffect)((()=>{if(!a&&c.current){const e=c.current,t=TT.editor.create(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,fontSize:12,extraEditorClassName:"monaco-editor--small-font",readOnly:!0,glyphMargin:!1,folding:!1,lineNumbers:"off",lineDecorationsWidth:10,lineNumbersMinChars:0,minimap:{enabled:!1},guides:{bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveBracketPair:!1,indentation:!1,highlightActiveIndentation:!1},renderLineHighlight:"none",theme:kT.DEFAULT_DARK,language:zT.TEXT});r(t)}}),[n,a]),a&&(o.current?.dispose(),o.current=TT.languages.registerLinkProvider(zT.TEXT,{provideLinks:e=>{const t=[];for(let i=1;i<=e.getLineCount();++i)Array.from(e.getLineContent(i).matchAll(hN)).forEach((e=>{void 0!==e.index&&e.groups?.path&&e.groups.path_sourceId&&e.groups.path_column&&e.groups.path_line&&t.push({range:{startLineNumber:i,startColumn:e.index+1,endLineNumber:i,endColumn:e.index+1+e.groups.path.length},tooltip:"Click to go to location",sourceId:e.groups.path_sourceId,line:e.groups.path_line,column:e.groups.path_column})}));return{links:t}},resolveLink:e=>{const t=e;(0,Ve.flowResult)(s.loadFile(t.sourceId,new QT(t.sourceId,Number.parseInt(t.line,10),Number.parseInt(t.column,10)))).catch(s.applicationStore.alertUnhandledError)}})),(0,Xt.useEffect)((()=>{if(a){const e=i instanceof JS?"Test passed!":i instanceof qS?i.error.text:"Running...";a.setValue(e),(i instanceof JS||i instanceof qS)&&a.createDecorationsCollection([{range:{startLineNumber:1,startColumn:1,endLineNumber:Number.MAX_SAFE_INTEGER,endColumn:Number.MAX_SAFE_INTEGER},options:{inlineClassName:i instanceof JS?"test-runner-panel__result__content--success":"test-runner-panel__result__content--failure"}}])}}),[a,i]),(0,Xt.useEffect)((()=>{a&&a.updateOptions({wordWrap:t?"on":"off"})}),[a,t]),(0,Xt.useEffect)((()=>()=>{a&&((e=>{e.dispose(),e.getModel()?.dispose()})(a),o.current?.dispose())}),[a]),(0,E.jsx)("div",{className:"code-editor__container",children:(0,E.jsx)("div",{className:"code-editor__body",ref:c})})},gN=(0,Ft.observer)((e=>{const{testRunnerState:t,selectedTestId:i,testResultInfo:s}=e,n=Vy(),a=Qt(),[r,o]=(0,Xt.useState)(!1),c=s.results.get(i),l=W(t.allTests.get(i),`Can't find info for test with ID '${i}'`);return(0,E.jsxs)(Jy,{children:[(0,E.jsx)(Xy,{title:l.text,children:(0,E.jsxs)(qy,{children:[(0,E.jsx)(Qy,{className:(0,Ut.clsx)({"panel__header__action--active":r}),onClick:()=>o(!r),title:"Toggle Text Wrap",children:(0,E.jsx)(Ni,{className:"test-runner-panel__result__header__icon--text-wrap"})}),(0,E.jsx)(Qy,{title:"Open File",onClick:()=>{(0,Ve.flowResult)(n.loadFile(l.li_attr.file,new QT(l.li_attr.file,Number.parseInt(l.li_attr.line,10),Number.parseInt(l.li_attr.column,10)))).catch(a.alertUnhandledError)},children:(0,E.jsx)(Ai,{})})]})}),(0,E.jsx)(Zy,{className:"test-runner-panel__result",children:(0,E.jsx)(mN,{result:c,wrapText:r})})]})})),fN=(0,Ft.observer)((e=>{const{testRunnerState:t}=e,i=Vy(),s=Qt(),n=t.testExecutionResult.count,a=t.testResultInfo,r=a?.suiteStatus??tC.NONE,o=a?.runPercentage??0;return(0,E.jsx)("div",{className:"test-runner-panel__content",children:(0,E.jsxs)(sN,{orientation:"vertical",children:[(0,E.jsx)(rN,{minSize:400,children:(0,E.jsxs)("div",{className:"panel test-runner-panel__explorer",children:[(0,E.jsx)(si,{isLoading:t.treeBuildingState.isInProgress}),(0,E.jsxs)("div",{className:"panel__header",children:[(0,E.jsx)("div",{className:"panel__header__title",children:(0,E.jsxs)("div",{className:"panel__header__title__content test-runner-panel__explorer__report",children:[(0,E.jsxs)("div",{className:"test-runner-panel__explorer__report__overview",children:[(0,E.jsxs)("div",{className:"test-runner-panel__explorer__report__overview__stat test-runner-panel__explorer__report__overview__stat--total",children:[n," total"]}),(0,E.jsxs)("div",{className:"test-runner-panel__explorer__report__overview__stat test-runner-panel__explorer__report__overview__stat--passed",children:[a?.passed??0," ",(0,E.jsx)(ms,{})]}),(0,E.jsxs)("div",{className:"test-runner-panel__explorer__report__overview__stat test-runner-panel__explorer__report__overview__stat--failed",children:[a?.failed??0," ",(0,E.jsx)(Ns,{})]}),(0,E.jsxs)("div",{className:"test-runner-panel__explorer__report__overview__stat test-runner-panel__explorer__report__overview__stat--error",children:[a?.error??0," ",(0,E.jsx)(Xi,{})]})]}),a&&(0,E.jsxs)("div",{className:"test-runner-panel__explorer__report__time",children:[a.time,"ms"]})]})}),(0,E.jsxs)("div",{className:"panel__header__actions",children:[(0,E.jsx)("button",{className:"panel__header__action",onClick:()=>t.setViewAsList(!t.viewAsList),title:t.viewAsList?"View As Tree":"View As List",children:t.viewAsList?(0,E.jsx)(Si,{className:"test-runner-panel__icon--tree-view"}):(0,E.jsx)(Ci,{className:"test-runner-panel__icon--list-view"})}),(0,E.jsx)("button",{className:"panel__header__action",onClick:()=>t.expandTree(),title:"Expand All",children:(0,E.jsx)(bs,{})}),(0,E.jsx)("button",{className:"panel__header__action",onClick:()=>t.collapseTree(),title:"Collapse All",children:(0,E.jsx)(as,{})}),(0,E.jsx)("button",{className:"panel__header__action",tabIndex:-1,disabled:!i.testRunState.isInProgress,onClick:()=>{(0,Ve.flowResult)(t.cancelTestRun()).catch(s.alertUnhandledError)},title:"Stop",children:(0,E.jsx)(As,{})}),(0,E.jsx)("button",{className:"panel__header__action",tabIndex:-1,onClick:()=>{(0,Ve.flowResult)(t.rerunTestSuite()).catch(s.alertUnhandledError)},disabled:i.testRunState.isInProgress,title:"Run Suite",children:(0,E.jsx)(os,{})}),(0,E.jsx)("button",{className:"panel__header__action",tabIndex:-1,onClick:()=>{(0,Ve.flowResult)(t.cancelTestRun()).catch(s.alertUnhandledError).finally((()=>{i.setTestRunnerState(void 0)}))},title:"Reset",children:(0,E.jsx)(Ji,{})})]})]}),(0,E.jsx)("div",{className:"test-runner-panel__header__status",children:(0,E.jsx)(lN.default,{className:`test-runner-panel__progress-bar test-runner-panel__progress-bar--${r.toLowerCase()}`,classes:{bar:`test-runner-panel__progress-bar__bar test-runner-panel__progress-bar__bar--${r.toLowerCase()}`},variant:"determinate",value:o})}),(0,E.jsx)("div",{className:"panel__content",children:t.treeData&&(0,E.jsxs)(E.Fragment,{children:[!t.viewAsList&&(0,E.jsx)(pN,{testRunnerState:t}),t.viewAsList&&(0,E.jsx)(uN,{testRunnerState:t})]})})]})}),(0,E.jsx)(oN,{children:(0,E.jsx)(cN,{color:i.panelGroupDisplayState.isMaximized?"transparent":"var(--color-dark-grey-250)"})}),(0,E.jsxs)(rN,{minSize:400,children:[t.selectedTestId&&!a&&(0,E.jsx)("div",{}),t.selectedTestId&&a&&(0,E.jsx)(gN,{testRunnerState:t,selectedTestId:t.selectedTestId,testResultInfo:a}),!t.selectedTestId&&(0,E.jsxs)("div",{className:"panel",children:[(0,E.jsx)("div",{className:"panel__header"}),(0,E.jsx)("div",{className:"panel__content",children:(0,E.jsx)(hn,{children:"No test selected"})})]}),(0,E.jsx)("div",{})]})]})})})),_N=(0,Ft.observer)((()=>{const e=Vy().testRunnerState;return(0,E.jsxs)("div",{className:"test-runner-panel",children:[!e&&(0,E.jsx)(hn,{children:(0,E.jsx)("div",{className:"panel-group__splash-screen",children:(0,E.jsxs)("div",{className:"panel-group__splash-screen__content",children:[(0,E.jsxs)("div",{className:"panel-group__splash-screen__content__item",children:[(0,E.jsx)("div",{className:"panel-group__splash-screen__content__item__label",children:"Run full test suite"}),(0,E.jsx)("div",{className:"panel-group__splash-screen__content__item__hot-keys",children:(0,E.jsx)("div",{className:"hotkey__key",children:"F10"})})]}),(0,E.jsxs)("div",{className:"panel-group__splash-screen__content__item",children:[(0,E.jsx)("div",{className:"panel-group__splash-screen__content__item__label",children:"Run relevant tests only"}),(0,E.jsxs)("div",{className:"panel-group__splash-screen__content__item__hot-keys",children:[(0,E.jsx)("div",{className:"hotkey__key",children:"Shift"}),(0,E.jsx)("div",{className:"hotkey__plus",children:(0,E.jsx)(qi,{})}),(0,E.jsx)("div",{className:"hotkey__key",children:"F10"})]})]})]})})}),e&&(0,E.jsx)(fN,{testRunnerState:e})]})})),bN=(0,Ft.observer)((e=>{const{candidate:t}=e,i=Vy(),s=Qt(),n=()=>{(0,Ve.flowResult)(i.loadFile(t.sourceID,new QT(t.sourceID,t.line,t.column))).catch(s.alertUnhandledError)};return(0,E.jsxs)("div",{className:"suggestions-panel__entry__content__item",children:[(0,E.jsxs)("div",{className:"suggestions-panel__entry__content__item__label__candidate",title:"Go to Result",onClick:n,children:[(0,E.jsx)("div",{className:"suggestions-panel__entry__content__item__label__candidate-name",children:t.foundName}),(0,E.jsx)("div",{className:"suggestions-panel__entry__content__item__label__candidate-location",children:`${XT(t.sourceID)} [${t.line}:${t.column}]`})]}),(0,E.jsx)("div",{className:"suggestions-panel__entry__content__item__actions",children:(0,E.jsx)("button",{className:"suggestions-panel__entry__content__item__action",tabIndex:-1,title:"Go to Result",onClick:n,children:(0,E.jsx)(cs,{})})})]})})),EN=(0,Ft.observer)((e=>{const{candidate:t}=e,i=Vy(),s=Qt();return(0,E.jsxs)("div",{className:"suggestions-panel__entry__content__item",children:[(0,E.jsxs)("div",{className:"suggestions-panel__entry__content__item__label__candidate",title:"Add Suggested Import",onClick:()=>{(0,Ve.flowResult)(i.updateFileUsingSuggestionCandidate(t)).catch(s.alertUnhandledError)},children:[(0,E.jsx)("div",{className:"suggestions-panel__entry__content__item__label__candidate-name",children:t.foundName}),(0,E.jsx)("div",{className:"suggestions-panel__entry__content__item__label__candidate-location",children:`${XT(t.sourceID)} [${t.line}:${t.column}]`})]}),(0,E.jsx)("div",{className:"suggestions-panel__entry__content__item__actions",children:(0,E.jsx)("button",{className:"suggestions-panel__entry__content__item__action",tabIndex:-1,title:"Go to Result",onClick:()=>{(0,Ve.flowResult)(i.loadFile(t.sourceID,new QT(t.sourceID,t.line,t.column))).catch(s.alertUnhandledError)},children:(0,E.jsx)(cs,{})})})]})})),vN=(0,Ft.observer)((e=>{const{suggestionState:t}=e,i=t.result;return(0,E.jsxs)("div",{className:"suggestions-panel__content",children:[!i.candidatesWithPackageImported.length&&(0,E.jsx)("div",{className:"suggestions-panel__content__header",children:`No functions, in packages already imported, match the function '${i.candidateName}'`}),Boolean(i.candidatesWithPackageImported.length)&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)("div",{className:"suggestions-panel__content__header",children:`These functions, in packages already imported, would match the function '${i.candidateName}' if you changed the parameters`}),(0,E.jsx)("div",{className:"suggestions-panel__entry",children:i.candidatesWithPackageImported.map((e=>(0,E.jsx)(bN,{candidate:e},e.uuid)))})]}),!i.candidatesWithPackageNotImported.length&&(0,E.jsx)("div",{className:"suggestions-panel__content__header",children:`No functions, in packages not imported, match the function '${i.candidateName}'`}),Boolean(i.candidatesWithPackageNotImported.length)&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)("div",{className:"suggestions-panel__content__header",children:`These functions, in packages not imported, match the function '${i.candidateName}'. Click on result to import the necessary package`}),(0,E.jsx)("div",{className:"suggestions-panel__entry",children:i.candidatesWithPackageNotImported.map((e=>(0,E.jsx)(EN,{candidate:e},e.uuid)))})]})]})})),TN=(0,Ft.observer)((e=>{const{suggestionState:t}=e,i=t.result;return(0,E.jsxs)("div",{className:"suggestions-panel__content",children:[!i.candidates.length&&(0,E.jsx)("div",{className:"suggestions-panel__content__header",children:`No possible matches found for '${i.candidateName}'`}),Boolean(i.candidates.length)&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)("div",{className:"suggestions-panel__content__header",children:`Found possible matches for '${i.candidateName}'. Click on result to import the necessary package`}),(0,E.jsx)("div",{className:"suggestions-panel__entry",children:i.candidates.map((e=>(0,E.jsx)(EN,{candidate:e},e.uuid)))})]})]})})),SN=(0,Ft.observer)((()=>{const e=Vy();return(0,E.jsxs)("div",{className:"suggestions-panel",children:[e.codeFixSuggestion instanceof Py&&(0,E.jsx)(vN,{suggestionState:e.codeFixSuggestion}),e.codeFixSuggestion instanceof My&&(0,E.jsx)(TN,{suggestionState:e.codeFixSuggestion})]})})),CN=(0,Ft.observer)((e=>{const{referenceUsageResult:t,result:i}=e,s=Vy(),n=Qt(),a=e=>()=>(0,Ve.flowResult)(s.loadFile(i.sourceId,new QT(i.sourceId,e.startLine,e.startColumn))).catch(n.alertUnhandledError),r=e=>()=>{i.dismissCoordinate(e),i.coordinates.length||t.dismissSearchEntry(i)};return(0,E.jsxs)("div",{className:"references-panel__entry",children:[(0,E.jsxs)("div",{className:"references-panel__entry__header",onClick:()=>i.setIsExpanded(!i.isExpanded),children:[(0,E.jsxs)("div",{className:"references-panel__entry__header__title",children:[(0,E.jsx)("div",{className:"references-panel__entry__header__title__expander",children:i.isExpanded?(0,E.jsx)(Bs,{}):(0,E.jsx)(Us,{})}),(0,E.jsx)("div",{className:"references-panel__entry__header__title__label",children:(0,E.jsx)(Os,{})}),(0,E.jsx)("div",{className:"references-panel__entry__header__title__content",children:XT(i.sourceId)})]}),(0,E.jsxs)("div",{className:"references-panel__entry__header__actions",children:[(0,E.jsx)("div",{className:"references-panel__entry__header__action references-panel__entry__header__action--with-counter",children:(0,E.jsx)("div",{className:"references-panel__entry__header__action__counter",children:i.coordinates.length})}),(0,E.jsx)("button",{className:"references-panel__entry__header__action references-panel__entry__header__action--hidden",tabIndex:-1,title:"Dismiss",onClick:()=>t.dismissSearchEntry(i),children:(0,E.jsx)(Ji,{})})]})]}),i.isExpanded&&(0,E.jsx)("div",{className:"references-panel__entry__content",children:i.coordinates.map((e=>(0,E.jsxs)("div",{className:"references-panel__entry__content__item",children:[(0,E.jsxs)("div",{className:"references-panel__entry__content__item__label references-panel__entry__content__item__label--full",title:e.preview?`${e.preview.before}${e.preview.found.replaceAll(/\n/g,"↵")}${e.preview.after}`:"Go To Result",onClick:a(e),children:[e.preview&&(0,E.jsxs)("div",{className:"references-panel__entry__content__item__label__content",children:[(0,E.jsx)("div",{className:"references-panel__entry__content__item__label__coordinates",children:`[${e.startLine}:${e.startColumn}]`}),(0,E.jsxs)("div",{className:"references-panel__entry__content__item__label__preview",children:[(0,E.jsx)("span",{className:"references-panel__entry__content__item__label__preview__text",children:e.preview.before}),(0,E.jsx)("span",{className:"references-panel__entry__content__item__label__preview__text references-panel__entry__content__item__label__preview__text--found",children:e.preview.found.replaceAll(/\n/g,"↵")}),(0,E.jsx)("span",{className:"references-panel__entry__content__item__label__preview__text",children:e.preview.after})]})]}),!e.preview&&(0,E.jsx)(E.Fragment,{children:`line: ${e.startLine} - column: ${e.startColumn}`})]}),(0,E.jsx)("div",{className:"references-panel__entry__content__item__actions",children:(0,E.jsx)("button",{className:"references-panel__entry__content__item__action references-panel__entry__content__item__action--hidden",tabIndex:-1,title:"Dismiss",onClick:r(e),children:(0,E.jsx)(Ji,{})})})]},e.uuid)))})]})})),yN=(0,Ft.observer)((e=>{const{referenceUsageState:t}=e,i=Vy(),s=Qt(),n=t.searchEntries.some((e=>!e.isExpanded));return(0,E.jsxs)("div",{className:"references-panel__content",children:[(0,E.jsxs)("div",{className:"references-panel__content__header",children:[(0,E.jsx)("div",{className:"references-panel__content__header__title",children:t.searchEntries.length?`${t.numberOfResults} usages(s) in ${t.numberOfFiles} files for ${tS(t.usageConcept)}`:`No usages found for ${tS(t.usageConcept)}`}),(0,E.jsxs)("div",{className:"references-panel__content__header__actions",children:[(0,E.jsx)("button",{className:"references-panel__content__header__action",tabIndex:-1,title:"Refresh",onClick:()=>{(0,Ve.flowResult)(i.findUsages(t.usageConcept)).catch(s.alertUnhandledError)},children:(0,E.jsx)(Ti,{})}),(0,E.jsx)("button",{className:"references-panel__content__header__action",tabIndex:-1,title:"Clear",onClick:()=>i.setReferenceUsageResult(void 0),children:(0,E.jsx)(Ii,{})}),!n&&(0,E.jsx)("button",{className:"references-panel__content__header__action",tabIndex:-1,title:"Collapse All",onClick:()=>{t.searchEntries.forEach((e=>e.setIsExpanded(!1)))},children:(0,E.jsx)(Pi,{})}),n&&(0,E.jsx)("button",{className:"references-panel__content__header__action",tabIndex:-1,title:"Expand All",onClick:()=>{t.searchEntries.forEach((e=>e.setIsExpanded(!0)))},children:(0,E.jsx)(Mi,{})})]})]}),(0,E.jsx)("div",{className:"references-panel__content__results",children:t.searchEntries.map((e=>(0,E.jsx)(CN,{referenceUsageResult:t,result:e},e.uuid)))})]})})),NN=(0,Ft.observer)((()=>{const e=Vy();return(0,E.jsxs)("div",{className:"references-panel",children:[(0,E.jsx)(si,{isLoading:e.referenceUsageLoadState.isInProgress}),!e.referenceUsageResult&&(0,E.jsx)(hn,{children:(0,E.jsx)("div",{className:"panel-group__splash-screen",children:(0,E.jsx)("div",{className:"panel-group__splash-screen__content",children:(0,E.jsxs)("div",{className:"panel-group__splash-screen__content__item",children:[(0,E.jsx)("div",{className:"panel-group__splash-screen__content__item__label",children:"Find Concept References"}),(0,E.jsxs)("div",{className:"panel-group__splash-screen__content__item__hot-keys",children:[(0,E.jsx)("div",{className:"hotkey__key",children:"Alt"}),(0,E.jsx)("div",{className:"hotkey__plus",children:(0,E.jsx)(qi,{})}),(0,E.jsx)("div",{className:"hotkey__key",children:"F7"})]})]})})})}),e.referenceUsageResult&&(0,E.jsx)(yN,{referenceUsageState:e.referenceUsageResult})]})})),AN=(0,Ft.observer)((()=>{const e=Vy(),t={[ET.TERMINAL]:{mode:ET.TERMINAL,name:"TERMINAL",icon:(0,E.jsx)(Ss,{className:"panel-group__header__tab__icon--terminal"}),isVisible:!0},[ET.SEARCH]:{mode:ET.SEARCH,name:"SEARCH",icon:(0,E.jsx)(ds,{className:"panel-group__header__tab__icon--search"}),isVisible:!0},[ET.TEST_RUNNER]:{mode:ET.TEST_RUNNER,name:"TEST",icon:(0,E.jsx)($i,{className:"panel-group__header__tab__icon--test"}),isVisible:!0},[ET.REFERENCES]:{mode:ET.REFERENCES,name:"REFERENCES",icon:(0,E.jsx)(Ri,{className:"panel-group__header__tab__icon--references"}),isVisible:!0},[ET.CODE_FIX_SUGGESTION]:{mode:ET.CODE_FIX_SUGGESTION,name:"SUGGESTIONS",icon:(0,E.jsx)(ki,{className:"panel-group__header__tab__icon--suggestion"}),isVisible:Boolean(e.codeFixSuggestion)}},i=Object.values(ET).filter((e=>$(t[e])&&t[e].isVisible)),s=t=>e.activePanelMode===t&&i.includes(t);return(0,Xt.useEffect)((()=>{i.includes(e.activePanelMode)||e.setActivePanelMode(ET.TERMINAL)}),[e,i,e.activePanelMode]),(0,E.jsxs)(Jy,{className:"panel-group",children:[(0,E.jsxs)(Xy,{children:[(0,E.jsx)("div",{className:"panel-group__header__tabs",children:i.map((e=>t[e])).filter($).map((t=>{return(0,E.jsxs)("button",{tabIndex:-1,className:(0,Ut.clsx)("panel-group__header__tab",{"panel-group__header__tab--active":e.activePanelMode===t.mode}),onClick:(i=t.mode,()=>e.setActivePanelMode(i)),children:[(0,E.jsx)("div",{className:"panel-group__header__tab__icon",children:t.icon}),(0,E.jsx)("div",{className:"panel-group__header__tab__title",children:t.name})]},t.mode);var i}))}),(0,E.jsxs)("div",{className:"panel-group__header__actions",children:[(0,E.jsx)("button",{className:"panel-group__header__action",onClick:()=>e.panelGroupDisplayState.toggleMaximize(),tabIndex:-1,title:"Toggle Expand/Collapse",children:e.panelGroupDisplayState.isMaximized?(0,E.jsx)(Bs,{}):(0,E.jsx)(js,{})}),(0,E.jsx)("button",{className:"panel-group__header__action",onClick:()=>e.panelGroupDisplayState.toggle(),tabIndex:-1,title:"Close",children:(0,E.jsx)(Vs,{})})]})]}),(0,E.jsxs)(Zy,{children:[s(ET.TERMINAL)&&(0,E.jsx)("div",{className:"panel-group__content__tab",children:(0,E.jsx)(Gy,{})}),s(ET.SEARCH)&&(0,E.jsx)("div",{className:"panel-group__content__tab",children:(0,E.jsx)($y,{})}),s(ET.TEST_RUNNER)&&(0,E.jsx)("div",{className:"panel-group__content__tab",children:(0,E.jsx)(_N,{})}),s(ET.CODE_FIX_SUGGESTION)&&(0,E.jsx)("div",{className:"panel-group__content__tab",children:(0,E.jsx)(SN,{})}),s(ET.REFERENCES)&&(0,E.jsx)("div",{className:"panel-group__content__tab",children:(0,E.jsx)(NN,{})})]})]})}));var IN=i(2689);const xN=()=>(0,E.jsx)("div",{className:"icon color--package",children:(0,E.jsx)(zs,{})}),ON=()=>(0,E.jsx)("div",{className:"icon color--class",children:"C"}),wN=()=>(0,E.jsx)("div",{className:"icon color--enumeration",children:"E"}),RN=()=>(0,E.jsx)("div",{className:"icon color--measure",children:"M"}),kN=()=>(0,E.jsx)("div",{className:"icon color--unit",children:"u"}),PN=()=>(0,E.jsx)("div",{className:"icon color--profile",children:"P"}),MN=()=>(0,E.jsx)("div",{className:"icon icon--function color--function",children:(0,E.jsx)(vi,{})}),LN=()=>(0,E.jsx)("div",{className:"icon color--mapping",children:(0,E.jsx)(rs,{})}),FN=()=>(0,E.jsx)("div",{className:"icon icon--unknown",children:(0,E.jsx)(Hi,{})}),DN=()=>(0,E.jsx)("div",{className:"icon icon--function color--native-function",children:(0,E.jsx)(vi,{})}),BN=()=>(0,E.jsx)("div",{className:"icon icon--property color--property",children:(0,E.jsx)(Gs,{})}),jN=()=>(0,E.jsx)("div",{className:"icon color--diagram",children:(0,E.jsx)(ls,{})}),UN=()=>(0,E.jsx)("div",{className:"icon icon--database",children:(0,E.jsx)(Ls,{})}),VN=()=>(0,E.jsx)("div",{className:"icon color--association color--pure-association",children:"A"}),GN=e=>{switch(e){case HT.PACKAGE:return(0,E.jsx)(xN,{});case HT.PROFILE:return(0,E.jsx)(PN,{});case HT.CLASS:return(0,E.jsx)(ON,{});case HT.ASSOCIATION:return(0,E.jsx)(VN,{});case HT.PROPERTY:case HT.QUALIFIED_PROPERTY:return(0,E.jsx)(BN,{});case HT.ENUMERATION:return(0,E.jsx)(wN,{});case HT.MEASURE:return(0,E.jsx)(RN,{});case HT.UNIT:return(0,E.jsx)(kN,{});case HT.FUNCTION:return(0,E.jsx)(MN,{});case HT.NATIVE_FUNCTION:return(0,E.jsx)(DN,{});case HT.DIAGRAM:return(0,E.jsx)(jN,{});case HT.DATABASE:return(0,E.jsx)(UN,{});case HT.MAPPING:return(0,E.jsx)(LN,{});default:return(0,E.jsx)(FN,{})}},zN=/^\w[\w$]*$/,HN=/^(?:(?:\w[\w$]*)::)*\w[\w$]*$/,$N=(0,Ft.observer)((e=>{const{node:t}=e,i=Vy(),s=Qt(),n=t.data.li_attr.pureName??t.data.li_attr.pureId,a=t.data.li_attr.pureType===HT.PACKAGE,[r,o]=(0,Xt.useState)(a?fE(n):n),c=(0,Xt.useRef)(null),l=Boolean(r.match(a?HN:zN)),d=(a?fE(n):n)===r,u=l?void 0:"Invalid path",p=()=>i.conceptTreeState.setNodeForRenameConcept(void 0),h=e=>{e.preventDefault(),d||i.conceptTreeState.renameConcept(t,r).catch(s.alertUnhandledError).finally((()=>p()))};return(0,E.jsx)(jt.default,{open:!0,onClose:p,TransitionProps:{onEnter:()=>c.current?.focus()},classes:{container:"command-modal__container"},PaperProps:{classes:{root:"command-modal__inner-container"}},children:(0,E.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,E.jsx)("div",{className:"modal__title",children:"Rename concept"}),(0,E.jsxs)("div",{className:"command-modal__content",children:[(0,E.jsx)("form",{className:"command-modal__content__form",onSubmit:h,children:(0,E.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,E.jsx)("input",{ref:c,className:"input input--dark",onChange:e=>o(e.target.value),value:r,spellCheck:!1}),u&&(0,E.jsx)("div",{className:"input-group__error-message",children:u})]})}),(0,E.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:Boolean(u),onClick:h,children:"Rename"})]})]})})})),YN=/^(?:(?:\w[\w$]*)::)*\w[\w$]*$/,WN=(0,Ft.observer)((e=>{const{node:t}=e,i=Vy(),s=Qt(),n=_E(t.data.li_attr.pureId)??"",[a,r]=(0,Xt.useState)(n),o=(0,Xt.useRef)(null),c=Boolean(a.match(YN)),l=n===a,d=c?void 0:"Invalid path",u=()=>i.conceptTreeState.setNodeForMoveElement(void 0),p=e=>{e.preventDefault(),l||i.conceptTreeState.movePackageableElements([X(t.data.li_attr,KT)],a).catch(s.alertUnhandledError).finally((()=>u()))};return(0,E.jsx)(jt.default,{open:!0,onClose:u,TransitionProps:{onEnter:()=>o.current?.focus()},classes:{container:"command-modal__container"},PaperProps:{classes:{root:"command-modal__inner-container"}},children:(0,E.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,E.jsx)("div",{className:"modal__title",children:"Move element"}),(0,E.jsxs)("div",{className:"command-modal__content",children:[(0,E.jsx)("form",{className:"command-modal__content__form",onSubmit:p,children:(0,E.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,E.jsx)("input",{ref:o,className:"input input--dark",onChange:e=>r(e.target.value),value:a,spellCheck:!1}),d&&(0,E.jsx)("div",{className:"input-group__error-message",children:d})]})}),(0,E.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:Boolean(d),onClick:p,children:"Move"})]})]})})})),KN=(0,Ft.observer)((0,Xt.forwardRef)((function(e,t){const{node:i,viewConceptSource:s}=e,n=i.data.li_attr,a=n.pureType,r=Vy(),o=Qt();return(0,E.jsxs)(an,{ref:t,children:[n.pureType!==HT.PROPERTY&&n.pureType!==HT.QUALIFIED_PROPERTY&&(0,E.jsx)(rn,{onClick:()=>{o.clipboardService.copyTextToClipboard(n.pureId).catch(o.alertUnhandledError)},children:"Copy Path"}),a===HT.PACKAGE&&(0,E.jsx)(rn,{onClick:()=>{(0,Ve.flowResult)(r.executeTests(i.data.li_attr.pureId)).catch(o.alertUnhandledError)},children:"Run Tests"}),a===HT.FUNCTION&&(0,E.jsx)(rn,{onClick:()=>{o.navigationService.navigator.visitAddress(`${r.client.baseUrl}/execute?func=${n.pureId}&mode=${r.client.mode}`)},children:"Service (JSON)"}),(n instanceof WT||n instanceof KT)&&(0,E.jsx)(rn,{onClick:()=>{(n instanceof KT||n instanceof WT)&&r.findUsagesFromCoordinate(new QT(n.file,Number.parseInt(n.line,10),Number.parseInt(n.column,10)))},children:"Find Usages"}),a!==HT.PACKAGE&&(0,E.jsx)(rn,{onClick:()=>s(i),children:"View Source"}),(0,E.jsx)(on,{}),(0,E.jsx)(rn,{onClick:()=>r.conceptTreeState.setNodeForRenameConcept(i),children:"Rename"}),n instanceof KT&&(0,E.jsx)(rn,{onClick:()=>r.conceptTreeState.setNodeForMoveElement(i),children:"Move"})]})})));var JN;!function(e){e.UNSUPPORTED="UNSUPPORTED",e.CLASS="CLASS"}(JN||(JN={}));const XN=e=>{const{node:t,level:i,stepPaddingInRem:s,onNodeSelect:n,innerProps:a}=e,[r,o]=(0,Xt.useState)(!1),{onNodeOpen:c,onNodeExpand:l,onNodeCompress:d,viewConceptSource:u}=a,p=t.parent&&t.data.li_attr instanceof WT&&t.data.li_attr.classPath!==t.parent.id,h=[HT.PACKAGE,HT.CLASS].includes(t.data.li_attr.pureType),m=t.data.li_attr.pureType===HT.QUALIFIED_PROPERTY?(0,E.jsxs)(E.Fragment,{children:[t.label,(0,E.jsx)("span",{className:"explorer__package-tree__node__label__tag",children:"(...)"})]}):p?(0,E.jsxs)(E.Fragment,{children:[t.label,(0,E.jsx)("span",{className:"explorer__package-tree__node__label__tag",children:fE(X(t.data.li_attr,WT).classPath)})]}):t.label.includes("(")?(0,E.jsxs)(E.Fragment,{children:[t.label.substring(0,t.label.indexOf("(")),(0,E.jsx)("span",{className:"explorer__package-tree__node__label__tag",children:t.label.substring(t.label.indexOf("("))})]}):t.label,g=()=>{t.isLoading||(t.isOpen?d(t):l(t))},[,f]=(0,IN.useDrag)((()=>({type:"Class"===t.data.li_attr.pureType?JN.CLASS:JN.UNSUPPORTED,item:t.data})),[t]);return(0,E.jsx)(nn,{content:(0,E.jsx)(KN,{node:t,viewConceptSource:u}),menuProps:{elevation:7},onOpen:()=>o(!0),onClose:()=>o(!1),children:(0,E.jsxs)("div",{className:(0,Ut.clsx)("tree-view__node__container explorer__package-tree__node__container",{"explorer__package-tree__node__container--selected-from-context-menu":!t.isSelected&&r},{"explorer__package-tree__node__container--selected":t.isSelected}),onClick:e=>{e.stopPropagation(),e.preventDefault(),n?.(t)},ref:f,onDoubleClick:()=>{t.isLoading||(h&&g(),n?.(t),c(t))},style:{paddingLeft:i*(s??1)+"rem",display:"flex"},children:[(0,E.jsxs)("div",{className:"tree-view__node__icon explorer__package-tree__node__icon",children:[t.isLoading&&(0,E.jsx)("div",{className:"explorer__package-tree__node__icon__expand explorer__package-tree__node__icon__expand--is-loading",children:(0,E.jsx)(_s,{})}),!t.isLoading&&(0,E.jsx)("div",{className:"explorer__package-tree__node__icon__expand",onClick:g,children:h?t.isOpen?(0,E.jsx)(Bs,{}):(0,E.jsx)(Us,{}):(0,E.jsx)("div",{})}),(0,E.jsx)("div",{className:(0,Ut.clsx)("explorer__package-tree__node__icon__type",{"explorer__package-tree__node__icon__type--property-from-association":p}),children:GN(t.data.li_attr.pureType)})]}),(0,E.jsx)("button",{className:"tree-view__node__label explorer__package-tree__node__label",tabIndex:-1,children:m})]})})},qN=(0,Ft.observer)((()=>{const e=Vy(),t=Qt(),i=e.conceptTreeState,s=e.conceptTreeState.getTreeData();return(0,E.jsxs)("div",{className:"explorer__content",onClick:()=>i.setSelectedNode(void 0),children:[(0,E.jsx)(Ky,{components:{TreeNodeContainer:XN},treeData:s,onNodeSelect:e=>i.setSelectedNode(e),getChildNodes:e=>e.isLoading||!e.childrenIds?[]:e.childrenIds.map((e=>s.nodes.get(e))).filter($),innerProps:{onNodeOpen:e=>{(0,Ve.flowResult)(i.openNode(e)).catch(t.alertUnhandledError)},onNodeExpand:e=>{(0,Ve.flowResult)(i.expandNode(e)).catch(t.alertUnhandledError)},onNodeCompress:e=>{e.isOpen=!1,i.refreshTree()},viewConceptSource:i=>{const s=i.data.li_attr;(s instanceof KT||s instanceof WT)&&(0,Ve.flowResult)(e.directoryTreeState.revealPath(s.file,{forceOpenExplorerPanel:!0,coordinate:new QT(s.file,Number.parseInt(s.line,10),Number.parseInt(s.column,10))})).catch(t.alertUnhandledError)}}}),i.nodeForRenameConcept&&(0,E.jsx)($N,{node:i.nodeForRenameConcept}),i.nodeForMoveElement&&(0,E.jsx)(WN,{node:i.nodeForMoveElement})]})})),QN=(0,Ft.observer)((()=>{const e=Vy(),t=Qt(),i=e.conceptTreeState;return(0,E.jsxs)("div",{className:"panel explorer",children:[(0,E.jsx)("div",{className:"panel__header side-bar__header",children:(0,E.jsx)("div",{className:"panel__header__title",children:(0,E.jsx)("div",{className:"panel__header__title__content side-bar__header__title__content",children:"CONCEPTS"})})}),(0,E.jsx)("div",{className:"panel__content side-bar__content",children:(0,E.jsxs)("div",{className:"panel explorer",children:[(0,E.jsxs)("div",{className:"panel__header explorer__header",children:[(0,E.jsx)("div",{className:"panel__header__title"}),(0,E.jsxs)("div",{className:"panel__header__actions",children:[(0,E.jsx)("button",{className:"panel__header__action explorer__btn__refresh",onClick:()=>{(0,Ve.flowResult)(i.refreshTreeData()).catch(t.alertUnhandledError)},title:"Refresh Tree",children:(0,E.jsx)(Ti,{})}),(0,E.jsx)("button",{className:"panel__header__action",onClick:()=>{i.getTreeData().nodes.forEach((e=>{e.isOpen=!1})),i.setSelectedNode(void 0),i.refreshTree()},title:"Collapse All",children:(0,E.jsx)(as,{})})]})]}),(0,E.jsxs)("div",{className:"panel__content explorer__content__container",children:[(0,E.jsx)(si,{isLoading:i.loadInitialDataState.isInProgress}),i.loadInitialDataState.hasSucceeded&&(0,E.jsx)(qN,{}),!i.loadInitialDataState.hasSucceeded&&i.statusText&&(0,E.jsx)("div",{className:"explorer__content__container__message",children:i.statusText}),i.loadInitialDataState.hasFailed&&(0,E.jsx)(hn,{children:"Failed to build concept tree. Make sure graph compiles"})]})]})})]})})),ZN=/^\w+(?:\.\w+)*$/,eA=(0,Ft.observer)((e=>{const{node:t}=e,i=Vy(),s=Qt(),[n,a]=(0,Xt.useState)("untitled.pure"),r=(0,Xt.useRef)(null),o=Boolean(n.match(ZN)),c=!t.childrenIds?.map((e=>i.directoryTreeState.getTreeData().nodes.get(e))).filter((e=>e?.data.text===n)).length,l=o?c?void 0:"Already existed":"Invalid file name",d=()=>i.directoryTreeState.setNodeForCreateNewFile(void 0),u=e=>{e.preventDefault(),d(),(0,Ve.flowResult)(i.createNewFile(`${t.data.li_attr.path}/${n}`)).catch(s.alertUnhandledError)};return(0,E.jsx)(jt.default,{open:!0,onClose:d,TransitionProps:{onEnter:()=>r.current?.focus()},classes:{container:"command-modal__container"},PaperProps:{classes:{root:"command-modal__inner-container"}},children:(0,E.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,E.jsx)("div",{className:"modal__title",children:"Create a new file"}),(0,E.jsxs)("div",{className:"command-modal__content",children:[(0,E.jsx)("form",{className:"command-modal__content__form",onSubmit:u,children:(0,E.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,E.jsx)("input",{ref:r,className:"input input--dark",onChange:e=>a(e.target.value),value:n,spellCheck:!1}),l&&(0,E.jsx)("div",{className:"input-group__error-message",children:l})]})}),(0,E.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:Boolean(l),onClick:u,children:"Create"})]})]})})})),tA=/^\w+$/,iA=(0,Ft.observer)((e=>{const{node:t}=e,i=Vy(),s=Qt(),[n,a]=(0,Xt.useState)("untitled"),r=(0,Xt.useRef)(null),o=Boolean(n.match(tA)),c=!t.childrenIds?.map((e=>i.directoryTreeState.getTreeData().nodes.get(e))).filter((e=>e?.data.text===n)).length,l=o?c?void 0:"Already existed":"Invalid directory name",d=()=>i.directoryTreeState.setNodeForCreateNewDirectory(void 0),u=e=>{e.preventDefault(),d(),(0,Ve.flowResult)(i.createNewDirectory(`${t.data.li_attr.path}/${n}`)).catch(s.alertUnhandledError)};return(0,E.jsx)(jt.default,{open:!0,onClose:d,TransitionProps:{onEnter:()=>r.current?.focus()},classes:{container:"command-modal__container"},PaperProps:{classes:{root:"command-modal__inner-container"}},children:(0,E.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,E.jsx)("div",{className:"modal__title",children:"Create a new directory"}),(0,E.jsxs)("div",{className:"command-modal__content",children:[(0,E.jsx)("form",{className:"command-modal__content__form",onSubmit:u,children:(0,E.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,E.jsx)("input",{ref:r,className:"input input--dark",onChange:e=>a(e.target.value),value:n,spellCheck:!1}),l&&(0,E.jsx)("div",{className:"input-group__error-message",children:l})]})}),(0,E.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:Boolean(l),onClick:u,children:"Create"})]})]})})})),sA=/^\/?(?:\w+\/)*\w+(?:\.\w+)*$/,nA=(0,Ft.observer)((e=>{const{node:t}=e,i=Vy(),s=Qt(),[n,a]=(0,Xt.useState)(t.data.li_attr.path),r=(0,Xt.useRef)(null),o=Boolean(n.match(sA)),c=t.data.li_attr.path===n,l=o?void 0:"Invalid path",d=()=>i.directoryTreeState.setNodeForRenameFile(void 0),u=e=>{e.preventDefault(),c||(d(),(0,Ve.flowResult)(i.renameFile(t.data.li_attr.path,n)).catch(s.alertUnhandledError))};return(0,E.jsx)(jt.default,{open:!0,onClose:d,TransitionProps:{onEnter:()=>r.current?.focus()},classes:{container:"command-modal__container"},PaperProps:{classes:{root:"command-modal__inner-container"}},children:(0,E.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,E.jsx)("div",{className:"modal__title",children:"Rename file"}),(0,E.jsxs)("div",{className:"command-modal__content",children:[(0,E.jsx)("form",{className:"command-modal__content__form",onSubmit:u,children:(0,E.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,E.jsx)("input",{ref:r,className:"input input--dark",onChange:e=>a(e.target.value),value:n,spellCheck:!1}),l&&(0,E.jsx)("div",{className:"input-group__error-message",children:l})]})}),(0,E.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:Boolean(l),onClick:u,children:"Rename"})]})]})})})),aA=(0,Ft.observer)((0,Xt.forwardRef)((function(e,t){const{node:i}=e,s=Qt(),n=Vy(),a=i.data.isFolderNode,r=Boolean(i.data.children);return(0,E.jsxs)(an,{ref:t,children:[(0,E.jsx)(rn,{onClick:()=>{s.clipboardService.copyTextToClipboard(i.data.li_attr.path).catch(s.alertUnhandledError)},children:"Copy Path"}),(0,E.jsx)(on,{}),a&&(0,E.jsx)(rn,{onClick:()=>n.directoryTreeState.setNodeForCreateNewFile(i),children:"New File"}),a&&(0,E.jsx)(rn,{onClick:()=>n.directoryTreeState.setNodeForCreateNewDirectory(i),children:"New Directory"}),!a&&(0,E.jsx)(rn,{onClick:()=>n.directoryTreeState.setNodeForRenameFile(i),children:"Rename"}),(0,E.jsx)(rn,{disabled:Boolean(i.data instanceof SS&&i.data.children),onClick:()=>{(0,Ve.flowResult)(n.deleteDirectoryOrFile(i.data.li_attr.path,a,r)).catch(s.alertUnhandledError)},children:"Delete"})]})}))),rA=e=>{const{node:t,level:i,stepPaddingInRem:s,onNodeSelect:n,innerProps:a}=e,[r,o]=(0,Xt.useState)(!1),{onNodeOpen:c,onNodeExpand:l,onNodeCompress:d}=a,u=t.data instanceof SS&&t.data.isRepoNode&&"/platform"===t.data.li_attr.path,p=t.data.li_attr.RO,h=t.data.isFolderNode,m=t.data instanceof SS&&!t.data.children,g=u||t.data.isRepoNode&&t.data.li_attr.path.startsWith("/platform_")?(0,E.jsx)(Es,{className:"explorer__icon--readonly"}):h?m?(0,E.jsx)(ys,{className:(0,Ut.clsx)("explorer__icon--folder",{"explorer__icon--readonly":p})}):t.isOpen?(0,E.jsx)(Cs,{className:(0,Ut.clsx)("explorer__icon--folder",{"explorer__icon--readonly":p})}):(0,E.jsx)(ys,{className:(0,Ut.clsx)("explorer__icon--folder",{"explorer__icon--readonly":p})}):(0,E.jsx)(Os,{className:(0,Ut.clsx)("explorer__icon--file",{"explorer__icon--readonly":p})}),f=()=>{m||t.isLoading||(t.isOpen?d(t):l(t))};return(0,E.jsx)(nn,{content:(0,E.jsx)(aA,{node:t}),menuProps:{elevation:7},onOpen:()=>o(!0),onClose:()=>o(!1),children:(0,E.jsxs)("div",{className:(0,Ut.clsx)("tree-view__node__container explorer__package-tree__node__container",{"explorer__package-tree__node__container--selected-from-context-menu":!t.isSelected&&r},{"explorer__package-tree__node__container--selected":t.isSelected}),onClick:e=>{e.stopPropagation(),e.preventDefault(),n?.(t)},onDoubleClick:()=>{t.isLoading||(h?f():c(t))},style:{paddingLeft:i*(s??1)+"rem",display:"flex"},children:[(0,E.jsxs)("div",{className:"tree-view__node__icon explorer__package-tree__node__icon",children:[t.isLoading&&(0,E.jsx)("div",{className:"explorer__package-tree__node__icon__expand explorer__package-tree__node__icon__expand--is-loading",children:(0,E.jsx)(_s,{})}),!t.isLoading&&(0,E.jsx)("div",{className:"explorer__package-tree__node__icon__expand",onClick:f,children:!h||m?(0,E.jsx)("div",{}):t.isOpen?(0,E.jsx)(Bs,{}):(0,E.jsx)(Us,{})}),(0,E.jsx)("div",{className:"explorer__package-tree__node__icon__type",children:g})]}),(0,E.jsx)("button",{className:"tree-view__node__label explorer__package-tree__node__label",tabIndex:-1,children:u?"platform":t.label})]})})},oA=(0,Ft.observer)((()=>{const e=Vy(),t=Qt(),i=e.directoryTreeState,s=e.directoryTreeState.getTreeData();return(0,E.jsxs)("div",{className:"explorer__content",onClick:()=>i.setSelectedNode(void 0),children:[(0,E.jsx)(Ky,{components:{TreeNodeContainer:rA},treeData:s,onNodeSelect:e=>i.setSelectedNode(e),getChildNodes:e=>e.isLoading||!e.childrenIds?[]:e.childrenIds.map((e=>s.nodes.get(e))).filter($),innerProps:{onNodeOpen:e=>{(0,Ve.flowResult)(i.openNode(e)).catch(t.alertUnhandledError)},onNodeExpand:e=>{(0,Ve.flowResult)(i.expandNode(e)).catch(t.alertUnhandledError)},onNodeCompress:e=>{e.isOpen=!1,i.refreshTree()}}}),i.nodeForCreateNewFile&&(0,E.jsx)(eA,{node:i.nodeForCreateNewFile}),i.nodeForCreateNewDirectory&&(0,E.jsx)(iA,{node:i.nodeForCreateNewDirectory}),i.nodeForRenameFile&&(0,E.jsx)(nA,{node:i.nodeForRenameFile})]})})),cA=(0,Ft.observer)((()=>{const e=Vy(),t=Qt(),i=e.directoryTreeState;return(0,E.jsxs)("div",{className:"panel explorer",children:[(0,E.jsx)("div",{className:"panel__header side-bar__header",children:(0,E.jsx)("div",{className:"panel__header__title",children:(0,E.jsx)("div",{className:"panel__header__title__content side-bar__header__title__content",children:"FILES"})})}),(0,E.jsx)("div",{className:"panel__content side-bar__content",children:(0,E.jsxs)("div",{className:"panel explorer",children:[(0,E.jsxs)("div",{className:"panel__header explorer__header",children:[(0,E.jsx)("div",{className:"panel__header__title"}),(0,E.jsxs)("div",{className:"panel__header__actions",children:[(0,E.jsx)("button",{className:"panel__header__action explorer__btn__refresh",onClick:()=>{(0,Ve.flowResult)(i.refreshTreeData()).catch(t.alertUnhandledError)},title:"Refresh Tree",children:(0,E.jsx)(Ti,{})}),(0,E.jsx)("button",{className:"panel__header__action",onClick:()=>{const s=e.tabManagerState.currentTab;s instanceof _S&&(0,Ve.flowResult)(i.revealPath(s.filePath)).catch(t.alertUnhandledError)},title:"Focus",children:(0,E.jsx)(Wi,{})}),(0,E.jsx)("button",{className:"panel__header__action",onClick:()=>{i.getTreeData().nodes.forEach((e=>{e.isOpen=!1})),i.setSelectedNode(void 0),i.refreshTree()},title:"Collapse All",children:(0,E.jsx)(as,{})})]})]}),(0,E.jsxs)("div",{className:"panel__content explorer__content__container",children:[(0,E.jsx)(si,{isLoading:i.loadInitialDataState.isInProgress}),i.loadInitialDataState.hasSucceeded&&(0,E.jsx)(oA,{}),i.loadInitialDataState.hasFailed&&(0,E.jsx)(hn,{children:"Failed to build directory tree"})]})]})})]})})),lA=(0,Ft.observer)((()=>{const e=Vy();return(0,E.jsx)("div",{className:"side-bar",children:(0,E.jsx)("div",{className:(0,Ut.clsx)("side-bar__view","side-bar__view--active"),children:(()=>{switch(e.activeActivity){case bT.CONCEPT_EXPLORER:return(0,E.jsx)(QN,{});case bT.FILE_EXPLORER:return(0,E.jsx)(cA,{});default:return null}})()},e.activeActivity)})})),dA=e=>{const{className:t}=e;return(0,E.jsx)("div",{className:(0,Ut.clsx)("logo",t),children:(0,E.jsxs)("svg",{stroke:"currentColor",fill:"currentColor",strokeWidth:"0",width:"1em",height:"1em",viewBox:"0 0 215 215",xmlns:"https://www.w3.org/2000/svg",children:[(0,E.jsx)("g",{transform:"matrix(1.0246,0,0,0.999998,1.03751,2.43115)",children:(0,E.jsx)("path",{d:"M141.9,86.5L141.9,68.1C141.9,66.5 140.7,65.2 139.1,65.2L66.5,65.2C64.9,65.2 63.7,66.5 63.7,68.1L63.7,86.5C63.7,88.1 64.9,89.4 66.5,89.4L139.1,89.4C140.7,89.4 141.9,88.1 141.9,86.5Z"})}),(0,E.jsx)("g",{transform:"matrix(1.0246,0,0,0.999998,1.03751,2.43115)",children:(0,E.jsx)("path",{d:"M118.4,116.9L118.4,98.5C118.4,96.9 117.5,95.6 116.4,95.6L65.7,95.6C64.6,95.6 63.7,96.9 63.7,98.5L63.7,116.9C63.7,118.5 64.6,119.8 65.7,119.8L116.5,119.8C117.6,119.8 118.4,118.6 118.4,116.9Z"})}),(0,E.jsx)("g",{transform:"matrix(1.0246,0,0,0.999998,1.03751,2.43115)",children:(0,E.jsx)("path",{d:"M141.9,147.3L141.9,129C141.9,127.4 140.7,126.1 139.1,126.1L66.5,126.1C64.9,126.1 63.7,127.4 63.7,129L63.7,147.4C63.7,149 64.9,150.3 66.5,150.3L139.1,150.3C140.7,150.3 141.9,149 141.9,147.3Z"})}),(0,E.jsx)("g",{transform:"matrix(1.0246,0,0,0.999998,1.03751,2.43115)",children:(0,E.jsx)("path",{d:"M205,170.7L152.7,139.1C150,137.4 147.7,138.7 147.7,141.9L147.7,157.9L55.8,157.9L55.8,59.4L67.2,59.4C70.4,59.4 71.7,57.2 70,54.4L38.4,2.1C36.7,-0.6 34.1,-0.6 32.4,2.1L0.7,54.4C-1,57.1 0.3,59.4 3.5,59.4L15.6,59.4L15.6,185.5C15.6,188.5 18,190.9 21,190.9L147.7,190.9L147.7,205.7C147.7,208.9 149.9,210.1 152.7,208.5L205,176.9C207.7,175.1 207.7,172.4 205,170.7Z"})})]})})},uA=(0,Ft.observer)((()=>{const e=Vy(),t=t=>()=>e.setActiveActivity(t),i=[{mode:bT.CONCEPT_EXPLORER,title:"Concept Explorer",icon:(0,E.jsx)(us,{})},{mode:bT.FILE_EXPLORER,title:"File Explorer",icon:(0,E.jsx)(Os,{})}].filter((e=>Boolean(e)));return(0,E.jsxs)("div",{className:"activity-bar",children:[(0,E.jsx)("div",{className:"activity-bar__logo",children:(0,E.jsx)(dA,{})}),(0,E.jsx)("div",{className:"activity-bar__items",children:i.map((i=>(0,E.jsx)("button",{className:(0,Ut.clsx)("activity-bar__item",{"activity-bar__item--active":e.sideBarDisplayState.isOpen&&e.activeActivity===i.mode}),onClick:t(i.mode),tabIndex:-1,title:i.title,children:i.icon},i.mode)))})]})})),pA=(0,Ft.observer)((e=>{const{fileEditorState:t}=e,i=t.textEditorState.cursorObserver,s=i?.selection?t.textEditorState.model.getValueInRange(i.selection).length:0;return(0,E.jsx)("div",{className:"file-editor__status-bar",children:i?.position&&(0,E.jsx)("button",{className:"editor__status-bar__action file-editor__status-bar__cursor-info",onClick:()=>t.setShowGoToLinePrompt(!0),tabIndex:-1,title:"Go to Line/Column",children:`Ln ${i.position.lineNumber}, Col ${i.position.column} ${s?` (${s} selected)`:""}`})})})),hA=(0,Ft.observer)((()=>{const e=Vy(),t=Qt();return(0,E.jsxs)("div",{className:"editor__status-bar",children:[(0,E.jsx)("div",{className:"editor__status-bar__left",children:(0,E.jsx)("div",{className:"editor__status-bar__workspace"})}),(0,E.jsxs)("div",{className:"editor__status-bar__right",children:[e.tabManagerState.currentTab instanceof _S&&(0,E.jsx)(pA,{fileEditorState:e.tabManagerState.currentTab}),(0,E.jsx)("button",{className:(0,Ut.clsx)("editor__status-bar__action editor__status-bar__compile-btn",{"editor__status-bar__compile-btn--wiggling":e.executionState.isInProgress}),disabled:e.initState.isInInitialState||e.executionState.isInProgress,onClick:()=>{(0,Ve.flowResult)(e.executeGo()).catch(t.alertUnhandledError)},tabIndex:-1,title:"Execute (F9)",children:(0,E.jsx)(is,{})}),(0,E.jsx)("button",{className:(0,Ut.clsx)("editor__status-bar__action editor__status-bar__action__toggler",{"editor__status-bar__action__toggler--active":Boolean(e.panelGroupDisplayState.isOpen)}),onClick:()=>e.panelGroupDisplayState.toggle(),tabIndex:-1,title:"Toggle panel",children:(0,E.jsx)(Ss,{})}),(0,E.jsx)("button",{className:(0,Ut.clsx)("editor__status-bar__action editor__status-bar__action__toggler",{"editor__status-bar__action__toggler--active":!t.assistantService.isHidden}),onClick:()=>t.assistantService.toggleAssistant(),tabIndex:-1,title:"Toggle assistant",children:(0,E.jsx)(yi,{})})]})]})})),mA=e=>{(0,Xt.useEffect)((()=>(e.registerCommands(),()=>e.deregisterCommands())),[e])},gA=/[0-9]+(?::[0-9]+)?/,fA=(0,Ft.observer)((e=>{const{fileEditorState:t}=e,[i,s]=(0,Xt.useState)(""),n=(0,Xt.useRef)(null),a=Boolean(i.match(gA)),r=t.textEditorState.editor?.getPosition(),[o,c]=(e=>{const t=e.split(":");return t.length<1||t.length>2?[1,void 0]:[z((()=>parseInt(W(R(t)))))??1,z((()=>parseInt(W(k(t)))))]})(i),l=1<=o&&o<=t.textEditorState.model.getLineCount(),d=a?l?void 0:"Invalid line number":"Invalid value (format [line:column] - e.g. 123:45)",u=()=>t.setShowGoToLinePrompt(!1),p=e=>{e.preventDefault(),u(),t.textEditorState.setForcedCursorPosition({lineNumber:o,column:c??1})};return(0,E.jsx)(jt.default,{open:!0,onClose:u,TransitionProps:{onEnter:()=>n.current?.focus()},classes:{container:"command-modal__container"},PaperProps:{classes:{root:"command-modal__inner-container"}},children:(0,E.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,E.jsx)("div",{className:"modal__title",children:"Go to..."}),(0,E.jsxs)("div",{className:"command-modal__content",children:[(0,E.jsx)("form",{className:"command-modal__content__form",onSubmit:p,children:(0,E.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,E.jsx)("input",{ref:n,className:"input input--dark",onChange:e=>s(e.target.value),placeholder:r?`Current Line: ${r.lineNumber}, Col: ${r.column}. Type a line between 1 and ${t.textEditorState.model.getLineCount()} to navigate to`:void 0,value:i,spellCheck:!1}),""!==i&&d&&(0,E.jsx)("div",{className:"input-group__error-message",children:d})]})}),(0,E.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:""===i||Boolean(d),onClick:p,children:"Go"})]})]})})})),_A=(0,Ft.observer)((e=>{const{editorState:t}=e,i=Vy(),s=Qt(),n=(0,Xt.useRef)(null),[a,r]=(0,Xt.useState)();return(0,Xt.useEffect)((()=>{if(!a&&n.current){const e=n.current,i=TT.editor.create(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,theme:kT.DEFAULT_DARK,wordWrap:t.textEditorState.wrapText?"on":"off",readOnly:t.file.RO});i.onDidChangeModelContent((()=>{const e=i.getValue();e!==t.file.content&&t.clearError(),t.file.setContent(e)})),i.onDidChangeCursorPosition((()=>{t.textEditorState.notifyCursorObserver()})),i.onDidChangeCursorSelection((()=>{t.textEditorState.notifyCursorObserver()})),i.setModel(t.textEditorState.model),t.textEditorState.viewState&&i.restoreViewState(t.textEditorState.viewState),i.focus(),t.textEditorState.setEditor(i),r(i)}}),[i,s,t,a]),mA(t),(0,Xt.useEffect)((()=>{a&&t.textEditorState.forcedCursorPosition&&(VT(a,t.textEditorState.forcedCursorPosition),t.textEditorState.setForcedCursorPosition(void 0))}),[a,t,t.textEditorState.forcedCursorPosition]),(0,Xt.useEffect)((()=>()=>{a&&(t.textEditorState.setViewState(a.saveViewState()??void 0),a.dispose())}),[t,a]),(0,E.jsxs)("div",{className:"panel editor-group file-editor",children:[(0,E.jsx)("div",{className:"panel__header file-editor__header",children:(0,E.jsxs)("div",{className:"file-editor__header__actions",children:[(0,E.jsx)("button",{className:(0,Ut.clsx)("file-editor__header__action",{"file-editor__header__action--active":t.textEditorState.wrapText}),tabIndex:-1,onClick:()=>t.textEditorState.setWrapText(!t.textEditorState.wrapText),title:"Toggle Text Wrap",children:(0,E.jsx)(Ni,{className:"file-editor__icon--text-wrap"})}),t.showGoToLinePrompt&&(0,E.jsx)(fA,{fileEditorState:t})]})}),(0,E.jsx)("div",{className:"panel__content file-editor__content",children:(0,E.jsx)("div",{className:"code-editor__container",children:(0,E.jsx)("div",{className:"code-editor__body",ref:n})})})]})})),bA=(e,t,i)=>{const s=[],n=t.getWordUntilPosition(e),a={startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:n.endColumn},r=t.getValueInRange(a);var o;return o=r.trim(),Boolean(o.match(/\s/))||i.forEach((e=>{s.push({label:{label:`${xa}${e.text}`,description:e.description},kind:TT.languages.CompletionItemKind.Keyword,insertText:`${xa}${e.insertText}\n`,range:a,documentation:e.documentation?e.documentation.markdownText?{value:e.documentation.markdownText.value}:e.documentation.text:void 0})})),s},EA=(e,t,i)=>{const s=[],n=t.getWordUntilPosition(e),a=t.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),r=`${xa}${zC.PURE}\n${a}`.split("\n").filter((e=>e.startsWith(xa))),o=(e=>{if(e.startsWith(xa))return e.substring(3).split(" ")[0]})(r[r.length-1]??"");return o&&i(o).forEach((t=>{s.push({label:{label:t.text,description:t.description},kind:TT.languages.CompletionItemKind.Snippet,insertTextRules:TT.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:`${t.insertText}\n`,range:{startLineNumber:e.lineNumber,startColumn:n.startColumn,endLineNumber:e.lineNumber,endColumn:n.endColumn},documentation:t.documentation?t.documentation.markdownText?{value:t.documentation.markdownText.value}:t.documentation.text:void 0})})),s},vA=(e,t,i=!1)=>{if(i)return t.map((e=>`${e}.pure`)).includes(e);const s=W(R(e.split(".")));return t.includes(s)};class TA{pureType;pureId;pureName;text;requiredClassProperties=[]}(0,Ne.createModelSchema)(TA,{pureType:(0,Ne.primitive)(),pureId:(0,Ne.primitive)(),pureName:(0,Ne.primitive)(),text:(0,Ne.primitive)(),requiredClassProperties:(0,Ne.optional)((0,Ne.list)((0,Ne.primitive)()))});class SA{pureType;pureName;owner;ownerPureType}(0,Ne.createModelSchema)(SA,{pureType:(0,Ne.primitive)(),pureName:(0,Ne.primitive)(),owner:(0,Ne.primitive)(),ownerPureType:(0,Ne.primitive)()});class CA{pureId;pureName;requiredClassProperties=[]}(0,Ne.createModelSchema)(CA,{pureId:(0,Ne.primitive)(),pureName:(0,Ne.primitive)(),requiredClassProperties:(0,Ne.optional)((0,Ne.list)((0,Ne.primitive)()))});class yA{name}(0,Ne.createModelSchema)(yA,{name:(0,Ne.primitive)()});const NA="Diagram",AA="Diagram",IA=()=>{const e=[];return e.push({label:{label:"/copyright",description:"(copyright header)"},kind:TT.languages.CompletionItemKind.Snippet,insertTextRules:TT.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:`// Copyright \${1:${(new Date).getFullYear()}} Goldman Sachs\n//\n// Licensed under the Apache License, Version 2.0 (the "License");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an "AS IS" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n`,range:{startLineNumber:1,startColumn:1,endLineNumber:1,endColumn:1e3}}),e},xA=e=>({label:{label:e.pureName,description:e.pureId},kind:TT.languages.CompletionItemKind.Class,filterText:e.pureName,insertTextRules:TT.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:`${e.pureName}(${e.requiredClassProperties.map(((e,t)=>`${e}=\${${t+1}:}`)).join(",")})`}),OA=(e,t)=>{const i=e.pureType,s=i===HT.FUNCTION||i===HT.NATIVE_FUNCTION?((e,t,i)=>{const s=fE(t),n=z((()=>s.substring(s.indexOf("_"),s.length-1))),a=n?.split("__")??[];return a.pop(),i&&a.shift(),`${e}(${a.map(((e,t)=>`\${${t+1}:}`)).join(",")})`})(e.pureName,e.pureId,Boolean(t?.preferArrowFunctionForm)):e.pureName,n=i===HT.PACKAGE?TT.languages.CompletionItemKind.Folder:i===HT.CLASS?TT.languages.CompletionItemKind.Class:i===HT.FUNCTION?TT.languages.CompletionItemKind.Function:i===HT.ENUMERATION?TT.languages.CompletionItemKind.Enum:i===HT.PROFILE?TT.languages.CompletionItemKind.Module:i===HT.ASSOCIATION?TT.languages.CompletionItemKind.Interface:TT.languages.CompletionItemKind.Value;return{label:{label:e.pureName,description:e.text},kind:n,filterText:e.pureName,insertTextRules:TT.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:s,sortText:i===HT.PACKAGE?`zzzz_${e.text}`:e.text}},wA=/(?<incompletePath>(?:\w[\w$]*::)+$)/,RA=/->\s*(?:\w[\w$]*::)+$/,kA=/\^\s*(?:\w[\w$]*::)+$/,PA=/^\s*import\s+(?:(?<importPath>(?:(?:\w[\w$]*)::)*\w[\w$]*)::*)/,MA=(e,t)=>{const i=t.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),s=`${xa}${zC.PURE}\n${i}`.split("\n");return s.slice(s.map((e=>e.startsWith(xa))).lastIndexOf(!0)).map((e=>e.match(PA)?.groups?.importPath)).filter($)},LA=/->\s*(?:\w[\w$]*)?$/,FA=/\^\s*(?:\w[\w$]*)?$/,DA=/^(?<owner>(?:(?:\w[\w$]*)::)*\w[\w$]*)\s*.$/,BA=async(e,t,i)=>{const s=t.getLineContent(e.lineNumber).substring(0,e.column-1).match(DA),n=MA(e,t);if(s?.groups?.owner){let e=[];try{e=(await i.client.getSuggestionsForAttribute(n,s.groups.owner)).map((e=>(0,Ne.deserialize)(SA,e)))}catch{}return e.map((e=>(e=>{const t=e.pureType,i=t===HT.PROPERTY||t===HT.QUALIFIED_PROPERTY?`${e.pureName}(\${1:})`:e.pureName,s=t===HT.PROPERTY?TT.languages.CompletionItemKind.Property:t===HT.QUALIFIED_PROPERTY?TT.languages.CompletionItemKind.Method:t===HT.TAG?TT.languages.CompletionItemKind.Constant:t===HT.STEREOTYPE?TT.languages.CompletionItemKind.Value:t===HT.ENUM_VALUE?TT.languages.CompletionItemKind.Enum:TT.languages.CompletionItemKind.Value;return{label:{label:e.pureName,description:`${e.owner}.${e.pureName}`},kind:s,filterText:e.pureName,insertTextRules:TT.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:i}})(e)))}return[]},jA=async(e,t,i)=>{const s=MA(e,t);let n=[];try{n=(await i.client.getSuggestionsForClass(s)).map((e=>(0,Ne.deserialize)(CA,e)))}catch{}return n.map((e=>(e=>({label:{label:e.pureName,description:e.pureId},kind:TT.languages.CompletionItemKind.Class,filterText:e.pureName,insertTextRules:TT.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:e.pureName}))(e)))},UA=(e,t)=>({label:e.name,kind:TT.languages.CompletionItemKind.Variable,insertTextRules:TT.languages.CompletionItemInsertTextRule.InsertAsSnippet,sortText:t?e.name:`zzzz_${e.name}`,insertText:e.name}),VA=/^\w[\w$]*$/,GA=(0,Ft.observer)((e=>{const{renameConceptState:t}=e,i=Qt(),s=t.fileEditorState,n=t.concept.pureName,[a,r]=(0,Xt.useState)(n),o=(0,Xt.useRef)(null),c=Boolean(a.match(VA)),l=n===a,d=c?void 0:"Invalid concept name",u=()=>{(0,Ve.flowResult)(s.setConceptToRenameState(void 0)).catch(i.alertUnhandledError)},p=e=>{e.preventDefault(),l||s.renameConcept(a).catch(i.alertUnhandledError).finally((()=>u()))};return(0,E.jsx)(jt.default,{open:!0,onClose:u,TransitionProps:{onEnter:()=>o.current?.focus()},classes:{container:"command-modal__container"},PaperProps:{classes:{root:"command-modal__inner-container"}},children:(0,E.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,E.jsx)("div",{className:"modal__title",children:"Rename concept"}),(0,E.jsxs)("div",{className:"command-modal__content",children:[(0,E.jsx)("form",{className:"command-modal__content__form",onSubmit:p,children:(0,E.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,E.jsx)("input",{ref:o,className:"input input--dark",onChange:e=>r(e.target.value),value:a,spellCheck:!1}),d&&(0,E.jsx)("div",{className:"input-group__error-message",children:d})]})}),(0,E.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:Boolean(d),onClick:p,children:"Rename"})]})]})})})),zA=(0,Ft.observer)((e=>{const{editorState:t}=e,i=(0,Xt.useRef)(void 0),s=(0,Xt.useRef)(void 0),n=(0,Xt.useRef)(void 0),a=(0,Xt.useRef)(null),[r,o]=(0,Xt.useState)(),[c,l]=(0,Xt.useState)(!1),d=Vy(),u=Qt();return(0,Xt.useEffect)((()=>{if(!r&&a.current){const e=a.current,i=TT.editor.create(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,language:zT.PURE,theme:kT.DEFAULT_DARK,wordSeparators:"`~!@#%^&*()-=+[{]}\\|;:'\",.<>/?",wordWrap:t.textEditorState.wrapText?"on":"off",readOnly:t.file.RO,contextmenu:!0,useShadowDOM:!1});i._codeEditorService.openCodeEditor=async()=>{const e=i.getPosition();e&&(0,Ve.flowResult)(d.executeNavigation(new QT(t.filePath,e.lineNumber,e.column))).catch(u.alertUnhandledError)},i.updateOptions({gotoLocation:{multiple:"goto",multipleDefinitions:"goto",alternativeDefinitionCommand:"DUMMY"}}),i.onContextMenu((()=>l(!0))),i.addAction({id:pS.FIND_USAGES,label:"Find Usages",contextMenuGroupId:"navigation",contextMenuOrder:1e3,run:function(e){const i=e.getPosition();if(i){const e=new QT(t.filePath,i.lineNumber,i.column);t.findConceptUsages(e)}}}),i.addAction({id:pS.REVEAL_CONCEPT_IN_TREE,label:"Reveal Concept",contextMenuGroupId:"navigation",contextMenuOrder:1e3,run:function(e){const i=e.getPosition();i&&d.revealConceptInTree(new QT(t.filePath,i.lineNumber,i.column)).catch(u.alertUnhandledError)}}),i.addAction({id:pS.RENAME_CONCEPT,label:"Rename",contextMenuGroupId:"navigation",contextMenuOrder:1e3,run:function(e){const i=e.getPosition();if(i){if(!t.textEditorState.model.getWordAtPosition(i))return;const e=new QT(t.filePath,i.lineNumber,i.column);(0,Ve.flowResult)(t.setConceptToRenameState(e)).catch(d.applicationStore.alertUnhandledError)}}}),i.onDidChangeModelContent((()=>{const e=i.getValue();e!==t.file.content&&t.clearError(),t.file.setContent(e)})),i.onDidChangeCursorPosition((()=>{t.textEditorState.notifyCursorObserver()})),i.onDidChangeCursorSelection((()=>{t.textEditorState.notifyCursorObserver()})),i.setModel(t.textEditorState.model),t.textEditorState.viewState&&i.restoreViewState(t.textEditorState.viewState),i.focus(),t.textEditorState.setEditor(i),o(i)}}),[d,u,t,r]),r&&(i.current?.dispose(),i.current=TT.languages.registerDefinitionProvider(zT.PURE,{provideDefinition:(e,i)=>{const s=e.getLineContent(i.lineNumber),n=TT.editor.tokenize(s,zT.PURE)[0];if(!n)return[];let a,r;for(let e=1;e<=n.length;++e){const t=e===n.length?s.length:W(n[e]).offset;if(t+1>i.column){a=W(n[e-1]),r={startLineNumber:i.lineNumber,startColumn:a.offset+1,endLineNumber:i.lineNumber,endColumn:t+1};break}}return a&&r&&vA(a.type,[vT.TYPE,vT.VARIABLE,vT.PROPERTY,vT.PARAMETER,vT.IDENTIFIER])?[{uri:t.textEditorState.model.uri,range:r}]:[]}}),s.current?.dispose(),s.current=TT.languages.registerCompletionItemProvider(zT.PURE,{triggerCharacters:["/","#",":",">",".","@","^","$"],provideCompletionItems:async(e,i,s)=>{let n=[];if(s.triggerKind===TT.languages.CompletionTriggerKind.TriggerCharacter)switch(s.triggerCharacter){case"/":n=n.concat(IA());break;case"#":n=n.concat(bA(i,e,[{text:zC.PURE,description:"(core Pure)",insertText:zC.PURE},{text:zC.MAPPING,description:"(dsl)",insertText:zC.MAPPING},{text:zC.CONNECTION,description:"(dsl)",insertText:zC.CONNECTION},{text:zC.RUNTIME,description:"(dsl)",insertText:zC.RUNTIME},{text:zC.RELATIONAL,description:"(external store)",insertText:zC.RELATIONAL},{text:NA,description:"(dsl)",insertText:AA}]));break;case":":n=n.concat(await(async(e,t,i)=>{const s=t.getLineContent(e.lineNumber).substring(0,e.column-1).match(wA);if(s?.groups?.incompletePath){const n=Boolean(t.getLineContent(e.lineNumber).substring(0,e.column-1).match(RA)),a=Boolean(t.getLineContent(e.lineNumber).substring(0,e.column-1).match(kA));let r=[];try{r=(await i.client.getSuggestionsForIncompletePath(s.groups.incompletePath.substring(0,s.groups.incompletePath.length-2),a?[HT.CLASS]:n?[HT.FUNCTION,HT.NATIVE_FUNCTION]:[])).map((e=>(0,Ne.deserialize)(TA,e)))}catch{}return r.map((e=>a?xA(e):OA(e,{preferArrowFunctionForm:n})))}return[]})(i,e,d));break;case">":n=n.concat(await(async(e,t,i)=>{const s=MA(e,t);let n=[];try{n=(await i.client.getSuggestionsForIdentifier(s,[HT.FUNCTION,HT.NATIVE_FUNCTION])).map((e=>(0,Ne.deserialize)(TA,e)))}catch{}return n.map((e=>OA(e,{preferArrowFunctionForm:!0})))})(i,e,d));break;case".":n=n.concat(await BA(i,e,d));break;case"^":n=n.concat(await(async(e,t,i)=>{const s=MA(e,t);let n=[];try{n=(await i.client.getSuggestionsForClass(s)).map((e=>(0,Ne.deserialize)(CA,e)))}catch{}return n.map((e=>xA(e)))})(i,e,d));break;case"@":n=n.concat(await jA(i,e,d));break;case"$":n=n.concat(await(async(e,t,i,s)=>{let n=[];try{n=(await s.client.getSuggestionsForVariable(i,e.lineNumber,e.column)).map((e=>(0,Ne.deserialize)(yA,e)))}catch{}const a=new Set;let r=!1;for(let i=e.lineNumber-1;i>Math.max(0,e.lineNumber-1-10)&&!r;--i){const s=t.getLineContent(i+1);(s.match(/^\s*function\s+/)||s.match(/^\s*###\w+/))&&(r=!0);const n=W(TT.editor.tokenize(t.getLineContent(i+1),zT.PURE)[0]);n.forEach(((s,r)=>{(i!==e.lineNumber-1||s.offset<e.column)&&vA(s.type,[vT.VARIABLE,vT.PARAMETER],!0)&&a.add(t.getValueInRange({startLineNumber:i+1,startColumn:s.offset+1,endLineNumber:i+1,endColumn:r===n.length-1?Number.MAX_SAFE_INTEGER:W(n[r+1]).offset+1}))}))}const o=n.map((e=>e.name));return n.map((e=>UA(e,!0))).concat(Array.from(a).filter((e=>!o.includes(e))).map((e=>{const t=new yA;return t.name=e,t})).map((e=>UA(e,!1))))})(i,e,t.filePath,d))}return{suggestions:n}}}),n.current?.dispose(),n.current=TT.languages.registerCompletionItemProvider(zT.PURE,{triggerCharacters:[],provideCompletionItems:async(e,t,i)=>{let s=[];return i.triggerKind===TT.languages.CompletionTriggerKind.Invoke&&(s=s.concat(IA()),s=s.concat(EA(t,e,(e=>(e=>{switch(e){case zC.PURE:return[{text:VC.CLASS,description:"(blank)",insertText:"Class ${1:model::NewClass}\n// example of a constraint\n// [\n// SomeConstraint: true\n// ]\n{\n ${2:// example of a standard property\n // prop1: String[1];\n\n // example of a derived property\n // derivation1() {''\\}: String[1];}\n}"},{text:VC.CLASS,description:"with property",insertText:"Class ${1:model::NewClass}\n{\n ${2:prop1}: ${3:String[1]};\n}"},{text:VC.CLASS,description:"with inheritance",insertText:"Class ${1:model::NewClass} extends ${2:model::ParentClass}\n{\n ${3:// class content}\n}"},{text:VC.CLASS,description:"with constraint",insertText:"Class ${1:model::NewClass}\n[\n ${3:SomeConstraint: true}\n]\n{\n ${2:// class content}\n}"},{text:VC.PROFILE,insertText:"Profile ${1:model::NewProfile}\n{\n stereotypes: [${2:}];\n tags: [${3:}];\n}"},{text:VC.ENUMERATION,insertText:"Enum ${1:model::NewEnumeration}\n{\n ${2:VALUE_1,\n VALUE_2}\n}"},{text:VC.ASSOCIATION,insertText:"Association ${1:model::NewAssociation}\n{\n ${2:prop1}: ${3:model::Type1[1]};\n ${4:prop2}: ${5:model::Type2[1]};\n}"},{text:VC.FUNCTION,description:"(blank)",insertText:"function ${1:model::NewEnumeration}(${2:param1: String[1]}): ${3:String[1]}\n{\n ${4:''; // function content}\n}"},{text:VC.FUNCTION,insertText:"function ${1:model::NewEnumeration}(): String[1]\n{\n ''\n}"}];case zC.MAPPING:return[{text:VC.MAPPING,description:"(blank)",insertText:"Mapping ${1:model::NewMapping}\n(\n ${2:// mapping content}\n)"},{text:VC.MAPPING,description:"with model-to-model mapping",insertText:"Mapping ${1:model::NewMapping}\n(\n ${2:model::TargetClass}: Pure\n {\n ~src ${3:model::SourceClass}\n // example of property mappings\n // prop1: $src.prop1\n }\n)"},{text:VC.MAPPING,description:"with relational mapping",insertText:"Mapping ${1:model::NewMapping}\n(\n ${2:model::TargetClass}: Relational {\n ~mainTable ${3:[model::SomeDatabase]SomeTable}\n // example of property mappings\n // prop1: [model::SomeDatabase]SomeTable.col1,\n }\n)"},{text:VC.MAPPING,description:"with enumeration mapping",insertText:"Mapping ${1:model::NewMapping}\n(\n ${2:model::TargetEnumeration}: EnumerationMapping ${3:EnumerationMappingID}\n {\n // example of enum-value mapping\n // VAL_1: ['val1'],\n // VAL_2: ['val2', 'val_2']\n }\n)"}];case zC.RELATIONAL:return[{text:VC.DATABASE,description:"(blank)",insertText:"Database ${1:model::NewDatabase}\n(\n // example database schema\n // Schema SOME_SCHEMA\n // (\n // Table TABLE_1\n // (\n // COL_1 VARCHAR(200)\n // )\n // Table TABLE_2\n // (\n // COL_2 VARCHAR(200) PRIMARY_KEY\n // )\n // )\n\n // example database join\n // Join SomeJoin(SOME_SCHEMA.TABLE_1.COL_1 = SCHEMA1.TABLE_2.COL_2)\n\n ${2:// database content}\n)"}];case NA:return[{text:AA,description:"(blank)",insertText:"Diagram ${1:model::NewDiagram}(width=0.0, height=0.0)\n{\n // NOTE: it is recommended to use diagram visual editor\n // to edit diagram: double-click on the diagram in\n // the concept explorer tree to open the editor\n}"}];default:return[]}})(e)))),s=s.concat(((e,t,i=[])=>{const s=t.getWordUntilPosition(e);return[{text:"let",description:"new variable",insertText:"let ${1:} = ${2:};"},{text:"let",description:"new collection",insertText:"let ${1:} = [${2:}];"},{text:"cast",description:"type casting",insertText:"cast(@${1:model::SomeClass})"},{text:"if",description:"(conditional)",insertText:"if(${1:'true'}, | ${2:/* if true do this */}, | ${3:/* if false do this */})"},{text:"case",description:"(conditional)",insertText:"case(${1:}, ${2:'true'}, ${3:'false'})"},{text:"match",description:"(conditional)",insertText:"match([x:${1:String[1]}, ${2:''}])"},{text:"map",description:"(collection)",insertText:"map(x|${1:})"},{text:"filter",description:"(collection)",insertText:"filter(x|${1:})"},{text:"fold",description:"(collection)",insertText:"fold({a, b| ${1:$a + $b}}, ${2:0})"},{text:"filter",description:"(collection)",insertText:"filter(x|${1:})"},{text:"sort",description:"(collection)",insertText:"sort()"},{text:"in",description:"(collection)",insertText:"in()"},{text:"slice",description:"(collection)",insertText:"slice(${1:1},${2:2})"},{text:"removeDuplicates",description:"(collection)",insertText:"removeDuplicates()"},{text:"toOne",description:"(collection)",insertText:"toOne(${1:})"},{text:"toOneMany",description:"(collection)",insertText:"toOneMany(${1:})"},{text:"isEmpty",description:"(collection)",insertText:"isEmpty()"},{text:"endsWith",description:"(string)",insertText:"endsWith()"},{text:"startsWith",description:"(string)",insertText:"startsWith()"},...i].map((t=>({label:{label:t.text,description:t.description},kind:TT.languages.CompletionItemKind.Snippet,insertTextRules:TT.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:t.insertText,range:{startLineNumber:e.lineNumber,startColumn:s.startColumn,endLineNumber:e.lineNumber,endColumn:s.endColumn},documentation:t.documentation?t.documentation.markdownText?{value:t.documentation.markdownText.value}:t.documentation.text:void 0})))})(t,e,[{text:"print",description:"(io)",insertText:"print(${1:})"},{text:"println",description:"(io)",insertText:"println(${1:})"},{text:"NULL",description:"(nullish value)",insertText:"[]"}])),s=s.concat(await(async(e,t,i)=>{const s=MA(e,t),n=Boolean(t.getLineContent(e.lineNumber).substring(0,e.column-1).match(LA)),a=Boolean(t.getLineContent(e.lineNumber).substring(0,e.column-1).match(FA));let r=[];try{r=(await i.client.getSuggestionsForIdentifier(s,a?[HT.CLASS]:n?[HT.FUNCTION,HT.NATIVE_FUNCTION]:[])).map((e=>(0,Ne.deserialize)(TA,e)))}catch{}return r.map((e=>a?xA(e):OA(e,{preferArrowFunctionForm:n})))})(t,e,d))),{suggestions:s}}})),mA(t),(0,Xt.useEffect)((()=>{if(c){if(document.querySelector(".file-editor .monaco-menu")){const e=["Peek"];Array.from(document.querySelectorAll(".file-editor .monaco-menu .action-label")).filter((t=>e.includes(t.innerHTML))).forEach((e=>{const t=e.parentElement?.parentElement;t&&(t.classList.add("disabled"),t.style.opacity="0.3",t.style.pointerEvents="none")}))}l(!1)}}),[c]),(0,Xt.useEffect)((()=>{r&&t.textEditorState.forcedCursorPosition&&(VT(r,t.textEditorState.forcedCursorPosition),t.textEditorState.setForcedCursorPosition(void 0))}),[r,t,t.textEditorState.forcedCursorPosition]),(0,Xt.useEffect)((()=>()=>{r&&(t.textEditorState.setViewState(r.saveViewState()??void 0),r.dispose(),i.current?.dispose(),s.current?.dispose(),n.current?.dispose())}),[t,r]),(0,E.jsxs)("div",{className:"panel editor-group file-editor",children:[(0,E.jsx)("div",{className:"panel__header file-editor__header",children:(0,E.jsxs)("div",{className:"file-editor__header__actions",children:[(0,E.jsx)("button",{className:(0,Ut.clsx)("file-editor__header__action",{"file-editor__header__action--active":t.textEditorState.wrapText}),tabIndex:-1,onClick:()=>t.textEditorState.setWrapText(!t.textEditorState.wrapText),title:"Toggle Text Wrap",children:(0,E.jsx)(Ni,{className:"file-editor__icon--text-wrap"})}),t.renameConceptState&&(0,E.jsx)(GA,{renameConceptState:t.renameConceptState}),t.showGoToLinePrompt&&(0,E.jsx)(fA,{fileEditorState:t})]})}),(0,E.jsx)("div",{className:"panel__content file-editor__content",children:(0,E.jsx)("div",{className:"code-editor__container",children:(0,E.jsx)("div",{className:"code-editor__body",ref:a})})})]})}));var HA=i(8533);const $A=e=>{const{open:t,className:i,children:s,menuProps:n,content:a,title:r,disabled:o,onClose:c,onOpen:l}=e,d=(0,Xt.useRef)(null),[u,p]=(0,Xt.useState)(null);return(0,Xt.useEffect)((()=>{void 0!==t&&(t&&!u&&d.current?p(d.current):!t&&u&&p(null))}),[u,t]),(0,E.jsxs)("button",{ref:d,className:i,disabled:o,onClick:e=>{e.stopPropagation(),e.preventDefault(),o||(u?(c?.(),p(null)):d.current&&(l?.(),p(d.current)))},tabIndex:-1,title:r,children:[s,(0,E.jsx)(sn,{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},anchorEl:u,open:(void 0===t||Boolean(t))&&Boolean(u),BackdropProps:{invisible:!0},elevation:0,marginThreshold:0,disableRestoreFocus:!0,...n,children:a})]})},YA=(0,Ft.observer)((0,Xt.forwardRef)((function(e,t){const{diagramEditorState:i}=e,s=Qt(),n=i.diagram,a=t,{width:r,height:o}=(0,pn.useResizeDetector)({refreshMode:"debounce",refreshRate:50,targetRef:a});(0,Xt.useEffect)((()=>{const e=new Ny(a.current,n);i.setRenderer(e),i.setupRenderer(),e.render({initial:!0})}),[a,i,n]),(0,Xt.useEffect)((()=>{i.isDiagramRendererInitialized&&i.renderer.render({initial:!0})}),[i,i.isDiagramRendererInitialized]),(0,Xt.useEffect)((()=>{i.isDiagramRendererInitialized&&i.renderer.refresh()}),[i,r,o]);const c=(0,Xt.useCallback)(((e,t)=>{if(e instanceof JT){const n=t.getClientOffset(),a=n?i.renderer.canvasCoordinateToModelCoordinate(i.renderer.eventCoordinateToCanvasCoordinate(new Pv(n.x,n.y))):void 0;(0,Ve.flowResult)(i.addClassView(e.li_attr.pureId,a)).catch(s.alertUnhandledError)}}),[s,i]),[,l]=(0,HA.useDrop)((()=>({accept:JN.CLASS,drop:(e,t)=>c(e,t)})),[c]);return l(a),(0,E.jsx)("div",{ref:a,className:(0,Ut.clsx)("diagram-canvas diagram-editor__canvas",i.diagramCursorClass),tabIndex:0})}))),WA=(0,Ft.observer)((e=>{const{diagramEditorState:t}=e,i=Vy(),s=Qt(),n=e=>()=>{t.renderer.zoomCenter(e/100)},a=t.renderer.selectedClasses.length<2;return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsxs)("div",{className:"diagram-editor__header__group",children:[(0,E.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Align left",disabled:a,tabIndex:-1,onClick:()=>t.renderer.align(Ty.ALIGN_LEFT),children:(0,E.jsx)(ji,{className:"diagram-editor__icon--aligner"})}),(0,E.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Align center",disabled:a,tabIndex:-1,onClick:()=>t.renderer.align(Ty.ALIGN_CENTER),children:(0,E.jsx)(Ui,{className:"diagram-editor__icon--aligner"})}),(0,E.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Align right",disabled:a,tabIndex:-1,onClick:()=>t.renderer.align(Ty.ALIGN_RIGHT),children:(0,E.jsx)(Vi,{className:"diagram-editor__icon--aligner"})})]}),(0,E.jsx)("div",{className:"diagram-editor__header__group__separator"}),(0,E.jsxs)("div",{className:"diagram-editor__header__group",children:[(0,E.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Align top",disabled:a,tabIndex:-1,onClick:()=>t.renderer.align(Ty.ALIGN_TOP),children:(0,E.jsx)(Fi,{className:"diagram-editor__icon--aligner"})}),(0,E.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Align middle",disabled:a,tabIndex:-1,onClick:()=>t.renderer.align(Ty.ALIGN_MIDDLE),children:(0,E.jsx)(Di,{className:"diagram-editor__icon--aligner"})}),(0,E.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Align bottom",disabled:a,tabIndex:-1,onClick:()=>t.renderer.align(Ty.ALIGN_BOTTOM),children:(0,E.jsx)(Bi,{className:"diagram-editor__icon--aligner"})})]}),(0,E.jsx)("div",{className:"diagram-editor__header__group__separator"}),(0,E.jsxs)("div",{className:"diagram-editor__header__group",children:[(0,E.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Space horizontally",disabled:a,tabIndex:-1,onClick:()=>t.renderer.align(Ty.SPACE_HORIZONTALLY),children:(0,E.jsx)(Gi,{className:"diagram-editor__icon--aligner"})}),(0,E.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Space vertically",disabled:a,tabIndex:-1,onClick:()=>t.renderer.align(Ty.SPACE_VERTICALLY),children:(0,E.jsx)(zi,{className:"diagram-editor__icon--aligner"})})]}),(0,E.jsxs)($A,{className:"diagram-editor__header__dropdown",title:"Zoom...",content:(0,E.jsxs)(an,{children:[(0,E.jsx)(rn,{className:"diagram-editor__header__zoomer__dropdown__menu__item",onClick:()=>t.renderer.zoomToFit(),children:"Fit"}),(0,E.jsx)(on,{}),Cy.map((e=>(0,E.jsxs)(rn,{className:"diagram-editor__header__zoomer__dropdown__menu__item",onClick:n(e),children:[e,"%"]},e)))]}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},elevation:7},children:[(0,E.jsxs)("div",{className:"diagram-editor__header__dropdown__label diagram-editor__header__zoomer__dropdown__label",children:[Math.round(100*t.renderer.zoom),"%"]}),(0,E.jsx)("div",{className:"diagram-editor__header__dropdown__trigger diagram-editor__header__zoomer__dropdown__trigger",children:(0,E.jsx)(Zi,{})})]}),(0,E.jsx)("div",{className:"diagram-editor__header__actions",children:(0,E.jsx)("button",{className:"diagram-editor__header__action",tabIndex:-1,onClick:()=>{(0,Ve.flowResult)(i.loadFile(t.filePath,new QT(t.filePath,t.fileLine,t.fileColumn))).catch(s.alertUnhandledError)},children:(0,E.jsx)(Ai,{className:"diagram-editor__icon--go-to-file"})})})]})})),KA=(0,Ft.observer)((e=>{const{diagramEditorState:t}=e,i=t.renderer,s=(e,t)=>()=>i.changeMode(e,t);return(0,E.jsxs)("div",{className:"diagram-editor__tools",children:[(0,E.jsx)("button",{className:(0,Ut.clsx)("diagram-editor__tool",{"diagram-editor__tool--active":i.interactionMode===Ey.LAYOUT}),tabIndex:-1,onClick:s(Ey.LAYOUT,vy.NONE),title:"View Tool (V)",children:(0,E.jsx)(Hs,{className:"diagram-editor__icon--layout"})}),(0,E.jsx)("button",{className:(0,Ut.clsx)("diagram-editor__tool",{"diagram-editor__tool--active":i.interactionMode===Ey.PAN}),tabIndex:-1,onClick:s(Ey.PAN,vy.NONE),title:"Pan Tool (M)",children:(0,E.jsx)($s,{className:"diagram-editor__icon--pan"})}),(0,E.jsx)("button",{className:(0,Ut.clsx)("diagram-editor__tool",{"diagram-editor__tool--active":i.interactionMode===Ey.ZOOM_IN}),tabIndex:-1,title:"Zoom In (Z)",onClick:s(Ey.ZOOM_IN,vy.NONE),children:(0,E.jsx)(Ys,{className:"diagram-editor__icon--zoom-in"})}),(0,E.jsx)("button",{className:(0,Ut.clsx)("diagram-editor__tool",{"diagram-editor__tool--active":i.interactionMode===Ey.ZOOM_OUT}),tabIndex:-1,title:"Zoom Out (Z)",onClick:s(Ey.ZOOM_OUT,vy.NONE),children:(0,E.jsx)(Ws,{className:"diagram-editor__icon--zoom-out"})})]})})),JA=(0,Ft.observer)((e=>{const{diagramEditorState:t}=e,i=(0,Xt.useRef)(null);return mA(t),(0,E.jsxs)("div",{className:"diagram-editor",children:[(0,E.jsx)("div",{className:"diagram-editor__header",children:t.isDiagramRendererInitialized&&(0,E.jsx)(WA,{diagramEditorState:t})}),(0,E.jsx)("div",{className:"diagram-editor__content",children:(0,E.jsxs)("div",{className:"diagram-editor__stage",children:[t.isDiagramRendererInitialized&&(0,E.jsx)(KA,{diagramEditorState:t}),(0,E.jsx)(YA,{diagramEditorState:t,ref:i})]})})]})}));var XA=i(3297),qA=i(4153);(0,Ft.observer)((0,Xt.forwardRef)((function(e,t){const{children:i,placeholder:s,showPlaceholder:n,className:a}=e;return(0,E.jsxs)("div",{ref:t,className:(0,Ut.clsx)("dnd__entry__container",a),children:[n&&(0,E.jsx)("div",{className:"dnd__entry__placeholder",children:s?(0,E.jsx)(E.Fragment,{children:s}):(0,E.jsx)("div",{className:"dnd__entry__placeholder__content"})}),(0,E.jsx)(E.Fragment,{children:i})]})})));const QA=e=>{const{children:t,label:i,isDragOver:s,isDroppable:n,className:a}=e;return s||n?(0,E.jsx)("div",{className:(0,Ut.clsx)(["dnd__entry-dropzone__placeholder",a,{"dnd__entry-dropzone__placeholder--active":s,"dnd__entry-dropzone__placeholder--droppable":n}]),children:(0,E.jsx)("div",{className:"dnd__entry-dropzone__placeholder__content",children:(0,E.jsx)("div",{className:"dnd__entry-dropzone__placeholder__label",children:i??""})})}):(0,E.jsx)(E.Fragment,{children:t})};function ZA(e){const{labelGetter:t,types:i}=e,{itemType:s,item:n,isDragging:a,currentPosition:r}=(0,XA.useDragLayer)((e=>({itemType:e.getItemType(),item:e.getItem(),isDragging:e.isDragging(),currentPosition:e.getClientOffset()})));return a&&n&&s&&i.includes(s.toString())?(0,E.jsx)("div",{className:"dnd__drag-preview-layer",children:(0,E.jsx)("div",{className:"dnd__drag-preview-layer__content",style:r?{transform:`translate(${r.x/10+2}rem, ${r.y/10+1}rem)`}:{display:"none"},children:t(n)})}):null}const eI=e=>{if(Math.abs(e.deltaY)<=Math.abs(e.deltaX))return;let t;e.stopPropagation(),t=0===e.deltaY?e.deltaY:e.deltaY<0?-Math.abs(e.deltaY):Math.abs(e.deltaY),e.currentTarget.scrollBy(t,0)},tI=(0,Ft.observer)((e=>{const{tabState:t,managerTabState:i}=e;return(0,E.jsxs)(an,{children:[(0,E.jsx)(rn,{onClick:()=>i.closeTab(t),children:"Close"}),(0,E.jsx)(rn,{disabled:i.tabs.length<2,onClick:()=>i.closeAllOtherTabs(t),children:"Close Others"}),(0,E.jsx)(rn,{onClick:()=>i.closeAllTabs(),children:"Close All"})]})})),iI=(0,Ft.observer)((e=>{const t=(0,Xt.useRef)(null),{tabManagerState:i,tabState:s,tabRenderer:n}=e,a=(0,Xt.useCallback)(((e,n)=>{const a=e.tab,r=s,o=i.tabs.findIndex((e=>e===a)),c=i.tabs.findIndex((e=>e===r)),l=t.current?.getBoundingClientRect(),d=((l?.left??0)-(l?.right??0))/2,u=(n.getClientOffset()?.x??0)-(l?.right??0);o<c&&u<d||o>c&&u>d||i.swapTabs(a,r)}),[i,s]),[{isBeingDraggedEditorPanel:r},o]=(0,HA.useDrop)((()=>({accept:[i.dndType],hover:(e,t)=>a(e,t),collect:e=>({isBeingDraggedEditorPanel:e.getItem()?.tab})})),[a]),c=s===r,[,l,d]=(0,IN.useDrag)((()=>({type:i.dndType,item:()=>({tab:s})})),[s,i]);return l(o(t)),(e=>{(0,Xt.useEffect)((()=>{e((0,qA.getEmptyImage)())}),[e])})(d),(0,E.jsx)("div",{ref:t,"data-testid":"tab-manager__tab",className:(0,Ut.clsx)("tab-manager__tab",{"tab-manager__tab--active":s===i.currentTab,"tab-manager__tab--dragged":c}),onMouseUp:(u=s,e=>{1===e.nativeEvent.button&&i.closeTab(u)}),children:(0,E.jsx)(QA,{isDragOver:!1,className:"tab-manager__tab__dnd__placeholder",children:(0,E.jsxs)(nn,{content:(0,E.jsx)(tI,{tabState:s,managerTabState:i}),className:"tab-manager__tab__content",children:[(0,E.jsx)("button",{className:"tab-manager__tab__label",tabIndex:-1,onClick:()=>i.openTab(s),title:s.description,children:n?.(s)??s.label}),(0,E.jsx)("button",{className:"tab-manager__tab__close-btn",onClick:()=>i.closeTab(s),tabIndex:-1,title:"Close",children:(0,E.jsx)(Ji,{})})]})})});var u})),sI=(0,Ft.observer)((e=>{const{managerTabState:t}=e;return(0,E.jsx)($A,{className:"tab-manager__menu__toggler",title:"Show All Tabs",content:(0,E.jsx)(an,{className:"tab-manager__menu",children:t.tabs.map((e=>(0,E.jsxs)(rn,{className:(0,Ut.clsx)("tab-manager__menu__item",{"tab-manager__menu__item--active":e===t.currentTab}),onClick:()=>t.openTab(e),children:[(0,E.jsx)("div",{className:"tab-manager__menu__item__label",children:e.label}),(0,E.jsx)("div",{className:"tab-manager__menu__item__close-btn",onClick:i=>{i.stopPropagation(),t.closeTab(e)},tabIndex:-1,title:"Close",children:(0,E.jsx)(Ji,{})})]},e.uuid)))}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}},children:(0,E.jsx)(Bs,{})})})),nI=(0,Ft.observer)((e=>{const{tabManagerState:t,tabRenderer:i}=e;return(0,E.jsxs)("div",{className:"tab-manager",children:[(0,E.jsxs)("div",{className:"tab-manager__content",onWheel:eI,children:[t.tabs.map((e=>(0,E.jsx)(iI,{tabState:e,tabManagerState:t,tabRenderer:i},e.uuid))),(0,E.jsx)(ZA,{labelGetter:e=>e.tab.label,types:[t.dndType]})]}),(0,E.jsx)(sI,{managerTabState:t})]})})),aI=()=>{const[e,t]=(0,Xt.useState)(!1),{ref:i,width:s,height:n}=(0,pn.useResizeDetector)();return(0,Xt.useEffect)((()=>{t((s??0)>300&&(n??0)>150)}),[s,n]),(0,E.jsx)("div",{ref:i,className:"editor-group__splash-screen",children:(0,E.jsxs)("div",{className:(0,Ut.clsx)("editor-group__splash-screen__content",{"editor-group__splash-screen__content--hidden":!e}),children:[(0,E.jsxs)("div",{className:"editor-group__splash-screen__content__item",children:[(0,E.jsx)("div",{className:"editor-group__splash-screen__content__item__label",children:"Run the go() function"}),(0,E.jsx)("div",{className:"editor-group__splash-screen__content__item__hot-keys",children:(0,E.jsx)("div",{className:"hotkey__key",children:"F9"})})]}),(0,E.jsxs)("div",{className:"editor-group__splash-screen__content__item",children:[(0,E.jsx)("div",{className:"editor-group__splash-screen__content__item__label",children:"Run the full test suite"}),(0,E.jsx)("div",{className:"editor-group__splash-screen__content__item__hot-keys",children:(0,E.jsx)("div",{className:"hotkey__key",children:"F10"})})]}),(0,E.jsxs)("div",{className:"editor-group__splash-screen__content__item",children:[(0,E.jsx)("div",{className:"editor-group__splash-screen__content__item__label",children:"Search for a file"}),(0,E.jsxs)("div",{className:"editor-group__splash-screen__content__item__hot-keys",children:[(0,E.jsx)("div",{className:"hotkey__key",children:"Ctrl"}),(0,E.jsx)("div",{className:"hotkey__plus",children:(0,E.jsx)(qi,{})}),(0,E.jsx)("div",{className:"hotkey__key",children:"P"})]})]})]})})},rI=(0,Ft.observer)((()=>{const e=Vy(),t=e.tabManagerState.currentTab;return t?(0,E.jsxs)("div",{className:"panel editor-group",children:[(0,E.jsxs)("div",{className:"panel__header editor-group__header",children:[(0,E.jsx)("div",{className:"editor-group__header__tabs",children:(0,E.jsx)(nI,{tabManagerState:e.tabManagerState,tabRenderer:t=>{if(t instanceof _S){const i=e.tabManagerState.tabs.filter((e=>e instanceof _S&&e.fileName===t.fileName)).length>1;return(0,E.jsxs)("div",{className:"editor-group__header__tab",children:[(0,E.jsx)("div",{className:"editor-group__header__tab__icon",children:(0,E.jsx)(Os,{className:"editor-group__header__tab__icon--file"})}),(0,E.jsx)("div",{className:"editor-group__header__tab__label",children:t.fileName}),i&&(0,E.jsx)("div",{className:"editor-group__header__tab__path",children:t.filePath}),t.file.RO&&(0,E.jsx)("div",{className:"editor-group__header__tab__icon",children:(0,E.jsx)(Ki,{className:"editor-group__header__tab__icon--readonly"})})]})}if(t instanceof Ay){const i=e.tabManagerState.tabs.filter((e=>e instanceof Ay&&e.diagramName===t.diagramName)).length>1;return(0,E.jsxs)("div",{className:"editor-group__header__tab",children:[(0,E.jsx)("div",{className:"editor-group__header__tab__icon",children:(0,E.jsx)(jN,{})}),(0,E.jsx)("div",{className:"editor-group__header__tab__label",children:t.diagramName}),i&&(0,E.jsx)("div",{className:"editor-group__header__tab__path",children:t.diagramPath})]})}return t.label}})}),(0,E.jsx)("div",{className:"panel__header__actions"})]}),(0,E.jsx)("div",{className:"panel__content editor-group__content",children:t instanceof _S?t.textEditorState.language===zT.PURE?(0,E.jsx)(zA,{editorState:t}):(0,E.jsx)(_A,{editorState:t}):t instanceof Ay?(0,E.jsx)(JA,{diagramEditorState:t}):null},t.uuid)]}):(0,E.jsx)(aI,{})}));var oI=i(166),cI=i(7493);cI.Select.createFilter;const lI=e=>{const{options:t,children:i,getValue:s,selectProps:n}=e;let a=n.optionCustomization?.rowHeight??3.5*parseInt(getComputedStyle(document.documentElement).fontSize,10);a=isNaN(a)?35:a;const[r]=s(),o=t.indexOf(r)*a,c=i.length?i.findIndex((e=>e.props.isFocused)):0,l=(0,Xt.useRef)(null);return(0,Xt.useEffect)((()=>{l.current?.scrollToItem(c)}),[c]),i.length?(0,E.jsx)(oI.FixedSizeList,{className:n.darkMode?"scrollbar--light selector-menu--dark":"",ref:l,width:"100%",height:Math.min(i.length,6)*a,itemCount:i.length,itemSize:a,initialScrollOffset:o,children:({index:e,style:t})=>(0,E.jsx)("div",{style:t,className:"selector-input__option-wrapper",children:i[e]})}):(0,E.jsx)("div",{className:"selector-menu--no-match "+(n.darkMode?"selector-menu--dark":""),children:n.noMatchMessage??"No match found"})},dI=e=>{const{children:t,selectProps:i}=e;return(0,E.jsx)(cI.SelectComponents.Option,{...e,className:(0,Ut.clsx)(i.darkMode?{"selector-input--dark__option":!0,"selector-input--dark__option--is-focused":e.isFocused,"selector-input--dark__option--is-selected":e.isSelected}:{"selector-input__option":!0,"selector-input__option--is-focused":e.isFocused,"selector-input__option--is-selected":e.isSelected},{"selector-input__option--custom":Boolean(i.optionCustomization)}),children:t})},uI="selector-input",pI="selector-input--dark",hI=()=>(0,E.jsx)("div",{className:`${uI}__indicator ${uI}__loading-indicator ${pI}__loading-indicator`,children:(0,E.jsx)(_s,{})}),mI=()=>(0,E.jsx)("div",{className:`${uI}__indicator ${uI}__dropdown-indicator`,children:(0,E.jsx)(Zi,{})}),gI=e=>{const{innerProps:{ref:t,...i}}=e;return(0,E.jsx)("div",{...i,ref:t,children:(0,E.jsx)("div",{className:`${uI}__indicator ${uI}__clear-indicator`,children:(0,E.jsx)(Ji,{})})})},fI=e=>(0,E.jsx)(cI.Select.components.Input,{...e,isHidden:!1}),_I=(0,Xt.forwardRef)((function(e,t){const{allowCreating:i,noMatchMessage:s,disabled:n,components:a,className:r,darkMode:o,hasError:c,...l}=e,d=i?cI.CreatableSelect.default:cI.Select.default,u=o?pI:uI;return(0,E.jsx)(d,{styles:{menuPortal:e=>({...e,zIndex:9999})},menuPortalTarget:document.body,ref:t,isDisabled:Boolean(n),className:(0,Ut.clsx)(u,r,{"selector-input--has-error":c,"selector-input--custom":Boolean(e.optionCustomization)}),classNamePrefix:u,components:{Option:dI,ClearIndicator:gI,DropdownIndicator:mI,LoadingIndicator:hI,MenuList:lI,Input:fI,...a},...l,darkMode:o,noMatchMessage:s})})),bI=(e,t)=>e.label.localeCompare(t.label),EI=(0,Ft.observer)((()=>{const e=Vy(),t=Qt(),i=e.fileSearchCommandLoadState,s=e.fileSearchCommandState,n=(0,Xt.useRef)(null),a=(0,Xt.useMemo)((()=>(0,I.default)((()=>{(0,Ve.flowResult)(e.searchFile()).catch(t.alertUnhandledError)}),500)),[t,e]),r=()=>e.setOpenFileSearchCommand(!1);return(0,E.jsx)(jt.default,{open:e.openFileSearchCommand,onClose:r,TransitionProps:{onEnter:()=>{n.current?.focus()}},classes:{container:"command-modal__container"},PaperProps:{classes:{root:"command-modal__inner-container"}},children:(0,E.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,E.jsx)("div",{className:"modal__title",children:"Open file"}),(0,E.jsxs)("div",{className:"command-modal__content",children:[(0,E.jsx)(_I,{ref:n,className:"command-modal__content__input",options:e.fileSearchCommandResults.map((e=>({label:e,value:e}))).sort(bI),onChange:i=>{i?.value&&(r(),s.reset(),(0,Ve.flowResult)(e.loadFile(i.value)).catch(t.alertUnhandledError))},onInputChange:e=>{s.setText(e),a.cancel(),a()},placeholder:"Enter file name or path",escapeClearsValue:!0,darkMode:!0,isLoading:i.isInProgress}),(0,E.jsx)("button",{className:(0,Ut.clsx)("command-modal__content__config-btn btn--sm",{"command-modal__content__config-btn--toggled":s.isRegExp}),title:`Use Regular Expression (${s.isRegExp?"on":"off"})`,onClick:()=>s.setRegExp(!s.isRegExp),children:(0,E.jsx)(xi,{})})]})]})})}));var vI;!function(e){e.MODE="mode",e.FAST_COMPILE="fastCompile"}(vI||(vI={}));const TI=(SI=(0,Ft.observer)((()=>{const e=Vy(),t=Qt(),{ref:i,width:s,height:n}=(0,pn.useResizeDetector)(),a=aN(0===e.sideBarDisplayState.size,{onStopResize:t=>e.sideBarDisplayState.setSize(t.domElement.getBoundingClientRect().width),size:e.sideBarDisplayState.size}),r=aN(0===e.panelGroupDisplayState.size,{onStopResize:t=>e.panelGroupDisplayState.setSize(t.domElement.getBoundingClientRect().height),size:e.panelGroupDisplayState.size}),o=aN(e.panelGroupDisplayState.isMaximized);return(0,Xt.useEffect)((()=>{i.current&&e.panelGroupDisplayState.setMaxSize(i.current.offsetHeight)}),[e,i,n,s]),(0,Xt.useEffect)((()=>()=>{e.cleanUp()}),[e]),(0,Xt.useEffect)((()=>{(0,Ve.flowResult)(e.initialize(!1,void 0,t.navigationService.navigator.getCurrentLocationParameterValue(vI.MODE),t.navigationService.navigator.getCurrentLocationParameterValue(vI.FAST_COMPILE))).catch(t.alertUnhandledError)}),[e,t]),(0,Xt.useEffect)((()=>(t.navigationService.navigator.blockNavigation([()=>!0],void 0,(()=>t.notificationService.notifyWarning("Navigation from the editor is blocked"))),()=>{t.navigationService.navigator.unblockNavigation()})),[e,t]),mA(e),(0,E.jsxs)("div",{className:"ide",children:[(0,E.jsxs)("div",{className:"ide__body",children:[(0,E.jsx)(uA,{}),(0,E.jsx)("div",{className:"ide__content-container",ref:i,children:(0,E.jsx)("div",{className:"ide__content",children:(0,E.jsxs)(sN,{orientation:"vertical",children:[(0,E.jsx)(rN,{...a.collapsiblePanel,direction:1,children:(0,E.jsx)(lA,{})}),(0,E.jsx)(oN,{}),(0,E.jsx)(rN,{...a.remainingPanel,minSize:300,children:(0,E.jsxs)(sN,{orientation:"horizontal",children:[(0,E.jsx)(rN,{...o.collapsiblePanel,...0===e.panelGroupDisplayState.size?r.remainingPanel:{},children:(0,E.jsx)(rI,{})}),(0,E.jsx)(oN,{children:(0,E.jsx)(cN,{color:e.panelGroupDisplayState.isMaximized?"transparent":"var(--color-dark-grey-250)"})}),(0,E.jsx)(rN,{...r.collapsiblePanel,...e.panelGroupDisplayState.isMaximized?o.remainingPanel:{},direction:-1,children:(0,E.jsx)(AN,{})})]})})]})})})]}),(0,E.jsx)(hA,{}),(0,E.jsx)(EI,{})]})})),function(){return(0,E.jsx)(Uy,{children:(0,E.jsx)(SI,{})})});var SI;const CI=(0,Ft.observer)((e=>{const{children:t}=e,i=W((0,Xt.useContext)(pT),"Can't find application platform in context"),s=Qt();return(0,Xt.useEffect)((()=>{s.initialize(i).catch(s.alertUnhandledError)}),[s,i]),s.initState.hasSucceeded?(0,E.jsx)(Rn,{children:t}):(0,E.jsx)(E.Fragment,{})}));class yI{applicationStore;pluginManager;constructor(e){this.applicationStore=e,this.pluginManager=e.pluginManager}}const NI=(0,Xt.createContext)(void 0),AI=({children:e})=>{const t=Qt(),i=(0,Ft.useLocalObservable)((()=>new yI(t)));return(0,E.jsx)(NI.Provider,{value:i,children:e})},II=({children:e})=>(0,E.jsx)(CI,{children:(0,E.jsx)(AI,{children:e})}),xI=e=>{const{baseUrl:t}=e;return(0,E.jsx)(mT,{baseUrl:t,children:(0,E.jsx)(II,{children:(0,E.jsx)(TI,{})})})},OI=JSON.parse('{"name":"@finos/legend-application-pure-ide","version":"8.0.131","description":"Legend Pure IDE application core","keywords":["legend","legend-application","legend-pure-ide","ide"],"homepage":"https://github.com/finos/legend-studio/tree/master/packages/legend-application-pure-ide","bugs":{"url":"https://github.com/finos/legend-studio/issues"},"repository":{"type":"git","url":"https://github.com/finos/legend-studio.git","directory":"packages/legend-application-pure-ide"},"license":"Apache-2.0","sideEffects":false,"type":"module","exports":{".":"./lib/index.js","./lib/index.css":"./lib/index.css"},"module":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"yarn clean && yarn build:sass && yarn build:ts","build:sass":"cross-env INIT_CWD=$INIT_CWD node ../../scripts/workflow/buildSass.js","build:ts":"tsc --project ./tsconfig.build.json","clean":"npm-run-all clean:cache clean:lib","clean:cache":"rimraf \\"build\\"","clean:lib":"rimraf \\"lib\\"","dev":"npm-run-all --parallel dev:sass dev:ts","dev:sass":"sass style:lib --watch --load-path=../../node_modules/@finos/legend-art/scss","dev:ts":"tsc --watch --preserveWatchOutput","lint:js":"cross-env NODE_ENV=production eslint --cache --cache-location ./build/.eslintcache --report-unused-disable-directives --parser-options=project:\\"./tsconfig.json\\" \\"./src/**/*.{js,ts,tsx}\\"","publish:prepare":"node ../../scripts/release/preparePublishContent.js","publish:snapshot":"node ../../scripts/release/publishDevSnapshot.js","test":"jest","test:watch":"jest --watch"},"dependencies":{"@finos/legend-application":"workspace:*","@finos/legend-art":"workspace:*","@finos/legend-extension-dsl-diagram":"workspace:*","@finos/legend-graph":"workspace:*","@finos/legend-lego":"workspace:*","@finos/legend-shared":"workspace:*","@types/react":"18.2.31","@types/react-dom":"18.2.14","mobx":"6.10.2","mobx-react-lite":"4.0.5","monaco-editor":"0.44.0","react":"18.2.0","react-dnd":"16.0.1","react-dom":"18.2.0","serializr":"3.0.2"},"devDependencies":{"@finos/legend-dev-utils":"workspace:*","@jest/globals":"29.7.0","cross-env":"7.0.3","eslint":"8.52.0","jest":"29.7.0","npm-run-all":"4.1.5","rimraf":"5.0.5","sass":"1.69.4","typescript":"5.2.2"},"peerDependencies":{"react":"^18.0.0"},"publishConfig":{"directory":"build/publishContent"},"extensions":{"applicationPureIDEPlugin":"@finos/legend-application-pure-ide-plugin-core"}}');class wI extends la{_$nominalTypeBrand;install(e){e.registerApplicationPlugin(this)}}const RI={wordPattern:/(-?\d*\.\d\w*)|([^`~!@#%^$&*()\-=+[{\]}\\|;:'",.<>/?\s][^`~!@#%^&*()\-=+[{\]}\\|;:'",.<>/?\s]*)/,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"},{open:"<<",close:">>"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}};function kI(e){var t;TT.languages.register({id:zT.PURE}),TT.languages.setLanguageConfiguration(zT.PURE,RI),TT.languages.setMonarchTokensProvider(zT.PURE,(t=e?.extraKeywords??[],{defaultToken:"invalid",tokenPostfix:".pure",keywords:[...t,"Schema","Table","Join","View","primaryKey","groupBy","mainTable","let","extends","true","false","projects",VC.CLASS,VC.ASSOCIATION,VC.ENUMERATION,VC.MEASURE,VC.PROFILE,VC.FUNCTION,VC.MAPPING,VC.RUNTIME,VC.CONNECTION,VC.FILE_GENERATION,VC.GENERATION_SPECIFICATION,VC.DATA_ELEMENT,GC.JSON_MODEL_CONNECTION,GC.MODEL_CHAIN_CONNECTION,GC.XML_MODEL_CONNECTION,"include","EnumerationMapping","Pure","AssociationMapping","XStore","AggregationAware",VC.SERVICE,VC.FLAT_DATA,VC.DATABASE,GC.FLAT_DATA_CONNECTION,GC.RELATIONAL_DATABASE_CONNECTION,"Relational"],operators:["=",">","<","!","~","?",":","==","<=",">=","&&","||","++","--","+","-","*","/","&","|","^","%","->","#{","}#","@","<<",">>"],languageStructs:["import","native"],identifier:/[a-zA-Z_$][\w$]*/,symbols:/[=><!~?:&|+\-*/^%#@]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,multiplicity:/\[(?:[a-zA-Z0-9]+(?:\.\.(?:[a-zA-Z0-9]+|\*|))?|\*)\]/,package:/(?:[\w_]+::)+/,generics:/(?:(?:<\w+>)|(?:<[^:.@^()]+[^-]>))/,date:/%-?\d+(?:-\d+(?:-\d+(?:T(?:\d+(?::\d+(?::\d+(?:.\d+)?)?)?)(?:[+-][0-9]{4})?)))/,time:/%\d+(?::\d+(?::\d+(?:.\d+)?)?)?/,tokenizer:{root:[{include:"@pure"},{include:"@date"},{include:"@color"},[/^\s*###[\w]+/,vT.PARSER],[/(@identifier)/,{cases:{"@languageStructs":vT.LANGUAGE_STRUCT,"@keywords":`${vT.KEYWORD}.$0`,"([a-zA-Z_$][\\w$]*)_((\\w+_(([a-zA-Z0-9]+)|(\\$[a-zA-Z0-9]+_[a-zA-Z0-9]+\\$)))__)*(\\w+_(([a-zA-Z0-9]+)|(\\$[a-zA-Z0-9]+_[a-zA-Z0-9]+\\$)))_":vT.TYPE,"@default":vT.IDENTIFIER}}],{include:"@whitespace"},[/[{}()[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":vT.OPERATOR,"@default":vT.IDENTIFIER}}],{include:"@number"},[/[;,.]/,vT.DELIMITER],[/'([^'\\]|\\.)*$/,`${vT.STRING}.invalid`],[/'/,vT.STRING,"@string"],{include:"@characters"}],pure:[[/(@package\*)/,[vT.PACKAGE]],[/(@package?)(@identifier)(@generics?)(\s*)(@multiplicity)/,[vT.PACKAGE,vT.TYPE,vT.GENERICS,vT.WHITESPACE,vT.MULTIPLICITY]],[/(@package)(@identifier)(@generics?)/,[vT.PACKAGE,vT.TYPE,vT.GENERICS]],[/([@^])(\s*)(@package?)(@identifier)(@generics?)(@multiplicity?)/,[`${vT.TYPE}.operator`,vT.WHITESPACE,vT.PACKAGE,vT.TYPE,vT.GENERICS,vT.MULTIPLICITY]],[/(\.\s*)(@identifier)/,[vT.DELIMITER,vT.PROPERTY]],[/(@identifier)(\s*=)/,[vT.PROPERTY,vT.OPERATOR]],[/(@identifier)(\.)(@identifier)/,[vT.TYPE,vT.OPERATOR,vT.PROPERTY]],[/(@identifier)(\s*:)/,[vT.PARAMETER,vT.OPERATOR]],[/(let)(\s+)(@identifier)(\s*=)/,[vT.KEYWORD,vT.WHITESPACE,vT.VARIABLE,vT.OPERATOR]],[/(\$@identifier)/,[`${vT.VARIABLE}.reference`]]],date:[[/(%latest)/,[`${vT.DATE}.latest`]],[/(@date)/,[vT.DATE]],[/(@time)/,[`${vT.DATE}.time`]]],color:[[/(#[0-9a-fA-F]{6})/,[vT.COLOR]]],number:[[/(@digits)[eE]([-+]?(@digits))?[fFdD]?/,`${vT.NUMBER}.float`],[/(@digits)\.(@digits)([eE][-+]?(@digits))?[fFdD]?/,`${vT.NUMBER}.float`],[/0[xX](@hexdigits)[Ll]?/,`${vT.NUMBER}.hex`],[/0(@octaldigits)[Ll]?/,`${vT.NUMBER}.octal`],[/0[bB](@binarydigits)[Ll]?/,`${vT.NUMBER}.binary`],[/(@digits)[fFdD]/,`${vT.NUMBER}.float`],[/(@digits)[lL]?/,vT.NUMBER]],whitespace:[[/[ \t\r\n]+/,vT.WHITESPACE],[/\/\*\*(?!\/)/,`${vT.COMMENT}.doc`,"@doc"],[/\/\*/,vT.COMMENT,"@comment"],[/\/\/.*$/,vT.COMMENT]],comment:[[/[^/*]+/,vT.COMMENT],[/\*\//,vT.COMMENT,"@pop"],[/[/*]/,vT.COMMENT]],doc:[[/[^/*]+/,`${vT.COMMENT}.doc`],[/\/\*/,`${vT.COMMENT}.doc.invalid`],[/\*\//,`${vT.COMMENT}.doc`,"@pop"],[/[/*]/,`${vT.COMMENT}.doc`]],string:[[/[^\\']+/,vT.STRING],[/@escapes/,`${vT.STRING}.escape`],[/\\./,`${vT.STRING}.escape.invalid`],[/'/,vT.STRING,"@pop"]],characters:[[/'[^\\']'/,vT.STRING],[/(')(@escapes)(')/,[vT.STRING,`${vT.STRING}.escape`,vT.STRING]],[/'/,`${vT.STRING}.invalid`]]}}))}class PI extends wI{static NAME=OI.extensions.applicationPureIDEPlugin;constructor(){super(PI.NAME,OI.version)}getExtraApplicationSetups(){return[async e=>{await(async e=>{const t=`Monospaced font '${ut}' has not been loaded properly, code editor might not display properly`;await Promise.all([400,700].map((e=>document.fonts.load(`${e} 1em ${ut}`)))).then((()=>{document.fonts.check(`1em ${ut}`)?TT.editor.remeasureFonts():e.logService.error(u.create(ye.APPLICATION_SETUP__FAILURE),t)})).catch((()=>e.logService.error(u.create(ye.APPLICATION_SETUP__FAILURE),t)));const i="legend.code-editor.override-default-keybinding";TT.editor.registerCommand(i,((t,...i)=>{e.keyboardShortcutsService.dispatch(i[0])}));const s=[[TT.KeyCode.F1,"F1"],[TT.KeyCode.F8,"F8"],[TT.KeyCode.F9,"F9"],[TT.KeyMod.WinCtrl|TT.KeyCode.KeyG,"Control+KeyG"],[TT.KeyMod.WinCtrl|TT.KeyCode.KeyB,"Control+KeyB"],[TT.KeyMod.WinCtrl|TT.KeyCode.KeyO,"Control+KeyO"],[TT.KeyMod.WinCtrl|TT.KeyCode.KeyD,"Control+KeyD"],[TT.KeyMod.WinCtrl|TT.KeyCode.KeyP,"Control+KeyP"],[TT.KeyMod.Shift|TT.KeyCode.F10,"Shift+F10"],[TT.KeyMod.WinCtrl|TT.KeyCode.F2,"Control+F2"],[TT.KeyMod.WinCtrl|TT.KeyCode.F12,"Control+F12"]];TT.editor.addKeybindingRules(s.map((([e,t])=>({keybinding:e,command:i,commandArgs:t})))),TT.editor.defineTheme(kT.DEFAULT_DARK,PT),TT.editor.defineTheme(kT.SOLARIZED_DARK,MT),TT.editor.defineTheme(kT.GITHUB_DARK,LT),TT.editor.defineTheme(kT.GITHUB_DARK_DIMMED,FT),TT.editor.defineTheme(kT.MATERIAL_DEFAULT,DT),TT.editor.defineTheme(kT.MATERIAL_DARKER,BT),TT.editor.defineTheme(kT.ONE_DARK_PRO,jT),TT.editor.defineTheme(kT.ONE_DARK_PRO_DARKER,UT)})(e),kI({extraKeywords:[AA]})}]}getExtraKeyedCommandConfigEntries(){return[lS,hS,uS].flatMap((e=>{return t=e,Object.entries(t).map((e=>({key:e[0],content:e[1]})));var t}))}}class MI extends ra{static create(){const e=new MI(ma.create());return e.withBasePlugins([new da,new PI]),e.withBasePresets([new aT]),e}async configureApplication(e){return new pa(e)}async loadApplication(e){(0,v.createRoot)((()=>{let e=document.getElementsByTagName(oa).length?document.getElementsByTagName(oa)[0]:void 0;return e||(e=document.createElement(oa),document.body.appendChild(e)),e.setAttribute("style","height: 100%; width: 100%; display: block"),e})()).render((0,E.jsx)(Zt,{store:e,children:(0,E.jsx)(xI,{baseUrl:this.baseAddress})}))}}class LI{static getPresetCollection(){return[]}static getPluginCollection(){return[new b]}static run(e){MI.create().setup({baseAddress:e}).withPresets(LI.getPresetCollection()).withPlugins(LI.getPluginCollection()).start().catch((e=>{throw e}))}}LI.run("/ide/")},7493:(e,t,i)=>{const s=i(4319),n=i(1776);e.exports={CreatableSelect:s,Select:n,SelectComponents:n.components}},1931:(e,t,i)=>{const s=i(1659);e.exports={Fuse:s}}},r={};function o(e){var t=r[e];if(void 0!==t)return t.exports;var i=r[e]={id:e,loaded:!1,exports:{}};return a[e].call(i.exports,i,i.exports,o),i.loaded=!0,i.exports}o.m=a,o.amdO={},e=[],o.O=(t,i,s,n)=>{if(!i){var a=1/0;for(d=0;d<e.length;d++){for(var[i,s,n]=e[d],r=!0,c=0;c<i.length;c++)(!1&n||a>=n)&&Object.keys(o.O).every((e=>o.O[e](i[c])))?i.splice(c--,1):(r=!1,n<a&&(a=n));if(r){e.splice(d--,1);var l=s();void 0!==l&&(t=l)}}return t}n=n||0;for(var d=e.length;d>0&&e[d-1][2]>n;d--)e[d]=e[d-1];e[d]=[i,s,n]},o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},i=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,o.t=function(e,s){if(1&s&&(e=this(e)),8&s)return e;if("object"==typeof e&&e){if(4&s&&e.__esModule)return e;if(16&s&&"function"==typeof e.then)return e}var n=Object.create(null);o.r(n);var a={};t=t||[null,i({}),i([]),i(i)];for(var r=2&s&&e;"object"==typeof r&&!~t.indexOf(r);r=i(r))Object.getOwnPropertyNames(r).forEach((t=>a[t]=()=>e[t]));return a.default=()=>e,o.d(n,a),n},o.d=(e,t)=>{for(var i in t)o.o(t,i)&&!o.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((t,i)=>(o.f[i](e,t),t)),[])),o.u=e=>e+".js",o.miniCssF=e=>{},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s={},n="@finos/legend-application-pure-ide-deployment:",o.l=(e,t,i,a)=>{if(s[e])s[e].push(t);else{var r,c;if(void 0!==i)for(var l=document.getElementsByTagName("script"),d=0;d<l.length;d++){var u=l[d];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==n+i){r=u;break}}r||(c=!0,(r=document.createElement("script")).charset="utf-8",r.timeout=120,o.nc&&r.setAttribute("nonce",o.nc),r.setAttribute("data-webpack",n+i),r.src=e),s[e]=[t];var p=(t,i)=>{r.onerror=r.onload=null,clearTimeout(h);var n=s[e];if(delete s[e],r.parentNode&&r.parentNode.removeChild(r),n&&n.forEach((e=>e(i))),t)return t(i)},h=setTimeout(p.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=p.bind(null,r.onerror),r.onload=p.bind(null,r.onload),c&&document.head.appendChild(r)}},o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),o.p="/ide/",(()=>{var e={826:0};o.f.j=(t,i)=>{var s=o.o(e,t)?e[t]:void 0;if(0!==s)if(s)i.push(s[2]);else{var n=new Promise(((i,n)=>s=e[t]=[i,n]));i.push(s[2]=n);var a=o.p+o.u(t),r=new Error;o.l(a,(i=>{if(o.o(e,t)&&(0!==(s=e[t])&&(e[t]=void 0),s)){var n=i&&("load"===i.type?"missing":i.type),a=i&&i.target&&i.target.src;r.message="Loading chunk "+t+" failed.\n("+n+": "+a+")",r.name="ChunkLoadError",r.type=n,r.request=a,s[1](r)}}),"chunk-"+t,t)}},o.O.j=t=>0===e[t];var t=(t,i)=>{var s,n,[a,r,c]=i,l=0;if(a.some((t=>0!==e[t]))){for(s in r)o.o(r,s)&&(o.m[s]=r[s]);if(c)var d=c(o)}for(t&&t(i);l<a.length;l++)n=a[l],o.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return o.O(d)},i=globalThis.webpackChunk_finos_legend_application_pure_ide_deployment=globalThis.webpackChunk_finos_legend_application_pure_ide_deployment||[];i.forEach(t.bind(null,0)),i.push=t.bind(null,i.push.bind(i))})();var c=o.O(void 0,[736],(()=>o(9626)));c=o.O(c)})();
|
2
|
-
//# sourceMappingURL=index.
|
1
|
+
(()=>{"use strict";var e,t,i,s,n,a={9626:(e,t,i)=>{i.r(t);const s=JSON.parse('{"name":"@finos/legend-shared","version":"10.0.31","description":"Legend Studio shared utilities and helpers","keywords":["legend","utilities","utils"],"homepage":"https://github.com/finos/legend-studio/tree/master/packages/legend-shared","bugs":{"url":"https://github.com/finos/legend-studio/issues"},"repository":{"type":"git","url":"https://github.com/finos/legend-studio.git","directory":"packages/legend-shared"},"license":"Apache-2.0","sideEffects":false,"type":"module","exports":{".":"./lib/index.js","./test":"./lib/__test__.js"},"module":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"yarn clean && yarn build:ts","build:ts":"tsc --project ./tsconfig.build.json","clean":"npm-run-all clean:cache clean:lib","clean:cache":"rimraf \\"build\\"","clean:lib":"rimraf \\"lib\\"","dev":"yarn dev:ts","dev:ts":"tsc --watch --preserveWatchOutput","lint:js":"cross-env NODE_ENV=production eslint --cache --cache-location ./build/.eslintcache --report-unused-disable-directives --parser-options=project:\\"./tsconfig.json\\" \\"./src/**/*.{js,ts,tsx}\\"","publish:prepare":"node ../../scripts/release/preparePublishContent.js","publish:snapshot":"node ../../scripts/release/publishDevSnapshot.js","test":"jest","test:watch":"jest --watch"},"dependencies":{"@braintree/sanitize-url":"6.0.4","@types/lodash-es":"4.17.10","@types/object-hash":"3.0.5","@types/pako":"2.0.2","@types/papaparse":"5.3.10","@types/seedrandom":"3.0.7","@types/uuid":"9.0.6","date-fns":"2.30.0","fuse.js":"6.6.2","hash.js":"1.1.7","http-status-codes":"2.3.0","lodash-es":"4.17.21","lossless-json":"2.0.11","mobx":"6.10.2","object-hash":"3.0.0","pako":"2.1.0","papaparse":"5.4.1","pretty-format":"29.7.0","query-string":"8.1.0","seedrandom":"3.0.5","serializr":"3.0.2","uuid":"9.0.1"},"devDependencies":{"@finos/legend-dev-utils":"workspace:*","@jest/globals":"29.7.0","cross-env":"7.0.3","eslint":"8.52.0","jest":"29.7.0","lodash":"4.17.21","npm-run-all":"4.1.5","rimraf":"5.0.5","typescript":"5.2.2"},"publishConfig":{"directory":"build/publishContent"},"extensions":{"webConsoleLoggerPlugin":"@finos/legend-logger-plugin-web-console"}}');var n,a=i(2270);class r{name;version;signature;uuid}class o{name;version;uuid=(0,a.default)();constructor(e,t){this.name=e,this.version=t}getName(){return this.name}getVersion(){return this.version}getSignature(){return`${this.getName()}@${this.getVersion()}`}getUUID(){return this.uuid}getInfo(){const e=new r;return e.name=this.getName(),e.version=this.getVersion(),e.signature=this.getSignature(),e.uuid=this.getUUID(),e}configure(e){return this}}class c{name;version;signature;uuid;plugins=[]}class l{name;version;uuid=(0,a.default)();plugins=[];constructor(e,t,i){this.name=e,this.version=t,this.plugins=i}getName(){return this.name}getVersion(){return this.version}getSignature(){return`${this.getName()}@${this.getVersion()}`}getUUID(){return this.uuid}getPlugins(){return[...this.plugins]}getInfo(){const e=new c;return e.name=this.getName(),e.version=this.getVersion(),e.signature=this.getSignature(),e.uuid=this.getUUID(),e.plugins=this.plugins.map((e=>e.getInfo())).sort(((e,t)=>e.name.localeCompare(t.name))),e}configure(e){return this}install(e){this.plugins.forEach((t=>t.install(e)))}}class d{plugins=[];presets=[];usePlugins(e){return this.plugins=e,this}usePresets(e){return this.presets=e,this}configure(e){Object.keys(e).forEach((t=>{const i=e[t];this.presets.forEach((e=>{e.getName()===t&&e.configure(i)})),this.plugins.forEach((e=>{e.getName()===t&&e.configure(i)}))}))}install(){this.plugins.forEach((e=>e.install(this))),this.presets.forEach((e=>e.install(this)))}getInfo(){return{plugins:this.plugins.filter((e=>!this.getHiddenPluginNames().includes(e.getName()))).map((e=>e.getInfo())).sort(((e,t)=>e.name.localeCompare(t.name))),presets:this.presets.filter((e=>!this.getHiddenPresetNames().includes(e.getName()))).map((e=>e.getInfo())).sort(((e,t)=>e.name.localeCompare(t.name)))}}getHiddenPluginNames(){return[]}getHiddenPresetNames(){return[]}}!function(e){e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(n||(n={}));class u{channel;name;timestamp=Date.now();static create(e){const t=new u;return t.name=e,t}}class p extends o{level=n.DEBUG;setLevel(e){this.level=e}install(e){e.registerLoggerPlugin(this)}debug(e,...t){this.level<=n.DEBUG&&this._debug(e,...t)}info(e,...t){this.level<=n.INFO&&this._info(e,...t)}warn(e,...t){this.level<=n.WARN&&this._warn(e,...t)}error(e,...t){this.level<=n.ERROR&&this._error(e,...t)}}class h{loggers=[];registerPlugins(e){this.loggers=e}debug(e,...t){this.loggers.forEach((i=>i.debug(e,...t)))}info(e,...t){this.loggers.forEach((i=>i.info(e,...t)))}warn(e,...t){this.loggers.forEach((i=>i.warn(e,...t)))}error(e,...t){this.loggers.forEach((i=>i.error(e,...t)))}}const{debug:m,info:g,warn:f,error:_}=console;class b extends p{constructor(){super(s.extensions.webConsoleLoggerPlugin,s.version)}_debug(e,...t){m(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}_info(e,...t){g(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}_warn(e,...t){f(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}_error(e,...t){_(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}}var E=i(2322),v=i(7029),T=(i(7921),i(3122),i(4006)),S=(i(5386),i(486),i(5741)),C=i(9420),y=i(7279),N=i(1367),A=i(0),I=i(8372),x=(i(8744),i(1112));const O=e=>e.constructor,w=()=>()=>{},R=e=>e.length?e[0]:void 0,k=e=>e.length?e[e.length-1]:void 0,P=e=>new Promise(((t,i)=>setTimeout((()=>{try{t(e())}catch(e){i(e)}}),0))),M=(e,t,i=((e,t)=>e===t))=>!e.find((e=>i(e,t)))&&(e.push(t),!0),L=(e,t,i,s=((e,t)=>e===t))=>{const n=e.findIndex((e=>s(e,t))),a=e.findIndex((e=>s(e,i)));return-1!==n&&-1!==a&&(e[n]=i,e[a]=t,!0)},F=(e,t,i=((e,t)=>e===t))=>{const s=e.findIndex((e=>i(e,t)));return-1!==s&&(e.splice(s,1),!0)},D=(e,t)=>{const i=(s={printFunctionName:!1,maxDepth:t?.deep?void 0:1},(0,T.default)(s,(e=>void 0!==e)));var s;return(0,x.format)(e,i).replace(/.*\s\{/g,"{").replace(/\[.*\]/g,(e=>["[Array]","[Function]"].includes(e)?e:"[Object]"))};class B extends Error{uuid=(0,a.default)();constructor(e){super(),this.message=void 0===e||""===e?"(no error message)":e}get detail(){return this.message}}class j extends Error{constructor(e,t,i){if(super(i||(t instanceof Error?t.message:t)),this.name=e,t instanceof Error){const e=(this.message.match(/\n/g)??[]).length+1;this.stack=`${(this.stack??"").split("\n").slice(0,e+1).join("\n")}\nCaused by: ${t.stack}`}else"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(t).stack}}class U extends j{constructor(e){super("Illegal State Error [PLEASE NOTIFY DEVELOPER]",e)}}class V extends j{constructor(e,t){super("Unsupported Operation Error",e||t?`${e}${t?`\n${D(t)}`:""}`:void 0)}}function G(e){if(!(e instanceof Error))throw new U("Expected error to be thrown")}const z=e=>{try{return e()}catch{return}};class H extends j{constructor(e,t){super("Assertion Error",e,t)}}const $=e=>null!=e;function Y(e,t=""){if(null==e)throw new H(t||"Value is nullable")}const W=(e,t="")=>(Y(e,t),e),K=e=>t=>((e,t)=>e instanceof t)(t,e);function J(e,t,i=""){if(!(e instanceof t))throw new H(i||`Value is expected to be of type '${t.name}'`)}const X=(e,t,i="")=>(J(e,t,i),e);function q(e,t=""){if(""===W(e,t))throw new H(t||"Expected string value to be non-empty")}function Q(e,t=""){return q(e,t),e}function Z(e,t=""){if(!e)throw new H(t||"Expected predicate to be truthy")}const ee=e=>"string"==typeof e,te=e=>"number"==typeof e&&!isNaN(e),ie=e=>"boolean"==typeof e,se=e=>"object"==typeof e&&null!==e;const ne=(e,t="")=>(function(e,t=""){if(!ee(e))throw new H(t||"Value is expected to be a string")}(e,t),e),ae=(e,t="")=>(function(e,t=""){if(!te(e))throw new H(t||"Value is expected to be a number")}(e,t),e),re=(e,t="")=>(function(e,t=""){if(!ie(e))throw new H(t||"Value is expected to be a boolean")}(e,t),e),oe=(e,t="")=>(function(e,t=""){if(!se(e))throw new H(t||"Value is expected to be a object")}(e,t),e);var ce=i(9391),le=i(3654),de=i(8247),ue=i(2659);new RegExp("^https?://(?:www.)?[-a-zA-Z0-9@:%._+~#=]{1,256}.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)$");const pe=ce.StatusCodes,he="charset=utf-8";var me,ge,fe;!function(e){e.CONTENT_TYPE="Content-Type",e.ACCEPT="Accept"}(me||(me={})),function(e){e.APPLICATION_JSON="application/json",e.APPLICATION_XML="application/xml",e.APPLICATION_ZLIB="application/zlib",e.TEXT_PLAIN="text/plain",e.TEXT_CSV="text/csv",e.ALL="*/*"}(ge||(ge={})),function(e){e.GET="GET",e.PUT="PUT",e.POST="POST",e.DELETE="DELETE"}(fe||(fe={}));const _e={mode:"cors",credentials:"include",redirect:"follow"},be=(e,t)=>{const i={};return e&&Object.entries(e).forEach((([e,t])=>{i[e]=t})),t&&Object.entries(t).forEach((([e,t])=>{i[e]=t})),i};class Ee extends Error{response;payload;constructor(e,t){super(),"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.name="Network Client Error",this.response=e;const{status:i,statusText:s,url:n}=e,a=`Received response with status ${i} (${s}) for ${n}`;this.message=(t?(e=>{if(se(e))return ee(e.message)?e.message:JSON.stringify(e);let t;try{t=JSON.parse(e)}catch{}return t&&ee(t.message)?t.message:e})(t).substring(0,5e3):"")||a,this.payload=t}}const ve=async(e,t,i)=>{if(i?.preprocess?.(e),!e.ok){let t;try{t=await e.text(),t=JSON.parse(t)}catch{}return Promise.reject(new Ee(e,t))}if(i?.skipProcessing)return Promise.resolve(e);if(e.status===pe.NO_CONTENT)return Promise.resolve(void 0);const s=t.headers.Accept;switch(s){case ge.APPLICATION_JSON:return e.json();case ge.TEXT_PLAIN:return e.text();default:return Promise.reject(new Ee(e,`Can't process response for request with Content-Type '${s}'`))}},Te=(e,t)=>{const i={};return i.Accept=ge.APPLICATION_JSON,e!==fe.GET&&(i[me.CONTENT_TYPE]=`${ge.APPLICATION_JSON};${he}`),be(i,t)};class Se{options={};baseUrl;constructor(e){this.baseUrl=e?.baseUrl,this.options={..._e,...e?.options??{}}}async get(e,t={},i,s,n,a){return this.request(fe.GET,e,void 0,t,i,s,n,a)}async put(e,t={},i={},s,n,a,r){return this.request(fe.PUT,e,t,i,s,n,a,r)}async post(e,t={},i={},s,n,a,r){return this.request(fe.POST,e,t,i,s,n,a,r)}async delete(e,t={},i={},s,n,a,r){return this.request(fe.DELETE,e,t,i,s,n,a,r)}async request(e,t,i,s,n,a,r,o){const c=((e,t,i)=>{if(!e&&!z((()=>new URL(t))))throw new Error(`Can't build URL string: base URL is not specified and the provided URL '${t}' is not absolute`);const s=new URL(t,e);return i instanceof Object&&Object.entries(i).forEach((([e,t])=>{void 0!==t&&(Array.isArray(t)?t.filter($).forEach((t=>s.searchParams.append(e,t.toString()))):s.searchParams.append(e,t.toString()))})),s.toString()})(this.baseUrl,t,a??{});let l;if((ee(i)||se(i))&&r?.enableCompression&&(Z(e!==fe.GET," GET request should not have any request payload"),i=(e=>new Blob([(0,le.deflate)(se(e)?JSON.stringify(e):e)]))(i),n=be(n,{[me.CONTENT_TYPE]:`${ge.APPLICATION_ZLIB};${he}`})),void 0!==i)if(ee(i)||i instanceof Blob)l=i;else{if(!se(i))throw new H("Request body can only be either a 'string' or an 'object'");l=JSON.stringify(i)}const d={...this.options,...s,method:e,body:l,headers:Te(e,n)};return fetch(c,d).then((e=>0===e.status||e.status===pe.UNAUTHORIZED?o?.autoReAuthenticateUrl?(e=>new Promise((t=>{const i="AUTO_AUTHENTICATION_IFRAME",s=document.getElementById(i);s?.remove();const n=document.createElement("iframe");n.id=i,n.src=e,n.style.display="none",n.addEventListener("load",(()=>{n.remove(),t()})),document.body.appendChild(n)})))(o.autoReAuthenticateUrl).then((()=>fetch(c,d))).then((e=>ve(e,d,o))):fetch(c,d).then((e=>ve(e,d,o))):ve(e,d,o))).catch((e=>(e=>e instanceof TypeError&&"Failed to fetch"===e.message)(e)?fetch(c,d).then((e=>ve(e,d,o))):Promise.reject(e)))}}const Ce=(e,t,i)=>{const s=new Blob([t],{type:i}),n=URL.createObjectURL(s),a=document.createElement("a");"string"==typeof a.download?(document.body.appendChild(a),a.download=e,a.href=n,a.click(),document.body.removeChild(a)):location.replace(n)};var ye;!function(e){e.APPLICATION_SETUP__FAILURE="application.setup.failure",e.APPLICATION_LOAD__SUCCESS="application.load.success",e.APPLICATION_LOAD__FAILURE="application.load.failure",e.ILLEGAL_APPLICATION_STATE_OCCURRED="application.error.illegal-state",e.APPLICATION_CONFIGURATION__FAILURE="application.configuration.failure",e.IDENTITY_AUTO_FETCH__FAILURE="application.identity.auto-fetch.failure",e.DOCUMENTATION_FETCH__FAILURE="application.documentation.fetch.failure",e.DOCUMENTATION_LOAD__SKIP="application.documentation.load.skip",e.DOCUMENTATION_REQUIREMENT_CHECK__FAILURE="application.documentation.requirement-check.failure",e.CONTEXTUAL_DOCUMENTATION_LOAD__SKIP="application.virtual-assistant.contextual-documentation-load.skip",e.VIRTUAL_ASSISTANT_DOCUMENTATION_ENTRY__ACCESS="application.virtual-assistant.documentation-entry.access",e.TERMINAL_COMMAND_CONFIGURATION_CHECK__FAILURE="application.load.terminal-command.configuration-check.failure",e.COLOR_THEME_CONFIGURATION_CHECK__FAILURE="application.layout.color-theme.configuration-check.failure",e.SETTING_CONFIGURATION_CHECK__FAILURE="application.setting.configuration-check.failure",e.SETTING_RETRIVE_FAILURE="application.setting.retrieve.failure",e.USER_DATA_RETRIEVE_FAILURE="application.user-data.retrieve.failure",e.COMMAND_CENTER_REGISTRATION__FAILURE="application.command.registration.failure",e.DEVELOPMENT_ISSUE="development.issue",e.APPLICATION_CONTEXT__ACCESS="application.context.access",e.APPLICATION_USAGE__INTERRUPT="application.usage.interrupt",e.APPLICATION_TELEMETRY_EVENT__FAILURE="application.telemetry-event.failure"}(ye||(ye={}));var Ne=i(9013);class Ae{schema;deserializeNullAsUndefined;constructor(e,t){this.schema=e,this.deserializeNullAsUndefined=Boolean(t?.deserializeNullAsUndefined)}toJson(e){return(0,Ne.serialize)(this.schema,e)}fromJson(e){return(0,Ne.deserialize)(this.schema,this.deserializeNullAsUndefined?(t=e,(0,T.default)(t,(e=>null!==e))):e);var t}}const Ie=e=>(0,Ne.custom)((t=>void 0===t?Ne.SKIP:(0,Ne.serialize)(e,t)),(t=>(0,Ne.deserialize)(e,t))),xe=e=>(0,Ne.custom)((()=>e),(()=>e)),Oe=(e,t)=>(0,Ne.custom)((t=>t?e(t):Ne.SKIP),(e=>e?t(e):Ne.SKIP)),we=e=>(0,Ne.custom)((t=>t?(0,Ne.serialize)(e,t):Ne.SKIP),(t=>t?(0,Ne.deserialize)(e,t):Ne.SKIP)),Re=(e,t,i)=>Array.isArray(e)?e.map(t):i?.skipIfEmpty?Ne.SKIP:[],ke=(e,t,i)=>Array.isArray(e)?e.length?e.map((e=>t(e))):i?.skipIfEmpty?Ne.SKIP:[]:Ne.SKIP,Pe=(e,t)=>(0,Ne.custom)((i=>ke(i,(t=>(0,Ne.serialize)(e,t)),{skipIfEmpty:!0,INTERNAL__forceReturnEmptyInTest:t?.INTERNAL__forceReturnEmptyInTest})),(t=>Re(t,(t=>(0,Ne.deserialize)(e,t)),{skipIfEmpty:!1}))),Me=(e,t,i)=>(0,Ne.custom)((t=>ke(t,(t=>e(t)),{skipIfEmpty:!0,INTERNAL__forceReturnEmptyInTest:i?.INTERNAL__forceReturnEmptyInTest})),(e=>Re(e,(e=>t(e)),{skipIfEmpty:!1}))),Le=e=>Me((e=>e),(e=>e),e);class Fe{key;markdownText;title;text;url;related;static serialization=new Ae((0,Ne.createModelSchema)(Fe,{markdownText:(0,Ne.custom)((e=>e),(e=>e.value?e:void 0)),related:(0,Ne.optional)((0,Ne.list)((0,Ne.primitive)())),title:(0,Ne.optional)((0,Ne.primitive)()),text:(0,Ne.optional)((0,Ne.primitive)()),url:(0,Ne.optional)((0,Ne.primitive)())}));static create(e,t){const i=Fe.serialization.fromJson(e);return i.key=t,i}}const De=e=>Object.entries(e).map((e=>({key:e[0],content:Fe.create(e[1],e[0])})));class Be{url;links;docRegistry=new Map;contextualDocIndex=new Map;constructor(e){this.url=e.config.documentationUrl,this.links=e.config.documentationLinkEntries,e.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraKeyedDocumentationEntries?.()??[])).forEach((t=>{this.hasDocEntry(t.key)?e.logService.warn(u.create(ye.DOCUMENTATION_LOAD__SKIP),t.key):this.docRegistry.set(t.key,t.content)})),e.config.keyedDocumentationEntries.forEach((e=>this.docRegistry.set(e.key,e.content)));const t=e.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraContextualDocumentationEntries?.()??[])),i=[];(0,A.default)(e.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraRequiredDocumentationKeys?.()??[])).concat(t.map((e=>e.documentationKey)))).forEach((e=>{this.docRegistry.has(e)||i.push(e)})),i.length&&e.logService.warn(u.create(ye.DOCUMENTATION_REQUIREMENT_CHECK__FAILURE),`Can't find corresponding documentation entry for keys:\n${i.map((e=>`- ${e}`)).join("\n")}`),t.forEach((t=>{if(this.hasContextualDocEntry(t.context))e.logService.warn(u.create(ye.CONTEXTUAL_DOCUMENTATION_LOAD__SKIP),t.context);else{const e=this.getDocEntry(t.documentationKey);e&&this.contextualDocIndex.set(t.context,e)}})),e.config.contextualDocEntries.forEach((e=>{const t=this.getDocEntry(e.documentationKey);t&&this.contextualDocIndex.set(e.context,t)}))}getDocEntry(e){return this.docRegistry.get(e)}hasDocEntry(e){return this.docRegistry.has(e)}getContextualDocEntry(e){return this.contextualDocIndex.get(e)}hasContextualDocEntry(e){return this.contextualDocIndex.has(e)}getAllDocEntries(){return Array.from(this.docRegistry.values())}publishDocRegistry(){const e={};return this.docRegistry.forEach(((t,i)=>{e[i]=Fe.serialization.toJson(t)})),e}publishContextualDocIndex(){const e={};return this.contextualDocIndex.forEach(((t,i)=>{e[i]=t.key})),e}}var je,Ue,Ve=i(75);!function(e){e.INITIAL="INITIAL",e.IN_PROGRESS="IN_PROGRESS",e.SUCCEEDED="SUCEEDED",e.FAILED="FAILED"}(je||(je={}));class Ge{state;_message;_messageFormatter;constructor(){this.state=je.INITIAL}setMessage(e){this._message=e}setMessageFormatter(e){this._messageFormatter=e}reset(){return this.state=je.INITIAL,this}inProgress(){return this.state=je.IN_PROGRESS,this}fail(){return this.state=je.FAILED,this}pass(){return this.state=je.SUCCEEDED,this}complete(e=!0){return e?this.pass():this.fail(),this}sync(e){const t=e.exportData();this.state=t.state,this._message=t.message}exportData(){return{state:this.state,message:this._message}}get isInInitialState(){return this.state===je.INITIAL}get isInProgress(){return this.state===je.IN_PROGRESS}get hasFailed(){return this.state===je.FAILED}get hasSucceeded(){return this.state===je.SUCCEEDED}get message(){return this._message?this._messageFormatter?this._messageFormatter(this._message):this._message:void 0}get hasCompleted(){return this.hasFailed||this.hasSucceeded}static create(){return(0,Ve.makeObservable)(new Ge,{state:Ve.observable,_message:Ve.observable,reset:Ve.action,inProgress:Ve.action,pass:Ve.action,fail:Ve.action,complete:Ve.action,setMessage:Ve.action,sync:Ve.action,isInInitialState:Ve.computed,isInProgress:Ve.computed,hasFailed:Ve.computed,hasSucceeded:Ve.computed,hasCompleted:Ve.computed,message:Ve.computed})}}!function(e){e.USER="user",e.ENV="env",e.RESULT="result",e.ERROR="error",e.HTTP_STATUS="status",e.HTTP_REQUEST_METHOD="method",e.HTTP_REQUEST_URL="url"}(Ue||(Ue={}));class ze{traceEntries=[];setup(e){this.traceEntries=e}bootstrap(e){this.traceEntries.forEach((t=>{t.plugin.bootstrap(t.clientSpan,e)}))}reportSuccess(){this.traceEntries.forEach((e=>{e.plugin.concludeClientSpan(e.clientSpan,void 0)}))}reportError(e){this.traceEntries.forEach((t=>{t.plugin.concludeClientSpan(t.clientSpan,e)}))}close(){this.traceEntries.forEach((e=>{e.plugin.concludeServerSpan(e.serverSpan)}))}}class He{plugins=[];registerPlugins(e){this.plugins=e}createTrace(e,t,i,s){const n=new ze;return e&&n.setup(this.plugins.map((n=>{const a=n.createClientSpan(e);return{clientSpan:a,serverSpan:n.createServerSpan(a,t,i,s),plugin:n}}))),n}}var $e=i(1931);const Ye=$e.Fuse.default;$e.Fuse;var We,Ke;!function(e){e.STANDARD="standard",e.INCLUDE="include match",e.EXACT="exact match",e.INVERSE="excludes exact match"}(We||(We={}));class Je{currentMode=We.STANDARD;onSearchModeChange;constructor(e){(0,Ve.makeObservable)(this,{currentMode:Ve.observable,isAdvancedSearchActive:Ve.computed,setCurrentMode:Ve.action}),this.onSearchModeChange=e}get isAdvancedSearchActive(){return this.currentMode!==We.STANDARD}generateSearchText(e){switch(this.currentMode){case We.INCLUDE:return`'"${e}"`;case We.EXACT:return`="${e}"`;case We.INVERSE:return`!"${e}"`;default:return e}}setCurrentMode(e){this.currentMode=e,this.onSearchModeChange()}}!function(e){e.SEARCH="SEARCH",e.CONTEXTUAL_SUPPORT="CONTEXTUAL_SUPPORT"}(Ke||(Ke={}));class Xe{uuid=(0,a.default)();documentationKey;title;content;url;isOpen=!1;constructor(e){(0,Ve.makeObservable)(this,{isOpen:Ve.observable,setIsOpen:Ve.action}),this.documentationKey=e.key,this.title=Q(e.title),this.content=e.markdownText??e.text,this.url=e.url}setIsOpen(e){this.isOpen=e}}class qe{uuid=(0,a.default)();context;title;content;url;related;constructor(e,t,i){this.context=e,this.title=t.title,this.content=t.markdownText??t.text,this.url=t.url,this.related=i}}const Qe=e=>Boolean(e.title&&(e.url??e.text??e.markdownText));class Ze{applicationStore;panelRenderingKey=(0,a.default)();isHidden=!0;isOpen=!1;isPanelMaximized=!1;selectedTab=Ke.SEARCH;currentDocumentationEntry;searchEngine;searchConfigurationState;searchState=Ge.create();searchText="";searchResults=[];showSearchConfigurationMenu=!1;isOverSearchLimit=!1;constructor(e){(0,Ve.makeObservable)(this,{isHidden:Ve.observable,isOpen:Ve.observable,isPanelMaximized:Ve.observable,panelRenderingKey:Ve.observable,isOverSearchLimit:Ve.observable,selectedTab:Ve.observable,searchText:Ve.observable,searchResults:Ve.observable,currentDocumentationEntry:Ve.observable,showSearchConfigurationMenu:Ve.observable,currentContextualDocumentationEntry:Ve.computed,setIsHidden:Ve.action,setIsOpen:Ve.action,setIsPanelMaximized:Ve.action,setSelectedTab:Ve.action,setSearchText:Ve.action,resetSearch:Ve.action,search:Ve.action,openDocumentationEntry:Ve.action,refreshPanelRendering:Ve.action,setShowSearchConfigurationMenu:Ve.action}),this.applicationStore=e,this.searchEngine=new Ye(this.applicationStore.documentationService.getAllDocEntries().filter(Qe),{includeScore:!0,shouldSort:!0,ignoreLocation:!0,threshold:.2,keys:[{name:"title",weight:4},{name:"text",weight:1},{name:"markdownText.value",weight:1}],useExtendedSearch:!0}),this.searchConfigurationState=new Je((()=>{this.search()}))}get currentContextualDocumentationEntry(){if(!this.applicationStore.navigationContextService.currentContext)return;const e=this.applicationStore.navigationContextService.currentContext.key,t=this.applicationStore.documentationService.getContextualDocEntry(e);return t?new qe(e,t,(t.related??[]).map((e=>this.applicationStore.documentationService.getDocEntry(e))).filter($).filter(Qe).map((e=>new Xe(e)))):void 0}openDocumentationEntry(e){const t=this.applicationStore.documentationService.getDocEntry(e);t&&(this.setIsOpen(!0),this.setIsHidden(!1),this.currentDocumentationEntry=new Xe(t),this.currentDocumentationEntry.setIsOpen(!0),this.resetSearch())}openDocumentationEntryLink(e){const t=this.applicationStore.documentationService.getDocEntry(e);t&&((e=>Qe(e)&&Boolean(e.text??e.markdownText))(t)?this.openDocumentationEntry(t.key):t.url&&this.applicationStore.navigationService.navigator.visitAddress(t.url))}setIsHidden(e){this.isHidden=e}setIsPanelMaximized(e){this.isPanelMaximized=e}hideAssistant(){this.setIsHidden(!0),this.setIsOpen(!1)}toggleAssistant(){!this.isHidden?this.hideAssistant():this.setIsHidden(!1)}setIsOpen(e){this.isOpen=e}setSelectedTab(e){this.selectedTab=e}refreshPanelRendering(){this.panelRenderingKey=(0,a.default)()}setSearchText(e){this.searchText=e}resetSearch(){this.searchText="",this.searchResults=[],this.searchState.complete()}search(){this.searchText?(this.currentDocumentationEntry=void 0,this.searchState.inProgress(),this.searchResults=Array.from(this.searchEngine.search(this.searchConfigurationState.generateSearchText(this.searchText),{limit:101}).values()).map((e=>new Xe(e.item))),this.searchResults.length>100?(this.isOverSearchLimit=!0,this.searchResults=this.searchResults.slice(0,100)):this.isOverSearchLimit=!1,this.searchState.complete()):this.searchResults=[]}setShowSearchConfigurationMenu(e){this.showSearchConfigurationMenu=e}}class et{notifierPlugins=[];registerEventNotifierPlugins(e){this.notifierPlugins=e}notify(e,t){this.notifierPlugins.forEach((i=>i.notify(e,t)))}}class tt{static logEvent_ApplicationInitializationSucceeded(e,t){e.logEvent(ye.APPLICATION_LOAD__SUCCESS,{application:{name:t.config.appName,version:t.config.appVersion,env:t.config.env},browser:{userAgent:navigator.userAgent},screen:{height:window.screen.height,width:window.screen.width}})}static logEvent_ApplicationContextAccessed(e,t){e.logEvent(ye.APPLICATION_CONTEXT__ACCESS,t)}static logEvent_VirtualAssistantDocumentationEntryAccessed(e,t){e.logEvent(ye.VIRTUAL_ASSISTANT_DOCUMENTATION_ENTRY__ACCESS,t)}static logEvent_ApplicationUsageInterrupted(e){e.logEvent(ye.APPLICATION_USAGE__INTERRUPT,{})}}class it{applicationStore;contextStack=[];constructor(e){(0,Ve.makeObservable)(this,{contextStack:Ve.observable,currentContext:Ve.computed,push:Ve.action,pop:Ve.action}),this.applicationStore=e}get currentContext(){return this.contextStack.length?this.contextStack[this.contextStack.length-1]:void 0}push(e){const t=this.contextStack.filter((e=>!e.isTransient));if(t.find((t=>t.key===e.key)))throw new U(`Found multiple context '${e.key}' in application navigation context stack`);t.push(e),this.applicationStore.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraAccessEventLoggingApplicationContextKeys?.()??[])).includes(e.key)&&tt.logEvent_ApplicationContextAccessed(this.applicationStore.telemetryService,{key:e.key}),this.contextStack=t}pop(e){const t=this.contextStack.find((t=>t.key===e.key));if(!t)return;const i=this.contextStack.indexOf(t);-1!==i&&(this.contextStack=this.contextStack.slice(0,i).filter((e=>!e.isTransient)))}}class st{applicationStore;commandRegistry=new Map;constructor(e){(0,Ve.makeObservable)(this,{commandRegistry:Ve.observable,registerCommand:Ve.action,deregisterCommand:Ve.action}),this.applicationStore=e}registerCommand(e){const t=e.key;this.commandRegistry.has(t)?this.applicationStore.logService.warn(u.create(ye.COMMAND_CENTER_REGISTRATION__FAILURE),"Can't register command: command is already registered"):this.commandRegistry.set(t,e)}deregisterCommand(e){this.commandRegistry.delete(e)}runCommand(e,t){const i=this.commandRegistry.get(e);return!(!i||i.trigger&&!i.trigger())&&(i.action?.(t),!0)}}class nt{applicationStore;keyMap=new Map;commandKeyMap=new Map;isHotkeysBlocked=!1;constructor(e){(0,Ve.makeObservable)(this,{keyMap:Ve.observable,commandKeyMap:Ve.observable,isHotkeysBlocked:Ve.observable,addHotkey:Ve.action,blockGlobalHotkeys:Ve.action,unblockGlobalHotkeys:Ve.action}),this.applicationStore=e,this.applicationStore.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraKeyedCommandConfigEntries?.()??[])).forEach((e=>{const t=[e.content.defaultKeyboardShortcut,...e.content.additionalKeyboardShortcuts??[]].filter($);t.length?t.forEach((t=>this.addHotkey(e.key,t))):this.commandKeyMap.has(e.key)||this.commandKeyMap.set(e.key,[])}))}blockGlobalHotkeys(){this.isHotkeysBlocked=!0}unblockGlobalHotkeys(){this.isHotkeysBlocked=!1}addHotkey(e,t){this.commandKeyMap.set(e,[...this.commandKeyMap.get(e)??[],t]),this.keyMap.set(t,[...(this.keyMap.get(t)??[]).filter((t=>t!==e)),e])}dispatch(e){if(this.isHotkeysBlocked)return;const t=this.keyMap.get(e)??[];for(const e of t)if(this.applicationStore.commandService.runCommand(e))return}}var at=i(7289),rt=i(3678),ot=i(8440),ct=i(1919),lt=i(5399),dt=i(9358);const ut="Roboto Mono",pt="yyyy-MM-dd'T'HH:mm:ss";var ht;!function(e){e.RESET="[0m",e.BOLD="[1m",e.DIM="[2m",e.ITALIC="[3m",e.UNDERLINE="[4m",e.BLINKING="[5m",e.STRIKETHROUGH="[9m",e.BLACK="[30m",e.RED="[31m",e.GREEN="[32m",e.YELLOW="[33m",e.BLUE="[34m",e.MAGENTA="[35m",e.CYAN="[36m",e.WHITE="[37m",e.BRIGHT_BLACK="[1;30m",e.BRIGHT_RED="[1;31m",e.BRIGHT_GREEN="[1;32m",e.BRIGHT_YELLOW="[1;33m",e.BRIGHT_BLUE="[1;34m",e.BRIGHT_MAGENTA="[1;35m",e.BRIGHT_CYAN="[1;36m",e.BRIGHT_WHITE="[1;37m",e.DIMMED_BLACK="[2;30m",e.DIMMED_RED="[2;31m",e.DIMMED_GREEN="[2;32m",e.DIMMED_YELLOW="[2;33m",e.DIMMED_BLUE="[2;34m",e.DIMMED_MAGENTA="[2;35m",e.DIMMED_CYAN="[2;36m",e.DIMMED_WHITE="[2;37m",e.BLACK_BG="[40m",e.RED_BG="[41m",e.GREEN_BG="[42m",e.YELLOW_BG="[43m",e.BLUE_BG="[44m",e.MAGENTA_BG="[45m",e.CYAN_BG="[46m",e.WHITE_BG="[47m",e.BRIGHT_BLACK_BG="[1;40m",e.BRIGHT_RED_BG="[1;41m",e.BRIGHT_GREEN_BG="[1;42m",e.BRIGHT_YELLOW_BG="[1;43m",e.BRIGHT_BLUE_BG="[1;44m",e.BRIGHT_MAGENTA_BG="[1;45m",e.BRIGHT_CYAN_BG="[1;46m",e.BRIGHT_WHITE_BG="[1;47m",e.DIMMED_BLACK_BG="[2;40m",e.DIMMED_RED_BG="[2;41m",e.DIMMED_GREEN_BG="[2;42m",e.DIMMED_YELLOW_BG="[2;43m",e.DIMMED_BLUE_BG="[2;44m",e.DIMMED_MAGENTA_BG="[2;45m",e.DIMMED_CYAN_BG="[2;46m",e.DIMMED_WHITE_BG="[2;47m"}(ht||(ht={}));const mt=(e,t)=>`[${e};${t}H`;class gt{searchInput;searchText="";useRegex=!1;matchWholeWord=!1;matchCaseSensitive=!1;resultCount;currentResultIndex;constructor(){(0,Ve.makeObservable)(this,{searchText:Ve.observable,useRegex:Ve.observable,matchWholeWord:Ve.observable,matchCaseSensitive:Ve.observable,resultCount:Ve.observable,currentResultIndex:Ve.observable})}setSearchInput(e){this.searchInput=e}focus(){this.searchInput?.focus()}}class ft{applicationStore;searchConfig=new gt;constructor(e){(0,Ve.makeObservable)(this,{setSearchText:Ve.action,setSearchRegex:Ve.action,setSearchWholeWord:Ve.action,setSearchCaseSensitive:Ve.action,setSearchResultCount:Ve.action,setSearchCurrentResultIndex:Ve.action}),this.applicationStore=e}setSearchText(e){this.searchConfig.searchText=e}setSearchRegex(e){this.searchConfig.useRegex=e}setSearchWholeWord(e){this.searchConfig.matchWholeWord=e}setSearchCaseSensitive(e){this.searchConfig.matchCaseSensitive=e}setSearchResultCount(e){this.searchConfig.resultCount=e}setSearchCurrentResultIndex(e){this.searchConfig.currentResultIndex=e}}class _t extends ft{preserveLog=!1;commandRegistry=new Map;constructor(e){super(e),(0,Ve.makeObservable)(this,{preserveLog:Ve.observable,setPreserveLog:Ve.action})}setPreserveLog(e){this.preserveLog=e}showHelp(){}showCommonANSIEscapeSequences(){}}var bt=i(1169);i(286);const Et=e=>e.length>=1?`${e[0].toUpperCase()}${e.substring(1,e.length)}`:e,vt=["a","an","the","but","by","nor","and","or","so","as","yet","for","in","nor","of","on","at","out","to","up"],Tt=e=>(e??"").trim().replace(/\b(?:\w+)\b/gu,(e=>vt.includes(e.toLowerCase())?e.toLowerCase():Et(e))).replace(/^(?:\w+)\b/u,(e=>Et(e))).replace(/\b(?:\w+)$/u,(e=>Et(e))),St=e=>e?e.trim().match(/^[A-Z_]+$/)?Tt(e.trim().replace(/_+/gu," ").toLowerCase()):Et(e.trim()).split(/(?<chunk>[A-Z][a-z]+|[0-9]+)/).map((e=>e.toUpperCase()===e?e:e.charAt(0).toUpperCase()+e.slice(1).toLowerCase())).filter(Boolean).join(" ").replace(/_+/gu," ").replace(/\s+/gu," "):"",Ct=(e,t=2)=>{try{return((e,t,i)=>{const s=(0,bt.stringify)(e,t,i);return Y(s,"Can't stringify lossless JSON value"),s})((0,bt.parse)(e),void 0,t)}catch{return e}},yt=e=>{try{return Ct(e,0)}catch{return e.replace(/\n\s*/g,"")}};var Nt;function At(e){return e.trim().split(" ").map((e=>{const t=e.split(/\b\+/),i=W(t.pop(),"Can't parse key binding: last part must be a non-modifier key");return{modifiers:t,key:i}}))}!function(e){e.TAB="Tab",e.CAPSLOCK="CapsLock",e.SHIFT="Shift",e.META="Meta",e.ALT="Alt",e.CONTROL="Control",e.SPACE="Space",e.ESC="Escape",e.LEFT="ArrowLeft",e.RIGHT="ArrowRight",e.UP="ArrowUp",e.DOWN="ArrowDown",e.ENTER="Enter",e.DELETE="Delete",e.BACKSPACE="Backspace",e.BACKQUOTE="Backquote"}(Nt||(Nt={}));const It=(e,t)=>t.key===e.code&&t.modifiers.every((t=>e.getModifierState(t)))&&![Nt.SHIFT,Nt.META,Nt.ALT,Nt.CONTROL].find((i=>t.key!==i&&e.getModifierState(i)&&!t.modifiers.includes(i))),xt=(e,t)=>It(e,W(At(t)[0]));var Ot=i(4707),wt=i(3493),Rt=i(6919);const kt=(0,Ot.default)({transitions:{create:()=>"none"}}),Pt=e=>{const{children:t}=e;return(0,E.jsx)(wt.default,{injectFirst:!0,children:(0,E.jsx)(Rt.default,{theme:kt,children:t})})};var Mt=i(3820),Lt=i(6242),Ft=i(4309),Dt=i(6940),Bt=i(8683),jt=i(1934),Ut=i(489);const Vt=(e,t)=>{const i=e=>{const{children:i,className:s}=e;return(0,E.jsx)("div",{className:(0,Ut.clsx)(t,s),children:i})};return i.displayName=e,i},Gt=e=>{const{children:t,darkMode:i,className:s}=e;return(0,E.jsx)("div",{className:(0,Ut.clsx)("modal",{"modal--dark":i},s),children:t})},zt=e=>{const{title:t,icon:i,className:s}=e;return(0,E.jsxs)("div",{className:(0,Ut.clsx)("modal__title",s),children:[i&&(0,E.jsx)("div",{className:"modal__title__icon",children:i}),(0,E.jsx)("div",{className:"modal__title__label",children:Tt(t)})]})},Ht=e=>{const{title:t,children:i,className:s}=e;return!i&&t?(0,E.jsx)("div",{className:(0,Ut.clsx)("modal__header",s),children:(0,E.jsx)(zt,{title:t})}):(0,E.jsx)("div",{className:(0,Ut.clsx)("modal__header",s),children:i})},$t=(Vt("ModalHeaderActions","modal__header__actions"),Vt("ModalBody","modal__body")),Yt=Vt("ModalFooter","modal__footer");Vt("ModalFooterStatus","modal__footer__status");var Wt,Kt;!function(e){e.STANDARD="STANDARD",e.CAUTION="CAUTION"}(Wt||(Wt={})),function(e){e.STANDARD="STANDARD",e.PROCEED_WITH_CAUTION="PROCEED_WITH_CAUTION",e.PROCEED="PROCEED"}(Kt||(Kt={}));class Jt{applicationStore;blockingAlertInfo;actionAlertInfo;constructor(e){(0,Ve.makeObservable)(this,{blockingAlertInfo:Ve.observable,actionAlertInfo:Ve.observable,setBlockingAlert:Ve.action,setActionAlertInfo:Ve.action}),this.applicationStore=e}setBlockingAlert(e){e?this.applicationStore.keyboardShortcutsService.blockGlobalHotkeys():this.applicationStore.keyboardShortcutsService.unblockGlobalHotkeys(),this.blockingAlertInfo=e}setActionAlertInfo(e){this.actionAlertInfo&&e&&this.applicationStore.notificationService.notifyIllegalState("Action alert is stacked: new alert is invoked while another one is being displayed"),e?this.applicationStore.keyboardShortcutsService.blockGlobalHotkeys():this.applicationStore.keyboardShortcutsService.unblockGlobalHotkeys(),this.actionAlertInfo=e}}var Xt=i(2784);const qt=(0,Xt.createContext)(void 0),Qt=()=>W((0,Xt.useContext)(qt),"Can't find application store in context"),Zt=({children:e,store:t})=>{const i=(0,Ft.useLocalObservable)((()=>t));return(0,E.jsx)(qt.Provider,{value:i,children:e})},ei=e=>{switch(e){case Kt.PROCEED_WITH_CAUTION:return"btn--caution";case Kt.PROCEED:case Kt.STANDARD:default:return"btn--dark"}},ti=(0,Ft.observer)((e=>{const{info:t}=e,i=Qt(),{title:s,message:n,prompt:a,type:r,onClose:o,onEnter:c,actions:l}=t,d=()=>{o?.(),i.alertService.setActionAlertInfo(void 0)};return(0,E.jsx)(jt.default,{open:Boolean(i.alertService.actionAlertInfo),onClose:w,TransitionProps:{onEnter:()=>c?.()},children:(0,E.jsxs)("form",{onSubmit:e=>{e.preventDefault(),l.find((e=>e.default))?.handler?.(),d()},className:`modal search-modal modal--dark blocking-alert blocking-alert--${(r??Wt.STANDARD).toLowerCase()}`,children:[s&&(0,E.jsx)(Ht,{title:s}),(0,E.jsxs)($t,{children:[(0,E.jsx)("div",{className:"blocking-alert__summary-text",children:n}),(0,E.jsx)("div",{className:"blocking-alert__prompt-text",children:a})]}),(0,E.jsxs)(Yt,{children:[l.map(((e,t)=>(0,E.jsx)("button",{type:e.default?"submit":"button",className:`btn btn--dark ${ei(e.type??Kt.STANDARD)}`,onClick:t=>{t.preventDefault(),e.handler?.(),d()},autoFocus:Boolean(e.default),children:e.label},t))),!l.length&&(0,E.jsx)("button",{type:"button",className:"btn btn--dark blocking-alert__action--standard",onClick:d,children:"Cancel"})]})]})})})),ii=(0,Ft.observer)((()=>{const e=Qt().alertService.actionAlertInfo;return e?(0,E.jsx)(ti,{info:e}):null})),si=e=>{const{isLoading:t,className:i}=e,s=(0,Xt.useRef)(null);return(0,Xt.useEffect)((()=>{s.current&&(t?s.current.parentElement?.classList.add("panel-loading-indicator__container"):s.current.parentElement?.classList.remove("panel-loading-indicator__container"))}),[t]),(0,E.jsx)("div",{ref:s,className:(0,Ut.clsx)(i,"panel-loading-indicator"+(t?"":"--disabled"))})},ni=(0,Ft.observer)((()=>{const e=Qt().alertService.blockingAlertInfo;return e?(0,E.jsx)(jt.default,{open:Boolean(e),onClose:w,classes:{root:"blocking-alert__root-container",container:"blocking-alert__container"},children:(0,E.jsxs)(Gt,{darkMode:!0,className:"blocking-alert",children:[(0,E.jsx)(si,{isLoading:Boolean(e.showLoading)}),(0,E.jsxs)($t,{children:[(0,E.jsx)("div",{className:"blocking-alert__message",children:e.message}),e.prompt&&(0,E.jsx)("div",{className:"blocking-alert__message__prompt",children:e.prompt})]})]})}):null}));var ai=i(7614),ri=i(2071),oi=i(5887),ci=i(2129),li=i(6073),di=i(5213),ui=i(5685),pi=i(2595),hi=i(4051),mi=i(4326),gi=i(2743),fi=i(2643),_i=i(9910),bi=i(8743),Ei=i(1513);ai.TbArrowsJoin2,ai.TbArrowsSplit2;const vi=ai.TbMathFunction,Ti=(ai.TbBook,ai.TbCircleOff,ai.TbCalendarTime,ai.TbClockEdit,ai.TbSql,ai.TbBrandSnowflake,ri.MdManageSearch,ri.MdModeEdit,ri.MdTextFields,ri.MdMoreVert,ri.MdMoreHoriz,ri.MdWrapText,ri.MdSaveAs,ri.MdSave,ri.MdVerticalAlignBottom,ri.MdRefresh),Si=(ri.MdFunctions,ri.MdCompareArrows,ri.MdPlaylistAddCheck,ri.MdAdd,ri.MdEdit,ri.MdSubject),Ci=ri.MdViewHeadline,yi=ri.MdAssistant,Ni=(ri.MdSettingsEthernet,ri.MdLink,ri.MdWindow,ri.MdReviews,ri.MdCalculate,ri.MdRocketLaunch,ri.MdOutlineDataset,ri.MdVerified,ri.MdQueryStats,ri.MdFilterCenterFocus,ri.MdOutlineDescription,ri.MdQuestionAnswer,ri.MdUnfoldLess,ri.MdUnfoldMore,oi.VscError,oi.VscWarning,oi.VscWordWrap),Ai=oi.VscGoToFile,Ii=oi.VscClose,xi=(oi.VscRunAll,oi.VscRunErrors,oi.VscOpenPreview,oi.VscDiff,oi.VscRegex),Oi=(oi.VscVersions,oi.VscCaseSensitive),wi=oi.VscWholeWord,Ri=oi.VscReferences,ki=oi.VscWand,Pi=oi.VscCollapseAll,Mi=oi.VscExpandAll,Li=(oi.VscJson,oi.VscTable,ci.BsFillTriangleFill,ci.BsFillFileEarmarkSpreadsheetFill,ci.BsBoxSeam,ci.BsGripVertical),Fi=ci.BsAlignTop,Di=ci.BsAlignMiddle,Bi=ci.BsAlignBottom,ji=ci.BsAlignStart,Ui=ci.BsAlignCenter,Vi=ci.BsAlignEnd,Gi=ci.BsDistributeHorizontal,zi=ci.BsDistributeVertical,Hi=(ci.BsDatabaseFillLock,ci.BsDatabaseFillCheck,ci.BsChevronUp,ci.BsChevronDown,ci.BsChevronRight,ci.BsChevronLeft,ci.BsQuestionSquare),$i=(ci.BsQuestionSquareFill,ci.BsTextLeft,li.HiCode,li.HiHome,di.IoOpenOutline,di.IoResize,di.IoFileTrayFullOutline,di.IoMenuOutline,di.IoBeaker,di.IoFlaskSharp),Yi=(di.IoSyncCircleSharp,di.IoStatsChart,di.IoHelpBuoy,di.IoCloudDownloadOutline,di.IoCloudUploadOutline,di.IoHelp,ui.FaHistory),Wi=ui.FaCrosshairs,Ki=(ui.FaLayerGroup,ui.FaGhost,ui.FaLock),Ji=(ui.FaMask,ui.FaFile,ui.FaLongArrowAltRight,ui.FaTimes),Xi=ui.FaTimesCircle,qi=ui.FaPlus,Qi=ui.FaCog,Zi=(ui.FaEye,ui.FaEyeSlash,ui.FaCaretUp,ui.FaCaretDown),es=(ui.FaFire,ui.FaSave,ui.FaSquare),ts=(ui.FaRegSquare,ui.FaCheckSquare),is=(ui.FaMinusSquare,ui.FaHashtag,ui.FaHammer),ss=(ui.FaCommentDots,ui.FaClock,ui.FaRegClock,ui.FaToggleOn,ui.FaQuestion,ui.FaQuestionCircle),ns=ui.FaInfoCircle,as=ui.FaCompress,rs=ui.FaMap,os=ui.FaPlay,cs=(ui.FaGripVertical,ui.FaRobot,ui.FaArrowLeft,ui.FaArrowRight,ui.FaArrowAltCircleDown,ui.FaArrowAltCircleRight),ls=(ui.FaArrowCircleRight,ui.FaUser,ui.FaShapes),ds=(ui.FaEnvelope,ui.FaSkull,ui.FaDollarSign,ui.FaSearch),us=(ui.FaStar,ui.FaKey,ui.FaExternalLinkAlt,ui.FaExternalLinkSquareAlt,ui.FaLightbulb,ui.FaRegLightbulb,ui.FaList),ps=(ui.FaCircle,ui.FaMinusCircle),hs=ui.FaTrash,ms=(ui.FaRegCircle,ui.FaShieldAlt,ui.FaTag,ui.FaTags,ui.FaBolt,ui.FaCheckCircle),gs=ui.FaExclamationTriangle,fs=ui.FaBug,_s=ui.FaCircleNotch,bs=(ui.FaRegKeyboard,ui.FaUserSecret,ui.FaBuffer,ui.FaSitemap,ui.FaExpand),Es=(ui.FaExpandArrowsAlt,ui.FaSortAlphaDown,ui.FaSort,ui.FaSortAlphaDownAlt,ui.FaFolderPlus,ui.FaCaretRight,ui.FaCaretLeft,ui.FaWrench),vs=ui.FaArrowDown,Ts=ui.FaArrowUp,Ss=ui.FaTerminal,Cs=(ui.FaTruckLoading,ui.FaFolderOpen),ys=ui.FaFolder,Ns=(ui.FaFileCode,ui.FaCodeBranch,ui.FaArrowAltCircleUp,ui.FaArrowAltCircleLeft,ui.FaRegStopCircle,ui.FaAsterisk,ui.FaFilter,ui.FaExclamationCircle),As=(ui.FaRocket,ui.FaCheck,ui.FaBan),Is=(ui.FaFileImport,ui.FaUserFriends,ui.FaDownload,ui.FaUpload,ui.FaRegWindowRestore),xs=(ui.FaPauseCircle,ui.FaShare,ui.FaRegCopy),Os=ui.FaFileAlt,ws=(ui.FaEdit,ui.FaArrowsAltH,ui.FaRegWindowMaximize),Rs=(ui.FaWindowMaximize,ui.FaLongArrowAltDown,ui.FaLongArrowAltUp,ui.FaMeteor,ui.FaPiedPiperSquare,ui.FaPuzzlePiece,ui.FaToggleOff,ui.FaMapMarkerAlt),ks=ui.FaHatWizard,Ps=ui.FaRegLaughWink,Ms=ui.FaRegSadTear,Ls=(ui.FaBusinessTime,ui.FaDatabase),Fs=(ui.FaServer,ui.FaArchive,ui.FaBrain,ui.FaBookOpen,ui.FaLevelDownAlt,ui.FaRegCalendarAlt,ui.FaCalculator,ui.FaReadme,pi.GiWaterDrop,pi.GiBeard),Ds=pi.GiSunglasses,Bs=(pi.GiHouseKeys,hi.GoChevronDown),js=hi.GoChevronUp,Us=(hi.GoChevronLeft,hi.GoChevronRight),Vs=(hi.GoFileBinary,hi.GoGitPullRequest,hi.GoGitMerge,hi.GoSync,hi.GoGitBranch,hi.GoX),Gs=(hi.GoPlug,mi.SiSwagger,gi.BiShapeTriangle,gi.BiAtom),zs=(gi.BiCabinet,fi.CgOptions,_i.FiPackage),Hs=(_i.FiMinus,_i.FiMousePointer),$s=_i.FiMove,Ys=(_i.FiPlusCircle,_i.FiSidebar,_i.FiTriangle,_i.FiZoomIn),Ws=_i.FiZoomOut;_i.FiGitMerge,_i.FiLink,bi.RiShapeLine,bi.RiTestTubeFill,bi.RiRobotFill,bi.RiGovernmentFill,bi.RiMoneyDollarCircleFill,Ei.FcWorkflow;var Ks=i(3882),Js=i(3083);const Xs=6e3;var qs;!function(e){e.ILEGAL_STATE="ILEGAL_STATE",e.ERROR="ERROR",e.WARNING="WARNING",e.SUCCESS="SUCCESS",e.INFO="INFO"}(qs||(qs={}));class Qs{severity;message;actions;autoHideDuration;constructor(e,t,i,s){this.severity=e,this.message=t,this.actions=i,this.autoHideDuration=s}}class Zs{notification;constructor(){(0,Ve.makeObservable)(this,{notification:Ve.observable,setNotification:Ve.action,notify:Ve.action,notifySuccess:Ve.action,notifyWarning:Ve.action,notifyIllegalState:Ve.action,notifyError:Ve.action})}setNotification(e){this.notification=e}notify(e,t,i){this.setNotification(new Qs(qs.INFO,e,t??[],null===i?void 0:i??Xs))}notifySuccess(e,t,i){this.setNotification(new Qs(qs.SUCCESS,e,t??[],null===i?void 0:i??Xs))}notifyWarning(e,t,i){this.setNotification(new Qs(qs.WARNING,e instanceof Error?e.message:e,t??[],null===i?void 0:i??Xs))}notifyError(e,t){let i;e instanceof B?i=e.detail:e instanceof Error?i=e.message:(Z(ee(e),"Can't display error"),i=e),i&&this.setNotification(new Qs(qs.ERROR,i,t??[],void 0))}notifyIllegalState(e,t,i){this.setNotification(new Qs(qs.ILEGAL_STATE,ee(e)?`[PLEASE NOTIFY DEVELOPER] ${e}`:e,t??[],null===i?void 0:i??Xs))}notifyUnsupportedFeature(e){this.notifyWarning(`Unsupported feature: ${e}`)}notifyAndReturnAlternativeOnError=(e,t)=>{try{return e()}catch(e){return G(e),this.notifyIllegalState(e.message),t}}}const en=(0,Ft.observer)((()=>{const e=Qt(),t=e.notificationService.notification,i=Boolean(t),s=t?.message??"",n=t?.severity??qs.INFO,[a,r]=(0,Xt.useState)(!1);let o=(0,E.jsx)("div",{className:"notification__message__content__icon notification__message__content__icon--info",children:(0,E.jsx)(ns,{})});switch(n){case qs.ILEGAL_STATE:o=(0,E.jsx)("div",{className:"notification__message__content__icon notification__message__content__icon--error",children:(0,E.jsx)(fs,{})});break;case qs.ERROR:o=(0,E.jsx)("div",{className:"notification__message__content__icon notification__message__content__icon--error",children:(0,E.jsx)(Xi,{})});break;case qs.WARNING:o=(0,E.jsx)("div",{className:"notification__message__content__icon notification__message__content__icon--warning",children:(0,E.jsx)(gs,{})});break;case qs.SUCCESS:o=(0,E.jsx)("div",{className:"notification__message__content__icon notification__message__content__icon--success",children:(0,E.jsx)(ms,{})})}const c=()=>{e.notificationService.setNotification(void 0),r(!1)},l=e.guardUnhandledError((()=>e.clipboardService.copyTextToClipboard(s)));return(0,E.jsx)(Ks.default,{classes:{root:"notification",anchorOriginBottomRight:"notification__position"},anchorOrigin:{vertical:"bottom",horizontal:"right"},open:i,autoHideDuration:t?t.autoHideDuration??null:Xs,onClose:(e,t)=>{"timeout"===t&&c()},children:(0,E.jsx)(Js.default,{classes:{root:"notification__content",message:"notification__message",action:"notification__actions"},message:(0,E.jsxs)("div",{className:"notification__message__content",children:[o,(0,E.jsx)("div",{className:(0,Ut.clsx)("notification__message__content__text",{"notification__message__content__text--expanded":a}),onClick:l,title:"Click to Copy",children:s})]}),action:[(0,E.jsx)("button",{className:"notification__action",onClick:()=>r(!a),tabIndex:-1,title:a?"Collapse":"Expand",children:a?(0,E.jsx)(Bs,{}):(0,E.jsx)(js,{})},"expand"),(0,E.jsx)("button",{className:"notification__action",onClick:c,tabIndex:-1,title:"Dismiss",children:(0,E.jsx)(Ji,{})},"close")]})},"string"==typeof s||"number"==typeof s?s:"")}));var tn=i(7954);const sn=e=>{const{children:t,classes:i,...s}=e;return(0,E.jsx)(tn.default,{classes:{...i??{},paper:"mui-menu__paper",list:"mui-menu__list"},transitionDuration:0,...s,children:e.children})},nn=e=>{const{className:t,children:i,menuProps:s,content:n,disabled:a,onClose:r,onOpen:o}=e,c=(0,Xt.useRef)(null),[l,d]=(0,Xt.useState)(!1),[u,p]=(0,Xt.useState)(),[h,m]=(0,Xt.useState)(0),[g,f]=(0,Xt.useState)(0),_=()=>{p(void 0),d(!1),f(0),m(0)},b=e=>{e.stopPropagation(),e.preventDefault(),_(),r?.()},v=e=>{if(e.stopPropagation(),e.preventDefault(),!a&&(o?.(),c.current)){const t=c.current.getBoundingClientRect(),i=t.left+(window.scrollX||document.documentElement.scrollLeft),s=t.top+(window.scrollY||document.documentElement.scrollTop),{clientX:n,clientY:a,target:o}=e,l=o;if(u!==l){if(!(document.elementsFromPoint(n,a).some((e=>e===l))&&i<=n&&n<=i+t.width&&s<=a&&a<=s+t.height))return _(),void r?.()}p(l),d(!0),f(a),m(n)}};return(0,E.jsxs)("div",{ref:c,className:t,onContextMenu:v,children:[i,(0,E.jsx)(sn,{open:l,anchorPosition:{left:h,top:g},onClose:b,anchorReference:"anchorPosition",BackdropProps:{invisible:!0,onContextMenu:v},disableRestoreFocus:!0,transitionDuration:0,onClick:b,...s,children:l&&n},`${h}, ${g}`)]})},an=(0,Xt.forwardRef)((function(e,t){const{className:i,children:s,...n}=e;return(0,E.jsx)("div",{ref:t,className:(0,Ut.clsx)("menu",i),...n,children:s})})),rn=e=>{const{className:t,onClick:i,title:s,disabled:n,children:a,...r}=e;return(0,E.jsx)("button",{className:(0,Ut.clsx)("menu__item",t),disabled:Boolean(n),title:s,onClick:i,...r,children:a})},on=Vt("MenuContentDivider","menu__divider");Vt("MenuContentItemIcon","menu__item__icon"),Vt("MenuContentItemLabel","menu__item__label");var cn=i(4584),ln=i(4906),dn=i(2801);const un=e=>((0,Xt.useEffect)((()=>{dn.L.initialize({startOnLoad:!0,theme:"dark"}),dn.L.contentLoaded()}),[e.value]),(0,E.jsx)(cn.Markdown,{className:(0,Ut.clsx)("markdown-content",e.className),remarkPlugins:[ln.default],components:e.components??{code:e=>{const{children:t,className:i,node:s,...n}=e,a=/language-(?<language>\w+)/.exec(i??"");return a?.groups?.language?(0,E.jsx)("code",{...n,className:(0,Ut.clsx)(a.groups.language),children:t}):(0,E.jsx)("code",{...n,className:i,children:t})}},children:e.value.value}));var pn=i(2515);const hn=e=>{const{children:t}=e,{ref:i,width:s,height:n}=(0,pn.useResizeDetector)({refreshMode:"throttle",refreshRate:50,refreshOptions:{trailing:!0}}),[a,r]=(0,Xt.useState)(!1),{ref:o,width:c,height:l}=(0,pn.useResizeDetector)({refreshMode:"throttle",refreshRate:50,refreshOptions:{trailing:!0}});return(0,Xt.useEffect)((()=>{r((c??0)>(s??0)+40&&(l??0)>(n??0)+40)}),[c,l,s,n]),(0,E.jsx)("div",{ref:o,className:"panel__content__blank",children:(0,E.jsx)("div",{ref:i,className:(0,Ut.clsx)("panel__content__blank__content",{"panel__content__blank__content--hide":!a}),children:t})})};var mn=i(5688),gn=i(4843),fn=i(8978);const _n=e=>{const{children:t,options:i,size:s,className:n,...a}=e,r=((e,t)=>{const i=[];for(let s=0;s<e.length;s+=t)i.push(e.slice(s,s+t));return i})(i,s);return(0,E.jsxs)("div",{className:(0,Ut.clsx)("mui-radio-group",n),children:[r.map(((e,t)=>(0,E.jsx)("div",{children:(0,E.jsx)(mn.default,{className:"mui-radio-group__group",...a,children:e.map((e=>(0,E.jsx)(gn.default,{className:"mui-radio-group__group__column",style:{width:100/s+"%"},value:e,control:(0,E.jsx)(fn.default,{className:"mui-radio-group__group__item__radio-btn"}),label:(0,E.jsx)("div",{className:"mui-radio-group__group__item__label",children:e})},e)))})},t))),t]})};var bn=i(948);const En=e=>{const{children:t,...i}=e;return(0,E.jsx)(bn.default,{classes:{paper:"mui-popover__paper"},transitionDuration:0,...i,children:e.children})};var vn,Tn=i(1327),Sn=i(5068);!function(e){e.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX="question.how-to-use-advanced-search-syntax"}(vn||(vn={}));const Cn=(0,Ft.observer)((e=>{const{entry:t}=e,i=Qt(),s=()=>{t.isOpen||tt.logEvent_VirtualAssistantDocumentationEntryAccessed(i.telemetryService,{key:t.documentationKey}),t.setIsOpen(!t.isOpen)},n=i.guardUnhandledError((()=>i.clipboardService.copyTextToClipboard(t.documentationKey)));return(0,E.jsx)(nn,{className:"virtual-assistant__doc-entry",menuProps:{elevation:7,classes:{root:"virtual-assistant__context-menu"}},content:(0,E.jsx)(an,{children:(0,E.jsx)(rn,{onClick:n,children:"Copy Documentation Key"})}),children:(0,E.jsxs)("div",{className:"virtual-assistant__doc-entry",children:[(0,E.jsxs)("div",{className:"virtual-assistant__doc-entry__header",children:[(0,E.jsx)("button",{className:(0,Ut.clsx)("virtual-assistant__doc-entry__expand-icon",{"virtual-assistant__doc-entry__expand-icon--disabled":!t.content}),disabled:!t.content,tabIndex:-1,onClick:s,children:t.isOpen?(0,E.jsx)(Bs,{}):(0,E.jsx)(Us,{})}),t.url?(0,E.jsx)("a",{className:"virtual-assistant__doc-entry__title virtual-assistant__doc-entry__title--link",rel:"noopener noreferrer",target:"_blank",href:t.url,onClick:()=>{tt.logEvent_VirtualAssistantDocumentationEntryAccessed(i.telemetryService,{key:t.documentationKey})},title:"Click to see external documentation",children:t.title}):(0,E.jsx)("div",{className:"virtual-assistant__doc-entry__title",onClick:s,children:t.title})]}),t.isOpen&&t.content&&(0,E.jsx)("div",{className:"virtual-assistant__doc-entry__content",children:ee(t.content)?(0,E.jsx)("div",{className:"virtual-assistant__doc-entry__content__text",children:t.content}):(0,E.jsx)(un,{className:"virtual-assistant__doc-entry__content__markdown-text",value:t.content})})]})})})),yn=(0,Ft.observer)((()=>{const e=Qt(),t=e.assistantService.currentContextualDocumentationEntry,i=e.guardUnhandledError((()=>e.clipboardService.copyTextToClipboard(t?.context??""))),s=e.guardUnhandledError((()=>e.clipboardService.copyTextToClipboard(e.navigationContextService.currentContext?.key??""))),n=e.guardUnhandledError((()=>e.clipboardService.copyTextToClipboard(e.navigationContextService.contextStack.map((e=>e.key)).join(" > "))));return(0,E.jsxs)(nn,{className:"virtual-assistant__contextual-support",disabled:!t,menuProps:{elevation:7,classes:{root:"virtual-assistant__context-menu"}},content:(0,E.jsxs)(an,{children:[(0,E.jsx)(rn,{onClick:i,children:"Copy Context ID"}),(0,E.jsx)(rn,{onClick:s,children:"Copy Current Context ID"}),(0,E.jsx)(rn,{onClick:n,children:"Copy Context Stack"})]}),children:[t&&(0,E.jsxs)("div",{className:"virtual-assistant__contextual-support__content",children:[t.title&&(0,E.jsx)("div",{className:"virtual-assistant__contextual-support__title",children:t.title}),t.content&&(0,E.jsx)(E.Fragment,{children:ee(t.content)?(0,E.jsx)("div",{className:"virtual-assistant__contextual-support__text",children:t.content}):(0,E.jsx)(un,{className:"virtual-assistant__contextual-support__markdown-text",value:t.content})}),t.related.length&&(0,E.jsxs)("div",{className:"virtual-assistant__contextual-support__relevant-entries",children:[(0,E.jsxs)("div",{className:"virtual-assistant__contextual-support__relevant-entries__title",children:["Related entries (",t.related.length,")"]}),t.related.map((e=>(0,E.jsx)(Cn,{entry:e},e.uuid)))]})]}),!t&&(0,E.jsx)(hn,{children:(0,E.jsxs)("div",{className:"virtual-assistant__panel__placeholder",children:[(0,E.jsx)(Ps,{className:"virtual-assistant__panel__placeholder__icon"}),(0,E.jsx)("div",{className:"virtual-assistant__panel__placeholder__message",children:"No contextual documentation found!"}),(0,E.jsx)("div",{className:"virtual-assistant__panel__placeholder__instruction",children:"Keep using the app. When contextual help is available, we will let you know!"})]})})]})})),Nn=(0,Ft.observer)((()=>{const e=Qt(),t=(0,Xt.useRef)(null),i=e.assistantService,s=i.searchText,n=(0,Xt.useMemo)((()=>(0,I.default)((()=>i.search()),100)),[i]);return(0,Xt.useEffect)((()=>{t.current?.focus()}),[]),(0,E.jsxs)("div",{className:"virtual-assistant__search",children:[(0,E.jsxs)("div",{className:"virtual-assistant__search__header",children:[(0,E.jsx)("input",{ref:t,onClick:()=>{document.querySelectorAll('[role="dialog"]').length&&t.current!==document.activeElement&&i.refreshPanelRendering()},className:(0,Ut.clsx)("virtual-assistant__search__input input--dark",{"virtual-assistant__search__input--searching":s}),spellCheck:!1,onChange:e=>{i.setSearchText(e.target.value),n()},value:s,placeholder:"Ask me a question"}),s&&(0,E.jsx)("div",{className:"virtual-assistant__search__input__search__count",children:i.searchResults.length+(i.isOverSearchLimit?"+":"")}),(0,E.jsx)("button",{className:(0,Ut.clsx)("virtual-assistant__search__input__config__trigger",{"virtual-assistant__search__input__config__trigger--toggled":i.showSearchConfigurationMenu,"virtual-assistant__search__input__config__trigger--active":i.searchConfigurationState.isAdvancedSearchActive}),tabIndex:-1,onClick:()=>i.setShowSearchConfigurationMenu(!i.showSearchConfigurationMenu),title:(i.searchConfigurationState.isAdvancedSearchActive?"Advanced search is currently active\n":"")+"Click to toggle search config menu",children:(0,E.jsx)(Qi,{})}),s?(0,E.jsx)("button",{className:"virtual-assistant__search__input__clear-btn",tabIndex:-1,onClick:()=>{i.resetSearch(),i.currentDocumentationEntry=void 0,t.current?.focus()},title:"Clear",children:(0,E.jsx)(Ji,{})}):(0,E.jsx)("div",{className:"virtual-assistant__search__input__search__icon",children:(0,E.jsx)(ds,{})})]}),(0,E.jsxs)("div",{className:"virtual-assistant__search__content",children:[(0,E.jsx)(si,{isLoading:i.searchState.isInProgress}),(0,E.jsx)("div",{className:(0,Ut.clsx)("virtual-assistant__search__input__config__panel",{"virtual-assistant__search__input__config__panel--toggled":i.showSearchConfigurationMenu}),children:(0,E.jsxs)("div",{className:"virtual-assistant__search__input__advanced-config__panel",children:[(0,E.jsxs)("div",{className:"virtual-assistant__search__input__advanced-config__panel__header__label",children:["search config",e.documentationService.hasDocEntry(vn.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX)&&(0,E.jsx)("div",{onClick:()=>i.openDocumentationEntryLink(vn.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX),title:"Click to see documentation",className:"virtual-assistant__search__input__advanced-config__panel__header__label__hint",children:(0,E.jsx)(ss,{})})]}),(0,E.jsx)("div",{children:(0,E.jsx)(_n,{value:i.searchConfigurationState.currentMode,onChange:e=>{const t=e.target.value;i.searchConfigurationState.setCurrentMode(t)},row:!1,options:[We.STANDARD,We.INCLUDE,We.EXACT,We.INVERSE],size:1})})]})}),i.currentDocumentationEntry&&(0,E.jsx)("div",{className:"virtual-assistant__search__results",children:(0,E.jsx)(Cn,{entry:i.currentDocumentationEntry},i.currentDocumentationEntry.uuid)}),!i.currentDocumentationEntry&&(0,E.jsxs)(E.Fragment,{children:[Boolean(i.searchResults.length)&&(0,E.jsx)("div",{className:"virtual-assistant__search__results",children:i.searchResults.map((e=>(0,E.jsx)(Cn,{entry:e},e.uuid)))}),s&&!i.searchResults.length&&(0,E.jsx)(hn,{children:(0,E.jsxs)("div",{className:"virtual-assistant__panel__placeholder",children:[(0,E.jsx)(Ms,{className:"virtual-assistant__panel__placeholder__icon"}),(0,E.jsx)("div",{className:"virtual-assistant__panel__placeholder__message",children:"No result..."})]})}),!s&&!i.searchResults.length&&(0,E.jsx)(nn,{className:"virtual-assistant__character__container",menuProps:{elevation:7,classes:{root:"virtual-assistant__context-menu"}},content:(0,E.jsxs)(an,{children:[(0,E.jsx)(rn,{onClick:()=>{Ce(`documentation-registry_${(0,Sn.default)(new Date(Date.now()),pt)}.json`,JSON.stringify(e.documentationService.publishDocRegistry(),void 0,2),ge.APPLICATION_JSON)},children:"Download documentation registry"}),(0,E.jsx)(rn,{onClick:()=>{Ce(`documentation-registry_${(0,Sn.default)(new Date(Date.now()),pt)}.json`,JSON.stringify(e.documentationService.publishContextualDocIndex(),void 0,2),ge.APPLICATION_JSON)},children:"Download contextual documentation mapping"})]}),children:(0,E.jsxs)("div",{className:"virtual-assistant__character",children:[(0,E.jsxs)("div",{className:"virtual-assistant__character__figure",children:[(0,E.jsx)(ks,{className:"virtual-assistant__character__hat"}),(0,E.jsx)(Ds,{className:"virtual-assistant__character__glasses"}),(0,E.jsx)(Fs,{className:"virtual-assistant__character__beard"})]}),(0,E.jsx)("div",{className:"virtual-assistant__character__greeting",children:"Bonjour, It's Pierre!"}),(0,E.jsx)("div",{className:"virtual-assistant__character__question",children:"How can I help today?"})]})})]})]})]})})),An=(0,Ft.observer)((e=>{const{triggerElement:t}=e,i=Qt(),s=i.assistantService,n=s.currentContextualDocumentationEntry,a=s.selectedTab,r=i.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraVirtualAssistantViewConfigurations?.()??[])),o=r.find((e=>e.key===a));return(0,E.jsx)(En,{open:s.isOpen,className:"virtual-assistant__panel__container",anchorEl:t,hideBackdrop:!0,PaperProps:{classes:{root:"virtual-assistant__panel__container__root"}},disableEnforceFocus:!0,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"bottom",horizontal:"right"},children:(0,E.jsxs)("div",{className:(0,Ut.clsx)("virtual-assistant__panel",{"virtual-assistant__panel--maximized":s.isPanelMaximized}),tabIndex:0,onKeyDown:e=>{"Tab"===e.key&&(e.preventDefault(),e.stopPropagation())},children:[(0,E.jsxs)("div",{className:"virtual-assistant__panel__header",children:[(0,E.jsxs)("div",{className:"virtual-assistant__panel__header__tabs",children:[(0,E.jsx)("div",{className:(0,Ut.clsx)("virtual-assistant__panel__header__tab",{"virtual-assistant__panel__header__tab--active":a===Ke.SEARCH}),onClick:()=>s.setSelectedTab(Ke.SEARCH),title:"Search",children:(0,E.jsx)("div",{className:"virtual-assistant__panel__header__tab__content",children:(0,E.jsx)(ds,{})})}),(0,E.jsx)("div",{className:(0,Ut.clsx)("virtual-assistant__panel__header__tab",{"virtual-assistant__panel__header__tab--active":a===Ke.CONTEXTUAL_SUPPORT}),onClick:()=>s.setSelectedTab(Ke.CONTEXTUAL_SUPPORT),title:"Contextual Support",children:(0,E.jsxs)("div",{className:"virtual-assistant__panel__header__tab__content",children:[(0,E.jsx)(Rs,{}),n&&(0,E.jsx)("div",{className:"virtual-assistant__panel__header__tab__indicator",title:"Contextual support available"})]})}),r.map((e=>(0,E.jsx)("div",{className:(0,Ut.clsx)("virtual-assistant__panel__header__tab",{"virtual-assistant__panel__header__tab--active":a===e.key}),onClick:()=>{s.setSelectedTab(e.key),e.autoExpandOnOpen&&s.setIsPanelMaximized(!0)},title:e.title,children:(0,E.jsx)("div",{className:"virtual-assistant__panel__header__tab__content",children:e.icon??(0,E.jsx)(ss,{})})},e.key)))]}),(0,E.jsxs)("div",{className:"virtual-assistant__panel__header__actions",children:[(0,E.jsx)("button",{className:"virtual-assistant__panel__header__action",tabIndex:-1,onClick:()=>s.setIsPanelMaximized(!s.isPanelMaximized),title:s.isPanelMaximized?"Minimize":"Maximize",children:s.isPanelMaximized?(0,E.jsx)(Is,{}):(0,E.jsx)(ws,{})}),(0,E.jsx)("button",{className:"virtual-assistant__panel__header__action",tabIndex:-1,onClick:()=>s.setIsOpen(!1),title:"Close",children:(0,E.jsx)(Ii,{className:"virtual-assistant__panel__icon__close"})})]})]}),(0,E.jsxs)("div",{className:"virtual-assistant__panel__content",children:[a===Ke.SEARCH&&(0,E.jsx)(Nn,{}),a===Ke.CONTEXTUAL_SUPPORT&&(0,E.jsx)(yn,{}),o?.renderer()]})]})},s.panelRenderingKey)})),In=(0,Ft.observer)((()=>{const[e,t]=(0,Xt.useState)(!1),[i,s]=(0,Xt.useState)((0,a.default)()),n=Qt(),r=(0,Xt.useRef)(null),o=n.assistantService,c=o.currentContextualDocumentationEntry,l=()=>{!o.isOpen&&c&&o.setSelectedTab(Ke.CONTEXTUAL_SUPPORT),o.setIsOpen(!o.isOpen)};return(0,Xt.useEffect)((()=>{o.isHidden&&s((0,a.default)())}),[o.isHidden]),(0,E.jsx)(Tn,{bounds:"parent",onStart:()=>t(!0),onStop:()=>t(!1),handle:".virtual-assistant__station__drag-handle",children:(0,E.jsxs)("div",{className:"virtual-assistant",ref:r,children:[(0,E.jsxs)("div",{className:(0,Ut.clsx)("virtual-assistant__station",{"virtual-assistant__station--hidden":o.isHidden,"virtual-assistant__station--active":Boolean(c)}),children:[(0,E.jsx)("button",{className:"virtual-assistant__station__hide-button",title:"Hide assistant",onClick:()=>{n.assistantService.toggleAssistant()},children:(0,E.jsx)(ps,{})}),(0,E.jsx)("button",{className:"virtual-assistant__station__trigger",tabIndex:-1,onClick:l,title:o.isOpen?"Click to close assistant panel":(c?"Contextual support available.\n":"")+"Click to open Assistant...",children:(0,E.jsxs)("div",{className:"virtual-assistant__station__character",children:[(0,E.jsx)(ks,{className:"virtual-assistant__station__character__hat"}),(0,E.jsx)(Ds,{className:"virtual-assistant__station__character__glasses"}),(0,E.jsx)(Fs,{className:"virtual-assistant__station__character__beard"})]})}),(0,E.jsx)("div",{className:"virtual-assistant__station__label",onClick:l,children:"Assistant"}),(0,E.jsx)(nn,{className:(0,Ut.clsx)("virtual-assistant__station__drag-handle",{"virtual-assistant__station__drag-handle--dragging":e}),menuProps:{elevation:7,classes:{root:"virtual-assistant__context-menu"}},content:(0,E.jsxs)(an,{children:[(0,E.jsx)(rn,{onClick:()=>{o.setIsOpen(!1),s((0,a.default)())},children:"Reset Position"}),(0,E.jsx)(rn,{onClick:()=>n.assistantService.hideAssistant(),children:"Hide Assistant"})]}),children:(0,E.jsx)("div",{className:"virtual-assistant__station__drag-handle__content",title:e?void 0:"Grab to drag assistant",children:(0,E.jsx)(Li,{})})})]},c?.uuid??""),!e&&o.isOpen&&!o.isHidden&&r.current&&(0,E.jsx)(An,{triggerElement:r.current})]})},i)}));var xn;!function(e){e.TOP_LEVEL_CONTAINER="application.top-level-container",e.BACKDROP_CONTAINER="application.backdrop-container"}(xn||(xn={}));const On=["Meta+KeyP","Control+KeyP","Meta+KeyS","Control+KeyS","F8","F10","F11","Meta+Shift+KeyP","Control+Backquote","Control+Shift+KeyN","Control+Shift+KeyP","Meta+KeyB","Control+KeyB","F7","Alt+F7","Control+Shift+KeyB","Alt+KeyZ"],wn=e=>(0,E.jsx)("div",{className:"backdrop__container","data-elementid":e.elementId}),Rn=(0,Ft.observer)((e=>{const{children:t}=e,i=Qt(),s=((e,t)=>{const i={};return e.forEach(((e,s)=>{e.length&&(i[s]={combinations:e,handler:t})})),i.INTERNAL__PLATFORM_NATIVE_KEYBOARD_COMMAND={combinations:On,handler:(e,t)=>{t.preventDefault()}},i})(i.keyboardShortcutsService.commandKeyMap,((e,t)=>{On.includes(e)&&t.preventDefault(),i.keyboardShortcutsService.dispatch(e)}));return(0,Xt.useEffect)((()=>{const e=function(e){const t=new Map;let i=null;return s=>{s instanceof KeyboardEvent&&((0,N.default)(Object.values(e).flatMap((e=>e.combinations.map((t=>({combination:t,handler:e.handler}))))).filter((e=>e.combination.length)),(e=>e.combination)).forEach((e=>{const i=e.combination,n=At(e.combination);if(!n.length)return;const a=t.get(i)??n,r=W(a[0]);It(s,r)?a.length>1?t.set(i,a.slice(1)):(t.delete(i),e.handler(i,s)):s.getModifierState(s.key)||t.delete(i)})),i&&clearTimeout(i),i=setTimeout(t.clear.bind(t),1e3))}}(s);return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}}),[s]),(0,Xt.useEffect)((()=>{const e=()=>{document.hidden&&(tt.logEvent_ApplicationUsageInterrupted(i.telemetryService),i.timeService.recordUsageInterruption())};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}}),[i]),(0,E.jsxs)(Pt,{children:[(0,E.jsx)(ni,{}),(0,E.jsx)(ii,{}),(0,E.jsx)(en,{}),(0,E.jsx)(In,{}),i.layoutService.showBackdrop&&(0,E.jsx)(Mt.Portal,{container:i.layoutService.getElementByID(i.layoutService.backdropContainerElementID??xn.BACKDROP_CONTAINER)??null,children:(0,E.jsx)(Lt.default,{className:"backdrop",open:i.layoutService.showBackdrop})}),(0,E.jsx)(Dt.DndProvider,{backend:Bt.HTML5Backend,children:(0,E.jsxs)("div",{className:"app__container","data-elementid":xn.TOP_LEVEL_CONTAINER,onContextMenu:e=>{e.stopPropagation(),e.preventDefault()},children:[(0,E.jsx)(wn,{elementId:xn.BACKDROP_CONTAINER}),t]})})]})})),kn={foreground:"#cccccc",background:"#1e1e1e",cursor:"#cccccc",selectionBackground:"#264f78",black:"#000000",red:"#cd3131",green:"#0dbc79",yellow:"#e5e510",blue:"#2472c8",magenta:"#bc3fbc",cyan:"#11a8cd",white:"#e5e5e5",brightBlack:"#666666",brightRed:"#f14c4c",brightGreen:"#23d18b",brightYellow:"#f5f543",brightBlue:"#3b8eea",brightMagenta:"#d670d6",brightCyan:"#29b8db",brightWhite:"#e5e5e5"},Pn={matchOverviewRuler:"#d186167e",activeMatchColorOverviewRuler:"#A0A0A0CC",matchBackground:"#62331c",activeMatchBackground:"#515C6A"},Mn=`\n${ht.BOLD}${ht.BRIGHT_BLUE}$purist${ht.RESET}\n${ht.BOLD}${ht.MAGENTA}❯${ht.RESET} `,Ln="❯ ";class Fn extends _t{instance;resizer;renderer;searcher;webLinkProvider;_TEMPORARY__onKeyListener;_TEMPORARY__onDataListener;command="";commandHistory=[];currentCommandSearchString="";commandHistoryNavigationIdx=void 0;isRunningCommand=!1;setupState=Ge.create();constructor(e){super(e),this.instance=new at.Terminal({allowProposedApi:!0,fontSize:12,letterSpacing:2,fontWeight:400,fontWeightBold:700,fontFamily:`"${ut}", Menlo, Consolas, monospace`,tabStopWidth:2,theme:kn,overviewRulerWidth:14,scrollback:1e5,convertEol:!0,scrollOnUserInput:!1}),this.resizer=new ot.FitAddon,this.searcher=new ct.SearchAddon,this.renderer=new dt.WebglAddon}setup(e){if(this.setupState.hasCompleted)throw new U("Terminal is already set up");this.setupState.complete(),this.renderer.onContextLoss((()=>{this.renderer.dispose()})),this.instance.loadAddon(this.resizer),this.instance.loadAddon(this.searcher),this.instance.loadAddon(this.renderer),this.instance.loadAddon(new lt.Unicode11Addon),this.instance.unicode.activeVersion="11",this.instance.attachCustomKeyEventHandler((e=>xt(e,"Control+KeyF")||xt(e,"Meta+KeyF")?(e.preventDefault(),e.stopPropagation(),this.searchConfig.focus(),!1):!(xt(e,"Control+KeyC")&&this.instance.hasSelection()||xt(e,"Control+KeyV")))),this.webLinkProvider=e?.webLinkProvider?new rt.WebLinksAddon(e.webLinkProvider.handler,{urlRegex:e.webLinkProvider.regex}):new rt.WebLinksAddon,this.instance.loadAddon(this.webLinkProvider),(e?.commands??[]).forEach((e=>{[e.command,...e.aliases??[]].forEach((t=>{this.commandRegistry.has(t)?this.applicationStore.logService.warn(u.create(ye.TERMINAL_COMMAND_CONFIGURATION_CHECK__FAILURE),`Found multiple duplicated terminal commands '${t}'`):this.commandRegistry.set(t,e)}))})),this.searcher.onDidChangeResults((e=>{this.setSearchResultCount(e.resultCount),this.setSearchCurrentResultIndex(e.resultIndex)})),this._TEMPORARY__onKeyListener=this.instance.onKey((({key:e,domEvent:t})=>{var i,s;if("ArrowUp"!==t.code)if("ArrowDown"!==t.code)if(this.commandHistoryNavigationIdx=void 0,"Enter"===t.code){if(this.command.trim()){const e=this.command,[t,...i]=e.replaceAll(/\s+/g," ").split(" ");if(this.addCommandToHistory(this.command),!t)return;const s=this.commandRegistry.get(t);if(!s)return void this.fail(`command not found: ${t}`);if(this.isRunningCommand)return;this.isRunningCommand=!0,s.handler(i.map((e=>e.trim())),t,e).catch((()=>{})).finally((()=>{this.isRunningCommand=!1,this.isFlushed||this.abort()}))}}else if(xt(t,"Control+KeyD")||xt(t,"Control+KeyC")&&!this.instance.hasSelection())this.abort();else if("Backspace"===t.code)this.deleteFromCommand(t.altKey||t.ctrlKey?this.computeCursorJumpMovement(!0):-1);else if("Delete"===t.code)this.deleteFromCommand(t.altKey||t.ctrlKey?this.computeCursorJumpMovement(!1):1);else if("ArrowLeft"===t.code){const e=this.computeCursorMovement(t.altKey||t.ctrlKey?this.computeCursorJumpMovement(!0):-1);this.instance.scrollLines(e.scroll),this.instance.write(e.seq)}else if("ArrowRight"===t.code){const e=this.computeCursorMovement(t.altKey||t.ctrlKey?this.computeCursorJumpMovement(!1):1);this.instance.scrollLines(e.scroll),this.instance.write(e.seq)}else e.match(/^[A-Za-z0-9!@#$%^&*()\-_=+"':;,.<>/?[\]{}|\\~` ]$/)?this.writeToCommand(e):(i=t,s=this.applicationStore,s.layoutService.getElementByID(xn.TOP_LEVEL_CONTAINER)?.dispatchEvent(new KeyboardEvent(i.type,i)));else void 0!==this.commandHistoryNavigationIdx&&this.setCommandFromHistory(0===this.commandHistoryNavigationIdx?void 0:this.commandHistoryNavigationIdx-1);else this.setCommandFromHistory(void 0!==this.commandHistoryNavigationIdx?this.commandHistoryNavigationIdx+1:0)})),this._TEMPORARY__onDataListener=this.instance.onData((e=>{e.length>1&&!e.startsWith("")&&this.writeToCommand(e.replaceAll(/[^A-Za-z0-9!@#$%^&*()\-_=+"':;,.<>/?[\]{}|\\~` ]/g,"").trimEnd())}))}getCommandRange(){const e=this.instance.buffer.active,t=this.instance.cols,i=`${Ln}${this.command}`,s=`${Ln}${this.command.substring(0,t-2)}${this.command.length<t-2?" ".repeat(t-this.command.length-2):""}`;let n=0,a=0;for(let i=e.baseY+e.cursorY;i>-1;--i){if(W(e.getLine(i)).translateToString()===s){n=i,a+=(i===e.baseY+e.cursorY?e.cursorX:t)-2;break}a+=i===e.baseY+e.cursorY?e.cursorX:t}return{startY:n,startX:2,endY:n+(i.length-i.length%t)/t,endX:i.length%t,cursorIdx:a}}computeCursorJumpMovement(e){const t=this.getCommandRange();let i,s=!1;if(e)for(let e=t.cursorIdx-1;e>-1;--e){if(this.command.charAt(e).match(/\w/))s||(s=!0);else if(s){i=t.cursorIdx-e-1;break}}else for(let e=t.cursorIdx+1;e<this.command.length;++e){if(this.command.charAt(e).match(/\w/))s||(s=!0);else if(s){i=e-t.cursorIdx-1;break}}return void 0===i&&(i=e?t.cursorIdx:this.command.length-t.cursorIdx),e?-i:i}computeCursorMovement(e,t=!0){const i=this.instance.buffer.active,s=this.instance.cols,n=this.instance.rows,a=this.getCommandRange(),r=t?e<0?a.cursorIdx:this.command.length-a.cursorIdx:e,o=Math.min(Math.abs(e),r);let c=i.cursorX,l=i.cursorY,d=i.baseY+i.cursorY;e<0?(c=(s+(i.cursorX-o)%s)%s,l=i.cursorY-(o>i.cursorX?Math.ceil(o/s):0),d=l+i.baseY,l=Math.max(l,-1)):e>0&&(c=(i.cursorX+o)%s,l=i.cursorY+(i.cursorX+o>=s?Math.floor((i.cursorX+o)/s):0),d=l+i.baseY,l=Math.min(l,n-1));const u=d>i.viewportY+n?d-(i.viewportY+n):d<i.viewportY?d-i.viewportY:0;return{seq:mt(l+1,c+1),scroll:u}}writeToCommand(e){const t=this.getCommandRange(),i=this.command.slice(0,t.cursorIdx),s=this.command.slice(t.cursorIdx),n=this.computeCursorMovement(e.length,!1);this.instance.scrollLines(n.scroll),this.instance.write(e+s+n.seq),this.setCommand(i+e+s)}deleteFromCommand(e){const t=this.getCommandRange(),i=e<0?t.cursorIdx:this.command.length-t.cursorIdx,s=Math.min(Math.abs(e),i);let n,a,r;if(0===e)return;e<0?(n=this.command.slice(0,t.cursorIdx-s),a=this.command.slice(t.cursorIdx,this.command.length),r=-s):(n=this.command.slice(0,t.cursorIdx),a=this.command.slice(t.cursorIdx+s,this.command.length),r=0);const o=this.computeCursorMovement(r);this.instance.scrollLines(o.scroll),this.instance.write(mt(t.startY+1,t.startX+1)+n+a+" ".repeat(s)+o.seq),this.setCommand(n+a)}get isSetup(){return this.setupState.hasCompleted}isFocused(){return document.activeElement===this.instance.textarea}mount(e){if(!this.setupState.hasCompleted)throw new U("XTerm terminal has not been set up yet");this.instance.open(e)}dispose(){this.searcher.dispose(),this.resizer.dispose(),this.renderer.dispose(),this.webLinkProvider?.dispose(),this._TEMPORARY__onKeyListener?.dispose(),this._TEMPORARY__onDataListener?.dispose(),this.instance.dispose()}autoResize(){this.resizer.fit()}focus(){this.instance.focus()}addCommandToHistory(e){e!==this.commandHistory.at(0)&&this.commandHistory.unshift(e)}setCommandFromHistory(e){const t=void 0===e?this.currentCommandSearchString:this.commandHistory.filter((e=>e.startsWith(this.currentCommandSearchString))).at(e);if(void 0!==t){let i=this.getCommandRange();this.instance.write(mt(i.startY+1,i.startX+1)+t.padEnd(this.command.length)),this.command=t,i=this.getCommandRange(),this.instance.write(mt(i.endY+1,i.endX+1)),this.commandHistoryNavigationIdx=e}}setCommand(e){this.command=e,this.currentCommandSearchString=e,this.commandHistoryNavigationIdx=void 0}newCommand(){this.instance.write(Mn),this.setCommand("")}newSystemCommand(e){this.isRunningCommand||(this.command&&(this.abort(),this.newCommand()),this.instance.write(`${ht.DIM}(system: ${e})\n${ht.RESET}`))}flushScreen(){this.instance.write("c"),this.instance.reset()}get isFlushed(){const e=this.instance.buffer.active;let t=!0;for(let i=e.baseY+e.cursorY;i>-1;--i){const s=W(e.getLine(i)).translateToString();if(s.trim()){t=s!==Ln;break}}return""===this.command&&t}clear(){this.flushScreen(),this.instance.scrollToTop(),this.newCommand()}resetANSIStyling(){this.instance.write(ht.RESET)}showHelp(){var e;this.resetANSIStyling(),this.instance.scrollToBottom(),this.isFlushed||this.isRunningCommand||this.abort(),this.instance.write((e=this.commandRegistry,`\n${ht.BRIGHT_BLACK}+-------------------------------------------------------+${ht.RESET}\n${ht.BRIGHT_BLACK}|${ht.RESET} ${ht.BRIGHT_GREEN}[@@]${ht.RESET} "Hi! Welcome to the HELP menu of Pure IDE" ${ht.BRIGHT_BLACK}|${ht.RESET}\n${ht.BRIGHT_BLACK}|${ht.RESET} ${ht.BRIGHT_GREEN}/|__|\\${ht.RESET} ${ht.BRIGHT_BLACK}|${ht.RESET}\n${ht.BRIGHT_BLACK}+--${ht.RESET} ${ht.BRIGHT_GREEN}d b${ht.RESET} ${ht.BRIGHT_BLACK}-----------------------------------------------+${ht.RESET}\n\nFollowing is the list of supported commands:\n\n${(0,N.default)(Array.from(e.values()),(e=>e.command)).map((e=>`${ht.BRIGHT_GREEN}${e.command.padEnd(30)}${ht.RESET}${e.description}${e.aliases?.length?`\n${"".padEnd(30)}Aliases: ${e.aliases.join(", ")}`:""}\n${"".padEnd(30)}Usage: ${ht.DIM}${e.usage}${ht.RESET}`)).join("\n")}`)),this.abort()}showCommonANSIEscapeSequences(){this.resetANSIStyling(),this.instance.scrollToBottom(),this.isFlushed||this.isRunningCommand||this.abort(),this.instance.write(`\nCommon ANSI Escape Sequences for Styling:\n\n${Object.entries(ht).map((([e,t])=>`${t}${St(e).padEnd(20)}${ht.RESET} ${t.replace("","\\u001b")}`)).join("\n")}`),this.abort()}abort(){this.resetANSIStyling(),this.instance.write("\n"),this.newCommand(),this.instance.scrollToBottom(),this.isRunningCommand=!1}fail(e,t){t?.systemCommand&&this.newSystemCommand(t.systemCommand),this.instance.write(`\n${ht.RED}${e}${ht.RED}`),this.abort()}output(e,t){this.resetANSIStyling(),t?.clear&&!this.preserveLog||!t?.systemCommand||this.newSystemCommand(t.systemCommand),!this.preserveLog&&t?.clear?this.flushScreen():(this.preserveLog||this.isRunningCommand)&&this.instance.write("\n"),this.instance.write(e),this.resetANSIStyling(),this.instance.write("\n"),this.instance.scrollToBottom(),this.newCommand()}search(e){this.searcher.findNext(e,{decorations:Pn,regex:this.searchConfig.useRegex,wholeWord:this.searchConfig.matchWholeWord,caseSensitive:this.searchConfig.matchCaseSensitive,incremental:!0})}clearSearch(){this.searcher.clearDecorations(),this.instance.clearSelection(),this.setSearchText(""),this.setSearchResultCount(void 0),this.setSearchCurrentResultIndex(void 0)}findPrevious(){this.searcher.findPrevious(this.searchConfig.searchText,{decorations:Pn,regex:this.searchConfig.useRegex,wholeWord:this.searchConfig.matchWholeWord,caseSensitive:this.searchConfig.matchCaseSensitive})}findNext(){this.searcher.findNext(this.searchConfig.searchText,{decorations:Pn,regex:this.searchConfig.useRegex,wholeWord:this.searchConfig.matchWholeWord,caseSensitive:this.searchConfig.matchCaseSensitive})}getContent(){const e=this.instance.buffer.active,t=[];for(let i=0;i<e.length;++i){const s=W(e.getLine(i));t.push(s.translateToString())}return t.join("\n").trimEnd()}copy(){this.instance.hasSelection()?this.applicationStore.clipboardService.copyTextToClipboard(this.instance.getSelection()).catch(this.applicationStore.alertUnhandledError):this.applicationStore.notificationService.notifyWarning("Ther terminal has no selection to copy")}copyAll(){this.applicationStore.clipboardService.copyTextToClipboard(this.getContent()).catch(this.applicationStore.alertUnhandledError)}}class Dn{applicationStore;terminal;constructor(e){this.applicationStore=e,this.terminal=new Fn(e)}}const Bn="(unknown)";class jn{applicationStore;currentUser=Bn;constructor(e){(0,Ve.makeObservable)(this,{currentUser:Ve.observable,setCurrentUser:Ve.action}),this.applicationStore=e}get isAnonymous(){return this.currentUser===Bn}setCurrentUser(e){this.currentUser=e}}class Un{get localStorage(){return W(window.localStorage,"'window.localStorage' object is not available in non-web environment")}setItem(e,t){this.localStorage.setItem(e,t)}getItem(e){return this.localStorage.getItem(e)}removeItem(e){this.localStorage.removeItem(e)}clear(){this.localStorage.clear()}hasItem(e){return this.localStorage.hasItem(e)}}class Vn{storeIndex;storageService;data;constructor(e,t){this.storageService=e,this.storeIndex=t,this.data=this.storageService.getIndex(this.storeIndex)??{}}getValue(e){return this.data[e]}getNumericValue(e){const t=this.getValue(e);return void 0!==t?ae(t):void 0}getStringValue(e){const t=this.getValue(e);return void 0!==t?ne(t):void 0}getBooleanValue(e){const t=this.getValue(e);return void 0!==t?re(t):void 0}getObjectValue(e){const t=this.getValue(e);return void 0!==t?oe(t):void 0}hasValue(e){return $(this.data[e])}persistValue(e,t){void 0!==t?this.data[e]=t:delete this.data[e],this.storageService.updateIndex(this.storeIndex,this.data)}}class Gn{applicationStore;storage;data;constructor(e){this.applicationStore=e,this.storage=new Un;const t=this.storage.getItem(e.config.applicationStorageKey);this.data=t?z((()=>JSON.parse(t)))??{}:{}}getIndex(e){return this.data[e]}updateIndex(e,t){(0,y.default)(t)?delete this.data[e]:this.data[e]=t,this.storage.setItem(this.applicationStore.config.applicationStorageKey,JSON.stringify(this.data))}}class zn{applicationStore;plugins=[];constructor(e){this.applicationStore=e}registerPlugins(e){this.plugins=e}setup(){const e={userId:this.applicationStore.identityService.currentUser,appName:this.applicationStore.config.appName,appEnv:this.applicationStore.config.env,appVersion:this.applicationStore.config.appVersion,appSessionId:this.applicationStore.uuid,appStartTime:this.applicationStore.timeService.timestamp};this.plugins.forEach((t=>t.setup(e)))}logEvent(e,t){this.plugins.forEach((i=>i.logEvent(e,t)))}}class Hn{timestamp=Date.now();interruptions=[];recordUsageInterruption(){this.interruptions.push(Date.now())}finalizeTimingsRecord(e,t){const i=e.elapsed,s=e.startTime,n=s+i,a={...t??{},...Object.fromEntries(e.records),total:i};let r=0;for(const e of this.interruptions)if(e>=s&&e<=n)r++;else if(e>n)break;return r>0?{...a,__numberOfInteruptions:r}:a}}var $n;!function(e){e.DEFAULT_DARK="default-dark",e.LEGACY_LIGHT="legacy-light",e.HIGH_CONTRAST_LIGHT="hc-light"}($n||($n={}));const Yn={name:"Default Dark (default)",key:$n.DEFAULT_DARK,TEMPORARY__globalCSSClassName:"theme__default-dark",colors:{"data-access-overview.chart.access-granted":"#6a9955","data-access-overview.chart.access-approved":"#007acc","data-access-overview.chart.access-requested":"#fbbc05","data-access-overview.chart.access-not-granted":"#ea4646","data-access-overview.chart.unsupported-access":"#2d2d2d"}},Wn={name:"Legacy Light",key:$n.LEGACY_LIGHT,TEMPORARY__globalCSSClassName:"theme__legacy-light"},Kn={name:"High-Contrast Light",key:$n.HIGH_CONTRAST_LIGHT,TEMPORARY__globalCSSClassName:"theme__hc-light",colors:{"data-access-overview.chart.access-granted":"#52a31d","data-access-overview.chart.access-approved":"#3d8df5","data-access-overview.chart.access-requested":"#f5c518","data-access-overview.chart.access-not-granted":"#fa5343","data-access-overview.chart.unsupported-access":"#e1e7ea"}};var Jn;!function(e){e.COLOR_THEME="application.layout.colorTheme"}(Jn||(Jn={}));const Xn={[Jn.COLOR_THEME]:{defaultValue:$n.DEFAULT_DARK}};class qn{applicationStore;backdropContainerElementID;showBackdrop=!1;colorThemeRegistry=new Map;currentColorTheme;constructor(e){(0,Ve.makeObservable)(this,{currentColorTheme:Ve.observable.ref,TEMPORARY__isLightColorThemeEnabled:Ve.computed,backdropContainerElementID:Ve.observable,showBackdrop:Ve.observable,setBackdropContainerElementID:Ve.action,setShowBackdrop:Ve.action,setColorTheme:Ve.action}),this.applicationStore=e,this.colorThemeRegistry.set($n.DEFAULT_DARK,Yn),this.applicationStore.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraColorThemes?.()??[])).forEach((e=>{this.colorThemeRegistry.has(e.key)?this.applicationStore.logService.warn(u.create(ye.COLOR_THEME_CONFIGURATION_CHECK__FAILURE),`Found duplicated color themes with key '${e.key}'`):this.colorThemeRegistry.set(e.key,e)}));const t=this.applicationStore.settingService.getStringValue(Jn.COLOR_THEME)??$n.DEFAULT_DARK;this.currentColorTheme=W(this.colorThemeRegistry.get(t)),this.TEMPORARY__syncGlobalCSSClassName(this.currentColorTheme,void 0)}getElementByID(e){return document.querySelector(`[data-elementid='${e}']`)??void 0}setBackdropContainerElementID(e){this.backdropContainerElementID=e}setShowBackdrop(e){this.showBackdrop=e}get TEMPORARY__isLightColorThemeEnabled(){return this.currentColorTheme.key!==$n.DEFAULT_DARK}TEMPORARY__syncGlobalCSSClassName(e,t){t&&document.body.classList.remove(t.TEMPORARY__globalCSSClassName),document.body.classList.add(e.TEMPORARY__globalCSSClassName)}setColorTheme(e,t){const i=this.colorThemeRegistry.get(e);if(e===this.currentColorTheme.key||!i)return;const s=this.currentColorTheme;this.currentColorTheme=i,this.TEMPORARY__syncGlobalCSSClassName(i,s),t?.persist&&this.applicationStore.settingService.persistValue(Jn.COLOR_THEME,e)}getColor(e){return this.currentColorTheme.colors?.[e]??W(this.colorThemeRegistry.get($n.DEFAULT_DARK)).colors?.[e]??"transparent"}}class Qn{applicationStore;constructor(e){this.applicationStore=e}async copyTextToClipboard(e,t){await navigator.clipboard.writeText(e).catch((e=>{this.applicationStore.notificationService.notifyError(e)})).finally((()=>{t?.notifySuccessMessage&&this.applicationStore.notificationService.notifySuccess(t.notifySuccessMessage)}))}}class Zn{navigator;constructor(e){this.navigator=e}}class ea{applicationStore;storage;registry=new Map;constructor(e){this.applicationStore=e,this.storage=new Vn(this.applicationStore.storageService,"application-settings-storage"),this.applicationStore.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraSettingConfigurationEntries?.()??[])).forEach((e=>{this.registry.has(e.key)?this.applicationStore.logService.warn(u.create(ye.SETTING_CONFIGURATION_CHECK__FAILURE),`Found duplicated setting with key '${e.key}'`):this.registry.set(e.key,e)}))}getNumericValue(e){const t=this.storage.getValue(e)??this.registry.get(e)?.defaultValue;if(te(t))return t;this.applicationStore.logService.warn(u.create(ye.SETTING_RETRIVE_FAILURE),`Can't retrieve numeric value for setting '${e}'`)}getStringValue(e){const t=this.storage.getValue(e)??this.registry.get(e)?.defaultValue;if(ee(t))return t;this.applicationStore.logService.warn(u.create(ye.SETTING_RETRIVE_FAILURE),`Can't retrieve string value for setting '${e}'`)}getBooleanValue(e){const t=this.storage.getValue(e)??this.registry.get(e)?.defaultValue;if(ie(t))return t;this.applicationStore.logService.warn(u.create(ye.SETTING_RETRIVE_FAILURE),`Can't retrieve boolean value for setting '${e}'`)}getObjectValue(e){const t=this.storage.getValue(e)??this.registry.get(e)?.defaultValue;if(se(t))return t;this.applicationStore.logService.warn(u.create(ye.SETTING_RETRIVE_FAILURE),`Can't retrieve object value for setting '${e}'`)}persistValue(e,t){const i=this.registry.get(e)?.defaultValue;this.storage.persistValue(e,void 0!==i&&(0,S.default)(i,t)?void 0:t)}}class ta{goToLocation(e,t){throw new V("Navigator does not support this operation")}reload(e){throw new V("Navigator does not support this operation")}goToAddress(e,t){throw new V("Navigator does not support this operation")}visitAddress(e){throw new V("Navigator does not support this operation")}generateAddress(e){throw new V("Navigator does not support this operation")}updateCurrentLocation(e){throw new V("Navigator does not support this operation")}updateCurrentZone(e){throw new V("Navigator does not support this operation")}resetZone(){throw new V("Navigator does not support this operation")}getCurrentBaseAddress(e){throw new V("Navigator does not support this operation")}getCurrentAddress(){throw new V("Navigator does not support this operation")}getCurrentLocation(){throw new V("Navigator does not support this operation")}getCurrentLocationParameters(){throw new V("Navigator does not support this operation")}getCurrentLocationParameterValue(e){throw new V("Navigator does not support this operation")}getCurrentZone(){throw new V("Navigator does not support this operation")}blockNavigation(e,t,i){throw new V("Navigator does not support this operation")}unblockNavigation(){throw new V("Navigator does not support this operation")}get isNavigationBlocked(){throw new V("Navigator does not support this operation")}INTERNAL__internalizeTransientParameter(e){throw new V("Navigator does not support this operation")}}class ia{applicationStore;storage;constructor(e){this.applicationStore=e,this.storage=new Vn(this.applicationStore.storageService,"application-user-data-storage")}getNumericValue(e){const t=this.storage.getValue(e);if(te(t))return t;this.applicationStore.logService.warn(u.create(ye.USER_DATA_RETRIEVE_FAILURE),`Can't retrieve numeric value for user data '${e}'`)}getStringValue(e){const t=this.storage.getValue(e);if(ee(t))return t;this.applicationStore.logService.warn(u.create(ye.USER_DATA_RETRIEVE_FAILURE),`Can't retrieve string value for user data '${e}'`)}getBooleanValue(e){const t=this.storage.getValue(e);if(ie(t))return t;this.applicationStore.logService.warn(u.create(ye.USER_DATA_RETRIEVE_FAILURE),`Can't retrieve boolean value for user data '${e}'`)}getObjectValue(e){const t=this.storage.getValue(e);if(se(t))return t;this.applicationStore.logService.warn(u.create(ye.USER_DATA_RETRIEVE_FAILURE),`Can't retrieve object value for user data '${e}'`)}persistValue(e,t){this.storage.persistValue(e,t)}}class sa{uuid=(0,a.default)();extensionStates=[];config;pluginManager;initState=Ge.create();platform;timeService;logService;storageService;userDataService;settingService;alertService;notificationService;identityService;commandService;keyboardShortcutsService;layoutService;clipboardService;terminalService;navigationService;navigationContextService;documentationService;assistantService;eventService;telemetryService;tracerService;constructor(e,t){this.config=e,this.pluginManager=t,this.timeService=new Hn,this.logService=new h,this.logService.registerPlugins(t.getLoggerPlugins()),this.storageService=new Gn(this),this.settingService=new ea(this),this.userDataService=new ia(this),this.alertService=new Jt(this),this.notificationService=new Zs,this.identityService=new jn(this),this.layoutService=new qn(this),this.clipboardService=new Qn(this),this.terminalService=new Dn(this),this.commandService=new st(this),this.keyboardShortcutsService=new nt(this),this.navigationService=new Zn(new ta),this.navigationContextService=new it(this),this.documentationService=new Be(this),this.assistantService=new Ze(this),this.eventService=new et,this.eventService.registerEventNotifierPlugins(t.getEventNotifierPlugins()),this.telemetryService=new zn(this),this.telemetryService.registerPlugins(t.getTelemetryServicePlugins()),this.telemetryService.setup(),this.tracerService=new He,this.tracerService.registerPlugins(t.getTracerServicePlugins()),this.extensionStates=this.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraApplicationExtensionStateBuilders?.()??[])).map((e=>e(this))).filter($)}async initialize(e){if(this.initState.isInInitialState){this.initState.inProgress();try{if(this.platform)throw new U("Platform is already configured");this.platform=e,this.navigationService=new Zn(e.getNavigator()),await e.initialize(),this.initState.pass()}catch(e){G(e),this.notificationService.notifyError(e),this.logService.error(u.create(ye.APPLICATION_LOAD__FAILURE),"Failed to load Legend application"),this.initState.fail()}}else this.notificationService.notifyIllegalState("Application store is re-initialized")}alertUnhandledError=e=>{this.logService.error(u.create(ye.ILLEGAL_APPLICATION_STATE_OCCURRED),"Encountered unhandled error in component tree",e),this.notificationService.notifyIllegalState(e.message)};guardUnhandledError=e=>()=>{e().catch(this.alertUnhandledError)}}class na{}class aa extends na{debug(e,...t){console.debug(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}info(e,...t){console.info(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}warn(e,...t){console.warn(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}error(e,...t){console.error(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}}class ra{config;logger;pluginManager;basePresets=[];basePlugins=[];baseAddress;pluginRegister;_isConfigured=!1;constructor(e){this.pluginManager=e,this.logger=new aa}setup(e){return this.baseAddress=Q(e.baseAddress,"Can't setup application: 'baseAddress' is missing or empty"),this.pluginRegister=e.pluginRegister,this._isConfigured=!0,this}withBasePresets(e){return this.basePresets=e,this.withPresets([])}withBasePlugins(e){return this.basePlugins=e,this.withPlugins([])}withPresets(e){return this.pluginManager.usePresets([...this.basePresets,...e]),this}withPlugins(e){return this.pluginManager.usePlugins([...this.basePlugins,...e]),this}async fetchApplicationConfiguration(e){const t=new Se;let i,s;try{i=await t.get(`${window.location.origin}${e}config.json`)}catch(e){G(e),this.logger.error(u.create(ye.APPLICATION_CONFIGURATION__FAILURE),e)}Y(i,"Can't fetch Legend application configuration");try{s=await t.get(`${window.location.origin}${e}version.json`)}catch(e){G(e),this.logger.error(u.create(ye.APPLICATION_CONFIGURATION__FAILURE),e)}return Y(s,"Can't fetch Legend application version"),[await this.configureApplication({configData:i,versionData:s,baseAddress:e}),i.extensions??{}]}async loadDocumentationRegistryData(e){const t={};await Promise.all([...e.documentationRegistryEntries,...this.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraDocumentationRegistryEntries?.()??[]))].map((async e=>{try{const i=new Se(e.simple?{options:{credentials:"omit"}}:{}),s=await i.get(Q(e.url,"Can't load documentation registry: 'url' field is missing or empty"));Y(s.entries,"Can't load documentation registry data: 'entries' field is missing");const n=e.includes?.map((e=>new RegExp(`^${e.trim().replace(/[\^$\\.+?()[\]{}|]/g,"\\$&").replace(/\*/g,".*")}$`)));Object.entries(s.entries).forEach((([e,i])=>{n&&!n.some((t=>t.test(e)))||t[e]||(t[e]=i)}))}catch(e){G(e),this.logger.warn(u.create(ye.DOCUMENTATION_FETCH__FAILURE),e)}}))),e.keyedDocumentationEntries=[...De(t),...e.keyedDocumentationEntries]}async start(){Y(this._isConfigured,"Legend application has not been configured properly. Make sure to run setup() before start()");try{const[e,t]=await this.fetchApplicationConfiguration(this.baseAddress);this.config=e,this.pluginRegister?.(this.pluginManager,this.config),this.pluginManager.configure(t),this.pluginManager.install(),await Promise.all([this.loadDocumentationRegistryData(e)]);const i=new sa(this.config,this.pluginManager);await Promise.all(this.pluginManager.getApplicationPlugins().flatMap((e=>e.getExtraApplicationSetups?.()??[])).map((e=>e(i)))),await this.loadApplication(i),this.logger.info(u.create(ye.APPLICATION_LOAD__SUCCESS),"Legend application loaded")}catch(e){throw G(e),this.logger.error(u.create(ye.APPLICATION_LOAD__FAILURE),"Failed to load Legend application"),e}}}const oa="legend-application-root",ca=JSON.parse('{"name":"@finos/legend-application","version":"15.0.65","description":"Legend application core","keywords":["legend","legend-application","application","legend-application-core"],"homepage":"https://github.com/finos/legend-studio/tree/master/packages/legend-application","bugs":{"url":"https://github.com/finos/legend-studio/issues"},"repository":{"type":"git","url":"https://github.com/finos/legend-studio.git","directory":"packages/legend-application"},"license":"Apache-2.0","sideEffects":false,"type":"module","exports":{".":"./lib/index.js","./browser":"./lib/browser.js","./test":"./lib/__test__.js","./lib/index.css":"./lib/index.css"},"module":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"yarn clean && yarn build:sass && yarn build:ts","build:sass":"cross-env INIT_CWD=$INIT_CWD node ../../scripts/workflow/buildSass.js","build:ts":"tsc --project ./tsconfig.build.json","clean":"npm-run-all clean:cache clean:lib","clean:cache":"rimraf \\"build\\"","clean:lib":"rimraf \\"lib\\"","dev":"npm-run-all --parallel dev:sass dev:ts","dev:sass":"sass style:lib --watch --load-path=../../node_modules/@finos/legend-art/scss","dev:ts":"tsc --watch --preserveWatchOutput","lint:js":"cross-env NODE_ENV=production eslint --cache --cache-location ./build/.eslintcache --report-unused-disable-directives --parser-options=project:\\"./tsconfig.json\\" \\"./src/**/*.{js,ts,tsx}\\"","publish:prepare":"node ../../scripts/release/preparePublishContent.js","publish:snapshot":"node ../../scripts/release/publishDevSnapshot.js","test":"jest","test:watch":"jest --watch"},"dependencies":{"@finos/legend-art":"workspace:*","@finos/legend-shared":"workspace:*","@types/react":"18.2.31","@types/react-dom":"18.2.14","@types/react-router-dom":"5.3.3","history":"5.3.0","mobx":"6.10.2","mobx-react-lite":"4.0.5","react":"18.2.0","react-dnd":"16.0.1","react-dnd-html5-backend":"16.0.1","react-dom":"18.2.0","react-router":"5.3.4","react-router-dom":"5.3.4","serializr":"3.0.2","xterm":"5.3.0","xterm-addon-fit":"0.8.0","xterm-addon-search":"0.13.0","xterm-addon-unicode11":"0.6.0","xterm-addon-web-links":"0.9.0","xterm-addon-webgl":"0.16.0"},"devDependencies":{"@finos/legend-dev-utils":"workspace:*","@jest/globals":"29.7.0","cross-env":"7.0.3","eslint":"8.52.0","jest":"29.7.0","npm-run-all":"4.1.5","rimraf":"5.0.5","sass":"1.69.4","typescript":"5.2.2"},"peerDependencies":{"react":"^18.0.0"},"publishConfig":{"directory":"build/publishContent"},"extensions":{"applicationPlugin":"@finos/legend-application-plugin-core","iframeEventNotifierPlugin":"@finos/legend-event-notifier-plugin-iframe"}}');class la extends o{}class da extends la{static NAME=ca.extensions.applicationPlugin;constructor(){super(da.NAME,ca.version)}install(e){e.registerApplicationPlugin(this)}getExtraApplicationSetups(){return[async e=>{(0,Ve.configure)({enforceActions:"observed"})}]}getExtraColorThemes(){return[Wn,Kn]}getExtraSettingConfigurationEntries(){return e=Xn,Object.entries(e).map((e=>({key:e[0],...e[1]})));var e}}class ua{appName;baseAddress;env;applicationStorageKey;documentationUrl;documentationLinkEntries=[];documentationRegistryEntries=[];keyedDocumentationEntries=[];contextualDocEntries=[];appVersion;appVersionBuildTime;appVersionCommitId;constructor(e){var t,i;this.baseAddress=e.baseAddress,this.appName=Q(e.configData.appName,"Can't configure application: 'appName' field is missing or empty"),this.env=Q(e.configData.env,"Can't configure application: 'env' field is missing or empty"),this.applicationStorageKey=e.configData.application?.storageKey??this.getDefaultApplicationStorageKey(),this.documentationUrl=e.configData.documentation?.url,this.documentationLinkEntries=(t=e.configData.documentation?.links??{},Object.entries(t).map((e=>({key:Q(e[0],"Documentation link 'key' is missing"),label:Q(e[1].label,"Documentation link 'label' is missing"),url:Q(e[1].url,"Documentation link 'url' is missing")})))),this.documentationRegistryEntries=e.configData.documentation?.registry??[],this.keyedDocumentationEntries=De(e.configData.documentation?.entries??{}),this.contextualDocEntries=(i=e.configData.documentation?.contextualEntries??{},Object.entries(i).map((e=>({context:e[0],documentationKey:e[1]})))),this.appVersion=W(e.versionData.version,"Can't collect application version: 'version' field is missing"),this.appVersionBuildTime=W(e.versionData.buildTime,"Can't collect application version: 'buildTime' field is missing"),this.appVersionCommitId=W(e.versionData.commitSHA,"Can't collect application version: 'commitSHA' field is missing")}static resolveAbsoluteUrl(e){return e.trim().startsWith("/")?window.location.origin+e:e}}class pa extends ua{pureUrl;useDynamicPureServer=!1;constructor(e){super(e),Y(e.configData.pure,"Can't configure application: 'pure' field is missing"),this.pureUrl=ua.resolveAbsoluteUrl(Q(e.configData.pure.url,"Can't configure application: 'pure.url' field is missing or empty")),void 0!==e.configData.pure.dynamic&&(this.useDynamicPureServer=Boolean(e.configData.pure.dynamic))}getDefaultApplicationStorageKey(){return"legend-pure-ide"}}class ha extends d{loggerPlugins=[];telemetryServicePlugins=[];tracerServicePlugins=[];eventNotifierPlugins=[];applicationPlugins=[];registerLoggerPlugin(e){this.loggerPlugins.push(e)}registerTelemetryServicePlugin(e){this.telemetryServicePlugins.push(e)}registerTracerServicePlugin(e){this.tracerServicePlugins.push(e)}registerEventNotifierPlugin(e){this.eventNotifierPlugins.push(e)}registerApplicationPlugin(e){this.applicationPlugins.push(e)}getLoggerPlugins(){return[...this.loggerPlugins]}getTelemetryServicePlugins(){return[...this.telemetryServicePlugins]}getTracerServicePlugins(){return[...this.tracerServicePlugins]}getEventNotifierPlugins(){return[...this.eventNotifierPlugins]}getApplicationPlugins(){return[...this.applicationPlugins]}}class ma extends ha{pureProtocolProcessorPlugins=[];pureGraphManagerPlugins=[];pureGraphPlugins=[];constructor(){super()}static create(){return new ma}registerPureProtocolProcessorPlugin(e){this.pureProtocolProcessorPlugins.push(e)}registerPureGraphManagerPlugin(e){this.pureGraphManagerPlugins.push(e)}registerPureGraphPlugin(e){this.pureGraphPlugins.push(e)}getPureGraphManagerPlugins(){return[...this.pureGraphManagerPlugins]}getPureProtocolProcessorPlugins(){return[...this.pureProtocolProcessorPlugins]}getPureGraphPlugins(){return[...this.pureGraphPlugins]}}const ga=JSON.parse('{"name":"@finos/legend-extension-dsl-diagram","version":"8.0.132","description":"Legend extension for Diagram DSL","keywords":["legend","legend-extension","dsl","dsl-diagram"],"homepage":"https://github.com/finos/legend-studio/tree/master/packages/legend-extension-dsl-diagram","bugs":{"url":"https://github.com/finos/legend-studio/issues"},"repository":{"type":"git","url":"https://github.com/finos/legend-studio.git","directory":"packages/legend-extension-dsl-diagram"},"license":"Apache-2.0","sideEffects":false,"type":"module","exports":{"./graph":"./lib/graph-manager/index.js","./application":"./lib/components/index.js","./application-studio":"./lib/components/studio/index.js","./lib/index.css":"./lib/index.css"},"module":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"yarn clean && yarn build:sass && yarn build:ts","build:sass":"cross-env INIT_CWD=$INIT_CWD node ../../scripts/workflow/buildSass.js","build:ts":"tsc --project ./tsconfig.build.json","clean":"npm-run-all clean:cache clean:lib","clean:cache":"rimraf \\"build\\"","clean:lib":"rimraf \\"lib\\"","dev":"npm-run-all --parallel dev:sass dev:ts","dev:sass":"sass style:lib --watch --load-path=../../node_modules/@finos/legend-art/scss","dev:ts":"tsc --watch --preserveWatchOutput","lint:js":"cross-env NODE_ENV=production eslint --cache --cache-location ./build/.eslintcache --report-unused-disable-directives --parser-options=project:\\"./tsconfig.json\\" \\"./src/**/*.{js,ts,tsx}\\"","publish:prepare":"node ../../scripts/release/preparePublishContent.js","publish:snapshot":"node ../../scripts/release/publishDevSnapshot.js","test":"jest","test:watch":"jest --watch"},"dependencies":{"@finos/legend-application":"workspace:*","@finos/legend-application-studio":"workspace:*","@finos/legend-art":"workspace:*","@finos/legend-graph":"workspace:*","@finos/legend-lego":"workspace:*","@finos/legend-shared":"workspace:*","@finos/legend-storage":"workspace:*","@types/react":"18.2.31","mobx":"6.10.2","mobx-react-lite":"4.0.5","react":"18.2.0","react-dnd":"16.0.1","react-dom":"18.2.0","serializr":"3.0.2"},"devDependencies":{"@finos/legend-dev-utils":"workspace:*","@jest/globals":"29.7.0","@testing-library/react":"14.0.0","cross-env":"7.0.3","eslint":"8.52.0","jest":"29.7.0","npm-run-all":"4.1.5","rimraf":"5.0.5","sass":"1.69.4","typescript":"5.2.2"},"peerDependencies":{"react":"^18.0.0"},"publishConfig":{"directory":"build/publishContent"},"extensions":{"graphManagerPreset":"@finos/legend-graph-manager-preset-dsl-diagram","pureProtocolProcessorPlugin":"@finos/legend-pure-protocol-processor-plugin-dsl-diagram","pureGraphManagerPlugin":"@finos/legend-pure-graph-manager-plugin-dsl-diagram","pureGraphPlugin":"@finos/legend-pure-graph-plugin-dsl-diagram","applicationStudioPlugin":"@finos/legend-application-studio-plugin-dsl-diagram"}}');class fa extends o{_$nominalTypeBrand;install(e){e.registerPureGraphManagerPlugin(this)}}const _a=e=>t=>(0,Ve.isObservable)(t)?t:e(t),ba=e=>(t,i)=>(0,Ve.isObservable)(t)?t:e(t,i),Ea=e=>{(0,Ve.makeObservable)(e,{_isDeleted:Ve.observable,_isDisposed:Ve.observable,name:Ve.observable,package:Ve.observable,isDeleted:Ve.computed,path:Ve.computed,_elementHashCode:Ve.computed,hashCode:Ve.computed,setIsDeleted:Ve.action,dispose:Ve.action})},va=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{content:Ve.observable.ref}),e))),Ta=_a((e=>(0,Ve.makeObservable)(e,{value:Ve.observable,valueForSerialization:Ve.computed})));var Sa=i(4485),Ca=i(3096);const ya=e=>Sa.sha1().update(e).digest("hex"),Na=e=>ya(e.filter($).map((e=>"string"==typeof e||"boolean"==typeof e||"number"==typeof e?ya(e):e.hashCode)).join(",")),Aa="*",Ia="::",xa="###",Oa="sourceInformation",wa=["$implicit"];var Ra,ka,Pa;!function(e){e.CORE="CORE",e.MAIN="ROOT",e.MODEL_GENERATION="MODEL_GENERATION_ROOT",e.SYSTEM="SYSTEM_ROOT",e.PROJECT_DEPENDENCY_ROOT="PROJECT_DEPENDENCY_ROOT"}(Ra||(Ra={})),function(e){e.STRING="String",e.BOOLEAN="Boolean",e.BINARY="Binary",e.NUMBER="Number",e.INTEGER="Integer",e.FLOAT="Float",e.DECIMAL="Decimal",e.DATE="Date",e.STRICTDATE="StrictDate",e.DATETIME="DateTime",e.STRICTTIME="StrictTime",e.LATESTDATE="LatestDate",e.BYTE="Byte"}(ka||(ka={})),function(e){e.Service_Test="serviceTest",e.Mapping_Test="mappingTest",e.Function_Test="functionTest"}(Pa||(Pa={}));const Ma=["meta::pure::metamodel::type","meta::pure::functions::date","meta::pure::profiles"];var La;!function(e){e.ANY="meta::pure::metamodel::type::Any",e.NIL="meta::pure::metamodel::type::Nil",e.PROFILE_DOC="meta::pure::profiles::doc",e.PROFILE_TEMPORAL="meta::pure::profiles::temporal",e.PROFILE="meta::pure::metamodel::extension::Profile",e.ENUMERATION="meta::pure::metamodel::type::Enumeration",e.MEASURE="meta::pure::metamodel::type::Measure",e.CLASS="meta::pure::metamodel::type::Class",e.ASSOCIATION="meta::pure::metamodel::relationship::Association",e.FUNCTION="meta::pure::metamodel::function::ConcreteFunctionDefinition",e.FLAT_DATA="meta::flatData::metamodel::FlatData",e.DATABASE="meta::relational::metamodel::Database",e.MAPPING="meta::pure::mapping::Mapping",e.SERVICE="meta::legend::service::metamodel::Service",e.CONNECTION="meta::pure::runtime::PackageableConnection",e.RUNTIME="meta::pure::runtime::PackageableRuntime",e.EXECUTION_ENVIRONMENT="meta::legend::service::metamodel::ExecutionEnvironmentInstance",e.FILE_GENERATION="meta::pure::generation::metamodel::GenerationConfiguration",e.GENERATION_SPECIFICATION="meta::pure::generation::metamodel::GenerationSpecification",e.SECTION_INDEX="meta::pure::metamodel::section::SectionIndex",e.DATA_ELEMENT="meta::pure::data::DataElement",e.SNOWFLAKE_APP="meta::external::function::activator::snowflakeApp::SnowflakeApp"}(La||(La={}));var Fa,Da;!function(e){e.BUSINESS_TEMPORAL="businesstemporal",e.PROCESSING_TEMPORAL="processingtemporal",e.BITEMPORAL="bitemporal"}(Fa||(Fa={})),function(e){e.ALL_VERSIONS="AllVersions",e.ALL_VERSIONS_IN_RANGE="AllVersionsInRange"}(Da||(Da={}));var Ba,ja;!function(e){e.CLASS="CLASS",e.STORE="STORE",e.MAPPING="MAPPING",e.RUNTIME="RUNTIME",e.FUNCTION="FUNCTION",e.FILE_GENERATION="FILE_GENERATION",e.SERVICE="SERVICE"}(Ba||(Ba={})),function(e){e.LET="meta::pure::functions::lang::letFunction",e.NEW="meta::pure::functions::meta::new",e.FROM="meta::pure::mapping::from"}(ja||(ja={}));var Ua;!function(e){e.INTERNAL__UNKNOWN_PACKAGEABLE_ELEMENT="INTERNAL__UNKNOWN_PACKAGEABLE_ELEMENT",e.INTERNAL__UNKNOWN_FUNCTION_ACTIVATOR="INTERNAL__UNKNOWN_FUNCTION_ACTIVATOR",e.PACKAGE="PACKAGE",e.PACKAGEABLE_ELEMENT="PACKAGEABLE_ELEMENT",e.PACKAGEABLE_ELEMENT_POINTER="PACKAGEABLE_ELEMENT_POINTER",e.PROFILE="PROFILE",e.TAG_POINTER="TAG_POINTER",e.STEREOTYPE_POINTER="STEREOTYPE_POINTER",e.TAGGED_VALUE="TAGGED_VALUE",e.ENUMERATION="ENUMERATION",e.ENUM_VALUE="ENUM_VALUE",e.CLASS="CLASS",e.PROPERTY="PROPERTY",e.PROPERTY_POINTER="PROPERTY_POINTER",e.MULTIPLICITY="MULTIPLICITY",e.CONSTRAINT="CONSTRAINT",e.DERIVED_PROPERTY="DERIVED_PROPERTY",e.ASSOCIATION="ASSOCIATION",e.FUNCTION="FUNCTION",e.MEASURE="MEASURE",e.UNIT="UNIT",e.FUNCTION_TEST_SUITE="FUNCTION_TEST_SUITE",e.FUNCTION_TEST="FUNCTION_TEST",e.FUNCTION_STORE_TEST_DATA="FUNCTION_STORE_TEST_DATA",e.FUNCTION_PARAMETER_VALUE="FUNCTION_PARAMETER_VALUE",e.ASSERT_FAIL="ASSERT_FAIL",e.ASSERT_PASS="ASSERT_PASS",e.EQUAL_TO_JSON_ASSERT_FAIL="EQUAL_TO_JSON_ASSERT_FAIL",e.EQUAL_TO="EQUAL_TO",e.EQUAL_TO_JSON="EQUAL_TO_JSON",e.EQUAL_TO_TDS="EQUAL_TO_TDS",e.SECTION_INDEX="SECTION_INDEX",e.SECTION="SECTION",e.IMPORT_AWARE_CODE_SECTION="IMPORT_AWARE_CODE_SECTION",e.DEFAULT_CODE_SECTION="DEFAULT_CODE_SECTION",e.RAW_LAMBDA="RAW_LAMBDA",e.RAW_VARIABLE="RAW_VARIABLE",e.RAW_INSTANCE_VALUE="RAW_INSTANCE_VALUE",e.BINDING_TRANSFORMER="BINDING_TRANSFORMER",e.INTERNAL__UNKNOWN_VALUE_SPECIFICATION="INTERNAL__UNKNOWN_VALUE_SPECIFICATION",e.INTERNAL__PROPAGATED_VALUE="INTERNAL__PROPAGATED_VALUE",e.VARIABLE_EXPRESSION="VARIABLE_EXPRESSION",e.EXPRESSION="EXPRESSION",e.FUNCTION_EXPRESSION="FUNCTION_EXPRESSION",e.SIMPLE_FUNCTION_EXPRESSION="SIMPLE_FUNCTION_EXPRESSION",e.ABSTRACT_PROPERTY_EXPRESSION="ABSTRACT_PROPERTY_EXPRESSION",e.INSTANCE_VALUE="INSTANCE_VALUE",e.PRIMITIVE_INSTANCE_VALUE="PRIMITIVE_INSTANCE_VALUE",e.ENUM_INSTANCE_VALUE="ENUM_INSTANCE_VALUE",e.KEY_EXPRESSION_INSTANCE_VALUE="KEY_EXPRESSION_INSTANCE_VALUE",e.KEY_EXPRESSION_VALUE="KEY_EXPRESSION_VALUE",e.RUNTIME_INSTANCE_VALUE="RUNTIME_INSTANCE_VALUE",e.PAIR_INSTANCE_VALUE="PAIR_INSTANCE_VALUE",e.MAPPING_INSTANCE_VALUE="MAPPING_INSTANCE_VALUE",e.PURE_LIST_INSTANCE_VALUE="PURE_LIST_INSTANCE_VALUE",e.COLLECTION_INSTANCE_VALUE="COLLECTION_INSTANCE_VALUE",e.LAMBDA_FUNCTION_INSTANCE_VALUE="LAMBDA_FUNCTION_INSTANCE_VALUE",e.FUNCTION_TYPE="FUNCTION_TYPE",e.LAMBDA_FUNCTION="LAMBDA_FUNCTION",e.ALLOY_SERIALIZATION_CONFIG_INSTANCE_VALUE="ALLOY_SERIALIZATION_CONFIG_INSTANCE_VALUE",e.ALLOY_SERIALIZATION_CONFIG="ALLOY_SERIALIZATION_CONFIG",e.ROOT_GRAPH_FETCH_TREE="ROOT_GRAPH_FETCH_TREE",e.PROPERTY_GRAPH_FETCH_TREE="PROPERTY_GRAPH_FETCH_TREE",e.SUBTYPE_GRAPH_FETCH_TREE="SUBTYPE_GRAPH_FETCH_TREE",e.SUBTYPE_GRAPH_FETCH_TREE_INSTANCE_VALUE="SUBTYPE_GRAPH_FETCH_TREE_INSTANCE_VALUE",e.PROPERTY_GRAPH_FETCH_TREE_INSTANCE_VALUE="PROEPRTY_GRAPH_FETCH_TREE_INSTANCE_VALUE",e.ROOT_GRAPH_FETCH_TREE_INSTANCE_VALUE="ROOT_GRAPH_FETCH_TREE_INSTANCE_VALUE",e.INTERNAL__UNKNOWN_STORE="INTERNAL__UNKNOWN_STORE",e.INTERNAL__UNKNOWN_CONNECTION="INTERNAL__UNKNOWN_CONNECTION",e.INTERNAL__UNKNOWN_PROPERTY_MAPPING="INTERNAL__UNKNOWN_PROPERTY_MAPPING",e.INTERNAL__UNKNOWN_CLASS_MAPPING="INTERNAL__UNKNOWN_CLASS_MAPPING",e.INTERNAL__UNKNOWN_MAPPING_INCLUDE="INTERNAL__UNKNOWN_MAPPING_INCLUDE",e.MAPPING="MAPPING",e.MAPPING_INCLUDE_MAPPING="MAPPING_INCLUDE_MAPPING",e.ASSOCIATION_IMPLEMENTATION="ASSOCIATION_IMPLEMENTATION",e.RELATIONAL_ASSOCIATION_IMPLEMENTATION="RELATIONAL_ASSOCIATION_IMPLEMENTATION",e.XSTORE_ASSOCIATION_IMPLEMENTATION="XSTORE_ASSOCIATION_IMPLEMENTATION",e.ENUMERATION_MAPPING="ENUMERATION_MAPPING",e.ENUM_VALUE_MAPPING="ENUM_VALUE_MAPPING",e.SET_IMPLEMENTATION="SET_IMPLEMENTATION",e.OPERATION_SET_IMPLEMENTATION="OPERATION_SET_IMPLEMENTATION",e.PURE_INSTANCE_SET_IMPLEMENTATION="PURE_INSTANCE_SET_IMPLEMENTATION",e.PROPERTY_MAPPING="PROPERTY_MAPPING",e.LOCAL_MAPPING_PROPERTY="LOCAL_MAPPING_PROPERTY",e.PURE_PROPERTY_MAPPING="PURE_PROPERTY_MAPPING",e.XSTORE_PROPERTY_MAPPING="XSTORE_PROPERTY_MAPPING",e.MAPPING_TEST_LEGACY="MAPPING_TEST_LEGACY",e.MAPPING_TEST_SUITE="MAPPING_TEST_SUITE",e.MAPPING_TEST="MAPPING_TEST",e.STORE_TEST_DATA="STORE_TEST_DATA",e.INPUT_DATA="INPUT_DATA",e.FLAT_DATA_INPUT_DATA="FLAT_DATA_INPUT_DATA",e.RELATIONAL_INPUT_DATA="RELATIONAL_INPUT_DATA",e.OBJECT_INPUT_DATA="OBJECT_INPUT_DATA",e.MAPPING_TEST_ASSERT="MAPPING_TEST_ASSERT",e.EXPECTED_OUTPUT_MAPPING_TEST_ASSERT="EXPECTED_OUTPUT_MAPPING_TEST_ASSERT",e.FILTER_MAPPING="FILTER_MAPPING",e.COLUMN_MAPPING="COLUMN_MAPPING",e.GROUP_BY_MAPPING="GROUP_BY_MAPPING",e.RUNTIME="RUNTIME",e.PACKAGEABLE_RUNTIME="PACKAGEABLE_RUNTIME",e.ENGINE_RUNTIME="ENGINE_RUNTIME",e.LEGACY_RUNTIME="LEGACY_RUNTIME",e.RUNTIME_POINTER="RUNTIME_POINTER",e.STORE_CONNECTIONS="STORE_CONNECTIONS",e.IDENTIFIED_CONNECTION="IDENTIFIED_CONNECTION",e.PACKAGEABLE_CONNECTION="PACKAGEABLE_CONNECTION",e.CONNECTION_POINTER="CONNECTION_POINTER",e.XML_MODEL_CONNECTION="XML_MODEL_CONNECTION",e.JSON_MODEL_CONNECTION="JSON_MODEL_CONNECTION",e.MODEL_CHAIN_CONNECTION="MODEL_CHAIN_CONNECTION",e.FLAT_DATA_CONNECTION="FLAT_DATA_CONNECTION",e.AGGREGATION_AWARE_MAPPING="AGGREGATION_AWARE_MAPPING",e.AGGREGATION_AWARE_SPECIFICATION="AGGREGATION_AWARE_SPECIFICATION",e.AGGREGATION_AWARE_SET_IMPLEMENTATION_CONTAINER="AGGREGATION_AWARE_SET_IMPLEMENTATION_CONTAINER",e.AGGREGATE_FUNCTION="AGGREGATE_FUNCTION",e.GROUP_BY_FUNCTION="GROUP_BY_FUNCTION",e.GENERATION_TREE="GENERATION_TREE",e.GENERATION_TREE_NODE="GENERATION_TREE_NODE",e.FILE_GENERATION="FILE_GENERATION",e.CONFIGURATION_PROPERTY="CONFIGURATION_PROPERTY",e.INTERNAL__UNKNOWN_EMBEDDED_DATA="INTERNAL__UNKNOWN_EMBEDDED_DATA",e.EXTERNAL_FORMAT_DATA="EXTERNAL_FORMAT_DATA",e.MODEL_STORE_DATA="MODEL_STORE_DATA",e.MODEL_DATA="MODEL_DATA",e.MODEL_EMBEDDED_DATA="MODEL_EMBEDDED_DATA",e.MODEL_INSTANCE_DATA="MODEL_INSTANCE_DATA",e.DATA_ELEMENT_REFERENCE="DATA_ELEMENT_REFERENCE",e.DATA_ELEMENT="DATA_ELEMENT",e.RELATIONAL_CSV_DATA="RELATIONAL_CSV_DATA",e.RELATIONAL_TDS="RELATIONAL_TDS",e.RELATIONAL_CSV_DATA_TABLE="RELATIONAL_CSV_DATA_TABLE",e.BINDING="BINDING",e.SCHEMA_SET="SCHEMA_SET",e.SCHEMA="SCHEMA",e.MODEL_UNIT="MODEL_UNIT",e.URL_STREAM="URL_STREAM",e.EXTERNAL_FORMAT_CONNECTION="EXTERNAL_FORMAT_CONNECTION",e.SERVICE="SERVICE",e.SERVICE_OWNER="SERVICE_OWNER",e.SERVICE_PURE_EXECUTION="SERVICE_PURE_EXECUTION",e.SERVICE_PURE_SINGLE_EXECUTION="SERVICE_PURE_SINGLE_EXECUTION",e.SERVICE_KEYED_EXECUTION_PARAMETER="SERVICE_KEYED_EXECUTION_PARAMETER",e.SERVICE_PURE_MULTI_EXECUTION="SERVICE_PURE_MULTI_EXECUTION",e.SERVICE_TEST_CONTAINER="SERVICE_TEST_CONTAINER",e.SERVICE_LEGACY_SINGLE_EXECUTION_TEST="SERVICE_LEGACY_SINGLE_EXECUTION_TEST",e.SERVICE_LEGACY_KEYED_SINGLE_EXECUTION_TEST="SERVICE_LEGACY_KEYED_SINGLE_EXECUTION_TEST",e.SERVICE_LEGACY_MULTI_EXECUTION_TEST="SERVICE_LEGACY_MULTI_EXECUTION_TEST",e.SERVICE_CONNECTION_TEST_DATA="SERVICE_CONNECTION_TEST_DATA",e.SERVICE_TEST_DATA="SERVICE_TEST_DATA",e.SERVICE_TEST_SUITE="SERVICE_TEST_SUITE",e.SERVICE_TEST="SERVICE_TEST",e.SERVICE_PARAMETER_VALUE="SERVICE_PARAMETER_VALUE",e.SERVICE_POST_VALIDATION="SERVICE_POST_VALIDATION",e.SERVICE_POST_VALIDATION_ASSERTION="SERVICE_POST_VALIDATION_ASSERTION",e.EXECUTION_ENVIRONMENT_INSTANCE="EXECUTION_ENVIRONMENT_INSTANCE",e.SINGLE_EXECUTION_PARAMETER="SINGLE_EXECUTION_PARAMETER",e.MULTI_EXECUTION_PARAMETER="MULTI_EXECUTION_PARAMETER",e.INTERNAL__UNKNOWN_DATASOURCE_SPECIFICATION="INTERNAL__UNKNOWN_DATASOURCE_SPECIFICATION",e.INTERNAL__UNKNOWN_AUTHENTICATION_STRATEGY="INTERNAL__UNKNOWN_AUTHENTICATION_STRATEGY",e.INTERNAL__UNKNOWN_POST_PROCESSOR="INTERNAL__UNKNOWN_POST_PROCESSOR",e.DATABASE="DATABASE",e.DATABASE_SCHEMA="DATABASE_SCHEMA",e.DATABASE_JOIN="DATABASE_JOIN",e.DATABASE_FILTER="DATABASE_FILTER",e.DATBASE_VIEW="DATBASE_VIEW",e.DATABASE_SCHEMA_TABLE="DATABASE_SCHEMA_TABLE",e.DATABASE_TABLE_COLUMN="DATABASE_TABLE_COLUMN",e.RELATIONAL="RELATIONAL",e.RELATIONAL_OPERATION_DYNA_FUNC="RELATIONAL_OPERATION_DYNA_FUNC",e.RELATIONAL_OPERATION_ELEMENTS_WITH_JOINS="RELATIONAL_OPERATION_ELEMENTS_WITH_JOINS",e.RELATIONAL_OPERATION_LITERAL="RELATIONAL_OPERATION_LITERAL",e.RELATIONAL_OPERATION_LITERAL_LIST="RELATIONAL_OPERATION_LITERAL_LIST",e.RELATIONAL_OPERATION_TABLE_ALIAS_COLUMN="RELATIONAL_OPERATION_TABLE_ALIAS_COLUMN",e.RELATIONAL_OPERATION_TABLE_POINTER="RELATIONAL_OPERATION_TABLE_POINTER",e.RELATIONAL_OPERATION_JOIN_POINTER="RELATIONAL_OPERATION_JOIN_POINTER",e.RELATIONAL_DATATYPE_VARCHAR="RELATIONAL_DATATYPE_VARCHAR",e.RELATIONAL_DATATYPE_CHAR="RELATIONAL_DATATYPE_CHAR",e.RELATIONAL_DATATYPE_VARBINARY="RELATIONAL_DATATYPE_VARBINARY",e.RELATIONAL_DATATYPE_BINARY="RELATIONAL_DATATYPE_BINARY",e.RELATIONAL_DATATYPE_BIT="RELATIONAL_DATATYPE_BIT",e.RELATIONAL_DATATYPE_INTEGER="RELATIONAL_DATATYPE_INTEGER",e.RELATIONAL_DATATYPE_BIGINT="RELATIONAL_DATATYPE_BIGINT",e.RELATIONAL_DATATYPE_SMALLINT="RELATIONAL_DATATYPE_SMALLINT",e.RELATIONAL_DATATYPE_TINYINT="RELATIONAL_DATATYPE_TINYINT",e.RELATIONAL_DATATYPE_NUMERIC="RELATIONAL_DATATYPE_NUMERIC",e.RELATIONAL_DATATYPE_DECIMAL="RELATIONAL_DATATYPE_DECIMAL",e.RELATIONAL_DATATYPE_DOUBLE="RELATIONAL_DATATYPE_DOUBLE",e.RELATIONAL_DATATYPE_FLOAT="RELATIONAL_DATATYPE_FLOAT",e.RELATIONAL_DATATYPE_REAL="RELATIONAL_DATATYPE_REAL",e.RELATIONAL_DATATYPE_DATE="RELATIONAL_DATATYPE_DATE",e.RELATIONAL_DATATYPE_TIMESTAMP="RELATIONAL_DATATYPE_TIMESTAMP",e.RELATIONAL_DATATYPE_OTHER="RELATIONAL_DATATYPE_OTHER",e.RELATIONAL_DATATYPE_SEMISTRUCTURED="RELATIONAL_DATATYPE_SEMISTRUCTURED",e.RELATIONAL_DATATYPE_JSON="RELATIONAL_DATATYPE_JSON",e.ROOT_RELATIONAL_INSTANCE_SET_IMPLEMENTATION="ROOT_RELATIONAL_INSTANCE_SET_IMPLEMENTATION",e.RELATIONAL_INSTANCE_SET_IMPLEMENTATION="RELATIONAL_INSTANCE_SET_IMPLEMENTATION",e.REALTIONAL_PROPERTY_MAPPING="REALTIONAL_PROPERTY_MAPPING",e.EMBEDDED_REALTIONAL_PROPERTY_MAPPING="EMBEDDED_REALTIONAL_PROPERTY_MAPPING",e.INLINE_EMBEDDED_REALTIONAL_PROPERTY_MAPPING="INLINE_EMBEDDED_REALTIONAL_PROPERTY_MAPPING",e.OTHERWISE_EMBEDDED_REALTIONAL_PROPERTY_MAPPING="OTHERWISE_EMBEDDED_REALTIONAL_PROPERTY_MAPPING",e.BUSINESS_MILESTONING="BUSINESS_MILESTONING",e.BUSINESS_SNAPSHOT_MILESTONING="BUSINESS_SNAPSHOT_MILESTONING",e.PROCESSING_MILESTONING="PROCESSING_MILESTONING",e.RELATIONAL_DATABASE_CONNECTION="RELATIONAL_DATABASE_CONNECTION",e.STATIC_DATASOURCE_SPECIFICATION="STATIC_DATASOURCE_SPECIFICATION",e.LOCAL_H2_DATASOURCE_SPECIFICATION="LOCAL_H2_DATASOURCE_SPECIFICATION",e.EMBEDDED_H2_DATASOURCE_SPECIFICATION="EMBEDDED_H2_DATASOURCE_SPECIFICATION",e.SNOWFLAKE_DATASOURCE_SPECIFICATION="SNOWFLAKE_DATASOURCE_SPECIFICATION",e.REDSHIFT_DATASOURCE_SPECIFICATION="REDSHIFT_DATASOURCE_SPECIFICATION",e.BIGQUERY_DATASOURCE_SPECIFICATION="BIGQUERY_DATASOURCE_SPECIFICATION",e.DATABRICKS_DATASOURCE_SPECIFICATION="DATABRICKS_DATASOURCE_SPECIFICATION",e.SPANNER_DATASOURCE_SPECIFICATION="SPANNER_DATASOURCE_SPECIFICATION",e.TRINO_DATASOURCE_SPECIFICATION="TRINO_DATASOURCE_SPECIFICATION",e.TRINO_SSL_SPECIFICATION="TRINO_SSL_SPECIFICATION",e.DELEGRATED_KEREBEROS_AUTHENTICATION_STRATEGY="DELEGRATED_KEREBEROS_AUTHENTICATION_STRATEGY",e.DEFAULT_H2_AUTHENTICATION_STRATEGY="DEFAULT_H2_AUTHENTICATION_STRATEGY",e.SNOWFLAKE_PUBLIC_AUTHENTICATION_STRATEGY="SNOWFLAKE_PUBLIC_AUTHENTICATION_STRATEGY",e.API_TOKEN_AUTHENTICATION_STRATEGY="API_TOKEN_AUTHENTICATION_STRATEGY",e.GCP_APPLICATION_DEFAULT_CREDENTIALS_AUTHENTICATION_STRATEGY="GCP_APPLICATION_DEFAULT_CREDENTIALS_AUTHENTICATION_STRATEGY",e.USERNAME_PASSWORD_AUTHENTICATION_STRATEGY="USERNAME_PASSWORD_AUTHENTICATION_STRATEGY",e.OAUTH_AUTHENTICATION_STRATEGY="OAUTH_AUTHENTICATION_STRATEGY",e.GCP_WORKLOAD_IDENTITY_FEDERATION_AUTHENTICATION_STRATEGY="GCP_WORKLOAD_IDENTITY_FEDERATION_AUTHENTICATION_STRATEGY",e.MIDDLE_TIER_USERNAME_PASSWORD_AUTHENTICATION_STRATEGY="MIDDLE_TIER_USERNAME_PASSWORD_AUTHENTICATION_STRATEGY",e.TRINO_DELEGATED_KERBEROS_AUTHENTICATION_STRATEGY="TRINO_KEREBEROS_AUTHENTICATION_STRATEGY",e.MAPPER_POST_PROCESSOR="MAPPER_POST_PROCESSOR",e.SCHEMA_MAPPER="SCHEMA_MAPPER",e.TABLE_MAPPER="TABLE_MAPPER",e.FLAT_DATA="FLAT_DATA",e.FLAT_DATA_SECTION="FLAT_DATA_SECTION",e.FLAT_DATA_PROPERTY="FLAT_DATA_PROPERTY",e.FLAT_DATA_ROOT_RECORD_TYPE="FLAT_DATA_ROOT_RECORD_TYPE",e.FLAT_DATA_RECORD_TYPE="FLAT_DATA_RECORD_TYPE",e.FLAT_DATA_RECORD_FIELD="FLAT_DATA_RECORD_FIELD",e.FLAT_DATA_STRING="FLAT_DATA_STRING",e.FLAT_DATA_BOOLEAN="FLAT_DATA_BOOLEAN",e.FLAT_DATA_NUMBER="FLAT_DATA_NUMBER",e.FLAT_DATA_INTEGER="FLAT_DATA_INTEGER",e.FLAT_DATA_FLOAT="FLAT_DATA_FLOAT",e.FLAT_DATA_DECIMAL="FLAT_DATA_DECIMAL",e.FLAT_DATA_DATE="FLAT_DATA_DATE",e.FLAT_DATA_DATE_TIME="FLAT_DATA_DATE_TIME",e.FLAT_DATA_STRICT_DATE="FLAT_DATA_STRICT_DATE",e.FLAT_DATA_INSTANCE_SET_IMPLEMENTATION="FLAT_DATA_INSTANCE_SET_IMPLEMENTATION",e.FLAT_DATA_PROPERTY_MAPPING="FLAT_DATA_PROPERTY_MAPPING",e.FLAT_DATA_ASSOCIATION_IMPLEMENTATION="FLAT_DATA_ASSOCIATION_IMPLEMENTATION",e.FLAT_DATA_ASSOCIATION_PROPERTY_MAPPING="FLAT_DATA_ASSOCIATION_PROPERTY_MAPPING",e.EMBEDDED_FLAT_DATA_PROPERTY_MAPPING="EMBEDDED_FLAT_DATA_PROPERTY_MAPPING",e.FLAT_DATA_SECTION_POINTER="FLAT_DATA_SECTION_POINTER",e.SNOWFLAKE_APP="SNOWFLAKE_APP"}(Ua||(Ua={}));const Va=e=>{return i={excludeKeys:e=>e.toLowerCase().endsWith(Oa.toLowerCase())},Z(se(t=e),"Can't hash non-object value"),Ca(t,i);var t,i},Ga=(e,t)=>Na([e?Va(e):"",t?Va(t):""]),za=(e,t)=>[Ua.PACKAGEABLE_ELEMENT_POINTER,e??"",t].map(ya).join(",");class Ha{stereotypes=[];taggedValues=[]}class $a extends Ha{name}class Ya extends $a{_UUID=(0,a.default)();_isDeleted=!1;_isDisposed=!1;package;constructor(e){super(),this.name=e}get isDeleted(){return this._isDeleted}setIsDeleted(e){this._isDeleted=e}get path(){if(!this.package)return this.name;const e=this.package.path;return e?`${e}${Ia}${this.name}`:this.name}dispose(){this._isDisposed=!0;try{this.hashCode}catch{}}get _elementHashCode(){return Na([Ua.PACKAGEABLE_ELEMENT,this.path])}get hashCode(){if(this._isDisposed)throw new U(`Element '${this.path}' is already disposed`);return this._elementHashCode}}class Wa extends Ya{}class Ka extends Wa{_subclasses=[];_generatedMilestonedProperties=[];properties=[];propertiesFromAssociations=[];derivedProperties=[];generalizations=[];constraints=[];dispose(){super.dispose(),this._subclasses=[],this.generalizations.forEach((e=>{const t=e.value.rawType;t._isDisposed||(t._subclasses=t._subclasses.filter((e=>!e._isDisposed)))}))}get _elementHashCode(){return Na([Ua.CLASS,this.path,Na(this.properties),Na(this.derivedProperties),Na(this.generalizations.map((e=>e.ownerReference.valueForSerialization??""))),Na(this.constraints),Na(this.stereotypes.map((e=>e.pointerHashCode))),Na(this.taggedValues)])}accept_PackageableElementVisitor(e){return e.visit_Class(this)}}class Ja extends Wa{}class Xa extends Ja{values=[];get _elementHashCode(){return Na([Ua.ENUMERATION,this.path,Na(this.values),Na(this.stereotypes.map((e=>e.pointerHashCode))),Na(this.taggedValues)])}accept_PackageableElementVisitor(e){return e.visit_Enumeration(this)}}class qa extends Ja{measure;conversionFunction;constructor(e,t,i){super(e),this.measure=t,this.conversionFunction=i}get hashCode(){return Na([Ua.UNIT,this.measure.path,this.conversionFunction??""])}accept_PackageableElementVisitor(e){throw new V}}class Qa extends Wa{canonicalUnit;nonCanonicalUnits=[];get _elementHashCode(){return Na([Ua.MEASURE,this.path,this.canonicalUnit??"",Na(this.nonCanonicalUnits)])}accept_PackageableElementVisitor(e){return e.visit_Measure(this)}}class Za extends Ya{children=[];get path(){return this.package?super.path:""}get hashCode(){return""}accept_PackageableElementVisitor(e){return e.visit_Package(this)}}class er{_OWNER;parserName;elements=[];constructor(e,t){this.parserName=e,this._OWNER=t}get hashCode(){return Na([Ua.SECTION,this.parserName,Na(this.elements.map((e=>e.valueForSerialization??"")))])}}class tr extends er{imports=[];get hashCode(){return Na([Ua.IMPORT_AWARE_CODE_SECTION,super.hashCode,Na(this.imports.map((e=>e.valueForSerialization??"")))])}}class ir extends er{get hashCode(){return Na([Ua.DEFAULT_CODE_SECTION,super.hashCode])}}class sr{_UUID=(0,a.default)()}class nr extends sr{ownerReference;constructor(e){super(),this.ownerReference=e}}class ar extends sr{value;constructor(e){super(),this.value=e}}class rr extends ar{constructor(e){super(e)}static create(e){return new rr(e)}get valueForSerialization(){return this.value.path}}const or=_a((e=>(0,Ve.makeObservable)(e,{name:Ve.observable,value:Ve.observable.ref,hashCode:Ve.computed}))),cr=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{type:Ve.observable,generationOutputPath:Ve.observable,scopeElements:Ve.observable,configurationProperties:Ve.observable,_elementHashCode:Ve.override}),e.scopeElements.forEach((e=>{e instanceof ar&&Ta(e)})),e.configurationProperties.forEach(or),e))),lr=_a((e=>((0,Ve.makeObservable)(e,{id:Ve.observable,hashCode:Ve.computed}),Ta(e.generationElement),e))),dr=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{generationNodes:Ve.observable,fileGenerations:Ve.observable,_elementHashCode:Ve.override}),e.generationNodes.forEach(lr),e.fileGenerations.forEach(Ta),e)));class ur{_OWNER;included;constructor(e,t){this._OWNER=e,this.included=t}}class pr extends ur{storeSubstitutions=[];get hashCode(){return Na([Ua.MAPPING_INCLUDE_MAPPING,this.included.valueForSerialization??"",R(this.storeSubstitutions)?.original.valueForSerialization??"",R(this.storeSubstitutions)?.substitute.valueForSerialization??""])}}class hr{}class mr extends hr{expectedOutput;constructor(e){super(),this.expectedOutput=yt(e)}get hashCode(){return Na([Ua.EXPECTED_OUTPUT_MAPPING_TEST_ASSERT,this.expectedOutput])}}class gr{}var fr,_r;!function(e){e.JSON="JSON",e.XML="XML"}(fr||(fr={}));class br extends gr{sourceClass;inputType;data;constructor(e,t,i){super(),this.sourceClass=e,this.inputType=t,this.data=t===fr.JSON?yt(i):i}get hashCode(){return Na([Ua.OBJECT_INPUT_DATA,this.sourceClass.valueForSerialization??"",this.inputType,this.data])}}class Er extends gr{sourceFlatData;data;constructor(e,t){super(),this.sourceFlatData=e,this.data=t}get hashCode(){return Na([Ua.FLAT_DATA_INPUT_DATA,za(Ba.STORE,this.sourceFlatData.valueForSerialization??""),this.data])}}!function(e){e.SQL="SQL",e.CSV="CSV"}(_r||(_r={}));class vr extends gr{database;data;inputType;constructor(e,t,i){super(),this.database=e,this.data=t,this.inputType=i}get hashCode(){return Na([Ua.RELATIONAL_INPUT_DATA,this.database.valueForSerialization??"",this.data,this.inputType])}}class Tr{}class Sr extends Tr{mappings=[];connectionStores=[];connections=[];get hashCode(){return Na([Ua.ENGINE_RUNTIME,Na(this.mappings.map((e=>za(Ba.MAPPING,e.valueForSerialization??"")))),Na(this.connectionStores),Na(this.connections.filter((e=>e.storeConnections.length)))])}}class Cr extends Tr{packageableRuntime;constructor(e){super(),this.packageableRuntime=e}get hashCode(){return Na([Ua.RUNTIME_POINTER,this.packageableRuntime.valueForSerialization??""])}}const yr=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,hashCode:Ve.computed}),Ta(e.type),e))),Nr=_a((e=>(0,Ve.makeObservable)(e,{body:Ve.observable.ref,parameters:Ve.observable.ref,hashCode:Ve.computed}))),Ar=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,multiplicity:Ve.observable,hashCode:Ve.computed}),Ta(e.type),e)));class Ir{observerContext;constructor(e){this.observerContext=e}visit_RawLambda(e){Nr(e)}visit_RawVariableExpression(e){Ar(e)}visit_RawPrimitiveInstanceValue(e){yr(e)}}ba(((e,t)=>(e.accept_RawValueSpecificationVisitor(new Ir(t)),e)));class xr{_correspondingPrimitiveType;constructor(e){this._correspondingPrimitiveType=e}}class Or extends xr{trueString;falseString;get hashCode(){return Na([Ua.FLAT_DATA_BOOLEAN,this.trueString??"",this.falseString??""])}}class wr extends xr{get hashCode(){return Na([Ua.FLAT_DATA_STRING])}}class Rr extends xr{get hashCode(){return Na([Ua.FLAT_DATA_NUMBER])}}class kr extends xr{dateFormat;timeZone;get hashCode(){return Na([Ua.FLAT_DATA_DATE,this.dateFormat?Na(this.dateFormat):"",this.timeZone??""])}}class Pr extends xr{fields=[];get hashCode(){return Na([Ua.FLAT_DATA_RECORD_TYPE,Na(this.fields)])}}const Mr=ba(((e,t)=>(Vd(e,t),(0,Ve.makeObservable)(e,{flatData:Ve.observable,sectionName:Ve.observable,hashCode:Ve.computed}),e))),Lr=_a((e=>((0,Ve.makeObservable)(e,{label:Ve.observable,flatDataDataType:Ve.observable,optional:Ve.observable,address:Ve.observable,hashCode:Ve.computed}),(e=>{e instanceof Or?(0,Ve.makeObservable)(e,{trueString:Ve.observable,falseString:Ve.observable,hashCode:Ve.computed}):e instanceof wr||e instanceof Rr?(0,Ve.makeObservable)(e,{hashCode:Ve.computed}):e instanceof kr?(0,Ve.makeObservable)(e,{dateFormat:Ve.observable,timeZone:Ve.observable,hashCode:Ve.computed}):e instanceof Pr&&_a(Fr)(e)})(e.flatDataDataType),e)));function Fr(e){return(0,Ve.makeObservable)(e,{fields:Ve.observable,hashCode:Ve.computed}),e.fields.forEach(Lr),e}_a(Fr);const Dr=_a(Fr),Br=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,value:Ve.observable,hashCode:Ve.computed}),e))),jr=_a((e=>((0,Ve.makeObservable)(e,{driverId:Ve.observable,name:Ve.observable,sectionProperties:Ve.observable,recordType:Ve.observable,hashCode:Ve.computed}),e.sectionProperties.forEach(Br),e.recordType&&Dr(e.recordType),e))),Ur=(_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,pointerHashCode:Ve.computed}),Ta(e.ownerReference),e))),_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{sections:Ve.observable,_elementHashCode:Ve.override}),e.sections.forEach(jr),e)))),Vr=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable}),Ta(e.ownerReference),e))),Gr=ba(((e,t)=>(Xd(e,t),(0,Ve.makeObservable)(e,{filter:Ve.observable,hashCode:Ve.computed}),Vr(e.sourceRootRecordType),e.filter&&Nr(e.filter),e))),zr=ba(((e,t)=>(Vd(e,t),Xd(e,t),(0,Ve.makeObservable)(e,{rootInstanceSetImplementation:Ve.observable,hashCode:Ve.computed}),e))),Hr=ba(((e,t)=>(Vd(e,t),(0,Ve.makeObservable)(e,{transformer:Ve.observable,transform:Ve.observable,hashCode:Ve.computed}),Nr(e.transform),e))),$r=_a((e=>((0,Ve.makeObservable)(e,{data:Ve.observable,hashCode:Ve.computed}),Ta(e.sourceFlatData),e))),Yr=_a((e=>((0,Ve.makeObservable)(e,{url:Ve.observable,hashCode:Ve.computed}),e)));class Wr{}class Kr extends Wr{serverPrincipal;get hashCode(){return Na([Ua.DELEGRATED_KEREBEROS_AUTHENTICATION_STRATEGY,this.serverPrincipal?.toString()??""])}}class Jr extends Wr{get hashCode(){return Na([Ua.DEFAULT_H2_AUTHENTICATION_STRATEGY])}}class Xr extends Wr{apiToken;constructor(e){super(),this.apiToken=e}get hashCode(){return Na([Ua.API_TOKEN_AUTHENTICATION_STRATEGY,this.apiToken])}}class qr extends Wr{oauthKey;scopeName;constructor(e,t){super(),this.oauthKey=e,this.scopeName=t}get hashCode(){return Na([Ua.OAUTH_AUTHENTICATION_STRATEGY,this.oauthKey,this.scopeName])}}class Qr extends Wr{privateKeyVaultReference;passPhraseVaultReference;publicUserName;constructor(e,t,i){super(),this.privateKeyVaultReference=e,this.passPhraseVaultReference=t,this.publicUserName=i}get hashCode(){return Na([Ua.SNOWFLAKE_PUBLIC_AUTHENTICATION_STRATEGY,this.privateKeyVaultReference,this.passPhraseVaultReference,this.publicUserName])}}class Zr extends Wr{get hashCode(){return Na([Ua.GCP_APPLICATION_DEFAULT_CREDENTIALS_AUTHENTICATION_STRATEGY])}}class eo extends Wr{serviceAccountEmail;additionalGcpScopes=[];constructor(e,t=[]){super(),this.serviceAccountEmail=e,this.additionalGcpScopes=t}get hashCode(){return Na([Ua.GCP_WORKLOAD_IDENTITY_FEDERATION_AUTHENTICATION_STRATEGY,this.serviceAccountEmail,Na(this.additionalGcpScopes)])}}class to extends Wr{baseVaultReference;userNameVaultReference;passwordVaultReference;constructor(e,t){super(),this.userNameVaultReference=e,this.passwordVaultReference=t}get hashCode(){return Na([Ua.USERNAME_PASSWORD_AUTHENTICATION_STRATEGY,this.baseVaultReference?.toString()??"",this.userNameVaultReference,this.passwordVaultReference])}}class io extends Wr{vaultReference;constructor(e){super(),this.vaultReference=e}get hashCode(){return Na([Ua.MIDDLE_TIER_USERNAME_PASSWORD_AUTHENTICATION_STRATEGY,this.vaultReference])}}class so extends Wr{kerberosRemoteServiceName;kerberosUseCanonicalHostname;constructor(e,t){super(),this.kerberosRemoteServiceName=e,this.kerberosUseCanonicalHostname=t}get hashCode(){return Na([Ua.TRINO_DELEGATED_KERBEROS_AUTHENTICATION_STRATEGY,this.kerberosRemoteServiceName,this.kerberosUseCanonicalHostname.toString()])}}class no{}class ao extends no{host;port;databaseName;constructor(e,t,i){super(),this.host=e,this.port=t,this.databaseName=i}get hashCode(){return Na([Ua.STATIC_DATASOURCE_SPECIFICATION,this.host,this.port.toString(),this.databaseName])}}class ro extends no{hostname;port;protocol;httpPath;constructor(e,t,i,s){super(),this.hostname=e,this.port=t,this.protocol=i,this.httpPath=s}get hashCode(){return Na([Ua.DATABRICKS_DATASOURCE_SPECIFICATION,this.hostname,this.port,this.protocol,this.httpPath])}}class oo extends no{databaseName;directory;autoServerMode;constructor(e,t,i){super(),this.databaseName=e,this.directory=t,this.autoServerMode=i}get hashCode(){return Na([Ua.EMBEDDED_H2_DATASOURCE_SPECIFICATION,this.databaseName,this.directory,this.autoServerMode.toString()])}}class co extends no{testDataSetupCsv;testDataSetupSqls=[];get hashCode(){return Na([Ua.LOCAL_H2_DATASOURCE_SPECIFICATION,this.testDataSetupCsv??"",Na(this.testDataSetupSqls)])}}class lo extends no{accountName;region;warehouseName;databaseName;cloudType;quotedIdentifiersIgnoreCase;proxyHost;proxyPort;nonProxyHosts;organization;accountType;role;enableQueryTags;constructor(e,t,i,s){super(),this.region=t,this.warehouseName=i,this.databaseName=s,this.accountName=e}get hashCode(){return Na([Ua.SNOWFLAKE_DATASOURCE_SPECIFICATION,this.accountName,this.region,this.warehouseName,this.databaseName,this.cloudType??"",this.proxyHost??"",this.proxyPort??"",this.nonProxyHosts??"",this.organization??"",this.accountType??"",this.role??"",this.quotedIdentifiersIgnoreCase?.toString()??"",this.enableQueryTags?.toString()??""])}}class uo extends no{clusterID;databaseName;host;port;region;endpointURL;constructor(e,t,i,s,n,a){super(),this.clusterID=n,this.region=a,this.host=s,this.databaseName=e,this.endpointURL=t,this.port=i}get hashCode(){return Na([Ua.REDSHIFT_DATASOURCE_SPECIFICATION,this.databaseName,this.endpointURL,this.port.toString(),this.clusterID,this.host,this.region])}}class po extends no{projectId;defaultDataset;proxyHost;proxyPort;constructor(e,t){super(),this.projectId=e,this.defaultDataset=t}get hashCode(){return Na([Ua.BIGQUERY_DATASOURCE_SPECIFICATION,this.projectId,this.defaultDataset,this.proxyHost??"",this.proxyPort??""])}}class ho extends no{projectId;instanceId;databaseId;proxyHost;proxyPort;constructor(e,t,i,s,n){super(),this.projectId=e,this.instanceId=t,this.databaseId=i,this.proxyHost=s,this.proxyPort=n}get hashCode(){return Na([Ua.SPANNER_DATASOURCE_SPECIFICATION,this.projectId,this.instanceId,this.databaseId,this.proxyHost??"",this.proxyPort??""])}}class mo extends no{host;port;sslSpecification;catalog;schema;clientTags;constructor(e,t,i){super(),this.host=e,this.port=t,this.sslSpecification=i}get hashCode(){return Na([Ua.TRINO_DATASOURCE_SPECIFICATION,this.host,this.port.toString(),this.sslSpecification,this.catalog??"",this.schema??"",this.clientTags??""])}}class go{}class fo extends go{_UUID=(0,a.default)();from;to;constructor(e,t){super(),this.from=e,this.to=t}get hashCode(){return Na([this.from,this.to])}}class _o extends fo{get hashCode(){return Na([super.hashCode,Ua.SCHEMA_MAPPER])}}class bo extends fo{schema;constructor(e,t,i){super(e,t),this.schema=i}get hashCode(){return Na([super.hashCode,Ua.TABLE_MAPPER,this.schema])}}class Eo{_UUID=(0,a.default)()}class vo extends Eo{mappers=[];get hashCode(){return Na([Ua.MAPPER_POST_PROCESSOR,Na(this.mappers)])}}const To="{target}",So="default";class Co{}class yo extends Co{}class No extends yo{}class Ao extends No{name;parameters=[];constructor(e){super(),this.name=e}get hashCode(){return Na([Ua.RELATIONAL_OPERATION_DYNA_FUNC,this.name,Na(this.parameters)])}}var Io;!function(e){e.INNER="INNER",e.LEFT_OUTER="LEFT_OUTER",e.RIGHT_OUTER="RIGHT_OUTER",e.OUTER="OUTER"}(Io||(Io={}));const xo=e=>[e].concat(e.children.length?xo(e.children[0]):[]);class Oo extends Co{relationalOperationElement;joinTreeNode;get hashCode(){return Na([Ua.RELATIONAL_OPERATION_ELEMENTS_WITH_JOINS,Na(this.joinTreeNode?xo(this.joinTreeNode):[]),this.relationalOperationElement??""])}}class wo extends Co{relation;name;database;isSelfJoinTarget=!1;get hashCode(){throw new V}}class Ro extends Co{alias;column;columnName;get hashCode(){return Na([Ua.RELATIONAL_OPERATION_TABLE_ALIAS_COLUMN,this.alias.isSelfJoinTarget?this.alias.relation.selfJoinPointerHashCode:this.alias.relation.pointerHashCode,this.alias.isSelfJoinTarget?To:this.alias.name,this.column.value.name])}}class ko extends Co{value;constructor(e){super(),this.value=e}get hashCode(){return Na([Ua.RELATIONAL_OPERATION_LITERAL,"number"==typeof this.value?this.value.toString():this.value])}}class Po extends Co{values=[];get hashCode(){return Na([Ua.RELATIONAL_OPERATION_LITERAL_LIST,Na(this.values)])}}class Mo extends Co{owner;name;type;nullable;get hashCode(){return Na([Ua.DATABASE_TABLE_COLUMN,this.name,this.nullable?.toString()??"",this.type])}}class Lo{}class Fo extends Lo{infinityDate}class Do{}class Bo extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_BIGINT])}}class jo extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_SMALLINT])}}class Uo extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_TINYINT])}}class Vo extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_INTEGER])}}class Go extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_FLOAT])}}class zo extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_DOUBLE])}}class Ho extends Do{size;constructor(e){super(),this.size=e}get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_VARCHAR,this.size.toString()])}}class $o extends Do{size;constructor(e){super(),this.size=e}get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_CHAR,this.size.toString()])}}class Yo extends Do{size;constructor(e){super(),this.size=e}get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_VARBINARY,this.size.toString()])}}class Wo extends Do{precision;scale;constructor(e,t){super(),this.precision=e,this.scale=t}get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_DECIMAL,this.precision.toString(),this.scale.toString()])}}class Ko extends Do{precision;scale;constructor(e,t){super(),this.precision=e,this.scale=t}get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_NUMERIC,this.precision.toString(),this.scale.toString()])}}class Jo extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_TIMESTAMP])}}class Xo extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_VARCHAR])}}class qo extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_BIT])}}class Qo extends Do{size;constructor(e){super(),this.size=e}get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_BINARY,this.size.toString()])}}class Zo extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_REAL])}}class ec extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_SEMISTRUCTURED])}}class tc extends Do{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_JSON])}}class ic extends nr{ownerReference;constructor(e){super(e),this.ownerReference=e}}class sc extends ic{value;constructor(e,t){super(e),this.value=t}get pointerHashCode(){return[Ua.RELATIONAL_OPERATION_TABLE_POINTER,this.ownerReference.valueForSerialization??"",this.value.schema.name,this.value.name].map(ya).join(",")}get selfJoinPointerHashCode(){return[Ua.RELATIONAL_OPERATION_TABLE_POINTER,this.ownerReference.valueForSerialization??"",So,To].map(ya).join(",")}}class nc extends ic{value;constructor(e,t){super(e),this.value=t}get pointerHashCode(){return[Ua.RELATIONAL_OPERATION_TABLE_POINTER,this.ownerReference.valueForSerialization??"",this.value.schema.name,this.value.name].map(ya).join(",")}get selfJoinPointerHashCode(){return[Ua.RELATIONAL_OPERATION_TABLE_POINTER,this.ownerReference.valueForSerialization??"",So,To].map(ya).join(",")}}const ac=_a((e=>((0,Ve.makeObservable)(e,{packageableElementIncludes:Ve.observable,packageableElementExcludes:Ve.observable,hashCode:Ve.computed}),e.packageableElementIncludes.forEach(Ta),e.packageableElementExcludes.forEach(Ta),e))),rc=(_a((e=>(Pd(e),(0,Ve.makeObservable)(e,{schemaSet:Ve.observable,schemaId:Ve.observable,contentType:Ve.observable,modelUnit:Ve.observable,_elementHashCode:Ve.override}),e.schemaSet&&Ta(e.schemaSet),ac(e.modelUnit),e))),_a((e=>((0,Ve.makeObservable)(e,{binding:Ve.observable,hashCode:Ve.computed}),Ta(e.binding),e)))),oc=_a((e=>((0,Ve.makeObservable)(e,{url:Ve.observable,hashCode:Ve.computed}),e))),cc=(_a((e=>(gu(e),(0,Ve.makeObservable)(e,{externalSource:Ve.observable,hashCode:Ve.computed}),oc(e.externalSource),e))),_a((e=>(0,Ve.makeObservable)(e,{id:Ve.observable,location:Ve.observable,content:Ve.observable,hashCode:Ve.computed}))));_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{format:Ve.observable,schemas:Ve.observable,_elementHashCode:Ve.override}),e.schemas.forEach(cc),e)));class lc extends Eo{content;get hashCode(){return Na([Ua.INTERNAL__UNKNOWN_POST_PROCESSOR,Va(this.content)])}}class dc extends no{content;get hashCode(){return Na([Ua.INTERNAL__UNKNOWN_DATASOURCE_SPECIFICATION,Va(this.content)])}}class uc extends Wr{content;get hashCode(){return Na([Ua.INTERNAL__UNKNOWN_AUTHENTICATION_STRATEGY,Va(this.content)])}}const pc=_a((e=>e instanceof Bo||e instanceof jo||e instanceof Uo||e instanceof Vo||e instanceof Go||e instanceof zo||e instanceof Jo||e instanceof Date||e instanceof Xo||e instanceof qo||e instanceof Zo||e instanceof ec||e instanceof tc?(0,Ve.makeObservable)(e,{hashCode:Ve.computed}):e instanceof Ho||e instanceof $o||e instanceof Yo||e instanceof Qo?(0,Ve.makeObservable)(e,{size:Ve.observable,hashCode:Ve.computed}):e instanceof Wo||e instanceof Ko?(0,Ve.makeObservable)(e,{precision:Ve.observable,scale:Ve.observable,hashCode:Ve.computed}):e)),hc=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,type:Ve.observable,nullable:Ve.observable,hashCode:Ve.computed}),pc(e.type),e))),mc=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,pointerHashCode:Ve.computed,selfJoinPointerHashCode:Ve.computed}),Ta(e.ownerReference),e))),gc=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,pointerHashCode:Ve.computed,selfJoinPointerHashCode:Ve.computed}),Ta(e.ownerReference),e))),fc=_a((e=>((0,Ve.makeObservable)(e,{relation:Ve.observable,name:Ve.observable,database:Ve.observable,isSelfJoinTarget:Ve.observable}),(e=>{e instanceof nc?gc(e):e instanceof sc&&mc(e)})(e.relation),e))),_c=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,parameters:Ve.observable,hashCode:Ve.computed}),e.parameters.forEach(Nc),e))),bc=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable}),Ta(e.ownerReference),e))),Ec=_a((e=>((0,Ve.makeObservable)(e,{alias:Ve.observable,column:Ve.observable,columnName:Ve.observable,hashCode:Ve.computed}),fc(e.alias),bc(e.column),e))),vc=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable}),Ta(e.ownerReference),e))),Tc=_a((e=>((0,Ve.makeObservable)(e,{alias:Ve.observable,children:Ve.observable,joinType:Ve.observable,hashCode:Ve.computed}),e.alias&&fc(e.alias),e.children.forEach(Tc),vc(e.join),e))),Sc=_a((e=>((0,Ve.makeObservable)(e,{relationalOperationElement:Ve.observable,joinTreeNode:Ve.observable,hashCode:Ve.computed}),e.relationalOperationElement&&Nc(e.relationalOperationElement),e.joinTreeNode&&Tc(e.joinTreeNode),e))),Cc=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,hashCode:Ve.computed}),e.value instanceof Co&&Nc(e.value),e))),yc=_a((e=>((0,Ve.makeObservable)(e,{values:Ve.observable,hashCode:Ve.computed}),e.values.forEach(Cc),e)));function Nc(e){return e instanceof Ao?_c(e):e instanceof wo?fc(e):e instanceof Ro?Ec(e):e instanceof Mo?hc(e):e instanceof ko?Cc(e):e instanceof Po?yc(e):e instanceof Oo?Sc(e):e}const Ac=_a((e=>e)),Ic=ba(((e,t)=>{if(e instanceof Fo)return Ac(e);const i=t.plugins.flatMap((e=>e.getExtraMilestoningObservers?.()??[]));for(const s of i){const i=s(e,t);if(i)return i}return e})),xc=_a((e=>((0,Ve.makeObservable)(e,{columnName:Ve.observable,relationalOperationElement:Ve.observable,hashCode:Ve.computed}),Nc(e.relationalOperationElement),e))),Oc=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable}),Ta(e.ownerReference),e))),wc=_a((e=>((0,Ve.makeObservable)(e,{joinTreeNode:Ve.observable,database:Ve.observable,filterName:Ve.observable,hashCode:Ve.computed}),e.joinTreeNode&&Tc(e.joinTreeNode),Oc(e.filter),e))),Rc=_a((e=>((0,Ve.makeObservable)(e,{columns:Ve.observable}),e.columns.forEach(Nc),e))),kc=e=>{(0,Ve.makeObservable)(e,{columns:Ve.observable,name:Ve.observable})},Pc=ba(((e,t)=>(kc(e),(0,Ve.makeObservable)(e,{primaryKey:Ve.observable,hashCode:Ve.computed}),e.primaryKey.forEach(hc),e.milestoning.forEach((e=>Ic(e,t))),e))),Mc=ba(((e,t)=>(kc(e),(0,Ve.makeObservable)(e,{primaryKey:Ve.observable,columnMappings:Ve.observable,filter:Ve.observable,distinct:Ve.observable,groupBy:Ve.observable,hashCode:Ve.computed}),e.primaryKey.forEach(hc),e.columnMappings.forEach(xc),e.filter&&wc(e.filter),e.groupBy&&Rc(e.groupBy),e))),Lc=ba(((e,t)=>((0,Ve.makeObservable)(e,{name:Ve.observable,tables:Ve.observable,views:Ve.observable,hashCode:Ve.computed}),e.tables.forEach((e=>Pc(e,t))),e.views.forEach((e=>Mc(e,t))),e))),Fc=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,operation:Ve.observable,hashCode:Ve.computed}),Nc(e.operation),e))),Dc=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,target:Ve.observable,aliases:Ve.observable,operation:Ve.observable,hashCode:Ve.computed}),e.target&&fc(e.target),Nc(e.operation),e))),Bc=ba(((e,t)=>(Ea(e),(0,Ve.makeObservable)(e,{schemas:Ve.observable,joins:Ve.observable,filters:Ve.observable,_elementHashCode:Ve.override}),e.schemas.forEach((e=>Lc(e,t))),e.joins.forEach(Dc),e.filters.forEach(Fc),e))),jc=ba(((e,t)=>(Vd(e,t),(0,Ve.makeObservable)(e,{transformer:Ve.observable,relationalOperation:Ve.observable.ref,bindingTransformer:Ve.observable,hashCode:Ve.computed}),e.bindingTransformer&&rc(e.bindingTransformer),e))),Uc=(e,t)=>(Xd(e,t),Vd(e,t),(0,Ve.makeObservable)(e,{id:Ve.observable,rootInstanceSetImplementation:Ve.observable,primaryKey:Ve.observable}),e.primaryKey.forEach(Nc),e),Vc=ba(Uc),Gc=ba(((e,t)=>(Uc(e,t),(0,Ve.makeObservable)(e,{inlineSetImplementation:Ve.observable}),nu(e.inlineSetImplementation,t),e))),zc=ba(((e,t)=>(Uc(e,t),(0,Ve.makeObservable)(e,{otherwisePropertyMapping:Ve.observable,hashCode:Ve.computed}),$d(e.otherwisePropertyMapping,t),e))),Hc=ba(((e,t)=>(Xd(e,t),(0,Ve.makeObservable)(e,{primaryKey:Ve.observable}),e.primaryKey.forEach(Nc),e))),$c=ba(((e,t)=>(Xd(e,t),(0,Ve.makeObservable)(e,{columnMappings:Ve.observable,filter:Ve.observable,distinct:Ve.observable,groupBy:Ve.observable,mainTableAlias:Ve.observable,superSetImplementationId:Ve.observable,hashCode:Ve.computed}),e.columnMappings.forEach(xc),e.filter&&wc(e.filter),e.groupBy&&Rc(e.groupBy),e.mainTableAlias&&fc(e.mainTableAlias),e))),Yc=_a((e=>((0,Ve.makeObservable)(e,{data:Ve.observable,inputType:Ve.observable,hashCode:Ve.computed}),Ta(e.database),e))),Wc=_a((e=>(0,Ve.makeObservable)(e,{host:Ve.observable,port:Ve.observable,databaseName:Ve.observable,hashCode:Ve.computed}))),Kc=_a((e=>(0,Ve.makeObservable)(e,{hostname:Ve.observable,port:Ve.observable,protocol:Ve.observable,httpPath:Ve.observable,hashCode:Ve.computed}))),Jc=_a((e=>(0,Ve.makeObservable)(e,{databaseName:Ve.observable,directory:Ve.observable,autoServerMode:Ve.observable,hashCode:Ve.computed}))),Xc=_a((e=>(0,Ve.makeObservable)(e,{testDataSetupCsv:Ve.observable,testDataSetupSqls:Ve.observable,hashCode:Ve.computed}))),qc=_a((e=>(0,Ve.makeObservable)(e,{accountName:Ve.observable,region:Ve.observable,warehouseName:Ve.observable,databaseName:Ve.observable,cloudType:Ve.observable,quotedIdentifiersIgnoreCase:Ve.observable,enableQueryTags:Ve.observable,proxyHost:Ve.observable,proxyPort:Ve.observable,nonProxyHosts:Ve.observable,organization:Ve.observable,accountType:Ve.observable,role:Ve.observable,hashCode:Ve.computed}))),Qc=_a((e=>(0,Ve.makeObservable)(e,{databaseName:Ve.observable,endpointURL:Ve.observable,port:Ve.observable,region:Ve.observable,clusterID:Ve.observable,host:Ve.observable,hashCode:Ve.computed}))),Zc=_a((e=>(0,Ve.makeObservable)(e,{projectId:Ve.observable,defaultDataset:Ve.observable,proxyHost:Ve.observable,proxyPort:Ve.observable,hashCode:Ve.computed}))),el=_a((e=>(0,Ve.makeObservable)(e,{projectId:Ve.observable,instanceId:Ve.observable,databaseId:Ve.observable,proxyHost:Ve.observable,proxyPort:Ve.observable,hashCode:Ve.computed}))),tl=_a((e=>(0,Ve.makeObservable)(e,{ssl:Ve.observable,trustStorePathVaultReference:Ve.observable,trustStorePasswordVaultReference:Ve.observable,hashCode:Ve.computed}))),il=_a((e=>((0,Ve.makeObservable)(e,{host:Ve.observable,port:Ve.observable,catalog:Ve.observable,schema:Ve.observable,clientTags:Ve.observable,hashCode:Ve.computed}),tl(e.sslSpecification),e))),sl=_a((e=>(0,Ve.makeObservable)(e,{content:Ve.observable.ref,hashCode:Ve.computed}))),nl=_a((e=>(0,Ve.makeObservable)(e,{serverPrincipal:Ve.observable,hashCode:Ve.computed}))),al=_a((e=>(0,Ve.makeObservable)(e,{hashCode:Ve.computed}))),rl=_a((e=>(0,Ve.makeObservable)(e,{apiToken:Ve.observable,hashCode:Ve.computed}))),ol=_a((e=>(0,Ve.makeObservable)(e,{oauthKey:Ve.observable,scopeName:Ve.observable,hashCode:Ve.computed}))),cl=_a((e=>(0,Ve.makeObservable)(e,{privateKeyVaultReference:Ve.observable,passPhraseVaultReference:Ve.observable,publicUserName:Ve.observable,hashCode:Ve.computed}))),ll=_a((e=>(0,Ve.makeObservable)(e,{hashCode:Ve.computed}))),dl=_a((e=>(0,Ve.makeObservable)(e,{hashCode:Ve.computed,userNameVaultReference:Ve.observable,passwordVaultReference:Ve.observable,baseVaultReference:Ve.observable}))),ul=_a((e=>(0,Ve.makeObservable)(e,{hashCode:Ve.computed,serviceAccountEmail:Ve.observable,additionalGcpScopes:Ve.observable}))),pl=_a((e=>(0,Ve.makeObservable)(e,{hashCode:Ve.computed,vaultReference:Ve.observable}))),hl=_a((e=>(0,Ve.makeObservable)(e,{hashCode:Ve.computed,kerberosRemoteServiceName:Ve.observable,kerberosUseCanonicalHostname:Ve.observable}))),ml=_a((e=>(0,Ve.makeObservable)(e,{content:Ve.observable.ref,hashCode:Ve.computed}))),gl=e=>{(0,Ve.makeObservable)(e,{from:Ve.observable,to:Ve.observable,hashCode:Ve.computed})},fl=_a((e=>(gl(e),e))),_l=_a((e=>(gl(e),(0,Ve.makeObservable)(e,{schema:Ve.observable}),fl(e.schema),e))),bl=e=>{(0,Ve.makeObservable)(e,{hashCode:Ve.computed})},El=e=>(bl(e),(0,Ve.makeObservable)(e,{mappers:Ve.observable}),e.mappers.forEach((e=>{(e=>{e instanceof _o?fl(e):e instanceof bo&&_l(e)})(e)})),e),vl=(e,t)=>{if(e instanceof lc)return(e=>(bl(e),(0,Ve.makeObservable)(e,{content:Ve.observable.ref}),e))(e);if(e instanceof vo)return El(e);const i=t.plugins.flatMap((e=>e.getExtraPostProcessorObservers?.()??[]));for(const s of i){const i=s(e,t);if(i)return i}return e},Tl=ba(((e,t)=>((e=>{gu(e),(0,Ve.makeObservable)(e,{type:Ve.observable,timeZone:Ve.observable,quoteIdentifiers:Ve.observable})})(e),(0,Ve.makeObservable)(e,{datasourceSpecification:Ve.observable,authenticationStrategy:Ve.observable,localMode:Ve.observable,postProcessors:Ve.observable,hashCode:Ve.computed}),((e,t)=>{if(e instanceof dc)return sl(e);if(e instanceof ao)return Wc(e);if(e instanceof ro)return Kc(e);if(e instanceof oo)return Jc(e);if(e instanceof co)return Xc(e);if(e instanceof lo)return qc(e);if(e instanceof uo)return Qc(e);if(e instanceof po)return Zc(e);if(e instanceof ho)return el(e);if(e instanceof mo)return il(e);const i=t.plugins.flatMap((e=>e.getExtraDatasourceSpecificationObservers?.()??[]));for(const s of i){const i=s(e,t);if(i)return i}})(e.datasourceSpecification,t),((e,t)=>{if(e instanceof uc)return ml(e);if(e instanceof Kr)return nl(e);if(e instanceof Jr)return al(e);if(e instanceof Xr)return rl(e);if(e instanceof qr)return ol(e);if(e instanceof Qr)return cl(e);if(e instanceof Zr)return ll(e);if(e instanceof to)return dl(e);if(e instanceof eo)return ul(e);if(e instanceof io)return pl(e);if(e instanceof so)return hl(e);const i=t.plugins.flatMap((e=>e.getExtraAuthenticationStrategyObservers?.()??[]));for(const s of i){const i=s(e,t);if(i)return i}})(e.authenticationStrategy,t),e.postProcessors.forEach((e=>{vl(e,t)})),e)));class Sl{id}class Cl extends Sl{__parent;doc;assertions=[]}class yl extends Sl{__parent;doc;tests=[];skip}class Nl extends Cl{storeTestData=[];get hashCode(){return Na([Ua.MAPPING_TEST,this.id,this.doc??"",Na(this.storeTestData),Na(this.assertions)])}}class Al extends yl{func;get hashCode(){return Na([Ua.MAPPING_TEST_SUITE,this.id,this.doc??"",this.func,Na(this.tests)])}}class Il extends Cl{serializationFormat;parameters=[];keys=[];get hashCode(){return Na([Ua.SERVICE_TEST,this.id,Na(this.assertions),Na(this.parameters),Na(this.keys),this.serializationFormat??""])}}class xl extends yl{testData;get hashCode(){return Na([Ua.SERVICE_TEST_SUITE,this.id,Na(this.tests),this.testData??""])}}class Ol{id;parentTest}class wl extends Ol{expected;get hashCode(){return Na([Ua.EQUAL_TO,this.id,Va(this.expected)])}accept_TestAssertionVisitor(e){return e.visit_EqualTo(this)}}class Rl extends Ol{expected;get hashCode(){return Na([Ua.EQUAL_TO_JSON,this.id,this.expected])}accept_TestAssertionVisitor(e){return e.visit_EqualToJSON(this)}}class kl extends Ol{expected;get hashCode(){return Na([Ua.EQUAL_TO_TDS,this.id,this.expected])}accept_TestAssertionVisitor(e){return e.visit_EqualToTDS(this)}}class Pl{}class Ml extends Pl{dataElement;get hashCode(){return Na([Ua.DATA_ELEMENT_REFERENCE,this.dataElement.valueForSerialization??""])}accept_EmbeddedDataVisitor(e){return e.visit_DataElementReference(this)}}class Ll extends Pl{contentType;data;get hashCode(){return Na([Ua.EXTERNAL_FORMAT_DATA,this.contentType,this.data])}accept_EmbeddedDataVisitor(e){return e.visit_ExternalFormatData(this)}}class Fl{model}class Dl extends Fl{data;get hashCode(){return Na([Ua.MODEL_EMBEDDED_DATA,this.model.valueForSerialization??"",this.data])}}class Bl extends Fl{instances;get hashCode(){return Na([Ua.MODEL_INSTANCE_DATA,this.model.valueForSerialization??"",Va(this.instances)])}}class jl extends Pl{modelData;get hashCode(){return Na([Ua.MODEL_STORE_DATA,this.modelData?Na(this.modelData):""])}accept_EmbeddedDataVisitor(e){return e.visit_ModelStoreData(this)}}class Ul extends Pl{tables=[];accept_EmbeddedDataVisitor(e){return e.visit_RelationalCSVData(this)}get hashCode(){return Na([Ua.RELATIONAL_CSV_DATA_TABLE,Na(this.tables)])}}class Vl extends Pl{content;get hashCode(){return Na([Ua.INTERNAL__UNKNOWN_EMBEDDED_DATA,Va(this.content)])}accept_EmbeddedDataVisitor(e){return e.visit_INTERNAL__UnknownEmbeddedData(this)}}const Gl=_a((e=>((0,Ve.makeObservable)(e,{contentType:Ve.observable,data:Ve.observable,hashCode:Ve.computed}),e))),zl=_a((e=>((0,Ve.makeObservable)(e,{dataElement:Ve.observable,hashCode:Ve.computed}),e))),Hl=ba(((e,t)=>((0,Ve.makeObservable)(e,{model:Ve.observable,data:Ve.observable,hashCode:Ve.computed}),ql(e.data,t),e))),$l=ba(((e,t)=>((0,Ve.makeObservable)(e,{model:Ve.observable,instances:Ve.observable,hashCode:Ve.computed}),e))),Yl=ba(((e,t)=>(e instanceof Dl?Hl(e,t):e instanceof Bl&&$l(e,t),e))),Wl=ba(((e,t)=>((0,Ve.makeObservable)(e,{modelData:Ve.observable,hashCode:Ve.computed}),e.modelData?.forEach((e=>{Yl(e,t)})),e))),Kl=_a((e=>((0,Ve.makeObservable)(e,{values:Ve.observable,table:Ve.observable,schema:Ve.observable,hashCode:Ve.computed}),e))),Jl=_a((e=>((0,Ve.makeObservable)(e,{tables:Ve.observable,hashCode:Ve.computed}),e.tables.forEach(Kl),e))),Xl=_a((e=>((0,Ve.makeObservable)(e,{content:Ve.observable.ref}),e)));function ql(e,t){if(e instanceof Vl)return Xl(e);if(e instanceof Ml)return zl(e);if(e instanceof Ll)return Gl(e);if(e instanceof jl)return Wl(e,t);if(e instanceof Ul)return Jl(e);const i=t.plugins.flatMap((e=>e.getExtraEmbeddedDataObservers?.()??[]));for(const s of i){const i=s(e,t);if(i)return i}return e}const Ql=ba(((e,t)=>(Ea(e),(0,Ve.makeObservable)(e,{stereotypes:Ve.observable,taggedValues:Ve.observable,data:Ve.observable,_elementHashCode:Ve.override}),e.stereotypes.forEach(Fu),e.taggedValues.forEach(Bu),ql(e.data,t),e)));class Zl{}class ed extends Zl{_OWNER;func;constructor(e,t){super(),this.func=e,this._OWNER=t}get hashCode(){return Na([Ua.SERVICE_PURE_EXECUTION,this.func])}}class td extends ed{mapping;runtime;constructor(e,t,i,s){super(e,t),this.mapping=i,this.runtime=s}get hashCode(){return Na([Ua.SERVICE_PURE_SINGLE_EXECUTION,super.hashCode,this.mapping?.valueForSerialization??"",this.runtime??""])}}class id extends ed{executionKey;executionParameters;constructor(e,t,i){super(t,i),this.executionKey=e}get hashCode(){return Na([Ua.SERVICE_PURE_MULTI_EXECUTION,super.hashCode,this.executionKey,Na(this.executionParameters??[])])}}class sd{_OWNER;constructor(e){this._OWNER=e}}class nd extends sd{data;asserts=[];constructor(e,t){super(e),this.data=t}get hashCode(){return Na([Ua.SERVICE_LEGACY_SINGLE_EXECUTION_TEST,this.data,Na(this.asserts)])}}class ad extends sd{tests=[];get hashCode(){return Na([Ua.SERVICE_LEGACY_MULTI_EXECUTION_TEST,Na(this.tests)])}}class rd{}class od extends rd{_OWNER;identifier;constructor(e,t){super(),this.identifier=e,this._OWNER=t}get hashCode(){return Na([Ua.SERVICE_OWNER,this.identifier])}}class cd extends rd{_OWNER;users=[];constructor(e,t){super(),this.users=e,this._OWNER=t}get hashCode(){return Na([Ua.SERVICE_OWNER,Na(this.users)])}}const ld=ba(((e,t)=>((0,Ve.makeObservable)(e,{connectionId:Ve.observable,testData:Ve.observable,hashCode:Ve.computed}),ql(e.testData,t),e))),dd=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,value:Ve.observable.ref,hashCode:Ve.computed}),e))),ud=_a((e=>((0,Ve.makeObservable)(e,{assertion:Ve.observable,hashCode:Ve.computed,id:Ve.observable}),Nr(e.assertion),e))),pd=_a((e=>((0,Ve.makeObservable)(e,{assertions:Ve.observable,description:Ve.observable,parameters:Ve.observable,hashCode:Ve.computed}),e.assertions.forEach(ud),e.parameters.forEach(Nr),e))),hd=ba(((e,t)=>((0,Ve.makeObservable)(e,{connectionsTestData:Ve.observable,hashCode:Ve.computed}),e.connectionsTestData.forEach((e=>ld(e,t))),e))),md=_a((e=>((0,Ve.makeObservable)(e,{id:Ve.observable,serializationFormat:Ve.observable,assertions:Ve.observable,parameters:Ve.observable,keys:Ve.observable,hashCode:Ve.computed}),e.parameters.forEach(dd),e.assertions.forEach(kd),e))),gd=ba(((e,t)=>((0,Ve.makeObservable)(e,{id:Ve.observable,tests:Ve.observable,testData:Ve.observable,hashCode:Ve.computed}),e.tests.forEach((e=>Rd(e,t))),e.testData&&hd(e.testData,t),e))),fd=_a((e=>((0,Ve.makeObservable)(e,{parametersValues:Ve.observable,assert:Ve.observable,singleExecutionTestParent:Ve.observable,hashCode:Ve.computed}),Nr(e.assert),e))),_d=_a((e=>((0,Ve.makeObservable)(e,{data:Ve.observable,asserts:Ve.observable,hashCode:Ve.computed}),e.asserts.forEach(fd),e))),bd=_a((e=>(_d(e),(0,Ve.makeObservable)(e,{key:Ve.observable}),e))),Ed=_a((e=>((0,Ve.makeObservable)(e,{tests:Ve.observable,hashCode:Ve.computed}),e.tests.forEach(bd),e))),vd=_a((e=>((0,Ve.makeObservable)(e,{identifier:Ve.observable,hashCode:Ve.computed}),e))),Td=_a((e=>((0,Ve.makeObservable)(e,{users:Ve.observable,hashCode:Ve.computed}),e))),Sd=e=>{(0,Ve.makeObservable)(e,{func:Ve.observable}),Nr(e.func)},Cd=ba(((e,t)=>(Sd(e),(0,Ve.makeObservable)(e,{runtime:Ve.observable,hashCode:Ve.computed}),e.mapping&&Ta(e.mapping),e.runtime&&xu(e.runtime,t),e))),yd=ba(((e,t)=>((0,Ve.makeObservable)(e,{key:Ve.observable,runtime:Ve.observable,hashCode:Ve.computed}),Ta(e.mapping),xu(e.runtime,t),e))),Nd=ba(((e,t)=>(Sd(e),(0,Ve.makeObservable)(e,{executionKey:Ve.observable,executionParameters:Ve.observable,hashCode:Ve.computed}),e.executionParameters?.forEach((e=>yd(e,t))),e))),Ad=ba(((e,t)=>(Ea(e),(0,Ve.makeObservable)(e,{pattern:Ve.observable,owners:Ve.observable,ownership:Ve.observable,documentation:Ve.observable,autoActivateUpdates:Ve.observable,execution:Ve.observable,test:Ve.observable,tests:Ve.observable,postValidations:Ve.observable,patternParameters:Ve.computed,_elementHashCode:Ve.override}),e.stereotypes.forEach(Fu),e.taggedValues.forEach(Bu),((e,t)=>{e instanceof td?Cd(e,t):e instanceof id&&Nd(e,t)})(e.execution,t),e.test&&(e=>{e instanceof nd?_d(e):e instanceof ad&&Ed(e)})(e.test),e.ownership&&(e=>{e instanceof od?vd(e):e instanceof cd&&Td(e)})(e.ownership),e.tests.forEach((e=>gd(e,t))),e.postValidations.forEach((e=>pd(e))),e)));class Id extends Cl{parameters;get hashCode(){return Na([Ua.FUNCTION_TEST,this.id,this.doc??"",this.parameters?Na(this.parameters):""])}}const xd=_a((e=>((0,Ve.makeObservable)(e,{id:Ve.observable,expected:Ve.observable,hashCode:Ve.computed}),e))),Od=_a((e=>((0,Ve.makeObservable)(e,{id:Ve.observable,expected:Ve.observable,hashCode:Ve.computed}),Gl(e.expected),e))),wd=_a((e=>((0,Ve.makeObservable)(e,{id:Ve.observable,expected:Ve.observable,hashCode:Ve.computed}),Gl(e.expected),e)));function Rd(e,t){if(e instanceof Il)return md(e);if(e instanceof Nl)return Fd(e,t);if(e instanceof Id)return np(e);const i=t.plugins.flatMap((e=>e.getExtraAtomicTestObservers?.()??[]));for(const s of i){const i=s(e,t);if(i)return i}return e}function kd(e){return e instanceof wl?xd(e):e instanceof Rl?wd(e):e instanceof kl?Od(e):e}const Pd=e=>{Ea(e),(0,Ve.makeObservable)(e,{includes:Ve.observable}),e.includes.forEach(Ta)},Md=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{content:Ve.observable.ref}),e))),Ld=ba(((e,t)=>((0,Ve.makeObservable)(e,{store:Ve.observable,data:Ve.observable,hashCode:Ve.computed}),ql(e.data,t),e))),Fd=ba(((e,t)=>((0,Ve.makeObservable)(e,{id:Ve.observable,assertions:Ve.observable,doc:Ve.observable,storeTestData:Ve.observable,hashCode:Ve.computed}),e.assertions.forEach(kd),e.storeTestData.forEach((e=>Ld(e,t))),e))),Dd=ba(((e,t)=>((0,Ve.makeObservable)(e,{id:Ve.observable,tests:Ve.observable,func:Ve.observable,hashCode:Ve.computed}),e.tests.forEach((e=>Rd(e,t))),Nr(e.func),e))),Bd=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,valueForSerialization:Ve.computed}),Ta(e.ownerReference),e))),jd=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable}),Ta(e.ownerReference),e))),Ud=_a((e=>((0,Ve.makeObservable)(e,{localMappingProperty:Ve.observable,localMappingPropertyType:Ve.observable,localMappingPropertyMultiplicity:Ve.observable,hashCode:Ve.computed}),Ta(e.localMappingPropertyType),e))),Vd=(e,t)=>{(0,Ve.makeObservable)(e,{sourceSetImplementation:Ve.observable,targetSetImplementation:Ve.observable}),Zu(e.property),jd(e.sourceSetImplementation),e.targetSetImplementation&&jd(e.targetSetImplementation),e.localMappingProperty&&Ud(e.localMappingProperty)},Gd=ba(((e,t)=>(Vd(e,t),(0,Ve.makeObservable)(e,{transformer:Ve.observable,transform:Ve.observable,explodeProperty:Ve.observable,hashCode:Ve.computed}),e.transformer&&Bd(e.transformer),Nr(e.transform),e))),zd=_a((e=>(0,Ve.makeObservable)(e,{content:Ve.observable.ref})));class Hd{observerContext;constructor(e){this.observerContext=e}visit_PropertyMapping(e){const t=this.observerContext.plugins.flatMap((e=>e.getExtraPropertyMappingObservers?.()??[]));for(const i of t){if(i(e,this.observerContext))return}}visit_INTERNAL__UnknownPropertyMapping(e){zd(e)}visit_PurePropertyMapping(e){Gd(e,this.observerContext)}visit_FlatDataPropertyMapping(e){Hr(e,this.observerContext)}visit_EmbeddedFlatDataPropertyMapping(e){zr(e,this.observerContext)}visit_RelationalPropertyMapping(e){jc(e,this.observerContext)}visit_FlatDataAssociationPropertyMapping(e){Mr(e,this.observerContext)}visit_EmbeddedRelationalPropertyMapping(e){Vc(e,this.observerContext)}visit_InlineEmbeddedRelationalPropertyMapping(e){Gc(e,this.observerContext)}visit_OtherwiseEmbeddedRelationalPropertyMapping(e){zc(e,this.observerContext)}visit_AggregationAwarePropertyMapping(e){}visit_XStorePropertyMapping(e){}}const $d=(e,t)=>(e.accept_PropertyMappingVisitor(new Hd(t)),e),Yd=_a((e=>(0,Ve.makeObservable)(e,{isDefault:Ve.computed,valueForSerialization:Ve.computed}))),Wd=_a((e=>(0,Ve.makeObservable)(e,{valueForSerialization:Ve.computed}))),Kd=e=>{(0,Ve.makeObservable)(e,{root:Ve.observable}),Ta(e.class),Yd(e.id),Wd(e.root)},Jd=_a((e=>((0,Ve.makeObservable)(e,{setImplementation:Ve.observable,class:Ve.observable,properties:Ve.observable}),e))),Xd=(e,t)=>{Kd(e),(0,Ve.makeObservable)(e,{mappingClass:Ve.observable,propertyMappings:Ve.observable}),e.mappingClass&&Jd(e.mappingClass),e.propertyMappings.forEach((e=>$d(e,t)))},qd=_a((e=>((0,Ve.makeObservable)(e,{}),jd(e.setImplementation),e))),Qd=e=>{Kd(e),(0,Ve.makeObservable)(e,{parameters:Ve.observable,operation:Ve.observable,hashCode:Ve.computed}),e.parameters.forEach(qd)},Zd=_a((e=>(Qd(e),e))),eu=_a((e=>(Qd(e),(0,Ve.makeObservable)(e,{validationFunction:Ve.observable}),Nr(e.validationFunction),e))),tu=ba(((e,t)=>(Xd(e,t),(0,Ve.makeObservable)(e,{filter:Ve.observable,hashCode:Ve.computed}),e.srcClass&&Ta(e.srcClass),e.filter&&Nr(e.filter),e))),iu=_a((e=>(Kd(e),(0,Ve.makeObservable)(e,{content:Ve.observable.ref}),e)));class su{observerContext;constructor(e){this.observerContext=e}visit_SetImplementation(e){const t=this.observerContext.plugins.flatMap((e=>e.getExtraSetImplementationObservers?.()??[]));for(const i of t){if(i(e,this.observerContext))return}}visit_INTERNAL__UnknownSetImplementation(e){iu(e)}visit_MergeOperationSetImplementation(e){eu(e)}visit_OperationSetImplementation(e){Zd(e)}visit_PureInstanceSetImplementation(e){tu(e,this.observerContext)}visit_FlatDataInstanceSetImplementation(e){Gr(e,this.observerContext)}visit_EmbeddedFlatDataSetImplementation(e){}visit_RelationalInstanceSetImplementation(e){Hc(e,this.observerContext)}visit_RootRelationalInstanceSetImplementation(e){$c(e,this.observerContext)}visit_AggregationAwareSetImplementation(e){}visit_INTERNAL__UnresolvedSetImplementation(e){}}const nu=(e,t)=>(e.accept_SetImplementationVisitor(new su(t)),e),au=_a((e=>((0,Ve.makeObservable)(e,{original:Ve.observable,substitute:Ve.observable}),Ta(e.original),Ta(e.substitute),e))),ru=_a((e=>e instanceof pr?((0,Ve.makeObservable)(e,{included:Ve.observable,storeSubstitutions:Ve.observable}),Ta(e.included),e.storeSubstitutions.forEach(au),e):e)),ou=_a((e=>(0,Ve.makeObservable)(e,{value:Ve.observable}))),cu=_a((e=>((0,Ve.makeObservable)(e,{sourceValues:Ve.observable,hashCode:Ve.computed}),Wu(e.enum),e.sourceValues.forEach(ou),e))),lu=_a((e=>((0,Ve.makeObservable)(e,{sourceType:Ve.observable,enumValueMappings:Ve.observable,hashCode:Ve.computed}),Ta(e.enumeration),Yd(e.id),e.sourceType&&Ta(e.sourceType),e.enumValueMappings.forEach(cu),e))),du=ba(((e,t)=>((0,Ve.makeObservable)(e,{id:Ve.observable,stores:Ve.observable,propertyMappings:Ve.observable,hashCode:Ve.computed}),Ta(e.association),Yd(e.id),e.stores.forEach(Ta),e.propertyMappings.forEach((e=>$d(e,t))),e))),uu=_a((e=>((0,Ve.makeObservable)(e,{inputType:Ve.observable,data:Ve.observable,hashCode:Ve.computed}),Ta(e.sourceClass),e))),pu=_a((e=>(0,Ve.makeObservable)(e,{expectedOutput:Ve.observable,hashCode:Ve.computed}))),hu=ba(((e,t)=>((0,Ve.makeObservable)(e,{name:Ve.observable,query:Ve.observable,inputData:Ve.observable,assert:Ve.observable,hashCode:Ve.computed}),Nr(e.query),e.inputData.forEach((e=>((e,t)=>{if(e instanceof br)return uu(e);if(e instanceof Er)return $r(e);if(e instanceof vr)return Yc(e);const i=t.plugins.flatMap((e=>e.getExtraMappingTestInputDataObservers?.()??[]));for(const s of i){const i=s(e,t);if(i)return i}return e})(e,t))),((e,t)=>{e instanceof mr&&pu(e)})(e.assert),e))),mu=ba(((e,t)=>(Ea(e),(0,Ve.makeObservable)(e,{includes:Ve.observable,classMappings:Ve.observable,enumerationMappings:Ve.observable,associationMappings:Ve.observable,test:Ve.observable,tests:Ve.observable,_elementHashCode:Ve.override}),e.includes.forEach(ru),e.classMappings.forEach((e=>nu(e,t))),e.enumerationMappings.forEach(lu),e.associationMappings.forEach((e=>du(e,t))),e.test.forEach((e=>hu(e,t))),e.tests.forEach((e=>function(e,t){return e instanceof xl?gd(e,t):e instanceof Al?Dd(e,t):e}(e,t))),e))),gu=e=>{(0,Ve.makeObservable)(e,{store:Ve.observable}),Ta(e.store)},fu=_a((e=>(gu(e),(0,Ve.makeObservable)(e,{hashCode:Ve.computed}),e))),_u=_a((e=>(gu(e),(0,Ve.makeObservable)(e,{url:Ve.observable,hashCode:Ve.computed}),Ta(e.class),e))),bu=_a((e=>(gu(e),(0,Ve.makeObservable)(e,{url:Ve.observable,hashCode:Ve.computed}),Ta(e.class),e))),Eu=_a((e=>(gu(e),(0,Ve.makeObservable)(e,{mappings:Ve.observable,hashCode:Ve.computed}),e.mappings.forEach(Ta),e))),vu=_a((e=>(gu(e),(0,Ve.makeObservable)(e,{content:Ve.observable.ref,hashCode:Ve.computed}),e)));class Tu{observerContext;constructor(e){this.observerContext=e}visit_Connection(e){const t=this.observerContext.plugins.flatMap((e=>e.getExtraConnectionObservers?.()??[]));for(const i of t){if(i(e,this.observerContext))return}}visit_INTERNAL__UnknownConnection(e){vu(e)}visit_ConnectionPointer(e){fu(e)}visit_ModelChainConnection(e){Eu(e)}visit_JsonModelConnection(e){_u(e)}visit_XmlModelConnection(e){bu(e)}visit_FlatDataConnection(e){Yr(e)}visit_RelationalDatabaseConnection(e){Tl(e,this.observerContext)}}const Su=(e,t)=>(e.accept_ConnectionVisitor(new Tu(t)),e),Cu=ba(((e,t)=>(Ea(e),(0,Ve.makeObservable)(e,{connectionValue:Ve.observable,_elementHashCode:Ve.override}),Su(e.connectionValue,t),e))),yu=ba(((e,t)=>((0,Ve.makeObservable)(e,{id:Ve.observable,connection:Ve.observable,hashCode:Ve.computed}),Su(e.connection,t),e))),Nu=ba(((e,t)=>((0,Ve.makeObservable)(e,{storeConnections:Ve.observable,hashCode:Ve.computed}),Ta(e.store),e.storeConnections.forEach((e=>yu(e,t))),e))),Au=ba(((e,t)=>((0,Ve.makeObservable)(e,{mappings:Ve.observable,connections:Ve.observable,hashCode:Ve.computed}),e.mappings.forEach(Ta),e.connections.forEach((e=>Nu(e,t))),e))),Iu=_a((e=>((0,Ve.makeObservable)(e,{hashCode:Ve.computed}),Ta(e.packageableRuntime),e))),xu=(e,t)=>e instanceof Cr?Iu(e):e instanceof Sr?Au(e,t):e,Ou=ba(((e,t)=>(Ea(e),(0,Ve.makeObservable)(e,{runtimeValue:Ve.observable,_elementHashCode:Ve.override}),Au(e.runtimeValue,t),e))),wu=ba(((e,t)=>(Ea(e),(0,Ve.makeObservable)(e,{_elementHashCode:Ve.override}),e)));class Ru{observerContext;constructor(e){this.observerContext=e}visit_PackageableElement(e){const t=this.observerContext.plugins.flatMap((e=>e.getExtraElementObservers?.()??[]));for(const i of t){if(i(e,this.observerContext))return}}visit_INTERNAL__UnknownPackageableElement(e){va(e)}visit_INTERNAL__UnknownFunctionActivator(e){cp(e)}visit_SnowflakeApp(e){lp(e)}visit_INTERNAL__UnknownStore(e){Md(e)}visit_Package(e){Lu(e,this.observerContext)}visit_SectionIndex(e){Gu(e)}visit_PrimitiveType(e){}visit_Profile(e){$u(e)}visit_Enumeration(e){Ku(e)}visit_Measure(e){Xu(e)}visit_Class(e){tp(e)}visit_Association(e){ip(e)}visit_ConcreteFunctionDefinition(e){op(e,this.observerContext)}visit_FlatData(e){Ur(e)}visit_Database(e){Bc(e,this.observerContext)}visit_Mapping(e){mu(e,this.observerContext)}visit_Service(e){Ad(e,this.observerContext)}visit_ExecutionEnvironmentInstance(e){wu(e,this.observerContext)}visit_PackageableRuntime(e){Ou(e,this.observerContext)}visit_PackageableConnection(e){Cu(e,this.observerContext)}visit_FileGenerationSpecification(e){cr(e)}visit_GenerationSpecification(e){dr(e)}visit_DataElement(e){Ql(e,this.observerContext)}}const ku=ba(((e,t)=>(e.accept_PackageableElementVisitor(new Ru(t)),e))),Pu=_a((e=>((0,Ve.makeObservable)(e,{activationConnection:Ve.observable}),e.activationConnection&&fu(e.activationConnection),e))),Mu=e=>{Ea(e),(0,Ve.makeObservable)(e,{children:Ve.observable,hashCode:Ve.override})},Lu=ba(((e,t)=>(Mu(e),e.children.forEach((e=>{e instanceof Za?Lu(e,t):ku(e,t)})),e))),Fu=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,pointerHashCode:Ve.computed}),Ta(e.ownerReference),e))),Du=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,pointerHashCode:Ve.computed}),e))),Bu=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,hashCode:Ve.computed}),Du(e.tag),e))),ju=_a((e=>(0,Ve.makeObservable)(e,{rawType:Ve.observable}))),Uu=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable}),ju(e.value),Ta(e.ownerReference),e))),Vu=_a((e=>((0,Ve.makeObservable)(e,{parserName:Ve.observable,elements:Ve.observable}),e instanceof tr?(0,Ve.makeObservable)(e,{imports:Ve.observable,hashCode:Ve.computed}):e instanceof ir&&(0,Ve.makeObservable)(e,{hashCode:Ve.computed}),e))),Gu=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{sections:Ve.observable,_elementHashCode:Ve.override}),e.sections.forEach(Vu),e))),zu=_a((e=>(0,Ve.makeObservable)(e,{value:Ve.observable}))),Hu=_a((e=>(0,Ve.makeObservable)(e,{value:Ve.observable}))),$u=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{p_stereotypes:Ve.observable,p_tags:Ve.observable,_elementHashCode:Ve.override}),e.p_stereotypes.forEach(zu),e.p_tags.forEach(Hu),e))),Yu=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,stereotypes:Ve.observable,taggedValues:Ve.observable,hashCode:Ve.computed}),e.stereotypes.forEach(Fu),e.taggedValues.forEach(Bu),e))),Wu=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable}),Ta(e.ownerReference),e))),Ku=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{values:Ve.observable,stereotypes:Ve.observable,taggedValues:Ve.observable,_elementHashCode:Ve.override}),e.values.forEach(Yu),e.stereotypes.forEach(Fu),e.taggedValues.forEach(Bu),e))),Ju=_a((e=>((0,Ve.makeObservable)(e,{measure:Ve.observable,conversionFunction:Ve.observable,hashCode:Ve.computed}),e.conversionFunction&&Nr(e.conversionFunction),e))),Xu=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{canonicalUnit:Ve.observable,nonCanonicalUnits:Ve.observable,_elementHashCode:Ve.override}),e.canonicalUnit&&Ju(e.canonicalUnit),e.nonCanonicalUnits.forEach(Ju),e))),qu=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,multiplicity:Ve.observable,aggregation:Ve.observable,stereotypes:Ve.observable,taggedValues:Ve.observable,hashCode:Ve.computed}),Uu(e.genericType),e.stereotypes.forEach(Fu),e.taggedValues.forEach(Bu),e))),Qu=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,multiplicity:Ve.observable,stereotypes:Ve.observable,taggedValues:Ve.observable,body:Ve.observable.ref,parameters:Ve.observable.ref,hashCode:Ve.computed}),Uu(e.genericType),e.stereotypes.forEach(Fu),e.taggedValues.forEach(Bu),e))),Zu=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable,pointerHashCode:Ve.computed}),Ta(e.ownerReference),e))),ep=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,functionDefinition:Ve.observable,externalId:Ve.observable,enforcementLevel:Ve.observable,messageFunction:Ve.observable,hashCode:Ve.computed}),Nr(e.functionDefinition),e.messageFunction&&Nr(e.messageFunction),e))),tp=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{_subclasses:Ve.observable,properties:Ve.observable,propertiesFromAssociations:Ve.observable,derivedProperties:Ve.observable,generalizations:Ve.observable,constraints:Ve.observable,stereotypes:Ve.observable,taggedValues:Ve.observable,dispose:Ve.override,_elementHashCode:Ve.override}),e.properties.forEach(qu),e.propertiesFromAssociations.forEach(qu),e.derivedProperties.forEach(Qu),e.generalizations.forEach(Uu),e.constraints.forEach(ep),e.stereotypes.forEach(Fu),e.taggedValues.forEach(Bu),e))),ip=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{properties:Ve.observable,stereotypes:Ve.observable,taggedValues:Ve.observable,derivedProperties:Ve.observable,dispose:Ve.override,_elementHashCode:Ve.override}),e.properties.forEach(qu),e.derivedProperties.forEach(Qu),e.stereotypes.forEach(Fu),e.taggedValues.forEach(Bu),e))),sp=_a((e=>((0,Ve.makeObservable)(e,{name:Ve.observable,value:Ve.observable.ref,hashCode:Ve.computed}),e))),np=_a((e=>((0,Ve.makeObservable)(e,{id:Ve.observable,doc:Ve.observable,assertions:Ve.observable,hashCode:Ve.computed}),e.parameters?.forEach(sp),e.assertions.forEach(kd),e))),ap=ba(((e,t)=>((0,Ve.makeObservable)(e,{store:Ve.observable,data:Ve.observable,hashCode:Ve.computed}),ql(e.data,t),e))),rp=ba(((e,t)=>((0,Ve.makeObservable)(e,{id:Ve.observable,tests:Ve.observable,testData:Ve.observable,hashCode:Ve.computed}),e.tests.forEach((e=>Rd(e,t))),e.testData?.forEach((e=>ap(e,t))),e))),op=ba(((e,t)=>(Ea(e),(0,Ve.makeObservable)(e,{functionName:Ve.observable,returnMultiplicity:Ve.observable,parameters:Ve.observable.shallow,expressionSequence:Ve.observable.ref,stereotypes:Ve.observable,taggedValues:Ve.observable,tests:Ve.observable,_elementHashCode:Ve.override}),e.parameters.forEach(Ar),Ta(e.returnType),e.stereotypes.forEach(Fu),e.taggedValues.forEach(Bu),e.tests.forEach((e=>rp(e,t))),e))),cp=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{content:Ve.observable.ref}),e))),lp=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{applicationName:Ve.observable,description:Ve.observable,owner:Ve.observable,activationConfiguration:Ve.observable,_elementHashCode:Ve.override}),Pu(e.activationConfiguration),e))),dp=_a((e=>e instanceof Xa?Ku(e):e instanceof qa?Ju(e):e instanceof Ka?tp(e):e instanceof Qa?Xu(e):e)),up=(_a((e=>e instanceof Xa?Ku(e):e instanceof qa?Ju(e):e)),_a((e=>(0,Ve.makeObservable)(e,{_dummyObservable:Ve.observable})))),pp=_a((e=>((0,Ve.makeObservable)(e,{value:Ve.observable}),Ta(e.ownerReference),e))),hp=_a((e=>(up(e),(0,Ve.makeObservable)(e,{id:Ve.observable,hideProperties:Ve.observable,hideTaggedValues:Ve.observable,hideStereotypes:Ve.observable,hashCode:Ve.computed}),Ta(e.class),e))),mp=_a((e=>(pp(e.classView),e))),gp=_a((e=>((0,Ve.makeObservable)(e,{path:Ve.observable,pathForSerialization:Ve.computed}),mp(e.from),mp(e.to),e))),fp=_a((e=>(gp(e),(0,Ve.makeObservable)(e,{hashCode:Ve.computed}),e))),_p=_a((e=>(gp(e),(0,Ve.makeObservable)(e,{hashCode:Ve.computed}),Zu(e.property),Ta(e.association),e))),bp=_a((e=>(gp(e),(0,Ve.makeObservable)(e,{hashCode:Ve.computed}),Zu(e.property),e))),Ep=_a((e=>(Ea(e),(0,Ve.makeObservable)(e,{classViews:Ve.observable,associationViews:Ve.observable,generalizationViews:Ve.observable,propertyViews:Ve.observable,_elementHashCode:Ve.override}),e.classViews.forEach(hp),e.associationViews.forEach(_p),e.generalizationViews.forEach(fp),e.propertyViews.forEach(bp),e)));var vp;!function(e){e.DIAGRAM="DIAGRAM",e.CLASS_VIEW="CLASS_VIEW",e.PROPERTY_VIEW="PROPERTY_VIEW",e.ASSOCIATION_VIEW="ASSOCIATION_VIEW",e.PROPERTY_HOLDER_VIEW="PROPERTY_HOLDER_VIEW",e.GENERALIZATION_VIEW="GENERALIZATION_VIEW",e.RELATIONSHIP_VIEW="RELATIONSHIP_VIEW",e.POINT="POINT",e.RECTANGLE="RECTANGLE",e.POSITIONED_RECTANGLE="POSITIONED_RECTANGLE"}(vp||(vp={}));class Tp extends Ya{classViews=[];associationViews=[];generalizationViews=[];propertyViews=[];get _elementHashCode(){return Na([vp.DIAGRAM,this.path,Na(this.classViews),Na(this.generalizationViews),Na(this.propertyViews)])}accept_PackageableElementVisitor(e){return e.visit_PackageableElement(this)}}class Sp extends fa{constructor(){super(ga.extensions.pureGraphManagerPlugin,ga.version)}getExtraElementObservers(){return[(e,t)=>{if(e instanceof Tp)return Ep(e)}]}}class Cp{package;name;get path(){return`${this.package}${Ia}${this.name}`}get hashCode(){return Na([Ua.PACKAGEABLE_ELEMENT,this.path])}}class yp{type;path;constructor(e,t){this.type=e,this.path=t}get hashCode(){return Na([Ua.PACKAGEABLE_ELEMENT_POINTER,this.type??"",this.path])}}class Np extends Cp{classViews=[];propertyViews=[];generalizationViews=[];get hashCode(){return Na([vp.DIAGRAM,this.path,Na(this.classViews),Na(this.generalizationViews),Na(this.propertyViews)])}accept_PackageableElementVisitor(e){return e.visit_PackageableElement(this)}}class Ap{rectangle;position;get hashCode(){return Na([vp.POSITIONED_RECTANGLE,this.position,this.rectangle])}}class Ip extends Ap{id;class;hideProperties;hideTaggedValues;hideStereotypes;get hashCode(){return Na([vp.CLASS_VIEW,super.hashCode,this.id,this.class,this.hideProperties?.toString()??"",this.hideTaggedValues?.toString()??"",this.hideStereotypes?.toString()??""])}}class xp{x;y;get hashCode(){return Na([vp.POINT,this.x.toString(),this.y.toString()])}}class Op{width;height;get hashCode(){return Na([vp.RECTANGLE,this.width.toString(),this.height.toString()])}}class wp{points=[]}class Rp{sourceView;targetView;line;get hashCode(){return Na([vp.RELATIONSHIP_VIEW,this.sourceView,this.targetView,Na(this.line.points)])}}class kp extends Rp{property;get hashCode(){return Na([vp.PROPERTY_HOLDER_VIEW,super.hashCode,this.property])}}class Pp extends kp{get hashCode(){return Na([vp.PROPERTY_VIEW,super.hashCode])}}class Mp extends Rp{get hashCode(){return Na([vp.GENERALIZATION_VIEW,super.hashCode])}}class Lp{lowerBound=0;upperBound;constructor(e,t){this.lowerBound=e,this.upperBound=t}get hashCode(){return Na([Ua.MULTIPLICITY,this.lowerBound.toString(),this.upperBound?.toString()??""])}static ZERO=new Lp(0,0);static ZERO_ONE=new Lp(0,1);static ZERO_MANY=new Lp(0,void 0);static ONE=new Lp(1,1);static ONE_MANY=new Lp(1,void 0)}const Fp=new Ae((0,Ne.createModelSchema)(class{sourceId;startLine;startColumn;endLine;endColumn},{sourceId:(0,Ne.primitive)(),startLine:(0,Ne.primitive)(),startColumn:(0,Ne.primitive)(),endLine:(0,Ne.primitive)(),endColumn:(0,Ne.primitive)()}));class Dp{package;name;sourceInformation;static serialization=new Ae((0,Ne.createModelSchema)(Dp,{package:(0,Ne.primitive)(),name:(0,Ne.primitive)(),sourceInformation:we(Fp.schema)}))}const Bp=(0,Ne.createModelSchema)(yp,{path:(0,Ne.primitive)(),type:(0,Ne.optional)((0,Ne.primitive)())}),jp=(0,Ne.createModelSchema)(Lp,{lowerBound:(0,Ne.primitive)(),upperBound:(0,Ne.optional)((0,Ne.primitive)())});class Up extends Cp{values=[];stereotypes=[];taggedValues=[];get hashCode(){return Na([Ua.ENUMERATION,this.path,Na(this.values),Na(this.stereotypes),Na(this.taggedValues)])}accept_PackageableElementVisitor(e){return e.visit_Enumeration(this)}}class Vp extends Cp{stereotypes=[];tags=[];get hashCode(){return Na([Ua.PROFILE,this.path,Na(this.stereotypes),Na(this.tags)])}accept_PackageableElementVisitor(e){return e.visit_Profile(this)}}class Gp extends Cp{measure;conversionFunction;get hashCode(){return Na([Ua.UNIT,this.measure,this.conversionFunction??""])}accept_PackageableElementVisitor(e){throw new V}}class zp extends Cp{canonicalUnit;nonCanonicalUnits=[];get hashCode(){return Na([Ua.MEASURE,this.path,this.canonicalUnit??"",Na(this.nonCanonicalUnits)])}accept_PackageableElementVisitor(e){return e.visit_Measure(this)}}class Hp extends Cp{superTypes=[];properties=[];derivedProperties=[];stereotypes=[];taggedValues=[];constraints=[];get hashCode(){return Na([Ua.CLASS,this.path,Na(this.properties),Na(this.derivedProperties),Na(this.superTypes),Na(this.constraints),Na(this.stereotypes),Na(this.taggedValues)])}accept_PackageableElementVisitor(e){return e.visit_Class(this)}}class $p extends Cp{properties=[];derivedProperties=[];stereotypes=[];taggedValues=[];get hashCode(){return Na([Ua.ASSOCIATION,this.path,Na(this.properties),Na(this.derivedProperties),Na(this.stereotypes),Na(this.taggedValues)])}accept_PackageableElementVisitor(e){return e.visit_Association(this)}}class Yp{value;stereotypes=[];taggedValues=[];get hashCode(){return Na([Ua.ENUM_VALUE,this.value,Na(this.stereotypes),Na(this.taggedValues)])}}class Wp{profile;value;get hashCode(){return Na([Ua.STEREOTYPE_POINTER,this.value,this.profile])}}class Kp{profile;value;get hashCode(){return Na([Ua.TAG_POINTER,this.value,this.profile])}}class Jp{tag;value;get hashCode(){return Na([Ua.TAGGED_VALUE,this.tag,this.value])}}class Xp{name;type;multiplicity;aggregation;stereotypes=[];taggedValues=[];get hashCode(){return Na([Ua.PROPERTY,this.name,this.multiplicity,this.type,this.aggregation??"",Na(this.stereotypes),Na(this.taggedValues)])}}class qp{name;returnType;returnMultiplicity;stereotypes=[];taggedValues=[];body;parameters;get hashCode(){return Na([Ua.DERIVED_PROPERTY,this.name,this.returnMultiplicity,this.returnType,Na(this.stereotypes),Na(this.taggedValues),Ga(this.parameters,this.body)])}}class Qp{class;property;get hashCode(){return Na([Ua.PROPERTY_POINTER,this.property,this.class??""])}}class Zp{name;functionDefinition;externalId;enforcementLevel;messageFunction;get hashCode(){return Na([Ua.CONSTRAINT,this.name,this.functionDefinition,this.externalId??"",this.enforcementLevel??"",this.messageFunction??""])}}class eh{}class th extends eh{body;parameters;get hashCode(){return Na([Ua.RAW_LAMBDA,Ga(this.parameters,this.body)])}accept_RawValueSpecificationVisitor(e){return e.visit_Lambda(this)}}class ih extends eh{class;name;multiplicity;get hashCode(){return Na([Ua.RAW_VARIABLE,this.class,this.name,this.multiplicity])}accept_RawValueSpecificationVisitor(e){return e.visit_Variable(this)}}class sh{queryTimeOutInSeconds=null;enableConstraints=!0}class nh extends eh{multiplicity=Lp.ONE;type;value;get hashCode(){return Na([Ua.RAW_INSTANCE_VALUE,this.type,this.multiplicity,this.value??""])}accept_RawValueSpecificationVisitor(e){return e.visit_PrimitiveInstanceValue(this)}}var ah,rh;!function(e){e.BASE_EXECUTION_CONTEXT="BaseExecutionContext"}(ah||(ah={})),function(e){e.LAMBDA="lambda",e.VARIABLE="var",e.CINTEGER="integer",e.CDECIMAL="decimal",e.CSTRING="string",e.CBOOLEAN="boolean",e.CFLOAT="float",e.CDATETIME="dateTime",e.CSTRICTDATE="strictDate",e.CSTRICTTIME="strictTime",e.CLATESTDATE="latestDate"}(rh||(rh={}));(0,Ne.createModelSchema)(class extends sh{},{_type:xe(ah.BASE_EXECUTION_CONTEXT),queryTimeOutInSeconds:(0,Ne.primitive)(),enableConstraints:(0,Ne.primitive)()});const oh=(0,Ne.createModelSchema)(th,{_type:xe(rh.LAMBDA),body:(0,Ne.raw)(),parameters:(0,Ne.raw)()}),ch=(0,Ne.createModelSchema)(ih,{_type:xe(rh.VARIABLE),class:(0,Ne.primitive)(),multiplicity:Ie(jp),name:(0,Ne.primitive)()}),lh=(0,Ne.createModelSchema)(nh,{type:(0,Ne.alias)("_type",(0,Ne.custom)((e=>{switch(e){case ka.INTEGER:return rh.CINTEGER;case ka.DECIMAL:return rh.CDECIMAL;case ka.STRING:return rh.CSTRING;case ka.BOOLEAN:return rh.CBOOLEAN;case ka.FLOAT:return rh.CFLOAT;case ka.DATETIME:return rh.CDATETIME;case ka.STRICTDATE:return rh.CSTRICTDATE;case ka.STRICTTIME:return rh.CSTRICTTIME;case ka.LATESTDATE:return rh.CLATESTDATE;default:throw new V(`Can't serialize raw instance value type '${e}'`)}}),(e=>{switch(e){case rh.CINTEGER:return ka.INTEGER;case rh.CDECIMAL:return ka.DECIMAL;case rh.CSTRING:return ka.STRING;case rh.CBOOLEAN:return ka.BOOLEAN;case rh.CFLOAT:return ka.FLOAT;case rh.CDATETIME:return ka.DATETIME;case rh.CSTRICTDATE:return ka.STRICTDATE;case rh.CSTRICTTIME:return ka.STRICTTIME;case rh.CLATESTDATE:return ka.LATESTDATE;default:throw new V(`Can't deserialize raw value instance value type '${e}'`)}}))),value:(0,Ne.optional)((0,Ne.primitive)())});class dh{visit_Lambda(e){return(0,Ne.serialize)(oh,e)}visit_Variable(e){return(0,Ne.serialize)(ch,e)}visit_PrimitiveInstanceValue(e){return(0,Ne.serialize)(lh,e)}}function uh(e){return e.accept_RawValueSpecificationVisitor(new dh)}function ph(e){switch(e._type){case rh.LAMBDA:return(0,Ne.deserialize)(oh,e);case rh.VARIABLE:return(0,Ne.deserialize)(ch,e);case rh.CINTEGER:case rh.CDECIMAL:case rh.CSTRING:case rh.CBOOLEAN:case rh.CFLOAT:case rh.CDATETIME:case rh.CSTRICTDATE:case rh.CSTRICTTIME:case rh.CLATESTDATE:return(e=>(0,Ne.deserialize)(lh,{...e,value:Array.isArray(e.values)&&1===e.values.length?e.values[0]:e.value}))(e);default:throw new V(`Can't deserialize raw value specification of type '${e._type}'`)}}class hh extends Cp{function;activationConfiguration;stereotypes=[];taggedValues=[]}class mh{}class gh{store}class fh extends gh{mappings=[];get hashCode(){return Na([Ua.MODEL_CHAIN_CONNECTION,Na(this.mappings)])}accept_ConnectionVisitor(e){return e.visit_ModelChainConnection(this)}}class _h extends gh{class;url;get hashCode(){return Na([Ua.JSON_MODEL_CONNECTION,this.class,this.url])}accept_ConnectionVisitor(e){return e.visit_JsonModelConnection(this)}}class bh extends gh{class;url;get hashCode(){return Na([Ua.XML_MODEL_CONNECTION,this.class,this.url])}accept_ConnectionVisitor(e){return e.visit_XmlModelConnection(this)}}class Eh extends gh{url;get hashCode(){return Na([Ua.FLAT_DATA_CONNECTION,this.store??"",this.url])}accept_ConnectionVisitor(e){return e.visit_FlatDataConnection(this)}}var vh;!function(e){e.DB2="DB2",e.H2="H2",e.MemSQL="MemSQL",e.Sybase="Sybase",e.SybaseIQ="SybaseIQ",e.Composite="Composite",e.Postgres="Postgres",e.SqlServer="SqlServer",e.Hive="Hive",e.Snowflake="Snowflake",e.BigQuery="BigQuery",e.Databricks="Databricks",e.Presto="Presto",e.Redshift="Redshift",e.Spanner="Spanner",e.Trino="Trino"}(vh||(vh={}));class Th{}class Sh extends Th{host;port;databaseName;get hashCode(){return Na([Ua.STATIC_DATASOURCE_SPECIFICATION,this.host,this.port.toString(),this.databaseName])}}class Ch extends Th{databaseName;directory;autoServerMode;get hashCode(){return Na([Ua.EMBEDDED_H2_DATASOURCE_SPECIFICATION,this.databaseName,this.directory,this.autoServerMode.toString()])}}class yh extends Th{hostname;port;protocol;httpPath;get hashCode(){return Na([Ua.DATABRICKS_DATASOURCE_SPECIFICATION,this.hostname,this.port,this.protocol,this.httpPath])}}class Nh extends Th{accountName;region;warehouseName;databaseName;cloudType;quotedIdentifiersIgnoreCase;enableQueryTags;proxyHost;proxyPort;nonProxyHosts;organization;accountType;role;get hashCode(){return Na([Ua.SNOWFLAKE_DATASOURCE_SPECIFICATION,this.accountName,this.region,this.warehouseName,this.databaseName,this.cloudType??"",this.proxyHost??"",this.proxyPort??"",this.nonProxyHosts??"",this.organization??"",this.accountType??"",this.role??"",this.quotedIdentifiersIgnoreCase?.toString()??"",this.enableQueryTags?.toString()??""])}}class Ah extends Th{clusterID;databaseName;host;port;region;endpointURL;get hashCode(){return Na([Ua.REDSHIFT_DATASOURCE_SPECIFICATION,this.databaseName,this.endpointURL,this.port.toString(),this.clusterID,this.host,this.region])}}class Ih extends Th{projectId;defaultDataset;proxyHost;proxyPort;get hashCode(){return Na([Ua.BIGQUERY_DATASOURCE_SPECIFICATION,this.projectId,this.defaultDataset,this.proxyHost??"",this.proxyPort??""])}}class xh extends Th{projectId;instanceId;databaseId;proxyHost;proxyPort;get hashCode(){return Na([Ua.SPANNER_DATASOURCE_SPECIFICATION,this.projectId,this.instanceId,this.databaseId,this.proxyHost??"",this.proxyPort??""])}}class Oh extends Th{testDataSetupCsv;testDataSetupSqls=[];get hashCode(){return Na([Ua.LOCAL_H2_DATASOURCE_SPECIFICATION,this.testDataSetupCsv??"",Na(this.testDataSetupSqls)])}}class wh{ssl;trustStorePathVaultReference;trustStorePasswordVaultReference;get hashCode(){return Na([Ua.TRINO_SSL_SPECIFICATION,this.ssl.toString(),this.trustStorePathVaultReference??"",this.trustStorePasswordVaultReference??""])}}class Rh extends Th{host;port;sslSpecification;catalog;schema;clientTags;get hashCode(){return Na([Ua.TRINO_DATASOURCE_SPECIFICATION,this.host,this.port.toString(),this.sslSpecification,this.catalog??"",this.schema??"",this.clientTags??""])}}class kh{}class Ph extends kh{serverPrincipal;get hashCode(){return Na([Ua.DELEGRATED_KEREBEROS_AUTHENTICATION_STRATEGY,this.serverPrincipal?.toString()??""])}}class Mh extends kh{get hashCode(){return Na([Ua.DEFAULT_H2_AUTHENTICATION_STRATEGY])}}class Lh extends kh{oauthKey;scopeName;get hashCode(){return Na([Ua.OAUTH_AUTHENTICATION_STRATEGY,this.oauthKey,this.scopeName])}}class Fh extends kh{apiToken;get hashCode(){return Na([Ua.API_TOKEN_AUTHENTICATION_STRATEGY,this.apiToken])}}class Dh extends kh{privateKeyVaultReference;passPhraseVaultReference;publicUserName;get hashCode(){return Na([Ua.SNOWFLAKE_PUBLIC_AUTHENTICATION_STRATEGY,this.privateKeyVaultReference,this.passPhraseVaultReference,this.publicUserName])}}class Bh extends kh{get hashCode(){return Na([Ua.GCP_APPLICATION_DEFAULT_CREDENTIALS_AUTHENTICATION_STRATEGY])}}class jh extends kh{serviceAccountEmail;additionalGcpScopes=[];get hashCode(){return Na([Ua.GCP_WORKLOAD_IDENTITY_FEDERATION_AUTHENTICATION_STRATEGY,this.serviceAccountEmail,Na(this.additionalGcpScopes)])}}class Uh extends kh{baseVaultReference;userNameVaultReference;passwordVaultReference;get hashCode(){return Na([Ua.USERNAME_PASSWORD_AUTHENTICATION_STRATEGY,this.baseVaultReference?.toString()??"",this.userNameVaultReference,this.passwordVaultReference])}}class Vh extends kh{vaultReference;get hashCode(){return Na([Ua.MIDDLE_TIER_USERNAME_PASSWORD_AUTHENTICATION_STRATEGY,this.vaultReference])}}class Gh extends kh{kerberosRemoteServiceName;kerberosUseCanonicalHostname;get hashCode(){return Na([Ua.TRINO_DELEGATED_KERBEROS_AUTHENTICATION_STRATEGY,this.kerberosRemoteServiceName,this.kerberosUseCanonicalHostname.toString()])}}class zh extends gh{connection;get hashCode(){return Na([Ua.CONNECTION_POINTER,this.connection])}accept_ConnectionVisitor(e){return e.visit_ConnectionPointer(this)}}class Hh extends gh{content;get hashCode(){return Na([Ua.INTERNAL__UNKNOWN_CONNECTION,Va(this.content)])}accept_ConnectionVisitor(e){return e.visit_INTERNAL__UnknownConnection(this)}}var $h;!function(e){e.CONNECTION_POINTER="connectionPointer",e.MODEL_CHAIN_CONNECTION="ModelChainConnection",e.JSON_MODEL_CONNECTION="JsonModelConnection",e.XML_MODEL_CONNECTION="XmlModelConnection",e.FLAT_DATA_CONNECTION="FlatDataConnection",e.RELATIONAL_DATABASE_CONNECTION="RelationalDatabaseConnection"}($h||($h={}));const Yh=(0,Ne.createModelSchema)(zh,{_type:xe($h.CONNECTION_POINTER),connection:(0,Ne.primitive)()});(0,Ne.createModelSchema)(fh,{_type:xe($h.MODEL_CHAIN_CONNECTION),store:(0,Ne.alias)("element",(0,Ne.optional)((0,Ne.primitive)())),mappings:(0,Ne.list)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(_h,{_type:xe($h.JSON_MODEL_CONNECTION),class:(0,Ne.primitive)(),store:(0,Ne.alias)("element",(0,Ne.optional)((0,Ne.primitive)())),url:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(bh,{_type:xe($h.XML_MODEL_CONNECTION),class:(0,Ne.primitive)(),store:(0,Ne.alias)("element",(0,Ne.optional)((0,Ne.primitive)())),url:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Eh,{_type:xe($h.FLAT_DATA_CONNECTION),store:(0,Ne.alias)("element",(0,Ne.primitive)()),url:(0,Ne.primitive)()});var Wh;!function(e){e.STATIC="static",e.H2_EMBEDDED="h2Embedded",e.H2_LOCAL="h2Local",e.DATABRICKS="databricks",e.SNOWFLAKE="snowflake",e.REDSHIFT="redshift",e.BIGQUERY="bigQuery",e.SPANNER="spanner",e.TRINO="Trino"}(Wh||(Wh={}));(0,Ne.createModelSchema)(Sh,{_type:xe(Wh.STATIC),databaseName:(0,Ne.primitive)(),host:(0,Ne.primitive)(),port:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Ch,{_type:xe(Wh.H2_EMBEDDED),autoServerMode:(0,Ne.primitive)(),databaseName:(0,Ne.primitive)(),directory:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Oh,{_type:xe(Wh.H2_LOCAL),testDataSetupCsv:(0,Ne.optional)((0,Ne.primitive)()),testDataSetupSqls:Le()}),(0,Ne.createModelSchema)(yh,{_type:xe(Wh.DATABRICKS),hostname:(0,Ne.primitive)(),port:(0,Ne.primitive)(),protocol:(0,Ne.primitive)(),httpPath:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Nh,{_type:xe(Wh.SNOWFLAKE),accountName:(0,Ne.primitive)(),accountType:(0,Ne.optional)((0,Ne.primitive)()),cloudType:(0,Ne.optional)((0,Ne.primitive)()),databaseName:(0,Ne.primitive)(),nonProxyHosts:(0,Ne.optional)((0,Ne.primitive)()),organization:(0,Ne.optional)((0,Ne.primitive)()),proxyHost:(0,Ne.optional)((0,Ne.primitive)()),proxyPort:(0,Ne.optional)((0,Ne.primitive)()),quotedIdentifiersIgnoreCase:(0,Ne.optional)((0,Ne.primitive)()),enableQueryTags:(0,Ne.optional)((0,Ne.primitive)()),region:(0,Ne.primitive)(),role:(0,Ne.optional)((0,Ne.primitive)()),warehouseName:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Ah,{_type:xe(Wh.REDSHIFT),clusterID:(0,Ne.primitive)(),databaseName:(0,Ne.primitive)(),endpointURL:(0,Ne.optional)((0,Ne.primitive)()),host:(0,Ne.primitive)(),port:(0,Ne.primitive)(),region:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Ih,{_type:xe(Wh.BIGQUERY),defaultDataset:(0,Ne.primitive)(),projectId:(0,Ne.primitive)(),proxyHost:(0,Ne.optional)((0,Ne.primitive)()),proxyPort:(0,Ne.optional)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(xh,{_type:xe(Wh.SPANNER),databaseId:(0,Ne.primitive)(),instanceId:(0,Ne.primitive)(),projectId:(0,Ne.primitive)(),proxyHost:(0,Ne.optional)((0,Ne.primitive)()),proxyPort:(0,Ne.optional)((0,Ne.primitive)())});const Kh=(0,Ne.createModelSchema)(wh,{ssl:(0,Ne.primitive)(),trustStorePathVaultReference:(0,Ne.optional)((0,Ne.primitive)()),trustStorePasswordVaultReference:(0,Ne.optional)((0,Ne.primitive)())});(0,Ne.createModelSchema)(Rh,{_type:xe(Wh.TRINO),host:(0,Ne.primitive)(),port:(0,Ne.primitive)(),catalog:(0,Ne.optional)((0,Ne.primitive)()),schema:(0,Ne.optional)((0,Ne.primitive)()),clientTags:(0,Ne.optional)((0,Ne.primitive)()),sslSpecification:Ie(Kh)});var Jh;!function(e){e.DELEGATED_KERBEROS="delegatedKerberos",e.SNOWFLAKE_PUBLIC="snowflakePublic",e.GCP_APPLICATION_DEFAULT_CREDENTIALS="gcpApplicationDefaultCredentials",e.API_TOKEN="apiToken",e.H2_DEFAULT="h2Default",e.OAUTH="oauth",e.USERNAME_PASSWORD="userNamePassword",e.GCP_WORKLOAD_IDENTITY_FEDERATION="gcpWorkloadIdentityFederation",e.MIDDLE_TIER_USERNAME_PASSWORD="middleTierUserNamePassword",e.TRINO_DELEGATED_KERBEROS="TrinoDelegatedKerberosAuth"}(Jh||(Jh={}));(0,Ne.createModelSchema)(Ph,{_type:xe(Jh.DELEGATED_KERBEROS),serverPrincipal:(0,Ne.optional)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(Mh,{_type:xe(Jh.H2_DEFAULT)}),(0,Ne.createModelSchema)(Fh,{_type:xe(Jh.API_TOKEN),apiToken:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Dh,{_type:xe(Jh.SNOWFLAKE_PUBLIC),privateKeyVaultReference:(0,Ne.primitive)(),passPhraseVaultReference:(0,Ne.primitive)(),publicUserName:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Bh,{_type:xe(Jh.GCP_APPLICATION_DEFAULT_CREDENTIALS)}),(0,Ne.createModelSchema)(Vh,{_type:xe(Jh.MIDDLE_TIER_USERNAME_PASSWORD),vaultReference:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(jh,{_type:xe(Jh.GCP_WORKLOAD_IDENTITY_FEDERATION),additionalGcpScopes:(0,Ne.list)((0,Ne.primitive)()),serviceAccountEmail:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Uh,{_type:xe(Jh.USERNAME_PASSWORD),baseVaultReference:(0,Ne.optional)((0,Ne.primitive)()),userNameVaultReference:(0,Ne.primitive)(),passwordVaultReference:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Gh,{_type:xe(Jh.TRINO_DELEGATED_KERBEROS),kerberosRemoteServiceName:(0,Ne.primitive)(),kerberosUseCanonicalHostname:(0,Ne.optional)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(Lh,{_type:xe(Jh.OAUTH),oauthKey:(0,Ne.primitive)(),scopeName:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Hh,{store:(0,Ne.alias)("element",(0,Ne.optional)((0,Ne.primitive)()))});const Xh=(0,Ne.createModelSchema)(class extends mh{activationConnection;get hashCode(){return Na([this.activationConnection??""])}},{_type:xe("snowflakeDeploymentConfiguration"),activationConnection:Ie(Yh)});class qh{id}class Qh extends qh{assertions=[];doc}class Zh{testable;atomicTestId;testSuiteId}class em extends Qh{serializationFormat;parameters=[];keys=[];get hashCode(){return Na([Ua.SERVICE_TEST,this.id,Na(this.assertions),Na(this.parameters),Na(this.keys),this.serializationFormat??""])}}class tm{id}class im extends tm{message;get hashCode(){return Na([Ua.ASSERT_FAIL,this.id,this.message])}}class sm extends tm{get hashCode(){return Na([Ua.ASSERT_PASS,this.id])}}class nm extends im{expected;actual;get hashCode(){return Na([Ua.EQUAL_TO_JSON_ASSERT_FAIL,this.id,this.message,this.expected,this.actual])}}class am{id}class rm extends am{expected;get hashCode(){return Na([Ua.EQUAL_TO,this.id,Va(this.expected)])}accept_TestAssertionVisitor(e){return e.visit_EqualTo(this)}}class om extends am{expected;get hashCode(){return Na([Ua.EQUAL_TO_JSON,this.id,this.expected])}accept_TestAssertionVisitor(e){return e.visit_EqualToJSON(this)}}class cm extends am{expected;get hashCode(){return Na([Ua.EQUAL_TO_TDS,this.id,this.expected])}accept_TestAssertionVisitor(e){return e.visit_EqualToTDS(this)}}class lm{}class dm extends lm{dataElement;get hashCode(){return Na([Ua.DATA_ELEMENT_REFERENCE,this.dataElement])}accept_EmbeddedDataVisitor(e){return e.visit_DataElementReference(this)}}class um extends lm{contentType;data;get hashCode(){return Na([Ua.EXTERNAL_FORMAT_DATA,this.contentType,this.data])}accept_EmbeddedDataVisitor(e){return e.visit_ExternalFormatData(this)}}class pm{model}class hm extends pm{instances;get hashCode(){return Na([Ua.MODEL_INSTANCE_DATA,this.model,Va(this.instances)])}}class mm{schema;table;values;get hashCode(){return Na([Ua.RELATIONAL_CSV_DATA_TABLE,this.schema,this.table,this.values])}}class gm extends lm{tables=[];accept_EmbeddedDataVisitor(e){return e.visit_RelationalData(this)}get hashCode(){return Na([Ua.RELATIONAL_CSV_DATA_TABLE,Na(this.tables)])}}var fm,_m;!function(e){e.MODEL_EMBEDDED_DATA="modelEmbeddedData",e.MODEL_INSTANCE_DATA="modelInstanceData"}(fm||(fm={})),function(e){e.MODEL_STORE_DATA="modelStore",e.EXTERNAL_FORMAT_DATA="externalFormat",e.DATA_ELEMENT_REFERENCE="reference",e.RELATIONAL_DATA="relationalCSVData"}(_m||(_m={}));(0,Ne.createModelSchema)(hm,{_type:xe(fm.MODEL_INSTANCE_DATA),instances:(0,Ne.raw)(),model:(0,Ne.primitive)()});const bm=(0,Ne.createModelSchema)(um,{_type:xe(_m.EXTERNAL_FORMAT_DATA),contentType:(0,Ne.primitive)(),data:(0,Ne.primitive)()}),Em=((0,Ne.createModelSchema)(dm,{_type:xe(_m.DATA_ELEMENT_REFERENCE),dataElement:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(mm,{schema:(0,Ne.optional)((0,Ne.primitive)()),table:(0,Ne.primitive)(),values:(0,Ne.primitive)()}));(0,Ne.createModelSchema)(gm,{_type:xe(_m.RELATIONAL_DATA),tables:(0,Ne.list)(Ie(Em))});class vm{name;query;inputData=[];assert;get hashCode(){return Na([Ua.MAPPING_TEST_LEGACY,this.name,this.query,Na(this.inputData),this.assert])}}class Tm{}class Sm{}class Cm extends Sm{expectedOutput;get hashCode(){return Na([Ua.EXPECTED_OUTPUT_MAPPING_TEST_ASSERT,this.expectedOutput])}}var ym,Nm;!function(e){e.JSON="JSON",e.XML="XML"}(ym||(ym={}));class Am extends Tm{inputType=ym.JSON;sourceClass;data;get hashCode(){return Na([Ua.OBJECT_INPUT_DATA,this.sourceClass,this.inputType,this.data])}}class Im extends Tm{sourceFlatData;data;get hashCode(){return Na([Ua.FLAT_DATA_INPUT_DATA,this.sourceFlatData,this.data])}}class xm extends Tm{database;data;inputType;get hashCode(){return Na([Ua.RELATIONAL_INPUT_DATA,this.database,this.data,this.inputType])}}class Om{id;association;stores=[];get hashCode(){return Na([Ua.ASSOCIATION_IMPLEMENTATION,this.association,this.id??"",Na(this.stores)])}}class wm extends Om{propertyMappings=[];get hashCode(){return Na([Ua.RELATIONAL_ASSOCIATION_IMPLEMENTATION,super.hashCode,Na(this.propertyMappings)])}}class Rm{type;multiplicity;get hashCode(){return Na([Ua.LOCAL_MAPPING_PROPERTY,this.type,this.multiplicity])}}class km{property;source;target;localMappingProperty;get hashCode(){return Na([Ua.PROPERTY_MAPPING,this.property,this.target??"",this.localMappingProperty??""])}}class Pm extends km{enumMappingId;relationalOperation;bindingTransformer;accept_PropertyMappingVisitor(e){return e.visit_RelationalPropertyMapping(this)}get hashCode(){return Na([Ua.REALTIONAL_PROPERTY_MAPPING,super.hashCode,this.enumMappingId??"",this.bindingTransformer??"",Va(this.relationalOperation)])}}class Mm{name;nullable;type;get hashCode(){return Na([Ua.DATABASE_TABLE_COLUMN,this.name,this.nullable.toString(),this.type])}}class Lm extends Cp{includedStores=[]}class Fm extends Lm{schemas=[];joins=[];filters=[];get hashCode(){return Na([Ua.DATABASE,this.path,Na(this.includedStores),Na(this.schemas),Na(this.joins),Na(this.filters)])}accept_PackageableElementVisitor(e){return e.visit_Database(this)}}class Dm{table;schema;database;mainTableDb;get hashCode(){return Na([Ua.RELATIONAL_OPERATION_TABLE_POINTER,this.database,this.schema,this.table])}}class Bm{name;tables=[];views=[];get hashCode(){return Na([Ua.DATABASE_SCHEMA,this.name,Na(this.tables),Na(this.views)])}}class jm{name;target;operation;get hashCode(){return Na([Ua.DATABASE_JOIN,this.name,this.operation])}}class Um{name;operation;get hashCode(){return Na([Ua.DATABASE_FILTER,this.name,this.operation])}}class Vm{name;columns=[];primaryKey=[];milestoning=[];get hashCode(){return Na([Ua.DATABASE_SCHEMA_TABLE,this.name,Na(this.columns),Na(this.primaryKey),Na(this.milestoning)])}}class Gm{}class zm extends Gm{size;get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_VARCHAR,this.size.toString()])}}class Hm extends Gm{size;get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_CHAR,this.size.toString()])}}class $m extends Gm{size;get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_VARBINARY,this.size.toString()])}}class Ym extends Gm{size;get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_BINARY,this.size.toString()])}}class Wm extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_BIT])}}class Km extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_INTEGER])}}class Jm extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_BIGINT])}}class Xm extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_SMALLINT])}}class qm extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_TINYINT])}}class Qm extends Gm{precision;scale;get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_NUMERIC,this.precision.toString(),this.scale.toString()])}}class Zm extends Gm{precision;scale;get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_DECIMAL,this.precision.toString(),this.scale.toString()])}}class eg extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_DOUBLE])}}class tg extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_FLOAT])}}class ig extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_REAL])}}class sg extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_DATE])}}class ng extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_TIMESTAMP])}}class ag extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_VARCHAR])}}class rg extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_SEMISTRUCTURED])}}class og extends Gm{get hashCode(){return Na([Ua.RELATIONAL_DATATYPE_JSON])}}class cg{name;mainTable;distinct;filter;primaryKey=[];columnMappings=[];groupBy=[];get hashCode(){return Na([Ua.DATBASE_VIEW,this.name,Boolean(this.distinct).toString(),this.filter??"",Na(this.primaryKey),Na(this.columnMappings),Na(this.groupBy)])}}class lg{db;name}class dg{filter;joins=[];get hashCode(){return Na([Ua.FILTER_MAPPING,this.filter.db??"",this.filter.name,Na(this.joins??[])])}}class ug{db;name;joinType;get hashCode(){return Na([Ua.DATABASE_JOIN,this.db,this.name,this.joinType??""])}}class pg{name;operation;get hashCode(){return Na([Ua.COLUMN_MAPPING,this.name,this.operation])}}class hg{}class mg extends hg{funcName;parameters=[];get hashCode(){return Na([Ua.RELATIONAL_OPERATION_DYNA_FUNC,this.funcName,Na(this.parameters)])}}class gg extends hg{joins=[];relationalElement;get hashCode(){return Na([Ua.RELATIONAL_OPERATION_ELEMENTS_WITH_JOINS,Na(this.joins),this.relationalElement??""])}}class fg extends hg{table;tableAlias;column;get hashCode(){return Na([Ua.RELATIONAL_OPERATION_TABLE_ALIAS_COLUMN,this.table,this.tableAlias,this.column])}}class _g extends hg{value;get hashCode(){return Na([Ua.RELATIONAL_OPERATION_LITERAL,"number"==typeof this.value?this.value.toString():this.value])}}class bg extends hg{values=[];get hashCode(){return Na([Ua.RELATIONAL_OPERATION_LITERAL_LIST,Na(this.values)])}}class Eg{infinityDate}class vg extends Eg{from;thru;thruIsInclusive;get hashCode(){return Na([Ua.BUSINESS_MILESTONING,this.infinityDate??"",this.from,this.thru,this.thruIsInclusive.toString()])}}class Tg extends Eg{snapshotDate;get hashCode(){return Na([Ua.BUSINESS_SNAPSHOT_MILESTONING,this.infinityDate??"",this.snapshotDate])}}class Sg extends Eg{in;out;outIsInclusive;get hashCode(){return Na([Ua.PROCESSING_MILESTONING,this.infinityDate??"",this.in,this.out,this.outIsInclusive.toString()])}}!function(e){e.BUSINESS_MILESTONING="businessMilestoning",e.BUSINESS_SNAPSHOT_MILESTONING="businessSnapshotMilestoning",e.PROCESSING_MILESTONING="processingMilestoning"}(Nm||(Nm={}));(0,Ne.createModelSchema)(vg,{_type:xe(Nm.BUSINESS_MILESTONING),from:(0,Ne.primitive)(),infinityDate:Oe(uh,ph),thru:(0,Ne.primitive)(),thruIsInclusive:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Tg,{_type:xe(Nm.BUSINESS_SNAPSHOT_MILESTONING),infinityDate:Oe(uh,ph),snapshotDate:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Sg,{_type:xe(Nm.PROCESSING_MILESTONING),in:(0,Ne.primitive)(),infinityDate:Oe(uh,ph),out:(0,Ne.primitive)(),outIsInclusive:(0,Ne.primitive)()});class Cg{from;to;get hashCode(){return Na([this.from,this.to])}}class yg extends Cg{get hashCode(){return Na([super.hashCode,Ua.SCHEMA_MAPPER])}}class Ng extends Cg{schema;get hashCode(){return Na([super.hashCode,Ua.TABLE_MAPPER,this.schema])}}class Ag{}class Ig extends Ag{mappers=[];get hashCode(){return Na([Ua.MAPPER_POST_PROCESSOR,Na(this.mappers)])}}var xg,Og;!function(e){e.TABLE="table",e.SCHEMA="schema"}(xg||(xg={})),function(e){e.MAPPER="mapper"}(Og||(Og={}));const wg=(0,Ne.createModelSchema)(yg,{_type:xe(xg.SCHEMA),from:(0,Ne.primitive)(),to:(0,Ne.primitive)()}),Rg=(0,Ne.createModelSchema)(Ng,{_type:xe(xg.TABLE),from:(0,Ne.primitive)(),schema:Ie(wg),to:(0,Ne.primitive)()});(0,Ne.createModelSchema)(Ig,{_type:xe(Og.MAPPER),mappers:(0,Ne.list)((0,Ne.custom)((e=>(e=>{if(e instanceof Ng)return(0,Ne.serialize)(Rg,e);if(e instanceof yg)return(0,Ne.serialize)(wg,e);throw new V("Can't serialize mapper",e)})(e)),(e=>(e=>{switch(e._type){case xg.TABLE:return(0,Ne.deserialize)(Rg,e);case xg.SCHEMA:return(0,Ne.deserialize)(wg,e);default:throw new V(`Can't deserialize mapper of type '${e._type}'`)}})(e))))});var kg,Pg;!function(e){e.STANDARD="filter",e.MULTI_GRAIN="MultiGrainFilter"}(kg||(kg={})),function(e){e.DYNA_FUNC="dynaFunc",e.ELEMENT_WITH_JOINS="elemtWithJoins",e.LITERAL="literal",e.LITERAL_LIST="literalList",e.TABLE_ALIAS_COLUMN="column"}(Pg||(Pg={}));var Mg;!function(e){e.VARCHAR="Varchar",e.CHAR="Char",e.VARBINARY="Varbinary",e.BINARY="Binary",e.BIT="Bit",e.NUMERIC="Numeric",e.DECIMAL="Decimal",e.DOUBLE="Double",e.FLOAT="Float",e.REAL="Real",e.INTEGER="Integer",e.BIGINT="BigInt",e.SMALLINT="SmallInt",e.TINYINT="TinyInt",e.DATE="Date",e.TIMESTAMP="Timestamp",e.ARRAY="Array",e.OTHER="Other",e.SEMISTRUCTURED="SemiStructured",e.JSON="Json"}(Mg||(Mg={}));const Lg=(0,Ne.createModelSchema)(ag,{_type:xe(Mg.OTHER)}),Fg=(0,Ne.createModelSchema)(ng,{_type:xe(Mg.TIMESTAMP)}),Dg=(0,Ne.createModelSchema)(sg,{_type:xe(Mg.DATE)}),Bg=(0,Ne.createModelSchema)(ig,{_type:xe(Mg.REAL)}),jg=(0,Ne.createModelSchema)(tg,{_type:xe(Mg.FLOAT)}),Ug=(0,Ne.createModelSchema)(eg,{_type:xe(Mg.DOUBLE)}),Vg=(0,Ne.createModelSchema)(Zm,{_type:xe(Mg.DECIMAL),precision:(0,Ne.primitive)(),scale:(0,Ne.primitive)()}),Gg=(0,Ne.createModelSchema)(Qm,{_type:xe(Mg.NUMERIC),precision:(0,Ne.primitive)(),scale:(0,Ne.primitive)()}),zg=(0,Ne.createModelSchema)(qm,{_type:xe(Mg.TINYINT)}),Hg=(0,Ne.createModelSchema)(Xm,{_type:xe(Mg.SMALLINT)}),$g=(0,Ne.createModelSchema)(Jm,{_type:xe(Mg.BIGINT)}),Yg=(0,Ne.createModelSchema)(Km,{_type:xe(Mg.INTEGER)}),Wg=(0,Ne.createModelSchema)(Wm,{_type:xe(Mg.BIT)}),Kg=(0,Ne.createModelSchema)(Ym,{_type:xe(Mg.BINARY),size:(0,Ne.primitive)()}),Jg=(0,Ne.createModelSchema)($m,{_type:xe(Mg.VARBINARY),size:(0,Ne.primitive)()}),Xg=(0,Ne.createModelSchema)(Hm,{_type:xe(Mg.CHAR),size:(0,Ne.primitive)()}),qg=(0,Ne.createModelSchema)(zm,{_type:xe(Mg.VARCHAR),size:(0,Ne.primitive)()}),Qg=(0,Ne.createModelSchema)(rg,{_type:xe(Mg.SEMISTRUCTURED)}),Zg=(0,Ne.createModelSchema)(og,{_type:xe(Mg.JSON)}),ef=((0,Ne.createModelSchema)(Mm,{name:(0,Ne.primitive)(),nullable:(0,Ne.optional)((0,Ne.primitive)()),type:(0,Ne.custom)((e=>(e=>{if(e instanceof zm)return(0,Ne.serialize)(qg,e);if(e instanceof Hm)return(0,Ne.serialize)(Xg,e);if(e instanceof $m)return(0,Ne.serialize)(Jg,e);if(e instanceof Ym)return(0,Ne.serialize)(Kg,e);if(e instanceof Wm)return(0,Ne.serialize)(Wg,e);if(e instanceof Qm)return(0,Ne.serialize)(Gg,e);if(e instanceof eg)return(0,Ne.serialize)(Ug,e);if(e instanceof tg)return(0,Ne.serialize)(jg,e);if(e instanceof ig)return(0,Ne.serialize)(Bg,e);if(e instanceof Km)return(0,Ne.serialize)(Yg,e);if(e instanceof Jm)return(0,Ne.serialize)($g,e);if(e instanceof Xm)return(0,Ne.serialize)(Hg,e);if(e instanceof qm)return(0,Ne.serialize)(zg,e);if(e instanceof sg)return(0,Ne.serialize)(Dg,e);if(e instanceof ng)return(0,Ne.serialize)(Fg,e);if(e instanceof Zm)return(0,Ne.serialize)(Vg,e);if(e instanceof ag)return(0,Ne.serialize)(Lg,e);if(e instanceof rg)return(0,Ne.serialize)(Qg,e);if(e instanceof og)return(0,Ne.serialize)(Zg,e);throw new V("Can't serialize relational data type",e)})(e)),(e=>(e=>{switch(e._type){case Mg.VARCHAR:return(0,Ne.deserialize)(qg,e);case Mg.CHAR:return(0,Ne.deserialize)(Xg,e);case Mg.VARBINARY:return(0,Ne.deserialize)(Jg,e);case Mg.BINARY:return(0,Ne.deserialize)(Kg,e);case Mg.BIT:return(0,Ne.deserialize)(Wg,e);case Mg.NUMERIC:return(0,Ne.deserialize)(Gg,e);case Mg.DOUBLE:return(0,Ne.deserialize)(Ug,e);case Mg.FLOAT:return(0,Ne.deserialize)(jg,e);case Mg.REAL:return(0,Ne.deserialize)(Bg,e);case Mg.INTEGER:return(0,Ne.deserialize)(Yg,e);case Mg.BIGINT:return(0,Ne.deserialize)($g,e);case Mg.SMALLINT:return(0,Ne.deserialize)(Hg,e);case Mg.TINYINT:return(0,Ne.deserialize)(zg,e);case Mg.DATE:return(0,Ne.deserialize)(Dg,e);case Mg.TIMESTAMP:return(0,Ne.deserialize)(Fg,e);case Mg.ARRAY:return(0,Ne.deserialize)(Lg,e);case Mg.DECIMAL:return(0,Ne.deserialize)(Vg,e);case Mg.OTHER:return(0,Ne.deserialize)(Lg,e);case Mg.SEMISTRUCTURED:return(0,Ne.deserialize)(Qg,e);case Mg.JSON:return(0,Ne.deserialize)(Zg,e);default:throw new V(`Can't deserialize relational column data type '${e._type}'`)}})(e)))}),(0,Ne.createModelSchema)(Dm,{_type:xe("Table"),database:(0,Ne.primitive)(),mainTableDb:(0,Ne.primitive)(),schema:(0,Ne.primitive)(),table:(0,Ne.primitive)()})),tf=(0,Ne.createModelSchema)(lg,{db:(0,Ne.optional)((0,Ne.primitive)()),name:(0,Ne.primitive)()}),sf=(0,Ne.createModelSchema)(ug,{db:(0,Ne.primitive)(),joinType:(0,Ne.optional)((0,Ne.primitive)()),name:(0,Ne.primitive)()}),nf=(0,Ne.createModelSchema)(mg,{_type:xe(Pg.DYNA_FUNC),funcName:(0,Ne.primitive)(),parameters:(0,Ne.list)((0,Ne.custom)((e=>lf(e)),(e=>df(e))))}),af=(0,Ne.createModelSchema)(gg,{_type:xe(Pg.ELEMENT_WITH_JOINS),joins:(0,Ne.list)(Ie(sf)),relationalElement:Oe(lf,df)}),rf=(0,Ne.createModelSchema)(_g,{_type:xe(Pg.LITERAL),value:(0,Ne.custom)((e=>"string"==typeof e||"number"==typeof e?e:lf(e)),(e=>"string"==typeof e||"number"==typeof e?e:df(e)))}),of=(0,Ne.createModelSchema)(bg,{_type:xe(Pg.LITERAL_LIST),values:(0,Ne.list)(Ie(rf))}),cf=(0,Ne.createModelSchema)(fg,{_type:xe(Pg.TABLE_ALIAS_COLUMN),column:(0,Ne.primitive)(),table:Ie(ef),tableAlias:(0,Ne.primitive)()});function lf(e){if(e instanceof mg)return(0,Ne.serialize)(nf,e);if(e instanceof gg)return(0,Ne.serialize)(af,e);if(e instanceof _g)return(0,Ne.serialize)(rf,e);if(e instanceof bg)return(0,Ne.serialize)(of,e);if(e instanceof fg)return(0,Ne.serialize)(cf,e);throw new V("Can't serialize relational operation element",e)}function df(e){switch(e._type){case Pg.DYNA_FUNC:return(0,Ne.deserialize)(nf,e);case Pg.ELEMENT_WITH_JOINS:return(0,Ne.deserialize)(af,e);case Pg.LITERAL:return(0,Ne.deserialize)(rf,e);case Pg.LITERAL_LIST:return(0,Ne.deserialize)(of,e);case Pg.TABLE_ALIAS_COLUMN:return(0,Ne.deserialize)(cf,e);default:throw new V(`Can't deserialize relational operation element of type '${e._type}'`)}}const uf=(0,Ne.createModelSchema)(dg,{filter:Ie(tf),joins:(0,Ne.list)(Ie(sf))}),pf=(0,Ne.createModelSchema)(pg,{name:(0,Ne.primitive)(),operation:(0,Ne.custom)((e=>lf(e)),(e=>df(e)))}),hf=(0,Ne.createModelSchema)(cg,{columnMappings:(0,Ne.list)(Ie(pf)),distinct:(0,Ne.primitive)(),filter:Ie(uf),groupBy:(0,Ne.list)((0,Ne.custom)((e=>lf(e)),(e=>df(e)))),mainTable:Ie(ef),name:(0,Ne.primitive)(),primaryKey:(0,Ne.list)((0,Ne.primitive)())}),mf=(0,Ne.createModelSchema)(Bm,{name:(0,Ne.primitive)(),tables:(0,Ne.list)((0,Ne.object)(Vm)),views:(0,Ne.list)(Ie(hf))}),gf=(0,Ne.createModelSchema)(jm,{name:(0,Ne.primitive)(),operation:(0,Ne.custom)((e=>lf(e)),(e=>df(e))),target:(0,Ne.optional)((0,Ne.primitive)())}),ff=(0,Ne.createModelSchema)(Um,{_type:xe(kg.STANDARD),name:(0,Ne.primitive)(),operation:(0,Ne.custom)((e=>lf(e)),(e=>df(e)))});(0,Ne.createModelSchema)(Fm,{_type:xe("relational"),filters:(0,Ne.list)(Ie(ff)),includedStores:(0,Ne.list)((0,Ne.primitive)()),joins:(0,Ne.list)(Ie(gf)),name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),schemas:(0,Ne.list)(Ie(mf))});class _f{}class bf extends _f{includedMapping;sourceDatabasePath;targetDatabasePath;get hashCode(){return Na([Ua.MAPPING_INCLUDE_MAPPING,this.includedMapping,this.sourceDatabasePath??"",this.targetDatabasePath??""])}}class Ef{value}class vf extends Ef{}class Tf extends Ef{}class Sf extends Ef{enumeration}const Cf=e=>{if(e instanceof vf)return ka.STRING;if(e instanceof Tf)return ka.INTEGER;if(e instanceof Sf)return e.enumeration;throw new V("Can't classify enum value mapping source value",e)};class yf{enumValue;sourceValues=[];get hashCode(){return Na([Ua.ENUM_VALUE_MAPPING,this.enumValue,Na(this.sourceValues.map((e=>e instanceof Tf?e.value.toString():e instanceof Sf?`${e.enumeration}.${e.value}`:e.value)))])}}class Nf{id;enumeration;sourceType;enumValueMappings=[];get hashCode(){return Na([Ua.ENUMERATION_MAPPING,this.id??"",this.enumeration,this.enumValueMappings.length?R(Array.from(new Set(this.enumValueMappings.flatMap((e=>e.sourceValues.map(Cf)))).values()))??"":"",Na(this.enumValueMappings)])}}class Af{id;class;root;mappingClass;extendsClassMappingId;get hashCode(){return Na([Ua.SET_IMPLEMENTATION,this.id??"",this.class??"",this.root.toString(),this.extendsClassMappingId??""])}}var If,xf,Of;!function(e){e.STORE_UNION="STORE_UNION",e.ROUTER_UNION="ROUTER_UNION",e.INHERITANCE="INHERITANCE",e.MERGE="MERGE"}(If||(If={}));class wf extends Af{parameters=[];operation;get hashCode(){return Na([Ua.OPERATION_SET_IMPLEMENTATION,this.operation,Na(this.parameters)])}accept_ClassMappingVisitor(e){return e.visit_OperationClassMapping(this)}}class Rf extends Af{srcClass;propertyMappings=[];filter;get hashCode(){return Na([Ua.PURE_INSTANCE_SET_IMPLEMENTATION,super.hashCode,this.srcClass??"",this.filter??"",Na(this.propertyMappings)])}accept_ClassMappingVisitor(e){return e.visit_PureInstanceClassMapping(this)}}class kf extends km{enumMappingId;explodeProperty;transform;get hashCode(){return Na([Ua.PURE_PROPERTY_MAPPING,super.hashCode,this.enumMappingId??"",this.transform,Boolean(this.explodeProperty).toString()])}accept_PropertyMappingVisitor(e){return e.visit_PurePropertyMapping(this)}}class Pf extends km{}class Mf extends Pf{enumMappingId;transform;get hashCode(){return Na([Ua.FLAT_DATA_PROPERTY_MAPPING,super.hashCode,this.enumMappingId??"",this.transform])}accept_PropertyMappingVisitor(e){return e.visit_FlatDataPropertyMapping(this)}}class Lf extends Pf{id;root;class;propertyMappings=[];get hashCode(){return Na([Ua.EMBEDDED_FLAT_DATA_PROPERTY_MAPPING,super.hashCode,this.id,this.class,Na(this.propertyMappings)])}accept_PropertyMappingVisitor(e){return e.visit_EmbeddedFlatDataPropertyMapping(this)}}class Ff extends Af{flatData;sectionName;filter;propertyMappings=[];get hashCode(){return Na([Ua.FLAT_DATA_INSTANCE_SET_IMPLEMENTATION,super.hashCode,this.flatData,this.sectionName,this.filter??"",Na(this.propertyMappings)])}accept_ClassMappingVisitor(e){return e.visit_RootFlatDataClassMapping(this)}}class Df extends Af{primaryKey=[];propertyMappings=[];accept_ClassMappingVisitor(e){return e.visit_RelationalClassMapping(this)}get hashCode(){return Na([Ua.RELATIONAL_INSTANCE_SET_IMPLEMENTATION,super.hashCode,Na(this.primaryKey),Na(this.propertyMappings)])}}class Bf extends Df{mainTable;distinct;groupBy=[];filter;accept_ClassMappingVisitor(e){return e.visit_RootRelationalClassMapping(this)}get hashCode(){return Na([Ua.ROOT_RELATIONAL_INSTANCE_SET_IMPLEMENTATION,super.hashCode,this.mainTable??"",this.distinct.toString(),Na(this.groupBy),this.filter??""])}}class jf extends km{id;classMapping;accept_PropertyMappingVisitor(e){return e.visit_EmbeddedRelationalPropertyMapping(this)}get hashCode(){return Na([Ua.EMBEDDED_REALTIONAL_PROPERTY_MAPPING,super.hashCode,this.classMapping.class??"",Na(this.classMapping.primaryKey),Na(this.classMapping.propertyMappings)])}}class Uf extends jf{otherwisePropertyMapping;accept_PropertyMappingVisitor(e){return e.visit_OtherwiseEmbeddedRelationalPropertyMapping(this)}get hashCode(){return Na([Ua.OTHERWISE_EMBEDDED_REALTIONAL_PROPERTY_MAPPING,super.hashCode,this.otherwisePropertyMapping])}}class Vf extends km{id;setImplementationId;accept_PropertyMappingVisitor(e){return e.visit_InlineEmbeddedPropertyMapping(this)}get hashCode(){return Na([Ua.INLINE_EMBEDDED_REALTIONAL_PROPERTY_MAPPING,this.property,this.setImplementationId])}}class Gf{canAggregate=!1;groupByFunctions=[];aggregateValues=[];get hashCode(){return Na([Ua.AGGREGATION_AWARE_SPECIFICATION,Na(this.groupByFunctions),Na(this.aggregateValues),this.canAggregate.toString()])}}class zf{mapFn;aggregateFn;get hashCode(){return Na([Ua.AGGREGATE_FUNCTION,Ga(this.mapFn.parameters,this.mapFn.body),Ga(this.aggregateFn.parameters,this.aggregateFn.body)])}}class Hf{groupByFn;get hashCode(){return Na([Ua.GROUP_BY_FUNCTION,Ga(this.groupByFn.parameters,this.groupByFn.body)])}}class $f extends km{accept_PropertyMappingVisitor(e){return e.visit_AggregationAwarePropertyMapping(this)}}class Yf extends km{crossExpression;get hashCode(){return Na([Ua.XSTORE_PROPERTY_MAPPING,super.hashCode,this.crossExpression])}accept_PropertyMappingVisitor(e){return e.visit_XStorePropertyMapping(this)}}class Wf extends Om{propertyMappings=[];get hashCode(){return Na([Ua.XSTORE_ASSOCIATION_IMPLEMENTATION,super.hashCode,Na(this.propertyMappings)])}}class Kf{binding;get hashCode(){return Na([Ua.BINDING_TRANSFORMER,this.binding])}}class Jf extends wf{validationFunction;get hashCode(){return Na([Ua.OPERATION_SET_IMPLEMENTATION,this.operation,Na(this.parameters),Ga(this.validationFunction.parameters,this.validationFunction.body)])}accept_ClassMappingVisitor(e){return e.visit_MergeOperationClassMapping(this)}}class Xf extends Om{propertyMappings=[];get hashCode(){return Na([Ua.FLAT_DATA_ASSOCIATION_IMPLEMENTATION,super.hashCode,Na(this.propertyMappings)])}}class qf extends km{flatData;sectionName;accept_PropertyMappingVisitor(e){return e.visit_FlatDataAssociationPropertyMapping(this)}get hashCode(){return Na([Ua.FLAT_DATA_ASSOCIATION_PROPERTY_MAPPING,super.hashCode,this.flatData,this.sectionName])}}class Qf extends Af{content;get hashCode(){return Na([Ua.INTERNAL__UNKNOWN_CLASS_MAPPING,this.id??"",this.class??"",this.root.toString(),Va(this.content)])}accept_ClassMappingVisitor(e){return e.visit_INTERNAL__UnknownClassMapping(this)}}!function(e){e.OPERATION="operation",e.MERGE_OPERATION="mergeOperation",e.PUREINSTANCE="pureInstance",e.ROOT_FLAT_DATA="flatData",e.ROOT_RELATIONAL="relational",e.RELATIONAL="embedded",e.AGGREGATION_AWARE="aggregationAware"}(xf||(xf={})),function(e){e.PURE="purePropertyMapping",e.FLAT_DATA="flatDataPropertyMapping",e.ASSOCIATION_FLAT_DATA="flatDataAssociationPropertyMapping",e.EMBEDDED_FLAT_DATA="embeddedFlatDataPropertyMapping",e.RELATIONAL="relationalPropertyMapping",e.EMBEDDED_RELATIONAL="embeddedPropertyMapping",e.INLINE_EMBEDDED_RELATIONAL="inlineEmbeddedPropertyMapping",e.OTHERWISE_EMBEDDED_RELATIONAL="otherwiseEmbeddedPropertyMapping",e.AGGREGATION_AWARE="AggregationAwarePropertyMapping",e.XSTORE="xStorePropertyMapping"}(Of||(Of={}));const Zf=(0,Ne.createModelSchema)(Rm,{multiplicity:Ie(jp),type:(0,Ne.primitive)()}),e_=((0,Ne.createModelSchema)(wf,{_type:xe(xf.OPERATION),class:(0,Ne.primitive)(),extendsClassMappingId:(0,Ne.optional)((0,Ne.primitive)()),id:(0,Ne.optional)((0,Ne.primitive)()),operation:(0,Ne.primitive)(),parameters:(0,Ne.list)((0,Ne.primitive)()),root:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(Jf,{_type:xe(xf.MERGE_OPERATION),class:(0,Ne.primitive)(),extendsClassMappingId:(0,Ne.optional)((0,Ne.primitive)()),id:(0,Ne.optional)((0,Ne.primitive)()),operation:(0,Ne.primitive)(),parameters:(0,Ne.list)((0,Ne.primitive)()),root:(0,Ne.primitive)(),validationFunction:Ie(oh)}),(0,Ne.createModelSchema)(kf,{_type:xe(Of.PURE),enumMappingId:(0,Ne.optional)((0,Ne.primitive)()),explodeProperty:(0,Ne.optional)((0,Ne.primitive)()),localMappingProperty:Ie(Zf),property:Ie(wb),source:(0,Ne.primitive)(),target:(0,Ne.optional)((0,Ne.primitive)()),transform:Ie(oh)}));(0,Ne.createModelSchema)(Rf,{_type:xe(xf.PUREINSTANCE),class:(0,Ne.primitive)(),extendsClassMappingId:(0,Ne.optional)((0,Ne.primitive)()),filter:Ie(oh),id:(0,Ne.optional)((0,Ne.primitive)()),propertyMappings:(0,Ne.list)((0,Ne.custom)((function(e){return e instanceof kf?(0,Ne.serialize)(e_,e):Ne.SKIP}),(function(e){return e._type===Of.PURE?(0,Ne.deserialize)(e_,e):Ne.SKIP}))),root:(0,Ne.primitive)(),srcClass:(0,Ne.optional)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(Bf,{_type:xe(xf.ROOT_RELATIONAL),class:(0,Ne.primitive)(),distinct:(0,Ne.primitive)(),extendsClassMappingId:(0,Ne.optional)((0,Ne.primitive)()),filter:Ie(uf),groupBy:Me(lf,df,{INTERNAL__forceReturnEmptyInTest:!0}),id:(0,Ne.optional)((0,Ne.primitive)()),mainTable:Ie(ef),primaryKey:(0,Ne.list)((0,Ne.custom)(lf,df)),propertyMappings:(0,Ne.list)((0,Ne.custom)(l_,d_)),root:(0,Ne.optional)((0,Ne.primitive)())});const t_=(0,Ne.createModelSchema)(Df,{_type:xe(xf.RELATIONAL),class:(0,Ne.optional)((0,Ne.primitive)()),extendsClassMappingId:(0,Ne.optional)((0,Ne.primitive)()),id:(0,Ne.optional)((0,Ne.primitive)()),primaryKey:(0,Ne.list)((0,Ne.custom)((e=>lf(e)),(e=>df(e)))),propertyMappings:(0,Ne.list)((0,Ne.custom)((e=>l_(e)),(e=>d_(e)))),root:(0,Ne.optional)((0,Ne.primitive)())}),i_=(0,Ne.createModelSchema)(Kf,{binding:(0,Ne.primitive)()}),s_=(0,Ne.createModelSchema)(Pm,{_type:xe(Of.RELATIONAL),bindingTransformer:Oe((e=>(0,Ne.serialize)(i_,e)),(e=>(0,Ne.deserialize)(i_,e))),enumMappingId:(0,Ne.optional)((0,Ne.primitive)()),localMappingProperty:Ie(Zf),property:Ie(wb),relationalOperation:(0,Ne.raw)(),source:(0,Ne.optional)((0,Ne.primitive)()),target:(0,Ne.optional)((0,Ne.primitive)())}),n_=(0,Ne.createModelSchema)(qf,{_type:xe(Of.ASSOCIATION_FLAT_DATA),flatData:(0,Ne.primitive)(),property:Ie(wb),sectionName:(0,Ne.primitive)(),source:(0,Ne.optional)((0,Ne.primitive)()),target:(0,Ne.optional)((0,Ne.primitive)())}),a_=(0,Ne.createModelSchema)(jf,{_type:xe(Of.EMBEDDED_RELATIONAL),classMapping:Ie(t_),id:(0,Ne.optional)((0,Ne.primitive)()),localMappingProperty:Ie(Zf),property:Ie(wb),source:(0,Ne.optional)((0,Ne.primitive)()),target:(0,Ne.optional)((0,Ne.primitive)())}),r_=(0,Ne.createModelSchema)(Uf,{_type:xe(Of.OTHERWISE_EMBEDDED_RELATIONAL),classMapping:Ie(t_),localMappingProperty:Ie(Zf),otherwisePropertyMapping:(0,Ne.custom)(l_,d_),property:Ie(wb),source:(0,Ne.optional)((0,Ne.primitive)()),target:(0,Ne.optional)((0,Ne.primitive)())});r_.extends=void 0;const o_=(0,Ne.createModelSchema)(Vf,{_type:xe(Of.INLINE_EMBEDDED_RELATIONAL),id:(0,Ne.optional)((0,Ne.primitive)()),localMappingProperty:Ie(Zf),property:Ie(wb),source:(0,Ne.optional)((0,Ne.primitive)()),setImplementationId:(0,Ne.primitive)(),target:(0,Ne.optional)((0,Ne.primitive)())}),c_=(0,Ne.createModelSchema)(Yf,{_type:xe(Of.XSTORE),crossExpression:Ie(oh),localMappingProperty:Ie(Zf),property:Ie(wb),source:(0,Ne.primitive)(),target:(0,Ne.optional)((0,Ne.primitive)())});function l_(e){return e instanceof Pm?(0,Ne.serialize)(s_,e):e instanceof Uf?(0,Ne.serialize)(r_,e):e instanceof jf?(0,Ne.serialize)(a_,e):e instanceof Vf?(0,Ne.serialize)(o_,e):e instanceof Yf?(0,Ne.serialize)(c_,e):Ne.SKIP}function d_(e){switch(e._type){case Of.RELATIONAL:return(0,Ne.deserialize)(s_,e);case Of.EMBEDDED_RELATIONAL:return(0,Ne.deserialize)(a_,e);case Of.OTHERWISE_EMBEDDED_RELATIONAL:return(0,Ne.deserialize)(r_,e);case Of.INLINE_EMBEDDED_RELATIONAL:return(0,Ne.deserialize)(o_,e);case Of.XSTORE:return(0,Ne.deserialize)(c_,e);default:return Ne.SKIP}}const u_=(0,Ne.createModelSchema)(Mf,{_type:xe(Of.FLAT_DATA),enumMappingId:(0,Ne.optional)((0,Ne.primitive)()),localMappingProperty:Ie(Zf),property:Ie(wb),source:(0,Ne.primitive)(),target:(0,Ne.optional)((0,Ne.primitive)()),transform:Ie(oh)}),p_=(0,Ne.createModelSchema)(Lf,{_type:xe(Of.EMBEDDED_FLAT_DATA),class:(0,Ne.primitive)(),id:(0,Ne.optional)((0,Ne.primitive)()),localMappingProperty:Ie(Zf),property:Ie(wb),propertyMappings:(0,Ne.list)((0,Ne.custom)(h_,m_)),root:(0,Ne.primitive)(),source:(0,Ne.primitive)(),target:(0,Ne.optional)((0,Ne.primitive)())});function h_(e){return e instanceof Mf?(0,Ne.serialize)(u_,e):e instanceof Lf?(0,Ne.serialize)(p_,e):Ne.SKIP}function m_(e){switch(e._type){case Of.FLAT_DATA:return(0,Ne.deserialize)(u_,e);case Of.EMBEDDED_FLAT_DATA:return(0,Ne.deserialize)(p_,e);default:return Ne.SKIP}}(0,Ne.createModelSchema)(Ff,{_type:xe(xf.ROOT_FLAT_DATA),class:(0,Ne.primitive)(),extendsClassMappingId:(0,Ne.optional)((0,Ne.primitive)()),filter:Ie(oh),flatData:(0,Ne.primitive)(),id:(0,Ne.optional)((0,Ne.primitive)()),propertyMappings:(0,Ne.list)((0,Ne.custom)(h_,m_)),root:(0,Ne.primitive)(),sectionName:(0,Ne.primitive)()}),(0,Ne.createModelSchema)($f,{_type:xe(Of.AGGREGATION_AWARE),localMappingProperty:Ie(Zf),property:Ie(wb),source:(0,Ne.optional)((0,Ne.primitive)()),target:(0,Ne.optional)((0,Ne.primitive)())});const g_=(0,Ne.createModelSchema)(zf,{aggregateFn:Ie(oh),mapFn:Ie(oh)}),f_=(0,Ne.createModelSchema)(Hf,{groupByFn:Ie(oh)});(0,Ne.createModelSchema)(Gf,{aggregateValues:(0,Ne.list)(Ie(g_)),canAggregate:(0,Ne.primitive)(),groupByFunctions:(0,Ne.list)(Ie(f_))});(0,Ne.createModelSchema)(Qf,{class:(0,Ne.primitive)(),id:(0,Ne.optional)((0,Ne.primitive)()),root:(0,Ne.primitive)()});var __,b_;!function(e){e.OBJECT="object",e.FLAT_DATA="flatData",e.RELATIONAL="relational"}(__||(__={})),function(e){e.EXPECTED_OUTPUT_MAPPING_TEST_ASSERT="expectedOutputMappingTestAssert"}(b_||(b_={}));const E_=(0,Ne.createModelSchema)(Am,{_type:xe(__.OBJECT),data:(0,Ne.primitive)(),inputType:(0,Ne.primitive)(),sourceClass:(0,Ne.primitive)()}),v_=(0,Ne.createModelSchema)(Im,{_type:xe(__.FLAT_DATA),data:(0,Ne.primitive)(),sourceFlatData:Ie(Bp)}),T_=(0,Ne.createModelSchema)(xm,{_type:xe(__.RELATIONAL),data:(0,Ne.primitive)(),database:(0,Ne.primitive)(),inputType:(0,Ne.primitive)()}),S_=(0,Ne.createModelSchema)(Cm,{_type:xe(b_.EXPECTED_OUTPUT_MAPPING_TEST_ASSERT),expectedOutput:(0,Ne.primitive)()});(0,Ne.createModelSchema)(vm,{assert:(0,Ne.custom)((e=>{if(e instanceof Cm)return(0,Ne.serialize)(S_,e);throw new V("Can't serialize mapping test assert",e)}),(e=>{if(e._type===b_.EXPECTED_OUTPUT_MAPPING_TEST_ASSERT)return(0,Ne.deserialize)(S_,e);throw new V(`Can't deserialize mapping test assert of type '${e._type}'`)})),inputData:(0,Ne.list)((0,Ne.custom)((e=>{if(e instanceof Am)return(0,Ne.serialize)(E_,e);if(e instanceof Im)return(0,Ne.serialize)(v_,e);if(e instanceof xm)return(0,Ne.serialize)(T_,e);throw new V("Can't serialize mapping test input data",e)}),(e=>{switch(e._type){case __.OBJECT:return(0,Ne.deserialize)(E_,e);case __.FLAT_DATA:return(0,Ne.deserialize)(v_,e);case __.RELATIONAL:return(0,Ne.deserialize)(T_,e);default:throw new V(`Can't deserialize mapping test input data of type '${e._type}'`)}}))),name:(0,Ne.primitive)(),query:Ie(oh)});var C_;!function(e){e.RELATIONAL="relational",e.XSTORE="xStore",e.FLAT_DATA="flatData"}(C_||(C_={}));const y_=e=>e instanceof Pm?(0,Ne.serialize)(s_,e):e instanceof Yf?(0,Ne.serialize)(c_,e):e instanceof qf?(0,Ne.serialize)(n_,e):Ne.SKIP,N_=e=>{switch(e._type){case Of.RELATIONAL:return(0,Ne.deserialize)(s_,e);case Of.XSTORE:return(0,Ne.deserialize)(c_,e);case Of.ASSOCIATION_FLAT_DATA:return(0,Ne.deserialize)(n_,e);default:return Ne.SKIP}};(0,Ne.createModelSchema)(wm,{_type:xe(C_.RELATIONAL),association:(0,Ne.primitive)(),id:(0,Ne.optional)((0,Ne.primitive)()),propertyMappings:(0,Ne.list)((0,Ne.custom)(y_,N_)),stores:(0,Ne.list)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(Xf,{_type:xe(C_.FLAT_DATA),association:(0,Ne.primitive)(),id:(0,Ne.optional)((0,Ne.primitive)()),propertyMappings:(0,Ne.list)((0,Ne.custom)(y_,N_)),stores:(0,Ne.list)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(Wf,{_type:xe(C_.XSTORE),association:(0,Ne.primitive)(),id:(0,Ne.optional)((0,Ne.primitive)()),propertyMappings:(0,Ne.list)((0,Ne.custom)(y_,N_)),stores:(0,Ne.list)((0,Ne.primitive)())});var A_;!function(e){e.STRING="stringSourceValue",e.INTEGER="integerSourceValue",e.ENUM="enumSourceValue"}(A_||(A_={}));const I_=(0,Ne.createModelSchema)(vf,{_type:xe(A_.STRING),value:(0,Ne.primitive)()}),x_=(0,Ne.createModelSchema)(Tf,{_type:xe(A_.INTEGER),value:(0,Ne.primitive)()}),O_=(0,Ne.createModelSchema)(Sf,{_type:xe(A_.ENUM),enumeration:(0,Ne.primitive)(),value:(0,Ne.primitive)()}),w_=(e,t)=>{if(t.args){const i=t.args;if(i.sourceType)switch(i.sourceType){case ka.STRING:{const t=new vf;return t.value=ne(e,"Enum value mapping string source value must be a string"),t}case ka.INTEGER:{const t=new Tf;return t.value=ae(e,"Enum value mapping integer source value must be a number"),t}default:{const t=new Sf;return Z($(i.sourceType)&&"string"==typeof i.sourceType,"Enum value mapping enumeration source value enumeration must be a string"),t.enumeration=i.sourceType,t.value=ne(e,"Enum value mapping enumeration source value must be a string"),t}}switch(e._type){case A_.STRING:return(0,Ne.deserialize)(I_,e);case A_.INTEGER:return(0,Ne.deserialize)(x_,e);case A_.ENUM:return(0,Ne.deserialize)(O_,e);default:throw new V(`Can't deserialize enum value mapping source value of type '${e._type}'`)}}throw new U(`Deserialization parent context is not defined. Got: ${i=t,JSON.stringify(i,((e,t)=>e&&t&&"number"!=typeof t?Array.isArray(t)?"[object Array]":`${t}`:t))}`);var i},R_=(0,Ne.createModelSchema)(yf,{enumValue:(0,Ne.primitive)(),sourceValues:(0,Ne.list)((0,Ne.custom)((e=>{if(e instanceof vf)return(0,Ne.serialize)(I_,e);if(e instanceof Tf)return(0,Ne.serialize)(x_,e);if(e instanceof Sf)return(0,Ne.serialize)(O_,e);throw new V("Can't serialize enum value mapping source value",e)}),((e,t)=>w_(e,t))))}),k_=((0,Ne.createModelSchema)(Nf,{enumValueMappings:(0,Ne.list)((0,Ne.custom)((e=>(0,Ne.serialize)(R_,e)),((e,t)=>(0,Ne.deserialize)(R_,e,void 0,t.target)))),enumeration:(0,Ne.primitive)(),id:(0,Ne.optional)((0,Ne.primitive)())}),"mappingIncludeMapping");(0,Ne.createModelSchema)(bf,{_type:xe(k_),includedMapping:(0,Ne.primitive)(),sourceDatabasePath:(0,Ne.optional)((0,Ne.primitive)()),targetDatabasePath:(0,Ne.optional)((0,Ne.primitive)())});class P_{}class M_ extends P_{func;get hashCode(){return Na([Ua.SERVICE_PURE_EXECUTION,this.func])}}class L_ extends M_{mapping;runtime;get hashCode(){return Na([Ua.SERVICE_PURE_SINGLE_EXECUTION,super.hashCode,this.mapping??"",this.runtime??""])}}class F_{key;mapping;runtime;get hashCode(){return Na([Ua.SERVICE_KEYED_EXECUTION_PARAMETER,this.key,this.mapping,this.runtime])}}class D_ extends M_{executionKey;executionParameters;get hashCode(){return Na([Ua.SERVICE_PURE_MULTI_EXECUTION,super.hashCode,this.executionKey,Na(this.executionParameters??[])])}}class B_ extends Cp{runtimeValue;get hashCode(){return Na([Ua.PACKAGEABLE_RUNTIME,this.path,this.runtimeValue])}accept_PackageableElementVisitor(e){return e.visit_PackageableRuntime(this)}}class j_{}class U_ extends j_{mappings=[];connectionStores=[];connections=[];get hashCode(){return Na([Ua.ENGINE_RUNTIME,Na(this.mappings),Na(this.connectionStores),Na(this.connections)])}}class V_ extends j_{mappings=[];connections=[];get hashCode(){return Na([Ua.LEGACY_RUNTIME,Na(this.mappings),Na(this.connections)])}}class G_ extends j_{runtime;get hashCode(){return Na([Ua.RUNTIME_POINTER,this.runtime])}}var z_;!function(e){e.RUNTIME_POINTER="runtimePointer",e.LEGACY_RUNTIME="legacyRuntime",e.ENGINE_RUNTIME="engineRuntime"}(z_||(z_={}));const H_=(0,Ne.createModelSchema)(G_,{_type:xe(z_.RUNTIME_POINTER),runtime:(0,Ne.primitive)()}),$_=e=>{if(e instanceof U_)return(0,Ne.serialize)(U_,e);if(e instanceof G_)return(0,Ne.serialize)(H_,e);throw new V("Can't serialize runtime",e)},Y_=e=>{switch(e._type){case z_.RUNTIME_POINTER:return(0,Ne.deserialize)(H_,e);case z_.ENGINE_RUNTIME:return(0,Ne.deserialize)(U_,e);case z_.LEGACY_RUNTIME:case void 0:return(0,Ne.deserialize)(V_,e);default:throw new V(`Can't deeserialize runtime of type '${e._type}'`)}};(0,Ne.createModelSchema)(B_,{_type:xe("runtime"),name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),runtimeValue:(0,Ne.custom)((e=>(0,Ne.serialize)(U_,e)),(e=>(0,Ne.deserialize)(U_,e)))});class W_{name;value;get hashCode(){return Na([Ua.SERVICE_PARAMETER_VALUE,this.name,Va(this.value)])}}class K_{}class J_{parametersValues=[];assert;get hashCode(){return Na([Ua.SERVICE_TEST_CONTAINER,this.assert])}}class X_ extends K_{data;asserts=[];get hashCode(){return Na([Ua.SERVICE_LEGACY_SINGLE_EXECUTION_TEST,this.data,Na(this.asserts)])}}class q_{key;data;asserts=[];get hashCode(){return Na([Ua.SERVICE_LEGACY_KEYED_SINGLE_EXECUTION_TEST,this.key,this.data,Na(this.asserts)])}}class Q_ extends K_{tests=[];get hashCode(){return Na([Ua.SERVICE_LEGACY_MULTI_EXECUTION_TEST,Na(this.tests)])}}class Z_{description;parameters=[];assertions=[];get hashCode(){return Na([Ua.SERVICE_POST_VALIDATION,this.description,Na(this.parameters),Na(this.assertions)])}}class eb{id;assertion;get hashCode(){return Na([Ua.SERVICE_POST_VALIDATION_ASSERTION,this.id,this.assertion])}}class tb{}class ib extends tb{identifier;get hashCode(){return Na([Ua.SERVICE_OWNER,this.identifier])}}class sb extends tb{users=[];get hashCode(){return Na([Ua.SERVICE_OWNER,Na(this.users)])}}var nb,ab,rb;!function(e){e.SINGLE_EXECUTION_TEST="singleExecutionTest",e.MULTI_EXECUTION_TEST="multiExecutionTest"}(nb||(nb={})),function(e){e.PURE_SINGLE_EXECUTION="pureSingleExecution",e.PURE_MULTI_EXECUTION="pureMultiExecution"}(ab||(ab={})),function(e){e.DEPLOYMENT_OWNERSHIP="deploymentOwnership",e.USERLIST_OWNERSHIP="userListOwnership"}(rb||(rb={}));const ob=(0,Ne.createModelSchema)(W_,{name:(0,Ne.primitive)(),value:(0,Ne.raw)()}),cb=(0,Ne.createModelSchema)(eb,{assertion:Ie(oh),id:(0,Ne.primitive)()}),lb=((0,Ne.createModelSchema)(Z_,{assertions:(0,Ne.list)((0,Ne.custom)((e=>(0,Ne.serialize)(cb,e)),(e=>(0,Ne.deserialize)(cb,e)))),description:(0,Ne.primitive)(),parameters:(0,Ne.list)(Ie(oh))}),(0,Ne.createModelSchema)(em,{_type:xe(Pa.Service_Test),assertions:(0,Ne.list)((0,Ne.custom)((e=>xb(e)),(e=>Ob(e)))),id:(0,Ne.primitive)(),keys:(0,Ne.list)((0,Ne.primitive)()),parameters:Pe(ob),serializationFormat:(0,Ne.optional)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(L_,{_type:xe(ab.PURE_SINGLE_EXECUTION),func:Ie(oh),mapping:(0,Ne.optional)((0,Ne.primitive)()),runtime:Oe($_,Y_)}),(0,Ne.createModelSchema)(ib,{_type:xe(rb.DEPLOYMENT_OWNERSHIP),identifier:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(sb,{_type:xe(rb.USERLIST_OWNERSHIP),users:(0,Ne.list)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(F_,{key:(0,Ne.primitive)(),mapping:(0,Ne.primitive)(),runtime:Oe($_,Y_)})),db=((0,Ne.createModelSchema)(D_,{_type:xe(ab.PURE_MULTI_EXECUTION),executionKey:(0,Ne.optional)((0,Ne.primitive)()),executionParameters:(0,Ne.optional)((0,Ne.list)(Ie(lb))),func:Ie(oh)}),(0,Ne.createModelSchema)(J_,{assert:Ie(oh),parametersValues:Le({INTERNAL__forceReturnEmptyInTest:!0})})),ub=((0,Ne.createModelSchema)(X_,{_type:xe(nb.SINGLE_EXECUTION_TEST),asserts:(0,Ne.list)(Ie(db)),data:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(q_,{asserts:(0,Ne.list)(Ie(db)),data:(0,Ne.primitive)(),key:(0,Ne.primitive)()}));(0,Ne.createModelSchema)(Q_,{_type:xe(nb.MULTI_EXECUTION_TEST),tests:(0,Ne.list)(Ie(ub))});class pb{name;value;get hashCode(){return Na([Ua.FUNCTION_PARAMETER_VALUE,this.name,Va(this.value)])}}class hb extends Qh{parameters;get hashCode(){return Na([Ua.FUNCTION_TEST,this.id,this.doc??"",this.parameters?Na(this.parameters):""])}}const mb=(0,Ne.createModelSchema)(pb,{name:(0,Ne.primitive)(),value:(0,Ne.raw)()});(0,Ne.createModelSchema)(hb,{_type:xe(Pa.Function_Test),assertions:(0,Ne.list)((0,Ne.custom)((e=>xb(e)),(e=>Ob(e)))),id:(0,Ne.primitive)(),doc:(0,Ne.optional)((0,Ne.primitive)()),parameters:Pe(mb)});var gb,fb,_b,bb;!function(e){e.ASSERT_FAIL="assertFail",e.ASSERT_PASS="assertPass",e.EQUAL_TO_JSON_ASSERT_FAIL="equalToJsonAssertFail"}(gb||(gb={})),function(e){e.EQUAL_TO="equalTo",e.EQUAL_TO_JSON="equalToJson",e.EQUAL_TO_TDS="equalToTDS"}(fb||(fb={})),function(e){e.TEST_ERROR="testError",e.TEST_EXECUTED="testExecuted",e.MULTI_EXECUTION_TEST_RESULT="multiExecutionTestResult",e.TEMPROARY_MULTI_EXECUTION_TEST_RESULT="MultiExecutionServiceTestResult"}(_b||(_b={})),function(e){e.SERVICE_TEST_SUITE="serviceTestSuite",e.MAPPING_TEST_SUITE="mappingTestSuite",e.FUNCTION_TEST_SUITE="functionTestSuite"}(bb||(bb={}));(0,Ne.createModelSchema)(class{testSuiteId;atomicTestId},{atomicTestId:(0,Ne.primitive)(),testSuiteId:(0,Ne.primitive)()});const Eb=(0,Ne.createModelSchema)(im,{_type:xe(gb.ASSERT_FAIL),id:(0,Ne.primitive)(),message:(0,Ne.primitive)()}),vb=(0,Ne.createModelSchema)(sm,{_type:xe(gb.ASSERT_PASS),id:(0,Ne.primitive)()}),Tb=(0,Ne.createModelSchema)(nm,{_type:xe(gb.EQUAL_TO_JSON_ASSERT_FAIL),actual:(0,Ne.primitive)(),expected:(0,Ne.primitive)(),id:(0,Ne.primitive)(),message:(0,Ne.primitive)()}),Sb=(0,Ne.createModelSchema)(rm,{_type:xe(fb.EQUAL_TO),expected:(0,Ne.raw)(),id:(0,Ne.primitive)()}),Cb=(0,Ne.createModelSchema)(om,{_type:xe(fb.EQUAL_TO_JSON),expected:Ie(bm),id:(0,Ne.primitive)()}),yb=(0,Ne.createModelSchema)(cm,{_type:xe(fb.EQUAL_TO_TDS),expected:Ie(bm),id:(0,Ne.primitive)()}),Nb=(0,Ne.createModelSchema)(class extends Zh{error},{atomicTestId:(0,Ne.primitive)(),error:(0,Ne.primitive)(),testable:(0,Ne.primitive)(),testSuiteId:(0,Ne.primitive)()}),Ab=(0,Ne.createModelSchema)(class extends Zh{testExecutionStatus;assertStatuses=[]},{assertStatuses:(0,Ne.list)((0,Ne.custom)((e=>(e=>{if(e instanceof nm)return(0,Ne.serialize)(Tb,e);if(e instanceof im)return(0,Ne.serialize)(Eb,e);if(e instanceof sm)return(0,Ne.serialize)(vb,e);throw new V("Can't serialize assertion status",e)})(e)),(e=>(e=>{switch(e._type){case gb.ASSERT_FAIL:return(0,Ne.deserialize)(Eb,e);case gb.ASSERT_PASS:return(0,Ne.deserialize)(vb,e);case gb.EQUAL_TO_JSON_ASSERT_FAIL:return(0,Ne.deserialize)(Tb,e);default:throw new V(`Can't deserialize assertion status of type '${e._type}'`)}})(e)))),atomicTestId:(0,Ne.primitive)(),testable:(0,Ne.primitive)(),testExecutionStatus:(0,Ne.primitive)(),testSuiteId:(0,Ne.optional)((0,Ne.primitive)())}),Ib=(0,Ne.createModelSchema)(class extends Zh{keyIndexedTestResults=new Map},{atomicTestId:(0,Ne.primitive)(),keyIndexedTestResults:(0,Ne.custom)((()=>Ne.SKIP),(e=>((e,t)=>{const i=new Map;return Object.keys(e).forEach((s=>i.set(s,t(e[s])))),i})(e,(e=>function(e){switch(e._type){case _b.TEST_ERROR:return(0,Ne.deserialize)(Nb,e);case _b.TEST_EXECUTED:return(0,Ne.deserialize)(Ab,e);case _b.MULTI_EXECUTION_TEST_RESULT:case _b.TEMPROARY_MULTI_EXECUTION_TEST_RESULT:return(0,Ne.deserialize)(Ib,e);default:throw new V(`Can't deserialize atomic test of type '${e._type}'`)}}(e))))),testable:(0,Ne.primitive)(),testSuiteId:(0,Ne.primitive)()});const xb=e=>{if(e instanceof rm)return(0,Ne.serialize)(Sb,e);if(e instanceof om)return(0,Ne.serialize)(Cb,e);if(e instanceof cm)return(0,Ne.serialize)(yb,e);throw new V("Can't serialize test assertion",e)},Ob=e=>{switch(e._type){case fb.EQUAL_TO:return(0,Ne.deserialize)(Sb,e);case fb.EQUAL_TO_JSON:return(0,Ne.deserialize)(Cb,e);case fb.EQUAL_TO_TDS:return(0,Ne.deserialize)(yb,e);default:throw new V(`Can't deserialize test assertion of type '${e._type}'`)}},wb=(0,Ne.createModelSchema)(Qp,{class:(0,Ne.optional)((0,Ne.primitive)()),property:(0,Ne.primitive)()}),Rb=(0,Ne.createModelSchema)(Wp,{profile:(0,Ne.primitive)(),value:(0,Ne.primitive)()}),kb=(0,Ne.createModelSchema)(Kp,{profile:(0,Ne.primitive)(),value:(0,Ne.primitive)()}),Pb=(0,Ne.createModelSchema)(Jp,{tag:Ie(kb),value:(0,Ne.primitive)()}),Mb=((0,Ne.createModelSchema)(Vp,{_type:xe("profile"),name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),stereotypes:(0,Ne.list)((0,Ne.primitive)()),tags:(0,Ne.list)((0,Ne.primitive)())}),(0,Ne.createModelSchema)(Yp,{stereotypes:Pe(Rb,{INTERNAL__forceReturnEmptyInTest:!0}),taggedValues:Pe(Pb,{INTERNAL__forceReturnEmptyInTest:!0}),value:(0,Ne.primitive)()})),Lb=((0,Ne.createModelSchema)(Up,{_type:xe("Enumeration"),name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),stereotypes:Pe(Rb,{INTERNAL__forceReturnEmptyInTest:!0}),taggedValues:Pe(Pb,{INTERNAL__forceReturnEmptyInTest:!0}),values:(0,Ne.list)(Ie(Mb))}),(0,Ne.createModelSchema)(Gp,{_type:xe("unit"),conversionFunction:(0,Ne.optional)(Ie(oh)),measure:(0,Ne.primitive)(),name:(0,Ne.primitive)(),package:(0,Ne.primitive)()})),Fb=((0,Ne.createModelSchema)(zp,{_type:xe("measure"),canonicalUnit:(0,Ne.optional)(Ie(Lb)),name:(0,Ne.primitive)(),nonCanonicalUnits:(0,Ne.list)(Ie(Lb)),package:(0,Ne.primitive)()}),(0,Ne.createModelSchema)(class extends hh{applicationName;description;owner;accept_PackageableElementVisitor(e){return e.visit_SnowflakeApp(this)}get hashCode(){return Na([Ua.SNOWFLAKE_APP,this.applicationName,this.description??"",this.owner??"",this.activationConfiguration])}},{_type:xe("snowflakeApp"),description:(0,Ne.optional)((0,Ne.primitive)()),owner:(0,Ne.optional)((0,Ne.primitive)()),applicationName:(0,Ne.primitive)(),function:Ie(Bp),name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),stereotypes:Pe(Rb,{INTERNAL__forceReturnEmptyInTest:!0}),taggedValues:Pe(Pb,{INTERNAL__forceReturnEmptyInTest:!0}),activationConfiguration:Ie(Xh)}),(0,Ne.createModelSchema)(Xp,{aggregation:(0,Ne.optional)((0,Ne.primitive)()),multiplicity:Ie(jp),name:(0,Ne.primitive)(),stereotypes:Pe(Rb,{INTERNAL__forceReturnEmptyInTest:!0}),taggedValues:Pe(Pb,{INTERNAL__forceReturnEmptyInTest:!0}),type:(0,Ne.primitive)()})),Db=(0,Ne.createModelSchema)(qp,{body:(0,Ne.raw)(),name:(0,Ne.primitive)(),parameters:(0,Ne.raw)(),returnMultiplicity:Ie(jp),returnType:(0,Ne.primitive)(),stereotypes:Pe(Rb,{INTERNAL__forceReturnEmptyInTest:!0}),taggedValues:Pe(Pb,{INTERNAL__forceReturnEmptyInTest:!0})}),Bb=(0,Ne.createModelSchema)(Zp,{enforcementLevel:(0,Ne.optional)((0,Ne.primitive)()),externalId:(0,Ne.optional)((0,Ne.primitive)()),functionDefinition:Ie(oh),messageFunction:(0,Ne.optional)(Ie(oh)),name:(0,Ne.primitive)()}),jb=((0,Ne.createModelSchema)(Hp,{_type:xe("class"),constraints:Pe(Bb,{INTERNAL__forceReturnEmptyInTest:!0}),name:(0,Ne.primitive)(),originalMilestonedProperties:Me((()=>Ne.SKIP),(()=>Ne.SKIP),{INTERNAL__forceReturnEmptyInTest:!0}),package:(0,Ne.primitive)(),properties:Pe(Fb,{INTERNAL__forceReturnEmptyInTest:!0}),derivedProperties:(0,Ne.alias)("qualifiedProperties",Pe(Db,{INTERNAL__forceReturnEmptyInTest:!0})),stereotypes:Pe(Rb,{INTERNAL__forceReturnEmptyInTest:!0}),superTypes:Le({INTERNAL__forceReturnEmptyInTest:!0}),taggedValues:Pe(Pb,{INTERNAL__forceReturnEmptyInTest:!0})}),(0,Ne.createModelSchema)($p,{_type:xe("association"),name:(0,Ne.primitive)(),originalMilestonedProperties:Me((()=>Ne.SKIP),(()=>Ne.SKIP),{INTERNAL__forceReturnEmptyInTest:!0}),package:(0,Ne.primitive)(),properties:(0,Ne.list)(Ie(Fb)),derivedProperties:(0,Ne.alias)("qualifiedProperties",Pe(Db,{INTERNAL__forceReturnEmptyInTest:!0})),stereotypes:Pe(Rb,{INTERNAL__forceReturnEmptyInTest:!0}),taggedValues:Pe(Pb,{INTERNAL__forceReturnEmptyInTest:!0})}),(0,Ne.createModelSchema)(class extends hh{content;get hashCode(){return Na([Ua.INTERNAL__UNKNOWN_FUNCTION_ACTIVATOR,this.path,Va(this.content)])}accept_PackageableElementVisitor(e){return e.visit_INTERNAL__UnknownFunctionActivator(this)}},{function:(0,Ne.primitive)(),name:(0,Ne.primitive)(),package:(0,Ne.primitive)()}),"diagram"),Ub=(0,Ne.createModelSchema)(xp,{x:(0,Ne.primitive)(),y:(0,Ne.primitive)()}),Vb=(0,Ne.createModelSchema)(Op,{height:(0,Ne.primitive)(),width:(0,Ne.primitive)()}),Gb=(0,Ne.createModelSchema)(wp,{points:(0,Ne.list)(Ie(Ub))}),zb=(0,Ne.createModelSchema)(Ip,{class:(0,Ne.primitive)(),hideProperties:(0,Ne.optional)((0,Ne.primitive)()),hideStereotypes:(0,Ne.optional)((0,Ne.primitive)()),hideTaggedValues:(0,Ne.optional)((0,Ne.primitive)()),id:(0,Ne.primitive)(),position:Ie(Ub),rectangle:Ie(Vb)}),Hb=(0,Ne.createModelSchema)(Pp,{line:Ie(Gb),property:Ie(wb),sourceView:(0,Ne.primitive)(),targetView:(0,Ne.primitive)()}),$b=(0,Ne.createModelSchema)(Mp,{line:Ie(Gb),sourceView:(0,Ne.primitive)(),targetView:(0,Ne.primitive)()}),Yb=(0,Ne.createModelSchema)(Np,{_type:xe(jb),classViews:(0,Ne.list)(Ie(zb)),generalizationViews:(0,Ne.list)(Ie($b)),name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),propertyViews:(0,Ne.list)(Ie(Hb))});class Wb extends o{_$nominalTypeBrand;install(e){e.registerPureProtocolProcessorPlugin(this)}}class Kb{_UUID=(0,a.default)();_OWNER;name;multiplicity;genericType;aggregation;stereotypes=[];taggedValues=[];constructor(e,t,i,s){this.name=e,this.multiplicity=t,this.genericType=i,this._OWNER=s}get hashCode(){return Na([Ua.PROPERTY,this.name,this.multiplicity,this.genericType.ownerReference.valueForSerialization??"",this.aggregation??"",Na(this.stereotypes.map((e=>e.pointerHashCode))),Na(this.taggedValues)])}}class Jb{lowerBound;upperBound;constructor(e,t){this.lowerBound=e,this.upperBound=t}get hashCode(){return Na([Ua.MULTIPLICITY,this.lowerBound.toString(),this.upperBound?.toString()??""])}static ZERO=new Jb(0,0);static ZERO_ONE=new Jb(0,1);static ZERO_MANY=new Jb(0,void 0);static ONE=new Jb(1,1);static ONE_MANY=new Jb(1,void 0)}class Xb extends nr{ownerReference;value;constructor(e,t){super(e),this.ownerReference=e,this.value=t}}class qb extends Xb{ownerReference;constructor(e){const t=rr.create(e.rawType);super(t,e),this.ownerReference=t}static create(e){return new qb(e)}}class Qb{_UUID=(0,a.default)();rawType;constructor(e){this.rawType=e}}class Zb extends Ya{_generatedMilestonedProperties=[];properties;derivedProperties=[];constructor(e){super(e);const t=[new Kb("",Jb.ONE,qb.create(new Qb(new Ka(""))),new Ka("")),new Kb("",Jb.ONE,qb.create(new Qb(new Ka(""))),new Ka(""))];t[0]._OWNER=this,t[1]._OWNER=this,this.properties=t}dispose(){super.dispose();const[e,t]=this.properties;if(e.genericType.value.rawType instanceof Ka&&t.genericType.value.rawType instanceof Ka){const i=X(e.genericType.value.rawType,Ka),s=X(t.genericType.value.rawType,Ka);i.propertiesFromAssociations=i.propertiesFromAssociations.filter((e=>e!==t)),s.propertiesFromAssociations=s.propertiesFromAssociations.filter((t=>t!==e))}}get _elementHashCode(){return Na([Ua.ASSOCIATION,this.path,Na(this.properties),Na(this.derivedProperties),Na(this.stereotypes.map((e=>e.pointerHashCode))),Na(this.taggedValues)])}accept_PackageableElementVisitor(e){return e.visit_Association(this)}}class eE extends Ya{includes=[];classMappings=[];enumerationMappings=[];associationMappings=[];test=[];tests=[];get _elementHashCode(){return Na([Ua.MAPPING,this.path,Na(this.classMappings),Na(this.enumerationMappings),Na(this.associationMappings),Na(this.test),Na(this.includes),Na(this.tests)])}accept_PackageableElementVisitor(e){return e.visit_Mapping(this)}}class tE extends Ya{p_stereotypes=[];p_tags=[];get _elementHashCode(){return Na([Ua.PROFILE,this.path,Na(this.p_stereotypes.map((e=>e.value))),Na(this.p_tags.map((e=>e.value)))])}accept_PackageableElementVisitor(e){return e.visit_Profile(this)}}class iE extends Ya{pattern="/";owners=[];ownership;documentation="";autoActivateUpdates=!0;execution;test;tests=[];postValidations=[];get patternParameters(){return(0,A.default)((this.pattern.match(/\{\w+\}/gu)??[]).map((e=>e.substring(1,e.length-1))))}get _elementHashCode(){return Na([Ua.SERVICE,Na(this.stereotypes.map((e=>e.pointerHashCode))),Na(this.taggedValues),this.path,this.pattern,Na(this.owners),this.ownership,this.documentation,this.autoActivateUpdates.toString(),this.execution,this.test??"",Na(this.tests),Na(this.postValidations)])}accept_PackageableElementVisitor(e){return e.visit_Service(this)}}class sE extends Ya{functionName;constructor(e){super(e),this.functionName=e}}class nE extends sE{}class aE extends nE{returnType;returnMultiplicity;parameters=[];expressionSequence=[];tests=[];constructor(e,t,i){super(e),this.returnType=t,this.returnMultiplicity=i}get _elementHashCode(){return Na([Ua.FUNCTION,this.path,Na(this.parameters),this.returnType.valueForSerialization??"",Na(this.taggedValues),Na(this.stereotypes.map((e=>e.pointerHashCode))),Ga(void 0,this.expressionSequence),this.tests.length?Na(this.tests):""])}accept_PackageableElementVisitor(e){return e.visit_ConcreteFunctionDefinition(this)}}class rE extends Ya{includes=[]}class oE extends rE{sections=[];get _elementHashCode(){return Na([Ua.FLAT_DATA,this.path,Na(this.includes.map((e=>e.valueForSerialization??""))),Na(this.sections)])}accept_PackageableElementVisitor(e){return e.visit_FlatData(this)}}class cE extends Ya{runtimeValue;get _elementHashCode(){return Na([Ua.PACKAGEABLE_RUNTIME,this.path,this.runtimeValue])}accept_PackageableElementVisitor(e){return e.visit_PackageableRuntime(this)}}class lE extends Ya{connectionValue;get _elementHashCode(){return Na([Ua.PACKAGEABLE_CONNECTION,this.path,this.connectionValue])}accept_PackageableElementVisitor(e){return e.visit_PackageableConnection(this)}}class dE extends Ya{}class uE extends dE{type;generationOutputPath;scopeElements=[];configurationProperties=[];get _elementHashCode(){return Na([Ua.FILE_GENERATION,this.path,this.type,this.generationOutputPath??"",Na(this.scopeElements.map((e=>e instanceof ar?e.valueForSerialization??"":e))),Na(this.configurationProperties)])}accept_PackageableElementVisitor(e){return e.visit_FileGenerationSpecification(this)}}class pE extends Ya{generationNodes=[];fileGenerations=[];findGenerationElementById(e){return this.generationNodes.find((t=>t.id===e))?.generationElement.value}get _elementHashCode(){return Na([Ua.GENERATION_TREE,this.path,Na(this.generationNodes),Na(this.fileGenerations.map((e=>za(Ba.FILE_GENERATION,e.valueForSerialization??""))))])}accept_PackageableElementVisitor(e){return e.visit_GenerationSpecification(this)}}class hE extends rE{schemas=[];joins=[];filters=[];get _elementHashCode(){return Na([Ua.DATABASE,this.path,Na(this.includes.map((e=>e.valueForSerialization??""))),Na(this.schemas),Na(this.joins),Na(this.filters)])}accept_PackageableElementVisitor(e){return e.visit_Database(this)}}class mE{_class;index=new Map;constructor(e){this._class=e}getElementClass(){return this._class}get elements(){return Array.from(this.index.values())}getElement(e){return this.index.get(e)}setElement(e,t){this.index.set(e,t)}deleteElement(e){this.index.delete(e)}renameElement(e,t){const i=this.getElement(e);i&&(this.deleteElement(e),this.setElement(t,i))}}class gE extends Ja{accept_PackageableElementVisitor(e){return e.visit_PrimitiveType(this)}static STRING=new gE(ka.STRING);static BOOLEAN=new gE(ka.BOOLEAN);static BINARY=new gE(ka.BINARY);static NUMBER=new gE(ka.NUMBER);static INTEGER=new gE(ka.INTEGER);static FLOAT=new gE(ka.FLOAT);static DECIMAL=new gE(ka.DECIMAL);static DATE=new gE(ka.DATE);static STRICTDATE=new gE(ka.STRICTDATE);static DATETIME=new gE(ka.DATETIME);static STRICTTIME=new gE(ka.STRICTTIME);static LATESTDATE=new gE(ka.LATESTDATE);static BYTE=new gE(ka.BYTE)}const fE=e=>W((0,C.default)(e.split(Ia))),_E=e=>{const t=e.lastIndexOf(Ia);return-1===t?void 0:e.substring(0,t)},bE=(e,t)=>{const i=e.lastIndexOf(Ia);return-1===i?[t??"",e]:[e.substring(0,i),e.substring(i+2,e.length)]},EE=(e,t)=>`${e?`${e}${Ia}`:""}${t}`,vE=e=>e.split(Ia).join("_");class TE{_UUID=(0,a.default)();_OWNER;name;genericType;multiplicity;stereotypes=[];taggedValues=[];body;parameters;constructor(e,t,i,s){this.name=e,this.multiplicity=t,this.genericType=i,this._OWNER=s}get hashCode(){return Na([Ua.DERIVED_PROPERTY,this.name,this.multiplicity,this.genericType.ownerReference.valueForSerialization??"",Na(this.stereotypes.map((e=>e.pointerHashCode))),Na(this.taggedValues),Ga(this.parameters,this.body)])}}const SE=(e,t)=>{e.children.push(t),t.package=e},CE=(e,t)=>{e.children=e.children.filter((e=>e!==t))},yE=e=>e.package?yE(e.package):X(e,Za),NE=(e,t,i,s)=>{const n=t.indexOf(Ia),a=-1===n?t:t.substring(0,n);let r;if(r=e.children.find((e=>e instanceof Za&&e.name===a)),!r){if(!i)throw new H(`Can't find child package '${a}' in package '${e.path}'`);Z(!wa.includes(a),`Can't create package with reserved name '${a}'`),r=new Za(a),r.package=e,e.children.push(r)}return s&&s.set(EE(e.path,a),r),-1!==n?NE(r,t.substring(n+2),i,s):r},AE=(e,t,i,s)=>{if(s){const n=s.get(EE(e.path,t));if(n)return n;let a=t;for(;""!==a;){const n=EE(e.path,a),r=s.get(n);if(r)return NE(r,t.substring(a.length+2,t.length),i,s);const o=a.lastIndexOf(Ia);a=-1!==o?a.substring(0,o):""}}return NE(e,t,i,s)},IE=(e,t,i)=>(q(t,"Package path is required"),AE(e.root,t,!0,i)),xE=(e,t)=>X(e.rawType,t),OE=(e,t)=>W(e.p_tags.find((e=>e.value===t)),`Can't find tag '${t}' in profile '${e.path}'`),wE=(e,t)=>W(e.p_stereotypes.find((e=>e.value===t)),`Can't find stereotype '${t}' in profile '${e.path}'`),RE=(e,t)=>{const i=e.properties.findIndex((e=>e===t));return Z(-1!==i,`Can't find property '${t.name}' in association '${e.path}'`),W(e.properties[(i+1)%2])},kE=e=>{const t=new Set;t.add(e);const i=e=>{e.generalizations.forEach((e=>{const s=xE(e.value,Ka);t.has(s)||(t.add(s),i(s))}))};return i(e),t.delete(e),Array.from(t)},PE=e=>e.properties.concat(e.propertiesFromAssociations).concat(e.derivedProperties),ME=(e,t)=>W(e instanceof Ka?PE(e).find((e=>e.name===t)):e.properties.find((e=>e.name===t)),`Can't find property '${t}' of '${e.path}'`),LE=(e,t)=>e===t?e.toString():0===e&&void 0===t?"MANY":`$${e}_${t??"MANY"}$`,FE=(e,t)=>t.substring(0,t.indexOf((e=>`_${e.parameters.map((e=>`${e.type.value.name}_${LE(e.multiplicity.lowerBound,e.multiplicity.upperBound)}_`)).join("_")}_${e.returnType.value.name}_${LE(e.returnMultiplicity.lowerBound,e.returnMultiplicity.upperBound)}_`)(e))),DE=(e,t)=>{if((e=>{const t=z((()=>yE(e)))?.name;return e instanceof gE||t===Ra.SYSTEM||t===Ra.CORE})(e))return"system elements";if((e=>z((()=>yE(e)))?.name===Ra.MODEL_GENERATION)(e))return"generation elements";if((e=>{const t=z((()=>yE(e)));return t?.name===Ra.PROJECT_DEPENDENCY_ROOT||void 0!==t&&Boolean(XE(t.name))})(e)){const i=t.dependencyManager.getElementOrigin(e);if(i)return`project dependency ${i}`}return""};class BE extends Ya{data;get hashCode(){return Na([Ua.DATA_ELEMENT,this.path,Na(this.stereotypes.map((e=>e.pointerHashCode))),Na(this.taggedValues),this.data])}accept_PackageableElementVisitor(e){return e.visit_DataElement(this)}}class jE extends Ya{executionParameters=[];get _elementHashCode(){return Na([Ua.EXECUTION_ENVIRONMENT_INSTANCE,this.path,Na(this.executionParameters)])}accept_PackageableElementVisitor(e){return e.visit_ExecutionEnvironmentInstance(this)}}class UE extends Ya{content;get _elementHashCode(){return Na([Ua.INTERNAL__UNKNOWN_PACKAGEABLE_ELEMENT,this.path,Va(this.content)])}accept_PackageableElementVisitor(e){return e.visit_INTERNAL__UnknownPackageableElement(this)}}class VE extends Ya{function;activationConfiguration}class GE extends VE{content;get _elementHashCode(){return Na([Ua.INTERNAL__UNKNOWN_FUNCTION_ACTIVATOR,this.path,Va(this.content)])}accept_PackageableElementVisitor(e){return e.visit_INTERNAL__UnknownFunctionActivator(this)}}class zE extends rE{content;get _elementHashCode(){return Na([Ua.INTERNAL__UNKNOWN_STORE,this.path,Va(this.content)])}accept_PackageableElementVisitor(e){return e.visit_INTERNAL__UnknownStore(this)}}const HE=new Set([Ya,Wa,Ja,gE,Ka,Zb,Xa,aE,tE,Qa,qa,BE,rE,eE,lE,cE,pE,uE,iE,jE,class extends Ya{sections=[];get _elementHashCode(){return Na([Ua.SECTION_INDEX,this.path,Na(this.sections)])}accept_PackageableElementVisitor(e){return e.visit_SectionIndex(this)}},UE,zE]);class $E{root;_origin;extensions=[];graphPlugins=[];elementSectionIndex=new Map;sectionIndicesIndex=new Map;profilesIndex=new Map;typesIndex=new Map;associationsIndex=new Map;functionsIndex=new Map;functionActivatorsIndex=new Map;storesIndex=new Map;mappingsIndex=new Map;connectionsIndex=new Map;runtimesIndex=new Map;servicesIndex=new Map;generationSpecificationsIndex=new Map;fileGenerationsIndex=new Map;dataElementsIndex=new Map;executionEnvironmentsIndex=new Map;INTERNAL__unknownElementsIndex=new Map;constructor(e,t,i){this.root=new Za(e);const s=t.flatMap((e=>e.getExtraPureGraphExtensionClasses?.()??[]));this.extensions=this.createGraphExtensions(s),this._origin=i}createGraphExtensions(e){return e.map((e=>{if(HE.has(e))throw new U("Pure graph extension not allowed for the specified class. Consider removing this extension from plugins.");return new mE(e)}))}get ownSectionIndices(){return Array.from(this.sectionIndicesIndex.values())}get ownProfiles(){return Array.from(this.profilesIndex.values())}get ownEnumerations(){return Array.from(this.typesIndex.values()).filter(K(Xa))}get ownMeasures(){return Array.from(this.typesIndex.values()).filter(K(Qa))}get ownClasses(){return Array.from(this.typesIndex.values()).filter(K(Ka))}get ownTypes(){return Array.from(this.typesIndex.values())}get ownAssociations(){return Array.from(this.associationsIndex.values())}get ownFunctions(){return Array.from(this.functionsIndex.values())}get ownFunctionActivators(){return Array.from(this.functionActivatorsIndex.values())}get ownStores(){return Array.from(this.storesIndex.values())}get ownFlatDatas(){return Array.from(this.storesIndex.values()).filter(K(oE))}get ownDatabases(){return Array.from(this.storesIndex.values()).filter(K(hE))}get ownMappings(){return Array.from(this.mappingsIndex.values())}get ownServices(){return Array.from(this.servicesIndex.values())}get ownRuntimes(){return Array.from(this.runtimesIndex.values())}get ownConnections(){return Array.from(this.connectionsIndex.values())}get ownFileGenerations(){return Array.from(this.fileGenerationsIndex.values())}get ownDataElements(){return Array.from(this.dataElementsIndex.values())}get ownExecutionEnvironments(){return Array.from(this.executionEnvironmentsIndex.values())}get ownGenerationSpecifications(){return Array.from(this.generationSpecificationsIndex.values())}get ownTestables(){const e=[...this.ownServices,...this.ownMappings],t=this.graphPlugins.flatMap((e=>e.getExtraTestablesCollectors?.()??[]));return[...e,...this.allOwnElements.map((e=>t.find((t=>Boolean(t(e))))?.(e))).filter($)]}get origin(){return this._origin}setOrigin(e){if(this._origin)throw new U("Graph origin has already been set");this._origin=e}getExtensionElements(e){return this.getExtensionForElementClass(e).elements}getExtensionForElementClass(e){const t=this.extensions.filter((t=>t.getElementClass()===e));if(0===t.length)throw new V("Can't find graph extension for the specified element class: no compatible graph extensions available from plugins");if(t.length>1)throw new U("Found multiple extensions for the specified element class");return t[0]}getOwnNullableSection=e=>this.elementSectionIndex.get(e);getOwnNullableSectionIndex=e=>this.sectionIndicesIndex.get(e);getOwnNullableProfile=e=>this.profilesIndex.get(e);getOwnNullableType=e=>this.typesIndex.get(e);getOwnNullableClass=e=>{const t=this.getOwnNullableType(e);return t instanceof Ka?t:void 0};getOwnNullableEnumeration=e=>{const t=this.getOwnNullableType(e);return t instanceof Xa?t:void 0};getOwnNullableMeasure=e=>{const t=this.getOwnNullableType(e);return t instanceof Qa?t:void 0};getOwnNullableAssociation=e=>this.associationsIndex.get(e);getOwnNullableFunction=e=>this.functionsIndex.get(e);getOwnNullableFunctionActivator=e=>this.functionActivatorsIndex.get(e);getOwnNullableStore=e=>this.storesIndex.get(e);getOwnNullableMapping=e=>this.mappingsIndex.get(e);getOwnNullableConnection=e=>this.connectionsIndex.get(e);getOwnNullableRuntime=e=>this.runtimesIndex.get(e);getOwnNullableService=e=>this.servicesIndex.get(e);getOwnNullableGenerationSpecification=e=>this.generationSpecificationsIndex.get(e);getOwnNullableFileGeneration=e=>this.fileGenerationsIndex.get(e);getOwnNullableDataElement=e=>this.dataElementsIndex.get(e);getOwnNullableExecutionEnviornment=e=>this.executionEnvironmentsIndex.get(e);getOwnSectionIndex=e=>W(this.getOwnNullableSectionIndex(e),`Can't find section index '${e}'`);getOwnProfile=e=>W(this.getOwnNullableProfile(e),`Can't find profile '${e}'`);getOwnType=e=>W(this.getOwnNullableType(e),`Can't find type '${e}'`);getOwnClass=e=>W(this.getOwnNullableClass(e),`Can't find class '${e}'`);getOwnEnumeration=e=>W(this.getOwnNullableEnumeration(e),`Can't find enumeration '${e}'`);getOwnMeasure=e=>W(this.getOwnNullableMeasure(e),`Can't find measure '${e}'`);getOwnAssociation=e=>W(this.getOwnNullableAssociation(e),`Can't find association '${e}'`);getOwnFunction=e=>W(this.getOwnNullableFunction(e),`Can't find function '${e}'`);getOwnFunctionActivator=e=>W(this.getOwnNullableFunctionActivator(e),`Can't find function activator '${e}'`);getOwnStore=e=>W(this.getOwnNullableStore(e),`Can't find store '${e}'`);getOwnDatabase=e=>X(this.getOwnNullableStore(e),hE,`Can't find database '${e}'`);getOwnFlatDataStore=e=>X(this.getOwnNullableStore(e),oE,`Can't find flat-data store '${e}'`);getOwnMapping=e=>W(this.getOwnNullableMapping(e),`Can't find mapping '${e}'`);getOwnConnection=e=>W(this.getOwnNullableConnection(e),`Can't find connection '${e}'`);getOwnRuntime=e=>W(this.getOwnNullableRuntime(e),`Can't find runtime '${e}'`);getOwnService=e=>W(this.getOwnNullableService(e),`Can't find service '${e}'`);getOwnGenerationSpecification=e=>W(this.getOwnNullableGenerationSpecification(e),`Can't find generation specification '${e}'`);getOwnFileGeneration=e=>W(this.getOwnNullableFileGeneration(e),`Can't find file generation '${e}'`);getOwnDataElement=e=>W(this.getOwnNullableDataElement(e),`Can't find data element '${e}'`);getOwnExecutionEnvironment=e=>W(this.getOwnNullableExecutionEnviornment(e),`Can't find execution environment element '${e}'`);getOwnNullableExtensionElement(e,t){return this.getExtensionForElementClass(t).getElement(e)}setOwnSection(e,t){this.elementSectionIndex.set(e,t)}setOwnSectionIndex(e,t){this.sectionIndicesIndex.set(e,t)}setOwnProfile(e,t){this.profilesIndex.set(e,t)}setOwnType(e,t){this.typesIndex.set(e,t)}setOwnAssociation(e,t){this.associationsIndex.set(e,t)}setOwnFunction(e,t){this.functionsIndex.set(e,t)}setOwnFunctionActivator(e,t){this.functionActivatorsIndex.set(e,t)}setOwnStore(e,t){this.storesIndex.set(e,t)}setOwnMapping(e,t){this.mappingsIndex.set(e,t)}setOwnConnection(e,t){this.connectionsIndex.set(e,t)}setOwnRuntime(e,t){this.runtimesIndex.set(e,t)}setOwnService(e,t){this.servicesIndex.set(e,t)}setOwnGenerationSpecification(e,t){this.generationSpecificationsIndex.set(e,t)}setOwnFileGeneration(e,t){this.fileGenerationsIndex.set(e,t)}setOwnDataElement(e,t){this.dataElementsIndex.set(e,t)}setOwnExecutionEnvironment(e,t){this.executionEnvironmentsIndex.set(e,t)}INTERNAL__setOwnUnknownElement(e,t){this.INTERNAL__unknownElementsIndex.set(e,t)}setOwnElementInExtension(e,t,i){this.getExtensionForElementClass(i).setElement(e,t)}get allOwnElements(){return[...this.ownProfiles,...this.ownEnumerations,...this.ownMeasures,...this.ownClasses,...this.ownAssociations,...this.ownFunctions,...this.ownFunctionActivators,...this.ownStores,...this.ownMappings,...this.ownServices,...this.ownRuntimes,...this.ownConnections,...this.ownGenerationSpecifications,...this.ownFileGenerations,...this.ownDataElements,...this.ownExecutionEnvironments,...Array.from(this.INTERNAL__unknownElementsIndex.values()),...this.extensions.flatMap((e=>e.elements))]}async dispose(){this.allOwnElements.length&&await Promise.all(this.allOwnElements.map((e=>P((()=>{e.dispose()})))))}getNullablePackage=e=>e?z((()=>AE(this.root,e,!1,void 0))):this.root;getOwnNullableElement(e,t){let i=this.sectionIndicesIndex.get(e)??this.INTERNAL__unknownElementsIndex.get(e)??this.typesIndex.get(e)??this.profilesIndex.get(e)??this.associationsIndex.get(e)??this.functionsIndex.get(e)??this.functionActivatorsIndex.get(e)??this.storesIndex.get(e)??this.mappingsIndex.get(e)??this.servicesIndex.get(e)??this.runtimesIndex.get(e)??this.connectionsIndex.get(e)??this.fileGenerationsIndex.get(e)??this.dataElementsIndex.get(e)??this.executionEnvironmentsIndex.get(e)??this.generationSpecificationsIndex.get(e);if(!i)for(const t of this.extensions){const s=t.getElement(e);if(s){i=s;break}}return t&&!i?this.getNullablePackage(e):i}addOwnElement(e,t){if(SE(t?IE(this,t,void 0):this.root,e),e instanceof eE)this.setOwnMapping(e.path,e);else if(e instanceof rE)this.setOwnStore(e.path,e);else if(e instanceof Wa)this.setOwnType(e.path,e);else if(e instanceof Zb)this.setOwnAssociation(e.path,e);else if(e instanceof tE)this.setOwnProfile(e.path,e);else if(e instanceof aE)this.setOwnFunction(e.path,e);else if(e instanceof VE)this.setOwnFunctionActivator(e.path,e);else if(e instanceof iE)this.setOwnService(e.path,e);else if(e instanceof lE)this.setOwnConnection(e.path,e);else if(e instanceof cE)this.setOwnRuntime(e.path,e);else if(e instanceof uE)this.setOwnFileGeneration(e.path,e);else if(e instanceof pE)this.setOwnGenerationSpecification(e.path,e);else if(e instanceof BE)this.setOwnDataElement(e.path,e);else if(e instanceof jE)this.setOwnExecutionEnvironment(e.path,e);else if(e instanceof Za);else{this.getExtensionForElementClass(O(e)).setElement(e.path,e)}}deleteOwnElement(e){if(e.package&&CE(e.package,e),e instanceof UE)this.INTERNAL__unknownElementsIndex.delete(e.path);else if(e instanceof eE)this.mappingsIndex.delete(e.path);else if(e instanceof rE)this.storesIndex.delete(e.path);else if(e instanceof Wa)this.typesIndex.delete(e.path),e instanceof Qa&&(e.canonicalUnit&&this.typesIndex.delete(e.canonicalUnit.path),e.nonCanonicalUnits.forEach((e=>this.typesIndex.delete(e.path))));else if(e instanceof Zb)this.associationsIndex.delete(e.path);else if(e instanceof tE)this.profilesIndex.delete(e.path);else if(e instanceof aE)this.functionsIndex.delete(e.path);else if(e instanceof VE)this.functionActivatorsIndex.delete(e.path);else if(e instanceof iE)this.servicesIndex.delete(e.path);else if(e instanceof cE)this.runtimesIndex.delete(e.path);else if(e instanceof lE)this.connectionsIndex.delete(e.path);else if(e instanceof uE)this.fileGenerationsIndex.delete(e.path);else if(e instanceof pE)this.generationSpecificationsIndex.delete(e.path);else if(e instanceof BE)this.dataElementsIndex.delete(e.path);else if(e instanceof jE)this.executionEnvironmentsIndex.delete(e.path);else if(e instanceof Za)e.children.forEach((e=>this.deleteOwnElement(e)));else{this.getExtensionForElementClass(O(e)).deleteElement(e.path)}}renameOwnElement(e,t,i){if(t===i)return;if(!i)throw new V(`Can't rename element '${t} to '${i}': path is empty'`);if(e instanceof Za&&!Boolean(i.match(/^(?:\w[\w$_-]*)(?:::\w[\w$_-]*)*$/))||!(e instanceof Za)&&!Boolean(i.match(/^(?:\w[\w$_-]*)(?:::\w[\w$_-]*)+$/)))throw new V(`Can't rename element '${t} to '${i}': invalid path'`);if(this.getOwnNullableElement(i,!0))throw new V(`Can't rename element '${t} to '${i}': another element with the same path already existed'`);const[s,n]=bE(i);if(!(e instanceof Za)){const t=this.getNullablePackage(s)??(""!==s?IE(this,s,void 0):this.root);e.name=n,e instanceof aE&&(e.functionName=FE(e,e.name)),e.package!==t&&(e.package&&CE(e.package,e),SE(t,e))}if(e instanceof UE)this.INTERNAL__unknownElementsIndex.delete(t),this.INTERNAL__unknownElementsIndex.set(i,e),e.content={...e.content,name:e.name,package:e.package?.path};else if(e instanceof GE)this.functionActivatorsIndex.delete(t),this.functionActivatorsIndex.set(i,e),e.content={...e.content,name:e.name,package:e.package?.path};else if(e instanceof zE)this.storesIndex.delete(t),this.storesIndex.set(i,e),e.content={...e.content,name:e.name,package:e.package?.path};else if(e instanceof eE)this.mappingsIndex.delete(t),this.mappingsIndex.set(i,e);else if(e instanceof rE)this.storesIndex.delete(t),this.storesIndex.set(i,e);else if(e instanceof Wa)this.typesIndex.delete(t),this.typesIndex.set(i,e),e instanceof Qa&&(e.canonicalUnit&&(this.typesIndex.delete(e.canonicalUnit.path),this.typesIndex.set(e.canonicalUnit.path.replace(t,i),e.canonicalUnit)),e.nonCanonicalUnits.forEach((e=>{this.typesIndex.delete(e.path),this.typesIndex.set(e.path.replace(t,i),e)})));else if(e instanceof Zb)this.associationsIndex.delete(t),this.associationsIndex.set(i,e);else if(e instanceof tE)this.profilesIndex.delete(t),this.profilesIndex.set(i,e);else if(e instanceof aE)this.functionsIndex.delete(t),this.functionsIndex.set(i,e);else if(e instanceof VE)this.functionActivatorsIndex.delete(t),this.functionActivatorsIndex.set(i,e);else if(e instanceof iE)this.servicesIndex.delete(t),this.servicesIndex.set(i,e);else if(e instanceof cE)this.runtimesIndex.delete(t),this.runtimesIndex.set(i,e);else if(e instanceof lE)this.connectionsIndex.delete(t),this.connectionsIndex.set(i,e);else if(e instanceof uE)this.fileGenerationsIndex.delete(t),this.fileGenerationsIndex.set(i,e);else if(e instanceof BE)this.dataElementsIndex.delete(t),this.dataElementsIndex.set(i,e);else if(e instanceof jE)this.executionEnvironmentsIndex.delete(t),this.executionEnvironmentsIndex.set(i,e);else if(e instanceof pE)this.generationSpecificationsIndex.delete(t),this.generationSpecificationsIndex.set(i,e);else if(e instanceof Za){const a=new Map;if(e.children.forEach((e=>{a.set(e.path,e)})),e.name=n,!e.package)throw new U("Can't rename root package");const r=e.package;if(r!==this.getNullablePackage(s)){CE(r,e);const t=""!==s?IE(this,s,void 0):this.root;SE(t,e)}a.forEach(((e,s)=>{this.renameOwnElement(e,s,s.replace(t,i))}))}else{this.getExtensionForElementClass(O(e)).renameElement(t,i)}}TEMPORARY__deleteOwnSectionIndex(){this.sectionIndicesIndex.forEach((e=>{e.setIsDeleted(!0),this.sectionIndicesIndex.delete(e.path)})),this.sectionIndicesIndex=new Map,this.elementSectionIndex=new Map}}const YE=":";class WE{}class KE extends WE{groupId;artifactId;versionId;constructor(e,t,i){super(),this.groupId=e,this.artifactId=t,this.versionId=i}}const JE="@dependency__",XE=e=>{if(0===e.indexOf(JE))return e.substring(13)};class qE extends $E{constructor(e,t,i){super(t.name,e,i),this.root=t}}const QE=(e,t)=>i=>{for(const s of e.dependencyGraphs){const e=t(s,i);if(e)return e}};class ZE{graphPlugins;_origin;roots=[];projectDependencyModelsIndex=new Map;constructor(e){this.graphPlugins=e}initialize(e){Array.from(e.entries()).forEach((([e,t])=>{const i=new Za((e=>`${JE}${e}`)(e));this.roots.push(i),this.projectDependencyModelsIndex.set(e,new qE(this.graphPlugins,i,new KE(t.groupId,t.artifactId,t.versionId)))}))}get numberOfDependencies(){return this.projectDependencyModelsIndex.size}get hasDependencies(){return Boolean(this.projectDependencyModelsIndex.size)}get dependencyGraphs(){return Array.from(this.projectDependencyModelsIndex.values())}get allOwnElements(){return this.dependencyGraphs.flatMap((e=>e.allOwnElements))}get origin(){return this._origin}setOrigin(e){if(this._origin)throw new U("Graph origin has already been set");this._origin=e}getOwnNullableSectionIndex=QE(this,((e,t)=>e.getOwnNullableSectionIndex(t)));getOwnNullableProfile=QE(this,((e,t)=>e.getOwnNullableProfile(t)));getOwnNullableType=QE(this,((e,t)=>e.getOwnNullableType(t)));getOwnNullableClass=QE(this,((e,t)=>e.getOwnNullableClass(t)));getOwnNullableEnumeration=QE(this,((e,t)=>e.getOwnNullableEnumeration(t)));getOwnNullableMeasure=QE(this,((e,t)=>e.getOwnNullableMeasure(t)));getOwnNullableAssociation=QE(this,((e,t)=>e.getOwnNullableAssociation(t)));getOwnNullableFunction=QE(this,((e,t)=>e.getOwnNullableFunction(t)));getOwnNullableFunctionActivator=QE(this,((e,t)=>e.getOwnNullableFunctionActivator(t)));getOwnNullableStore=QE(this,((e,t)=>e.getOwnNullableStore(t)));getOwnNullableMapping=QE(this,((e,t)=>e.getOwnNullableMapping(t)));getOwnNullableConnection=QE(this,((e,t)=>e.getOwnNullableConnection(t)));getOwnNullableRuntime=QE(this,((e,t)=>e.getOwnNullableRuntime(t)));getOwnNullableService=QE(this,((e,t)=>e.getOwnNullableService(t)));getOwnNullableGenerationSpecification=QE(this,((e,t)=>e.getOwnNullableGenerationSpecification(t)));getOwnNullableFileGeneration=QE(this,((e,t)=>e.getOwnNullableFileGeneration(t)));getOwnNullableDataElement=QE(this,((e,t)=>e.getOwnNullableDataElement(t)));getOwnExecutionEnvironment=QE(this,((e,t)=>e.getOwnNullableExecutionEnviornment(t)));getOwnNullableExtensionElement(e,t){for(const i of this.dependencyGraphs){const s=i.getExtensionForElementClass(t).getElement(e);if(s)return s}}get sectionIndices(){return this.dependencyGraphs.flatMap((e=>e.ownSectionIndices))}get profiles(){return this.dependencyGraphs.flatMap((e=>e.ownProfiles))}get enumerations(){return this.dependencyGraphs.flatMap((e=>e.ownEnumerations))}get measures(){return this.dependencyGraphs.flatMap((e=>e.ownMeasures))}get classes(){return this.dependencyGraphs.flatMap((e=>e.ownClasses))}get types(){return this.dependencyGraphs.flatMap((e=>e.ownTypes))}get associations(){return this.dependencyGraphs.flatMap((e=>e.ownAssociations))}get functions(){return this.dependencyGraphs.flatMap((e=>e.ownFunctions))}get functionActivators(){return this.dependencyGraphs.flatMap((e=>e.ownFunctionActivators))}get stores(){return this.dependencyGraphs.flatMap((e=>e.ownStores))}get databases(){return this.dependencyGraphs.flatMap((e=>e.ownDatabases))}get mappings(){return this.dependencyGraphs.flatMap((e=>e.ownMappings))}get services(){return this.dependencyGraphs.flatMap((e=>e.ownServices))}get runtimes(){return this.dependencyGraphs.flatMap((e=>e.ownRuntimes))}get connections(){return this.dependencyGraphs.flatMap((e=>e.ownConnections))}get dataElements(){return this.dependencyGraphs.flatMap((e=>e.ownDataElements))}get generationSpecifications(){return this.dependencyGraphs.flatMap((e=>e.ownGenerationSpecifications))}get fileGenerations(){return this.dependencyGraphs.flatMap((e=>e.ownFileGenerations))}get testables(){return this.dependencyGraphs.flatMap((e=>e.ownTestables))}get executionEnvironments(){return this.dependencyGraphs.flatMap((e=>e.ownExecutionEnvironments))}getExtensionElements(e){return this.dependencyGraphs.flatMap((t=>t.getExtensionElements(e)))}getModel(e){return W(this.projectDependencyModelsIndex.get(e),`Can't find dependency model with project ID '${e}'`)}getNullableElement(e,t){const i=this.dependencyGraphs.find((i=>Boolean(i.getOwnNullableElement(e,t))));return i?.getOwnNullableElement(e,t)}getElementOrigin(e){const t=this.dependencyGraphs.find((t=>Boolean(t.getOwnNullableElement(e.path))));return t?.origin instanceof KE?`${t.origin.groupId}${YE}${t.origin.artifactId}`:void 0}}class ev extends rE{static NAME="ModelStore";static INSTANCE=new ev;constructor(){super(ev.NAME)}accept_PackageableElementVisitor(e){throw new V}}class tv extends $E{primitiveTypesIndex=new Map;get primitiveTypes(){return Array.from(this.primitiveTypesIndex.values())}constructor(e){super(Ra.CORE,e),this.initializePrimitiveTypes(),this.setOwnStore(ev.NAME,ev.INSTANCE)}get allOwnElements(){return[...super.allOwnElements,...this.primitiveTypes]}initializePrimitiveTypes(){[gE.STRING,gE.BOOLEAN,gE.BINARY,gE.NUMBER,gE.INTEGER,gE.FLOAT,gE.DECIMAL,gE.DATE,gE.STRICTDATE,gE.DATETIME,gE.STRICTTIME,gE.LATESTDATE,gE.BYTE].forEach((e=>{this.primitiveTypesIndex.set(e.path,e),this.setOwnType(e.path,e)}))}}class iv extends $E{autoImports=[];constructor(e){super(Ra.SYSTEM,e)}initializeAutoImports(){this.autoImports=Ma.map((e=>X(this.getOwnNullableElement(e,!0),Za,`Can't find auto-import package '${e}'`)))}}class sv extends $E{constructor(e){super(Ra.MODEL_GENERATION,e)}}class nv extends $E{coreModel;systemModel;generationModel;dependencyManager;constructor(e,t,i){super(Ra.MAIN,i),this.coreModel=e,this.systemModel=t,this.generationModel=new sv(i),this.dependencyManager=new ZE(i)}get autoImports(){return this.systemModel.autoImports}get primitiveTypes(){return this.coreModel.primitiveTypes}get sectionIndices(){return[...this.coreModel.ownSectionIndices,...this.systemModel.ownSectionIndices,...this.dependencyManager.sectionIndices,...this.ownSectionIndices,...this.generationModel.ownSectionIndices]}get profiles(){return[...this.coreModel.ownProfiles,...this.systemModel.ownProfiles,...this.dependencyManager.profiles,...this.ownProfiles,...this.generationModel.ownProfiles]}get enumerations(){return[...this.coreModel.ownEnumerations,...this.systemModel.ownEnumerations,...this.dependencyManager.enumerations,...this.ownEnumerations,...this.generationModel.ownEnumerations]}get measures(){return[...this.coreModel.ownMeasures,...this.systemModel.ownMeasures,...this.dependencyManager.measures,...this.ownMeasures,...this.generationModel.ownMeasures]}get classes(){return[...this.coreModel.ownClasses,...this.systemModel.ownClasses,...this.dependencyManager.classes,...this.ownClasses,...this.generationModel.ownClasses]}get types(){return[...this.coreModel.ownTypes,...this.systemModel.ownTypes,...this.dependencyManager.types,...this.ownTypes,...this.generationModel.ownTypes]}get associations(){return[...this.coreModel.ownAssociations,...this.systemModel.ownAssociations,...this.dependencyManager.associations,...this.ownAssociations,...this.generationModel.ownAssociations]}get functions(){return[...this.coreModel.ownFunctions,...this.systemModel.ownFunctions,...this.dependencyManager.functions,...this.ownFunctions,...this.generationModel.ownFunctions]}get functionActivators(){return[...this.coreModel.ownFunctionActivators,...this.systemModel.ownFunctionActivators,...this.dependencyManager.functionActivators,...this.ownFunctionActivators,...this.generationModel.ownFunctionActivators]}get stores(){return[...this.coreModel.ownStores,...this.systemModel.ownStores,...this.dependencyManager.stores,...this.ownStores,...this.generationModel.ownStores]}get databases(){return[...this.coreModel.ownDatabases,...this.systemModel.ownDatabases,...this.dependencyManager.databases,...this.ownDatabases,...this.generationModel.ownDatabases]}get mappings(){return[...this.coreModel.ownMappings,...this.systemModel.ownMappings,...this.dependencyManager.mappings,...this.ownMappings,...this.generationModel.ownMappings]}get services(){return[...this.coreModel.ownServices,...this.systemModel.ownServices,...this.dependencyManager.services,...this.ownServices,...this.generationModel.ownServices]}get runtimes(){return[...this.coreModel.ownRuntimes,...this.systemModel.ownRuntimes,...this.dependencyManager.runtimes,...this.ownRuntimes,...this.generationModel.ownRuntimes]}get connections(){return[...this.coreModel.ownConnections,...this.systemModel.ownConnections,...this.dependencyManager.connections,...this.ownConnections,...this.generationModel.ownConnections]}get dataElements(){return[...this.coreModel.ownDataElements,...this.systemModel.ownDataElements,...this.dependencyManager.dataElements,...this.ownDataElements,...this.generationModel.ownDataElements]}get executionEnvironments(){return[...this.coreModel.ownExecutionEnvironments,...this.systemModel.ownExecutionEnvironments,...this.dependencyManager.executionEnvironments,...this.ownExecutionEnvironments,...this.generationModel.ownExecutionEnvironments]}get generationSpecifications(){return[...this.coreModel.ownGenerationSpecifications,...this.systemModel.ownGenerationSpecifications,...this.dependencyManager.generationSpecifications,...this.ownGenerationSpecifications,...this.generationModel.ownGenerationSpecifications]}get fileGenerations(){return[...this.coreModel.ownFileGenerations,...this.systemModel.ownFileGenerations,...this.dependencyManager.fileGenerations,...this.ownFileGenerations,...this.generationModel.ownFileGenerations]}get allElements(){return[...this.coreModel.allOwnElements,...this.systemModel.allOwnElements,...this.dependencyManager.allOwnElements,...this.allOwnElements,...this.generationModel.allOwnElements]}get testables(){return[...this.coreModel.ownTestables,...this.systemModel.ownTestables,...this.dependencyManager.testables,...this.ownTestables,...this.generationModel.ownTestables]}getPrimitiveType=e=>W(this.coreModel.primitiveTypesIndex.get(e),`Can't find primitive type '${e}'`);getType=e=>W(this.getOwnNullableType(e)??this.generationModel.getOwnNullableType(e)??this.dependencyManager.getOwnNullableType(e)??this.systemModel.getOwnNullableType(e)??this.coreModel.getOwnNullableType(e),`Can't find type '${e}'`);getProfile=e=>W(this.getOwnNullableProfile(e)??this.generationModel.getOwnNullableProfile(e)??this.dependencyManager.getOwnNullableProfile(e)??this.systemModel.getOwnNullableProfile(e),`Can't find profile '${e}'`);getEnumeration=e=>X(this.getType(e),Xa,`Can't find enumeration '${e}'`);getMeasure=e=>X(this.getType(e),Qa,`Can't find measure '${e}'`);getUnit=e=>X(this.getType(e),qa,`Can't find unit '${e}'`);getClass=e=>X(this.getType(e),Ka,`Can't find class '${e}'`);getAssociation=e=>W(this.getOwnNullableAssociation(e)??this.generationModel.getOwnNullableAssociation(e)??this.dependencyManager.getOwnNullableAssociation(e)??this.systemModel.getOwnNullableAssociation(e),`Can't find association '${e}'`);getPropertyOwner=e=>W(this.getOwnNullableAssociation(e)??this.generationModel.getOwnNullableAssociation(e)??this.dependencyManager.getOwnNullableAssociation(e)??this.systemModel.getOwnNullableAssociation(e)??X(this.getType(e),Ka),`Can't find property owner '${e}'`);getFunction=e=>X(this.getOwnNullableFunction(e)??this.generationModel.getOwnNullableFunction(e)??this.dependencyManager.getOwnNullableFunction(e)??this.systemModel.getOwnNullableFunction(e),aE,`Can't find function '${e}'`);getFunctionActivator=e=>X(this.getOwnNullableFunctionActivator(e)??this.generationModel.getOwnNullableFunctionActivator(e)??this.dependencyManager.getOwnNullableFunctionActivator(e)??this.systemModel.getOwnNullableFunctionActivator(e),VE,`Can't find function activator '${e}'`);getStore=e=>W(this.getOwnNullableStore(e)??this.generationModel.getOwnNullableStore(e)??this.dependencyManager.getOwnNullableStore(e)??this.systemModel.getOwnNullableStore(e)??this.coreModel.getOwnNullableStore(e),`Can't find store '${e}'`);getFlatDataStore=e=>X(this.getStore(e),oE,`Can't find flat-data store '${e}'`);getDatabase=e=>X(this.getStore(e),hE,`Can't find database store '${e}'`);getMapping=e=>W(this.getOwnNullableMapping(e)??this.generationModel.getOwnNullableMapping(e)??this.dependencyManager.getOwnNullableMapping(e)??this.systemModel.getOwnNullableMapping(e),`Can't find mapping '${e}'`);getService=e=>W(this.getOwnNullableService(e)??this.generationModel.getOwnNullableService(e)??this.dependencyManager.getOwnNullableService(e)??this.systemModel.getOwnNullableService(e),`Can't find service '${e}'`);getConnection=e=>W(this.getOwnNullableConnection(e)??this.generationModel.getOwnNullableConnection(e)??this.dependencyManager.getOwnNullableConnection(e)??this.systemModel.getOwnNullableConnection(e),`Can't find connection '${e}'`);getRuntime=e=>W(this.getOwnNullableRuntime(e)??this.generationModel.getOwnNullableRuntime(e)??this.dependencyManager.getOwnNullableRuntime(e)??this.systemModel.getOwnNullableRuntime(e),`Can't find runtime '${e}'`);getGenerationSpecification=e=>W(this.getOwnNullableGenerationSpecification(e)??this.generationModel.getOwnNullableGenerationSpecification(e)??this.dependencyManager.getOwnNullableGenerationSpecification(e)??this.systemModel.getOwnNullableGenerationSpecification(e),`Can't find generation specification '${e}'`);getFileGeneration=e=>W(this.getOwnNullableFileGeneration(e)??this.generationModel.getOwnNullableFileGeneration(e)??this.dependencyManager.getOwnNullableFileGeneration(e)??this.systemModel.getOwnNullableFileGeneration(e),`Can't find file generation '${e}'`);getDataElement=e=>W(this.getOwnNullableDataElement(e)??this.generationModel.getOwnNullableDataElement(e)??this.dependencyManager.getOwnNullableDataElement(e)??this.systemModel.getOwnNullableDataElement(e),`Can't find data element '${e}'`);getExtensionElement(e,t,i){return W(this.getOwnNullableExtensionElement(e,t)??this.generationModel.getOwnNullableExtensionElement(e,t)??this.dependencyManager.getOwnNullableExtensionElement(e,t)??this.systemModel.getOwnNullableExtensionElement(e,t),i??`Can't find element '${e}'`)}getElement=(e,t)=>W(this.getNullableElement(e,t),`Can't find element '${e}'`);getNullableClass=e=>z((()=>this.getClass(e)));getNullableMapping=e=>z((()=>this.getMapping(e)));getNullableService=e=>z((()=>this.getService(e)));getNullableRuntime=e=>z((()=>this.getRuntime(e)));getNullableFileGeneration=e=>z((()=>this.getFileGeneration(e)));getNullableElement(e,t){const i=super.getOwnNullableElement(e)??this.dependencyManager.getNullableElement(e)??this.generationModel.getOwnNullableElement(e)??this.systemModel.getOwnNullableElement(e)??this.coreModel.getOwnNullableElement(e);return t&&!i?this.getNullablePackage(e)??this.dependencyManager.getNullableElement(e,!0)??this.generationModel.getNullablePackage(e)??this.systemModel.getNullablePackage(e):i}getMultiplicity(e,t){let i;return 1===e&&1===t?i=Jb.ONE:0===e&&1===t?i=Jb.ZERO_ONE:0===e&&void 0===t?i=Jb.ZERO_MANY:1===e&&void 0===t?i=Jb.ONE_MANY:0===e&&0===t&&(i=Jb.ZERO),i??new Jb(e,t)}addElement(e,t){const i=EE(t??"",e.name);if(this.getNullableElement(i,!1))throw new U(`Can't create element '${i}': another element with the same path already existed`);super.addOwnElement(e,t)}deleteElement(e){super.deleteOwnElement(e);const t=this.graphPlugins.flatMap((e=>e.getExtraDeadReferencesCleaners?.()??[]));for(const e of t)e(this)}renameElement(e,t){if(this.getNullableElement(t,!1))throw new U(`Can't rename element '${e.path}' to '${t}': another element with the same path already existed`);super.renameOwnElement(e,e.path,t)}}class av extends nr{ownerReference;value;constructor(e,t){super(e),this.ownerReference=e,this.value=t}get pointerHashCode(){return[Ua.STEREOTYPE_POINTER,this.value.value,this.ownerReference.valueForSerialization??""].map(ya).join(",")}}class rv extends av{ownerReference;constructor(e){const t=rr.create(e._OWNER);super(t,e),this.ownerReference=t}static create(e){return new rv(e)}}class ov extends nr{ownerReference;value;constructor(e,t){super(e),this.ownerReference=e,this.value=t}get pointerHashCode(){return[Ua.TAG_POINTER,this.value.value,this.ownerReference.valueForSerialization??""].map(ya).join(",")}}class cv extends ov{ownerReference;constructor(e){const t=rr.create(e._OWNER);super(t,e),this.ownerReference=t}static create(e){return new cv(e)}}class lv extends nr{ownerReference;value;constructor(e,t){super(e),this.ownerReference=e,this.value=t}get pointerHashCode(){return[Ua.PROPERTY_POINTER,this.value.name,this.ownerReference.valueForSerialization??""].map(ya).join(",")}}class dv extends lv{ownerReference;constructor(e){const t=rr.create(e._OWNER);super(t,e),this.ownerReference=t}static create(e){return new dv(e)}}var uv;!function(e){e.DB2="DB2",e.H2="H2",e.MemSQL="MemSQL",e.Sybase="Sybase",e.SybaseIQ="SybaseIQ",e.Composite="Composite",e.Postgres="Postgres",e.SqlServer="SqlServer",e.Hive="Hive",e.Snowflake="Snowflake",e.Databricks="Databricks",e.Presto="Presto",e.Redshift="Redshift",e.BigQuery="BigQuery",e.Spanner="Spanner",e.Trino="Trino"}(uv||(uv={}));var pv;!function(e){e.V1_0_0="v1_0_0",e.VX_X_X="vX_X_X"}(pv||(pv={}));const hv=(e,t)=>`${W(e,"Package path is required")}${Ia}${W(t,"Name is required")}`;const mv=e=>e instanceof iv?"System elements":e instanceof sv?"Generation elements":e instanceof qE&&e.origin instanceof KE?`Project dependency ${e.origin.groupId}${YE}${e.origin.artifactId} `:"";class gv{elementClassName;_class;prerequisites=[];firstPass;secondPass;thirdPass;fourthPass;fifthPass;constructor(e){this.elementClassName=e.elementClassName,this._class=e._class,this.prerequisites=e.prerequisites??[],this.firstPass=e.firstPass,this.secondPass=e.secondPass,this.thirdPass=e.thirdPass,this.fourthPass=e.fourthPass,this.fifthPass=e.fifthPass}getElementProtocolClass(){return this._class}getPrerequisiteElementProtocolClasses(){return this.prerequisites}runFirstPass(e,t,i,s){q(e.package,"Element 'package' field is missing or empty"),q(e.name,"Element 'name' field is missing or empty");((e,t,i)=>{if(i){if(i.has(e)){const i=t.graph.getNullableElement(e),s=DE(W(i),t.graph);throw new H(`${mv(t.currentSubGraph)}Element '${e}' already exists${s?` in ${s}`:""}`)}i.add(e)}else{const i=t.graph.getNullableElement(e);if(i){const s=DE(i,t.graph);throw new H(`${mv(t.currentSubGraph)}Element '${e}' already exists${s?` in ${s}`:""}`)}}})(hv(e.package,e.name),t,s);const n=this.firstPass(e,t);return SE(IE(t.currentSubGraph,e.package,i),n),n}runSecondPass(e,t){this.secondPass?.(e,t)}runThirdPass(e,t){this.thirdPass?.(e,t)}runFourthPass(e,t){this.fourthPass?.(e,t)}runFifthPass(e,t){this.fifthPass?.(e,t)}}class fv{_PARENT;_isEmbedded=!1;id;class;root;superSetImplementationId;constructor(e,t,i,s){this.id=e,this._PARENT=t,this.class=i,this.root=s}get hashCode(){return Na([Ua.SET_IMPLEMENTATION,this.id.valueForSerialization??"",this.class.valueForSerialization??"",this.root.valueForSerialization.toString(),this.superSetImplementationId??""])}}var _v;!function(e){e.STORE_UNION="STORE_UNION",e.ROUTER_UNION="ROUTER_UNION",e.INHERITANCE="INHERITANCE",e.MERGE="MERGE"}(_v||(_v={}));class bv extends eE{static NAME="INTERNAL__PseudoMapping";static INSTANCE=new bv;constructor(){super(bv.NAME)}}const Ev=(e,t)=>{e.name=t.name,e.package=t.package?.path??""};class vv extends fv{mappingClass;propertyMappings=[]}class Tv{value;constructor(e){this.value=e}}class Sv extends Tv{defaultValue;constructor(e,t){super(e),this.defaultValue=t}get isDefault(){return this.defaultValue===this.value}}class Cv extends Sv{static create(e,t){return new Cv(e,vE(t))}get valueForSerialization(){if(!this.isDefault)return this.value}}class yv extends Tv{}class Nv extends yv{constructor(e){super(e)}static create(e){return new Nv(e)}get valueForSerialization(){return this.value}}class Av extends Ka{static NAME="INTERNAL__PseudoClass";static INSTANCE=new Av;constructor(){super(Av.NAME)}}class Iv extends vv{static NAME="INTERNAL__PseudoInstanceSetImplementation";static INSTANCE=new Iv;constructor(){super(Cv.create("",Av.INSTANCE.path),bv.INSTANCE,rr.create(Av.INSTANCE),Nv.create(!1))}accept_SetImplementationVisitor(e){throw new V}}const xv=(e,t)=>{const i=new Qp;return i.class=t?.isTransformingEmbeddedPropertyMapping||t?.isTransformingLocalPropertyMapping?void 0:e.ownerReference.valueForSerialization??"",i.property=e.value.name,i};const Ov=e=>e.classView.value.id,wv=e=>{const t=new Pp,i=new wp;return i.points=e.pathForSerialization,t.line=i,t.property=xv(e.property),t.sourceView=Ov(e.from),t.targetView=Ov(e.to),t},Rv=e=>{const t=new Mp,i=new wp;return i.points=e.pathForSerialization,t.line=i,t.sourceView=Ov(e.from),t.targetView=Ov(e.to),t},kv=e=>{const t=new Ip;return t.class=e.class.valueForSerialization??"",t.hideProperties=e.hideProperties,t.hideStereotypes=e.hideStereotypes,t.hideTaggedValues=e.hideTaggedValues,t.id=e.id,t.position=((e,t)=>{const i=new xp;return i.x=e,i.y=t,i})(e.position.x,e.position.y),t.rectangle=((e,t)=>{const i=new Op;return i.height=e,i.width=t,i})(e.rectangle.height,e.rectangle.width),t};class Pv{x;y;constructor(e,t){this.x=e,this.y=t}get hashCode(){return Na([vp.POINT,this.x.toString(),this.y.toString()])}}class Mv{width;height;constructor(e,t){this.width=e,this.height=t}get hashCode(){return Na([vp.RECTANGLE,this.width.toString(),this.height.toString()])}}class Lv{_dummyObservable={};position;rectangle;constructor(e,t){this.position=e,this.rectangle=t}center=()=>new Pv(this.position.x+this.rectangle.width/2,this.position.y+this.rectangle.height/2);contains(e,t){const i=this.normalizeBox(this);return e>i.position.x&&e<i.position.x+i.rectangle.width&&t>i.position.y&&t<i.position.y+i.rectangle.height}normalizeBox(e){let t=e;return e.rectangle.width<0&&(t=new Lv(new Pv(e.position.x+e.rectangle.width,e.position.y),new Mv(-e.rectangle.width,e.rectangle.height))),e.rectangle.height<0&&(t=new Lv(new Pv(e.position.x,e.position.y+e.rectangle.height),new Mv(e.rectangle.width,-e.rectangle.height))),t}get hashCode(){return this._dummyObservable,Na([vp.POSITIONED_RECTANGLE,this.position,this.rectangle])}}class Fv extends Lv{_OWNER;class;id;hideProperties;hideTaggedValues;hideStereotypes;constructor(e,t,i){super(new Pv(0,0),new Mv(0,0)),this._OWNER=e,this.id=t,this.class=i}get hashCode(){return Na([vp.CLASS_VIEW,super.hashCode,this.id,this.class.valueForSerialization??"",this.hideProperties?.toString()??"",this.hideTaggedValues?.toString()??"",this.hideStereotypes?.toString()??""])}}class Dv{_offsetX;_offsetY;classView;constructor(e){this.classView=e}}class Bv extends nr{ownerReference;value;constructor(e,t){super(e),this.ownerReference=e,this.value=t}}class jv extends Bv{ownerReference;constructor(e){const t=rr.create(e._OWNER);super(t,e),this.ownerReference=t}static create(e){return new jv(e)}}class Uv{_OWNER;from;to;path=[];constructor(e,t,i){this._OWNER=e,this.from=new Dv(jv.create(t)),this.to=new Dv(jv.create(i))}computeEdgeEndpoint(e,t=!0){const i=e.classView.value,s=e.classView.value.center(),n=s.x+(e._offsetX??0),a=s.y+(e._offsetY??0);return i.contains(n,a)?new Pv(n,a):(t&&(e._offsetX=0,e._offsetY=0),new Pv(s.x,s.y))}buildFullPath(e=!0){return[this.computeEdgeEndpoint(this.from,e),...this.path,this.computeEdgeEndpoint(this.to,e)]}static pruneUnnecessaryInsidePoints=(e,t,i)=>{Z(Boolean(e.length),"Path requires at least 1 point");let s=0,n=e[s];for(;s<e.length-1&&t.contains(n.x,n.y);)s++,n=e[s];let a=e.length-1,r=e[a];for(;a>0&&i.contains(r.x,r.y);)a--,r=e[a];const o=e.slice(s-1,a+2);return o.length<2?[n,r]:o};get pathForSerialization(){return Uv.pruneUnnecessaryInsidePoints(this.buildFullPath(),this.from.classView.value,this.to.classView.value)}get hashCode(){return Na([vp.RELATIONSHIP_VIEW,this.from.classView.value.id,this.to.classView.value.id,Na(this.pathForSerialization)])}}class Vv extends Uv{property;constructor(e,t,i,s){super(e,i,s),this.property=t}get hashCode(){return Na([vp.PROPERTY_HOLDER_VIEW,super.hashCode,this.property.pointerHashCode])}}class Gv extends Vv{get hashCode(){return Na([vp.PROPERTY_VIEW,super.hashCode])}}class zv extends Uv{get hashCode(){return Na([vp.GENERALIZATION_VIEW,super.hashCode])}}class Hv{x;y;constructor(e,t){this.x=e,this.y=t}static fromPoints(e,t){return new Hv(t.x-e.x,t.y-e.y)}unit(){const e=Math.sqrt(this.x*this.x+this.y*this.y);return new Hv(this.x/e,this.y/e)}normal(e){return new Hv(e.y-this.y,-(e.x-this.x))}dotProduct(e){return this.x*e.x+this.y*e.y}}const $v=e=>{let t=0,i=0;for(;e.offsetParent;)t+=e.offsetLeft-e.scrollLeft+e.clientLeft,i+=e.offsetTop-e.scrollTop+e.clientTop,e=e.offsetParent;return new Pv(t,i)},Yv=(e,t)=>e.classViews.find((e=>e.id===t)),Wv=(e,t)=>{e.path=t},Kv=e=>{const t=e.buildFullPath(),i=Uv.pruneUnnecessaryInsidePoints(t,e.from.classView.value,e.to.classView.value);if(i[0]!==t[0]){const t=e.from.classView.value.center();e.from._offsetX=W(i[0],"Diagram path expected to have at least 2 points").x-t.x,e.from._offsetY=W(i[0],"Diagram path expected to have at least 2 points").y-t.y}if(i[i.length-1]!==t[t.length-1]){const t=e.to.classView.value.center();e.to._offsetX=i[i.length-1].x-t.x,e.to._offsetY=i[i.length-1].y-t.y}const s=[];for(let e=0;e<i.length-2;e++){const t=Hv.fromPoints(i[e+1],i[e]).unit(),n=Hv.fromPoints(i[e+1],i[e+2]).unit(),a=t.dotProduct(n),r=180*Math.acos(a)/Math.PI;Math.abs(r-180)>5&&s.push(i[e+1])}Wv(e,s)},Jv=(e,t)=>e.x*Math.cos(t)-e.y*Math.sin(t),Xv=(e,t)=>e.x*Math.sin(t)+e.y*Math.cos(t),qv=e=>new Pv(e.position.x+e.rectangle.width,e.position.y+e.rectangle.height),Qv=e=>{const t=qv(e);return new Lv(new Pv(t.x-5,t.y-5),new Mv(10,10))},Zv=(e,t)=>(t=e.normalizeBox(t),e.contains(t.position.x,t.position.y)||e.contains(t.position.x+t.rectangle.width,t.position.y)||e.contains(t.position.x,t.position.y+t.rectangle.height)||e.contains(t.position.x+t.rectangle.width,t.position.y+t.rectangle.height)),eT=e=>{const t=W(e.x,"Point 'x' coordinate is missing"),i=W(e.y,"Point 'y' coordinate is missing");return new Pv(t,i)},tT=(e,t,i)=>{q(e.class,"Class view 'class' field is missing or empty"),q(e.id,"Class view 'id' field is missing or empty"),Y(e.rectangle,"Class view 'rectangle' field is missing"),Y(e.position,"Class view 'position' field is missing");const s=new Fv(i,e.id,t.resolveClass(e.class));return s.hideProperties=e.hideProperties,s.hideTaggedValues=e.hideTaggedValues,s.hideStereotypes=e.hideStereotypes,s.rectangle=(e=>{const t=W(e.width,"Rectangle 'width' is missing"),i=W(e.height,"Rectangle 'height' is missing");return new Mv(t,i)})(e.rectangle),s.position=eT(e.position),s};class iT extends Wb{constructor(){super(ga.extensions.pureProtocolProcessorPlugin,ga.version)}V1_getExtraElementBuilders(){return[new gv({elementClassName:"Diagram",_class:Np,firstPass:(e,t)=>{J(e,Np);const i=new Tp(e.name),s=hv(e.package,e.name);return t.currentSubGraph.setOwnElementInExtension(s,i,Tp),i},secondPass:(e,t)=>{J(e,Np);const i=((e,t)=>W(t.getOwnNullableExtensionElement(e,Tp),`Can't find diagram '${e}'`))(hv(e.package,e.name),t.currentSubGraph);i.classViews=e.classViews.map((e=>tT(e,t,i))),i.propertyViews=e.propertyViews.map((e=>((e,t,i)=>{Y(e.property,"Property view 'property' field is missing"),Y(e.line,"Property view 'line' field is missing");const s=W(Yv(i,W(e.sourceView)),"Property view 'sourceView' field is missing"),n=W(Yv(i,W(e.targetView)),"Property view 'targetView' field is missing"),a=t.resolveOwnProperty(e.property),r=new Gv(i,a,s,n);r.path=e.line.points.map((e=>eT(e)));try{Kv(r)}catch(e){G(e),t.logService.warn(u.create(e.message))}return r})(e,t,i))),i.generalizationViews=e.generalizationViews.map((e=>((e,t,i)=>{Y(e.line,"Generalization view 'line' field is missing");const s=W(Yv(t,W(e.sourceView)),"Generalization view 'sourceView' field is missing"),n=W(Yv(t,W(e.targetView)),"Generalization view 'targetView' field is missing"),a=new zv(t,s,n);a.path=e.line.points.map((e=>eT(e)));try{Kv(a)}catch(e){G(e),i.logService.warn(u.create(e.message))}return a})(e,i,t)))}})]}V1_getExtraElementClassifierPathGetters(){return[e=>{if(e instanceof Np)return"meta::pure::metamodel::diagram::Diagram"}]}V1_getExtraElementProtocolSerializers(){return[(e,t)=>{if(e instanceof Np)return(0,Ne.serialize)(Yb,e)}]}V1_getExtraElementProtocolDeserializers(){return[(e,t)=>{if(e._type===jb)return(0,Ne.deserialize)(Yb,e)}]}V1_getExtraElementTransformers(){return[(e,t)=>{if(e instanceof Tp)return(e=>{const t=new Np;return Ev(t,e),t.classViews=e.classViews.map(kv),t.generalizationViews=e.generalizationViews.map(Rv),t.propertyViews=e.propertyViews.map(wv),t})(e)}]}}class sT extends o{_$nominalTypeBrand;install(e){e.registerPureGraphPlugin(this)}}class nT extends sT{constructor(){super(ga.extensions.pureGraphPlugin,ga.version)}getExtraPureGraphExtensionClasses(){return[Tp]}getExtraDeadReferencesCleaners(){return[e=>{e.getExtensionForElementClass(Tp).elements.forEach((t=>((e,t)=>{e.propertyViews.filter((e=>!(e.property.ownerReference.value instanceof Ka?PE(e.property.ownerReference.value):e.property.ownerReference.value.properties).map((e=>e.name)).includes(e.property.value.name))).forEach((t=>F(e.propertyViews,t))),e.classViews.filter((e=>!t.getNullableClass(e.class.value.path))).forEach((t=>F(e.classViews,t))),e.generalizationViews.filter((e=>{const i=e.from.classView.value.class.value,s=e.to.classView.value.class.value;return!t.getNullableClass(i.path)||!t.getNullableClass(s.path)||0===i.generalizations.filter((e=>e.value.rawType===s)).length})).forEach((t=>F(e.generalizationViews,t)))})(t,e)))}]}}class aT extends l{constructor(){super(ga.extensions.graphManagerPreset,ga.version,[new nT,new Sp,new iT])}}var rT=i(979),oT=i(4926);class cT{historyAPI;_isNavigationBlocked=!1;_forceBypassNavigationBlocking=!1;_blockCheckers=[];_beforeUnloadListener=e=>{this._forceBypassNavigationBlocking||this._blockCheckers.some((e=>e()))&&(e.returnValue="")};onBlock;onNativePlatformNavigationBlock;constructor(e){(0,Ve.makeObservable)(this,{_isNavigationBlocked:Ve.observable,isNavigationBlocked:Ve.computed,blockNavigation:Ve.action,unblockNavigation:Ve.action}),this.historyAPI=e}get window(){return W(window,"Window object is not available in non-web environment")}goToLocation(e,t){t?.ignoreBlocking&&(this._forceBypassNavigationBlocking=!0);const i=()=>{this._forceBypassNavigationBlocking=!0,this.window.location.href=this.generateAddress(e)};!this._forceBypassNavigationBlocking&&this._blockCheckers.some((e=>e()))?this.onBlock?.(i):i()}reload(e){e?.ignoreBlocking&&(this._forceBypassNavigationBlocking=!0);const t=()=>{this._forceBypassNavigationBlocking=!0,this.window.location.reload()};!this._forceBypassNavigationBlocking&&this._blockCheckers.some((e=>e()))?this.onBlock?.(t):t()}goToAddress(e,t){t?.ignoreBlocking&&(this._forceBypassNavigationBlocking=!0);const i=()=>{this._forceBypassNavigationBlocking=!0,this.window.location.href=e};!this._forceBypassNavigationBlocking&&this._blockCheckers.some((e=>e()))?this.onBlock?.(i):i()}visitAddress(e){this.window.open(e,"_blank")}generateAddress(e){return this.window.location.origin+this.historyAPI.createHref({pathname:e})}updateCurrentLocation(e){this.historyAPI.push(e)}updateCurrentZone(e){this.window.location.hash="#"+e}resetZone(){this.updateCurrentLocation(this.getCurrentLocation())}getCurrentBaseAddress(e){return e?.withAppRoot?this.generateAddress(""):this.window.location.origin}getCurrentAddress(){return this.window.location.href}getCurrentLocation(){return this.historyAPI.location.pathname}getCurrentLocationParameters(){const e={},t=((e,t=!1)=>t?de.default.parseUrl(e).query:de.default.parse(e))((i=this.getCurrentAddress(),(0,ue.sanitizeUrl)(i)),!0);var i;return Object.keys(t).forEach((i=>{e[i]=((e,t)=>{const i=t[e];return i?decodeURIComponent(i):void 0})(i,t)})),e}getCurrentLocationParameterValue(e){return this.getCurrentLocationParameters()[e]}getCurrentZone(){return this.window.location.hash.substring(1)}blockNavigation(e,t,i){this._isNavigationBlocked=!0,this.onBlock=t,this.onNativePlatformNavigationBlock=i,this.window.history.pushState(null,"",this.getCurrentAddress()),this.window.onpopstate=()=>{window.history.forward(),this.onNativePlatformNavigationBlock?.()},this._blockCheckers=e,this.window.removeEventListener("beforeunload",this._beforeUnloadListener),this.window.addEventListener("beforeunload",this._beforeUnloadListener)}unblockNavigation(){this._isNavigationBlocked=!1,this.onBlock=void 0,this.window.onpopstate=null,this._blockCheckers=[],this.window.removeEventListener("beforeunload",this._beforeUnloadListener)}get isNavigationBlocked(){return this._isNavigationBlocked}INTERNAL__internalizeTransientParameter(e){const t=this.getCurrentZone(),i=this.getCurrentLocationParameters();var s,n;delete i[e],this.updateCurrentLocation((s=this.getCurrentLocation(),n=(e=>{const t={};return Object.entries(e).forEach((([e,i])=>{i&&(t[e]=i.toString())})),de.default.stringify(t)})(i),n?`${s}?${n}`:s)),this.updateCurrentZone(t)}}class lT{applicationStore;constructor(e){this.applicationStore=e}async initialize(){}}var dT;!function(e){e.INITIAL_COLOR_THEME="initialColorTheme"}(dT||(dT={}));class uT extends lT{navigator;constructor(e,t){super(e),this.navigator=new cT(t.historyAPI)}getNavigator(){return this.navigator}async initialize(){const e=this.applicationStore.navigationService.navigator.getCurrentLocationParameterValue(dT.INITIAL_COLOR_THEME);e&&(this.applicationStore.layoutService.setColorTheme(e),this.applicationStore.navigationService.navigator.INTERNAL__internalizeTransientParameter(dT.INITIAL_COLOR_THEME))}}const pT=(0,Xt.createContext)(void 0),hT=({children:e})=>{const t=Qt(),i=(0,rT.useHistory)(),s=(0,Ft.useLocalObservable)((()=>new uT(t,{historyAPI:i})));return(0,E.jsx)(pT.Provider,{value:s,children:e})},mT=({children:e,baseUrl:t})=>(0,E.jsx)(oT.BrowserRouter,{basename:t,children:(0,E.jsx)(hT,{children:e})}),gT="/welcome.pure",fT="/",_T="::";var bT,ET;!function(e){e.CONCEPT_EXPLORER="CONCEPT_EXPLORER",e.FILE_EXPLORER="FILE_EXPLORER"}(bT||(bT={})),function(e){e.TERMINAL="TERMINAL",e.SEARCH="SEARCH",e.REFERENCES="REFERNECES",e.TEST_RUNNER="TEST_RUNNER",e.CODE_FIX_SUGGESTION="CODE_FIX_SUGGESTION"}(ET||(ET={}));var vT,TT=i(7259);!function(e){e.WHITESPACE="",e.KEYWORD="keyword",e.IDENTIFIER="identifier",e.OPERATOR="operator",e.DELIMITER="delimiter",e.PARSER="parser",e.NUMBER="number",e.DATE="date",e.COLOR="color",e.PACKAGE="package",e.STRING="string",e.COMMENT="comment",e.LANGUAGE_STRUCT="language-struct",e.MULTIPLICITY="multiplicity",e.GENERICS="generics",e.PROPERTY="property",e.PARAMETER="parameter",e.VARIABLE="variable",e.TYPE="type",e.INVALID="invalid"}(vT||(vT={}));const ST=e=>{const t=[];e.tokenColors.forEach((e=>{if(!e.settings)return;let i=[];i=ee(e.scope)?e.scope.replace(/^[,]+/,"").replace(/[,]+$/,"").split(",").map((e=>e.trim())):Array.isArray(e.scope)?e.scope:[""];const s={};e.settings.foreground&&ee(e.settings.foreground)&&(s.foreground=e.settings.foreground),e.settings.background&&ee(e.settings.background)&&(s.background=e.settings.background),e.settings.fontStyle&&ee(e.settings.fontStyle)&&(s.fontStyle=e.settings.fontStyle),i.forEach((e=>{if($(e)||!Object.keys(s).length)return;const i={...s,token:e};t.push(i)}))}));const i={};return Object.entries(e.colors).forEach((([e,t])=>{var s,n,a;Array.isArray(t)?t.length&&(i[e]=(s=t,Z(0<=(n=0)&&n<s.length,`Index out of bound: ${n}`),W(s[n],a))):i[e]=t})),{base:"vs-dark",inherit:!0,rules:t,colors:i}},CT=(e,t,i,s)=>{const n=ST(e);return{...n,base:t,colors:{...n.colors,...i},rules:[...n.rules,...s]}},yT=JSON.parse('{"name":"Solarized (dark)","tokenColors":[{"settings":{"foreground":"#839496"}},{"scope":["meta.embedded","source.groovy.embedded","string meta.image.inline.markdown"],"settings":{"foreground":"#839496"}},{"name":"Comment","scope":"comment","settings":{"fontStyle":"italic","foreground":"#586E75"}},{"name":"String","scope":"string","settings":{"foreground":"#2AA198"}},{"name":"Regexp","scope":"string.regexp","settings":{"foreground":"#DC322F"}},{"name":"Number","scope":"constant.numeric","settings":{"foreground":"#D33682"}},{"name":"Variable","scope":["variable.language","variable.other"],"settings":{"foreground":"#268BD2"}},{"name":"Keyword","scope":"keyword","settings":{"foreground":"#859900"}},{"name":"Storage","scope":"storage","settings":{"fontStyle":"bold","foreground":"#93A1A1"}},{"name":"Class name","scope":["entity.name.class","entity.name.type","entity.name.namespace","entity.name.scope-resolution"],"settings":{"fontStyle":"","foreground":"#CB4B16"}},{"name":"Function name","scope":"entity.name.function","settings":{"foreground":"#268BD2"}},{"name":"Variable start","scope":"punctuation.definition.variable","settings":{"foreground":"#859900"}},{"name":"Embedded code markers","scope":["punctuation.section.embedded.begin","punctuation.section.embedded.end"],"settings":{"foreground":"#DC322F"}},{"name":"Built-in constant","scope":["constant.language","meta.preprocessor"],"settings":{"foreground":"#B58900"}},{"name":"Support.construct","scope":["support.function.construct","keyword.other.new"],"settings":{"foreground":"#CB4B16"}},{"name":"User-defined constant","scope":["constant.character","constant.other"],"settings":{"foreground":"#CB4B16"}},{"name":"Inherited class","scope":"entity.other.inherited-class","settings":{"foreground":"#6C71C4"}},{"name":"Function argument","scope":"variable.parameter","settings":{}},{"name":"Tag name","scope":"entity.name.tag","settings":{"foreground":"#268BD2"}},{"name":"Tag start/end","scope":"punctuation.definition.tag","settings":{"foreground":"#586E75"}},{"name":"Tag attribute","scope":"entity.other.attribute-name","settings":{"foreground":"#93A1A1"}},{"name":"Library function","scope":"support.function","settings":{"foreground":"#268BD2"}},{"name":"Continuation","scope":"punctuation.separator.continuation","settings":{"foreground":"#DC322F"}},{"name":"Library constant","scope":["support.constant","support.variable"],"settings":{}},{"name":"Library class/type","scope":["support.type","support.class"],"settings":{"foreground":"#859900"}},{"name":"Library Exception","scope":"support.type.exception","settings":{"foreground":"#CB4B16"}},{"name":"Library variable","scope":"support.other.variable","settings":{}},{"name":"Invalid","scope":"invalid","settings":{"foreground":"#DC322F"}},{"name":"diff: header","scope":["meta.diff","meta.diff.header"],"settings":{"fontStyle":"italic","foreground":"#268BD2"}},{"name":"diff: deleted","scope":"markup.deleted","settings":{"fontStyle":"","foreground":"#DC322F"}},{"name":"diff: changed","scope":"markup.changed","settings":{"fontStyle":"","foreground":"#CB4B16"}},{"name":"diff: inserted","scope":"markup.inserted","settings":{"foreground":"#859900"}},{"name":"Markup Quote","scope":"markup.quote","settings":{"foreground":"#859900"}},{"name":"Markup Lists","scope":"markup.list","settings":{"foreground":"#B58900"}},{"name":"Markup Styling","scope":["markup.bold","markup.italic"],"settings":{"foreground":"#D33682"}},{"name":"Markup: Strong","scope":"markup.bold","settings":{"fontStyle":"bold"}},{"name":"Markup: Emphasis","scope":"markup.italic","settings":{"fontStyle":"italic"}},{"scope":"markup.strikethrough","settings":{"fontStyle":"strikethrough"}},{"name":"Markup Inline","scope":"markup.inline.raw","settings":{"fontStyle":"","foreground":"#2AA198"}},{"name":"Markup Headings","scope":"markup.heading","settings":{"fontStyle":"bold","foreground":"#268BD2"}},{"name":"Markup Setext Header","scope":"markup.heading.setext","settings":{"fontStyle":"","foreground":"#268BD2"}}],"colors":{"focusBorder":"#2AA19899","selection.background":"#2AA19899","input.background":"#003847","input.foreground":"#93A1A1","input.placeholderForeground":"#93A1A1AA","inputOption.activeBorder":"#2AA19899","inputValidation.infoBorder":"#363b5f","inputValidation.infoBackground":"#052730","inputValidation.warningBackground":"#5d5938","inputValidation.warningBorder":"#9d8a5e","inputValidation.errorBackground":"#571b26","inputValidation.errorBorder":"#a92049","errorForeground":"#ffeaea","badge.background":"#047aa6","progressBar.background":"#047aa6","dropdown.background":"#00212B","dropdown.border":"#2AA19899","button.background":"#2AA19899","list.activeSelectionBackground":"#005A6F","quickInputList.focusBackground":"#005A6F","list.hoverBackground":"#004454AA","list.inactiveSelectionBackground":"#00445488","list.dropBackground":"#00445488","list.highlightForeground":"#1ebcc5","editor.background":"#002B36","editor.foreground":"#839496","editorWidget.background":"#00212B","editorCursor.foreground":"#D30102","editorWhitespace.foreground":"#93A1A180","editor.lineHighlightBackground":"#073642","editorLineNumber.activeForeground":"#949494","editor.selectionBackground":"#274642","minimap.selectionHighlight":"#274642","editorIndentGuide.background":"#93A1A180","editorIndentGuide.activeBackground":"#C3E1E180","editorHoverWidget.background":"#004052","editorMarkerNavigationError.background":"#AB395B","editorMarkerNavigationWarning.background":"#5B7E7A","editor.selectionHighlightBackground":"#005A6FAA","editor.wordHighlightBackground":"#004454AA","editor.wordHighlightStrongBackground":"#005A6FAA","editorBracketHighlight.foreground1":"#cdcdcdff","editorBracketHighlight.foreground2":"#b58900ff","editorBracketHighlight.foreground3":"#d33682ff","peekViewResult.background":"#00212B","peekViewEditor.background":"#10192c","peekViewTitle.background":"#00212B","peekView.border":"#2b2b4a","peekViewEditor.matchHighlightBackground":"#7744AA40","titleBar.activeBackground":"#002C39","editorGroup.border":"#00212B","editorGroup.dropBackground":"#2AA19844","editorGroupHeader.tabsBackground":"#004052","tab.activeForeground":"#d6dbdb","tab.activeBackground":"#002B37","tab.inactiveForeground":"#93A1A1","tab.inactiveBackground":"#004052","tab.border":"#003847","tab.lastPinnedBorder":"#2AA19844","activityBar.background":"#003847","panel.border":"#2b2b4a","sideBar.background":"#00212B","sideBarTitle.foreground":"#93A1A1","statusBar.foreground":"#93A1A1","statusBar.background":"#00212B","statusBar.debuggingBackground":"#00212B","statusBar.noFolderBackground":"#00212B","statusBarItem.remoteBackground":"#2AA19899","ports.iconRunningProcessForeground":"#369432","statusBarItem.prominentBackground":"#003847","statusBarItem.prominentHoverBackground":"#003847","debugToolBar.background":"#00212B","debugExceptionWidget.background":"#00212B","debugExceptionWidget.border":"#AB395B","pickerGroup.foreground":"#2AA19899","pickerGroup.border":"#2AA19899","terminal.ansiBlack":"#073642","terminal.ansiRed":"#dc322f","terminal.ansiGreen":"#859900","terminal.ansiYellow":"#b58900","terminal.ansiBlue":"#268bd2","terminal.ansiMagenta":"#d33682","terminal.ansiCyan":"#2aa198","terminal.ansiWhite":"#eee8d5","terminal.ansiBrightBlack":"#002b36","terminal.ansiBrightRed":"#cb4b16","terminal.ansiBrightGreen":"#586e75","terminal.ansiBrightYellow":"#657b83","terminal.ansiBrightBlue":"#839496","terminal.ansiBrightMagenta":"#6c71c4","terminal.ansiBrightCyan":"#93a1a1","terminal.ansiBrightWhite":"#fdf6e3"},"semanticHighlighting":true}'),NT=JSON.parse('{"name":"GitHub Dark","colors":{"focusBorder":"#005cc5","foreground":"#d1d5da","descriptionForeground":"#959da5","errorForeground":"#f97583","textLink.foreground":"#79b8ff","textLink.activeForeground":"#c8e1ff","textBlockQuote.background":"#24292e","textBlockQuote.border":"#444d56","textCodeBlock.background":"#2f363d","textPreformat.foreground":"#d1d5da","textSeparator.foreground":"#586069","button.background":"#176f2c","button.foreground":"#dcffe4","button.hoverBackground":"#22863a","button.secondaryBackground":"#444d56","button.secondaryForeground":"#fff","button.secondaryHoverBackground":"#586069","checkbox.background":"#444d56","checkbox.border":"#1b1f23","dropdown.background":"#2f363d","dropdown.border":"#1b1f23","dropdown.foreground":"#e1e4e8","dropdown.listBackground":"#24292e","input.background":"#2f363d","input.border":"#1b1f23","input.foreground":"#e1e4e8","input.placeholderForeground":"#959da5","badge.foreground":"#c8e1ff","badge.background":"#044289","progressBar.background":"#0366d6","titleBar.activeForeground":"#e1e4e8","titleBar.activeBackground":"#24292e","titleBar.inactiveForeground":"#959da5","titleBar.inactiveBackground":"#1f2428","titleBar.border":"#1b1f23","activityBar.foreground":"#e1e4e8","activityBar.inactiveForeground":"#6a737d","activityBar.background":"#24292e","activityBarBadge.foreground":"#fff","activityBarBadge.background":"#0366d6","activityBar.activeBorder":"#f9826c","activityBar.border":"#1b1f23","sideBar.foreground":"#d1d5da","sideBar.background":"#1f2428","sideBar.border":"#1b1f23","sideBarTitle.foreground":"#e1e4e8","sideBarSectionHeader.foreground":"#e1e4e8","sideBarSectionHeader.background":"#1f2428","sideBarSectionHeader.border":"#1b1f23","list.hoverForeground":"#e1e4e8","list.inactiveSelectionForeground":"#e1e4e8","list.activeSelectionForeground":"#e1e4e8","list.hoverBackground":"#282e34","list.inactiveSelectionBackground":"#282e34","list.activeSelectionBackground":"#39414a","list.inactiveFocusBackground":"#1d2d3e","list.focusBackground":"#044289","tree.indentGuidesStroke":"#2f363d","notificationCenterHeader.foreground":"#959da5","notificationCenterHeader.background":"#24292e","notifications.foreground":"#e1e4e8","notifications.background":"#2f363d","notifications.border":"#1b1f23","notificationsErrorIcon.foreground":"#ea4a5a","notificationsWarningIcon.foreground":"#ffab70","notificationsInfoIcon.foreground":"#79b8ff","pickerGroup.border":"#444d56","pickerGroup.foreground":"#e1e4e8","quickInput.background":"#24292e","quickInput.foreground":"#e1e4e8","statusBar.foreground":"#d1d5da","statusBar.background":"#24292e","statusBar.border":"#1b1f23","statusBar.noFolderBackground":"#24292e","statusBar.debuggingBackground":"#931c06","statusBar.debuggingForeground":"#fff","statusBarItem.prominentBackground":"#282e34","statusBarItem.remoteForeground":"#d1d5da","statusBarItem.remoteBackground":"#24292e","editorGroupHeader.tabsBackground":"#1f2428","editorGroupHeader.tabsBorder":"#1b1f23","editorGroup.border":"#1b1f23","tab.activeForeground":"#e1e4e8","tab.inactiveForeground":"#959da5","tab.inactiveBackground":"#1f2428","tab.activeBackground":"#24292e","tab.hoverBackground":"#24292e","tab.unfocusedHoverBackground":"#24292e","tab.border":"#1b1f23","tab.unfocusedActiveBorderTop":"#1b1f23","tab.activeBorder":"#24292e","tab.unfocusedActiveBorder":"#24292e","tab.activeBorderTop":"#f9826c","breadcrumb.foreground":"#959da5","breadcrumb.focusForeground":"#e1e4e8","breadcrumb.activeSelectionForeground":"#d1d5da","breadcrumbPicker.background":"#2b3036","editor.foreground":"#e1e4e8","editor.background":"#24292e","editorWidget.background":"#1f2428","editor.foldBackground":"#58606915","editor.lineHighlightBackground":"#2b3036","editorLineNumber.foreground":"#444d56","editorLineNumber.activeForeground":"#e1e4e8","editorIndentGuide.background":"#2f363d","editorIndentGuide.activeBackground":"#444d56","editorWhitespace.foreground":"#444d56","editorCursor.foreground":"#c8e1ff","editorError.foreground":"#f97583","editorWarning.foreground":"#ffea7f","editor.findMatchBackground":"#ffd33d44","editor.findMatchHighlightBackground":"#ffd33d22","editor.linkedEditingBackground":"#3392FF22","editor.inactiveSelectionBackground":"#3392FF22","editor.selectionBackground":"#3392FF44","editor.selectionHighlightBackground":"#17E5E633","editor.selectionHighlightBorder":"#17E5E600","editor.wordHighlightBackground":"#17E5E600","editor.wordHighlightStrongBackground":"#17E5E600","editor.wordHighlightBorder":"#17E5E699","editor.wordHighlightStrongBorder":"#17E5E666","editorBracketMatch.background":"#17E5E650","editorBracketMatch.border":"#17E5E600","editorGutter.modifiedBackground":"#2188ff","editorGutter.addedBackground":"#28a745","editorGutter.deletedBackground":"#ea4a5a","diffEditor.insertedTextBackground":"#28a74530","diffEditor.removedTextBackground":"#d73a4930","scrollbar.shadow":"#0008","scrollbarSlider.background":"#6a737d33","scrollbarSlider.hoverBackground":"#6a737d44","scrollbarSlider.activeBackground":"#6a737d88","editorOverviewRuler.border":"#1b1f23","panel.background":"#1f2428","panel.border":"#1b1f23","panelTitle.activeBorder":"#f9826c","panelTitle.activeForeground":"#e1e4e8","panelTitle.inactiveForeground":"#959da5","panelInput.border":"#2f363d","terminal.foreground":"#d1d5da","terminal.tab.activeBorder":"#f9826c","terminalCursor.background":"#586069","terminalCursor.foreground":"#79b8ff","terminal.ansiBrightWhite":"#fafbfc","terminal.ansiWhite":"#d1d5da","terminal.ansiBrightBlack":"#959da5","terminal.ansiBlack":"#586069","terminal.ansiBlue":"#2188ff","terminal.ansiBrightBlue":"#79b8ff","terminal.ansiGreen":"#34d058","terminal.ansiBrightGreen":"#85e89d","terminal.ansiCyan":"#39c5cf","terminal.ansiBrightCyan":"#56d4dd","terminal.ansiRed":"#ea4a5a","terminal.ansiBrightRed":"#f97583","terminal.ansiMagenta":"#b392f0","terminal.ansiBrightMagenta":"#b392f0","terminal.ansiYellow":"#ffea7f","terminal.ansiBrightYellow":"#ffea7f","editorBracketHighlight.foreground1":"#79b8ff","editorBracketHighlight.foreground2":"#ffab70","editorBracketHighlight.foreground3":"#b392f0","editorBracketHighlight.foreground4":"#79b8ff","editorBracketHighlight.foreground5":"#ffab70","editorBracketHighlight.foreground6":"#b392f0","gitDecoration.addedResourceForeground":"#34d058","gitDecoration.modifiedResourceForeground":"#79b8ff","gitDecoration.deletedResourceForeground":"#ea4a5a","gitDecoration.untrackedResourceForeground":"#34d058","gitDecoration.ignoredResourceForeground":"#6a737d","gitDecoration.conflictingResourceForeground":"#ffab70","gitDecoration.submoduleResourceForeground":"#6a737d","debugToolBar.background":"#2b3036","editor.stackFrameHighlightBackground":"#C6902625","editor.focusedStackFrameHighlightBackground":"#2b6a3033","peekViewEditor.matchHighlightBackground":"#ffd33d33","peekViewResult.matchHighlightBackground":"#ffd33d33","peekViewEditor.background":"#1f242888","peekViewResult.background":"#1f2428","settings.headerForeground":"#e1e4e8","settings.modifiedItemIndicator":"#0366d6","welcomePage.buttonBackground":"#2f363d","welcomePage.buttonHoverBackground":"#444d56"},"semanticHighlighting":true,"tokenColors":[{"scope":["comment","punctuation.definition.comment","string.comment"],"settings":{"foreground":"#6a737d"}},{"scope":["constant","entity.name.constant","variable.other.constant","variable.other.enummember","variable.language"],"settings":{"foreground":"#79b8ff"}},{"scope":["entity","entity.name"],"settings":{"foreground":"#b392f0"}},{"scope":"variable.parameter.function","settings":{"foreground":"#e1e4e8"}},{"scope":"entity.name.tag","settings":{"foreground":"#85e89d"}},{"scope":"keyword","settings":{"foreground":"#f97583"}},{"scope":["storage","storage.type"],"settings":{"foreground":"#f97583"}},{"scope":["storage.modifier.package","storage.modifier.import","storage.type.java"],"settings":{"foreground":"#e1e4e8"}},{"scope":["string","punctuation.definition.string","string punctuation.section.embedded source"],"settings":{"foreground":"#9ecbff"}},{"scope":"support","settings":{"foreground":"#79b8ff"}},{"scope":"meta.property-name","settings":{"foreground":"#79b8ff"}},{"scope":"variable","settings":{"foreground":"#ffab70"}},{"scope":"variable.other","settings":{"foreground":"#e1e4e8"}},{"scope":"invalid.broken","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.deprecated","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.illegal","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.unimplemented","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"carriage-return","settings":{"fontStyle":"italic underline","background":"#f97583","foreground":"#24292e","content":"^M"}},{"scope":"message.error","settings":{"foreground":"#fdaeb7"}},{"scope":"string variable","settings":{"foreground":"#79b8ff"}},{"scope":["source.regexp","string.regexp"],"settings":{"foreground":"#dbedff"}},{"scope":["string.regexp.character-class","string.regexp constant.character.escape","string.regexp source.ruby.embedded","string.regexp string.regexp.arbitrary-repitition"],"settings":{"foreground":"#dbedff"}},{"scope":"string.regexp constant.character.escape","settings":{"fontStyle":"bold","foreground":"#85e89d"}},{"scope":"support.constant","settings":{"foreground":"#79b8ff"}},{"scope":"support.variable","settings":{"foreground":"#79b8ff"}},{"scope":"meta.module-reference","settings":{"foreground":"#79b8ff"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#ffab70"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#79b8ff"}},{"scope":"markup.quote","settings":{"foreground":"#85e89d"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#e1e4e8"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#e1e4e8"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"scope":["markup.strikethrough"],"settings":{"fontStyle":"strikethrough"}},{"scope":"markup.inline.raw","settings":{"foreground":"#79b8ff"}},{"scope":["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],"settings":{"background":"#86181d","foreground":"#fdaeb7"}},{"scope":["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],"settings":{"background":"#144620","foreground":"#85e89d"}},{"scope":["markup.changed","punctuation.definition.changed"],"settings":{"background":"#c24e00","foreground":"#ffab70"}},{"scope":["markup.ignored","markup.untracked"],"settings":{"foreground":"#2f363d","background":"#79b8ff"}},{"scope":"meta.diff.range","settings":{"foreground":"#b392f0","fontStyle":"bold"}},{"scope":"meta.diff.header","settings":{"foreground":"#79b8ff"}},{"scope":"meta.separator","settings":{"fontStyle":"bold","foreground":"#79b8ff"}},{"scope":"meta.output","settings":{"foreground":"#79b8ff"}},{"scope":["brackethighlighter.tag","brackethighlighter.curly","brackethighlighter.round","brackethighlighter.square","brackethighlighter.angle","brackethighlighter.quote"],"settings":{"foreground":"#d1d5da"}},{"scope":"brackethighlighter.unmatched","settings":{"foreground":"#fdaeb7"}},{"scope":["constant.other.reference.link","string.other.link"],"settings":{"foreground":"#dbedff","fontStyle":"underline"}}]}'),AT=JSON.parse('{"name":"GitHub Dark Dimmed","colors":{"focusBorder":"#316dca","foreground":"#adbac7","descriptionForeground":"#768390","errorForeground":"#e5534b","textLink.foreground":"#539bf5","textLink.activeForeground":"#539bf5","textBlockQuote.background":"#1c2128","textBlockQuote.border":"#444c56","textCodeBlock.background":"#636e7b66","textPreformat.foreground":"#768390","textSeparator.foreground":"#373e47","icon.foreground":"#768390","keybindingLabel.foreground":"#adbac7","button.background":"#347d39","button.foreground":"#ffffff","button.hoverBackground":"#46954a","button.secondaryBackground":"#3d444d","button.secondaryForeground":"#adbac7","button.secondaryHoverBackground":"#444c56","checkbox.background":"#2d333b","checkbox.border":"#444c56","dropdown.background":"#2d333b","dropdown.border":"#444c56","dropdown.foreground":"#adbac7","dropdown.listBackground":"#2d333b","input.background":"#22272e","input.border":"#444c56","input.foreground":"#adbac7","input.placeholderForeground":"#636e7b","badge.foreground":"#cdd9e5","badge.background":"#316dca","progressBar.background":"#316dca","titleBar.activeForeground":"#768390","titleBar.activeBackground":"#22272e","titleBar.inactiveForeground":"#768390","titleBar.inactiveBackground":"#1c2128","titleBar.border":"#444c56","activityBar.foreground":"#adbac7","activityBar.inactiveForeground":"#768390","activityBar.background":"#22272e","activityBarBadge.foreground":"#cdd9e5","activityBarBadge.background":"#316dca","activityBar.activeBorder":"#ec775c","activityBar.border":"#444c56","sideBar.foreground":"#adbac7","sideBar.background":"#1c2128","sideBar.border":"#444c56","sideBarTitle.foreground":"#adbac7","sideBarSectionHeader.foreground":"#adbac7","sideBarSectionHeader.background":"#1c2128","sideBarSectionHeader.border":"#444c56","list.hoverForeground":"#adbac7","list.inactiveSelectionForeground":"#adbac7","list.activeSelectionForeground":"#adbac7","list.hoverBackground":"#636e7b1a","list.inactiveSelectionBackground":"#636e7b66","list.activeSelectionBackground":"#636e7b66","list.focusForeground":"#adbac7","list.focusBackground":"#4184e426","list.inactiveFocusBackground":"#4184e426","list.highlightForeground":"#539bf5","tree.indentGuidesStroke":"#373e47","notificationCenterHeader.foreground":"#768390","notificationCenterHeader.background":"#2d333b","notifications.foreground":"#adbac7","notifications.background":"#2d333b","notifications.border":"#444c56","notificationsErrorIcon.foreground":"#e5534b","notificationsWarningIcon.foreground":"#c69026","notificationsInfoIcon.foreground":"#539bf5","pickerGroup.border":"#444c56","pickerGroup.foreground":"#768390","quickInput.background":"#2d333b","quickInput.foreground":"#adbac7","statusBar.foreground":"#768390","statusBar.background":"#22272e","statusBar.border":"#444c56","statusBar.focusBorder":"#316dca80","statusBar.noFolderBackground":"#22272e","statusBar.debuggingForeground":"#cdd9e5","statusBar.debuggingBackground":"#c93c37","statusBarItem.prominentBackground":"#636e7b66","statusBarItem.remoteForeground":"#adbac7","statusBarItem.remoteBackground":"#444c56","statusBarItem.hoverBackground":"#adbac714","statusBarItem.activeBackground":"#adbac71f","statusBarItem.focusBorder":"#316dca","editorGroupHeader.tabsBackground":"#1c2128","editorGroupHeader.tabsBorder":"#444c56","editorGroup.border":"#444c56","tab.activeForeground":"#adbac7","tab.inactiveForeground":"#768390","tab.inactiveBackground":"#1c2128","tab.activeBackground":"#22272e","tab.hoverBackground":"#22272e","tab.unfocusedHoverBackground":"#636e7b1a","tab.border":"#444c56","tab.unfocusedActiveBorderTop":"#444c56","tab.activeBorder":"#22272e","tab.unfocusedActiveBorder":"#22272e","tab.activeBorderTop":"#ec775c","breadcrumb.foreground":"#768390","breadcrumb.focusForeground":"#adbac7","breadcrumb.activeSelectionForeground":"#768390","breadcrumbPicker.background":"#2d333b","editor.foreground":"#adbac7","editor.background":"#22272e","editorWidget.background":"#2d333b","editor.foldBackground":"#636e7b1a","editor.lineHighlightBackground":"#636e7b1a","editorLineNumber.foreground":"#636e7b","editorLineNumber.activeForeground":"#adbac7","editorIndentGuide.background":"#adbac71f","editorIndentGuide.activeBackground":"#adbac73d","editorWhitespace.foreground":"#545d68","editorCursor.foreground":"#539bf5","editor.findMatchBackground":"#966600","editor.findMatchHighlightBackground":"#eac55f80","editor.linkedEditingBackground":"#539bf512","editor.selectionHighlightBackground":"#57ab5a40","editor.wordHighlightBackground":"#636e7b80","editor.wordHighlightBorder":"#636e7b99","editor.wordHighlightStrongBackground":"#636e7b4d","editor.wordHighlightStrongBorder":"#636e7b99","editorBracketMatch.background":"#57ab5a40","editorBracketMatch.border":"#57ab5a99","editorInlayHint.background":"#76839033","editorInlayHint.foreground":"#768390","editorInlayHint.typeBackground":"#76839033","editorInlayHint.typeForeground":"#768390","editorInlayHint.paramBackground":"#76839033","editorInlayHint.paramForeground":"#768390","editorGutter.modifiedBackground":"#ae7c1466","editorGutter.addedBackground":"#46954a66","editorGutter.deletedBackground":"#e5534b66","diffEditor.insertedLineBackground":"#347d3926","diffEditor.insertedTextBackground":"#57ab5a4d","diffEditor.removedLineBackground":"#c93c3726","diffEditor.removedTextBackground":"#f470674d","scrollbar.shadow":"#545d6833","scrollbarSlider.background":"#76839033","scrollbarSlider.hoverBackground":"#7683903d","scrollbarSlider.activeBackground":"#76839047","editorOverviewRuler.border":"#1c2128","minimapSlider.background":"#76839033","minimapSlider.hoverBackground":"#7683903d","minimapSlider.activeBackground":"#76839047","panel.background":"#1c2128","panel.border":"#444c56","panelTitle.activeBorder":"#ec775c","panelTitle.activeForeground":"#adbac7","panelTitle.inactiveForeground":"#768390","panelInput.border":"#444c56","debugIcon.breakpointForeground":"#e5534b","debugConsole.infoForeground":"#768390","debugConsole.warningForeground":"#c69026","debugConsole.errorForeground":"#ff938a","debugConsole.sourceForeground":"#daaa3f","debugConsoleInputIcon.foreground":"#b083f0","debugTokenExpression.name":"#6cb6ff","debugTokenExpression.value":"#96d0ff","debugTokenExpression.string":"#96d0ff","debugTokenExpression.boolean":"#6bc46d","debugTokenExpression.number":"#6bc46d","debugTokenExpression.error":"#ff938a","symbolIcon.arrayForeground":"#e0823d","symbolIcon.booleanForeground":"#539bf5","symbolIcon.classForeground":"#e0823d","symbolIcon.colorForeground":"#6cb6ff","symbolIcon.constructorForeground":"#dcbdfb","symbolIcon.enumeratorForeground":"#e0823d","symbolIcon.enumeratorMemberForeground":"#539bf5","symbolIcon.eventForeground":"#636e7b","symbolIcon.fieldForeground":"#e0823d","symbolIcon.fileForeground":"#c69026","symbolIcon.folderForeground":"#c69026","symbolIcon.functionForeground":"#b083f0","symbolIcon.interfaceForeground":"#e0823d","symbolIcon.keyForeground":"#539bf5","symbolIcon.keywordForeground":"#f47067","symbolIcon.methodForeground":"#b083f0","symbolIcon.moduleForeground":"#f47067","symbolIcon.namespaceForeground":"#f47067","symbolIcon.nullForeground":"#539bf5","symbolIcon.numberForeground":"#57ab5a","symbolIcon.objectForeground":"#e0823d","symbolIcon.operatorForeground":"#6cb6ff","symbolIcon.packageForeground":"#e0823d","symbolIcon.propertyForeground":"#e0823d","symbolIcon.referenceForeground":"#539bf5","symbolIcon.snippetForeground":"#539bf5","symbolIcon.stringForeground":"#6cb6ff","symbolIcon.structForeground":"#e0823d","symbolIcon.textForeground":"#6cb6ff","symbolIcon.typeParameterForeground":"#6cb6ff","symbolIcon.unitForeground":"#539bf5","symbolIcon.variableForeground":"#e0823d","symbolIcon.constantForeground":["#b4f1b4","#8ddb8c","#6bc46d","#57ab5a","#46954a","#347d39","#2b6a30","#245829","#1b4721","#113417"],"terminal.foreground":"#adbac7","terminal.ansiBlack":"#545d68","terminal.ansiRed":"#f47067","terminal.ansiGreen":"#57ab5a","terminal.ansiYellow":"#c69026","terminal.ansiBlue":"#539bf5","terminal.ansiMagenta":"#b083f0","terminal.ansiCyan":"#39c5cf","terminal.ansiWhite":"#909dab","terminal.ansiBrightBlack":"#636e7b","terminal.ansiBrightRed":"#ff938a","terminal.ansiBrightGreen":"#6bc46d","terminal.ansiBrightYellow":"#daaa3f","terminal.ansiBrightBlue":"#6cb6ff","terminal.ansiBrightMagenta":"#dcbdfb","terminal.ansiBrightCyan":"#56d4dd","terminal.ansiBrightWhite":"#cdd9e5","editorBracketHighlight.foreground1":"#6cb6ff","editorBracketHighlight.foreground2":"#6bc46d","editorBracketHighlight.foreground3":"#daaa3f","editorBracketHighlight.foreground4":"#ff938a","editorBracketHighlight.foreground5":"#fc8dc7","editorBracketHighlight.foreground6":"#dcbdfb","editorBracketHighlight.unexpectedBracket.foreground":"#768390","gitDecoration.addedResourceForeground":"#57ab5a","gitDecoration.modifiedResourceForeground":"#c69026","gitDecoration.deletedResourceForeground":"#e5534b","gitDecoration.untrackedResourceForeground":"#57ab5a","gitDecoration.ignoredResourceForeground":"#636e7b","gitDecoration.conflictingResourceForeground":"#cc6b2c","gitDecoration.submoduleResourceForeground":"#768390","debugToolBar.background":"#2d333b","editor.stackFrameHighlightBackground":"#ae7c1466","editor.focusedStackFrameHighlightBackground":"#46954a66","peekViewEditor.matchHighlightBackground":"#ae7c1466","peekViewResult.matchHighlightBackground":"#ae7c1466","peekViewEditor.background":"#636e7b1a","peekViewResult.background":"#22272e","settings.headerForeground":"#adbac7","settings.modifiedItemIndicator":"#ae7c1466","welcomePage.buttonBackground":"#373e47","welcomePage.buttonHoverBackground":"#444c56"},"semanticHighlighting":true,"tokenColors":[{"scope":["comment","punctuation.definition.comment","string.comment"],"settings":{"foreground":"#768390"}},{"scope":["constant.other.placeholder","constant.character"],"settings":{"foreground":"#f47067"}},{"scope":["constant","entity.name.constant","variable.other.constant","variable.other.enummember","variable.language","entity"],"settings":{"foreground":"#6cb6ff"}},{"scope":["entity.name","meta.export.default","meta.definition.variable"],"settings":{"foreground":"#f69d50"}},{"scope":["variable.parameter.function","meta.jsx.children","meta.block","meta.tag.attributes","entity.name.constant","meta.object.member","meta.embedded.expression"],"settings":{"foreground":"#adbac7"}},{"scope":"entity.name.function","settings":{"foreground":"#dcbdfb"}},{"scope":["entity.name.tag","support.class.component"],"settings":{"foreground":"#8ddb8c"}},{"scope":"keyword","settings":{"foreground":"#f47067"}},{"scope":["storage","storage.type"],"settings":{"foreground":"#f47067"}},{"scope":["storage.modifier.package","storage.modifier.import","storage.type.java"],"settings":{"foreground":"#adbac7"}},{"scope":["string","string punctuation.section.embedded source"],"settings":{"foreground":"#96d0ff"}},{"scope":"support","settings":{"foreground":"#6cb6ff"}},{"scope":"meta.property-name","settings":{"foreground":"#6cb6ff"}},{"scope":"variable","settings":{"foreground":"#f69d50"}},{"scope":"variable.other","settings":{"foreground":"#adbac7"}},{"scope":"invalid.broken","settings":{"fontStyle":"italic","foreground":"#ff938a"}},{"scope":"invalid.deprecated","settings":{"fontStyle":"italic","foreground":"#ff938a"}},{"scope":"invalid.illegal","settings":{"fontStyle":"italic","foreground":"#ff938a"}},{"scope":"invalid.unimplemented","settings":{"fontStyle":"italic","foreground":"#ff938a"}},{"scope":"carriage-return","settings":{"fontStyle":"italic underline","background":"#f47067","foreground":"#cdd9e5","content":"^M"}},{"scope":"message.error","settings":{"foreground":"#ff938a"}},{"scope":"string variable","settings":{"foreground":"#6cb6ff"}},{"scope":["source.regexp","string.regexp"],"settings":{"foreground":"#96d0ff"}},{"scope":["string.regexp.character-class","string.regexp constant.character.escape","string.regexp source.ruby.embedded","string.regexp string.regexp.arbitrary-repitition"],"settings":{"foreground":"#96d0ff"}},{"scope":"string.regexp constant.character.escape","settings":{"fontStyle":"bold","foreground":"#8ddb8c"}},{"scope":"support.constant","settings":{"foreground":"#6cb6ff"}},{"scope":"support.variable","settings":{"foreground":"#6cb6ff"}},{"scope":"support.type.property-name.json","settings":{"foreground":"#8ddb8c"}},{"scope":"meta.module-reference","settings":{"foreground":"#6cb6ff"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#f69d50"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#6cb6ff"}},{"scope":"markup.quote","settings":{"foreground":"#8ddb8c"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#adbac7"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#adbac7"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"scope":["markup.strikethrough"],"settings":{"fontStyle":"strikethrough"}},{"scope":"markup.inline.raw","settings":{"foreground":"#6cb6ff"}},{"scope":["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],"settings":{"background":"#5d0f12","foreground":"#ff938a"}},{"scope":["punctuation.section.embedded"],"settings":{"foreground":"#f47067"}},{"scope":["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],"settings":{"background":"#113417","foreground":"#8ddb8c"}},{"scope":["markup.changed","punctuation.definition.changed"],"settings":{"background":"#682d0f","foreground":"#f69d50"}},{"scope":["markup.ignored","markup.untracked"],"settings":{"foreground":"#2d333b","background":"#6cb6ff"}},{"scope":"meta.diff.range","settings":{"foreground":"#dcbdfb","fontStyle":"bold"}},{"scope":"meta.diff.header","settings":{"foreground":"#6cb6ff"}},{"scope":"meta.separator","settings":{"fontStyle":"bold","foreground":"#6cb6ff"}},{"scope":"meta.output","settings":{"foreground":"#6cb6ff"}},{"scope":["brackethighlighter.tag","brackethighlighter.curly","brackethighlighter.round","brackethighlighter.square","brackethighlighter.angle","brackethighlighter.quote"],"settings":{"foreground":"#768390"}},{"scope":"brackethighlighter.unmatched","settings":{"foreground":"#ff938a"}},{"scope":["constant.other.reference.link","string.other.link"],"settings":{"foreground":"#96d0ff"}}]}'),IT=JSON.parse('{"name":"Material-Theme-Default","semanticHighlighting":true,"tokenColors":[{"name":"Global settings","settings":{"background":"#263238","foreground":"#EEFFFF"}},{"name":"String","scope":"string","settings":{"foreground":"#C3E88D"}},{"name":"Punctuation","scope":"punctuation, constant.other.symbol","settings":{"foreground":"#89DDFF"}},{"name":"String Escape","scope":"constant.character.escape, text.html constant.character.entity.named","settings":{"foreground":"#EEFFFF"}},{"name":"Boolean","scope":"constant.language.boolean","settings":{"foreground":"#ff9cac"}},{"name":"Number","scope":"constant.numeric","settings":{"foreground":"#F78C6C"}},{"name":"Variable","scope":"variable, variable.parameter, support.variable, variable.language, support.constant, meta.definition.variable entity.name.function, meta.function-call.arguments","settings":{"foreground":"#EEFFFF"}},{"name":"Other Keyword","scope":"keyword.other","settings":{"foreground":"#F78C6C"}},{"name":"Keyword","scope":"keyword, modifier, variable.language.this, support.type.object, constant.language","settings":{"foreground":"#89DDFF"}},{"name":"Function call","scope":"entity.name.function, support.function","settings":{"foreground":"#82AAFF"}},{"name":"Storage","scope":"storage.type, storage.modifier, storage.control","settings":{"foreground":"#C792EA"}},{"name":"Modules","scope":"support.module, support.node","settings":{"foreground":"#f07178","fontStyle":"italic"}},{"name":"Type","scope":"support.type, constant.other.key","settings":{"foreground":"#FFCB6B"}},{"name":"Type","scope":"entity.name.type, entity.other.inherited-class, entity.other","settings":{"foreground":"#FFCB6B"}},{"name":"Comment","scope":"comment","settings":{"foreground":"#546E7A","fontStyle":"italic"}},{"name":"Comment","scope":"comment punctuation.definition.comment, string.quoted.docstring","settings":{"foreground":"#546E7A","fontStyle":"italic"}},{"name":"Punctuation","scope":"punctuation","settings":{"foreground":"#89DDFF"}},{"name":"Class","scope":"entity.name, entity.name.type.class, support.type, support.class, meta.use","settings":{"foreground":"#FFCB6B"}},{"name":"Class variable","scope":"variable.object.property, meta.field.declaration entity.name.function","settings":{"foreground":"#f07178"}},{"name":"Class method","scope":"meta.definition.method entity.name.function","settings":{"foreground":"#f07178"}},{"name":"Function definition","scope":"meta.function entity.name.function","settings":{"foreground":"#82AAFF"}},{"name":"Template expression","scope":"template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end","settings":{"foreground":"#89DDFF"}},{"name":"Reset embedded/template expression colors","scope":"meta.embedded, source.groovy.embedded, meta.template.expression","settings":{"foreground":"#EEFFFF"}},{"name":"YAML key","scope":"entity.name.tag.yaml","settings":{"foreground":"#f07178"}},{"name":"JSON key","scope":"meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json","settings":{"foreground":"#f07178"}},{"name":"JSON constant","scope":"constant.language.json","settings":{"foreground":"#89DDFF"}},{"name":"CSS class","scope":"entity.other.attribute-name.class","settings":{"foreground":"#FFCB6B"}},{"name":"CSS ID","scope":"entity.other.attribute-name.id","settings":{"foreground":"#F78C6C"}},{"name":"CSS tag","scope":"source.css entity.name.tag","settings":{"foreground":"#FFCB6B"}},{"name":"CSS properties","scope":"support.type.property-name.css","settings":{"foreground":"#B2CCD6"}},{"name":"HTML tag outer","scope":"meta.tag, punctuation.definition.tag","settings":{"foreground":"#89DDFF"}},{"name":"HTML tag inner","scope":"entity.name.tag","settings":{"foreground":"#f07178"}},{"name":"HTML tag attribute","scope":"entity.other.attribute-name","settings":{"foreground":"#C792EA"}},{"name":"HTML entities","scope":"punctuation.definition.entity.html","settings":{"foreground":"#EEFFFF"}},{"name":"Markdown heading","scope":"markup.heading","settings":{"foreground":"#89DDFF"}},{"name":"Markdown link text","scope":"text.html.markdown meta.link.inline, meta.link.reference","settings":{"foreground":"#f07178"}},{"name":"Markdown list item","scope":"text.html.markdown beginning.punctuation.definition.list","settings":{"foreground":"#89DDFF"}},{"name":"Markdown italic","scope":"markup.italic","settings":{"foreground":"#f07178","fontStyle":"italic"}},{"name":"Markdown bold","scope":"markup.bold","settings":{"foreground":"#f07178","fontStyle":"bold"}},{"name":"Markdown bold italic","scope":"markup.bold markup.italic, markup.italic markup.bold","settings":{"foreground":"#f07178","fontStyle":"italic bold"}},{"name":"Markdown code block","scope":"markup.fenced_code.block.markdown punctuation.definition.markdown","settings":{"foreground":"#C3E88D"}},{"name":"Markdown inline code","scope":"markup.inline.raw.string.markdown","settings":{"foreground":"#C3E88D"}},{"name":"INI property name","scope":"keyword.other.definition.ini","settings":{"foreground":"#f07178"}},{"name":"INI section title","scope":"entity.name.section.group-title.ini","settings":{"foreground":"#89DDFF"}},{"name":"C# class","scope":"source.cs meta.class.identifier storage.type","settings":{"foreground":"#FFCB6B"}},{"name":"C# class method","scope":"source.cs meta.method.identifier entity.name.function","settings":{"foreground":"#f07178"}},{"name":"C# function call","scope":"source.cs meta.method-call meta.method, source.cs entity.name.function","settings":{"foreground":"#82AAFF"}},{"name":"C# type","scope":"source.cs storage.type","settings":{"foreground":"#FFCB6B"}},{"name":"C# return type","scope":"source.cs meta.method.return-type","settings":{"foreground":"#FFCB6B"}},{"name":"C# preprocessor","scope":"source.cs meta.preprocessor","settings":{"foreground":"#546E7A"}},{"name":"C# namespace","scope":"source.cs entity.name.type.namespace","settings":{"foreground":"#EEFFFF"}},{"name":"JSX Text","scope":"meta.jsx.children, SXNested","settings":{"foreground":"#EEFFFF"}},{"name":"JSX Components name","scope":"support.class.component","settings":{"foreground":"#FFCB6B"}},{"name":"C-related Block Level Variables","scope":"source.cpp meta.block variable.other","settings":{"foreground":"#EEFFFF"}},{"name":"Member Access Meta","scope":"source.python meta.member.access.python","settings":{"foreground":"#f07178"}},{"name":"Function Call","scope":"source.python meta.function-call.python, meta.function-call.arguments","settings":{"foreground":"#82AAFF"}},{"name":"Blocks","scope":"meta.block","settings":{"foreground":"#f07178"}},{"name":"Function Call","scope":"entity.name.function.call","settings":{"foreground":"#82AAFF"}},{"name":"Namespaces","scope":"source.php support.other.namespace, source.php meta.use support.class","settings":{"foreground":"#EEFFFF"}},{"name":"Constant keywords","scope":"constant.keyword","settings":{"foreground":"#89DDFF","fontStyle":"italic"}},{"name":"Entity name","scope":"entity.name.function","settings":{"foreground":"#82AAFF"}},{"name":"Global settings","settings":{"background":"#263238","foreground":"#EEFFFF"}},{"name":"Markup Deleted","scope":["markup.deleted"],"settings":{"foreground":"#f07178"}},{"name":"Markup Inserted","scope":["markup.inserted"],"settings":{"foreground":"#C3E88D"}},{"name":"Markup Underline","scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"name":"Keyword Control","scope":["keyword.control"],"settings":{"foreground":"#89DDFF","fontStyle":"italic"}},{"name":"Parameter","scope":["variable.parameter"],"settings":{"fontStyle":"italic"}},{"name":"Python - Self Parameter","scope":["variable.parameter.function.language.special.self.python"],"settings":{"foreground":"#f07178","fontStyle":"italic"}},{"name":"Python - Format Placeholder","scope":["constant.character.format.placeholder.other.python"],"settings":{"foreground":"#F78C6C"}},{"name":"Markdown - Blockquote","scope":["markup.quote"],"settings":{"fontStyle":"italic","foreground":"#89DDFF"}},{"name":"Markdown - Fenced Language","scope":["markup.fenced_code.block"],"settings":{"foreground":"#EEFFFF90"}},{"name":"Markdown - Blockquote Punctuation","scope":["punctuation.definition.quote"],"settings":{"foreground":"#ff9cac"}},{"name":"JSON Key - Level 0","scope":["meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C792EA"}},{"name":"JSON Key - Level 1","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFCB6B"}},{"name":"JSON Key - Level 2","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#F78C6C"}},{"name":"JSON Key - Level 3","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#f07178"}},{"name":"JSON Key - Level 4","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#916b53"}},{"name":"JSON Key - Level 5","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#82AAFF"}},{"name":"JSON Key - Level 6","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#ff9cac"}},{"name":"JSON Key - Level 7","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C792EA"}},{"name":"JSON Key - Level 8","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C3E88D"}}],"colors":{"focusBorder":"#FFFFFF00","foreground":"#EEFFFF","button.background":"#80CBC420","button.foreground":"#ffffff","dropdown.background":"#263238","input.background":"#303C41","inputOption.activeBorder":"#EEFFFF30","list.activeSelectionBackground":"#263238","list.activeSelectionForeground":"#80CBC4","list.dropBackground":"#f0717880","list.focusBackground":"#EEFFFF20","list.focusForeground":"#EEFFFF","list.highlightForeground":"#80CBC4","list.hoverBackground":"#263238","list.inactiveSelectionBackground":"#00000030","activityBar.background":"#263238","activityBar.dropBackground":"#f0717880","activityBarBadge.background":"#80CBC4","activityBarBadge.foreground":"#000000","badge.background":"#00000030","badge.foreground":"#546E7A","sideBar.background":"#263238","sideBarSectionHeader.background":"#263238","editorGroup.dropBackground":"#f0717880","editorGroup.focusedEmptyBorder":"#f07178","editorGroupHeader.tabsBackground":"#263238","tab.border":"#263238","tab.activeBorder":"#80CBC4","tab.inactiveBackground":"#263238","tab.activeModifiedBorder":"#607a86","tab.inactiveModifiedBorder":"#904348","tab.unfocusedActiveModifiedBorder":"#c05a60","tab.unfocusedInactiveModifiedBorder":"#904348","editor.background":"#263238","editor.foreground":"#EEFFFF","editorLineNumber.foreground":"#37474F","editorLineNumber.activeForeground":"#607a86","editorCursor.foreground":"#FFCC00","editor.selectionBackground":"#80CBC420","editor.selectionHighlightBackground":"#FFCC0020","editor.wordHighlightBackground":"#ff9cac30","editor.wordHighlightStrongBackground":"#C3E88D30","editor.findMatchHighlight":"#EEFFFF","editor.findRangeHighlightBackground":"#FFCB6B30","editor.lineHighlightBorder":"#00000000","editor.rangeHighlightBackground":"#FFFFFF0d","editorWhitespace.foreground":"#EEFFFF40","editorWidget.background":"#263238","editorHoverWidget.background":"#263238","editorMarkerNavigation.background":"#EEFFFF05","peekView.border":"#00000030","peekViewEditor.background":"#EEFFFF05","peekViewResult.background":"#EEFFFF05","peekViewTitle.background":"#EEFFFF05","panel.background":"#263238","panel.border":"#26323860","panelTitle.activeBorder":"#80CBC4","panelTitle.inactiveForeground":"#EEFFFF","notebook.focusedCellBorder":"#80CBC4","notebook.inactiveFocusedCellBorder":"#80CBC450","statusBar.background":"#263238","statusBar.debuggingBackground":"#C792EA","statusBar.debuggingForeground":"#ffffff","statusBar.noFolderBackground":"#263238","statusBarItem.activeBackground":"#f0717880","statusBarItem.hoverBackground":"#546E7A20","statusBarItem.remoteBackground":"#80CBC4","statusBarItem.remoteForeground":"#000000","titleBar.activeBackground":"#263238","pickerGroup.border":"#FFFFFF1a","terminal.ansiBlack":"#000000","terminal.ansiBlue":"#82AAFF","terminal.ansiBrightBlack":"#546E7A","terminal.ansiBrightBlue":"#82AAFF","terminal.ansiBrightCyan":"#89DDFF","terminal.ansiBrightGreen":"#C3E88D","terminal.ansiBrightMagenta":"#C792EA","terminal.ansiBrightRed":"#f07178","terminal.ansiBrightWhite":"#ffffff","terminal.ansiBrightYellow":"#FFCB6B","terminal.ansiCyan":"#89DDFF","terminal.ansiGreen":"#C3E88D","terminal.ansiMagenta":"#C792EA","terminal.ansiRed":"#f07178","terminal.ansiWhite":"#ffffff","terminal.ansiYellow":"#FFCB6B","debugToolBar.background":"#263238","debugConsole.errorForeground":"#f07178","debugConsole.infoForeground":"#89DDFF","debugConsole.warningForeground":"#FFCB6B","selection.background":"#00000080","editorRuler.foreground":"#37474F","widget.shadow":"#00000030","scrollbar.shadow":"#00000030","editorLink.activeForeground":"#EEFFFF","progressBar.background":"#80CBC4","pickerGroup.foreground":"#80CBC4","tree.indentGuidesStroke":"#37474F","terminalCursor.foreground":"#FFCB6B","terminalCursor.background":"#000000","inputOption.activeBackground":"#EEFFFF30","textLink.foreground":"#80CBC4","textLink.activeForeground":"#EEFFFF","sideBar.foreground":"#607a86","sideBar.border":"#26323860","sideBarTitle.foreground":"#EEFFFF","sideBarSectionHeader.border":"#26323860","panel.dropBackground":"#EEFFFF","panelTitle.activeForeground":"#FFFFFF","editor.lineHighlightBackground":"#00000050","editor.findMatchBackground":"#000000","editor.findMatchHighlightBackground":"#00000050","editor.findMatchBorder":"#80CBC4","editor.findMatchHighlightBorder":"#ffffff30","editorIndentGuide.background":"#37474F70","editorIndentGuide.activeBackground":"#37474F","editorGroup.border":"#00000030","editorGutter.modifiedBackground":"#82AAFF60","editorGutter.addedBackground":"#C3E88D60","editorGutter.deletedBackground":"#f0717860","activityBar.border":"#26323860","activityBar.foreground":"#EEFFFF","activityBar.activeBorder":"#80CBC4","extensionBadge.remoteForeground":"#EEFFFF","scrollbarSlider.background":"#EEFFFF20","scrollbarSlider.hoverBackground":"#EEFFFF10","scrollbarSlider.activeBackground":"#80CBC4","tab.unfocusedActiveBorder":"#546E7A","tab.activeForeground":"#FFFFFF","tab.inactiveForeground":"#607a86","tab.activeBackground":"#263238","tab.unfocusedActiveForeground":"#EEFFFF","editorWidget.resizeBorder":"#80CBC4","editorWidget.border":"#80CBC4","statusBar.border":"#26323860","statusBar.foreground":"#546E7A","editorBracketMatch.border":"#FFCC0050","editorBracketMatch.background":"#263238","editorOverviewRuler.findMatchForeground":"#80CBC4","editorOverviewRuler.border":"#263238","editorOverviewRuler.errorForeground":"#f0717840","editorOverviewRuler.infoForeground":"#82AAFF40","editorOverviewRuler.warningForeground":"#FFCB6B40","editorInfo.foreground":"#82AAFF70","editorWarning.foreground":"#FFCB6B70","editorError.foreground":"#f0717870","editorHoverWidget.border":"#FFFFFF10","titleBar.activeForeground":"#EEFFFF","titleBar.inactiveBackground":"#263238","titleBar.inactiveForeground":"#607a86","titleBar.border":"#26323860","input.foreground":"#EEFFFF","input.placeholderForeground":"#EEFFFF60","input.border":"#FFFFFF10","inputValidation.errorBorder":"#f07178","inputValidation.infoBorder":"#82AAFF","inputValidation.warningBorder":"#FFCB6B","dropdown.border":"#FFFFFF10","quickInput.background":"#263238","quickInput.foreground":"#607a86","list.hoverForeground":"#FFFFFF","list.inactiveSelectionForeground":"#80CBC4","quickInput.list.focusBackground":"#EEFFFF20","editorSuggestWidget.background":"#263238","editorSuggestWidget.foreground":"#EEFFFF","editorSuggestWidget.highlightForeground":"#80CBC4","editorSuggestWidget.selectedBackground":"#00000050","editorSuggestWidget.border":"#FFFFFF10","diffEditor.insertedTextBackground":"#89DDFF20","diffEditor.removedTextBackground":"#ff9cac20","notifications.background":"#263238","notifications.foreground":"#EEFFFF","notificationLink.foreground":"#80CBC4","extensionButton.prominentBackground":"#C3E88D90","extensionButton.prominentHoverBackground":"#C3E88D","extensionButton.prominentForeground":"#000000","peekViewEditorGutter.background":"#EEFFFF05","peekViewTitleDescription.foreground":"#EEFFFF60","peekViewResult.matchHighlightBackground":"#80CBC420","peekViewEditor.matchHighlightBackground":"#80CBC420","peekViewResult.selectionBackground":"#607a8670","gitDecoration.deletedResourceForeground":"#f0717890","gitDecoration.conflictingResourceForeground":"#FFCB6B90","gitDecoration.modifiedResourceForeground":"#82AAFF90","gitDecoration.untrackedResourceForeground":"#C3E88D90","gitDecoration.ignoredResourceForeground":"#607a8690","breadcrumb.background":"#263238","breadcrumb.foreground":"#607a86","breadcrumb.focusForeground":"#EEFFFF","breadcrumb.activeSelectionForeground":"#80CBC4","breadcrumbPicker.background":"#263238","menu.background":"#263238","menu.foreground":"#EEFFFF","menu.selectionBackground":"#00000050","menu.selectionForeground":"#80CBC4","menu.selectionBorder":"#00000030","menu.separatorBackground":"#EEFFFF","menubar.selectionBackground":"#00000030","menubar.selectionForeground":"#80CBC4","menubar.selectionBorder":"#00000030","settings.dropdownForeground":"#EEFFFF","settings.dropdownBackground":"#263238","settings.numberInputForeground":"#EEFFFF","settings.numberInputBackground":"#263238","settings.textInputForeground":"#EEFFFF","settings.textInputBackground":"#263238","settings.headerForeground":"#80CBC4","settings.modifiedItemIndicator":"#80CBC4","settings.checkboxBackground":"#263238","settings.checkboxForeground":"#EEFFFF","listFilterWidget.background":"#00000030","listFilterWidget.outline":"#00000030","listFilterWidget.noMatchesOutline":"#00000030"}}'),xT=JSON.parse('{"name":"Material-Theme-Darker","semanticHighlighting":true,"tokenColors":[{"name":"Global settings","settings":{"background":"#212121","foreground":"#EEFFFF"}},{"name":"String","scope":"string","settings":{"foreground":"#C3E88D"}},{"name":"Punctuation","scope":"punctuation, constant.other.symbol","settings":{"foreground":"#89DDFF"}},{"name":"String Escape","scope":"constant.character.escape, text.html constant.character.entity.named","settings":{"foreground":"#EEFFFF"}},{"name":"Boolean","scope":"constant.language.boolean","settings":{"foreground":"#ff9cac"}},{"name":"Number","scope":"constant.numeric","settings":{"foreground":"#F78C6C"}},{"name":"Variable","scope":"variable, variable.parameter, support.variable, variable.language, support.constant, meta.definition.variable entity.name.function, meta.function-call.arguments","settings":{"foreground":"#EEFFFF"}},{"name":"Other Keyword","scope":"keyword.other","settings":{"foreground":"#F78C6C"}},{"name":"Keyword","scope":"keyword, modifier, variable.language.this, support.type.object, constant.language","settings":{"foreground":"#89DDFF"}},{"name":"Function call","scope":"entity.name.function, support.function","settings":{"foreground":"#82AAFF"}},{"name":"Storage","scope":"storage.type, storage.modifier, storage.control","settings":{"foreground":"#C792EA"}},{"name":"Modules","scope":"support.module, support.node","settings":{"foreground":"#f07178","fontStyle":"italic"}},{"name":"Type","scope":"support.type, constant.other.key","settings":{"foreground":"#FFCB6B"}},{"name":"Type","scope":"entity.name.type, entity.other.inherited-class, entity.other","settings":{"foreground":"#FFCB6B"}},{"name":"Comment","scope":"comment","settings":{"foreground":"#545454","fontStyle":"italic"}},{"name":"Comment","scope":"comment punctuation.definition.comment, string.quoted.docstring","settings":{"foreground":"#545454","fontStyle":"italic"}},{"name":"Punctuation","scope":"punctuation","settings":{"foreground":"#89DDFF"}},{"name":"Class","scope":"entity.name, entity.name.type.class, support.type, support.class, meta.use","settings":{"foreground":"#FFCB6B"}},{"name":"Class variable","scope":"variable.object.property, meta.field.declaration entity.name.function","settings":{"foreground":"#f07178"}},{"name":"Class method","scope":"meta.definition.method entity.name.function","settings":{"foreground":"#f07178"}},{"name":"Function definition","scope":"meta.function entity.name.function","settings":{"foreground":"#82AAFF"}},{"name":"Template expression","scope":"template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end","settings":{"foreground":"#89DDFF"}},{"name":"Reset embedded/template expression colors","scope":"meta.embedded, source.groovy.embedded, meta.template.expression","settings":{"foreground":"#EEFFFF"}},{"name":"YAML key","scope":"entity.name.tag.yaml","settings":{"foreground":"#f07178"}},{"name":"JSON key","scope":"meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json","settings":{"foreground":"#f07178"}},{"name":"JSON constant","scope":"constant.language.json","settings":{"foreground":"#89DDFF"}},{"name":"CSS class","scope":"entity.other.attribute-name.class","settings":{"foreground":"#FFCB6B"}},{"name":"CSS ID","scope":"entity.other.attribute-name.id","settings":{"foreground":"#F78C6C"}},{"name":"CSS tag","scope":"source.css entity.name.tag","settings":{"foreground":"#FFCB6B"}},{"name":"CSS properties","scope":"support.type.property-name.css","settings":{"foreground":"#B2CCD6"}},{"name":"HTML tag outer","scope":"meta.tag, punctuation.definition.tag","settings":{"foreground":"#89DDFF"}},{"name":"HTML tag inner","scope":"entity.name.tag","settings":{"foreground":"#f07178"}},{"name":"HTML tag attribute","scope":"entity.other.attribute-name","settings":{"foreground":"#C792EA"}},{"name":"HTML entities","scope":"punctuation.definition.entity.html","settings":{"foreground":"#EEFFFF"}},{"name":"Markdown heading","scope":"markup.heading","settings":{"foreground":"#89DDFF"}},{"name":"Markdown link text","scope":"text.html.markdown meta.link.inline, meta.link.reference","settings":{"foreground":"#f07178"}},{"name":"Markdown list item","scope":"text.html.markdown beginning.punctuation.definition.list","settings":{"foreground":"#89DDFF"}},{"name":"Markdown italic","scope":"markup.italic","settings":{"foreground":"#f07178","fontStyle":"italic"}},{"name":"Markdown bold","scope":"markup.bold","settings":{"foreground":"#f07178","fontStyle":"bold"}},{"name":"Markdown bold italic","scope":"markup.bold markup.italic, markup.italic markup.bold","settings":{"foreground":"#f07178","fontStyle":"italic bold"}},{"name":"Markdown code block","scope":"markup.fenced_code.block.markdown punctuation.definition.markdown","settings":{"foreground":"#C3E88D"}},{"name":"Markdown inline code","scope":"markup.inline.raw.string.markdown","settings":{"foreground":"#C3E88D"}},{"name":"INI property name","scope":"keyword.other.definition.ini","settings":{"foreground":"#f07178"}},{"name":"INI section title","scope":"entity.name.section.group-title.ini","settings":{"foreground":"#89DDFF"}},{"name":"C# class","scope":"source.cs meta.class.identifier storage.type","settings":{"foreground":"#FFCB6B"}},{"name":"C# class method","scope":"source.cs meta.method.identifier entity.name.function","settings":{"foreground":"#f07178"}},{"name":"C# function call","scope":"source.cs meta.method-call meta.method, source.cs entity.name.function","settings":{"foreground":"#82AAFF"}},{"name":"C# type","scope":"source.cs storage.type","settings":{"foreground":"#FFCB6B"}},{"name":"C# return type","scope":"source.cs meta.method.return-type","settings":{"foreground":"#FFCB6B"}},{"name":"C# preprocessor","scope":"source.cs meta.preprocessor","settings":{"foreground":"#545454"}},{"name":"C# namespace","scope":"source.cs entity.name.type.namespace","settings":{"foreground":"#EEFFFF"}},{"name":"JSX Text","scope":"meta.jsx.children, SXNested","settings":{"foreground":"#EEFFFF"}},{"name":"JSX Components name","scope":"support.class.component","settings":{"foreground":"#FFCB6B"}},{"name":"C-related Block Level Variables","scope":"source.cpp meta.block variable.other","settings":{"foreground":"#EEFFFF"}},{"name":"Member Access Meta","scope":"source.python meta.member.access.python","settings":{"foreground":"#f07178"}},{"name":"Function Call","scope":"source.python meta.function-call.python, meta.function-call.arguments","settings":{"foreground":"#82AAFF"}},{"name":"Blocks","scope":"meta.block","settings":{"foreground":"#f07178"}},{"name":"Function Call","scope":"entity.name.function.call","settings":{"foreground":"#82AAFF"}},{"name":"Namespaces","scope":"source.php support.other.namespace, source.php meta.use support.class","settings":{"foreground":"#EEFFFF"}},{"name":"Constant keywords","scope":"constant.keyword","settings":{"foreground":"#89DDFF","fontStyle":"italic"}},{"name":"Entity name","scope":"entity.name.function","settings":{"foreground":"#82AAFF"}},{"name":"Global settings","settings":{"background":"#212121","foreground":"#EEFFFF"}},{"name":"Markup Deleted","scope":["markup.deleted"],"settings":{"foreground":"#f07178"}},{"name":"Markup Inserted","scope":["markup.inserted"],"settings":{"foreground":"#C3E88D"}},{"name":"Markup Underline","scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"name":"Keyword Control","scope":["keyword.control"],"settings":{"foreground":"#89DDFF","fontStyle":"italic"}},{"name":"Parameter","scope":["variable.parameter"],"settings":{"fontStyle":"italic"}},{"name":"Python - Self Parameter","scope":["variable.parameter.function.language.special.self.python"],"settings":{"foreground":"#f07178","fontStyle":"italic"}},{"name":"Python - Format Placeholder","scope":["constant.character.format.placeholder.other.python"],"settings":{"foreground":"#F78C6C"}},{"name":"Markdown - Blockquote","scope":["markup.quote"],"settings":{"fontStyle":"italic","foreground":"#89DDFF"}},{"name":"Markdown - Fenced Language","scope":["markup.fenced_code.block"],"settings":{"foreground":"#EEFFFF90"}},{"name":"Markdown - Blockquote Punctuation","scope":["punctuation.definition.quote"],"settings":{"foreground":"#ff9cac"}},{"name":"JSON Key - Level 0","scope":["meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C792EA"}},{"name":"JSON Key - Level 1","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFCB6B"}},{"name":"JSON Key - Level 2","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#F78C6C"}},{"name":"JSON Key - Level 3","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#f07178"}},{"name":"JSON Key - Level 4","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#916b53"}},{"name":"JSON Key - Level 5","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#82AAFF"}},{"name":"JSON Key - Level 6","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#ff9cac"}},{"name":"JSON Key - Level 7","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C792EA"}},{"name":"JSON Key - Level 8","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C3E88D"}}],"colors":{"focusBorder":"#FFFFFF00","foreground":"#EEFFFF","button.background":"#61616150","button.foreground":"#ffffff","dropdown.background":"#212121","input.background":"#2B2B2B","inputOption.activeBorder":"#EEFFFF30","list.activeSelectionBackground":"#212121","list.activeSelectionForeground":"#80CBC4","list.dropBackground":"#f0717880","list.focusBackground":"#EEFFFF20","list.focusForeground":"#EEFFFF","list.highlightForeground":"#80CBC4","list.hoverBackground":"#212121","list.inactiveSelectionBackground":"#00000030","activityBar.background":"#212121","activityBar.dropBackground":"#f0717880","activityBarBadge.background":"#80CBC4","activityBarBadge.foreground":"#000000","badge.background":"#00000030","badge.foreground":"#545454","sideBar.background":"#212121","sideBarSectionHeader.background":"#212121","editorGroup.dropBackground":"#f0717880","editorGroup.focusedEmptyBorder":"#f07178","editorGroupHeader.tabsBackground":"#212121","tab.border":"#212121","tab.activeBorder":"#80CBC4","tab.inactiveBackground":"#212121","tab.activeModifiedBorder":"#616161","tab.inactiveModifiedBorder":"#904348","tab.unfocusedActiveModifiedBorder":"#c05a60","tab.unfocusedInactiveModifiedBorder":"#904348","editor.background":"#212121","editor.foreground":"#EEFFFF","editorLineNumber.foreground":"#424242","editorLineNumber.activeForeground":"#616161","editorCursor.foreground":"#FFCC00","editor.selectionBackground":"#61616150","editor.selectionHighlightBackground":"#FFCC0020","editor.wordHighlightBackground":"#ff9cac30","editor.wordHighlightStrongBackground":"#C3E88D30","editor.findMatchHighlight":"#EEFFFF","editor.findRangeHighlightBackground":"#FFCB6B30","editor.lineHighlightBorder":"#00000000","editor.rangeHighlightBackground":"#FFFFFF0d","editorWhitespace.foreground":"#EEFFFF40","editorWidget.background":"#212121","editorHoverWidget.background":"#212121","editorMarkerNavigation.background":"#EEFFFF05","peekView.border":"#00000030","peekViewEditor.background":"#EEFFFF05","peekViewResult.background":"#EEFFFF05","peekViewTitle.background":"#EEFFFF05","panel.background":"#212121","panel.border":"#21212160","panelTitle.activeBorder":"#80CBC4","panelTitle.inactiveForeground":"#EEFFFF","notebook.focusedCellBorder":"#80CBC4","notebook.inactiveFocusedCellBorder":"#80CBC450","statusBar.background":"#212121","statusBar.debuggingBackground":"#C792EA","statusBar.debuggingForeground":"#ffffff","statusBar.noFolderBackground":"#212121","statusBarItem.activeBackground":"#f0717880","statusBarItem.hoverBackground":"#54545420","statusBarItem.remoteBackground":"#80CBC4","statusBarItem.remoteForeground":"#000000","titleBar.activeBackground":"#212121","pickerGroup.border":"#FFFFFF1a","terminal.ansiBlack":"#000000","terminal.ansiBlue":"#82AAFF","terminal.ansiBrightBlack":"#545454","terminal.ansiBrightBlue":"#82AAFF","terminal.ansiBrightCyan":"#89DDFF","terminal.ansiBrightGreen":"#C3E88D","terminal.ansiBrightMagenta":"#C792EA","terminal.ansiBrightRed":"#f07178","terminal.ansiBrightWhite":"#ffffff","terminal.ansiBrightYellow":"#FFCB6B","terminal.ansiCyan":"#89DDFF","terminal.ansiGreen":"#C3E88D","terminal.ansiMagenta":"#C792EA","terminal.ansiRed":"#f07178","terminal.ansiWhite":"#ffffff","terminal.ansiYellow":"#FFCB6B","debugToolBar.background":"#212121","debugConsole.errorForeground":"#f07178","debugConsole.infoForeground":"#89DDFF","debugConsole.warningForeground":"#FFCB6B","selection.background":"#00000080","editorRuler.foreground":"#424242","widget.shadow":"#00000030","scrollbar.shadow":"#00000030","editorLink.activeForeground":"#EEFFFF","progressBar.background":"#80CBC4","pickerGroup.foreground":"#80CBC4","tree.indentGuidesStroke":"#424242","terminalCursor.foreground":"#FFCB6B","terminalCursor.background":"#000000","inputOption.activeBackground":"#EEFFFF30","textLink.foreground":"#80CBC4","textLink.activeForeground":"#EEFFFF","sideBar.foreground":"#616161","sideBar.border":"#21212160","sideBarTitle.foreground":"#EEFFFF","sideBarSectionHeader.border":"#21212160","panel.dropBackground":"#EEFFFF","panelTitle.activeForeground":"#FFFFFF","editor.lineHighlightBackground":"#00000050","editor.findMatchBackground":"#000000","editor.findMatchHighlightBackground":"#00000050","editor.findMatchBorder":"#80CBC4","editor.findMatchHighlightBorder":"#ffffff30","editorIndentGuide.background":"#42424270","editorIndentGuide.activeBackground":"#424242","editorGroup.border":"#00000030","editorGutter.modifiedBackground":"#82AAFF60","editorGutter.addedBackground":"#C3E88D60","editorGutter.deletedBackground":"#f0717860","activityBar.border":"#21212160","activityBar.foreground":"#EEFFFF","activityBar.activeBorder":"#80CBC4","extensionBadge.remoteForeground":"#EEFFFF","scrollbarSlider.background":"#EEFFFF20","scrollbarSlider.hoverBackground":"#EEFFFF10","scrollbarSlider.activeBackground":"#80CBC4","tab.unfocusedActiveBorder":"#545454","tab.activeForeground":"#FFFFFF","tab.inactiveForeground":"#616161","tab.activeBackground":"#212121","tab.unfocusedActiveForeground":"#EEFFFF","editorWidget.resizeBorder":"#80CBC4","editorWidget.border":"#80CBC4","statusBar.border":"#21212160","statusBar.foreground":"#616161","editorBracketMatch.border":"#FFCC0050","editorBracketMatch.background":"#212121","editorOverviewRuler.findMatchForeground":"#80CBC4","editorOverviewRuler.border":"#212121","editorOverviewRuler.errorForeground":"#f0717840","editorOverviewRuler.infoForeground":"#82AAFF40","editorOverviewRuler.warningForeground":"#FFCB6B40","editorInfo.foreground":"#82AAFF70","editorWarning.foreground":"#FFCB6B70","editorError.foreground":"#f0717870","editorHoverWidget.border":"#FFFFFF10","titleBar.activeForeground":"#EEFFFF","titleBar.inactiveBackground":"#212121","titleBar.inactiveForeground":"#616161","titleBar.border":"#21212160","input.foreground":"#EEFFFF","input.placeholderForeground":"#EEFFFF60","input.border":"#FFFFFF10","inputValidation.errorBorder":"#f07178","inputValidation.infoBorder":"#82AAFF","inputValidation.warningBorder":"#FFCB6B","dropdown.border":"#FFFFFF10","quickInput.background":"#212121","quickInput.foreground":"#616161","list.hoverForeground":"#FFFFFF","list.inactiveSelectionForeground":"#80CBC4","quickInput.list.focusBackground":"#EEFFFF20","editorSuggestWidget.background":"#212121","editorSuggestWidget.foreground":"#EEFFFF","editorSuggestWidget.highlightForeground":"#80CBC4","editorSuggestWidget.selectedBackground":"#00000050","editorSuggestWidget.border":"#FFFFFF10","diffEditor.insertedTextBackground":"#89DDFF20","diffEditor.removedTextBackground":"#ff9cac20","notifications.background":"#212121","notifications.foreground":"#EEFFFF","notificationLink.foreground":"#80CBC4","extensionButton.prominentBackground":"#C3E88D90","extensionButton.prominentHoverBackground":"#C3E88D","extensionButton.prominentForeground":"#000000","peekViewEditorGutter.background":"#EEFFFF05","peekViewTitleDescription.foreground":"#EEFFFF60","peekViewResult.matchHighlightBackground":"#61616150","peekViewEditor.matchHighlightBackground":"#61616150","peekViewResult.selectionBackground":"#61616170","gitDecoration.deletedResourceForeground":"#f0717890","gitDecoration.conflictingResourceForeground":"#FFCB6B90","gitDecoration.modifiedResourceForeground":"#82AAFF90","gitDecoration.untrackedResourceForeground":"#C3E88D90","gitDecoration.ignoredResourceForeground":"#61616190","breadcrumb.background":"#212121","breadcrumb.foreground":"#616161","breadcrumb.focusForeground":"#EEFFFF","breadcrumb.activeSelectionForeground":"#80CBC4","breadcrumbPicker.background":"#212121","menu.background":"#212121","menu.foreground":"#EEFFFF","menu.selectionBackground":"#00000050","menu.selectionForeground":"#80CBC4","menu.selectionBorder":"#00000030","menu.separatorBackground":"#EEFFFF","menubar.selectionBackground":"#00000030","menubar.selectionForeground":"#80CBC4","menubar.selectionBorder":"#00000030","settings.dropdownForeground":"#EEFFFF","settings.dropdownBackground":"#212121","settings.numberInputForeground":"#EEFFFF","settings.numberInputBackground":"#212121","settings.textInputForeground":"#EEFFFF","settings.textInputBackground":"#212121","settings.headerForeground":"#80CBC4","settings.modifiedItemIndicator":"#80CBC4","settings.checkboxBackground":"#212121","settings.checkboxForeground":"#EEFFFF","listFilterWidget.background":"#00000030","listFilterWidget.outline":"#00000030","listFilterWidget.noMatchesOutline":"#00000030"}}'),OT=JSON.parse('{"name":"One Dark Pro","type":"dark","semanticHighlighting":true,"semanticTokenColors":{"enumMember":{"foreground":"#56b6c2"},"variable.constant":{"foreground":"#d19a66"},"variable.defaultLibrary":{"foreground":"#e5c07b"},"variable:dart":{"foreground":"#d19a66"},"property:dart":{"foreground":"#d19a66"},"annotation:dart":{"foreground":"#d19a66"},"parameter.label:dart":{"foreground":"#abb2bf"},"macro":{"foreground":"#d19a66"},"tomlArrayKey":{"foreground":"#e5c07b"}},"tokenColors":[{"scope":"meta.embedded","settings":{"foreground":"#abb2bf"}},{"name":"unison punctuation","scope":"punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison","settings":{"foreground":"#e06c75"}},{"name":"haskell variable generic-type","scope":"variable.other.generic-type.haskell","settings":{"foreground":"#c678dd"}},{"name":"haskell storage type","scope":"storage.type.haskell","settings":{"foreground":"#d19a66"}},{"name":"support.variable.magic.python","scope":"support.variable.magic.python","settings":{"foreground":"#e06c75"}},{"name":"punctuation.separator.parameters.python","scope":"punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python","settings":{"foreground":"#abb2bf"}},{"name":"variable.parameter.function.language.special.self.python","scope":"variable.parameter.function.language.special.self.python","settings":{"foreground":"#e5c07b"}},{"name":"variable.parameter.function.language.special.cls.python","scope":"variable.parameter.function.language.special.cls.python","settings":{"foreground":"#e5c07b"}},{"name":"storage.modifier.lifetime.rust","scope":"storage.modifier.lifetime.rust","settings":{"foreground":"#abb2bf"}},{"name":"support.function.std.rust","scope":"support.function.std.rust","settings":{"foreground":"#61afef"}},{"name":"entity.name.lifetime.rust","scope":"entity.name.lifetime.rust","settings":{"foreground":"#e5c07b"}},{"name":"variable.language.rust","scope":"variable.language.rust","settings":{"foreground":"#e06c75"}},{"name":"support.constant.edge","scope":"support.constant.edge","settings":{"foreground":"#c678dd"}},{"name":"regexp constant character-class","scope":"constant.other.character-class.regexp","settings":{"foreground":"#e06c75"}},{"name":"keyword.operator","scope":["keyword.operator.word"],"settings":{"foreground":"#c678dd"}},{"name":"regexp operator.quantifier","scope":"keyword.operator.quantifier.regexp","settings":{"foreground":"#d19a66"}},{"name":"Text","scope":"variable.parameter.function","settings":{"foreground":"#abb2bf"}},{"name":"Comment Markup Link","scope":"comment markup.link","settings":{"foreground":"#5c6370"}},{"name":"markup diff","scope":"markup.changed.diff","settings":{"foreground":"#e5c07b"}},{"name":"diff","scope":"meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff","settings":{"foreground":"#61afef"}},{"name":"inserted.diff","scope":"markup.inserted.diff","settings":{"foreground":"#98c379"}},{"name":"deleted.diff","scope":"markup.deleted.diff","settings":{"foreground":"#e06c75"}},{"name":"c++ function","scope":"meta.function.c,meta.function.cpp","settings":{"foreground":"#e06c75"}},{"name":"c++ block","scope":"punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c","settings":{"foreground":"#abb2bf"}},{"name":"js/ts punctuation separator key-value","scope":"punctuation.separator.key-value","settings":{"foreground":"#abb2bf"}},{"name":"js/ts import keyword","scope":"keyword.operator.expression.import","settings":{"foreground":"#61afef"}},{"name":"math js/ts","scope":"support.constant.math","settings":{"foreground":"#e5c07b"}},{"name":"math property js/ts","scope":"support.constant.property.math","settings":{"foreground":"#d19a66"}},{"name":"js/ts variable.other.constant","scope":"variable.other.constant","settings":{"foreground":"#e5c07b"}},{"name":"java type","scope":["storage.type.annotation.java","storage.type.object.array.java"],"settings":{"foreground":"#e5c07b"}},{"name":"java source","scope":"source.java","settings":{"foreground":"#e06c75"}},{"name":"java modifier.import","scope":"punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java","settings":{"foreground":"#abb2bf"}},{"name":"java modifier.import","scope":"meta.method.java","settings":{"foreground":"#61afef"}},{"name":"java modifier.import","scope":"storage.modifier.import.java,storage.type.java,storage.type.generic.java","settings":{"foreground":"#e5c07b"}},{"name":"java instanceof","scope":"keyword.operator.instanceof.java","settings":{"foreground":"#c678dd"}},{"name":"java variable.name","scope":"meta.definition.variable.name.java","settings":{"foreground":"#e06c75"}},{"name":"operator logical","scope":"keyword.operator.logical","settings":{"foreground":"#56b6c2"}},{"name":"operator bitwise","scope":"keyword.operator.bitwise","settings":{"foreground":"#56b6c2"}},{"name":"operator channel","scope":"keyword.operator.channel","settings":{"foreground":"#56b6c2"}},{"name":"support.constant.property-value.scss","scope":"support.constant.property-value.scss,support.constant.property-value.css","settings":{"foreground":"#d19a66"}},{"name":"CSS/SCSS/LESS Operators","scope":"keyword.operator.css,keyword.operator.scss,keyword.operator.less","settings":{"foreground":"#56b6c2"}},{"name":"css color standard name","scope":"support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss","settings":{"foreground":"#d19a66"}},{"name":"css comma","scope":"punctuation.separator.list.comma.css","settings":{"foreground":"#abb2bf"}},{"name":"css attribute-name.id","scope":"support.constant.color.w3c-standard-color-name.css","settings":{"foreground":"#d19a66"}},{"name":"css property-name","scope":"support.type.vendored.property-name.css","settings":{"foreground":"#56b6c2"}},{"name":"js/ts module","scope":"support.module.node,support.type.object.module,support.module.node","settings":{"foreground":"#e5c07b"}},{"name":"entity.name.type.module","scope":"entity.name.type.module","settings":{"foreground":"#e5c07b"}},{"name":"js variable readwrite","scope":"variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node","settings":{"foreground":"#e06c75"}},{"name":"js/ts json","scope":"support.constant.json","settings":{"foreground":"#d19a66"}},{"name":"js/ts Keyword","scope":["keyword.operator.expression.instanceof","keyword.operator.new","keyword.operator.ternary","keyword.operator.optional","keyword.operator.expression.keyof"],"settings":{"foreground":"#c678dd"}},{"name":"js/ts console","scope":"support.type.object.console","settings":{"foreground":"#e06c75"}},{"name":"js/ts support.variable.property.process","scope":"support.variable.property.process","settings":{"foreground":"#d19a66"}},{"name":"js console function","scope":"entity.name.function,support.function.console","settings":{"foreground":"#61afef"}},{"name":"keyword.operator.misc.rust","scope":"keyword.operator.misc.rust","settings":{"foreground":"#abb2bf"}},{"name":"keyword.operator.sigil.rust","scope":"keyword.operator.sigil.rust","settings":{"foreground":"#c678dd"}},{"name":"operator","scope":"keyword.operator.delete","settings":{"foreground":"#c678dd"}},{"name":"js dom","scope":"support.type.object.dom","settings":{"foreground":"#56b6c2"}},{"name":"js dom variable","scope":"support.variable.dom,support.variable.property.dom","settings":{"foreground":"#e06c75"}},{"name":"keyword.operator","scope":"keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational","settings":{"foreground":"#56b6c2"}},{"name":"C operator assignment","scope":"keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp","settings":{"foreground":"#c678dd"}},{"name":"Punctuation","scope":"punctuation.separator.delimiter","settings":{"foreground":"#abb2bf"}},{"name":"Other punctuation .c","scope":"punctuation.separator.c,punctuation.separator.cpp","settings":{"foreground":"#c678dd"}},{"name":"C type posix-reserved","scope":"support.type.posix-reserved.c,support.type.posix-reserved.cpp","settings":{"foreground":"#56b6c2"}},{"name":"keyword.operator.sizeof.c","scope":"keyword.operator.sizeof.c,keyword.operator.sizeof.cpp","settings":{"foreground":"#c678dd"}},{"name":"python parameter","scope":"variable.parameter.function.language.python","settings":{"foreground":"#d19a66"}},{"name":"python type","scope":"support.type.python","settings":{"foreground":"#56b6c2"}},{"name":"python logical","scope":"keyword.operator.logical.python","settings":{"foreground":"#c678dd"}},{"name":"pyCs","scope":"variable.parameter.function.python","settings":{"foreground":"#d19a66"}},{"name":"python block","scope":"punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python","settings":{"foreground":"#abb2bf"}},{"name":"python function-call.generic","scope":"meta.function-call.generic.python","settings":{"foreground":"#61afef"}},{"name":"python placeholder reset to normal string","scope":"constant.character.format.placeholder.other.python","settings":{"foreground":"#d19a66"}},{"name":"Operators","scope":"keyword.operator","settings":{"foreground":"#abb2bf"}},{"name":"Compound Assignment Operators","scope":"keyword.operator.assignment.compound","settings":{"foreground":"#c678dd"}},{"name":"Compound Assignment Operators js/ts","scope":"keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts","settings":{"foreground":"#56b6c2"}},{"name":"Keywords","scope":"keyword","settings":{"foreground":"#c678dd"}},{"name":"Namespaces","scope":"entity.name.namespace","settings":{"foreground":"#e5c07b"}},{"name":"Variables","scope":"variable","settings":{"foreground":"#e06c75"}},{"name":"Variables","scope":"variable.c","settings":{"foreground":"#abb2bf"}},{"name":"Language variables","scope":"variable.language","settings":{"foreground":"#e5c07b"}},{"name":"Java Variables","scope":"token.variable.parameter.java","settings":{"foreground":"#abb2bf"}},{"name":"Java Imports","scope":"import.storage.java","settings":{"foreground":"#e5c07b"}},{"name":"Packages","scope":"token.package.keyword","settings":{"foreground":"#c678dd"}},{"name":"Packages","scope":"token.package","settings":{"foreground":"#abb2bf"}},{"name":"Functions","scope":["entity.name.function","meta.require","support.function.any-method","variable.function"],"settings":{"foreground":"#61afef"}},{"name":"Classes","scope":"entity.name.type.namespace","settings":{"foreground":"#e5c07b"}},{"name":"Classes","scope":"support.class, entity.name.type.class","settings":{"foreground":"#e5c07b"}},{"name":"Class name","scope":"entity.name.class.identifier.namespace.type","settings":{"foreground":"#e5c07b"}},{"name":"Class name","scope":["entity.name.class","variable.other.class.js","variable.other.class.ts"],"settings":{"foreground":"#e5c07b"}},{"name":"Class name php","scope":"variable.other.class.php","settings":{"foreground":"#e06c75"}},{"name":"Type Name","scope":"entity.name.type","settings":{"foreground":"#e5c07b"}},{"name":"Keyword Control","scope":"keyword.control","settings":{"foreground":"#c678dd"}},{"name":"Control Elements","scope":"control.elements, keyword.operator.less","settings":{"foreground":"#d19a66"}},{"name":"Methods","scope":"keyword.other.special-method","settings":{"foreground":"#61afef"}},{"name":"Storage","scope":"storage","settings":{"foreground":"#c678dd"}},{"name":"Storage JS TS","scope":"token.storage","settings":{"foreground":"#c678dd"}},{"name":"Source Js Keyword Operator Delete,source Js Keyword Operator In,source Js Keyword Operator Of,source Js Keyword Operator Instanceof,source Js Keyword Operator New,source Js Keyword Operator Typeof,source Js Keyword Operator Void","scope":"keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void","settings":{"foreground":"#c678dd"}},{"name":"Java Storage","scope":"token.storage.type.java","settings":{"foreground":"#e5c07b"}},{"name":"Support","scope":"support.function","settings":{"foreground":"#56b6c2"}},{"name":"Support type","scope":"support.type.property-name","settings":{"foreground":"#abb2bf"}},{"name":"[VSCODE-CUSTOM] toml support","scope":"support.type.property-name.toml, support.type.property-name.table.toml, support.type.property-name.array.toml","settings":{"foreground":"#e06c75"}},{"name":"Support type","scope":"support.constant.property-value","settings":{"foreground":"#abb2bf"}},{"name":"Support type","scope":"support.constant.font-name","settings":{"foreground":"#d19a66"}},{"name":"Meta tag","scope":"meta.tag","settings":{"foreground":"#abb2bf"}},{"name":"Strings","scope":"string","settings":{"foreground":"#98c379"}},{"name":"Constant other symbol","scope":"constant.other.symbol","settings":{"foreground":"#56b6c2"}},{"name":"Integers","scope":"constant.numeric","settings":{"foreground":"#d19a66"}},{"name":"Constants","scope":"constant","settings":{"foreground":"#d19a66"}},{"name":"Constants","scope":"punctuation.definition.constant","settings":{"foreground":"#d19a66"}},{"name":"Tags","scope":"entity.name.tag","settings":{"foreground":"#e06c75"}},{"name":"Attributes","scope":"entity.other.attribute-name","settings":{"foreground":"#d19a66"}},{"name":"Attribute IDs","scope":"entity.other.attribute-name.id","settings":{"foreground":"#61afef"}},{"name":"Attribute class","scope":"entity.other.attribute-name.class.css","settings":{"foreground":"#d19a66"}},{"name":"Selector","scope":"meta.selector","settings":{"foreground":"#c678dd"}},{"name":"Headings","scope":"markup.heading","settings":{"foreground":"#e06c75"}},{"name":"Headings","scope":"markup.heading punctuation.definition.heading, entity.name.section","settings":{"foreground":"#61afef"}},{"name":"Units","scope":"keyword.other.unit","settings":{"foreground":"#e06c75"}},{"name":"Bold","scope":"markup.bold,todo.bold","settings":{"foreground":"#d19a66"}},{"name":"Bold","scope":"punctuation.definition.bold","settings":{"foreground":"#e5c07b"}},{"name":"markup Italic","scope":"markup.italic, punctuation.definition.italic,todo.emphasis","settings":{"foreground":"#c678dd"}},{"name":"emphasis md","scope":"emphasis md","settings":{"foreground":"#c678dd"}},{"name":"[VSCODE-CUSTOM] Markdown headings","scope":"entity.name.section.markdown","settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] Markdown heading Punctuation Definition","scope":"punctuation.definition.heading.markdown","settings":{"foreground":"#e06c75"}},{"name":"punctuation.definition.list.begin.markdown","scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Markdown heading setext","scope":"markup.heading.setext","settings":{"foreground":"#abb2bf"}},{"name":"[VSCODE-CUSTOM] Markdown Punctuation Definition Bold","scope":"punctuation.definition.bold.markdown","settings":{"foreground":"#d19a66"}},{"name":"[VSCODE-CUSTOM] Markdown Inline Raw","scope":"markup.inline.raw.markdown","settings":{"foreground":"#98c379"}},{"name":"[VSCODE-CUSTOM] Markdown Inline Raw","scope":"markup.inline.raw.string.markdown","settings":{"foreground":"#98c379"}},{"name":"[VSCODE-CUSTOM] Markdown Inline Raw punctuation","scope":"punctuation.definition.raw.markdown","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Markdown List Punctuation Definition","scope":"punctuation.definition.list.markdown","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Markdown Punctuation Definition String","scope":["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown","punctuation.definition.metadata.markdown"],"settings":{"foreground":"#e06c75"}},{"name":"beginning.punctuation.definition.list.markdown","scope":["beginning.punctuation.definition.list.markdown"],"settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] Markdown Punctuation Definition Link","scope":"punctuation.definition.metadata.markdown","settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] Markdown Underline Link/Image","scope":"markup.underline.link.markdown,markup.underline.link.image.markdown","settings":{"foreground":"#c678dd"}},{"name":"[VSCODE-CUSTOM] Markdown Link Title/Description","scope":"string.other.link.title.markdown,string.other.link.description.markdown","settings":{"foreground":"#61afef"}},{"name":"[VSCODE-CUSTOM] Asciidoc Inline Raw","scope":"markup.raw.monospace.asciidoc","settings":{"foreground":"#98c379"}},{"name":"[VSCODE-CUSTOM] Asciidoc Inline Raw Punctuation Definition","scope":"punctuation.definition.asciidoc","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Asciidoc List Punctuation Definition","scope":"markup.list.asciidoc","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Asciidoc underline link","scope":"markup.link.asciidoc,markup.other.url.asciidoc","settings":{"foreground":"#c678dd"}},{"name":"[VSCODE-CUSTOM] Asciidoc link name","scope":"string.unquoted.asciidoc,markup.other.url.asciidoc","settings":{"foreground":"#61afef"}},{"name":"Regular Expressions","scope":"string.regexp","settings":{"foreground":"#56b6c2"}},{"name":"Embedded","scope":"punctuation.section.embedded, variable.interpolation","settings":{"foreground":"#e06c75"}},{"name":"Embedded","scope":"punctuation.section.embedded.begin,punctuation.section.embedded.end","settings":{"foreground":"#c678dd"}},{"name":"illegal","scope":"invalid.illegal","settings":{"foreground":"#ffffff"}},{"name":"illegal","scope":"invalid.illegal.bad-ampersand.html","settings":{"foreground":"#abb2bf"}},{"scope":"invalid.illegal.unrecognized-tag.html","settings":{"foreground":"#e06c75"}},{"name":"Broken","scope":"invalid.broken","settings":{"foreground":"#ffffff"}},{"name":"Deprecated","scope":"invalid.deprecated","settings":{"foreground":"#ffffff"}},{"name":"html Deprecated","scope":"invalid.deprecated.entity.other.attribute-name.html","settings":{"foreground":"#d19a66"}},{"name":"Unimplemented","scope":"invalid.unimplemented","settings":{"foreground":"#ffffff"}},{"name":"Source Json Meta Structure Dictionary Json > String Quoted Json","scope":"source.json meta.structure.dictionary.json > string.quoted.json","settings":{"foreground":"#e06c75"}},{"name":"Source Json Meta Structure Dictionary Json > String Quoted Json > Punctuation String","scope":"source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string","settings":{"foreground":"#e06c75"}},{"name":"Source Json Meta Structure Dictionary Json > Value Json > String Quoted Json,source Json Meta Structure Array Json > Value Json > String Quoted Json,source Json Meta Structure Dictionary Json > Value Json > String Quoted Json > Punctuation,source Json Meta Structure Array Json > Value Json > String Quoted Json > Punctuation","scope":"source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation","settings":{"foreground":"#98c379"}},{"name":"Source Json Meta Structure Dictionary Json > Constant Language Json,source Json Meta Structure Array Json > Constant Language Json","scope":"source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json","settings":{"foreground":"#56b6c2"}},{"name":"[VSCODE-CUSTOM] JSON Property Name","scope":"support.type.property-name.json","settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] JSON Punctuation for Property Name","scope":"support.type.property-name.json punctuation","settings":{"foreground":"#e06c75"}},{"name":"laravel blade tag","scope":"text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade","settings":{"foreground":"#c678dd"}},{"name":"laravel blade @","scope":"text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade","settings":{"foreground":"#c678dd"}},{"name":"use statement for other classes","scope":"support.other.namespace.use.php,support.other.namespace.use-as.php,entity.other.alias.php,meta.interface.php","settings":{"foreground":"#e5c07b"}},{"name":"error suppression","scope":"keyword.operator.error-control.php","settings":{"foreground":"#c678dd"}},{"name":"php instanceof","scope":"keyword.operator.type.php","settings":{"foreground":"#c678dd"}},{"name":"style double quoted array index normal begin","scope":"punctuation.section.array.begin.php","settings":{"foreground":"#abb2bf"}},{"name":"style double quoted array index normal end","scope":"punctuation.section.array.end.php","settings":{"foreground":"#abb2bf"}},{"name":"php illegal.non-null-typehinted","scope":"invalid.illegal.non-null-typehinted.php","settings":{"foreground":"#f44747"}},{"name":"php types","scope":"storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php","settings":{"foreground":"#e5c07b"}},{"name":"php call-function","scope":"meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php","settings":{"foreground":"#61afef"}},{"name":"php function-resets","scope":"punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php","settings":{"foreground":"#abb2bf"}},{"name":"support php constants","scope":"support.constant.core.rust","settings":{"foreground":"#d19a66"}},{"name":"support php constants","scope":"support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php","settings":{"foreground":"#d19a66"}},{"name":"php goto","scope":"entity.name.goto-label.php,support.other.php","settings":{"foreground":"#61afef"}},{"name":"php logical/bitwise operator","scope":"keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php","settings":{"foreground":"#56b6c2"}},{"name":"php regexp operator","scope":"keyword.operator.regexp.php","settings":{"foreground":"#c678dd"}},{"name":"php comparison","scope":"keyword.operator.comparison.php","settings":{"foreground":"#56b6c2"}},{"name":"php heredoc/nowdoc","scope":"keyword.operator.heredoc.php,keyword.operator.nowdoc.php","settings":{"foreground":"#c678dd"}},{"name":"python function decorator @","scope":"meta.function.decorator.python","settings":{"foreground":"#61afef"}},{"name":"python function support","scope":"support.token.decorator.python,meta.function.decorator.identifier.python","settings":{"foreground":"#56b6c2"}},{"name":"parameter function js/ts","scope":"function.parameter","settings":{"foreground":"#abb2bf"}},{"name":"brace function","scope":"function.brace","settings":{"foreground":"#abb2bf"}},{"name":"parameter function ruby cs","scope":"function.parameter.ruby, function.parameter.cs","settings":{"foreground":"#abb2bf"}},{"name":"constant.language.symbol.ruby","scope":"constant.language.symbol.ruby","settings":{"foreground":"#56b6c2"}},{"name":"constant.language.symbol.hashkey.ruby","scope":"constant.language.symbol.hashkey.ruby","settings":{"foreground":"#56b6c2"}},{"name":"rgb-value","scope":"rgb-value","settings":{"foreground":"#56b6c2"}},{"name":"rgb value","scope":"inline-color-decoration rgb-value","settings":{"foreground":"#d19a66"}},{"name":"rgb value less","scope":"less rgb-value","settings":{"foreground":"#d19a66"}},{"name":"sass selector","scope":"selector.sass","settings":{"foreground":"#e06c75"}},{"name":"ts primitive/builtin types","scope":"support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx","settings":{"foreground":"#e5c07b"}},{"name":"block scope","scope":"block.scope.end,block.scope.begin","settings":{"foreground":"#abb2bf"}},{"name":"cs storage type","scope":"storage.type.cs","settings":{"foreground":"#e5c07b"}},{"name":"cs local variable","scope":"entity.name.variable.local.cs","settings":{"foreground":"#e06c75"}},{"scope":"token.info-token","settings":{"foreground":"#61afef"}},{"scope":"token.warn-token","settings":{"foreground":"#d19a66"}},{"scope":"token.error-token","settings":{"foreground":"#f44747"}},{"scope":"token.debug-token","settings":{"foreground":"#c678dd"}},{"name":"String interpolation","scope":["punctuation.definition.template-expression.begin","punctuation.definition.template-expression.end","punctuation.section.embedded"],"settings":{"foreground":"#c678dd"}},{"name":"Reset JavaScript string interpolation expression","scope":["meta.template.expression"],"settings":{"foreground":"#abb2bf"}},{"name":"Import module JS","scope":["keyword.operator.module"],"settings":{"foreground":"#c678dd"}},{"name":"js Flowtype","scope":["support.type.type.flowtype"],"settings":{"foreground":"#61afef"}},{"name":"js Flow","scope":["support.type.primitive"],"settings":{"foreground":"#e5c07b"}},{"name":"js class prop","scope":["meta.property.object"],"settings":{"foreground":"#e06c75"}},{"name":"js func parameter","scope":["variable.parameter.function.js"],"settings":{"foreground":"#e06c75"}},{"name":"js template literals begin","scope":["keyword.other.template.begin"],"settings":{"foreground":"#98c379"}},{"name":"js template literals end","scope":["keyword.other.template.end"],"settings":{"foreground":"#98c379"}},{"name":"js template literals variable braces begin","scope":["keyword.other.substitution.begin"],"settings":{"foreground":"#98c379"}},{"name":"js template literals variable braces end","scope":["keyword.other.substitution.end"],"settings":{"foreground":"#98c379"}},{"name":"js operator.assignment","scope":["keyword.operator.assignment"],"settings":{"foreground":"#56b6c2"}},{"name":"go operator","scope":["keyword.operator.assignment.go"],"settings":{"foreground":"#e5c07b"}},{"name":"go operator","scope":["keyword.operator.arithmetic.go","keyword.operator.address.go"],"settings":{"foreground":"#c678dd"}},{"name":"Go package name","scope":["entity.name.package.go"],"settings":{"foreground":"#e5c07b"}},{"name":"elm prelude","scope":["support.type.prelude.elm"],"settings":{"foreground":"#56b6c2"}},{"name":"elm constant","scope":["support.constant.elm"],"settings":{"foreground":"#d19a66"}},{"name":"template literal","scope":["punctuation.quasi.element"],"settings":{"foreground":"#c678dd"}},{"name":"html/pug (jade) escaped characters and entities","scope":["constant.character.entity"],"settings":{"foreground":"#e06c75"}},{"name":"styling css pseudo-elements/classes to be able to differentiate from classes which are the same colour","scope":["entity.other.attribute-name.pseudo-element","entity.other.attribute-name.pseudo-class"],"settings":{"foreground":"#56b6c2"}},{"name":"Clojure globals","scope":["entity.global.clojure"],"settings":{"foreground":"#e5c07b"}},{"name":"Clojure symbols","scope":["meta.symbol.clojure"],"settings":{"foreground":"#e06c75"}},{"name":"Clojure constants","scope":["constant.keyword.clojure"],"settings":{"foreground":"#56b6c2"}},{"name":"CoffeeScript Function Argument","scope":["meta.arguments.coffee","variable.parameter.function.coffee"],"settings":{"foreground":"#e06c75"}},{"name":"Ini Default Text","scope":["source.ini"],"settings":{"foreground":"#98c379"}},{"name":"Makefile prerequisities","scope":["meta.scope.prerequisites.makefile"],"settings":{"foreground":"#e06c75"}},{"name":"Makefile text colour","scope":["source.makefile"],"settings":{"foreground":"#e5c07b"}},{"name":"Groovy import names","scope":["storage.modifier.import.groovy"],"settings":{"foreground":"#e5c07b"}},{"name":"Groovy Methods","scope":["meta.method.groovy"],"settings":{"foreground":"#61afef"}},{"name":"Groovy Variables","scope":["meta.definition.variable.name.groovy"],"settings":{"foreground":"#e06c75"}},{"name":"Groovy Inheritance","scope":["meta.definition.class.inherited.classes.groovy"],"settings":{"foreground":"#98c379"}},{"name":"HLSL Semantic","scope":["support.variable.semantic.hlsl"],"settings":{"foreground":"#e5c07b"}},{"name":"HLSL Types","scope":["support.type.texture.hlsl","support.type.sampler.hlsl","support.type.object.hlsl","support.type.object.rw.hlsl","support.type.fx.hlsl","support.type.object.hlsl"],"settings":{"foreground":"#c678dd"}},{"name":"SQL Variables","scope":["text.variable","text.bracketed"],"settings":{"foreground":"#e06c75"}},{"name":"types","scope":["support.type.swift","support.type.vb.asp"],"settings":{"foreground":"#e5c07b"}},{"name":"heading 1, keyword","scope":["entity.name.function.xi"],"settings":{"foreground":"#e5c07b"}},{"name":"heading 2, callable","scope":["entity.name.class.xi"],"settings":{"foreground":"#56b6c2"}},{"name":"heading 3, property","scope":["constant.character.character-class.regexp.xi"],"settings":{"foreground":"#e06c75"}},{"name":"heading 4, type, class, interface","scope":["constant.regexp.xi"],"settings":{"foreground":"#c678dd"}},{"name":"heading 5, enums, preprocessor, constant, decorator","scope":["keyword.control.xi"],"settings":{"foreground":"#56b6c2"}},{"name":"heading 6, number","scope":["invalid.xi"],"settings":{"foreground":"#abb2bf"}},{"name":"string","scope":["beginning.punctuation.definition.quote.markdown.xi"],"settings":{"foreground":"#98c379"}},{"name":"comments","scope":["beginning.punctuation.definition.list.markdown.xi"],"settings":{"foreground":"#7f848e"}},{"name":"link","scope":["constant.character.xi"],"settings":{"foreground":"#61afef"}},{"name":"accent","scope":["accent.xi"],"settings":{"foreground":"#61afef"}},{"name":"wikiword","scope":["wikiword.xi"],"settings":{"foreground":"#d19a66"}},{"name":"language operators like \'+\', \'-\' etc","scope":["constant.other.color.rgb-value.xi"],"settings":{"foreground":"#ffffff"}},{"name":"elements to dim","scope":["punctuation.definition.tag.xi"],"settings":{"foreground":"#5c6370"}},{"name":"C++/C#","scope":["entity.name.label.cs","entity.name.scope-resolution.function.call","entity.name.scope-resolution.function.definition"],"settings":{"foreground":"#e5c07b"}},{"name":"Markdown underscore-style headers","scope":["entity.name.label.cs","markup.heading.setext.1.markdown","markup.heading.setext.2.markdown"],"settings":{"foreground":"#e06c75"}},{"name":"meta.brace.square","scope":[" meta.brace.square"],"settings":{"foreground":"#abb2bf"}},{"name":"Comments","scope":"comment, punctuation.definition.comment","settings":{"foreground":"#7f848e","fontStyle":"italic"}},{"name":"[VSCODE-CUSTOM] Markdown Quote","scope":"markup.quote.markdown","settings":{"foreground":"#5c6370"}},{"name":"punctuation.definition.block.sequence.item.yaml","scope":"punctuation.definition.block.sequence.item.yaml","settings":{"foreground":"#abb2bf"}},{"scope":["constant.language.symbol.elixir","constant.language.symbol.double-quoted.elixir"],"settings":{"foreground":"#56b6c2"}},{"scope":["entity.name.variable.parameter.cs"],"settings":{"foreground":"#e5c07b"}},{"scope":["entity.name.variable.field.cs"],"settings":{"foreground":"#e06c75"}},{"name":"Deleted","scope":"markup.deleted","settings":{"foreground":"#e06c75"}},{"name":"Inserted","scope":"markup.inserted","settings":{"foreground":"#98c379"}},{"name":"Underline","scope":"markup.underline","settings":{"fontStyle":"underline"}},{"name":"punctuation.section.embedded.begin.php","scope":["punctuation.section.embedded.begin.php","punctuation.section.embedded.end.php"],"settings":{"foreground":"#BE5046"}},{"name":"support.other.namespace.php","scope":["support.other.namespace.php"],"settings":{"foreground":"#abb2bf"}},{"name":"variable.other.object","scope":["variable.other.object"],"settings":{"foreground":"#e5c07b"}},{"name":"variable.other.constant.property","scope":["variable.other.constant.property"],"settings":{"foreground":"#e06c75"}},{"name":"entity.other.inherited-class","scope":["entity.other.inherited-class"],"settings":{"foreground":"#e5c07b"}},{"name":"c variable readwrite","scope":"variable.other.readwrite.c","settings":{"foreground":"#e06c75"}},{"name":"php scope","scope":"entity.name.variable.parameter.php,punctuation.separator.colon.php,constant.other.php","settings":{"foreground":"#abb2bf"}},{"name":"Assembly","scope":["constant.numeric.decimal.asm.x86_64"],"settings":{"foreground":"#c678dd"}},{"scope":["support.other.parenthesis.regexp"],"settings":{"foreground":"#d19a66"}},{"scope":["constant.character.escape"],"settings":{"foreground":"#56b6c2"}},{"scope":["string.regexp"],"settings":{"foreground":"#e06c75"}},{"name":"js/ts italic","scope":"entity.other.attribute-name.js,entity.other.attribute-name.ts,entity.other.attribute-name.jsx,entity.other.attribute-name.tsx,variable.parameter,variable.language.super","settings":{"fontStyle":"italic"}},{"name":"comment","scope":"comment.line.double-slash,comment.block.documentation","settings":{"fontStyle":"italic"}},{"name":"Python Keyword Control","scope":"keyword.control.import.python,keyword.control.flow.python,keyword.operator.logical.python","settings":{"fontStyle":"italic"}},{"name":"markup.italic.markdown","scope":"markup.italic.markdown","settings":{"fontStyle":"italic"}}],"colors":{"activityBar.background":"#282c34","activityBar.foreground":"#d7dae0","activityBarBadge.background":"#4d78cc","activityBarBadge.foreground":"#f8fafd","badge.background":"#282c34","button.background":"#404754","button.secondaryBackground":"#30333d","button.secondaryForeground":"#c0bdbd","checkbox.border":"#404754","debugToolBar.background":"#21252b","descriptionForeground":"#abb2bf","diffEditor.insertedTextBackground":"#00809b33","dropdown.background":"#21252b","dropdown.border":"#21252b","editor.background":"#282c34","editor.findMatchBackground":"#42557b","editor.findMatchBorder":"#457dff","editor.findMatchHighlightBackground":"#6199ff2f","editor.foreground":"#abb2bf","editorBracketHighlight.foreground1":"#d19a66","editorBracketHighlight.foreground2":"#c678dd","editorBracketHighlight.foreground3":"#56b6c2","editorHoverWidget.highlightForeground":"#61afef","editorInlayHint.foreground":"#abb2bf","editorInlayHint.background":"#2c313c","editor.lineHighlightBackground":"#2c313c","editorLineNumber.activeForeground":"#abb2bf","editorGutter.addedBackground":"#109868","editorGutter.deletedBackground":"#9A353D","editorGutter.modifiedBackground":"#948B60","editorOverviewRuler.addedBackground":"#109868","editorOverviewRuler.deletedBackground":"#9A353D","editorOverviewRuler.modifiedBackground":"#948B60","editor.selectionBackground":"#67769660","editor.selectionHighlightBackground":"#ffffff10","editor.selectionHighlightBorder":"#dddddd","editor.wordHighlightBackground":"#d2e0ff2f","editor.wordHighlightBorder":"#7f848e","editor.wordHighlightStrongBackground":"#abb2bf26","editor.wordHighlightStrongBorder":"#7f848e","editorBracketMatch.background":"#515a6b","editorBracketMatch.border":"#515a6b","editorCursor.background":"#ffffffc9","editorCursor.foreground":"#528bff","editorError.foreground":"#c24038","editorGroup.background":"#181a1f","editorGroup.border":"#181a1f","editorGroupHeader.tabsBackground":"#21252b","editorHoverWidget.background":"#21252b","editorHoverWidget.border":"#181a1f","editorIndentGuide.activeBackground":"#c8c8c859","editorIndentGuide.background":"#3b4048","editorLineNumber.foreground":"#495162","editorMarkerNavigation.background":"#21252b","editorRuler.foreground":"#abb2bf26","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","editorWarning.foreground":"#d19a66","editorWhitespace.foreground":"#ffffff1d","editorWidget.background":"#21252b","focusBorder":"#3e4452","gitDecoration.ignoredResourceForeground":"#636b78","input.background":"#1d1f23","input.foreground":"#abb2bf","list.activeSelectionBackground":"#2c313a","list.activeSelectionForeground":"#d7dae0","list.focusBackground":"#323842","list.focusForeground":"#f0f0f0","list.highlightForeground":"#ecebeb","list.hoverBackground":"#2c313a","list.hoverForeground":"#abb2bf","list.inactiveSelectionBackground":"#323842","list.inactiveSelectionForeground":"#d7dae0","list.warningForeground":"#d19a66","menu.foreground":"#abb2bf","menu.separatorBackground":"#343a45","minimapGutter.addedBackground":"#109868","minimapGutter.deletedBackground":"#9A353D","minimapGutter.modifiedBackground":"#948B60","panel.border":"#3e4452","panelSectionHeader.background":"#21252b","peekViewEditor.background":"#1b1d23","peekViewEditor.matchHighlightBackground":"#29244b","peekViewResult.background":"#22262b","scrollbar.shadow":"#23252c","scrollbarSlider.activeBackground":"#747d9180","scrollbarSlider.background":"#4e566660","scrollbarSlider.hoverBackground":"#5a637580","settings.focusedRowBackground":"#282c34","settings.headerForeground":"#fff","sideBar.background":"#21252b","sideBar.foreground":"#abb2bf","sideBarSectionHeader.background":"#282c34","sideBarSectionHeader.foreground":"#abb2bf","statusBar.background":"#21252b","statusBar.debuggingBackground":"#cc6633","statusBar.debuggingBorder":"#ff000000","statusBar.debuggingForeground":"#ffffff","statusBar.foreground":"#9da5b4","statusBar.noFolderBackground":"#21252b","statusBarItem.remoteBackground":"#4d78cc","statusBarItem.remoteForeground":"#f8fafd","tab.activeBackground":"#282c34","tab.activeBorder":"#b4b4b4","tab.activeForeground":"#dcdcdc","tab.border":"#181a1f","tab.hoverBackground":"#323842","tab.inactiveBackground":"#21252b","tab.unfocusedHoverBackground":"#323842","terminal.ansiBlack":"#3f4451","terminal.ansiBlue":"#4aa5f0","terminal.ansiBrightBlack":"#4f5666","terminal.ansiBrightBlue":"#4dc4ff","terminal.ansiBrightCyan":"#4cd1e0","terminal.ansiBrightGreen":"#a5e075","terminal.ansiBrightMagenta":"#de73ff","terminal.ansiBrightRed":"#ff616e","terminal.ansiBrightWhite":"#e6e6e6","terminal.ansiBrightYellow":"#f0a45d","terminal.ansiCyan":"#42b3c2","terminal.ansiGreen":"#8cc265","terminal.ansiMagenta":"#c162de","terminal.ansiRed":"#e05561","terminal.ansiWhite":"#d7dae0","terminal.ansiYellow":"#d18f52","terminal.background":"#282c34","terminal.border":"#3e4452","terminal.foreground":"#abb2bf","terminal.selectionBackground":"#abb2bf30","textBlockQuote.background":"#2e3440","textBlockQuote.border":"#4b5362","textLink.foreground":"#61afef","textPreformat.foreground":"#d19a66","titleBar.activeBackground":"#282c34","titleBar.activeForeground":"#9da5b4","titleBar.inactiveBackground":"#21252b","titleBar.inactiveForeground":"#6b717d","tree.indentGuidesStroke":"#ffffff1d","walkThrough.embeddedEditorBackground":"#2e3440","welcomePage.buttonHoverBackground":"#404754"}}'),wT=JSON.parse('{"name":"One Dark Pro","type":"dark","semanticHighlighting":true,"semanticTokenColors":{"enumMember":{"foreground":"#56b6c2"},"variable.constant":{"foreground":"#d19a66"},"variable.defaultLibrary":{"foreground":"#e5c07b"},"variable:dart":{"foreground":"#d19a66"},"property:dart":{"foreground":"#d19a66"},"annotation:dart":{"foreground":"#d19a66"},"parameter.label:dart":{"foreground":"#abb2bf"},"macro":{"foreground":"#d19a66"},"tomlArrayKey":{"foreground":"#e5c07b"}},"tokenColors":[{"scope":"meta.embedded","settings":{"foreground":"#abb2bf"}},{"name":"unison punctuation","scope":"punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison","settings":{"foreground":"#e06c75"}},{"name":"haskell variable generic-type","scope":"variable.other.generic-type.haskell","settings":{"foreground":"#c678dd"}},{"name":"haskell storage type","scope":"storage.type.haskell","settings":{"foreground":"#d19a66"}},{"name":"support.variable.magic.python","scope":"support.variable.magic.python","settings":{"foreground":"#e06c75"}},{"name":"punctuation.separator.parameters.python","scope":"punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python","settings":{"foreground":"#abb2bf"}},{"name":"variable.parameter.function.language.special.self.python","scope":"variable.parameter.function.language.special.self.python","settings":{"foreground":"#e5c07b"}},{"name":"variable.parameter.function.language.special.cls.python","scope":"variable.parameter.function.language.special.cls.python","settings":{"foreground":"#e5c07b"}},{"name":"storage.modifier.lifetime.rust","scope":"storage.modifier.lifetime.rust","settings":{"foreground":"#abb2bf"}},{"name":"support.function.std.rust","scope":"support.function.std.rust","settings":{"foreground":"#61afef"}},{"name":"entity.name.lifetime.rust","scope":"entity.name.lifetime.rust","settings":{"foreground":"#e5c07b"}},{"name":"variable.language.rust","scope":"variable.language.rust","settings":{"foreground":"#e06c75"}},{"name":"support.constant.edge","scope":"support.constant.edge","settings":{"foreground":"#c678dd"}},{"name":"regexp constant character-class","scope":"constant.other.character-class.regexp","settings":{"foreground":"#e06c75"}},{"name":"keyword.operator","scope":["keyword.operator.word"],"settings":{"foreground":"#c678dd"}},{"name":"regexp operator.quantifier","scope":"keyword.operator.quantifier.regexp","settings":{"foreground":"#d19a66"}},{"name":"Text","scope":"variable.parameter.function","settings":{"foreground":"#abb2bf"}},{"name":"Comment Markup Link","scope":"comment markup.link","settings":{"foreground":"#5c6370"}},{"name":"markup diff","scope":"markup.changed.diff","settings":{"foreground":"#e5c07b"}},{"name":"diff","scope":"meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff","settings":{"foreground":"#61afef"}},{"name":"inserted.diff","scope":"markup.inserted.diff","settings":{"foreground":"#98c379"}},{"name":"deleted.diff","scope":"markup.deleted.diff","settings":{"foreground":"#e06c75"}},{"name":"c++ function","scope":"meta.function.c,meta.function.cpp","settings":{"foreground":"#e06c75"}},{"name":"c++ block","scope":"punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c","settings":{"foreground":"#abb2bf"}},{"name":"js/ts punctuation separator key-value","scope":"punctuation.separator.key-value","settings":{"foreground":"#abb2bf"}},{"name":"js/ts import keyword","scope":"keyword.operator.expression.import","settings":{"foreground":"#61afef"}},{"name":"math js/ts","scope":"support.constant.math","settings":{"foreground":"#e5c07b"}},{"name":"math property js/ts","scope":"support.constant.property.math","settings":{"foreground":"#d19a66"}},{"name":"js/ts variable.other.constant","scope":"variable.other.constant","settings":{"foreground":"#e5c07b"}},{"name":"java type","scope":["storage.type.annotation.java","storage.type.object.array.java"],"settings":{"foreground":"#e5c07b"}},{"name":"java source","scope":"source.java","settings":{"foreground":"#e06c75"}},{"name":"java modifier.import","scope":"punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java","settings":{"foreground":"#abb2bf"}},{"name":"java modifier.import","scope":"meta.method.java","settings":{"foreground":"#61afef"}},{"name":"java modifier.import","scope":"storage.modifier.import.java,storage.type.java,storage.type.generic.java","settings":{"foreground":"#e5c07b"}},{"name":"java instanceof","scope":"keyword.operator.instanceof.java","settings":{"foreground":"#c678dd"}},{"name":"java variable.name","scope":"meta.definition.variable.name.java","settings":{"foreground":"#e06c75"}},{"name":"operator logical","scope":"keyword.operator.logical","settings":{"foreground":"#56b6c2"}},{"name":"operator bitwise","scope":"keyword.operator.bitwise","settings":{"foreground":"#56b6c2"}},{"name":"operator channel","scope":"keyword.operator.channel","settings":{"foreground":"#56b6c2"}},{"name":"support.constant.property-value.scss","scope":"support.constant.property-value.scss,support.constant.property-value.css","settings":{"foreground":"#d19a66"}},{"name":"CSS/SCSS/LESS Operators","scope":"keyword.operator.css,keyword.operator.scss,keyword.operator.less","settings":{"foreground":"#56b6c2"}},{"name":"css color standard name","scope":"support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss","settings":{"foreground":"#d19a66"}},{"name":"css comma","scope":"punctuation.separator.list.comma.css","settings":{"foreground":"#abb2bf"}},{"name":"css attribute-name.id","scope":"support.constant.color.w3c-standard-color-name.css","settings":{"foreground":"#d19a66"}},{"name":"css property-name","scope":"support.type.vendored.property-name.css","settings":{"foreground":"#56b6c2"}},{"name":"js/ts module","scope":"support.module.node,support.type.object.module,support.module.node","settings":{"foreground":"#e5c07b"}},{"name":"entity.name.type.module","scope":"entity.name.type.module","settings":{"foreground":"#e5c07b"}},{"name":"js variable readwrite","scope":"variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node","settings":{"foreground":"#e06c75"}},{"name":"js/ts json","scope":"support.constant.json","settings":{"foreground":"#d19a66"}},{"name":"js/ts Keyword","scope":["keyword.operator.expression.instanceof","keyword.operator.new","keyword.operator.ternary","keyword.operator.optional","keyword.operator.expression.keyof"],"settings":{"foreground":"#c678dd"}},{"name":"js/ts console","scope":"support.type.object.console","settings":{"foreground":"#e06c75"}},{"name":"js/ts support.variable.property.process","scope":"support.variable.property.process","settings":{"foreground":"#d19a66"}},{"name":"js console function","scope":"entity.name.function,support.function.console","settings":{"foreground":"#61afef"}},{"name":"keyword.operator.misc.rust","scope":"keyword.operator.misc.rust","settings":{"foreground":"#abb2bf"}},{"name":"keyword.operator.sigil.rust","scope":"keyword.operator.sigil.rust","settings":{"foreground":"#c678dd"}},{"name":"operator","scope":"keyword.operator.delete","settings":{"foreground":"#c678dd"}},{"name":"js dom","scope":"support.type.object.dom","settings":{"foreground":"#56b6c2"}},{"name":"js dom variable","scope":"support.variable.dom,support.variable.property.dom","settings":{"foreground":"#e06c75"}},{"name":"keyword.operator","scope":"keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational","settings":{"foreground":"#56b6c2"}},{"name":"C operator assignment","scope":"keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp","settings":{"foreground":"#c678dd"}},{"name":"Punctuation","scope":"punctuation.separator.delimiter","settings":{"foreground":"#abb2bf"}},{"name":"Other punctuation .c","scope":"punctuation.separator.c,punctuation.separator.cpp","settings":{"foreground":"#c678dd"}},{"name":"C type posix-reserved","scope":"support.type.posix-reserved.c,support.type.posix-reserved.cpp","settings":{"foreground":"#56b6c2"}},{"name":"keyword.operator.sizeof.c","scope":"keyword.operator.sizeof.c,keyword.operator.sizeof.cpp","settings":{"foreground":"#c678dd"}},{"name":"python parameter","scope":"variable.parameter.function.language.python","settings":{"foreground":"#d19a66"}},{"name":"python type","scope":"support.type.python","settings":{"foreground":"#56b6c2"}},{"name":"python logical","scope":"keyword.operator.logical.python","settings":{"foreground":"#c678dd"}},{"name":"pyCs","scope":"variable.parameter.function.python","settings":{"foreground":"#d19a66"}},{"name":"python block","scope":"punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python","settings":{"foreground":"#abb2bf"}},{"name":"python function-call.generic","scope":"meta.function-call.generic.python","settings":{"foreground":"#61afef"}},{"name":"python placeholder reset to normal string","scope":"constant.character.format.placeholder.other.python","settings":{"foreground":"#d19a66"}},{"name":"Operators","scope":"keyword.operator","settings":{"foreground":"#abb2bf"}},{"name":"Compound Assignment Operators","scope":"keyword.operator.assignment.compound","settings":{"foreground":"#c678dd"}},{"name":"Compound Assignment Operators js/ts","scope":"keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts","settings":{"foreground":"#56b6c2"}},{"name":"Keywords","scope":"keyword","settings":{"foreground":"#c678dd"}},{"name":"Namespaces","scope":"entity.name.namespace","settings":{"foreground":"#e5c07b"}},{"name":"Variables","scope":"variable","settings":{"foreground":"#e06c75"}},{"name":"Variables","scope":"variable.c","settings":{"foreground":"#abb2bf"}},{"name":"Language variables","scope":"variable.language","settings":{"foreground":"#e5c07b"}},{"name":"Java Variables","scope":"token.variable.parameter.java","settings":{"foreground":"#abb2bf"}},{"name":"Java Imports","scope":"import.storage.java","settings":{"foreground":"#e5c07b"}},{"name":"Packages","scope":"token.package.keyword","settings":{"foreground":"#c678dd"}},{"name":"Packages","scope":"token.package","settings":{"foreground":"#abb2bf"}},{"name":"Functions","scope":["entity.name.function","meta.require","support.function.any-method","variable.function"],"settings":{"foreground":"#61afef"}},{"name":"Classes","scope":"entity.name.type.namespace","settings":{"foreground":"#e5c07b"}},{"name":"Classes","scope":"support.class, entity.name.type.class","settings":{"foreground":"#e5c07b"}},{"name":"Class name","scope":"entity.name.class.identifier.namespace.type","settings":{"foreground":"#e5c07b"}},{"name":"Class name","scope":["entity.name.class","variable.other.class.js","variable.other.class.ts"],"settings":{"foreground":"#e5c07b"}},{"name":"Class name php","scope":"variable.other.class.php","settings":{"foreground":"#e06c75"}},{"name":"Type Name","scope":"entity.name.type","settings":{"foreground":"#e5c07b"}},{"name":"Keyword Control","scope":"keyword.control","settings":{"foreground":"#c678dd"}},{"name":"Control Elements","scope":"control.elements, keyword.operator.less","settings":{"foreground":"#d19a66"}},{"name":"Methods","scope":"keyword.other.special-method","settings":{"foreground":"#61afef"}},{"name":"Storage","scope":"storage","settings":{"foreground":"#c678dd"}},{"name":"Storage JS TS","scope":"token.storage","settings":{"foreground":"#c678dd"}},{"name":"Source Js Keyword Operator Delete,source Js Keyword Operator In,source Js Keyword Operator Of,source Js Keyword Operator Instanceof,source Js Keyword Operator New,source Js Keyword Operator Typeof,source Js Keyword Operator Void","scope":"keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void","settings":{"foreground":"#c678dd"}},{"name":"Java Storage","scope":"token.storage.type.java","settings":{"foreground":"#e5c07b"}},{"name":"Support","scope":"support.function","settings":{"foreground":"#56b6c2"}},{"name":"Support type","scope":"support.type.property-name","settings":{"foreground":"#abb2bf"}},{"name":"[VSCODE-CUSTOM] toml support","scope":"support.type.property-name.toml, support.type.property-name.table.toml, support.type.property-name.array.toml","settings":{"foreground":"#e06c75"}},{"name":"Support type","scope":"support.constant.property-value","settings":{"foreground":"#abb2bf"}},{"name":"Support type","scope":"support.constant.font-name","settings":{"foreground":"#d19a66"}},{"name":"Meta tag","scope":"meta.tag","settings":{"foreground":"#abb2bf"}},{"name":"Strings","scope":"string","settings":{"foreground":"#98c379"}},{"name":"Constant other symbol","scope":"constant.other.symbol","settings":{"foreground":"#56b6c2"}},{"name":"Integers","scope":"constant.numeric","settings":{"foreground":"#d19a66"}},{"name":"Constants","scope":"constant","settings":{"foreground":"#d19a66"}},{"name":"Constants","scope":"punctuation.definition.constant","settings":{"foreground":"#d19a66"}},{"name":"Tags","scope":"entity.name.tag","settings":{"foreground":"#e06c75"}},{"name":"Attributes","scope":"entity.other.attribute-name","settings":{"foreground":"#d19a66"}},{"name":"Attribute IDs","scope":"entity.other.attribute-name.id","settings":{"foreground":"#61afef"}},{"name":"Attribute class","scope":"entity.other.attribute-name.class.css","settings":{"foreground":"#d19a66"}},{"name":"Selector","scope":"meta.selector","settings":{"foreground":"#c678dd"}},{"name":"Headings","scope":"markup.heading","settings":{"foreground":"#e06c75"}},{"name":"Headings","scope":"markup.heading punctuation.definition.heading, entity.name.section","settings":{"foreground":"#61afef"}},{"name":"Units","scope":"keyword.other.unit","settings":{"foreground":"#e06c75"}},{"name":"Bold","scope":"markup.bold,todo.bold","settings":{"foreground":"#d19a66"}},{"name":"Bold","scope":"punctuation.definition.bold","settings":{"foreground":"#e5c07b"}},{"name":"markup Italic","scope":"markup.italic, punctuation.definition.italic,todo.emphasis","settings":{"foreground":"#c678dd"}},{"name":"emphasis md","scope":"emphasis md","settings":{"foreground":"#c678dd"}},{"name":"[VSCODE-CUSTOM] Markdown headings","scope":"entity.name.section.markdown","settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] Markdown heading Punctuation Definition","scope":"punctuation.definition.heading.markdown","settings":{"foreground":"#e06c75"}},{"name":"punctuation.definition.list.begin.markdown","scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Markdown heading setext","scope":"markup.heading.setext","settings":{"foreground":"#abb2bf"}},{"name":"[VSCODE-CUSTOM] Markdown Punctuation Definition Bold","scope":"punctuation.definition.bold.markdown","settings":{"foreground":"#d19a66"}},{"name":"[VSCODE-CUSTOM] Markdown Inline Raw","scope":"markup.inline.raw.markdown","settings":{"foreground":"#98c379"}},{"name":"[VSCODE-CUSTOM] Markdown Inline Raw","scope":"markup.inline.raw.string.markdown","settings":{"foreground":"#98c379"}},{"name":"[VSCODE-CUSTOM] Markdown Inline Raw punctuation","scope":"punctuation.definition.raw.markdown","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Markdown List Punctuation Definition","scope":"punctuation.definition.list.markdown","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Markdown Punctuation Definition String","scope":["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown","punctuation.definition.metadata.markdown"],"settings":{"foreground":"#e06c75"}},{"name":"beginning.punctuation.definition.list.markdown","scope":["beginning.punctuation.definition.list.markdown"],"settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] Markdown Punctuation Definition Link","scope":"punctuation.definition.metadata.markdown","settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] Markdown Underline Link/Image","scope":"markup.underline.link.markdown,markup.underline.link.image.markdown","settings":{"foreground":"#c678dd"}},{"name":"[VSCODE-CUSTOM] Markdown Link Title/Description","scope":"string.other.link.title.markdown,string.other.link.description.markdown","settings":{"foreground":"#61afef"}},{"name":"[VSCODE-CUSTOM] Asciidoc Inline Raw","scope":"markup.raw.monospace.asciidoc","settings":{"foreground":"#98c379"}},{"name":"[VSCODE-CUSTOM] Asciidoc Inline Raw Punctuation Definition","scope":"punctuation.definition.asciidoc","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Asciidoc List Punctuation Definition","scope":"markup.list.asciidoc","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Asciidoc underline link","scope":"markup.link.asciidoc,markup.other.url.asciidoc","settings":{"foreground":"#c678dd"}},{"name":"[VSCODE-CUSTOM] Asciidoc link name","scope":"string.unquoted.asciidoc,markup.other.url.asciidoc","settings":{"foreground":"#61afef"}},{"name":"Regular Expressions","scope":"string.regexp","settings":{"foreground":"#56b6c2"}},{"name":"Embedded","scope":"punctuation.section.embedded, variable.interpolation","settings":{"foreground":"#e06c75"}},{"name":"Embedded","scope":"punctuation.section.embedded.begin,punctuation.section.embedded.end","settings":{"foreground":"#c678dd"}},{"name":"illegal","scope":"invalid.illegal","settings":{"foreground":"#ffffff"}},{"name":"illegal","scope":"invalid.illegal.bad-ampersand.html","settings":{"foreground":"#abb2bf"}},{"scope":"invalid.illegal.unrecognized-tag.html","settings":{"foreground":"#e06c75"}},{"name":"Broken","scope":"invalid.broken","settings":{"foreground":"#ffffff"}},{"name":"Deprecated","scope":"invalid.deprecated","settings":{"foreground":"#ffffff"}},{"name":"html Deprecated","scope":"invalid.deprecated.entity.other.attribute-name.html","settings":{"foreground":"#d19a66"}},{"name":"Unimplemented","scope":"invalid.unimplemented","settings":{"foreground":"#ffffff"}},{"name":"Source Json Meta Structure Dictionary Json > String Quoted Json","scope":"source.json meta.structure.dictionary.json > string.quoted.json","settings":{"foreground":"#e06c75"}},{"name":"Source Json Meta Structure Dictionary Json > String Quoted Json > Punctuation String","scope":"source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string","settings":{"foreground":"#e06c75"}},{"name":"Source Json Meta Structure Dictionary Json > Value Json > String Quoted Json,source Json Meta Structure Array Json > Value Json > String Quoted Json,source Json Meta Structure Dictionary Json > Value Json > String Quoted Json > Punctuation,source Json Meta Structure Array Json > Value Json > String Quoted Json > Punctuation","scope":"source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation","settings":{"foreground":"#98c379"}},{"name":"Source Json Meta Structure Dictionary Json > Constant Language Json,source Json Meta Structure Array Json > Constant Language Json","scope":"source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json","settings":{"foreground":"#56b6c2"}},{"name":"[VSCODE-CUSTOM] JSON Property Name","scope":"support.type.property-name.json","settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] JSON Punctuation for Property Name","scope":"support.type.property-name.json punctuation","settings":{"foreground":"#e06c75"}},{"name":"laravel blade tag","scope":"text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade","settings":{"foreground":"#c678dd"}},{"name":"laravel blade @","scope":"text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade","settings":{"foreground":"#c678dd"}},{"name":"use statement for other classes","scope":"support.other.namespace.use.php,support.other.namespace.use-as.php,entity.other.alias.php,meta.interface.php","settings":{"foreground":"#e5c07b"}},{"name":"error suppression","scope":"keyword.operator.error-control.php","settings":{"foreground":"#c678dd"}},{"name":"php instanceof","scope":"keyword.operator.type.php","settings":{"foreground":"#c678dd"}},{"name":"style double quoted array index normal begin","scope":"punctuation.section.array.begin.php","settings":{"foreground":"#abb2bf"}},{"name":"style double quoted array index normal end","scope":"punctuation.section.array.end.php","settings":{"foreground":"#abb2bf"}},{"name":"php illegal.non-null-typehinted","scope":"invalid.illegal.non-null-typehinted.php","settings":{"foreground":"#f44747"}},{"name":"php types","scope":"storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php","settings":{"foreground":"#e5c07b"}},{"name":"php call-function","scope":"meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php","settings":{"foreground":"#61afef"}},{"name":"php function-resets","scope":"punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php","settings":{"foreground":"#abb2bf"}},{"name":"support php constants","scope":"support.constant.core.rust","settings":{"foreground":"#d19a66"}},{"name":"support php constants","scope":"support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php","settings":{"foreground":"#d19a66"}},{"name":"php goto","scope":"entity.name.goto-label.php,support.other.php","settings":{"foreground":"#61afef"}},{"name":"php logical/bitwise operator","scope":"keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php","settings":{"foreground":"#56b6c2"}},{"name":"php regexp operator","scope":"keyword.operator.regexp.php","settings":{"foreground":"#c678dd"}},{"name":"php comparison","scope":"keyword.operator.comparison.php","settings":{"foreground":"#56b6c2"}},{"name":"php heredoc/nowdoc","scope":"keyword.operator.heredoc.php,keyword.operator.nowdoc.php","settings":{"foreground":"#c678dd"}},{"name":"python function decorator @","scope":"meta.function.decorator.python","settings":{"foreground":"#61afef"}},{"name":"python function support","scope":"support.token.decorator.python,meta.function.decorator.identifier.python","settings":{"foreground":"#56b6c2"}},{"name":"parameter function js/ts","scope":"function.parameter","settings":{"foreground":"#abb2bf"}},{"name":"brace function","scope":"function.brace","settings":{"foreground":"#abb2bf"}},{"name":"parameter function ruby cs","scope":"function.parameter.ruby, function.parameter.cs","settings":{"foreground":"#abb2bf"}},{"name":"constant.language.symbol.ruby","scope":"constant.language.symbol.ruby","settings":{"foreground":"#56b6c2"}},{"name":"constant.language.symbol.hashkey.ruby","scope":"constant.language.symbol.hashkey.ruby","settings":{"foreground":"#56b6c2"}},{"name":"rgb-value","scope":"rgb-value","settings":{"foreground":"#56b6c2"}},{"name":"rgb value","scope":"inline-color-decoration rgb-value","settings":{"foreground":"#d19a66"}},{"name":"rgb value less","scope":"less rgb-value","settings":{"foreground":"#d19a66"}},{"name":"sass selector","scope":"selector.sass","settings":{"foreground":"#e06c75"}},{"name":"ts primitive/builtin types","scope":"support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx","settings":{"foreground":"#e5c07b"}},{"name":"block scope","scope":"block.scope.end,block.scope.begin","settings":{"foreground":"#abb2bf"}},{"name":"cs storage type","scope":"storage.type.cs","settings":{"foreground":"#e5c07b"}},{"name":"cs local variable","scope":"entity.name.variable.local.cs","settings":{"foreground":"#e06c75"}},{"scope":"token.info-token","settings":{"foreground":"#61afef"}},{"scope":"token.warn-token","settings":{"foreground":"#d19a66"}},{"scope":"token.error-token","settings":{"foreground":"#f44747"}},{"scope":"token.debug-token","settings":{"foreground":"#c678dd"}},{"name":"String interpolation","scope":["punctuation.definition.template-expression.begin","punctuation.definition.template-expression.end","punctuation.section.embedded"],"settings":{"foreground":"#c678dd"}},{"name":"Reset JavaScript string interpolation expression","scope":["meta.template.expression"],"settings":{"foreground":"#abb2bf"}},{"name":"Import module JS","scope":["keyword.operator.module"],"settings":{"foreground":"#c678dd"}},{"name":"js Flowtype","scope":["support.type.type.flowtype"],"settings":{"foreground":"#61afef"}},{"name":"js Flow","scope":["support.type.primitive"],"settings":{"foreground":"#e5c07b"}},{"name":"js class prop","scope":["meta.property.object"],"settings":{"foreground":"#e06c75"}},{"name":"js func parameter","scope":["variable.parameter.function.js"],"settings":{"foreground":"#e06c75"}},{"name":"js template literals begin","scope":["keyword.other.template.begin"],"settings":{"foreground":"#98c379"}},{"name":"js template literals end","scope":["keyword.other.template.end"],"settings":{"foreground":"#98c379"}},{"name":"js template literals variable braces begin","scope":["keyword.other.substitution.begin"],"settings":{"foreground":"#98c379"}},{"name":"js template literals variable braces end","scope":["keyword.other.substitution.end"],"settings":{"foreground":"#98c379"}},{"name":"js operator.assignment","scope":["keyword.operator.assignment"],"settings":{"foreground":"#56b6c2"}},{"name":"go operator","scope":["keyword.operator.assignment.go"],"settings":{"foreground":"#e5c07b"}},{"name":"go operator","scope":["keyword.operator.arithmetic.go","keyword.operator.address.go"],"settings":{"foreground":"#c678dd"}},{"name":"Go package name","scope":["entity.name.package.go"],"settings":{"foreground":"#e5c07b"}},{"name":"elm prelude","scope":["support.type.prelude.elm"],"settings":{"foreground":"#56b6c2"}},{"name":"elm constant","scope":["support.constant.elm"],"settings":{"foreground":"#d19a66"}},{"name":"template literal","scope":["punctuation.quasi.element"],"settings":{"foreground":"#c678dd"}},{"name":"html/pug (jade) escaped characters and entities","scope":["constant.character.entity"],"settings":{"foreground":"#e06c75"}},{"name":"styling css pseudo-elements/classes to be able to differentiate from classes which are the same colour","scope":["entity.other.attribute-name.pseudo-element","entity.other.attribute-name.pseudo-class"],"settings":{"foreground":"#56b6c2"}},{"name":"Clojure globals","scope":["entity.global.clojure"],"settings":{"foreground":"#e5c07b"}},{"name":"Clojure symbols","scope":["meta.symbol.clojure"],"settings":{"foreground":"#e06c75"}},{"name":"Clojure constants","scope":["constant.keyword.clojure"],"settings":{"foreground":"#56b6c2"}},{"name":"CoffeeScript Function Argument","scope":["meta.arguments.coffee","variable.parameter.function.coffee"],"settings":{"foreground":"#e06c75"}},{"name":"Ini Default Text","scope":["source.ini"],"settings":{"foreground":"#98c379"}},{"name":"Makefile prerequisities","scope":["meta.scope.prerequisites.makefile"],"settings":{"foreground":"#e06c75"}},{"name":"Makefile text colour","scope":["source.makefile"],"settings":{"foreground":"#e5c07b"}},{"name":"Groovy import names","scope":["storage.modifier.import.groovy"],"settings":{"foreground":"#e5c07b"}},{"name":"Groovy Methods","scope":["meta.method.groovy"],"settings":{"foreground":"#61afef"}},{"name":"Groovy Variables","scope":["meta.definition.variable.name.groovy"],"settings":{"foreground":"#e06c75"}},{"name":"Groovy Inheritance","scope":["meta.definition.class.inherited.classes.groovy"],"settings":{"foreground":"#98c379"}},{"name":"HLSL Semantic","scope":["support.variable.semantic.hlsl"],"settings":{"foreground":"#e5c07b"}},{"name":"HLSL Types","scope":["support.type.texture.hlsl","support.type.sampler.hlsl","support.type.object.hlsl","support.type.object.rw.hlsl","support.type.fx.hlsl","support.type.object.hlsl"],"settings":{"foreground":"#c678dd"}},{"name":"SQL Variables","scope":["text.variable","text.bracketed"],"settings":{"foreground":"#e06c75"}},{"name":"types","scope":["support.type.swift","support.type.vb.asp"],"settings":{"foreground":"#e5c07b"}},{"name":"heading 1, keyword","scope":["entity.name.function.xi"],"settings":{"foreground":"#e5c07b"}},{"name":"heading 2, callable","scope":["entity.name.class.xi"],"settings":{"foreground":"#56b6c2"}},{"name":"heading 3, property","scope":["constant.character.character-class.regexp.xi"],"settings":{"foreground":"#e06c75"}},{"name":"heading 4, type, class, interface","scope":["constant.regexp.xi"],"settings":{"foreground":"#c678dd"}},{"name":"heading 5, enums, preprocessor, constant, decorator","scope":["keyword.control.xi"],"settings":{"foreground":"#56b6c2"}},{"name":"heading 6, number","scope":["invalid.xi"],"settings":{"foreground":"#abb2bf"}},{"name":"string","scope":["beginning.punctuation.definition.quote.markdown.xi"],"settings":{"foreground":"#98c379"}},{"name":"comments","scope":["beginning.punctuation.definition.list.markdown.xi"],"settings":{"foreground":"#7f848e"}},{"name":"link","scope":["constant.character.xi"],"settings":{"foreground":"#61afef"}},{"name":"accent","scope":["accent.xi"],"settings":{"foreground":"#61afef"}},{"name":"wikiword","scope":["wikiword.xi"],"settings":{"foreground":"#d19a66"}},{"name":"language operators like \'+\', \'-\' etc","scope":["constant.other.color.rgb-value.xi"],"settings":{"foreground":"#ffffff"}},{"name":"elements to dim","scope":["punctuation.definition.tag.xi"],"settings":{"foreground":"#5c6370"}},{"name":"C++/C#","scope":["entity.name.label.cs","entity.name.scope-resolution.function.call","entity.name.scope-resolution.function.definition"],"settings":{"foreground":"#e5c07b"}},{"name":"Markdown underscore-style headers","scope":["entity.name.label.cs","markup.heading.setext.1.markdown","markup.heading.setext.2.markdown"],"settings":{"foreground":"#e06c75"}},{"name":"meta.brace.square","scope":[" meta.brace.square"],"settings":{"foreground":"#abb2bf"}},{"name":"Comments","scope":"comment, punctuation.definition.comment","settings":{"foreground":"#7f848e"}},{"name":"[VSCODE-CUSTOM] Markdown Quote","scope":"markup.quote.markdown","settings":{"foreground":"#5c6370"}},{"name":"punctuation.definition.block.sequence.item.yaml","scope":"punctuation.definition.block.sequence.item.yaml","settings":{"foreground":"#abb2bf"}},{"scope":["constant.language.symbol.elixir","constant.language.symbol.double-quoted.elixir"],"settings":{"foreground":"#56b6c2"}},{"scope":["entity.name.variable.parameter.cs"],"settings":{"foreground":"#e5c07b"}},{"scope":["entity.name.variable.field.cs"],"settings":{"foreground":"#e06c75"}},{"name":"Deleted","scope":"markup.deleted","settings":{"foreground":"#e06c75"}},{"name":"Inserted","scope":"markup.inserted","settings":{"foreground":"#98c379"}},{"name":"Underline","scope":"markup.underline","settings":{"fontStyle":"underline"}},{"name":"punctuation.section.embedded.begin.php","scope":["punctuation.section.embedded.begin.php","punctuation.section.embedded.end.php"],"settings":{"foreground":"#BE5046"}},{"name":"support.other.namespace.php","scope":["support.other.namespace.php"],"settings":{"foreground":"#abb2bf"}},{"name":"variable.other.object","scope":["variable.other.object"],"settings":{"foreground":"#e5c07b"}},{"name":"variable.other.constant.property","scope":["variable.other.constant.property"],"settings":{"foreground":"#e06c75"}},{"name":"entity.other.inherited-class","scope":["entity.other.inherited-class"],"settings":{"foreground":"#e5c07b"}},{"name":"c variable readwrite","scope":"variable.other.readwrite.c","settings":{"foreground":"#e06c75"}},{"name":"php scope","scope":"entity.name.variable.parameter.php,punctuation.separator.colon.php,constant.other.php","settings":{"foreground":"#abb2bf"}},{"name":"Assembly","scope":["constant.numeric.decimal.asm.x86_64"],"settings":{"foreground":"#c678dd"}},{"scope":["support.other.parenthesis.regexp"],"settings":{"foreground":"#d19a66"}},{"scope":["constant.character.escape"],"settings":{"foreground":"#56b6c2"}},{"scope":["string.regexp"],"settings":{"foreground":"#e06c75"}}],"colors":{"activityBar.background":"#23272e","activityBar.foreground":"#d7dae0","activityBarBadge.background":"#4d78cc","activityBarBadge.foreground":"#f8fafd","badge.background":"#23272e","button.background":"#404754","button.secondaryBackground":"#30333d","button.secondaryForeground":"#c0bdbd","checkbox.border":"#404754","debugToolBar.background":"#1e2227","descriptionForeground":"#abb2bf","diffEditor.insertedTextBackground":"#00809b33","dropdown.background":"#1e2227","dropdown.border":"#1e2227","editor.background":"#23272e","editor.findMatchBackground":"#42557b","editor.findMatchBorder":"#457dff","editor.findMatchHighlightBackground":"#6199ff2f","editor.foreground":"#abb2bf","editorBracketHighlight.foreground1":"#d19a66","editorBracketHighlight.foreground2":"#c678dd","editorBracketHighlight.foreground3":"#56b6c2","editorHoverWidget.highlightForeground":"#61afef","editorInlayHint.foreground":"#abb2bf","editorInlayHint.background":"#2c313c","editor.lineHighlightBackground":"#2c313c","editorLineNumber.activeForeground":"#abb2bf","editorGutter.addedBackground":"#109868","editorGutter.deletedBackground":"#9A353D","editorGutter.modifiedBackground":"#948B60","editorOverviewRuler.addedBackground":"#109868","editorOverviewRuler.deletedBackground":"#9A353D","editorOverviewRuler.modifiedBackground":"#948B60","editor.selectionBackground":"#67769660","editor.selectionHighlightBackground":"#ffffff10","editor.selectionHighlightBorder":"#dddddd","editor.wordHighlightBackground":"#d2e0ff2f","editor.wordHighlightBorder":"#7f848e","editor.wordHighlightStrongBackground":"#abb2bf26","editor.wordHighlightStrongBorder":"#7f848e","editorBracketMatch.background":"#515a6b","editorBracketMatch.border":"#515a6b","editorCursor.background":"#ffffffc9","editorCursor.foreground":"#528bff","editorError.foreground":"#c24038","editorGroup.background":"#181a1f","editorGroup.border":"#181a1f","editorGroupHeader.tabsBackground":"#1e2227","editorHoverWidget.background":"#1e2227","editorHoverWidget.border":"#181a1f","editorIndentGuide.activeBackground":"#c8c8c859","editorIndentGuide.background":"#3b4048","editorLineNumber.foreground":"#495162","editorMarkerNavigation.background":"#1e2227","editorRuler.foreground":"#abb2bf26","editorSuggestWidget.background":"#1e2227","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","editorWarning.foreground":"#d19a66","editorWhitespace.foreground":"#ffffff1d","editorWidget.background":"#1e2227","focusBorder":"#3e4452","gitDecoration.ignoredResourceForeground":"#636b78","input.background":"#1d1f23","input.foreground":"#abb2bf","list.activeSelectionBackground":"#2c313a","list.activeSelectionForeground":"#d7dae0","list.focusBackground":"#323842","list.focusForeground":"#f0f0f0","list.highlightForeground":"#ecebeb","list.hoverBackground":"#2c313a","list.hoverForeground":"#abb2bf","list.inactiveSelectionBackground":"#323842","list.inactiveSelectionForeground":"#d7dae0","list.warningForeground":"#d19a66","menu.foreground":"#abb2bf","menu.separatorBackground":"#343a45","minimapGutter.addedBackground":"#109868","minimapGutter.deletedBackground":"#9A353D","minimapGutter.modifiedBackground":"#948B60","panel.border":"#3e4452","panelSectionHeader.background":"#1e2227","peekViewEditor.background":"#1b1d23","peekViewEditor.matchHighlightBackground":"#29244b","peekViewResult.background":"#22262b","scrollbar.shadow":"#23252c","scrollbarSlider.activeBackground":"#747d9180","scrollbarSlider.background":"#4e566660","scrollbarSlider.hoverBackground":"#5a637580","settings.focusedRowBackground":"#23272e","settings.headerForeground":"#fff","sideBar.background":"#1e2227","sideBar.foreground":"#abb2bf","sideBarSectionHeader.background":"#23272e","sideBarSectionHeader.foreground":"#abb2bf","statusBar.background":"#1e2227","statusBar.debuggingBackground":"#cc6633","statusBar.debuggingBorder":"#ff000000","statusBar.debuggingForeground":"#ffffff","statusBar.foreground":"#9da5b4","statusBar.noFolderBackground":"#1e2227","statusBarItem.remoteBackground":"#4d78cc","statusBarItem.remoteForeground":"#f8fafd","tab.activeBackground":"#23272e","tab.activeBorder":"#b4b4b4","tab.activeForeground":"#dcdcdc","tab.border":"#181a1f","tab.hoverBackground":"#323842","tab.inactiveBackground":"#1e2227","tab.unfocusedHoverBackground":"#323842","terminal.ansiBlack":"#3f4451","terminal.ansiBlue":"#4aa5f0","terminal.ansiBrightBlack":"#4f5666","terminal.ansiBrightBlue":"#4dc4ff","terminal.ansiBrightCyan":"#4cd1e0","terminal.ansiBrightGreen":"#a5e075","terminal.ansiBrightMagenta":"#de73ff","terminal.ansiBrightRed":"#ff616e","terminal.ansiBrightWhite":"#e6e6e6","terminal.ansiBrightYellow":"#f0a45d","terminal.ansiCyan":"#42b3c2","terminal.ansiGreen":"#8cc265","terminal.ansiMagenta":"#c162de","terminal.ansiRed":"#e05561","terminal.ansiWhite":"#d7dae0","terminal.ansiYellow":"#d18f52","terminal.background":"#23272e","terminal.border":"#3e4452","terminal.foreground":"#abb2bf","terminal.selectionBackground":"#abb2bf30","textBlockQuote.background":"#2e3440","textBlockQuote.border":"#4b5362","textLink.foreground":"#61afef","textPreformat.foreground":"#d19a66","titleBar.activeBackground":"#23272e","titleBar.activeForeground":"#9da5b4","titleBar.inactiveBackground":"#1e2227","titleBar.inactiveForeground":"#6b717d","tree.indentGuidesStroke":"#ffffff1d","walkThrough.embeddedEditorBackground":"#2e3440","welcomePage.buttonHoverBackground":"#404754"}}'),RT=[{token:vT.IDENTIFIER,foreground:"dcdcaa"},{token:vT.NUMBER,foreground:"b5cea8"},{token:vT.DATE,foreground:"b5cea8"},{token:vT.COLOR,foreground:"b5cea8"},{token:vT.PACKAGE,foreground:"808080"},{token:vT.PARSER,foreground:"c586c0"},{token:vT.LANGUAGE_STRUCT,foreground:"c586c0"},{token:vT.MULTIPLICITY,foreground:"2d796b"},{token:vT.GENERICS,foreground:"2d796b"},{token:vT.PROPERTY,foreground:"9cdcfe"},{token:vT.PARAMETER,foreground:"9cdcfe"},{token:vT.VARIABLE,foreground:"4fc1ff"},{token:vT.TYPE,foreground:"3dc9b0"},{token:`${vT.STRING}.escape`,foreground:"d7ba7d"}];var kT;!function(e){e.DEFAULT_DARK="default-dark",e.GITHUB_DARK="github-dark",e.GITHUB_DARK_DIMMED="github-dark-dimmed",e.SOLARIZED_DARK="solarized-dark",e.ONE_DARK_PRO="one-dark-pro",e.ONE_DARK_PRO_DARKER="one-dark-pro-darker",e.MATERIAL_DEFAULT="material-default",e.MATERIAL_DARKER="material-darker",e.BUILT_IN__VSCODE_LIGHT="vs",e.BUILT_IN__VSCODE_DARK="vs-dark",e.BUILT_IN__VSCODE_HC_BLACK="hc-black",e.BUILT_IN__VSCODE_HC_LIGHT="hc-light"}(kT||(kT={}));const PT={base:"vs-dark",inherit:!0,colors:{},rules:[...RT,{token:"string.sql",foreground:"ce9178"},{token:"white.sql",foreground:"d4d4d4"},{token:"identifier.sql",foreground:"d4d4d4"},{token:"operator.sql",foreground:"d4d4d4"}]},MT=CT(yT,kT.BUILT_IN__VSCODE_DARK,{},[]),LT=CT(NT,kT.BUILT_IN__VSCODE_DARK,{},[]),FT=CT(AT,kT.BUILT_IN__VSCODE_DARK,{},[]),DT=CT(IT,kT.BUILT_IN__VSCODE_DARK,{},[]),BT=CT(xT,kT.BUILT_IN__VSCODE_DARK,{},[]),jT=CT(OT,kT.BUILT_IN__VSCODE_DARK,{},[]),UT=CT(wT,kT.BUILT_IN__VSCODE_DARK,{},[]),VT=(e,t)=>{e.hasTextFocus()||e.focus(),e.revealPositionInCenter(t,0),e.setPosition(t)},GT="dummy_problem_marker_owner";var zT,HT;!function(e){e.TEXT="plaintext",e.PURE="pure",e.JSON="json",e.JAVA="java",e.MARKDOWN="markdown",e.SQL="sql",e.XML="xml",e.YAML="yaml",e.GRAPHQL="graphql"}(zT||(zT={})),function(e){e.PACKAGE="Package",e.PROFILE="Profile",e.TAG="Tag",e.STEREOTYPE="Stereotype",e.CLASS="Class",e.ASSOCIATION="Association",e.PROPERTY="Property",e.QUALIFIED_PROPERTY="QualifiedProperty",e.ENUMERATION="Enumeration",e.ENUM_VALUE="Enum",e.MEASURE="Measure",e.UNIT="Unit",e.FUNCTION="ConcreteFunctionDefinition",e.NATIVE_FUNCTION="NativeFunction",e.DIAGRAM="Diagram",e.DATABASE="Database",e.MAPPING="Mapping"}(HT||(HT={}));class $T{pureId;pureType;pureName;get id(){return this.pureId}}class YT extends $T{deprecated}(0,Ne.createModelSchema)(YT,{pureId:(0,Ne.primitive)(),pureType:(0,Ne.primitive)(),deprecated:(0,Ne.primitive)()});class WT extends $T{RO;classPath;file;line;column;get id(){return`${this.classPath}.${this.pureId}`}}(0,Ne.createModelSchema)(WT,{pureId:(0,Ne.primitive)(),pureName:(0,Ne.primitive)(),pureType:(0,Ne.primitive)(),RO:(0,Ne.primitive)(),classPath:(0,Ne.primitive)(),file:(0,Ne.primitive)(),line:(0,Ne.primitive)(),column:(0,Ne.primitive)()});class KT extends $T{RO;notpublic;user;file;line;column}(0,Ne.createModelSchema)(KT,{pureId:(0,Ne.primitive)(),pureName:(0,Ne.optional)((0,Ne.primitive)()),pureType:(0,Ne.primitive)(),RO:(0,Ne.primitive)(),notpublic:(0,Ne.primitive)(),user:(0,Ne.primitive)(),file:(0,Ne.primitive)(),line:(0,Ne.primitive)(),column:(0,Ne.primitive)()});class JT{li_attr;id;text;icon;children;state;getNodeAttribute(e){return X(this.li_attr,e,`Expected concept node attribute to be of type '${e.name}'`)}}(0,Ne.createModelSchema)(JT,{li_attr:(0,Ne.custom)((()=>Ne.SKIP),(e=>e.classPath?(0,Ne.deserialize)(WT,e):e.file?(0,Ne.deserialize)(KT,e):(0,Ne.deserialize)(YT,e))),id:(0,Ne.primitive)(),text:(0,Ne.primitive)(),icon:(0,Ne.primitive)(),children:(0,Ne.primitive)(),state:(0,Ne.primitive)()});const XT=e=>e.startsWith("/")?e.substring(1,e.length):e;class qT{content;RO;constructor(){(0,Ve.makeObservable)(this,{content:Ve.observable,hashCode:Ve.computed,setContent:Ve.action})}setContent(e){this.content=e}get hashCode(){return ya(this.content)}}(0,Ne.createModelSchema)(qT,{content:(0,Ne.primitive)(),RO:(0,Ne.primitive)()});class QT{file;line;column;constructor(e,t,i){this.file=e,this.line=t,this.column=i}}class ZT extends QT{error;constructor(e,t,i,s){super(e,t??1,i??1),this.error=s}}var eS;!function(e){e.ENUM="meta::pure::ide::findusages::findUsagesForEnum_String_1__String_1__SourceInformation_MANY_",e.PROPERTY="meta::pure::ide::findusages::findUsagesForProperty_String_1__String_1__SourceInformation_MANY_",e.ELEMENT="meta::pure::ide::findusages::findUsagesForPath_String_1__SourceInformation_MANY_",e.MULTIPLE_PATHS="meta::pure::ide::findusages::findUsagesForMultiplePaths_String_1__Pair_MANY_"}(eS||(eS={}));const tS=e=>`'${e.path}'${e.owner?` of '${e.owner}'`:""}`;class iS{source;line;column;startLine;startColumn;endLine;endColumn}(0,Ne.createModelSchema)(iS,{source:(0,Ne.primitive)(),line:(0,Ne.primitive)(),column:(0,Ne.primitive)(),startLine:(0,Ne.primitive)(),startColumn:(0,Ne.primitive)(),endLine:(0,Ne.primitive)(),endColumn:(0,Ne.primitive)()});class sS{first;second}(0,Ne.createModelSchema)(sS,{first:(0,Ne.primitive)(),second:(0,Ne.list)((0,Ne.object)(iS))});class nS{uuid=(0,a.default)();get description(){}match(e){return this===e}onOpen(){}onClose(){}}class aS{currentTab;tabs=[];constructor(){(0,Ve.makeObservable)(this,{currentTab:Ve.observable,tabs:Ve.observable,setCurrentTab:Ve.action,closeTab:Ve.action,closeAllTabs:Ve.action,closeAllOtherTabs:Ve.action,openTab:Ve.action,swapTabs:Ve.action})}setCurrentTab(e){this.currentTab=e}closeAllOtherTabs(e){Y(this.tabs.find((t=>t===e)),"Specified tab should be currently opened"),this.setCurrentTab(e),this.tabs=[e]}closeAllTabs(){this.setCurrentTab(void 0),this.tabs=[]}swapTabs(e,t){L(this.tabs,e,t)}openTab(e){if(!this.tabs.find((t=>t.match(e))))if(this.currentTab){const t=this.tabs.findIndex((e=>e===this.currentTab));this.tabs.splice(t+1,0,e)}else this.tabs.push(e);this.setCurrentTab(e),e.onOpen()}closeTab(e){const t=this.tabs.findIndex((t=>t.match(e)));if(Z(-1!==t,"Can't close a tab which is not opened"),this.tabs.splice(t,1),this.currentTab===e)if(this.tabs.length){const e=t-1;this.setCurrentTab(e>=0?this.tabs[e]:this.tabs[0])}else this.setCurrentTab(void 0);e.onClose()}}class rS extends nS{ideStore;constructor(e){super(),this.ideStore=e}}class oS extends aS{ideStore;constructor(e){super(),this.ideStore=e}get dndType(){return"editor.tab-manager.tab"}closeTab(e){e instanceof _S&&e.hasChanged?this.ideStore.applicationStore.alertService.setActionAlertInfo({message:"Unsaved changes will be lost if you continue. Do you still want to proceed?",prompt:"To save changes, abort and compile",type:Wt.CAUTION,actions:[{label:"Proceed",type:Kt.PROCEED_WITH_CAUTION,handler:()=>super.closeTab(e)},{label:"Save changes",type:Kt.PROCEED_WITH_CAUTION,handler:()=>{(0,Ve.flowResult)(this.ideStore.executeGo()).then((()=>{super.closeTab(e)})).catch(this.ideStore.applicationStore.alertUnhandledError)}},{label:"Abort",type:Kt.PROCEED,default:!0}]}):super.closeTab(e)}}var cS;!function(e){e.SEARCH_FILE="editor.search.file",e.SEARCH_TEXT="editor.search.text",e.GO_TO_FILE="editor.go-to-file",e.TOGGLE_TERMINAL_PANEL="editor.toggle-terminal-panel",e.EXECUTE="editor.execute",e.FULL_RECOMPILE="editor.full-compile",e.FULL_RECOMPILE_WITH_FULL_INIT="editor.full-compile.with-init",e.RUN_ALL_TESTS="editor.run-all-tests",e.RUN_RELAVANT_TESTS="editor.run-relavant-tests"}(cS||(cS={}));const lS={[cS.SEARCH_FILE]:{title:"Search for file",defaultKeyboardShortcut:"Control+Shift+KeyN",additionalKeyboardShortcuts:["Control+KeyP","Meta+KeyP"]},[cS.SEARCH_TEXT]:{title:"Search text",defaultKeyboardShortcut:"Control+Shift+KeyF",additionalKeyboardShortcuts:["Meta+Shift+KeyF"]},[cS.GO_TO_FILE]:{title:"Go to file",defaultKeyboardShortcut:"Control+F1"},[cS.TOGGLE_TERMINAL_PANEL]:{title:"Toggle terminal",defaultKeyboardShortcut:"Control+Backquote"},[cS.EXECUTE]:{title:"Execute",defaultKeyboardShortcut:"F9"},[cS.FULL_RECOMPILE]:{title:"Run full re-compilation",defaultKeyboardShortcut:"F11"},[cS.FULL_RECOMPILE_WITH_FULL_INIT]:{title:"Run full re-compilation",defaultKeyboardShortcut:"Shift+F11"},[cS.RUN_ALL_TESTS]:{title:"Run all tests",defaultKeyboardShortcut:"F10"},[cS.RUN_RELAVANT_TESTS]:{title:"Run relavant tests",defaultKeyboardShortcut:"Shift+F10"}};var dS;!function(e){e.RECENTER="editor.diagram-editor.recenter",e.USE_ZOOM_TOOL="editor.diagram-editor.use-zoom-tool",e.USE_VIEW_TOOL="editor.diagram-editor.use-view-tool",e.USE_PAN_TOOL="editor.diagram-editor.use-pan-tool"}(dS||(dS={}));const uS={[dS.RECENTER]:{title:"Diagram Editor: Recenter",defaultKeyboardShortcut:"KeyR"},[dS.USE_ZOOM_TOOL]:{title:"Diagram Editor: Use zoom tool",defaultKeyboardShortcut:"KeyZ"},[dS.USE_VIEW_TOOL]:{title:"Diagram Editor: Use view tool",defaultKeyboardShortcut:"KeyV"},[dS.USE_PAN_TOOL]:{title:"Diagram Editor: Use pan tool",defaultKeyboardShortcut:"KeyM"}};var pS;!function(e){e.TOGGLE_TEXT_WRAP="editor.file-editor.toggle-text-wrap",e.REVEAL_CONCEPT_IN_TREE="editor.file-editor.reveal-concept-in-tree",e.GO_TO_DEFINITION="editor.file-editor.go-to-definition",e.GO_BACK="editor.file-editor.go-back",e.FIND_USAGES="editor.file-editor.find-usage",e.RENAME_CONCEPT="editor.file-editor.rename-concept",e.GO_TO_LINE="editor.file-editor.go-to-line",e.DELETE_LINE="editor.file-editor.delete-line"}(pS||(pS={}));const hS={[pS.TOGGLE_TEXT_WRAP]:{title:"Toggle Text-wrap (File)",defaultKeyboardShortcut:"Alt+KeyZ"},[pS.REVEAL_CONCEPT_IN_TREE]:{title:"Reveal Concept in Tree (File)",defaultKeyboardShortcut:"Control+Shift+KeyB"},[pS.GO_TO_DEFINITION]:{title:"Go to Definition (File)",defaultKeyboardShortcut:"Control+KeyB"},[pS.GO_BACK]:{title:"Go Back (File)",defaultKeyboardShortcut:"Control+Alt+KeyB"},[pS.FIND_USAGES]:{title:"Find Usages (File)",defaultKeyboardShortcut:"Alt+F7"},[pS.RENAME_CONCEPT]:{title:"Rename Concept (File)",defaultKeyboardShortcut:"F2"},[pS.GO_TO_LINE]:{title:"Go to Line (File)",defaultKeyboardShortcut:"Control+KeyG"},[pS.DELETE_LINE]:{title:"Delete Line (File)",defaultKeyboardShortcut:"Control+KeyD"}};var mS;!function(e){e.GO="go",e.TEST="test",e.REMOVE="rm",e.MOVE="mv",e.NEW_DIRECTORY="mkdir",e.NEW_FILE="touch",e.OPEN_FILE="open",e.OPEN_DIRECTORY="cd",e.LIST_DIRECTORY="ls",e.WELCOME="welcome",e.ECHO="echo",e.CLEAR="clear",e.ANSI="ansi",e.HELP="help"}(mS||(mS={}));class gS{model;editor;_dummyCursorObservable={};language;viewState;forcedCursorPosition;wrapText=!1;constructor(e){(0,Ve.makeObservable)(this,{viewState:Ve.observable.ref,editor:Ve.observable.ref,_dummyCursorObservable:Ve.observable.ref,forcedCursorPosition:Ve.observable.ref,wrapText:Ve.observable,cursorObserver:Ve.computed,notifyCursorObserver:Ve.action,setViewState:Ve.action,setEditor:Ve.action,setForcedCursorPosition:Ve.action,setWrapText:Ve.action}),this.language=(e=>{switch(k(e.split("."))){case"pure":return zT.PURE;case"java":return zT.JAVA;case"md":return zT.MARKDOWN;case"sql":return zT.SQL;case"json":return zT.JSON;case"xml":return zT.XML;case"yml":case"yaml":return zT.YAML;case"graphql":return zT.GRAPHQL;default:return zT.TEXT}})(e.filePath),this.model=TT.editor.createModel(e.uuid,this.language),this.model.setValue(e.file.content)}notifyCursorObserver(){this._dummyCursorObservable={}}get cursorObserver(){return this._dummyCursorObservable,this.editor?{position:this.editor.getPosition()??void 0,selection:this.editor.getSelection()??void 0}:void 0}setViewState(e){this.viewState=e}setEditor(e){this.editor=e}setForcedCursorPosition(e){this.forcedCursorPosition=e}setWrapText(e){const t=this.wrapText;this.wrapText=e,t!==e&&this.editor&&(this.editor.updateOptions({wordWrap:e?"on":"off"}),this.editor.focus())}}class fS{fileEditorState;concept;coordinate;constructor(e,t,i){this.fileEditorState=e,this.concept=t,this.coordinate=i}}class _S extends rS{filePath;textEditorState;_currentHashCode;file;renameConceptState;showGoToLinePrompt=!1;constructor(e,t,i){super(e),(0,Ve.makeObservable)(this,{_currentHashCode:Ve.observable,file:Ve.observable,renameConceptState:Ve.observable,showGoToLinePrompt:Ve.observable,hasChanged:Ve.computed,resetChangeDetection:Ve.action,setFile:Ve.action,setShowGoToLinePrompt:Ve.action,setConceptToRenameState:Ve.flow}),this.file=t,this._currentHashCode=t.hashCode,this.filePath=i,this.textEditorState=new gS(this)}get label(){return XT(this.filePath)}get description(){return`File: ${XT(this.filePath)}${this.file.RO?" (readonly)":""}`}get fileName(){return W(k(this.filePath.split("/")))}match(e){return e instanceof _S&&this.filePath===e.filePath}onClose(){this.textEditorState.model.dispose()}get hasChanged(){return this._currentHashCode!==this.file.hashCode}resetChangeDetection(){this._currentHashCode=this.file.hashCode}setFile(e){this.file=e,this.textEditorState.model.setValue(e.content),this.resetChangeDetection()}setShowGoToLinePrompt(e){this.showGoToLinePrompt=e}*setConceptToRenameState(e){if(!e)return void(this.renameConceptState=void 0);if(this.hasChanged)return void this.ideStore.applicationStore.notificationService.notifyWarning("Can't rename concept: source is not compiled");const t=yield this.ideStore.getConceptInfo(e);this.renameConceptState=t?new fS(this,t,e):void 0}showError(e){var t,i,s;t=this.textEditorState.model,i=[{message:e.error.message,startLineNumber:e.line,startColumn:e.column,endLineNumber:e.line,endColumn:e.column}],s=this.uuid,TT.editor.setModelMarkers(t,s??GT,i.map((e=>({startLineNumber:e.startLineNumber,startColumn:e.startColumn,endLineNumber:e.endLineNumber,endColumn:e.endColumn+1,message:""===e.message?"(no error message)":e.message,severity:TT.MarkerSeverity.Error}))))}clearError(){var e;e=this.uuid,TT.editor.removeAllMarkers(e??GT)}registerCommands(){this.textEditorState.language===zT.PURE&&(this.ideStore.applicationStore.commandService.registerCommand({key:pS.GO_TO_DEFINITION,trigger:()=>this.ideStore.tabManagerState.currentTab===this&&Boolean(this.textEditorState.editor?.hasTextFocus()),action:()=>{const e=this.textEditorState.editor?.getPosition();e&&(0,Ve.flowResult)(this.ideStore.executeNavigation(new QT(this.filePath,e.lineNumber,e.column))).catch(this.ideStore.applicationStore.alertUnhandledError)}}),this.ideStore.applicationStore.commandService.registerCommand({key:pS.GO_BACK,action:()=>{(0,Ve.flowResult)(this.ideStore.navigateBack()).catch(this.ideStore.applicationStore.alertUnhandledError)}}),this.ideStore.applicationStore.commandService.registerCommand({key:pS.REVEAL_CONCEPT_IN_TREE,trigger:()=>this.ideStore.tabManagerState.currentTab===this&&Boolean(this.textEditorState.editor?.hasTextFocus()),action:()=>{const e=this.textEditorState.editor?.getPosition();e&&this.ideStore.revealConceptInTree(new QT(this.filePath,e.lineNumber,e.column)).catch(this.ideStore.applicationStore.alertUnhandledError)}}),this.ideStore.applicationStore.commandService.registerCommand({key:pS.FIND_USAGES,trigger:()=>this.ideStore.tabManagerState.currentTab===this&&Boolean(this.textEditorState.editor?.hasTextFocus()),action:()=>{const e=this.textEditorState.editor?.getPosition();if(e){const t=new QT(this.filePath,e.lineNumber,e.column);this.findConceptUsages(t)}}}),this.ideStore.applicationStore.commandService.registerCommand({key:pS.RENAME_CONCEPT,trigger:()=>this.ideStore.tabManagerState.currentTab===this&&Boolean(this.textEditorState.editor?.hasTextFocus()),action:()=>{const e=this.textEditorState.editor?.getPosition();if(e){if(!this.textEditorState.model.getWordAtPosition(e))return;const t=new QT(this.filePath,e.lineNumber,e.column);(0,Ve.flowResult)(this.setConceptToRenameState(t)).catch(this.ideStore.applicationStore.alertUnhandledError)}}})),this.ideStore.applicationStore.commandService.registerCommand({key:pS.DELETE_LINE,trigger:()=>this.ideStore.tabManagerState.currentTab===this&&Boolean(this.textEditorState.editor?.hasTextFocus()),action:()=>{const e=this.textEditorState.editor?.getPosition();e&&this.textEditorState.model.pushEditOperations([],[{range:{startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber+1,endColumn:1},text:"",forceMoveMarkers:!0}],(()=>null))}}),this.ideStore.applicationStore.commandService.registerCommand({key:pS.GO_TO_LINE,trigger:()=>this.ideStore.tabManagerState.currentTab===this,action:()=>{this.setShowGoToLinePrompt(!0)}}),this.ideStore.applicationStore.commandService.registerCommand({key:pS.TOGGLE_TEXT_WRAP,trigger:()=>this.ideStore.tabManagerState.currentTab===this,action:()=>{this.textEditorState.setWrapText(!this.textEditorState.wrapText)}})}findConceptUsages(e){const t=()=>{(0,Ve.flowResult)(this.ideStore.findUsagesFromCoordinate(e)).catch(this.ideStore.applicationStore.alertUnhandledError)};this.hasChanged?this.ideStore.applicationStore.alertService.setActionAlertInfo({message:"Source is not compiled, finding concept usages might be inaccurate. Do you want compile to proceed?",type:Wt.CAUTION,actions:[{label:"Compile and Proceed",type:Kt.PROCEED_WITH_CAUTION,handler:()=>{(0,Ve.flowResult)(this.ideStore.executeGo()).then(t).catch(this.ideStore.applicationStore.alertUnhandledError)}},{label:"Abort",type:Kt.PROCEED,default:!0}]}):t()}async renameConcept(e){if(!this.renameConceptState)return;const t=this.renameConceptState.concept;try{this.ideStore.applicationStore.alertService.setBlockingAlert({message:"Finding concept usages...",showLoading:!0});const i=await this.ideStore.findConceptUsages(t.pureType===HT.ENUM_VALUE?eS.ENUM:t.pureType===HT.PROPERTY||t.pureType===HT.QUALIFIED_PROPERTY?eS.PROPERTY:eS.ELEMENT,(t.owner?[`'${t.owner}'`]:[]).concat(`'${t.path}'`));await(0,Ve.flowResult)(this.ideStore.renameConcept(t.pureName,e,t.pureType,i)),this.textEditorState.setForcedCursorPosition({lineNumber:this.renameConceptState.coordinate.line,column:this.renameConceptState.coordinate.column})}catch(e){G(e),this.ideStore.applicationStore.notificationService.notifyError(e)}finally{this.ideStore.applicationStore.alertService.setBlockingAlert(void 0)}}deregisterCommands(){this.textEditorState.language===zT.PURE&&[pS.GO_TO_DEFINITION,pS.GO_BACK,pS.REVEAL_CONCEPT_IN_TREE,pS.FIND_USAGES,pS.RENAME_CONCEPT].forEach((e=>this.ideStore.applicationStore.commandService.deregisterCommand(e))),[pS.GO_TO_LINE,pS.TOGGLE_TEXT_WRAP].forEach((e=>this.ideStore.applicationStore.commandService.deregisterCommand(e)))}}class bS{ideStore;treeData;selectedNode;loadInitialDataState=Ge.create();refreshDataState=Ge.create();constructor(e){(0,Ve.makeObservable)(this,{treeData:Ve.observable.ref,loadInitialDataState:Ve.observable,refreshDataState:Ve.observable,initialize:Ve.flow,expandNode:Ve.flow,openNode:Ve.flow,refreshTreeData:Ve.flow,setTreeData:Ve.action,setSelectedNode:Ve.action}),this.ideStore=e}getTreeData(){return W(this.treeData,"Tree data has not been initialized")}*initialize(){if(this.loadInitialDataState.isInProgress)this.ideStore.applicationStore.notificationService.notifyWarning("Tree state initialization is in progress");else{this.loadInitialDataState.inProgress();try{this.treeData=this.buildTreeData(yield this.getRootNodes()),this.loadInitialDataState.pass()}catch(e){G(e),this.ideStore.applicationStore.notificationService.notifyError(e),this.loadInitialDataState.fail()}}}setSelectedNode(e){e!==this.selectedNode&&(this.selectedNode&&(this.selectedNode.isSelected=!1),e&&(e.isSelected=!0),this.selectedNode=e,this.refreshTree())}setTreeData(e){this.treeData=e}refreshTree(){this.setTreeData({...W(this.treeData)})}*expandNode(e){if(!e.isLoading)if(this.getTreeData().nodes.has(e.id)&&e.childrenIds)e.isLoading=!1,e.isOpen=!0,this.refreshTree();else{e.isLoading=!0;try{const t=yield this.getChildNodes(e);this.processChildNodes(e,t),e.isOpen=!0,this.refreshTree()}catch(e){G(e),this.ideStore.applicationStore.notificationService.notifyError(e)}finally{e.isLoading=!1}}}*refreshTreeData(){if(!this.treeData)return;const e=new Set(Array.from(this.getTreeData().nodes.values()).filter((e=>e.isOpen)).map((e=>e.id))),t=this.selectedNode?.id;this.refreshDataState.inProgress();try{this.treeData=this.buildTreeData(yield this.getRootNodes())}catch(e){return G(e),this.ideStore.applicationStore.notificationService.notifyError(e),void this.refreshDataState.fail()}const i=this.getTreeData().rootIds.map((e=>W(this.getTreeData().nodes.get(e)))).filter((t=>e.has(t.id)));yield this.refreshOpenNodes(i,e),t&&this.getTreeData().nodes.has(t)&&this.setSelectedNode(W(this.getTreeData().nodes.get(t)))}async refreshOpenNodes(e,t){return await Promise.all(e.map((e=>(t.delete(e.id),(0,Ve.flowResult)(this.expandNode(e)).catch((()=>{})))))),(e=e.flatMap((e=>e.childrenIds??[])).map((e=>W(this.getTreeData().nodes.get(e)))).filter((e=>t.has(e.id)))).length?this.refreshOpenNodes(e,t):Promise.resolve()}}class ES{id;path;RO}class vS extends ES{file;statusType}(0,Ne.createModelSchema)(vS,{id:(0,Ne.primitive)(),path:(0,Ne.primitive)(),file:(0,Ne.primitive)(),statusType:(0,Ne.primitive)(),RO:(0,Ne.primitive)()});class TS extends ES{repo}(0,Ne.createModelSchema)(TS,{id:(0,Ne.primitive)(),path:(0,Ne.primitive)(),repo:(0,Ne.primitive)(),RO:(0,Ne.primitive)()});class SS{li_attr;text;icon;children;state;get isFolderNode(){return this.li_attr instanceof TS}get isFileNode(){return this.li_attr instanceof vS}get isRepoNode(){return this.li_attr instanceof TS&&Boolean(this.li_attr.repo)}getNodeAttribute(e){return X(this.li_attr,e,`Expected directory node attribute to be of type '${e.name}'`)}}(0,Ne.createModelSchema)(SS,{li_attr:(0,Ne.custom)((()=>Ne.SKIP),(e=>e.file?(0,Ne.deserialize)(vS,e):(0,Ne.deserialize)(TS,e))),text:(0,Ne.primitive)(),icon:(0,Ne.primitive)(),children:(0,Ne.primitive)(),state:(0,Ne.primitive)()});const CS=e=>{const t=e.trim(),i=t.lastIndexOf("/");if(!(i<=0))return t.substring(0,i)},yS=e=>`file_${e}`;class NS extends bS{nodeForCreateNewFile;nodeForCreateNewDirectory;nodeForRenameFile;constructor(e){super(e),(0,Ve.makeObservable)(this,{nodeForCreateNewFile:Ve.observable,nodeForCreateNewDirectory:Ve.observable,nodeForRenameFile:Ve.observable,setNodeForCreateNewFile:Ve.action,setNodeForCreateNewDirectory:Ve.action,setNodeForRenameFile:Ve.action,revealPath:Ve.flow})}setNodeForCreateNewFile=e=>{Z(!e||e.data.isFolderNode,"Node selected for creating a new file from must be a directory"),this.nodeForCreateNewFile=e};setNodeForCreateNewDirectory=e=>{Z(!e||e.data.isFolderNode,"Node selected for creating a new directory from must be a directory"),this.nodeForCreateNewDirectory=e};setNodeForRenameFile=e=>{Z(!e||e.data.isFileNode,"Node selected for renaming must be a file"),this.nodeForRenameFile=e};async getRootNodes(){return(await this.ideStore.client.getDirectoryChildren()).map((e=>(0,Ne.deserialize)(SS,e)))}buildTreeData(e){const t=[],i=new Map;return e.forEach((e=>{const s=e.li_attr.id;t.push(s),i.set(s,{data:e,id:s,label:e.text,isLoading:!1})})),{rootIds:t,nodes:i}}async getChildNodes(e){return(await this.ideStore.client.getDirectoryChildren(e.data.li_attr.path)).map((e=>(0,Ne.deserialize)(SS,e)))}processChildNodes(e,t){const i=this.getTreeData(),s=[];t.forEach((e=>{const t=e.li_attr.id;s.push(t),i.nodes.set(t,{data:e,id:t,label:e.text,isLoading:!1})})),e.childrenIds=s}*openNode(e){e.data.isFileNode&&(yield(0,Ve.flowResult)(this.ideStore.loadFile(e.data.li_attr.path)))}*revealPath(e,t){t?.forceOpenExplorerPanel&&this.ideStore.setActiveActivity(bT.FILE_EXPLORER,{keepShowingIfMatchedCurrent:!0});const i=[];let s=e;for(;s;)i.unshift(s),s=CS(s);for(const e of i){const i=W(this.getTreeData().nodes.get(yS(e)),`Can't find node with path '${e}'`);if(i.data.isFolderNode)yield(0,Ve.flowResult)(this.expandNode(i));else{if(t?.directoryOnly)throw new Error("Can't reveal non-directory path");yield(0,Ve.flowResult)(this.ideStore.loadFile(e,t?.coordinate))}}this.setSelectedNode(W(this.getTreeData().nodes.get(yS(e)),`Can't find node with path '${e}'`))}}const AS=e=>{const t=e.trim(),i=t.lastIndexOf(Ia);if(!(i<=0))return t.substring(0,i)};class IS extends bS{loadConceptActivity=Ge.create();statusText;nodeForRenameConcept;nodeForMoveElement;constructor(e){super(e),(0,Ve.makeObservable)(this,{statusText:Ve.observable,nodeForRenameConcept:Ve.observable,nodeForMoveElement:Ve.observable,setStatusText:Ve.action,setNodeForRenameConcept:Ve.action,setNodeForMoveElement:Ve.action,pullConceptsActivity:Ve.action,pollConceptsActivity:Ve.flow,revealConcept:Ve.flow})}setStatusText(e){this.statusText=e}setNodeForRenameConcept(e){this.nodeForRenameConcept=e}setNodeForMoveElement(e){this.nodeForMoveElement=e}async getRootNodes(){return await(0,Ve.flowResult)(this.pollConceptsActivity()),(await this.ideStore.client.getConceptChildren()).map((e=>(0,Ne.deserialize)(JT,e)))}buildTreeData(e){const t=[],i=new Map;return e.forEach((e=>{const s=e.li_attr.id;t.push(s),i.set(s,{data:e,id:s,label:e.text,isLoading:!1})})),{rootIds:t,nodes:i}}async getChildNodes(e){return(await this.ideStore.client.getConceptChildren(e.data.li_attr.pureId)).map((e=>(0,Ne.deserialize)(JT,e)))}processChildNodes(e,t){const i=this.getTreeData(),s=[];t.forEach((t=>{const n=t.li_attr.id;s.push(n),i.nodes.set(n,{data:t,id:n,label:t.text,isLoading:!1,parent:e})})),e.childrenIds=s}*openNode(e){(e.data.li_attr instanceof WT||e.data.li_attr instanceof KT)&&("Diagram"===e.data.li_attr.pureType?yield(0,Ve.flowResult)(this.ideStore.loadDiagram(e.data.li_attr.file,e.data.li_attr.pureId,Number.parseInt(e.data.li_attr.line,10),Number.parseInt(e.data.li_attr.column,10))):yield(0,Ve.flowResult)(this.ideStore.loadFile(e.data.li_attr.file,new QT(e.data.li_attr.file,Number.parseInt(e.data.li_attr.line,10),Number.parseInt(e.data.li_attr.column,10)))))}*pollConceptsActivity(){if(this.loadConceptActivity.isInInitialState){this.loadConceptActivity.inProgress(),this.setStatusText("Loading concepts activity...");try{yield this.pullConceptsActivity()}finally{this.setStatusText(void 0),this.loadConceptActivity.reset()}}}async pullConceptsActivity(){const e=await this.ideStore.client.getConceptActivity();return e.text&&this.setStatusText(`Preparing - ${e.text}`),e.initializing?new Promise(((e,t)=>setTimeout((()=>{try{e(this.pullConceptsActivity())}catch(e){t(e)}}),1e3))):Promise.resolve()}*revealConcept(e,t){t?.forceOpenExplorerPanel&&this.ideStore.setActiveActivity(bT.CONCEPT_EXPLORER,{keepShowingIfMatchedCurrent:!0});const i=[];let s=e;for(;s;)i.unshift(s),s=AS(s);for(const e of i){const i=W(this.getTreeData().nodes.get(e),`Can't find node with path '${e}'`);if(i.data.li_attr instanceof YT)yield(0,Ve.flowResult)(this.expandNode(i));else if(t?.packageOnly)throw new Error("Can't reveal non-package path")}this.setSelectedNode(W(this.getTreeData().nodes.get(e),`Can't find node with path '${e}'`))}async movePackageableElements(e,t){let i=[];try{i=(await this.ideStore.client.getPackageableElementsUsage(e.map((e=>e.pureId)))).map((e=>(0,Ne.deserialize)(sS,e)))}catch{return void this.ideStore.applicationStore.notificationService.notifyError("Can't find usage for child packageable elements")}finally{this.ideStore.applicationStore.alertService.setBlockingAlert(void 0)}const s=[];Z(i.length===e.length,"Can't find matching usages for packageable elements");for(let n=0;n<i.length;++n){const a=W(e[n]);s.push({pureName:a.pureName,pureType:a.pureType,sourcePackage:W(_E(a.pureId)),destinationPackage:t,usages:W(i[n]).second})}await(0,Ve.flowResult)(this.ideStore.movePackageableElements(s))}async renameConcept(e,t){const i=e.data.li_attr,s=i.pureName??i.pureId;let n=[];try{switch(this.ideStore.applicationStore.alertService.setBlockingAlert({message:"Finding concept usages...",showLoading:!0}),i.pureType){case HT.PROPERTY:case HT.QUALIFIED_PROPERTY:J(i,WT),n=await this.ideStore.findConceptUsages(eS.PROPERTY,[`'${i.classPath}'`,`'${i.pureId}'`]);break;case HT.PACKAGE:{let e=[],i=[];try{i=await this.ideStore.client.getChildPackageableElements(s),e=(await this.ideStore.client.getPackageableElementsUsage(i.map((e=>e.pureId)))).map((e=>(0,Ne.deserialize)(sS,e)))}catch{return void this.ideStore.applicationStore.notificationService.notifyError("Can't find usage for child packageable elements")}finally{this.ideStore.applicationStore.alertService.setBlockingAlert(void 0)}const n=[];Z(e.length===i.length,"Can't find matching usages for child packageable elements");const a=_E(s)?.concat(Ia).concat(t)??t;for(let t=0;t<e.length;++t){const r=W(i[t]),o=W(_E(r.pureId)),c=a.concat(o.substring(o.indexOf(s)+s.length));n.push({pureName:r.pureName,pureType:r.pureType,sourcePackage:o,destinationPackage:c,usages:W(e[t]).second})}return void await(0,Ve.flowResult)(this.ideStore.movePackageableElements(n))}default:n=await this.ideStore.findConceptUsages(eS.ELEMENT,[`'${i.pureId}'`])}}catch(e){return G(e),void this.ideStore.applicationStore.notificationService.notifyError(e)}finally{this.ideStore.applicationStore.alertService.setBlockingAlert(void 0)}await(0,Ve.flowResult)(this.ideStore.renameConcept(s,t,i.pureType,n))}}class xS{cached;datamarts;text}(0,Ne.createModelSchema)(xS,{cached:(0,Ne.primitive)(),datamarts:(0,Ne.list)((0,Ne.primitive)()),text:(0,Ne.primitive)()});class OS extends xS{error;sessionError}(0,Ne.createModelSchema)(OS,{cached:(0,Ne.primitive)(),datamarts:(0,Ne.list)((0,Ne.primitive)()),text:(0,Ne.primitive)(),error:(0,Ne.primitive)(),sessionError:(0,Ne.primitive)()});class wS extends OS{RO;line;column;source}(0,Ne.createModelSchema)(wS,{cached:(0,Ne.primitive)(),datamarts:(0,Ne.list)((0,Ne.primitive)()),text:(0,Ne.primitive)(),RO:(0,Ne.primitive)(),line:(0,Ne.primitive)(),column:(0,Ne.primitive)(),source:(0,Ne.primitive)(),error:(0,Ne.primitive)(),sessionError:(0,Ne.primitive)()});class RS{text;reinit}class kS extends RS{cache;modifiedFiles=[]}(0,Ne.createModelSchema)(kS,{text:(0,Ne.primitive)(),cache:(0,Ne.primitive)(),modifiedFiles:(0,Ne.list)((0,Ne.primitive)()),reinit:(0,Ne.primitive)()});class PS extends RS{RO;line;column;source;error;sessionError}(0,Ne.createModelSchema)(PS,{text:(0,Ne.primitive)(),RO:(0,Ne.primitive)(),line:(0,Ne.optional)((0,Ne.primitive)()),column:(0,Ne.optional)((0,Ne.primitive)()),source:(0,Ne.optional)((0,Ne.primitive)()),error:(0,Ne.primitive)(),sessionError:(0,Ne.primitive)()});class MS{RO;line;column;source}(0,Ne.createModelSchema)(MS,{RO:(0,Ne.primitive)(),line:(0,Ne.primitive)(),column:(0,Ne.primitive)(),source:(0,Ne.primitive)()});class LS extends RS{jumpTo}(0,Ne.createModelSchema)(LS,{text:(0,Ne.primitive)(),jumpTo:(0,Ne.object)(MS)});class FS{uuid=(0,a.default)();sourceID;line;column;foundName}(0,Ne.createModelSchema)(FS,{sourceID:(0,Ne.primitive)(),line:(0,Ne.primitive)(),column:(0,Ne.primitive)(),foundName:(0,Ne.primitive)()});class DS{uuid=(0,a.default)();sourceID;line;column;foundName;add;messageToBeModified;fileToBeModified;lineToBeModified;columnToBeModified}(0,Ne.createModelSchema)(DS,{sourceID:(0,Ne.primitive)(),line:(0,Ne.primitive)(),column:(0,Ne.primitive)(),foundName:(0,Ne.primitive)(),add:(0,Ne.primitive)(),messageToBeModified:(0,Ne.primitive)(),fileToBeModified:(0,Ne.primitive)(),lineToBeModified:(0,Ne.primitive)(),columnToBeModified:(0,Ne.primitive)()});class BS extends PS{candidateName;candidatesWithPackageImported=[];candidatesWithPackageNotImported=[]}(0,Ne.createModelSchema)(BS,{candidateName:(0,Ne.primitive)(),candidatesWithPackageImported:(0,Ne.list)((0,Ne.object)(FS)),candidatesWithPackageNotImported:(0,Ne.list)((0,Ne.object)(DS))});class jS extends PS{candidateName;candidates=[]}(0,Ne.createModelSchema)(jS,{candidateName:(0,Ne.primitive)(),candidates:(0,Ne.list)((0,Ne.object)(DS))});class US{id;parentId;file;line;column}(0,Ne.createModelSchema)(US,{id:(0,Ne.primitive)(),parentId:(0,Ne.primitive)(),file:(0,Ne.primitive)(),line:(0,Ne.primitive)(),column:(0,Ne.primitive)()});class VS{children=[];li_attr;text;type}(0,Ne.createModelSchema)(VS,{children:(0,Ne.list)((0,Ne.object)(VS)),li_attr:(0,Ne.object)(US),text:(0,Ne.primitive)(),type:(0,Ne.primitive)()});class GS extends RS{count;filterPaths=[];path;relevantTestsOnly;runnerId;tests=[]}(0,Ne.createModelSchema)(GS,{count:(0,Ne.primitive)(),filterPaths:(0,Ne.list)((0,Ne.primitive)()),path:(0,Ne.primitive)(),relevantTestsOnly:(0,Ne.primitive)(),runnerId:(0,Ne.primitive)(),tests:(0,Ne.list)((0,Ne.object)(VS))});class zS{uuid=(0,a.default)()}class HS{before;found;after}(0,Ne.createModelSchema)(HS,{after:(0,Ne.primitive)(),before:(0,Ne.primitive)(),found:(0,Ne.primitive)()});class $S{uuid=(0,a.default)();sourceId;startLine;startColumn;endLine;endColumn;preview;constructor(e,t,i,s,n){this.sourceId=e,this.startLine=t,this.startColumn=i,this.endLine=s,this.endColumn=n}}(0,Ne.createModelSchema)($S,{sourceId:(0,Ne.primitive)(),startLine:(0,Ne.primitive)(),startColumn:(0,Ne.primitive)(),endLine:(0,Ne.primitive)(),endColumn:(0,Ne.primitive)(),preview:(0,Ne.optional)((0,Ne.object)(HS))});class YS extends zS{sourceId;coordinates=[];isExpanded=!0;constructor(){super(),(0,Ve.makeObservable)(this,{coordinates:Ve.observable,isExpanded:Ve.observable,setIsExpanded:Ve.action,dismissCoordinate:Ve.action})}setCoordinates(e){this.coordinates=e}setIsExpanded(e){this.isExpanded=e}dismissCoordinate(e){F(this.coordinates,e)}}(0,Ne.createModelSchema)(YS,{sourceId:(0,Ne.primitive)(),coordinates:(0,Ne.list)((0,Ne.object)($S))});var WS;!function(e){e.PASSED="Success",e.FAILED="AssertFail",e.ERROR="Error",e.NOT_RUN="notRan"}(WS||(WS={}));class KS{status;test}class JS extends KS{test=[]}(0,Ne.createModelSchema)(JS,{status:(0,Ne.primitive)(),test:(0,Ne.list)((0,Ne.primitive)())});class XS{text;RO;line;column;source;error}(0,Ne.createModelSchema)(XS,{text:(0,Ne.primitive)(),RO:(0,Ne.primitive)(),line:(0,Ne.primitive)(),column:(0,Ne.primitive)(),source:(0,Ne.primitive)(),error:(0,Ne.primitive)()});class qS extends KS{test=[];error}(0,Ne.createModelSchema)(qS,{status:(0,Ne.primitive)(),test:(0,Ne.list)((0,Ne.primitive)()),error:(0,Ne.object)(XS)});class QS{}class ZS extends QS{finished;tests=[]}(0,Ne.createModelSchema)(ZS,{finished:(0,Ne.primitive)(),tests:(0,Ne.list)((0,Ne.custom)((()=>Ne.SKIP),(e=>e.error?(0,Ne.deserialize)(qS,e):(0,Ne.deserialize)(JS,e))))});class eC extends QS{error;text}(0,Ne.createModelSchema)(eC,{error:(0,Ne.primitive)(),text:(0,Ne.primitive)()});var tC,iC;!function(e){e.PASSED="PASSED",e.FAILED="FAILED",e.NONE="NONE"}(tC||(tC={})),function(e){e.PASSED="PASSED",e.FAILED="FAILED",e.ERROR="ERROR",e.RUNNING="RUNNING"}(iC||(iC={}));const sC=(e,t)=>{const i=e.id;return Boolean(e.data.type)?((e,t)=>t.passedTests.has(e)?iC.PASSED:t.failedTests.has(e)?iC.FAILED:t.testsWithError.has(e)?iC.ERROR:iC.RUNNING)(i,t):t.failedTestIds.some((e=>e.startsWith(`${i}_`)))||t.testWithErrorIds.some((e=>e.startsWith(`${i}_`)))?iC.FAILED:t.notRunTestIds.some((e=>e.startsWith(`${i}_`)))?iC.RUNNING:iC.PASSED};class nC{_START_TIME;total;time=0;passedTests=new Set;failedTests=new Map;testsWithError=new Map;notRunTests;results=new Map;constructor(e){(0,Ve.makeObservable)(this,{total:Ve.observable,time:Ve.observable,passedTests:Ve.observable,failedTests:Ve.observable,testsWithError:Ve.observable,notRunTests:Ve.observable,results:Ve.observable,passed:Ve.computed,error:Ve.computed,failed:Ve.computed,passedTestIds:Ve.computed,failedTestIds:Ve.computed,testWithErrorIds:Ve.computed,notRunTestIds:Ve.computed,numberOfTestsRun:Ve.computed,runPercentage:Ve.computed,suiteStatus:Ve.computed,setTime:Ve.action,addResult:Ve.action}),this._START_TIME=Date.now(),this.total=e.size,this.notRunTests=new Set(e)}get passed(){return this.passedTests.size}get error(){return this.testsWithError.size}get failed(){return this.failedTests.size}get passedTestIds(){return Array.from(this.passedTests.values())}get failedTestIds(){return Array.from(this.failedTests.keys())}get testWithErrorIds(){return Array.from(this.testsWithError.keys())}get notRunTestIds(){return Array.from(this.notRunTests.values())}get numberOfTestsRun(){return this.passed+this.error+this.failed}get runPercentage(){return Math.floor(100*this.numberOfTestsRun/this.total)}get suiteStatus(){return this.failed+this.error?tC.FAILED:this.passed?tC.PASSED:tC.NONE}setTime(e){this.time=e}addResult(e,t){switch(this.results.set(t,e),this.notRunTests.delete(t),e.status){case WS.PASSED:this.passedTests.add(t);break;case WS.FAILED:this.failedTests.set(t,X(e,qS));break;case WS.ERROR:this.testsWithError.set(t,X(e,qS));break;default:throw new V(`Unsupported test result status '${e.status}'`)}this.time=Date.now()-this._START_TIME}}class aC{ideStore;testExecutionResult;checkTestRunnerState=Ge.create();testResultInfo;allTests=new Map;selectedTestId;treeBuildingState=Ge.create();treeData;viewAsList=!1;constructor(e,t){(0,Ve.makeObservable)(this,{testResultInfo:Ve.observable.ref,allTests:Ve.observable,selectedTestId:Ve.observable,treeData:Ve.observable.ref,viewAsList:Ve.observable,setViewAsList:Ve.action,setSelectedTestId:Ve.action,setTestResultInfo:Ve.action,setTreeData:Ve.action,refreshTree:Ve.action,collapseTree:Ve.action,expandTree:Ve.action,buildTreeDataByLayer:Ve.action,pullTestRunnerResult:Ve.action,buildTestTreeData:Ve.flow,pollTestRunnerResult:Ve.flow,rerunTestSuite:Ve.flow,cancelTestRun:Ve.flow}),this.ideStore=e,this.testExecutionResult=t}getTreeData(){return W(this.treeData,"Test tree data has not been initialized")}setViewAsList(e){this.viewAsList=e}setSelectedTestId(e){this.selectedTestId=e}setTestResultInfo(e){this.testResultInfo=e}setTreeData(e){this.treeData=e}refreshTree(){this.setTreeData({...W(this.treeData)})}*buildTestTreeData(){if(this.treeBuildingState.isInProgress)return;this.treeBuildingState.inProgress();const e=this.testExecutionResult.tests.map((e=>{const t=e.li_attr.id;return e.type&&this.allTests.set(t,e),t})),t=new Map;this.treeData={rootIds:e,nodes:t},yield this.buildTreeDataByLayer(this.testExecutionResult.tests),this.treeBuildingState.reset()}collapseTree(){this.getTreeData().nodes.forEach((e=>{e.isOpen=!1})),this.refreshTree()}expandTree(){this.getTreeData().nodes.forEach((e=>{e.isOpen=!0})),this.refreshTree()}async buildTreeDataByLayer(e){const t=this.getTreeData(),i=[];return await Promise.all(e.map((e=>new Promise(((s,n)=>setTimeout((()=>{const a=e.li_attr.id,r={id:a,label:e.text,data:e,childrenIds:e.type?void 0:[],isLoading:!1};if(e.type&&this.allTests.set(a,e),t.nodes.set(a,r),"Root"!==e.li_attr.parentId)try{const i=W(t.nodes.get((o=e,`test${this.testExecutionResult.runnerId}_${o.li_attr.parentId}`)),`Can't find parent test node with ID '${e.li_attr.parentId}'`);i.childrenIds?M(i.childrenIds,a):i.childrenIds=[a]}catch(e){return void n(e)}var o;i.push(...e.children),s()}),0)))))),i.length?this.buildTreeDataByLayer(i):Promise.resolve()}*pollTestRunnerResult(){if(this.checkTestRunnerState.isInInitialState){this.checkTestRunnerState.inProgress();try{Z(this.allTests.size===this.testExecutionResult.count,`Number of tests scanned in tree (${this.allTests.size}) does not match the number of total reported tests (${this.testExecutionResult.count})`);const e=new nC(new Set(this.allTests.keys()));this.testResultInfo=e,yield this.pullTestRunnerResult(e)}finally{this.checkTestRunnerState.reset()}}}async pullTestRunnerResult(e){const t=(i=await this.ideStore.client.checkTestRunner(this.testExecutionResult.runnerId)).error?(0,Ne.deserialize)(eC,i):(0,Ne.deserialize)(ZS,i);var i;return t instanceof ZS?(await Promise.all(t.tests.map((t=>P((()=>{return e.addResult(t,(i=t,`test${this.testExecutionResult.runnerId}_${i.test.join("_")}`));var i}))))),t.finished?Promise.resolve():new Promise(((t,i)=>setTimeout((()=>{try{t(this.pullTestRunnerResult(e))}catch(e){G(e),this.ideStore.applicationStore.notificationService.notifyWarning("Failed to run test"+(e.message?`: ${e.message}`:"")),i(e)}}),1e3)))):(this.setTestResultInfo(void 0),Promise.resolve())}*rerunTestSuite(){this.ideStore.testRunState.isInProgress||(yield(0,Ve.flowResult)(this.ideStore.executeTests(this.testExecutionResult.path,this.testExecutionResult.relevantTestsOnly)))}*cancelTestRun(){this.ideStore.testRunState.isInProgress&&(yield this.ideStore.client.cancelTestRunner(this.testExecutionResult.runnerId),this.ideStore.applicationStore.notificationService.notifyWarning(`Stopped running test (id: ${this.testExecutionResult.runnerId}) successfully!`))}}class rC{}class oC extends rC{error;errorDialog;text}(0,Ne.createModelSchema)(oC,{error:(0,Ne.primitive)(),errorDialog:(0,Ne.primitive)(),text:(0,Ne.primitive)()});class cC{networkClient;userId="localuser";sessionId=`${this.userId}@${Date.now()}@abcd`;compilerMode;mode;constructor(e){this.networkClient=e}get baseUrl(){return W(this.networkClient.baseUrl,"Pure client has not been configured properly")}initialize=e=>this.networkClient.get(`${this.baseUrl}/initialize`,void 0,void 0,{requestCache:e,sessionId:this.sessionId,mode:this.mode,fastCompile:this.compilerMode});getInitializationActivity=()=>this.networkClient.get(`${this.baseUrl}/initializationActivity`,void 0,void 0,{sessionId:this.sessionId});getConceptActivity=()=>this.networkClient.get(`${this.baseUrl}/conceptsActivity`,void 0,void 0,{sessionId:this.sessionId});execute=(e,t,i)=>this.networkClient.post(`${this.baseUrl}/${t}`,{extraParams:i,openFiles:e},void 0,void 0,{sessionId:this.sessionId,mode:this.mode,fastCompile:this.compilerMode});getExecutionActivity=()=>this.networkClient.get(`${this.baseUrl}/executionActivity`,void 0,void 0,{sessionId:this.sessionId});findFiles=(e,t)=>this.networkClient.get(`${this.baseUrl}/findPureFiles`,void 0,void 0,{file:e,regex:t});searchText=(e,t,i,s=2e3)=>this.networkClient.get(`${this.baseUrl}/findInSources`,void 0,void 0,{string:e,caseSensitive:t,regex:i,limit:s});getTextSearchPreview=e=>this.networkClient.post(`${this.baseUrl}/getTextSearchPreview`,e);checkTestRunner=e=>this.networkClient.get(`${this.baseUrl}/testRunnerCheck`,void 0,void 0,{sessionId:this.sessionId,testRunnerId:e});cancelTestRunner=e=>this.networkClient.get(`${this.baseUrl}/testRunnerCancel`,void 0,void 0,{sessionId:this.sessionId,testRunnerId:e});getConceptChildren=e=>this.networkClient.get(`${this.baseUrl}/execute`,void 0,void 0,{func:"meta::pure::ide::display_ide(String[1]):String[1]",param:e?`'${e}'`:`'${_T}'`,format:"raw",mode:this.mode,sessionId:this.sessionId});getConceptInfo=async(e,t,i)=>{const s=await this.networkClient.get(`${this.baseUrl}/getConceptInfo`,void 0,void 0,{file:e,line:t,column:i});if(s.error)throw new Error(s.text);return s};getUsages=async(e,t)=>{const i=await this.networkClient.get(`${this.baseUrl}/execute`,void 0,void 0,{func:e,param:t});return Array.isArray(i)?i:[i]};renameConcept=e=>this.networkClient.put(`${this.baseUrl}/renameConcept`,e);movePackageableElements=e=>this.networkClient.put(`${this.baseUrl}/movePackageableElements`,e);getPackageableElementsUsage=async e=>{const t=await this.networkClient.get(`${this.baseUrl}/execute`,void 0,void 0,{func:eS.MULTIPLE_PATHS,param:[`'${e.join(",")}'`]});return Array.isArray(t)?t:[t]};getChildPackageableElements=async e=>{const t=await this.networkClient.get(`${this.baseUrl}/execute`,void 0,void 0,{func:"meta::pure::ide::getChildPackageableElements_String_1__String_MANY_",param:[`'${e}'`]});return(Array.isArray(t)?t:[t]).map((e=>JSON.parse(e)))};getFile=e=>this.networkClient.get(`${this.baseUrl}/fileAsJson/${e}`,void 0,void 0,{sessionId:this.sessionId,mode:this.mode,fastCompile:this.compilerMode});getDirectoryChildren=e=>this.networkClient.get(`${this.baseUrl}/dir`,void 0,void 0,{parameters:e??"/",mode:this.mode,sessionId:this.sessionId});updateSource=e=>this.networkClient.put(`${this.baseUrl}/updateSource`,e);createFile=e=>this.networkClient.post(`${this.baseUrl}/newFile/${e}`,void 0,void 0,void 0,{sessionId:this.sessionId,mode:this.mode,fastCompile:this.compilerMode});createFolder=e=>this.networkClient.post(`${this.baseUrl}/newFolder/${e}`,void 0,void 0,void 0,{sessionId:this.sessionId,mode:this.mode,fastCompile:this.compilerMode});renameFile=(e,t)=>this.networkClient.put(`${this.baseUrl}/renameFile`,{oldPath:e,newPath:t},void 0);deleteDirectoryOrFile=e=>this.networkClient.delete(`${this.baseUrl}/deleteFile/${e}`,void 0,void 0,void 0,{sessionId:this.sessionId});getDiagramInfo=async e=>JSON.parse(await this.networkClient.get(`${this.baseUrl}/execute`,void 0,void 0,{func:"meta::pure::ide::diagram::getDiagramInfo_String_1__String_1_",param:[`'${e}'`]}));getDiagramClassInfo=async e=>JSON.parse(await this.networkClient.get(`${this.baseUrl}/execute`,void 0,void 0,{func:"meta::pure::ide::diagram::getDiagramClassInfo_String_1__String_1_",param:[`'${e}'`]}));getSuggestionsForIncompletePath=(e,t)=>this.networkClient.post(`${this.baseUrl}/suggestion/incompletePath`,{path:e,types:t});getSuggestionsForIdentifier=(e,t)=>this.networkClient.post(`${this.baseUrl}/suggestion/identifier`,{importPaths:e,types:t});getSuggestionsForAttribute=(e,t)=>this.networkClient.post(`${this.baseUrl}/suggestion/attribute`,{importPaths:e,path:t});getSuggestionsForClass=e=>this.networkClient.post(`${this.baseUrl}/suggestion/class`,{importPaths:e});getSuggestionsForVariable=(e,t,i)=>this.networkClient.post(`${this.baseUrl}/suggestion/variable`,{sourceId:e,line:t,column:i})}class lC{_initialDefaultSize;_tempSize;size;defaultSize;snapSize;maxSize;constructor(e){this.size=e.initial,this._tempSize=e.default,this.defaultSize=e.default,this._initialDefaultSize=e.default,this.snapSize=e.snap,(0,Ve.makeObservable)(this,{_tempSize:Ve.observable,size:Ve.observable,defaultSize:Ve.observable,snapSize:Ve.observable,maxSize:Ve.observable,isOpen:Ve.computed,isMaximizable:Ve.computed,isMaximized:Ve.computed,setSize:Ve.action,open:Ve.action,close:Ve.action,toggle:Ve.action,setMaxSize:Ve.action,maximize:Ve.action,minimize:Ve.action,toggleMaximize:Ve.action})}get isOpen(){return 0!==this.size}get isMaximizable(){return void 0!==this.maxSize}get isMaximized(){return void 0!==this.maxSize&&this.size===this.maxSize}setSize(e){e=Math.max(e,0),this.maxSize&&(e=Math.min(e,this.maxSize)),this.size!==e&&(void 0!==this.snapSize?e>this.size?this.maxSize&&e>this.maxSize-this.snapSize?this.size=this.maxSize:this.size=e<this.snapSize?this.defaultSize:e:this.size=e<this.snapSize?0:e:this.size=e)}open(){0===this.size&&(this.size=this._tempSize)}close(){0!==this.size&&(this._tempSize=this.size||this.defaultSize,this.size=0)}toggle(){0===this.size?this.open():this.close()}setMaxSize(e){this._tempSize=Math.min(this._tempSize,e),this.size=Math.min(this.size,e),this.defaultSize=Math.min(this._initialDefaultSize,e),this.maxSize=e}maximize(){void 0!==this.maxSize&&this.size!==this.maxSize&&(this._tempSize=this.size,this.size=this.maxSize)}minimize(){void 0!==this.maxSize&&this.size===this.maxSize&&(this.size=this._tempSize===this.maxSize?this.defaultSize:this._tempSize)}toggleMaximize(){void 0!==this.maxSize&&(this.size===this.maxSize?this.minimize():this.maximize())}}class dC{_UUID=(0,a.default)();tag;value;constructor(e,t){this.tag=e,this.value=t}get hashCode(){return Na([Ua.TAGGED_VALUE,this.tag.pointerHashCode,this.value])}}var uC;!function(e){e.NONE="NONE",e.SHARED="SHARED",e.COMPOSITE="COMPOSITE"}(uC||(uC={}));class pC{_UUID=(0,a.default)();_OWNER;value;constructor(e,t){this._OWNER=e,this.value=t}}class hC{_UUID=(0,a.default)();_OWNER;value;constructor(e,t){this._OWNER=e,this.value=t}}class mC{sourceId;line;column;startLine;startColumn;endLine;endColumn}(0,Ne.createModelSchema)(mC,{column:(0,Ne.primitive)(),endLine:(0,Ne.primitive)(),endColumn:(0,Ne.primitive)(),line:(0,Ne.primitive)(),sourceId:(0,Ne.primitive)(),startLine:(0,Ne.primitive)(),startColumn:(0,Ne.primitive)()});const gC=(0,Ne.custom)((()=>Ne.SKIP),(e=>(e.sourceId=e.source,(0,Ne.deserialize)(mC,e))));class fC{package;name;tags=[];stereotypes=[]}(0,Ne.createModelSchema)(fC,{name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),stereotypes:(0,Ne.list)((0,Ne.primitive)()),tags:(0,Ne.list)((0,Ne.primitive)())});class _C{profile;value}(0,Ne.createModelSchema)(_C,{profile:(0,Ne.primitive)(),value:(0,Ne.primitive)()});class bC{profile;value}(0,Ne.createModelSchema)(bC,{profile:(0,Ne.primitive)(),value:(0,Ne.primitive)()});class EC{tag;value}(0,Ne.createModelSchema)(EC,{tag:(0,Ne.object)(bC),value:(0,Ne.primitive)()});class vC{rawType;typeParameter}(0,Ne.createModelSchema)(vC,{rawType:(0,Ne.optional)((0,Ne.primitive)()),typeParameter:(0,Ne.optional)((0,Ne.primitive)())});class TC{name;stereotypes=[];taggedValues=[];aggregation;multiplicity;genericType}(0,Ne.createModelSchema)(TC,{aggregation:(0,Ne.primitive)(),genericType:(0,Ne.object)(vC),multiplicity:(0,Ne.primitive)(),name:(0,Ne.primitive)(),stereotypes:(0,Ne.list)((0,Ne.object)(_C)),taggedValues:(0,Ne.list)((0,Ne.object)(EC))});class SC{package;name;sourceInformation}(0,Ne.createModelSchema)(SC,{name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),sourceInformation:gC});class CC{package;name;sourceInformation;stereotypes=[];taggedValues=[];generalizations=[];properties=[];qualifiedProperties=[]}(0,Ne.createModelSchema)(CC,{generalizations:(0,Ne.list)((0,Ne.object)(vC)),name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),properties:(0,Ne.list)((0,Ne.object)(TC)),qualifiedProperties:(0,Ne.list)((0,Ne.object)(TC)),sourceInformation:gC,stereotypes:(0,Ne.list)((0,Ne.object)(_C)),taggedValues:(0,Ne.list)((0,Ne.object)(EC))});class yC{package;name;enumValues=[]}(0,Ne.createModelSchema)(yC,{name:(0,Ne.primitive)(),package:(0,Ne.primitive)(),enumValues:(0,Ne.list)((0,Ne.primitive)())});class NC{x;y}(0,Ne.createModelSchema)(NC,{x:(0,Ne.primitive)(),y:(0,Ne.primitive)()});class AC{height;width}(0,Ne.createModelSchema)(AC,{height:(0,Ne.primitive)(),width:(0,Ne.primitive)()});class IC{points=[]}(0,Ne.createModelSchema)(IC,{points:(0,Ne.list)((0,Ne.object)(NC))});class xC{id;source;target;geometry}(0,Ne.createModelSchema)(xC,{geometry:(0,Ne.object)(IC),id:(0,Ne.primitive)(),source:(0,Ne.primitive)(),target:(0,Ne.primitive)()});class OC{name;owningType}(0,Ne.createModelSchema)(OC,{name:(0,Ne.primitive)(),owningType:(0,Ne.primitive)()});class wC{id;source;target;property;geometry}(0,Ne.createModelSchema)(wC,{geometry:(0,Ne.object)(IC),id:(0,Ne.primitive)(),property:(0,Ne.object)(OC),source:(0,Ne.primitive)(),target:(0,Ne.primitive)()});class RC{id;type;position;rectangleGeometry}(0,Ne.createModelSchema)(RC,{id:(0,Ne.primitive)(),position:(0,Ne.object)(NC),rectangleGeometry:(0,Ne.object)(AC),type:(0,Ne.primitive)()});class kC{package;name;stereotypes=[];taggedValues=[];generalizationViews=[];propertyViews=[];typeViews=[];sourceInformation}(0,Ne.createModelSchema)(kC,{name:(0,Ne.primitive)(),generalizationViews:(0,Ne.list)((0,Ne.object)(xC)),package:(0,Ne.primitive)(),propertyViews:(0,Ne.list)((0,Ne.object)(wC)),sourceInformation:gC,stereotypes:(0,Ne.list)((0,Ne.object)(_C)),taggedValues:(0,Ne.list)((0,Ne.object)(EC)),typeViews:(0,Ne.list)((0,Ne.object)(RC))});class PC{classes=[];enumerations=[];profiles=[]}(0,Ne.createModelSchema)(PC,{classes:(0,Ne.list)((0,Ne.object)(CC)),enumerations:(0,Ne.list)((0,Ne.object)(yC)),profiles:(0,Ne.list)((0,Ne.object)(fC))});class MC{name;diagram;domainInfo}(0,Ne.createModelSchema)(MC,{diagram:(0,Ne.object)(kC),name:(0,Ne.primitive)(),domainInfo:(0,Ne.optional)((0,Ne.object)(PC))});class LC{class;enumerations=[];profiles=[];specializations=[]}(0,Ne.createModelSchema)(LC,{class:(0,Ne.object)(CC),enumerations:(0,Ne.list)((0,Ne.object)(yC)),profiles:(0,Ne.list)((0,Ne.object)(fC)),specializations:(0,Ne.list)((0,Ne.object)(SC))});const FC=e=>{const t=e.classViews.map((e=>` TypeView ${e.id}(\n type=${e.class.value.path},\n position=(${e.position.x.toFixed(5)}, ${e.position.y.toFixed(5)}),\n width=${e.rectangle.width.toFixed(5)},\n height=${e.rectangle.height.toFixed(5)},\n stereotypesVisible=true,\n attributesVisible=true,\n attributeStereotypesVisible=true,\n attributeTypesVisible=true,\n color=#FFFFCC,\n lineWidth=1.0)`)),i=e.generalizationViews.map(((e,t)=>` GeneralizationView gview_${t}(\n source=${e.from.classView.value.id},\n target=${e.to.classView.value.id},\n points=[${e.buildFullPath().map((e=>`(${e.x.toFixed(5)},${e.y.toFixed(5)})`)).join(",")}],\n label='',\n color=#000000,\n lineWidth=-1.0,\n lineStyle=SIMPLE)`)),s=e.propertyViews.map(((e,t)=>` PropertyView pview_${t}(\n property=${e.property.value._OWNER.path}.${e.property.value.name},\n source=${e.from.classView.value.id},\n target=${e.to.classView.value.id},\n points=[${e.buildFullPath().map((e=>`(${e.x.toFixed(5)},${e.y.toFixed(5)})`)).join(",")}],\n label='',\n propertyPosition=(0.0,0.0),\n multiplicityPosition=(0.0,0.0),\n color=#000000,\n lineWidth=-1.0,\n stereotypesVisible=true,\n nameVisible=true,\n lineStyle=SIMPLE)`));return`Diagram ${e.path}(width=0.0, height=0.0)\n{\n${[...t,...i,...s].join("\n\n")}\n}`},DC=(e,t,i,s)=>{const n=t.getOwnNullableClass(e);if(!n){const[n,a]=bE(e),r=new Ka(a);return SE(AE(t.root,n,!0,new Map),r),t.setOwnType(e,r),i.set(e,{isStubbed:!0,sourceInformation:s}),r}return n},BC=e=>{if("*"===e)return new Jb(0,void 0);{const t=e.split("..");if(1===t.length)return new Jb(parseInt(W(t[0]),10),parseInt(W(t[0]),10));if(2===t.length)return new Jb(parseInt(W(t[0]),10),"*"===t[1]?void 0:parseInt(W(t[1]),10));throw new Error(`Can't parse multiplicity value '${e}'`)}},jC=(e,t,i,s)=>{t.taggedValues.forEach((t=>{M(e.taggedValues,new dC(cv.create(OE(i.getProfile(t.tag.profile),t.tag.value)),t.value))})),t.stereotypes.forEach((t=>{M(e.stereotypes,rv.create(wE(i.getProfile(t.profile),t.value)))})),t.generalizations.filter((e=>Boolean(e.rawType))).forEach((t=>{const n=DC(W(t.rawType),i,s,void 0);M(e.generalizations,qb.create(new Qb(n))),M(n._subclasses,e)})),t.properties.filter((e=>Boolean(e.genericType.rawType))).forEach((t=>{const n=new Kb(t.name,BC(t.multiplicity),qb.create(new Qb(i.getOwnNullableEnumeration(W(t.genericType.rawType))??DC(W(t.genericType.rawType),i,s,void 0))),e);n.aggregation="Composite"===t.aggregation?uC.COMPOSITE:"Shared"===t.aggregation?uC.SHARED:void 0,M(e.properties,n)})),t.qualifiedProperties.filter((e=>e.genericType.rawType)).forEach((t=>{M(e.derivedProperties,new TE(t.name,BC(t.multiplicity),qb.create(new Qb(i.getOwnNullableEnumeration(W(t.genericType.rawType))??DC(W(t.genericType.rawType),i,s,void 0))),e))}))},UC=e=>{const t=new nv(new tv([]),new iv([]),[]),i=new Map;if(e.domainInfo){const s=e.domainInfo;s.classes.forEach((e=>{const s=new Ka(e.name);SE(AE(t.root,e.package,!0,new Map),s),t.setOwnType(s.path,s),i.set(s.path,{sourceInformation:e.sourceInformation,isStubbed:!1})})),s.profiles.forEach((e=>{const i=new tE(e.name);SE(AE(t.root,e.package,!0,new Map),i),t.setOwnProfile(i.path,i),e.tags.forEach((e=>M(i.p_tags,new pC(i,e)))),e.stereotypes.forEach((e=>M(i.p_stereotypes,new hC(i,e))))})),s.enumerations.forEach((e=>{const i=new Xa(e.name);SE(AE(t.root,e.package,!0,new Map),i),t.setOwnType(i.path,i)})),s.classes.forEach((e=>{const s=`${e.package}${""===e.package?"":Ia}${e.name}`,n=t.getClass(s);jC(n,e,t,i)}))}const s=e.diagram,n=new Tp(s.name);return SE(AE(t.root,s.package,!0,new Map),n),s.typeViews.forEach((e=>{const i=new Fv(n,e.id,rr.create(t.getClass(e.type)));i.position=new Pv(e.position.x,e.position.y),i.rectangle=new Mv(e.rectangleGeometry.width,e.rectangleGeometry.height),M(n.classViews,i)})),s.propertyViews.forEach((e=>{const i=new Gv(n,dv.create(ME(t.getClass(e.property.owningType),e.property.name)),W(n.classViews.find((t=>t.id===e.source))),W(n.classViews.find((t=>t.id===e.target))));i.path=e.geometry.points.map((e=>new Pv(e.x,e.y))),Kv(i),M(n.propertyViews,i)})),s.generalizationViews.forEach((e=>{const t=new zv(n,W(n.classViews.find((t=>t.id===e.source))),W(n.classViews.find((t=>t.id===e.target))));t.path=e.geometry.points.map((e=>new Pv(e.x,e.y))),Kv(t),M(n.generalizationViews,t)})),[n,t,i]};var VC,GC,zC;!function(e){e.PROFILE="Profile",e.CLASS="Class",e.ENUMERATION="Enum",e.MEASURE="Measure",e.ASSOCIATION="Association",e.FUNCTION="function",e.MAPPING="Mapping",e.FLAT_DATA="FlatData",e.DATABASE="Database",e.SERVICE="Service",e.RUNTIME="Runtime",e.CONNECTION="Connection",e.FILE_GENERATION="FileGeneration",e.GENERATION_SPECIFICATION="GenerationSpecification",e.DATA_ELEMENT="Data",e.EXECUTION_ENVIRONMENT="ExecutionEnvironment"}(VC||(VC={})),function(e){e.JSON_MODEL_CONNECTION="JsonModelConnection",e.XML_MODEL_CONNECTION="XmlModelConnection",e.MODEL_CHAIN_CONNECTION="ModelChainConnection",e.RELATIONAL_DATABASE_CONNECTION="RelationalDatabaseConnection",e.FLAT_DATA_CONNECTION="FlatDataConnection"}(GC||(GC={})),function(e){e.PURE="Pure",e.CONNECTION="Connection",e.RUNTIME="Runtime",e.MAPPING="Mapping",e.SERVICE="Service",e.FLATDATA="FlatData",e.RELATIONAL="Relational",e.GENERATION_SPECIFICATION="GenerationSpecification",e.FILE_GENERATION_SPECIFICATION="FileGeneration",e.DATA="Data"}(zC||(zC={}));const HC=(e,t)=>e===t?e.toString():0===e&&void 0===t?Aa:`${e}..${t??Aa}`;class $C extends Vv{association;constructor(e,t,i,s,n){super(e,i,s,n),this.association=t}get hashCode(){return Na([vp.ASSOCIATION_VIEW,super.hashCode,this.association.valueForSerialization??""])}}const YC=(0,Ve.action)(((e,t)=>{e.value=t})),WC=((0,Ve.action)(((e,t)=>{F(e.properties,t)})),(0,Ve.action)(((e,t)=>{M(e.properties,qu(t))}))),KC=((0,Ve.action)(((e,t,i)=>{L(e.properties,t,i)})),(0,Ve.action)(((e,t)=>{F(e.derivedProperties,t)})),(0,Ve.action)(((e,t)=>{M(e.derivedProperties,Qu(t))})),(0,Ve.action)(((e,t,i)=>{L(e.derivedProperties,t,i)})),(0,Ve.action)(((e,t)=>{M(e.constraints,ep(t))})),(0,Ve.action)(((e,t)=>{F(e.constraints,t)})),(0,Ve.action)(((e,t,i)=>{L(e.constraints,t,i)})),(0,Ve.action)(((e,t)=>{M(e.generalizations,Uu(t))}))),JC=((0,Ve.action)(((e,t)=>{F(e.generalizations,t)})),(0,Ve.action)(((e,t,i)=>{L(e.generalizations,t,i)})),(0,Ve.action)(((e,t)=>{M(e._subclasses,t)})),(0,Ve.action)(((e,t)=>{F(e._subclasses,t)})),(0,Ve.action)(((e,t)=>{Uu(e),ju(t),e.value=t,e.ownerReference.value=t.rawType}))),XC=((0,Ve.action)(((e,t)=>{e.name=t})),(0,Ve.action)(((e,t)=>{JC(e.genericType,ju(t))})),(0,Ve.action)(((e,t)=>{e.multiplicity=t})),(0,Ve.action)(((e,t)=>{e.aggregation=t})),(0,Ve.action)(((e,t)=>{e.value=zu(t),YC(e.ownerReference,t._OWNER)})),(0,Ve.action)(((e,t)=>{M(e.taggedValues,Bu(t))})),(0,Ve.action)(((e,t)=>{F(e.taggedValues,t)})),(0,Ve.action)(((e,t)=>{M(e.stereotypes,Fu(t))})),(0,Ve.action)(((e,t)=>{F(e.stereotypes,t)})),(0,Ve.action)(((e,t)=>{e.tag.value=Hu(t),e.tag.ownerReference.value=t._OWNER})),(0,Ve.action)(((e,t)=>{e.value=t})),(0,Ve.action)(((e,t)=>{e.value=t})),(0,Ve.action)(((e,t,i)=>{L(e.taggedValues,t,i)})),(0,Ve.action)(((e,t,i)=>{L(e.stereotypes,t,i)})),(0,Ve.action)(((e,t)=>{e.name=t})),(0,Ve.action)(((e,t)=>{e.functionDefinition=Nr(t)})),(0,Ve.action)(((e,t)=>{M(e.p_tags,Hu(t))})),(0,Ve.action)(((e,t)=>{F(e.p_tags,t)})),(0,Ve.action)(((e,t)=>{M(e.p_stereotypes,zu(t))})),(0,Ve.action)(((e,t)=>{F(e.p_stereotypes,t)})),(0,Ve.action)(((e,t,i)=>{L(e.p_tags,t,i)})),(0,Ve.action)(((e,t,i)=>{L(e.p_stereotypes,t,i)})),(0,Ve.action)(((e,t)=>{F(e.parameters,t)})),(0,Ve.action)(((e,t)=>{M(e.parameters,Ar(t))})),(0,Ve.action)(((e,t)=>{YC(e.returnType,dp(t))})),(0,Ve.action)(((e,t)=>{e.returnMultiplicity=t})),(0,Ve.action)(((e,t,i)=>{L(e.parameters,t,i)})),(0,Ve.action)(((e,t)=>{e.content=t})),(0,Ve.action)(((e,t,i)=>{e.data=ql(t,i)})),(0,Ve.action)(((e,t)=>{F(e.testData??[],t)})),(0,Ve.action)(((e,t,i)=>{M(e.tests,rp(t,i))})),(0,Ve.action)(((e,t)=>{e.value=t})),(0,Ve.action)(((e,t)=>{e.parameters=t.map(sp)})),(0,Ve.action)(((e,t)=>{F(e.parameters??[],t)})),(0,Ve.action)(((e,t)=>{e.parameters?.push(sp(t))})),(0,Ve.action)(((e,t)=>{e.name=t})),(0,Ve.action)(((e,t)=>{e.name=t})),(0,Ve.action)(((e,t)=>{M(e.values,Yu(t))})),(0,Ve.action)(((e,t)=>{F(e.values,t)})),(0,Ve.action)(((e,t,i)=>{L(e.values,t,i)})),(0,Ve.action)(((e,t)=>{e.value=Yu(t),YC(e.ownerReference,t._OWNER)})),(0,Ve.action)(((e,t,i)=>{const s=RE(e,t),n=X(t.genericType.ownerReference.value,Ka,`Association property '${t.name}' must be of type 'class'`);var a;((a=n).package||a.name)&&Z(F(n.propertiesFromAssociations,s),`Can't find property '${s.name}' from association '${e.path}' in associated class '${n.path}'`),M(i.propertiesFromAssociations,s);const r=new Qb(i);t.genericType.value=r,t.genericType.ownerReference.value=r.rawType})),(0,Ve.action)(((e,t)=>{e.canonicalUnit=Ju(t)})),(0,Ve.action)(((e,t)=>{e.conversionFunction=Nr(t)})),(0,Ve.action)(((e,t)=>{e.classViews=t.map(hp)}))),qC=(0,Ve.action)(((e,t)=>{M(e.classViews,hp(t))})),QC=(0,Ve.action)(((e,t)=>{F(e.classViews,t)})),ZC=(0,Ve.action)(((e,t)=>{e.associationViews=t.map(_p)})),ey=(0,Ve.action)(((e,t)=>{F(e.associationViews,t)})),ty=(0,Ve.action)(((e,t)=>{e.generalizationViews=t.map(fp)})),iy=(0,Ve.action)(((e,t)=>{M(e.generalizationViews,fp(t))})),sy=(0,Ve.action)(((e,t)=>{F(e.generalizationViews,t)})),ny=(0,Ve.action)(((e,t)=>{e.propertyViews=t.map(bp)})),ay=(0,Ve.action)(((e,t)=>{M(e.propertyViews,bp(t))})),ry=(0,Ve.action)(((e,t)=>{F(e.propertyViews,t)})),oy=(0,Ve.action)(((e,t)=>{e.hideProperties=t})),cy=(0,Ve.action)(((e,t)=>{e.hideStereotypes=t})),ly=(0,Ve.action)(((e,t)=>{e.hideTaggedValues=t})),dy=(0,Ve.action)(((e,t)=>{e._offsetX=t})),uy=(0,Ve.action)(((e,t)=>{e._offsetY=t})),py=(0,Ve.action)(((e,t,i)=>{((e,t,i,s=((e,t)=>e===t))=>{const n=e.findIndex((e=>s(e,t)));-1!==n&&(e[n]=i)})(e.path,t,i)})),hy=(0,Ve.action)(Kv),my=(0,Ve.action)(((e,t,i,s,n)=>{for(const n of e.path)if(Math.sqrt((t-n.x)*(t-n.x)+(i-n.y)*(i-n.y))<10/s)return n;const a=e.buildFullPath(n),r=[];let o;for(let e=0;e<a.length-1;e++){const n=a[e],c=a[e+1],l=new Hv(n.x,n.y).normal(new Hv(c.x,c.y)).unit(),d=Hv.fromPoints(n,new Pv(t,i));if(Math.abs(l.dotProduct(d))<5/s){const e=(n.x<c.x?n.x:c.x)-5/s,a=(n.x<c.x?c.x:n.x)+5/s,l=(n.y<c.y?n.y:c.y)-5/s,d=(n.y<c.y?c.y:n.y)+5/s;e<=t&&t<=a&&l<=i&&i<=d&&(o=new Pv(t,i),r.push(o))}e<a.length-2&&r.push(a[e+1])}return o&&n&&Wv(e,r),o})),gy=(0,Ve.action)(Wv),fy=(0,Ve.action)(((e,t)=>{e.rectangle=t})),_y=(0,Ve.action)(((e,t)=>{e.position=t})),by=(0,Ve.action)((e=>{e._dummyObservable={}}));var Ey,vy,Ty;!function(e){e[e.LAYOUT=0]="LAYOUT",e[e.PAN=1]="PAN",e[e.ZOOM_IN=2]="ZOOM_IN",e[e.ZOOM_OUT=3]="ZOOM_OUT",e[e.ADD_RELATIONSHIP=4]="ADD_RELATIONSHIP",e[e.ADD_CLASS=5]="ADD_CLASS"}(Ey||(Ey={})),function(e){e[e.PROPERTY=0]="PROPERTY",e[e.INHERITANCE=1]="INHERITANCE",e[e.NONE=2]="NONE"}(vy||(vy={})),function(e){e[e.ALIGN_LEFT=0]="ALIGN_LEFT",e[e.ALIGN_CENTER=1]="ALIGN_CENTER",e[e.ALIGN_RIGHT=2]="ALIGN_RIGHT",e[e.ALIGN_TOP=3]="ALIGN_TOP",e[e.ALIGN_MIDDLE=4]="ALIGN_MIDDLE",e[e.ALIGN_BOTTOM=5]="ALIGN_BOTTOM",e[e.SPACE_HORIZONTALLY=6]="SPACE_HORIZONTALLY",e[e.SPACE_VERTICALLY=7]="SPACE_VERTICALLY"}(Ty||(Ty={}));const Sy=.05,Cy=[50,75,90,100,110,125,150,200,250,300,400],yy=e=>(e instanceof TE?"/ ":"")+e.name;class Ny{diagram;isReadOnly;enableLayoutAutoAdjustment;div;canvas;ctx;canvasDimension;canvasCenter;virtualScreen;screenOffset;zoom;interactionMode;relationshipMode;triangle;diamond;fontFamily;fontSize;lineHeight;truncateText;maxLineLength;screenPadding;classViewSpaceX;classViewSpaceY;propertySpacing;showScreenGrid;showScreenBoxGuide;screenGridAxisTickLength;screenGridSpacingX;screenGridSpacingY;screenGridLineWidth;screenGridLineColor;screenGridLabelTextColor;screenGuideLineColor;screenGuideLabelTextColor;showCanvasGrid;showCanvasBoxGuide;showScreenOffsetGuide;canvasGridAxisTickLength;canvasGridSpacingX;canvasGridSpacingY;canvasGridLineWidth;canvasGridLineColor;canvasGridLabelTextColor;canvasGuideLineColor;canvasGuideLabelTextColor;screenOffsetGuideLineColor;screenOffsetGuideLabelTextColor;defaultLineWidth;defaultLineColor;canvasColor;backgroundColor;classViewFillColor;classViewHeaderTextColor;classViewPropertyTextColor;classViewPrimitivePropertyTextColor;classViewDerivedPropertyTextColor;relationshipViewTextColor;propertyViewOwnedDiamondColor;propertyViewSharedDiamondColor;generalizationViewInheritanceTriangeFillColor;selectionBoxBorderColor;selection;selectionStart;selectedClassCorner;selectedClassProperty;selectedClasses;selectedPropertyOrAssociation;selectedInheritance;selectedPoint;_selectedClassesInitialPositions;startClassView;handleAddRelationship;mouseOverClassCorner;mouseOverClassName;mouseOverClassView;mouseOverClassProperty;mouseOverPropertyHolderViewLabel;cursorPosition;leftClick;middleClick;rightClick;clickX;clickY;positionBeforeLastMove;onAddClassViewClick=()=>{};onClassViewRightClick=()=>{};onBackgroundDoubleClick;onClassViewDoubleClick;onClassNameDoubleClick;onClassPropertyDoubleClick;handleEditClassView=()=>{};handleEditProperty=()=>{};handleAddSimpleProperty=()=>{};constructor(e,t){(0,Ve.makeObservable)(this,{isReadOnly:Ve.observable,enableLayoutAutoAdjustment:Ve.observable,interactionMode:Ve.observable,relationshipMode:Ve.observable,zoom:Ve.observable,mouseOverClassView:Ve.observable,mouseOverClassName:Ve.observable,mouseOverClassCorner:Ve.observable,mouseOverClassProperty:Ve.observable,mouseOverPropertyHolderViewLabel:Ve.observable,selectionStart:Ve.observable,selectedClassCorner:Ve.observable,selectedClasses:Ve.observable,selectedPropertyOrAssociation:Ve.observable,selectedInheritance:Ve.observable,leftClick:Ve.observable,middleClick:Ve.observable,rightClick:Ve.observable,changeMode:Ve.action,setIsReadOnly:Ve.action,setEnableLayoutAutoAdjustment:Ve.action,setMouseOverClassView:Ve.action,setMouseOverClassName:Ve.action,setMouseOverClassCorner:Ve.action,setMouseOverClassProperty:Ve.action,setMouseOverPropertyHolderViewLabel:Ve.action,setSelectionStart:Ve.action,setSelectedClassCorner:Ve.action,setSelectedClasses:Ve.action,setSelectedPropertyOrAssociation:Ve.action,setSelectedInheritance:Ve.action,setLeftClick:Ve.action,setMiddleClick:Ve.action,setRightClick:Ve.action,setZoomLevel:Ve.action,align:Ve.action}),this.diagram=t,this.div=e,this.div.childNodes.forEach((e=>this.div.removeChild(e))),this.canvas=document.createElement("canvas"),this.canvasDimension=new Mv(this.div.offsetWidth,this.div.offsetHeight),this.canvasCenter=new Pv(this.canvasDimension.width/2,this.canvasDimension.height/2),this.canvas.width=this.canvasDimension.width,this.canvas.height=this.canvasDimension.height,this.canvas.style.position="absolute",this.canvas.style.left="0",this.canvas.style.top="0",this.div.appendChild(this.canvas),this.ctx=this.canvas.getContext("2d"),this.screenOffset=new Pv(0,0),this.virtualScreen=new Lv(new Pv(0,0),new Mv(0,0)),this.zoom=1,this.triangle=[new Pv(0,0),new Pv(-15,-10),new Pv(-15,10)],this.diamond=[new Pv(0,0),new Pv(-10,-5),new Pv(-20,0),new Pv(-10,5)],this.fontFamily="Arial",this.fontSize=12,this.lineHeight=14,this.truncateText=!0,this.maxLineLength=40,this.showScreenGrid=!1,this.showScreenBoxGuide=!0,this.screenGridAxisTickLength=50,this.screenGridSpacingX=100,this.screenGridSpacingY=100,this.screenGridLineWidth=.5,this.showCanvasGrid=!1,this.showCanvasBoxGuide=!0,this.showScreenOffsetGuide=!0,this.canvasGridAxisTickLength=50,this.canvasGridSpacingX=100,this.canvasGridSpacingY=100,this.canvasGridLineWidth=.5,this.defaultLineWidth=1,this.screenGridLineColor="rgba(61,126,154,0.56)",this.screenGridLabelTextColor="rgba(61,126,154,0.56)",this.screenGuideLineColor="red",this.screenGuideLabelTextColor="red",this.canvasGridLineColor="green",this.canvasGridLabelTextColor="green",this.canvasGuideLineColor="orange",this.canvasGuideLabelTextColor="orange",this.screenOffsetGuideLineColor="purple",this.screenOffsetGuideLabelTextColor="purple",this.defaultLineColor="rgb(0,0,0)",this.canvasColor="rgb(220,220,220)",this.backgroundColor="rgb(255,255,255)",this.classViewFillColor="rgb(185,185,185)",this.classViewHeaderTextColor="rgb(0,0,0)",this.classViewPropertyTextColor="rgb(0,0,0)",this.classViewPrimitivePropertyTextColor="rgb(255,255,255)",this.classViewDerivedPropertyTextColor="rgb(100,100,100)",this.relationshipViewTextColor="rgb(0,0,0)",this.propertyViewSharedDiamondColor="rgb(255,255,255)",this.propertyViewOwnedDiamondColor="rgb(0,0,0)",this.generalizationViewInheritanceTriangeFillColor="rgb(255,255,255)",this.selectionBoxBorderColor="rgba(0,0,0, 0.02)",this.interactionMode=Ey.LAYOUT,this.relationshipMode=vy.NONE,this.isReadOnly=!1,this.enableLayoutAutoAdjustment=!1,this.screenPadding=20,this.classViewSpaceX=10,this.classViewSpaceY=4,this.propertySpacing=10,this.selectionStart=void 0,this.selection=void 0,this.selectedClasses=[],this._selectedClassesInitialPositions=[],this.cursorPosition=new Pv(0,0),this.leftClick=!1,this.middleClick=!1,this.rightClick=!1,this.clickX=0,this.clickY=0,this.positionBeforeLastMove=new Pv(0,0),this.div.onwheel=this.mousewheel.bind(this),this.div.onmousedown=this.mousedown.bind(this),this.div.onkeydown=this.keydown.bind(this),this.div.ondblclick=this.mousedblclick.bind(this),this.div.onmouseup=this.mouseup.bind(this),this.div.onmousemove=this.mousemove.bind(this)}setIsReadOnly(e){this.isReadOnly=e}setEnableLayoutAutoAdjustment(e){this.enableLayoutAutoAdjustment=e}setMouseOverClassView(e){this.mouseOverClassView=e}setMouseOverClassName(e){this.mouseOverClassName=e}setMouseOverClassCorner(e){this.mouseOverClassCorner=e}setMouseOverClassProperty(e){this.mouseOverClassProperty=e}setMouseOverPropertyHolderViewLabel(e){this.mouseOverPropertyHolderViewLabel=e}setSelectionStart(e){this.selectionStart=e}setSelectedClassCorner(e){this.selectedClassCorner=e}setSelectedClasses(e){this.selectedClasses=e}setSelectedPropertyOrAssociation(e){this.selectedPropertyOrAssociation=e}setSelectedInheritance(e){this.selectedInheritance=e}setLeftClick(e){this.leftClick=e}setMiddleClick(e){this.middleClick=e}setRightClick(e){this.rightClick=e}setZoomLevel(e){this.zoom=e}render(e){this.diagram.classViews.forEach((e=>this.ensureClassViewMeetMinDimensions(e))),this.refresh(),e?.initial&&(this.autoRecenter(),(this.canvas.width<this.virtualScreen.rectangle.width+2*this.screenPadding+20||this.canvas.height<this.virtualScreen.rectangle.height+2*this.screenPadding+20)&&this.zoomToFit())}refresh(){this.refreshCanvas(),this.drawScreen()}refreshCanvas(){this.canvasDimension=new Mv(this.div.offsetWidth,this.div.offsetHeight),this.canvasCenter=new Pv(this.canvasDimension.width/2,this.canvasDimension.height/2),this.canvas.width=this.canvasDimension.width,this.canvas.height=this.canvasDimension.height}clearScreen(){this.ctx.fillStyle=this.canvasColor,this.ctx.fillRect(0,0,this.canvasDimension.width,this.canvasDimension.height)}drawScreen(){this.manageVirtualScreen(),this.clearScreen(),this.drawAll()}autoRecenter(){this.center(this.virtualScreen.position.x+this.virtualScreen.rectangle.width/2,this.virtualScreen.position.y+this.virtualScreen.rectangle.height/2)}center(e,t){this.screenOffset=new Pv(-e+this.canvasCenter.x,-t+this.canvasCenter.y),this.refresh()}changeMode(e,t){switch(e){case Ey.LAYOUT:case Ey.PAN:case Ey.ZOOM_IN:case Ey.ZOOM_OUT:case Ey.ADD_CLASS:if(t!==vy.NONE)throw new U(`Can't change to '${e}' mode: relationship mode should not be specified in layout mode`);break;case Ey.ADD_RELATIONSHIP:if(t===vy.NONE)throw new U("Can't switch to relationship mode: relationship mode is not specified");break;default:throw new V(`Can't switch to mode '${e}': unsupported mode`)}if(this.interactionMode=e,this.relationshipMode=t,e===Ey.ADD_RELATIONSHIP)switch(t){case vy.INHERITANCE:this.handleAddRelationship=(e,t)=>{if(e.class.value===t.class.value||kE(e.class.value).includes(t.class.value)||kE(t.class.value).includes(e.class.value)||KC(e.class.value,qb.create(new Qb(t.class.value))),e.class.value.generalizations.find((e=>e.value.rawType===t.class.value))){const i=new zv(this.diagram,e,t);return iy(this.diagram,i),i}};break;case vy.PROPERTY:this.handleAddRelationship=(e,t)=>{const i=new Kb(`property_${e.class.value.properties.length+1}`,Jb.ONE,qb.create(new Qb(t.class.value)),e.class.value);if(WC(e.class.value,i),e!==t){const s=new Gv(this.diagram,dv.create(i),e,t);return ay(this.diagram,s),s}};break;default:throw new V(`Can't switch to relationship mode '${t}': unsupported mode`)}}align(e){if(!(this.selectedClasses.length<2)){switch(e){case Ty.ALIGN_LEFT:{const e=this.selectedClasses.reduce(((e,t)=>Math.min(e,t.position.x)),Number.MAX_SAFE_INTEGER);this.selectedClasses.forEach((t=>_y(t,new Pv(e,t.position.y))));break}case Ty.ALIGN_CENTER:{const e=this.selectedClasses.reduce(((e,t)=>e+t.position.x+t.rectangle.width/2),0)/this.selectedClasses.length;this.selectedClasses.forEach((t=>_y(t,new Pv(e-t.rectangle.width/2,t.position.y))));break}case Ty.ALIGN_RIGHT:{const e=this.selectedClasses.reduce(((e,t)=>Math.max(e,t.position.x+t.rectangle.width)),-Number.MAX_SAFE_INTEGER);this.selectedClasses.forEach((t=>_y(t,new Pv(e-t.rectangle.width,t.position.y))));break}case Ty.ALIGN_TOP:{const e=this.selectedClasses.reduce(((e,t)=>Math.min(e,t.position.y)),Number.MAX_SAFE_INTEGER);this.selectedClasses.forEach((t=>_y(t,new Pv(t.position.x,e))));break}case Ty.ALIGN_MIDDLE:{const e=this.selectedClasses.reduce(((e,t)=>e+t.position.y+t.rectangle.height/2),0)/this.selectedClasses.length;this.selectedClasses.forEach((t=>_y(t,new Pv(t.position.x,e-t.rectangle.height/2))));break}case Ty.ALIGN_BOTTOM:{const e=this.selectedClasses.reduce(((e,t)=>Math.max(e,t.position.y+t.rectangle.height)),-Number.MAX_SAFE_INTEGER);this.selectedClasses.forEach((t=>_y(t,new Pv(t.position.x,e-t.rectangle.height))));break}case Ty.SPACE_HORIZONTALLY:{const e=this.selectedClasses.slice().sort(((e,t)=>e.position.x-t.position.x));if(2===e.length){const t=e[0],i=e[1];_y(i,new Pv(t.position.x+t.rectangle.width,i.position.y))}else{const t=[];for(let i=1;i<e.length;i++){const s=e[i-1],n=e[i];t.push(n.position.x-(s.position.x+s.rectangle.width))}const i=t.reduce(((e,t)=>e+t),0)/t.length;for(let t=1;t<e.length;t++){const s=e[t-1],n=e[t];_y(n,new Pv(s.position.x+s.rectangle.width+i,n.position.y))}}break}case Ty.SPACE_VERTICALLY:{const e=this.selectedClasses.slice().sort(((e,t)=>e.position.y-t.position.y));if(2===e.length){const t=e[0],i=e[1];_y(i,new Pv(i.position.x,t.position.y+t.rectangle.height))}else{const t=[];for(let i=1;i<e.length;i++){const s=e[i-1],n=e[i];t.push(n.position.y-(s.position.y+s.rectangle.height))}const i=t.reduce(((e,t)=>e+t),0)/t.length;for(let t=1;t<e.length;t++){const s=e[t-1],n=e[t];_y(n,new Pv(n.position.x,s.position.y+s.rectangle.height+i))}}break}}this.drawScreen()}}truncateTextWithEllipsis(e,t=this.maxLineLength){return e.length>t?`${e.substring(0,t+1-3)}...`:e}canvasCoordinateToModelCoordinate(e){return new Pv((e.x-this.canvasCenter.x)/this.zoom-this.screenOffset.x+this.canvasCenter.x,(e.y-this.canvasCenter.y)/this.zoom-this.screenOffset.y+this.canvasCenter.y)}modelCoordinateToCanvasCoordinate(e){return new Pv((e.x-this.canvasCenter.x+this.screenOffset.x)*this.zoom+this.canvasCenter.x,(e.y-this.canvasCenter.y+this.screenOffset.y)*this.zoom+this.canvasCenter.y)}resolveMouseEventCoordinate(e){if(e.target instanceof HTMLElement){const t=$v(e.target);return new Pv(t.x+e.offsetX,t.y+e.offsetY)}return new Pv(e.x,e.y)}eventCoordinateToCanvasCoordinate(e){return new Pv(e.x-this.divPosition.x+this.div.scrollLeft,e.y-this.divPosition.y+this.div.scrollTop)}canvasCoordinateToEventCoordinate(e){return new Pv(e.x-this.div.scrollLeft+this.divPosition.x,e.y-this.div.scrollTop+this.divPosition.y)}hasPropertyView(e,t){return this.diagram.propertyViews.filter((i=>i.property.value===t&&i.from.classView.value===e)).length>0}get divPosition(){return $v(this.div)}manageVirtualScreen(){if(this.diagram.classViews.length){const e=W(this.diagram.classViews[0]);let t=e.position.x,i=e.position.y,s=e.position.x+e.rectangle.width,n=e.position.y+e.rectangle.height;for(const e of this.diagram.classViews)t=Math.min(t,e.position.x),i=Math.min(i,e.position.y),s=Math.max(s,e.position.x+e.rectangle.width),n=Math.max(n,e.position.y+e.rectangle.height);const a=this.diagram.associationViews.concat(this.diagram.generalizationViews).concat(this.diagram.propertyViews);for(const e of a){const a=Uv.pruneUnnecessaryInsidePoints(e.buildFullPath(),e.from.classView.value,e.to.classView.value);if(e instanceof Gv){const r=this.drawLinePropertyText(W(a[a.length-2],"Diagram path expected to have at least 2 points"),W(a[a.length-1],"Diagram path expected to have at least 2 points"),e.to.classView.value,e.property.value,!1);t=Math.min(t,r.position.x),i=Math.min(i,r.position.y),s=Math.max(s,qv(r).x),n=Math.max(n,qv(r).y)}for(const a of e.path)t=Math.min(t,a.x),i=Math.min(i,a.y),s=Math.max(s,a.x),n=Math.max(n,a.y)}this.virtualScreen=new Lv(new Pv(t,i),new Mv(s-t,n-i))}else this.setZoomLevel(1),this.screenOffset=new Pv(0,0),this.virtualScreen=new Lv(new Pv(this.canvasDimension.width/2,this.canvasDimension.height/2),new Mv(0,0))}executeZoom(e,t){e=Math.max(e,Sy);const i=this.zoom;this.setZoomLevel(e),this.screenOffset=new Pv(((t.x-this.canvasCenter.x)*(i-e)+this.screenOffset.x*i)/e,((t.y-this.canvasCenter.y)*(i-e)+this.screenOffset.y*i)/e),this.clearScreen(),this.drawAll()}zoomPoint(e,t){this.executeZoom(e,t)}zoomCenter(e){this.setZoomLevel(Math.max(e,Sy)),this.clearScreen(),this.drawAll()}zoomToFit(){this.autoRecenter(),this.zoomCenter(Math.max(Math.min(this.canvas.width/(this.virtualScreen.rectangle.width+2*this.screenPadding+20),this.canvas.height/(this.virtualScreen.rectangle.height+2*this.screenPadding+20)),Sy))}addClassView(e,t){if(!this.isReadOnly){const i=this.diagram.classViews.map((e=>e.id));let s=(0,a.default)();for(;i.includes(s);)s=(0,a.default)();const n=new Fv(this.diagram,s,rr.create(e));return _y(n,t??this.canvasCoordinateToModelCoordinate(new Pv(this.virtualScreen.position.x+this.virtualScreen.rectangle.width/2,this.virtualScreen.position.y+this.virtualScreen.rectangle.height/2))),qC(this.diagram,n),by(n),this.diagram.classViews.filter((t=>t.class.value!==e)).forEach((t=>{const i=t.class.value;e.generalizations.map((e=>e.value.rawType)).includes(i)&&iy(this.diagram,new zv(this.diagram,n,t)),i.generalizations.map((e=>e.value.rawType)).includes(e)&&iy(this.diagram,new zv(this.diagram,t,n)),PE(e).forEach((e=>{e.genericType.value.rawType===i&&ay(this.diagram,new Gv(this.diagram,dv.create(e),n,t))})),PE(i).forEach((i=>{i.genericType.value.rawType===e&&ay(this.diagram,new Gv(this.diagram,dv.create(i),t,n))}))})),this.drawClassView(n),this.drawScreen(),n}}drawBoundingBox(){this.ctx.fillStyle=this.backgroundColor,this.ctx.lineWidth=1,this.ctx.fillRect((this.virtualScreen.position.x+this.screenOffset.x-this.canvasCenter.x-this.screenPadding)*this.zoom+this.canvasCenter.x,(this.virtualScreen.position.y+this.screenOffset.y-this.canvasCenter.y-this.screenPadding)*this.zoom+this.canvasCenter.y,(this.virtualScreen.rectangle.width+2*this.screenPadding)*this.zoom,(this.virtualScreen.rectangle.height+2*this.screenPadding)*this.zoom),this.ctx.strokeRect((this.virtualScreen.position.x+this.screenOffset.x-this.canvasCenter.x-this.screenPadding)*this.zoom+this.canvasCenter.x,(this.virtualScreen.position.y+this.screenOffset.y-this.canvasCenter.y-this.screenPadding)*this.zoom+this.canvasCenter.y,(this.virtualScreen.rectangle.width+2*this.screenPadding)*this.zoom,(this.virtualScreen.rectangle.height+2*this.screenPadding)*this.zoom)}drawDiagram(){this.diagram.associationViews.forEach((e=>this.drawPropertyOrAssociation(e))),this.diagram.generalizationViews.forEach((e=>this.drawInheritance(e))),this.diagram.propertyViews.forEach((e=>this.drawPropertyOrAssociation(e))),this.diagram.classViews.forEach((e=>this.drawClassView(e))),this.showCanvasGrid&&this.drawCanvasGrid(),this.showScreenGrid&&this.drawScreenGrid()}drawAll(){this.drawBoundingBox(),this.drawDiagram()}drawScreenGrid(){const e=(this.virtualScreen.position.x+this.screenOffset.x-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,t=(this.virtualScreen.position.y+this.screenOffset.y-this.canvasCenter.y)*this.zoom+this.canvasCenter.y,i=(this.virtualScreen.rectangle.width+2*this.screenPadding)*this.zoom,s=(this.virtualScreen.rectangle.height+2*this.screenPadding)*this.zoom;this.ctx.beginPath(),this.ctx.fillStyle=this.screenGridLabelTextColor,this.ctx.strokeStyle=this.screenGridLineColor,this.ctx.lineWidth=this.screenGridLineWidth,this.ctx.font=`${(this.fontSize-1)*this.zoom}px ${this.fontFamily}`;let n=0;for(let a=e;a<e+i-2*this.screenPadding;a+=this.screenGridSpacingX*this.zoom)this.ctx.fillText(`${n}`,a+5*this.zoom,t-(this.screenGridAxisTickLength+this.screenPadding)*this.zoom),this.ctx.fillText(`[${Math.round(this.virtualScreen.position.x+n)}]`,a+5*this.zoom,t-(this.screenGridAxisTickLength+this.screenPadding-this.lineHeight)*this.zoom),this.ctx.moveTo(a,t-(this.screenGridAxisTickLength+this.screenPadding)*this.zoom),this.ctx.lineTo(a,t+s-this.screenPadding*this.zoom),this.ctx.stroke(),n+=this.screenGridSpacingX;let a=0;for(let n=t;n<t+s-2*this.screenPadding;n+=this.screenGridSpacingY*this.zoom)this.ctx.fillText(`${a}`,e-(this.screenGridAxisTickLength+this.screenPadding)*this.zoom,n+5*this.zoom),this.ctx.fillText(`[${Math.round(this.virtualScreen.position.y+a)}]`,e-(this.screenGridAxisTickLength+this.screenPadding)*this.zoom,n+(5+this.lineHeight)*this.zoom),this.ctx.moveTo(e-(this.screenGridAxisTickLength+this.screenPadding)*this.zoom,n),this.ctx.lineTo(e+i-this.screenPadding*this.zoom,n),this.ctx.stroke(),a+=this.screenGridSpacingY;this.showScreenBoxGuide&&(this.ctx.beginPath(),this.ctx.fillStyle=this.screenGuideLabelTextColor,this.ctx.strokeStyle=this.screenGuideLineColor,this.ctx.moveTo(e,t),this.ctx.lineTo(e,t+s-2*this.screenPadding*this.zoom),this.ctx.stroke(),this.ctx.lineTo(e,t+s-2*this.screenPadding*this.zoom),this.ctx.lineTo(e+i-2*this.screenPadding*this.zoom,t+s-2*this.screenPadding*this.zoom),this.ctx.stroke(),this.ctx.lineTo(e+i-2*this.screenPadding*this.zoom,t+s-2*this.screenPadding*this.zoom),this.ctx.lineTo(e+i-2*this.screenPadding*this.zoom,t),this.ctx.stroke(),this.ctx.lineTo(e+i-2*this.screenPadding*this.zoom,t),this.ctx.lineTo(e,t),this.ctx.stroke(),this.ctx.fillText(`${Math.round(this.virtualScreen.rectangle.width/2)}`,e+i/2-(this.screenPadding-5)*this.zoom,t+5*this.zoom),this.ctx.fillText(`[${Math.round(this.virtualScreen.position.x+this.virtualScreen.rectangle.width/2)}]`,e+i/2-(this.screenPadding-5)*this.zoom,t+(5+this.lineHeight)*this.zoom),this.ctx.lineTo(e+i/2-this.screenPadding*this.zoom,t),this.ctx.lineTo(e+i/2-this.screenPadding*this.zoom,t+s-2*this.screenPadding*this.zoom),this.ctx.stroke(),this.ctx.fillText(`${Math.round(this.virtualScreen.rectangle.height/2)}`,e+5*this.zoom,t+s/2-(this.screenPadding-5)*this.zoom),this.ctx.fillText(`[${Math.round(this.virtualScreen.position.y+this.virtualScreen.rectangle.height/2)}]`,e+5*this.zoom,t+s/2-(this.screenPadding-5-this.lineHeight)*this.zoom),this.ctx.lineTo(e,t+s/2-this.screenPadding*this.zoom),this.ctx.lineTo(e+i-2*this.screenPadding*this.zoom,t+s/2-this.screenPadding*this.zoom),this.ctx.stroke()),this.ctx.strokeStyle=this.defaultLineColor,this.ctx.lineWidth=this.defaultLineWidth}drawCanvasGrid(){const e=-this.canvasCenter.x*this.zoom+this.canvasCenter.x,t=-this.canvasCenter.y*this.zoom+this.canvasCenter.y,i=this.canvasDimension.width,s=this.canvasDimension.height;this.ctx.setLineDash([5,5]),this.ctx.fillStyle=this.canvasGridLabelTextColor,this.ctx.strokeStyle=this.canvasGridLineColor,this.ctx.lineWidth=this.canvasGridLineWidth,this.ctx.font=`${(this.fontSize-1)*this.zoom}px ${this.fontFamily}`;this.ctx.beginPath();let n=0;for(let t=e;t<i;t+=this.canvasGridSpacingX*this.zoom)0!==t&&this.ctx.fillText(`[${Math.round(n)}]`,t+5*this.zoom,5*this.zoom),this.ctx.moveTo(t,0),this.ctx.lineTo(t,s),this.ctx.stroke(),n+=this.canvasGridSpacingX;let a=0;for(let e=t;e<s;e+=this.canvasGridSpacingY*this.zoom)0!==e&&this.ctx.fillText(`[${Math.round(a)}]`,5*this.zoom,e+5*this.zoom),this.ctx.moveTo(0,e),this.ctx.lineTo(i,e),this.ctx.stroke(),a+=this.canvasGridSpacingY;if(this.showCanvasBoxGuide&&(this.ctx.beginPath(),this.ctx.fillStyle=this.canvasGuideLabelTextColor,this.ctx.strokeStyle=this.canvasGuideLineColor,this.ctx.fillText(`[${Math.round(i/2)}]`,i/2+5*this.zoom,5*this.zoom),this.ctx.moveTo(i/2,0),this.ctx.lineTo(i/2,s),this.ctx.stroke(),this.ctx.fillText(`[${Math.round(s/2)}]`,5*this.zoom,s/2+5*this.zoom),this.ctx.moveTo(0,s/2),this.ctx.lineTo(i,s/2),this.ctx.stroke()),this.showScreenOffsetGuide){const i=5,s=35;this.ctx.beginPath(),this.ctx.setLineDash([]),this.ctx.fillStyle=this.screenOffsetGuideLabelTextColor,this.ctx.strokeStyle=this.screenOffsetGuideLineColor,this.ctx.arc(e+this.screenOffset.x*this.zoom,t+this.screenOffset.y*this.zoom,i*this.zoom,0,2*Math.PI),this.ctx.moveTo(e+(this.screenOffset.x-i)*this.zoom,t+this.screenOffset.y*this.zoom),this.ctx.lineTo(e+(this.screenOffset.x+2*i)*this.zoom,t+this.screenOffset.y*this.zoom),this.ctx.moveTo(e+this.screenOffset.x*this.zoom,t+(this.screenOffset.y-i)*this.zoom),this.ctx.lineTo(e+this.screenOffset.x*this.zoom,t+(this.screenOffset.y+2*i)*this.zoom),this.ctx.stroke(),this.ctx.setLineDash([5,5]),this.ctx.moveTo(e,t+this.screenOffset.y*this.zoom),this.ctx.lineTo(e+(this.screenOffset.x-i)*this.zoom,t+this.screenOffset.y*this.zoom),this.ctx.moveTo(e+this.screenOffset.x*this.zoom,t+0),this.ctx.lineTo(e+this.screenOffset.x*this.zoom,t+(this.screenOffset.y-i)*this.zoom),this.ctx.stroke(),this.ctx.beginPath(),this.screenOffset.x>=s&&this.screenOffset.y>=s?(this.ctx.fillText(`[${Math.round(this.screenOffset.x)}]`,e+(this.screenOffset.x+5)*this.zoom,t+5*this.zoom),this.ctx.fillText(`[${Math.round(this.screenOffset.y)}]`,e+5*this.zoom,t+(this.screenOffset.y+5)*this.zoom)):this.screenOffset.x>=0&&this.screenOffset.y>=0?this.ctx.fillText(`Δ [${Math.round(this.screenOffset.x)},${Math.round(this.screenOffset.y)}]`,e+(this.screenOffset.x+i+5)*this.zoom,t+(this.screenOffset.y+i+5)*this.zoom):this.ctx.fillText(`Δ [${Math.round(this.screenOffset.x)},${Math.round(this.screenOffset.y)}]`,e+(i+5)*this.zoom,t+(i+5)*this.zoom)}this.ctx.setLineDash([]),this.ctx.strokeStyle=this.defaultLineColor,this.ctx.lineWidth=this.defaultLineWidth}drawClassViewProperty(e,t,i,s,n){this.ctx.font=this.mouseOverClassView===e&&this.mouseOverClassProperty===t?`bold ${(this.fontSize-1)*(n?1:this.zoom)}px ${this.fontFamily}`:`${n?"bold":""} ${(this.fontSize-1)*(n?1:this.zoom)}px ${this.fontFamily}`;const a=yy(t);let r=this.ctx.measureText(`${a} : `).width;n||(this.ctx.fillText(`${a} : `,i,s),this.ctx.fillText(t.genericType.value.rawType.name,i+r,s),t.genericType.value.rawType instanceof Xa&&(this.ctx.beginPath(),this.ctx.moveTo(i+r,s+(this.fontSize-1)*this.zoom),this.ctx.lineTo(i+r+this.ctx.measureText(t.genericType.value.rawType.name).width,s+(this.fontSize-1)*this.zoom),this.ctx.stroke())),r+=this.ctx.measureText(t.genericType.value.rawType.name).width,this.ctx.font=`${(this.fontSize-1)*(n?1:this.zoom)}px ${this.fontFamily}`;const o=HC(t.multiplicity.lowerBound,t.multiplicity.upperBound);return n||this.ctx.fillText(`[${o}]`,i+r,s),r+=this.ctx.measureText(`[${o}]`).width,r}computeClassNameWidth(e){return this.ctx.font=`bold ${this.fontSize}px ${this.fontFamily}`,this.ctx.textBaseline="top",this.ctx.measureText(this.truncateTextWithEllipsis(e.class.value.name)).width}ensureClassViewMeetMinDimensions(e){let t=this.computeClassNameWidth(e),i=this.lineHeight+2*this.classViewSpaceY;if(!e.hideStereotypes){this.ctx.font=`${this.fontSize}px ${this.fontFamily}`;for(const s of e.class.value.stereotypes){const e=`<< ${this.truncateTextWithEllipsis(s.value.value,this.maxLineLength-6)} >>`,n=this.ctx.measureText(e).width;t=Math.max(t,n),i+=this.lineHeight}}if(!e.hideTaggedValues){this.ctx.font=`${this.fontSize}px ${this.fontFamily}`,this.ctx.textBaseline="top";for(const s of e.class.value.taggedValues){const e=`{ ${this.truncateTextWithEllipsis(`${s.tag.value.value} = ${s.value}`,this.maxLineLength-4)} }`,n=this.ctx.measureText(e).width;t=Math.max(t,n),i+=this.lineHeight}}if(e.hideProperties||(PE(e.class.value).forEach((s=>{if(!this.hasPropertyView(e,s)){const n=this.drawClassViewProperty(e,s,0,0,!0);t=Math.max(t,n),i+=this.lineHeight}})),i+=2*this.classViewSpaceY),t+=2*this.classViewSpaceX,!this.isReadOnly||this.enableLayoutAutoAdjustment){const s=e.rectangle.width&&e.rectangle.width>t?e.rectangle.width:t,n=e.rectangle.height&&e.rectangle.height>i?e.rectangle.height:i;fy(e,new Mv(s,n))}}drawClassView(e){const t=this.computeClassNameWidth(e);this.ensureClassViewMeetMinDimensions(e),this.ctx.fillStyle=this.classViewFillColor;const i=this.modelCoordinateToCanvasCoordinate(e.position);this.ctx.fillRect(i.x,i.y,e.rectangle.width*this.zoom,e.rectangle.height*this.zoom),this.ctx.lineWidth=0!==this.selectedClasses.length&&-1!==this.selectedClasses.indexOf(e)?2:1,this.ctx.strokeRect(i.x,i.y,e.rectangle.width*this.zoom,e.rectangle.height*this.zoom);const s=e.position.x,n=e.position.y;this.ctx.lineWidth=1,this.ctx.fillStyle=this.classViewHeaderTextColor;let a=n;if(this.ctx.font=`${this.fontSize*this.zoom}px ${this.fontFamily}`,!e.hideStereotypes)for(const t of e.class.value.stereotypes){this.ctx.font=`${this.fontSize}px ${this.fontFamily}`;const i=`<< ${this.truncateTextWithEllipsis(t.value.value,this.maxLineLength-6)} >>`,n=this.ctx.measureText(i).width;this.ctx.font=`${this.fontSize*this.zoom}px ${this.fontFamily}`,this.ctx.fillText(i,(s+this.screenOffset.x+(e.rectangle.width-n)/2-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,(a+this.screenOffset.y+this.classViewSpaceY-this.canvasCenter.y)*this.zoom+this.canvasCenter.y),a+=this.lineHeight}this.ctx.font=`bold ${this.fontSize*this.zoom}px ${this.fontFamily}`;const r=this.truncateTextWithEllipsis(e.class.value.name);if(this.ctx.fillText(r,(s+this.screenOffset.x+(e.rectangle.width-t)/2-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,(a+this.screenOffset.y+this.classViewSpaceY-this.canvasCenter.y)*this.zoom+this.canvasCenter.y),a+=this.lineHeight,!e.hideTaggedValues)for(const t of e.class.value.taggedValues){this.ctx.font=`${this.fontSize}px ${this.fontFamily}`;const i=`{ ${this.truncateTextWithEllipsis(`${t.tag.value.value} = ${t.value}`,this.maxLineLength-4)} }`,n=this.ctx.measureText(i).width;this.ctx.font=`${this.fontSize*this.zoom}px ${this.fontFamily}`,this.ctx.fillText(i,(s+this.screenOffset.x+(e.rectangle.width-n)/2-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,(a+this.screenOffset.y+this.classViewSpaceY-this.canvasCenter.y)*this.zoom+this.canvasCenter.y),a+=this.lineHeight}if(a+=3*this.classViewSpaceY,!e.hideProperties){this.ctx.beginPath();const t=(n+this.screenOffset.y+this.lineHeight+(e.hideStereotypes?0:e.class.value.stereotypes.length*this.lineHeight)+(e.hideTaggedValues?0:e.class.value.taggedValues.length*this.lineHeight)+this.classViewSpaceY-this.canvasCenter.y)*this.zoom+this.canvasCenter.y;this.ctx.moveTo((s+this.screenOffset.x-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,t),this.ctx.lineTo((s+this.screenOffset.x+e.rectangle.width-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,t),this.ctx.stroke();for(const t of PE(e.class.value))if(!this.hasPropertyView(e,t)){this.ctx.fillStyle=t instanceof TE?this.classViewDerivedPropertyTextColor:t.genericType.value.rawType instanceof gE?this.classViewPrimitivePropertyTextColor:this.classViewPropertyTextColor;const i=(s+this.screenOffset.x+this.classViewSpaceX-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,n=(a+this.screenOffset.y-this.canvasCenter.y)*this.zoom+this.canvasCenter.y;this.drawClassViewProperty(e,t,i,n,!1),a+=this.lineHeight}}by(e)}drawLinePropertyNameAndMultiplicity(e,t,i,s,n,a){this.ctx.font=`${this.fontSize}px ${this.fontFamily}`;const r=yy(e),o=HC(e.multiplicity.lowerBound,e.multiplicity.upperBound),c=this.ctx.measureText(r).width,l=this.ctx.measureText(o).width;this.ctx.font=`${this.fontSize*this.zoom}px ${this.fontFamily}`;const d=t(c),u=i(c),p=this.modelCoordinateToCanvasCoordinate(new Pv(t(c),i(c)));a||this.ctx.fillText(r,p.x,p.y);const h=s(l),m=n(l),g=this.modelCoordinateToCanvasCoordinate(new Pv(s(l),n(l)));a||this.ctx.fillText(o,g.x,g.y);const f=new Pv(Math.min(d,h),Math.min(u,m));return new Lv(f,new Mv(Math.max(d,h)+Math.max(c,l)-f.x,Math.max(u,m)+this.lineHeight-f.y))}drawLinePropertyText(e,t,i,s,n){this.ctx.textBaseline="top",this.ctx.fillStyle=this.relationshipViewTextColor;const a=e.x,r=e.y,o=t.x,c=t.y,l=i.rectangle;if(r<c){const e=a+(o-a)/(c-r)*(i.position.y-r);if(e>i.position.x&&e<i.position.x+l.width)return this.drawLinePropertyNameAndMultiplicity(s,(t=>e<i.position.x+l.width/2?e+this.propertySpacing:e-t-this.propertySpacing),(e=>i.position.y-this.lineHeight-this.propertySpacing),(t=>e<i.position.x+l.width/2?e-t-this.propertySpacing:e+this.propertySpacing),(e=>i.position.y-this.lineHeight-this.propertySpacing),n)}else{const e=a+(o-a)/(c-r)*(i.position.y+l.height-r);if(e>i.position.x&&e<i.position.x+l.width)return this.drawLinePropertyNameAndMultiplicity(s,(t=>e<i.position.x+l.width/2?e+this.propertySpacing:e-t-this.propertySpacing),(e=>i.position.y+l.height+this.propertySpacing),(t=>e<i.position.x+l.width/2?e-t-this.propertySpacing:e+this.propertySpacing),(e=>i.position.y+l.height+this.propertySpacing),n)}if(a<o){const e=r+(c-r)/(o-a)*(i.position.x-a);if(e>i.position.y&&e<i.position.y+l.height)return this.drawLinePropertyNameAndMultiplicity(s,(e=>i.position.x-e-this.propertySpacing),(t=>e<i.position.y+i.rectangle.height/2?e+this.propertySpacing:e-this.lineHeight-this.propertySpacing),(e=>i.position.x-e-this.propertySpacing),(t=>e<i.position.y+i.rectangle.height/2?e-this.lineHeight-this.propertySpacing:e+this.propertySpacing),n)}else{const e=r+(c-r)/(o-a)*(i.position.x+i.rectangle.width-a);if(e>i.position.y&&e<i.position.y+i.rectangle.height)return this.drawLinePropertyNameAndMultiplicity(s,(e=>i.position.x+i.rectangle.width+this.propertySpacing),(t=>e<i.position.y+i.rectangle.height/2?e+this.propertySpacing:e-this.lineHeight-this.propertySpacing),(e=>i.position.x+i.rectangle.width+this.propertySpacing),(t=>e<i.position.y+i.rectangle.height/2?e-this.lineHeight-this.propertySpacing:e+this.propertySpacing),n)}return new Lv(new Pv(0,0),new Mv(0,0))}drawPropertyOrAssociation(e){const t=Uv.pruneUnnecessaryInsidePoints(e.buildFullPath(),e.from.classView.value,e.to.classView.value),i=e.property.value;if(this.drawLinePropertyText(W(t[t.length-2],"Diagram path expected to have at least 2 points"),W(t[t.length-1],"Diagram path expected to have at least 2 points"),e.to.classView.value,i,!1),this.ctx.beginPath(),this.ctx.lineWidth=e===this.selectedPropertyOrAssociation?2:1,t.forEach(((e,t)=>{const i=this.modelCoordinateToCanvasCoordinate(e);0===t?this.ctx.moveTo(i.x,i.y):this.ctx.lineTo(i.x,i.y)})),this.ctx.stroke(),this.ctx.lineWidth=1,i instanceof Kb){const s=t[1],n=t[0],a=s.x,r=s.y,o=n.x,c=n.y,l=e.from;let d=0,u=0;if(c>r){const e=a+(o-a)/(c-r)*(l.classView.value.position.y-r);e>l.classView.value.position.x&&e<l.classView.value.position.x+l.classView.value.rectangle.width&&(d=(e-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,u=(l.classView.value.position.y-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}else{const e=a+(o-a)/(c-r)*(l.classView.value.position.y+l.classView.value.rectangle.height-r);e>l.classView.value.position.x&&e<l.classView.value.position.x+l.classView.value.rectangle.width&&(d=(e-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,u=(l.classView.value.position.y+l.classView.value.rectangle.height-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}if(o>a){const e=r+(c-r)/(o-a)*(l.classView.value.position.x-a);e>l.classView.value.position.y&&e<l.classView.value.position.y+l.classView.value.rectangle.height&&(d=(l.classView.value.position.x-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,u=(e-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}else{const e=r+(c-r)/(o-a)*(l.classView.value.position.x+l.classView.value.rectangle.width-a);e>l.classView.value.position.y&&e<l.classView.value.position.y+l.classView.value.rectangle.height&&(d=(l.classView.value.position.x+l.classView.value.rectangle.width-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,u=(e-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}if(i.aggregation===uC.COMPOSITE||i.aggregation===uC.SHARED){let e=Math.atan((c-r)/(o-a));e=o>=a?e:e+Math.PI,this.ctx.beginPath(),this.ctx.moveTo(d+(this.screenOffset.x+Jv(this.diamond[0],e))*this.zoom,u+(this.screenOffset.y+Xv(this.diamond[0],e))*this.zoom),this.ctx.lineTo(d+(this.screenOffset.x+Jv(this.diamond[1],e))*this.zoom,u+(this.screenOffset.y+Xv(this.diamond[1],e))*this.zoom),this.ctx.lineTo(d+(this.screenOffset.x+Jv(this.diamond[2],e))*this.zoom,u+(this.screenOffset.y+Xv(this.diamond[2],e))*this.zoom),this.ctx.lineTo(d+(this.screenOffset.x+Jv(this.diamond[3],e))*this.zoom,u+(this.screenOffset.y+Xv(this.diamond[3],e))*this.zoom),this.ctx.lineTo(d+(this.screenOffset.x+Jv(this.diamond[0],e))*this.zoom,u+(this.screenOffset.y+Xv(this.diamond[0],e))*this.zoom),i.aggregation===uC.SHARED&&(this.ctx.fillStyle=this.propertyViewSharedDiamondColor),i.aggregation===uC.COMPOSITE&&(this.ctx.fillStyle=this.propertyViewOwnedDiamondColor),this.ctx.fill(),this.ctx.stroke(),this.ctx.lineWidth=1}}}drawInheritance(e){const t=e.to.classView.value.rectangle,i=Uv.pruneUnnecessaryInsidePoints(e.buildFullPath(),e.from.classView.value,e.to.classView.value),s=W(i[i.length-2],"Diagram path expected to have at least 2 points").x,n=W(i[i.length-2],"Diagram path expected to have at least 2 points").y,a=W(i[i.length-1],"Diagram path expected to have at least 2 points").x,r=W(i[i.length-1],"Diagram path expected to have at least 2 points").y;let o=0,c=0;if(r>n){const i=s+(a-s)/(r-n)*(e.to.classView.value.position.y-n);i>e.to.classView.value.position.x&&i<e.to.classView.value.position.x+t.width&&(o=(i-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,c=(e.to.classView.value.position.y-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}else{const i=s+(a-s)/(r-n)*(e.to.classView.value.position.y+t.height-n);i>e.to.classView.value.position.x&&i<e.to.classView.value.position.x+t.width&&(o=(i-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,c=(e.to.classView.value.position.y+t.height-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}if(a>s){const i=n+(r-n)/(a-s)*(e.to.classView.value.position.x-s);i>e.to.classView.value.position.y&&i<e.to.classView.value.position.y+t.height&&(o=(e.to.classView.value.position.x-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,c=(i-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}else{const i=n+(r-n)/(a-s)*(e.to.classView.value.position.x+t.width-s);i>e.to.classView.value.position.y&&i<e.to.classView.value.position.y+t.height&&(o=(e.to.classView.value.position.x+t.width-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,c=(i-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}this.ctx.beginPath(),this.ctx.lineWidth=e===this.selectedInheritance?2:1,i.forEach(((e,t)=>{const i=this.modelCoordinateToCanvasCoordinate(e);0===t?this.ctx.moveTo(i.x,i.y):this.ctx.lineTo(i.x,i.y)})),this.ctx.stroke();let l=Math.atan((r-n)/(a-s));l=a>=s?l:l+Math.PI,this.ctx.beginPath(),this.ctx.moveTo(o+(this.screenOffset.x+Jv(this.triangle[0],l))*this.zoom,c+(this.screenOffset.y+Xv(this.triangle[0],l))*this.zoom),this.ctx.lineTo(o+(this.screenOffset.x+Jv(this.triangle[1],l))*this.zoom,c+(this.screenOffset.y+Xv(this.triangle[1],l))*this.zoom),this.ctx.lineTo(o+(this.screenOffset.x+Jv(this.triangle[2],l))*this.zoom,c+(this.screenOffset.y+Xv(this.triangle[2],l))*this.zoom),this.ctx.lineTo(o+(this.screenOffset.x+Jv(this.triangle[0],l))*this.zoom,c+(this.screenOffset.y+Xv(this.triangle[0],l))*this.zoom),this.ctx.fillStyle=this.generalizationViewInheritanceTriangeFillColor,this.ctx.fill(),this.ctx.stroke(),this.ctx.lineWidth=1}reorderDiagramDomain(e,t){const i=t.classViews.filter((t=>t!==e));return i.push(e),i}potentiallyShiftRelationships(e,t,i,s){e.forEach((e=>{-1!==t.indexOf(e.from.classView.value)&&-1!==t.indexOf(e.to.classView.value)&&gy(e,e.path.map((e=>new Pv(e.x-i,e.y-s))))}))}recenter(){if(0!==this.selectedClasses.length){const e=R(this.selectedClasses);e&&this.center(e.position.x+e.rectangle.width/2,e.position.y+e.rectangle.height/2)}else this.autoRecenter()}switchToZoomMode(){this.changeMode(this.interactionMode!==Ey.ZOOM_IN?Ey.ZOOM_IN:Ey.ZOOM_OUT,vy.NONE)}switchToViewMode(){this.changeMode(Ey.LAYOUT,vy.NONE)}switchToPanMode(){this.changeMode(Ey.PAN,vy.NONE)}switchToAddPropertyMode(){this.isReadOnly||this.changeMode(Ey.ADD_RELATIONSHIP,vy.PROPERTY)}switchToAddInheritanceMode(){this.isReadOnly||this.changeMode(Ey.ADD_RELATIONSHIP,vy.INHERITANCE)}switchToAddClassMode(){this.isReadOnly||this.changeMode(Ey.ADD_CLASS,vy.NONE)}ejectProperty(){this.isReadOnly||(this.mouseOverClassProperty?this.mouseOverClassProperty.genericType.value.rawType instanceof Ka&&this.addClassView(this.mouseOverClassProperty.genericType.value.rawType,this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(new Pv(this.cursorPosition.x,this.cursorPosition.y)))):this.selectedClassProperty&&(this.selectedClassProperty.property.genericType.value.rawType instanceof Ka&&this.addClassView(this.selectedClassProperty.property.genericType.value.rawType,this.selectedClassProperty.selectionPoint),this.selectedClassProperty=void 0))}getSuperTypeLevels(e,t,i,s){if(e.length){const n=(0,N.default)(e.flatMap((e=>e.class.value.generalizations.map((e=>new Fv(t,(0,a.default)(),rr.create(xE(e.value,Ka))))))),(e=>e.class.value));if(n.forEach((e=>this.ensureClassViewMeetMinDimensions(e))),-1===s||i<s){const a=this.getSuperTypeLevels(n,t,i+1,s);return a.push(e),a}return[e]}return[]}layoutTaxonomy(e,t,i,s){e.reverse();return[e.flatMap(((t,n)=>{let a=0,r=0,o=0,c=0;if(n>0){const t=e[n-1];if(t.length){const e=[...t].sort(((e,t)=>e.position.x-t.position.x));o=e[0].position.x,a=e[e.length-1].position.x+e[e.length-1].rectangle.width-e[0].position.x;const i=[...t].sort(((e,t)=>e.position.y-t.position.y));c=i[0].position.y,r=i[i.length-1].position.y+i[i.length-1].rectangle.height-i[0].position.y}}const l=Math.max(...t.map((e=>e.rectangle.height))),d=o+a/2-t.map((e=>e.rectangle.width)).reduce(((e,t)=>e+t+10))/2,u=s?c-l-30:c+r+30;return(i||n>0)&&(_y(t[0],new Pv(d,u)),t.forEach(((e,i)=>{if(i>0){const s=t[i-1];_y(e,new Pv(s.position.x+s.rectangle.width+10,u))}}))),t})),(s?e:e.slice().reverse()).slice(0,e.length-1).flatMap(((i,s)=>i.flatMap((i=>e[s+1].flatMap((e=>i.class.value.generalizations.map((e=>e.value.rawType)).includes(e.class.value)?new zv(t,i,e):[]))))))]}keydown(e){if("Delete"===e.code)this.isReadOnly||(this.selectedClasses.forEach((e=>{QC(this.diagram,e),ZC(this.diagram,this.diagram.associationViews.filter((t=>!(t.from.classView.value===e||t.to.classView.value===e)))),ty(this.diagram,this.diagram.generalizationViews.filter((t=>!(t.from.classView.value===e||t.to.classView.value===e)))),ny(this.diagram,this.diagram.propertyViews.filter((t=>!(t.from.classView.value===e||t.to.classView.value===e))))})),this.selectedPropertyOrAssociation instanceof $C?ey(this.diagram,this.selectedPropertyOrAssociation):this.selectedPropertyOrAssociation instanceof Gv&&ry(this.diagram,this.selectedPropertyOrAssociation),this.selectedInheritance&&this.diagram.generalizationViews.find((e=>e===this.selectedInheritance))&&sy(this.diagram,this.selectedInheritance),this.setSelectedClasses([]),this.drawScreen());else if("KeyE"===e.code)this.selectedClassProperty?(this.handleEditProperty(this.selectedClassProperty.property,this.selectedClassProperty.selectionPoint,void 0),e.preventDefault()):this.selectedPropertyOrAssociation?(this.handleEditProperty(this.selectedPropertyOrAssociation.property.value,this.selectedPoint??(this.selectedPropertyOrAssociation.path.length?this.selectedPropertyOrAssociation.path[0]:this.selectedPropertyOrAssociation.from.classView.value.center()),this.selectedPropertyOrAssociation),e.preventDefault()):1===this.selectedClasses.length&&this.handleEditClassView(this.selectedClasses[0]);else if(e.altKey&&"KeyP"===e.code)this.isReadOnly||0!==this.selectedClasses.length&&(this.selectedClasses.forEach((e=>{oy(e,!e.hideProperties)})),this.drawScreen());else if(e.altKey&&"KeyS"===e.code)this.isReadOnly||0!==this.selectedClasses.length&&(this.selectedClasses.forEach((e=>{cy(e,!e.hideStereotypes)})),this.drawScreen());else if(e.altKey&&"KeyT"===e.code)this.isReadOnly||0!==this.selectedClasses.length&&(this.selectedClasses.forEach((e=>{ly(e,!e.hideTaggedValues)})),this.drawScreen());else if(e.altKey&&"ArrowDown"===e.code)this.isReadOnly||1!==this.selectedClasses.length||this.handleAddSimpleProperty(this.selectedClasses[0]);else if("ArrowUp"===e.code){const e=this.getSuperTypeLevels(this.selectedClasses,this.diagram,0,1),t=this.layoutTaxonomy(e,this.diagram,!1,!0);t[0].forEach((e=>qC(this.diagram,e))),t[1].forEach((e=>iy(this.diagram,e))),this.drawScreen()}else if("ArrowDown"===e.code){const e=(0,N.default)(this.selectedClasses.flatMap((e=>e.class.value._subclasses.flatMap((e=>new Fv(this.diagram,(0,a.default)(),rr.create(e)))))),(e=>e.class.value));if(e.length>0){e.forEach((e=>this.ensureClassViewMeetMinDimensions(e)));const t=this.layoutTaxonomy([e,this.selectedClasses],this.diagram,!1,!1);t[0].forEach((e=>qC(this.diagram,e))),t[1].forEach((e=>iy(this.diagram,e)))}this.drawScreen()}}mouseup(e){const t=this.resolveMouseEventCoordinate(e);switch(this.interactionMode){case Ey.ZOOM_IN:{const e=Math.round(100*this.zoom);let i;i=e<=Cy[0]-10?10*Math.floor(e/10)+10:e>=Cy[Cy.length-1]?100*Math.floor(e/100)+100:W(Cy.find((t=>t>e))),this.zoomPoint(i/100,this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(t)));break}case Ey.ZOOM_OUT:{const e=Math.round(100*this.zoom);let i;i=e<=Cy[0]?10*Math.ceil(e/10)-10:e>=Cy[Cy.length-1]+100?100*Math.ceil(e/100)-100:W((0,C.default)(Cy,(t=>t<e))),this.zoomPoint(i/100,this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(t)));break}}if(!this.isReadOnly)switch(this.interactionMode){case Ey.LAYOUT:this.diagram.generalizationViews.forEach((e=>hy(e))),this.diagram.associationViews.forEach((e=>hy(e))),this.diagram.propertyViews.forEach((e=>hy(e)));break;case Ey.ADD_CLASS:{const e=this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(t));this.onAddClassViewClick(e),this.changeMode(Ey.LAYOUT,vy.NONE);break}case Ey.ADD_RELATIONSHIP:if(this.startClassView&&this.selectionStart&&this.handleAddRelationship){const e=this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(t));for(let t=this.diagram.classViews.length-1;t>=0;t--){const i=this.diagram.classViews[t];if(i.contains(e.x,e.y)){const t=this.handleAddRelationship(this.startClassView,i);t&&(dy(t.from,-(this.startClassView.position.x+this.startClassView.rectangle.width/2-this.selectionStart.x)),uy(t.from,-(this.startClassView.position.y+this.startClassView.rectangle.height/2-this.selectionStart.y)),dy(t.to,-(i.position.x+i.rectangle.width/2-e.x)),uy(t.to,-(i.position.y+i.rectangle.height/2-e.y)))}}this.changeMode(Ey.LAYOUT,vy.NONE)}}this.setLeftClick(!1),this.setMiddleClick(!1),this.setRightClick(!1),this.setSelectedClassCorner(void 0),this.setSelectionStart(void 0),this.drawScreen()}mousedblclick(e){const t=this.resolveMouseEventCoordinate(e);if([Ey.ADD_RELATIONSHIP,Ey.ADD_CLASS,Ey.ZOOM_IN,Ey.ZOOM_OUT].includes(this.interactionMode))return;const i=this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(t));if(this.mouseOverClassProperty&&this.onClassPropertyDoubleClick)return void this.onClassPropertyDoubleClick(this.mouseOverClassProperty,i,void 0);if(this.mouseOverClassName&&this.onClassNameDoubleClick)return void this.onClassNameDoubleClick(this.mouseOverClassName,i);const s=this.diagram.classViews.find((e=>e.contains(i.x,i.y)));s&&this.onClassViewDoubleClick?this.onClassViewDoubleClick(s,i):this.mouseOverPropertyHolderViewLabel&&this.onClassPropertyDoubleClick?this.onClassPropertyDoubleClick(this.mouseOverPropertyHolderViewLabel.property.value,i,this.mouseOverPropertyHolderViewLabel):this.onBackgroundDoubleClick&&this.onBackgroundDoubleClick(i)}mousedown(e){const t=this.resolveMouseEventCoordinate(e);this.setSelectionStart(void 0),this.setSelectedClassCorner(void 0),this.setSelectedPropertyOrAssociation(void 0),this.setSelectedInheritance(void 0),this.selection=void 0,this.selectedClassProperty=void 0,this.selectedPoint=void 0,this.startClassView=void 0;const i=this.eventCoordinateToCanvasCoordinate(t),s=this.canvasCoordinateToModelCoordinate(i);if(0===e.button)switch(this.setLeftClick(!0),this.interactionMode){case Ey.PAN:return void(this.positionBeforeLastMove=t);case Ey.LAYOUT:for(let e=this.diagram.classViews.length-1;e>=0;e--){const t=this.diagram.classViews[e];if(Qv(t).contains(s.x,s.y)){this.setSelectedClasses([]),this.setSelectedClassCorner(this.diagram.classViews[e]),this.isReadOnly||XC(this.diagram,this.reorderDiagramDomain(W(this.selectedClassCorner),this.diagram));break}}if(!this.selectedClassCorner)if(this.mouseOverClassProperty)this.selectedClassProperty={property:this.mouseOverClassProperty,selectionPoint:s},this.setSelectedClasses([]);else{let e=!1;for(let t=this.diagram.classViews.length-1;t>=0;t--){const n=this.diagram.classViews[t];if(n.contains(s.x,s.y)){0!==this.selectedClasses.length&&-1!==this.selectedClasses.indexOf(n)||this.setSelectedClasses([n]),this.isReadOnly||XC(this.diagram,this.reorderDiagramDomain(this.selectedClasses[0],this.diagram)),this.clickX=i.x/this.zoom-this.screenOffset.x,this.clickY=i.y/this.zoom-this.screenOffset.y,this._selectedClassesInitialPositions=this.selectedClasses.map((e=>({classView:e,oldPos:new Pv(e.position.x,e.position.y)}))),e=!0;break}}if(e||this.setSelectedClasses([]),!this.selectedClasses.length){for(const e of this.diagram.generalizationViews){const t=my(e,s.x,s.y,this.zoom,!this.isReadOnly);if(t){this.selectedPoint=t,this.setSelectedInheritance(e);break}}if(!this.selectedPoint)for(const e of this.diagram.associationViews){const t=my(e,s.x,s.y,this.zoom,!this.isReadOnly);if(t){this.selectedPoint=t,this.setSelectedPropertyOrAssociation(e);break}}if(!this.selectedPoint)for(const e of this.diagram.propertyViews){const t=my(e,s.x,s.y,this.zoom,!this.isReadOnly);if(t){this.selectedPoint=t,this.setSelectedPropertyOrAssociation(e);break}}this.selectedPoint||this.setSelectionStart(s)}}break;case Ey.ADD_RELATIONSHIP:this.setSelectionStart(s),this.startClassView=void 0;for(let e=this.diagram.classViews.length-1;e>=0;e--){const t=this.diagram.classViews[e];t.contains(s.x,s.y)&&(this.startClassView=t)}this.startClassView||this.changeMode(Ey.LAYOUT,vy.NONE)}else{if(1===e.button)return this.setMiddleClick(!0),void(this.positionBeforeLastMove=t);if(2===e.button)return this.setRightClick(!0),this.positionBeforeLastMove=t,void(this.mouseOverClassView&&(this.onClassViewRightClick(this.mouseOverClassView,s),this.setRightClick(!1)))}this.clearScreen(),this.drawAll()}mousewheel(e){const t=this.resolveMouseEventCoordinate(e);if(e.preventDefault(),e.stopImmediatePropagation(),Math.abs(e.deltaY)<=Math.abs(e.deltaX))return;const i=this.zoom-e.deltaY/120*.05;this.executeZoom(i,this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(t)))}mousemove(e){const t=this.resolveMouseEventCoordinate(e);if(this.cursorPosition=t,this.rightClick||this.middleClick||this.leftClick&&this.interactionMode===Ey.PAN)this.screenOffset=new Pv(this.screenOffset.x+(t.x-this.positionBeforeLastMove.x)/this.zoom,this.screenOffset.y+(t.y-this.positionBeforeLastMove.y)/this.zoom),this.positionBeforeLastMove=t,this.clearScreen(),this.drawAll();else if(this.leftClick){const e=this.eventCoordinateToCanvasCoordinate(t),i=this.canvasCoordinateToModelCoordinate(e);switch(this.interactionMode){case Ey.LAYOUT:if(this.selectedClassCorner&&(fy(this.selectedClassCorner,new Mv(i.x-this.selectedClassCorner.position.x,i.y-this.selectedClassCorner.position.y)),by(this.selectedClassCorner),this.drawClassView(this.selectedClassCorner),this.drawScreen()),!this.selectionStart&&this.selectedClasses.length&&!this.isReadOnly){let t=0,i=0;this.selectedClasses.forEach(((s,n)=>{const a=this._selectedClassesInitialPositions.length>n?this._selectedClassesInitialPositions[n]:void 0;if(a){const n=e.x/this.zoom-this.screenOffset.x-(this.clickX-a.oldPos.x),r=e.y/this.zoom-this.screenOffset.y-(this.clickY-a.oldPos.y);t=s.position.x-n,i=s.position.y-r,_y(s,new Pv(n,r)),by(s)}})),this.potentiallyShiftRelationships(this.diagram.associationViews,this.selectedClasses,t,i),this.potentiallyShiftRelationships(this.diagram.propertyViews,this.selectedClasses,t,i),this.potentiallyShiftRelationships(this.diagram.generalizationViews,this.selectedClasses,t,i),this.drawScreen()}if(this.selectedPoint&&(this.selectedPropertyOrAssociation?py(this.selectedPropertyOrAssociation,this.selectedPoint,i):this.selectedInheritance&&py(this.selectedInheritance,this.selectedPoint,i),this.selectedPoint=i,this.drawScreen()),this.selectionStart){this.clearScreen(),this.drawAll();const t=this.modelCoordinateToCanvasCoordinate(this.selectionStart);this.ctx.fillStyle=this.selectionBoxBorderColor,this.ctx.fillRect(t.x,t.y,e.x-t.x,e.y-t.y),this.ctx.strokeRect(t.x,t.y,e.x-t.x,e.y-t.y);const i=(e.x-t.x)/this.zoom,s=(e.y-t.y)/this.zoom;this.selection=new Lv(new Pv(i>0?this.selectionStart.x:this.selectionStart.x+i,s>0?this.selectionStart.y:this.selectionStart.y+s),new Mv(Math.abs(i),Math.abs(s))),this.setSelectedClasses([]);for(const e of this.diagram.classViews)(Zv(this.selection,e)||Zv(e,this.selection))&&this.setSelectedClasses([...this.selectedClasses,e])}break;case Ey.ADD_RELATIONSHIP:if(this.selectionStart&&this.startClassView){this.clearScreen(),this.drawBoundingBox();const t=this.modelCoordinateToCanvasCoordinate(this.selectionStart);this.ctx.moveTo(t.x,t.y),this.ctx.lineTo(e.x,e.y),this.ctx.stroke(),this.drawDiagram()}}}else{this.drawScreen();const e=this.eventCoordinateToCanvasCoordinate(t),i=this.canvasCoordinateToModelCoordinate(e);this.setMouseOverClassView(void 0),this.setMouseOverClassName(void 0),this.setMouseOverClassCorner(void 0),this.setMouseOverClassProperty(void 0),this.setMouseOverPropertyHolderViewLabel(void 0);for(const t of this.diagram.classViews.slice().reverse())if(t.contains(i.x,i.y)){this.setMouseOverClassView(t),Qv(t).contains(i.x,i.y)&&this.setMouseOverClassCorner(t);const s=t.class.value;let n=t.position.y+this.classViewSpaceY;n+=t.hideStereotypes?0:s.stereotypes.length*this.lineHeight;const a=this.computeClassNameWidth(t);new Lv(this.modelCoordinateToCanvasCoordinate(new Pv(t.position.x+(t.rectangle.width-a)/2,n)),new Mv(a,this.lineHeight)).contains(e.x,e.y)&&this.setMouseOverClassName(t),n+=this.lineHeight,n+=t.hideTaggedValues?0:s.taggedValues.length*this.lineHeight,n+=2*this.classViewSpaceY;for(const i of PE(s))this.hasPropertyView(t,i)||(this.ctx.font=`${(this.fontSize-1)*this.zoom}px ${this.fontFamily}`,new Lv(this.modelCoordinateToCanvasCoordinate(new Pv(t.position.x+this.classViewSpaceX,n)),new Mv(this.drawClassViewProperty(t,i,0,0,!0)*this.zoom,this.lineHeight*this.zoom)).contains(e.x,e.y)&&this.setMouseOverClassProperty(i),n+=this.lineHeight);break}const s=[...this.diagram.propertyViews,...this.diagram.associationViews];for(const e of s){const t=Uv.pruneUnnecessaryInsidePoints(e.buildFullPath(),e.from.classView.value,e.to.classView.value);if(this.drawLinePropertyText(W(t[t.length-2],"Diagram path expected to have at least 2 points"),W(t[t.length-1],"Diagram path expected to have at least 2 points"),e.to.classView.value,e.property.value,!1).contains(i.x,i.y)){this.setMouseOverPropertyHolderViewLabel(e);break}}}}}class Ay extends rS{diagramInfo;_renderer;diagram;diagramClasses;graph;diagramPath;filePath;fileLine;fileColumn;constructor(e,t,i,s,n,a){super(e),(0,Ve.makeObservable)(this,{_renderer:Ve.observable,diagram:Ve.observable,diagramInfo:Ve.observable,diagramName:Ve.computed,diagramCursorClass:Ve.computed,addClassView:Ve.flow,rebuild:Ve.action,setRenderer:Ve.action}),this.diagramPath=i,this.filePath=s,this.fileLine=n,this.fileColumn=a,this.diagramInfo=t;const[r,o,c]=UC(t);this.diagram=r,this.graph=o,this.diagramClasses=c}get label(){return XT(this.diagramPath)}get description(){return`Diagram: ${XT(this.diagramPath)}`}get diagramName(){return fE(this.diagramPath)}match(e){return e instanceof Ay&&this.diagramPath===e.diagramPath}get renderer(){return W(this._renderer,"Diagram renderer must be initialized (this is likely caused by calling this method at the wrong place)")}get isDiagramRendererInitialized(){return Boolean(this._renderer)}get diagramCursorClass(){if(!this.isDiagramRendererInitialized)return"";if(this.renderer.middleClick||this.renderer.rightClick)return"diagram-editor__cursor--grabbing";switch(this.renderer.interactionMode){case Ey.PAN:return this.renderer.leftClick?"diagram-editor__cursor--grabbing":"diagram-editor__cursor--grab";case Ey.ZOOM_IN:return"diagram-editor__cursor--zoom-in";case Ey.ZOOM_OUT:return"diagram-editor__cursor--zoom-out";case Ey.LAYOUT:return this.renderer.selectionStart?"diagram-editor__cursor--crosshair":this.renderer.mouseOverClassCorner||this.renderer.selectedClassCorner?"diagram-editor__cursor--resize":this.renderer.mouseOverClassView?"diagram-editor__cursor--pointer":"";default:return""}}rebuild(e){this.diagramInfo=e;const[t,i,s]=UC(e);this.diagram=t,this.graph=i,this.diagramClasses=s,this.fileLine=e.diagram.sourceInformation.line,this.fileColumn=e.diagram.sourceInformation.column}setupRenderer(){this.renderer.onClassViewDoubleClick=e=>{const t=this.diagramClasses.get(e.class.value.path)?.sourceInformation;if(t){const e=new QT(t.sourceId,t.startLine,t.startColumn);(0,Ve.flowResult)(this.ideStore.executeNavigation(e)).catch(this.ideStore.applicationStore.alertUnhandledError)}}}setRenderer(e){this._renderer=e}*addClassView(e,t){const i=((e,t,i)=>{e.profiles.forEach((e=>{const i=`${e.package}${""===e.package?"":Ia}${e.name}`;if(!t.getOwnNullableProfile(i)){const i=new tE(e.name);SE(AE(t.root,e.package,!0,new Map),i),t.setOwnProfile(i.path,i),e.tags.forEach((e=>M(i.p_tags,new pC(i,e)))),e.stereotypes.forEach((e=>M(i.p_stereotypes,new hC(i,e))))}})),e.enumerations.forEach((e=>{const i=`${e.package}${""===e.package?"":Ia}${e.name}`;if(!t.getOwnNullableEnumeration(i)){const i=new Xa(e.name);SE(AE(t.root,e.package,!0,new Map),i),t.setOwnType(i.path,i)}}));const s=e.class,n=`${s.package}${""===s.package?"":Ia}${s.name}`;let a=t.getOwnNullableClass(n);a||(a=new Ka(s.name),SE(AE(t.root,s.package,!0,new Map),a),t.setOwnType(a.path,a));const r=i.get(a.path)?.isStubbed??!0;return i.set(a.path,{sourceInformation:s.sourceInformation,isStubbed:!1}),e.specializations.forEach((e=>{const s=W(a),n=DC(W(`${e.package}${""===e.package?"":Ia}${e.name}`),t,i,e.sourceInformation);M(s._subclasses,n),n.generalizations.map((e=>e.value.rawType)).includes(s)||M(n.generalizations,qb.create(new Qb(s)))})),r&&jC(a,s,t,i),a})((0,Ne.deserialize)(LC,yield this.ideStore.client.getDiagramClassInfo(e)),this.graph,this.diagramClasses),s=this.renderer.addClassView(i,t);s&&(s.id=((e,t)=>{if(!t.match(/^[\w_-]+$/))throw new Error("Token must only contain digits, letters, or special characters _ and -");const i=e.map((e=>{const i=e.match(new RegExp(`^${t}_(?<count>\\d+)$`));return i?.groups?.count?parseInt(i.groups.count,10):0})).reduce(((e,t)=>Math.max(e,t)),0);return`${t}_${i+1}`})(this.diagram.classViews.map((e=>e.id)),"cview"))}registerCommands(){const e=()=>this.ideStore.tabManagerState.currentTab===this&&this.isDiagramRendererInitialized;this.ideStore.applicationStore.commandService.registerCommand({key:dS.RECENTER,trigger:e,action:()=>this.renderer.recenter()}),this.ideStore.applicationStore.commandService.registerCommand({key:dS.USE_ZOOM_TOOL,trigger:e,action:()=>this.renderer.switchToZoomMode()}),this.ideStore.applicationStore.commandService.registerCommand({key:dS.USE_VIEW_TOOL,trigger:e,action:()=>this.renderer.switchToViewMode()}),this.ideStore.applicationStore.commandService.registerCommand({key:dS.USE_PAN_TOOL,trigger:e,action:()=>this.renderer.switchToPanMode()})}deregisterCommands(){[dS.RECENTER,dS.USE_ZOOM_TOOL,dS.USE_VIEW_TOOL,dS.USE_PAN_TOOL].forEach((e=>this.ideStore.applicationStore.commandService.deregisterCommand(e)))}}class Iy{text="";isCaseSensitive=!1;isRegExp=!1;constructor(){(0,Ve.makeObservable)(this,{text:Ve.observable,isCaseSensitive:Ve.observable,isRegExp:Ve.observable,reset:Ve.action,setText:Ve.action,setCaseSensitive:Ve.action,setRegExp:Ve.action})}reset(){this.setText(""),this.setCaseSensitive(!1),this.setRegExp(!1)}setText(e){this.text=e}setCaseSensitive(e){this.isCaseSensitive=e}setRegExp(e){this.isRegExp=e}}class xy extends B{}const Oy=/^(?:(?:\w[\w$]*)::)*\w[\w$]*$/,wy=/^\/?(?:\w+\/)*\w+(?:\.\w+)*$/,Ry=/(?:(?<url>https?:[/]{2}[^\s"'!*(){}|\\^<>`]*[^\s"':,.!?{}|\\^~[\]`()<>])|(?<path>resource:(?<path_sourceId>\/?(?:\w+\/)*\w+(?:\.\w+)*) (?:line:(?<path_line>\d+)) (?:column:(?<path_column>\d+))))/;class ky{ideStore;constructor(e){this.ideStore=e}}class Py extends ky{result;constructor(e,t){super(e),this.result=t}}class My extends ky{result;constructor(e,t){super(e),this.result=t}}class Ly{ideStore;usageConcept;searchEntries=[];constructor(e,t,i,s){(0,Ve.makeObservable)(this,{searchEntries:Ve.observable,numberOfFiles:Ve.computed,numberOfResults:Ve.computed}),this.ideStore=e,this.usageConcept=t;const n=new Map;i.forEach(((e,t)=>{let i;n.has(e.source)?i=W(n.get(e.source)):(i=new YS,i.sourceId=e.source,n.set(e.source,i));const a=new $S(e.source,e.startLine,e.startColumn,e.endLine,e.endColumn);a.preview=s.find((t=>t.sourceId===e.source&&t.startLine===e.startLine&&t.startColumn===e.startColumn&&t.endLine===e.endLine&&t.endColumn===e.endColumn))?.preview,i.coordinates.push(a)})),this.searchEntries=Array.from(n.keys()).sort(((e,t)=>e.localeCompare(t))).map((e=>{const t=W(n.get(e));return t.setCoordinates(t.coordinates.sort(((e,t)=>e.startColumn-t.startColumn)).sort(((e,t)=>e.startLine-t.startLine))),t}))}dismissSearchEntry(e){F(this.searchEntries,e),this.searchEntries.length||this.ideStore.setReferenceUsageResult(void 0)}get numberOfFiles(){return this.searchEntries.length}get numberOfResults(){return this.searchEntries.flatMap((e=>e.coordinates)).length}}class Fy{searchState;searchEntries=[];constructor(e,t){(0,Ve.makeObservable)(this,{searchEntries:Ve.observable,numberOfFiles:Ve.computed,numberOfResults:Ve.computed}),this.searchState=e,this.searchEntries=t}dismissSearchEntry(e){F(this.searchEntries,e),this.searchEntries.length||this.searchState.setResult(void 0)}get numberOfFiles(){return this.searchEntries.length}get numberOfResults(){return this.searchEntries.flatMap((e=>e.coordinates)).length}}class Dy{ideStore;loadState=Ge.create();searchInput;text="";isCaseSensitive=!1;isRegExp=!1;result;constructor(e){(0,Ve.makeObservable)(this,{text:Ve.observable,isCaseSensitive:Ve.observable,isRegExp:Ve.observable,result:Ve.observable,setText:Ve.action,setCaseSensitive:Ve.action,setRegExp:Ve.action,setResult:Ve.action,search:Ve.flow}),this.ideStore=e}setSearchInput(e){this.searchInput=e}focus(){this.searchInput?.focus()}select(){this.searchInput?.select()}*search(){if(!this.loadState.isInProgress){this.loadState.inProgress();try{const e=(yield this.ideStore.client.searchText(this.text,this.isCaseSensitive,this.isRegExp)).map((e=>(e=>(0,Ne.deserialize)(YS,e))(e)));this.setResult(new Fy(this,e)),this.loadState.pass()}catch(e){G(e),this.ideStore.applicationStore.notificationService.notifyError(e),this.loadState.fail()}}}setText(e){this.text=e}setCaseSensitive(e){this.isCaseSensitive=e}setRegExp(e){this.isRegExp=e}setResult(e){this.result=e}}class By{applicationStore;initState=Ge.create();directoryTreeState;conceptTreeState;client;activePanelMode=ET.TERMINAL;panelGroupDisplayState=new lC({initial:0,default:300,snap:100});activeActivity=bT.CONCEPT_EXPLORER;sideBarDisplayState=new lC({initial:300,default:300,snap:150});tabManagerState=new oS(this);executionState=Ge.create();navigationStack=[];fileSearchCommandLoadState=Ge.create();fileSearchCommandState=new Iy;openFileSearchCommand=!1;fileSearchCommandResults=[];codeFixSuggestion;referenceUsageLoadState=Ge.create();referenceUsageResult;textSearchState;testRunState=Ge.create();testRunnerState;constructor(e){var t;(0,Ve.makeObservable)(this,{activePanelMode:Ve.observable,activeActivity:Ve.observable,navigationStack:Ve.observable,openFileSearchCommand:Ve.observable,fileSearchCommandResults:Ve.observable,fileSearchCommandState:Ve.observable,codeFixSuggestion:Ve.observable,referenceUsageResult:Ve.observable,testRunnerState:Ve.observable,setCodeFixSuggestion:Ve.action,setReferenceUsageResult:Ve.action,setOpenFileSearchCommand:Ve.action,setActivePanelMode:Ve.action,setActiveActivity:Ve.action,setTestRunnerState:Ve.action,pullInitializationActivity:Ve.action,pullExecutionStatus:Ve.action,initialize:Ve.flow,checkIfSessionWakingUp:Ve.flow,loadDiagram:Ve.flow,loadFile:Ve.flow,execute:Ve.flow,executeGo:Ve.flow,manageExecuteGoResult:Ve.flow,executeTests:Ve.flow,executeFullTestSuite:Ve.flow,executeNavigation:Ve.flow,navigateBack:Ve.flow,fullReCompile:Ve.flow,command:Ve.flow,findUsagesFromCoordinate:Ve.flow,findUsages:Ve.flow,renameConcept:Ve.flow,movePackageableElements:Ve.flow,updateFileUsingSuggestionCandidate:Ve.flow,updateFile:Ve.flow,searchFile:Ve.flow,createNewDirectory:Ve.flow,createNewFile:Ve.flow,renameFile:Ve.flow,deleteDirectoryOrFile:Ve.flow}),this.applicationStore=e,this.textSearchState=new Dy(this),this.directoryTreeState=new NS(this),this.conceptTreeState=new IS(this),this.client=new cC(new Se({baseUrl:this.applicationStore.config.useDynamicPureServer?window.location.origin:this.applicationStore.config.pureUrl})),(t=this).applicationStore.terminalService.terminal.setup({webLinkProvider:{handler:(e,i)=>{const s=i.match(Ry);s?.groups?.url?t.applicationStore.navigationService.navigator.visitAddress(s.groups.url):s?.groups?.path&&s.groups.path_sourceId&&s.groups.path_column&&s.groups.path_line&&(0,Ve.flowResult)(t.loadFile(s.groups.path_sourceId,new QT(s.groups.path_sourceId,Number.parseInt(s.groups.path_line,10),Number.parseInt(s.groups.path_column,10)))).catch(t.applicationStore.alertUnhandledError)},regex:Ry},commands:[{command:mS.GO,description:"Run the go() function in welcome file",usage:"go",aliases:["compile","executeGo"],handler:async e=>(0,Ve.flowResult)(t.executeGo()).catch(t.applicationStore.alertUnhandledError)},{command:mS.TEST,description:"Run the test suite (by path if specified)",usage:"test [/some/path]",handler:async e=>{const i=R(e);!i||i.match(Oy)?await(0,Ve.flowResult)(t.executeTests(i??_T)).catch(t.applicationStore.alertUnhandledError):t.applicationStore.terminalService.terminal.fail("command requires a valid package/concept path")}},{command:mS.REMOVE,description:"Remove a file or directory",usage:"rm /some/path",handler:async e=>{const i=R(e);i?.match(wy)?await(0,Ve.flowResult)(t.deleteDirectoryOrFile(i,void 0,void 0)).catch(t.applicationStore.alertUnhandledError):t.applicationStore.terminalService.terminal.fail("rm command requires a valid file/directory path")}},{command:mS.MOVE,description:"Move a file",usage:"mv /old/path /new/path",handler:async e=>{const i=e[0];if(!i?.match(wy))return void t.applicationStore.terminalService.terminal.fail("command requires a valid old file path");const s=e[1];s?.match(wy)?await(0,Ve.flowResult)(t.renameFile(i,s)).catch(t.applicationStore.alertUnhandledError):t.applicationStore.terminalService.terminal.fail("command requires a valid new file path")}},{command:mS.NEW_DIRECTORY,description:"Create a new directory",usage:"mkdir /some/path",handler:async e=>{const i=e[0];i?.match(wy)?await(0,Ve.flowResult)(t.createNewDirectory(i)).catch(t.applicationStore.alertUnhandledError):t.applicationStore.terminalService.terminal.fail("command requires a valid directory path")}},{command:mS.NEW_FILE,description:"Create a new file",usage:"touch /some/path",handler:async e=>{const i=e[0];i?.match(wy)?await(0,Ve.flowResult)(t.createNewDirectory(i)).catch(t.applicationStore.alertUnhandledError):t.applicationStore.terminalService.terminal.fail("command requires a valid path")}},{command:mS.WELCOME,description:"Open the welcome file",usage:"welcome",aliases:["start"],handler:async()=>{await(0,Ve.flowResult)(t.loadFile(gT)).catch(t.applicationStore.alertUnhandledError)}},{command:mS.OPEN_FILE,description:"Open a file",usage:"open /some/file/path",aliases:["edit","code","vi"],handler:async e=>{const i=e[0];i?.match(Oy)?await(0,Ve.flowResult)(t.loadFile(i)).catch(t.applicationStore.alertUnhandledError):t.applicationStore.terminalService.terminal.fail("command requires a valid file path")}},{command:mS.OPEN_DIRECTORY,description:"Open a directory or a package",usage:"cd /some/directory/path | cd some::package::path",handler:async e=>{const i=e[0];if(i&&(i.match(wy)||i.match(Oy)))try{i.match(Oy)?await(0,Ve.flowResult)(t.conceptTreeState.revealConcept(i,{forceOpenExplorerPanel:!0,packageOnly:!0})):await(0,Ve.flowResult)(t.directoryTreeState.revealPath(i,{forceOpenExplorerPanel:!0,directoryOnly:!0}))}catch(e){G(e),t.applicationStore.terminalService.terminal.fail(e.message)}else t.applicationStore.terminalService.terminal.fail("command requires a valid directory or concept path")}},{command:mS.LIST_DIRECTORY,description:"List children of a directory or package",usage:"cd /some/directory/path | cd some::package::path | cd ::",handler:async e=>{const i=e[0];if(i&&(i.match(wy)||i.match(Oy)||[fT,_T].includes(i)))try{i.match(Oy)||i===_T?t.applicationStore.terminalService.terminal.output((await t.client.getConceptChildren(i)).map((e=>(0,Ne.deserialize)(JT,e))).map((e=>e.li_attr instanceof YT?`${ht.BRIGHT_CYAN}${e.text}${ht.RESET}`:e.text)).join("\n")):t.applicationStore.terminalService.terminal.output((await t.client.getDirectoryChildren(i)).map((e=>(0,Ne.deserialize)(SS,e))).map((e=>e.isFolderNode?`${ht.BRIGHT_CYAN}${e.text}${ht.RESET}`:e.text)).join("\n"))}catch(e){G(e),t.applicationStore.terminalService.terminal.fail(e.message)}else t.applicationStore.terminalService.terminal.fail("command requires a valid directory or package path")}},{command:mS.CLEAR,description:"Clear the terminal",usage:"clear",handler:async e=>{t.applicationStore.terminalService.terminal.clear()}},{command:mS.ECHO,description:"Print text",usage:"echo 'some string'",handler:async(e,i,s)=>{const n=s.substring(s.indexOf(i)+i.length).trim();t.applicationStore.terminalService.terminal.output(n.replaceAll(/\\u001b/g,""))}},{command:mS.ANSI,description:"Show common ANSI escape sequences used for styling",usage:"ansi",handler:async e=>(t.applicationStore.terminalService.terminal.showCommonANSIEscapeSequences(),Promise.resolve())},{command:mS.HELP,description:"Show help",usage:"help",handler:async e=>(t.applicationStore.terminalService.terminal.showHelp(),Promise.resolve())}]})}setOpenFileSearchCommand(e){this.openFileSearchCommand=e}setActivePanelMode(e){this.activePanelMode=e}setCodeFixSuggestion(e){this.codeFixSuggestion=e}setReferenceUsageResult(e){this.referenceUsageResult=e}setTestRunnerState(e){this.testRunnerState=e}cleanUp(){this.applicationStore.alertService.setBlockingAlert(void 0),this.applicationStore.alertService.setActionAlertInfo(void 0),this.applicationStore.terminalService.terminal.dispose()}*initialize(e,t,i,s){if(this.initState.isInInitialState){this.client.mode=i,this.client.compilerMode=s,this.initState.inProgress();try{this.applicationStore.alertService.setBlockingAlert({message:"Loading Pure IDE...",prompt:"Please be patient as we are building the initial application state",showLoading:!0});const i=this.client.initialize(!e).catch((e=>{G(e),this.applicationStore.notificationService.notifyError(e),this.initState.fail(),this.applicationStore.alertService.setBlockingAlert({message:"Failed to initialize IDE",prompt:"Before debugging, make sure the server is running then restart the application"})}));yield this.pullInitializationActivity(),this.applicationStore.alertService.setBlockingAlert(void 0);const s=(0,Ve.flowResult)(this.loadFile(gT)),a=this.directoryTreeState.initialize(),r=this.conceptTreeState.initialize(),o=(n=yield i).error?n.source?(0,Ne.deserialize)(wS,n):(0,Ne.deserialize)(OS,n):(0,Ne.deserialize)(xS,n);o.text&&(this.applicationStore.terminalService.terminal.output(o.text,{systemCommand:"initialize application"}),this.setActivePanelMode(ET.TERMINAL),this.panelGroupDisplayState.open()),o instanceof OS?o.sessionError?this.applicationStore.alertService.setBlockingAlert({message:"Session corrupted",prompt:o.sessionError}):o instanceof wS&&(yield(0,Ve.flowResult)(this.loadFile(o.source,new ZT(o.source,o.line,o.column,new xy((o.text??"").split("\n").filter(Boolean)[0]))))):(t&&(yield t()),yield Promise.all([s,a,r])),this.initState.pass()}catch(e){G(e),this.applicationStore.notificationService.notifyError(e),this.initState.fail(),this.applicationStore.alertService.setActionAlertInfo({message:"Failed to initialize IDE",prompt:"This can either due to an internal server error, which you would need to manually resolve; or a compilation, which you can proceed to debug",type:Wt.CAUTION,actions:[{label:"Compile to debug",type:Kt.PROCEED_WITH_CAUTION,default:!0,handler:()=>{(0,Ve.flowResult)(this.executeGo()).catch(this.applicationStore.alertUnhandledError)}}]})}finally{this.applicationStore.terminalService.terminal.clear()}var n}else this.applicationStore.notificationService.notifyIllegalState("Editor store is re-initialized")}*checkIfSessionWakingUp(e){this.applicationStore.alertService.setBlockingAlert({message:e??"Checking IDE session...",showLoading:!0}),yield this.pullInitializationActivity((t=>{t.text&&this.applicationStore.alertService.setBlockingAlert({message:e??"Checking IDE session...",prompt:t.text,showLoading:!0})})),this.applicationStore.alertService.setBlockingAlert(void 0)}async pullInitializationActivity(e){return(await this.client.getInitializationActivity()).initializing?new Promise(((e,t)=>setTimeout((()=>{try{e(this.pullInitializationActivity())}catch(e){t(e)}}),1e3))):Promise.resolve()}registerCommands(){this.applicationStore.commandService.registerCommand({key:cS.SEARCH_FILE,action:()=>this.setOpenFileSearchCommand(!0)}),this.applicationStore.commandService.registerCommand({key:cS.SEARCH_TEXT,action:()=>{this.setActivePanelMode(ET.SEARCH),this.panelGroupDisplayState.open(),this.textSearchState.focus(),this.textSearchState.select()}}),this.applicationStore.commandService.registerCommand({key:cS.GO_TO_FILE,action:()=>{this.tabManagerState.currentTab instanceof _S&&this.directoryTreeState.revealPath(this.tabManagerState.currentTab.filePath,{forceOpenExplorerPanel:!0})}}),this.applicationStore.commandService.registerCommand({key:cS.TOGGLE_TERMINAL_PANEL,action:()=>{this.panelGroupDisplayState.isOpen?this.activePanelMode!==ET.TERMINAL?(this.setActivePanelMode(ET.TERMINAL),this.applicationStore.terminalService.terminal.focus()):this.applicationStore.terminalService.terminal.isFocused()?this.panelGroupDisplayState.close():this.applicationStore.terminalService.terminal.focus():(this.setActivePanelMode(ET.TERMINAL),this.panelGroupDisplayState.open())}}),this.applicationStore.commandService.registerCommand({key:cS.EXECUTE,action:()=>{(0,Ve.flowResult)(this.executeGo()).catch(this.applicationStore.alertUnhandledError)}}),this.applicationStore.commandService.registerCommand({key:cS.FULL_RECOMPILE,action:()=>{(0,Ve.flowResult)(this.fullReCompile(!1)).catch(this.applicationStore.alertUnhandledError)}}),this.applicationStore.commandService.registerCommand({key:cS.FULL_RECOMPILE_WITH_FULL_INIT,action:()=>{(0,Ve.flowResult)(this.fullReCompile(!0)).catch(this.applicationStore.alertUnhandledError)}}),this.applicationStore.commandService.registerCommand({key:cS.RUN_ALL_TESTS,action:()=>{(0,Ve.flowResult)(this.executeFullTestSuite(!1)).catch(this.applicationStore.alertUnhandledError)}}),this.applicationStore.commandService.registerCommand({key:cS.RUN_RELAVANT_TESTS,action:()=>{(0,Ve.flowResult)(this.executeFullTestSuite(!0)).catch(this.applicationStore.alertUnhandledError)}})}deregisterCommands(){[cS.SEARCH_FILE,cS.SEARCH_TEXT,cS.GO_TO_FILE,cS.TOGGLE_TERMINAL_PANEL,cS.EXECUTE,cS.FULL_RECOMPILE,cS.FULL_RECOMPILE_WITH_FULL_INIT,cS.RUN_ALL_TESTS,cS.RUN_RELAVANT_TESTS].forEach((e=>this.applicationStore.commandService.deregisterCommand(e)))}setActiveActivity(e,t){this.sideBarDisplayState.isOpen?e!==this.activeActivity||t?.keepShowingIfMatchedCurrent||this.sideBarDisplayState.close():this.sideBarDisplayState.open(),this.activeActivity=e}*loadDiagram(e,t,i,s){let n=this.tabManagerState.tabs.find((e=>e instanceof Ay&&e.diagramPath===t));n||(yield(0,Ve.flowResult)(this.checkIfSessionWakingUp()),n=new Ay(this,(0,Ne.deserialize)(MC,yield this.client.getDiagramInfo(t)),t,e,i,s)),this.tabManagerState.openTab(n)}*loadFile(e,t){try{let i=this.tabManagerState.tabs.find((t=>t instanceof _S&&t.filePath===e));i||(yield(0,Ve.flowResult)(this.checkIfSessionWakingUp()),i=new _S(this,(0,Ne.deserialize)(qT,yield this.client.getFile(e)),e)),this.tabManagerState.openTab(i),t&&(i.textEditorState.setForcedCursorPosition({lineNumber:t.line,column:t.column}),t instanceof ZT&&i.showError(t))}catch(t){G(t),this.applicationStore.terminalService.terminal.fail(t.message,{systemCommand:`load file ${e}`})}}async reloadFile(e){const t=[];await Promise.all(this.tabManagerState.tabs.map((async i=>{if(i instanceof _S&&i.filePath===e)i.setFile((0,Ne.deserialize)(qT,await this.client.getFile(e)));else if(i instanceof Ay&&i.filePath===e)try{i.rebuild((0,Ne.deserialize)(MC,await this.client.getDiagramInfo(i.diagramPath)))}catch{t.push(i)}}))),t.forEach((e=>this.tabManagerState.closeTab(e)))}*execute(e,t,i,s,n,a){if(!this.initState.hasCompleted)return void this.applicationStore.notificationService.notifyWarning("Can't execute while initializing application");if(this.executionState.isInProgress)return void this.applicationStore.notificationService.notifyWarning("Another execution is already in progress!");this.setCodeFixSuggestion(void 0),this.executionState.inProgress();const r=this.tabManagerState.tabs.filter(K(_S)).map((e=>e.filePath));try{const c=this.tabManagerState.tabs.map((e=>e instanceof _S?{path:e.filePath,code:e.file.content}:e instanceof Ay?{diagram:e.diagramPath,code:FC(e.diagram)}:void 0)).filter($),l=this.client.execute(c,e,t),d=1e3;let u,p=!1;yield Promise.all([l.then((e=>{p=!0,u=e})),new Promise(((e,t)=>setTimeout((()=>{!p&&i&&(this.applicationStore.alertService.setBlockingAlert({message:"Executing...",prompt:"Please do not refresh the application",showLoading:!0}),e(this.pullExecutionStatus().finally((()=>{this.applicationStore.alertService.setBlockingAlert(void 0)})))),e()}),d,!0)))]);const h=(o=W(u)).error?o.candidateName&&o.PureUnmatchedFunctionException?(0,Ne.deserialize)(BS,o):o.candidateName&&o.candidates?(0,Ne.deserialize)(jS,o):(0,Ne.deserialize)(PS,o):o.jumpTo?(0,Ne.deserialize)(LS,o):o.tests?(0,Ne.deserialize)(GS,o):(0,Ne.deserialize)(kS,o);this.applicationStore.alertService.setBlockingAlert(void 0),h instanceof PS?(this.applicationStore.notificationService.notifyError("Execution failed"+(h.text?`: ${h.text}`:"")),this.applicationStore.terminalService.terminal.fail(h.text,{systemCommand:n??"execute"}),h.sessionError?this.applicationStore.alertService.setBlockingAlert({message:"Session corrupted",prompt:h.sessionError}):yield(0,Ve.flowResult)(s(h,r))):(a?.silentTerminalOnSuccess||this.applicationStore.terminalService.terminal.output(h.text??"",{clear:a?.clearTerminal,systemCommand:n??"execute"}),h instanceof kS?(this.applicationStore.notificationService.notifySuccess("Execution succeeded!"),h.reinit?(this.applicationStore.alertService.setBlockingAlert({message:"Reinitializing...",prompt:"Please do not refresh the application",showLoading:!0}),this.initState.reset(),yield(0,Ve.flowResult)(this.initialize(!1,(()=>(0,Ve.flowResult)(this.execute(e,t,i,s,n))),this.client.mode,this.client.compilerMode))):yield(0,Ve.flowResult)(s(h,r))):yield(0,Ve.flowResult)(s(h,r)))}catch(e){G(e),this.applicationStore.notificationService.notifyError(e),this.applicationStore.terminalService.terminal.fail(e.message,{systemCommand:n??"execute"})}finally{this.applicationStore.alertService.setBlockingAlert(void 0),this.executionState.reset()}var o}async pullExecutionStatus(){const e=await this.client.getExecutionActivity();return this.applicationStore.alertService.setBlockingAlert({message:"Executing...",prompt:e.text?e.text:"Please do not refresh the application",showLoading:!0}),e.executing?new Promise(((e,t)=>setTimeout((()=>{try{e(this.pullExecutionStatus())}catch(e){t(e)}}),500))):(this.applicationStore.alertService.setBlockingAlert({message:"Executing...",prompt:"Please do not refresh the application",showLoading:!0}),Promise.resolve())}*executeGo(){yield(0,Ve.flowResult)(this.execute("executeGo",{},!0,((e,t)=>(0,Ve.flowResult)(this.manageExecuteGoResult(e,t))),mS.GO,{clearTerminal:!0}))}*manageExecuteGoResult(e,t){const i=this.refreshTrees();if(this.tabManagerState.tabs.filter(K(_S)).filter((e=>t.includes(e.filePath))).forEach((e=>e.clearError())),e instanceof PS)e.source&&(yield(0,Ve.flowResult)(this.loadFile(e.source,new ZT(e.source,e.line,e.column,new xy(e.text.split("\n").filter(Boolean)[0]))))),e instanceof BS?(this.setCodeFixSuggestion(new Py(this,e)),this.setActivePanelMode(ET.CODE_FIX_SUGGESTION),this.panelGroupDisplayState.open()):e instanceof jS&&(this.setCodeFixSuggestion(new My(this,e)),this.setActivePanelMode(ET.CODE_FIX_SUGGESTION),this.panelGroupDisplayState.open()),this.resetChangeDetection(t);else if(e instanceof kS){if(e.modifiedFiles.length)for(const t of e.modifiedFiles)yield this.reloadFile(t);this.resetChangeDetection(t.concat(e.modifiedFiles)),!this.initState.hasFailed&&this.conceptTreeState.treeData||(yield(0,Ve.flowResult)(this.conceptTreeState.initialize()),this.initState.pass())}yield i}*executeTests(e,t){t?this.applicationStore.notificationService.notifyUnsupportedFeature("Run relevant tests! (reason: VCS required)"):this.testRunState.isInProgress?this.applicationStore.notificationService.notifyWarning("Test runner is working. Please try again later"):(this.testRunState.inProgress(),yield(0,Ve.flowResult)(this.execute("executeTests",{path:e,relevantTestsOnly:t},!1,(async(e,t)=>{const i=this.refreshTrees();if(e instanceof PS)e.source&&await(0,Ve.flowResult)(this.loadFile(e.source,new ZT(e.source,e.line,e.column,new xy(e.text.split("\n").filter(Boolean)[0])))),this.setActivePanelMode(ET.TERMINAL),this.panelGroupDisplayState.open(),this.testRunState.fail();else if(e instanceof GS){this.setActivePanelMode(ET.TEST_RUNNER),this.panelGroupDisplayState.open();const t=new aC(this,e);this.setTestRunnerState(t),await(0,Ve.flowResult)(t.buildTestTreeData()),t.refreshTree(),await(0,Ve.flowResult)(t.pollTestRunnerResult()),this.testRunState.pass()}this.resetChangeDetection(t),await i}),`${mS.TEST} ${e}`)))}*executeFullTestSuite(e){yield(0,Ve.flowResult)(this.executeTests(_T,e))}*executeNavigation(e){this.navigationStack.push(e),yield(0,Ve.flowResult)(this.execute("getConcept",{file:e.file,line:e.line,column:e.column},!1,(async(e,t)=>{e instanceof LS&&await(0,Ve.flowResult)(this.loadFile(e.jumpTo.source,new QT(e.jumpTo.source,e.jumpTo.line,e.jumpTo.column))),this.resetChangeDetection(t)}),"navigate",{silentTerminalOnSuccess:!0}))}*navigateBack(){if(0!==this.navigationStack.length){if(this.navigationStack.length>0){const e=this.navigationStack.pop();e&&(yield(0,Ve.flowResult)(this.loadFile(e.file,e)))}}else this.applicationStore.notificationService.notifyWarning("Can't navigate back any further - navigation stack is empty")}*fullReCompile(e){this.applicationStore.alertService.setActionAlertInfo({message:"Are you sure you want to perform a full re-compile?",prompt:"This may take a long time to complete",type:Wt.CAUTION,actions:[{label:"Perform full re-compile",type:Kt.PROCEED_WITH_CAUTION,handler:()=>{(0,Ve.flowResult)(this.execute("executeSaveAndReset",{},!0,(async(t,i)=>{this.initState.reset(),await(0,Ve.flowResult)(this.initialize(e,void 0,this.client.mode,this.client.compilerMode)),this.resetChangeDetection(i),this.setActiveActivity(bT.CONCEPT_EXPLORER,{keepShowingIfMatchedCurrent:!0})}),"recompile")).catch(this.applicationStore.alertUnhandledError)}},{label:"Abort",type:Kt.PROCEED,default:!0}]})}resetChangeDetection(e){this.tabManagerState.tabs.filter(K(_S)).filter((t=>e.includes(t.filePath))).forEach((e=>e.resetChangeDetection()))}async refreshTrees(){await Promise.all([this.directoryTreeState.refreshTreeData(),this.conceptTreeState.refreshTreeData()])}async revealConceptInTree(e){let t;try{t=await this.client.getConceptInfo(e.file,e.line,e.column)}catch{return void this.applicationStore.notificationService.notifyWarning("Can't find concept info. Please make sure that the code compiles and that you are looking for references of non primitive types!")}if(t.path){this.applicationStore.alertService.setBlockingAlert({message:"Revealing concept in tree...",showLoading:!0});try{this.activeActivity!==bT.CONCEPT_EXPLORER&&this.setActiveActivity(bT.CONCEPT_EXPLORER);const e=t.path.split(Ia);let i=W(e[0]),s=W(this.conceptTreeState.getTreeData().nodes.get(i));for(let t=1;t<e.length;++t)i=`${i}${Ia}${e[t]}`,this.conceptTreeState.getTreeData().nodes.get(i)||await(0,Ve.flowResult)(this.conceptTreeState.expandNode(s)),s=W(this.conceptTreeState.getTreeData().nodes.get(i));this.conceptTreeState.setSelectedNode(s)}catch{this.applicationStore.notificationService.notifyWarning("Error revealing concept. Please make sure that the code compiles and that you are looking for a valid concept")}finally{this.applicationStore.alertService.setBlockingAlert(void 0)}}}*command(e,t){try{const s=(i=yield e()).error?(0,Ne.deserialize)(oC,i):new rC;return!(s instanceof oC)||(s.errorDialog?this.applicationStore.notificationService.notifyWarning(`Can't run command '${t}': ${s.text}`):this.applicationStore.terminalService.terminal.output(s.text,{systemCommand:t}),!1)}catch(e){return G(e),this.applicationStore.notificationService.notifyError(e),this.applicationStore.terminalService.terminal.fail(e.message,{systemCommand:t}),!1}var i}async getConceptInfo(e){try{return await this.client.getConceptInfo(e.file,e.line,e.column)}catch{return void this.applicationStore.notificationService.notifyWarning("Can't find concept info. Please make sure that the code compiles and that you are looking for references of non primitive types!")}}async findConceptUsages(e,t){return(await this.client.getUsages(e,t)).map((e=>(0,Ne.deserialize)(iS,e)))}*findUsagesFromCoordinate(e){const t=yield this.getConceptInfo(e);t&&(yield(0,Ve.flowResult)(this.findUsages(t)))}*findUsages(e){try{this.referenceUsageLoadState.inProgress(),this.applicationStore.alertService.setBlockingAlert({message:"Finding concept usages...",prompt:`Finding references of ${tS(e)}`,showLoading:!0});const t=yield this.findConceptUsages(e.pureType===HT.ENUM_VALUE?eS.ENUM:e.pureType===HT.PROPERTY||e.pureType===HT.QUALIFIED_PROPERTY?eS.PROPERTY:eS.ELEMENT,(e.owner?[`'${e.owner}'`]:[]).concat(`'${e.path}'`)),i=(yield this.client.getTextSearchPreview(t.map((e=>(0,Ne.serialize)($S,new $S(e.source,e.startLine,e.startColumn,e.endLine,e.endColumn)))))).map((e=>(0,Ne.deserialize)($S,e)));this.setReferenceUsageResult(new Ly(this,e,t,i)),this.setActivePanelMode(ET.REFERENCES),this.panelGroupDisplayState.open()}catch(e){G(e),this.applicationStore.notificationService.notifyError(e)}finally{this.applicationStore.alertService.setBlockingAlert(void 0),this.referenceUsageLoadState.complete()}}*renameConcept(e,t,i,s){try{yield this.client.renameConcept({oldName:e,newName:t,pureType:i,sourceInformations:s.map((e=>({sourceId:e.source,line:e.line,column:e.column})))});const n=s.map((e=>e.source));for(const e of n)yield this.reloadFile(e);yield this.refreshTrees(),this.applicationStore.notificationService.notifyWarning("Please re-compile the code after refacting")}catch(t){G(t),this.applicationStore.notificationService.notifyError(`Can't rename concept '${e}'`)}}*movePackageableElements(e){try{yield this.client.movePackageableElements(e.map((e=>({pureName:e.pureName,pureType:e.pureType,sourcePackage:e.sourcePackage,destinationPackage:e.destinationPackage,sourceInformations:e.usages.map((e=>({sourceId:e.source,line:e.line,column:e.column})))}))));const t=(0,A.default)(e.flatMap((e=>e.usages.map((e=>e.source)))));for(const e of t)yield this.reloadFile(e);yield this.refreshTrees(),this.applicationStore.notificationService.notifyWarning("Please re-compile the code after refacting")}catch(e){G(e),this.applicationStore.notificationService.notifyError(`Can't move packageable elements:\n${e.message}`)}}*updateFileUsingSuggestionCandidate(e){this.setCodeFixSuggestion(void 0),yield(0,Ve.flowResult)(this.updateFile(e.fileToBeModified,e.lineToBeModified,e.columnToBeModified,e.add,e.messageToBeModified)),this.setActivePanelMode(ET.TERMINAL),this.panelGroupDisplayState.open()}*updateFile(e,t,i,s,n){try{const a=yield this.client.updateSource([{path:e,line:t,column:i,message:n,add:s}]);if(a.modifiedFiles.length)for(const e of a.modifiedFiles)yield this.reloadFile(e);this.applicationStore.notificationService.notifyWarning("Please re-compile the code after refacting")}catch(t){G(t),this.applicationStore.notificationService.notifyError(`Can't update file '${e}'`)}}*searchFile(){this.fileSearchCommandLoadState.isInProgress||(this.fileSearchCommandLoadState.inProgress(),this.fileSearchCommandResults=yield this.client.findFiles(this.fileSearchCommandState.text,this.fileSearchCommandState.isRegExp),this.fileSearchCommandLoadState.pass())}*createNewDirectory(e){try{yield(0,Ve.flowResult)(this.command((()=>this.client.createFolder(XT(e))),mS.NEW_DIRECTORY)),yield(0,Ve.flowResult)(this.directoryTreeState.refreshTreeData())}catch(e){G(e),this.applicationStore.notificationService.notifyError(e)}}*createNewFile(e){try{const t=yield(0,Ve.flowResult)(this.command((()=>this.client.createFile(XT(e))),mS.NEW_FILE));yield(0,Ve.flowResult)(this.directoryTreeState.refreshTreeData()),t&&(yield(0,Ve.flowResult)(this.loadFile(e)))}catch(e){G(e),this.applicationStore.notificationService.notifyError(e)}}*renameFile(e,t){try{yield(0,Ve.flowResult)(this.command((()=>this.client.renameFile(e,t)),mS.MOVE)),yield(0,Ve.flowResult)(this.directoryTreeState.refreshTreeData());const i=this.tabManagerState.tabs.find((t=>t instanceof _S&&t.filePath===e));i&&this.tabManagerState.closeTab(i)}catch(e){G(e),this.applicationStore.notificationService.notifyError(e)}}*deleteDirectoryOrFile(e,t,i){const s=async()=>{await(0,Ve.flowResult)(this.command((()=>this.client.deleteDirectoryOrFile(XT(e))),mS.REMOVE));this.tabManagerState.tabs.filter((i=>i instanceof _S&&(void 0===t||t?i.filePath.startsWith(`${e}/`):i.filePath===e))).forEach((e=>this.tabManagerState.closeTab(e))),await(0,Ve.flowResult)(this.directoryTreeState.refreshTreeData())};void 0===t||void 0===i?s().catch(this.applicationStore.alertUnhandledError):this.applicationStore.alertService.setActionAlertInfo({message:`Are you sure you would like to delete this ${t?"directory":"file"}?`,prompt:i?"Beware! This directory is not empty, this action is not undo-able, you have to manually revert using VCS":"Beware! This action is not undo-able, you have to manually revert using VCS",type:Wt.CAUTION,actions:[{label:"Delete anyway",type:Kt.PROCEED_WITH_CAUTION,handler:()=>{s().catch(this.applicationStore.alertUnhandledError)}},{label:"Abort",type:Kt.PROCEED,default:!0}]})}}const jy=(0,Xt.createContext)(void 0),Uy=({children:e})=>{const t=Qt(),i=(0,Ft.useLocalObservable)((()=>new By(t)));return(0,E.jsx)(jy.Provider,{value:i,children:e})},Vy=()=>W((0,Xt.useContext)(jy),"Can't find editor store in context"),Gy=(0,Ft.observer)((()=>{const e=Vy(),t=Qt().terminalService.terminal,i=(0,Xt.useRef)(null),{ref:s,width:n,height:a}=(0,pn.useResizeDetector)();(0,Xt.useEffect)((()=>(i.current&&t.searchConfig.setSearchInput(i.current),()=>t.searchConfig.setSearchInput(void 0))),[t]),(0,Xt.useEffect)((()=>{s.current&&t.mount(s.current)}),[t,s]),(0,Xt.useEffect)((()=>{e.panelGroupDisplayState.isOpen&&e.activePanelMode===ET.TERMINAL&&t.focus()}),[t,e.panelGroupDisplayState.isOpen,e.activePanelMode]),(0,Xt.useEffect)((()=>{t.autoResize()}),[t,n,a]);const r=()=>{t.clear(),t.focus()},o=()=>t.copyAll();return t.isSetup?(0,E.jsxs)("div",{className:"terminal-panel",children:[(0,E.jsxs)("div",{className:"terminal-panel__header",children:[(0,E.jsxs)("div",{className:"terminal-panel__header__group",children:[(0,E.jsxs)("div",{className:"terminal-panel__header__searcher__input__container",children:[(0,E.jsx)("input",{ref:i,className:"terminal-panel__header__searcher__input input--dark",spellCheck:!1,value:t.searchConfig.searchText,onChange:e=>{const i=e.target.value;t.setSearchText(i),t.search(i)},onKeyDown:e=>{"Enter"===e.code?e.shiftKey?t.findPrevious():t.findNext():"Escape"===e.code&&(t.clearSearch(),t.focus())},placeholder:"Find"}),(0,E.jsxs)("div",{className:"terminal-panel__header__searcher__input__actions",children:[(0,E.jsx)("button",{className:"terminal-panel__header__searcher__input__action",tabIndex:-1,title:"Clear Search",onClick:()=>t.clearSearch(),children:(0,E.jsx)(Ii,{})}),(0,E.jsx)("button",{className:(0,Ut.clsx)("terminal-panel__header__searcher__input__action",{"terminal-panel__header__searcher__input__action--active":t.searchConfig.matchCaseSensitive}),tabIndex:-1,title:"Match Case",onClick:()=>t.setSearchCaseSensitive(!t.searchConfig.matchCaseSensitive),children:(0,E.jsx)(Oi,{})}),(0,E.jsx)("button",{className:(0,Ut.clsx)("terminal-panel__header__searcher__input__action",{"terminal-panel__header__searcher__input__action--active":t.searchConfig.matchWholeWord}),tabIndex:-1,title:"Match Whole Word",onClick:()=>t.setSearchWholeWord(!t.searchConfig.matchWholeWord),children:(0,E.jsx)(wi,{})}),(0,E.jsx)("button",{className:(0,Ut.clsx)("terminal-panel__header__searcher__input__action",{"terminal-panel__header__searcher__input__action--active":t.searchConfig.useRegex}),tabIndex:-1,title:"Use Regular Expression",onClick:()=>t.setSearchRegex(!t.searchConfig.useRegex),children:(0,E.jsx)(xi,{})})]})]}),(0,E.jsx)("div",{className:"terminal-panel__header__searcher__result",children:t.searchConfig.resultCount?`${void 0!==t.searchConfig.currentResultIndex?t.searchConfig.currentResultIndex+1:0} of ${t.searchConfig.resultCount}`:"No results"}),(0,E.jsx)("button",{className:"terminal-panel__header__action terminal-panel__header__group__action",title:"Previous Match (Shift+Enter)",disabled:!t.searchConfig.resultCount,tabIndex:-1,onClick:()=>{t.findPrevious()},children:(0,E.jsx)(Ts,{className:"terminal-panel__header__action__icon"})}),(0,E.jsx)("button",{className:"terminal-panel__header__action terminal-panel__header__group__action",title:"Next Match (Enter)",disabled:!t.searchConfig.resultCount,tabIndex:-1,onClick:()=>{t.findNext()},children:(0,E.jsx)(vs,{className:"terminal-panel__header__action__icon"})})]}),(0,E.jsx)("div",{className:"terminal-panel__header__group__separator"}),(0,E.jsxs)("div",{className:"terminal-panel__header__group",children:[(0,E.jsx)("button",{className:(0,Ut.clsx)("terminal-panel__header__action terminal-panel__header__group__action",{"terminal-panel__header__action--active":t.preserveLog}),title:"Toggle Preserve Console",tabIndex:-1,onClick:()=>t.setPreserveLog(!t.preserveLog),children:(0,E.jsx)(Yi,{className:"terminal-panel__header__action__icon"})}),(0,E.jsx)("button",{className:"terminal-panel__header__action terminal-panel__header__group__action",title:"Copy Text Content",tabIndex:-1,onClick:o,children:(0,E.jsx)(xs,{className:"terminal-panel__header__action__icon"})}),(0,E.jsx)("button",{className:"terminal-panel__header__action terminal-panel__header__group__action",title:"Clear Console",tabIndex:-1,onClick:r,children:(0,E.jsx)(hs,{className:"terminal-panel__header__action__icon"})}),(0,E.jsx)("button",{className:"terminal-panel__header__action terminal-panel__header__group__action",title:"Show Help",tabIndex:-1,onClick:()=>{t.showHelp(),t.focus()},children:(0,E.jsx)(ss,{className:"terminal-panel__header__action__icon"})})]})]}),(0,E.jsx)(nn,{className:"terminal-panel__content",content:(0,E.jsxs)(an,{children:[(0,E.jsx)(rn,{onClick:()=>t.copy(),children:"Copy"}),(0,E.jsx)(rn,{onClick:o,children:"Copy All"}),(0,E.jsx)(rn,{onClick:r,children:"Clear"})]}),menuProps:{elevation:7},children:(0,E.jsx)("div",{ref:s,className:"terminal-panel__container"})})]}):(0,E.jsx)("div",{className:"terminal-panel",children:(0,E.jsx)(hn,{children:"Terminal is not set up yet"})})})),zy=(0,Ft.observer)((e=>{const{searchResult:t,result:i}=e,s=Vy(),n=Qt(),a=e=>()=>(0,Ve.flowResult)(s.loadFile(i.sourceId,new QT(i.sourceId,e.startLine,e.startColumn))).catch(n.alertUnhandledError),r=e=>()=>{i.dismissCoordinate(e),i.coordinates.length||t.dismissSearchEntry(i)};return(0,E.jsxs)("div",{className:"text-search-panel__entry",children:[(0,E.jsxs)("div",{className:"text-search-panel__entry__header",onClick:()=>i.setIsExpanded(!i.isExpanded),children:[(0,E.jsxs)("div",{className:"text-search-panel__entry__header__title",children:[(0,E.jsx)("div",{className:"text-search-panel__entry__header__title__expander",children:i.isExpanded?(0,E.jsx)(Bs,{}):(0,E.jsx)(Us,{})}),(0,E.jsx)("div",{className:"text-search-panel__entry__header__title__label",children:(0,E.jsx)(Os,{})}),(0,E.jsx)("div",{className:"text-search-panel__entry__header__title__content",children:XT(i.sourceId)})]}),(0,E.jsxs)("div",{className:"text-search-panel__entry__header__actions",children:[(0,E.jsx)("div",{className:"text-search-panel__entry__header__action text-search-panel__entry__header__action--with-counter",children:(0,E.jsx)("div",{className:"text-search-panel__entry__header__action__counter",children:i.coordinates.length})}),(0,E.jsx)("button",{className:"text-search-panel__entry__header__action text-search-panel__entry__header__action--hidden",tabIndex:-1,title:"Dismiss",onClick:()=>t.dismissSearchEntry(i),children:(0,E.jsx)(Ji,{})})]})]}),i.isExpanded&&(0,E.jsx)("div",{className:"text-search-panel__entry__content",children:i.coordinates.map((e=>(0,E.jsxs)("div",{className:"text-search-panel__entry__content__item",children:[(0,E.jsxs)("div",{className:"text-search-panel__entry__content__item__label text-search-panel__entry__content__item__label--full",title:e.preview?`${e.preview.before}${e.preview.found.replaceAll(/\n/g,"↵")}${e.preview.after}`:"Go To Result",onClick:a(e),children:[e.preview&&(0,E.jsxs)("div",{className:"text-search-panel__entry__content__item__label__content",children:[(0,E.jsx)("div",{className:"text-search-panel__entry__content__item__label__coordinates",children:`[${e.startLine}:${e.startColumn}]`}),(0,E.jsxs)("div",{className:"text-search-panel__entry__content__item__label__preview",children:[(0,E.jsx)("span",{className:"text-search-panel__entry__content__item__label__preview__text",children:e.preview.before}),(0,E.jsx)("span",{className:"text-search-panel__entry__content__item__label__preview__text text-search-panel__entry__content__item__label__preview__text--found",children:e.preview.found.replaceAll(/\n/g,"↵")}),(0,E.jsx)("span",{className:"text-search-panel__entry__content__item__label__preview__text",children:e.preview.after})]})]}),!e.preview&&(0,E.jsx)(E.Fragment,{children:`line: ${e.startLine} - column: ${e.startColumn}`})]}),(0,E.jsx)("div",{className:"text-search-panel__entry__content__item__actions",children:(0,E.jsx)("button",{className:"text-search-panel__entry__content__item__action text-search-panel__entry__content__item__action--hidden",tabIndex:-1,title:"Dismiss",onClick:r(e),children:(0,E.jsx)(Ji,{})})})]},e.uuid)))})]})})),Hy=(0,Ft.observer)((e=>{const{searchResult:t}=e,i=Vy(),s=Qt(),n=t.searchEntries.some((e=>!e.isExpanded));return(0,E.jsxs)("div",{className:"text-search-panel__content",children:[(0,E.jsxs)("div",{className:"text-search-panel__content__header",children:[(0,E.jsx)("div",{className:"text-search-panel__content__header__title",children:t.searchEntries.length?`${t.numberOfResults} result(s) in ${t.numberOfFiles} files`:"No result"}),(0,E.jsxs)("div",{className:"text-search-panel__content__header__actions",children:[(0,E.jsx)("button",{className:"text-search-panel__content__header__action",tabIndex:-1,title:"Refresh",onClick:()=>{(0,Ve.flowResult)(i.textSearchState.search()).catch(s.alertUnhandledError)},children:(0,E.jsx)(Ti,{})}),(0,E.jsx)("button",{className:"text-search-panel__content__header__action",tabIndex:-1,title:"Clear",onClick:()=>{i.textSearchState.setText(""),i.textSearchState.setResult(void 0)},children:(0,E.jsx)(Ii,{})}),!n&&(0,E.jsx)("button",{className:"text-search-panel__content__header__action",tabIndex:-1,title:"Collapse All",onClick:()=>{t.searchEntries.forEach((e=>e.setIsExpanded(!1)))},children:(0,E.jsx)(Pi,{})}),n&&(0,E.jsx)("button",{className:"text-search-panel__content__header__action",tabIndex:-1,title:"Expand All",onClick:()=>{t.searchEntries.forEach((e=>e.setIsExpanded(!0)))},children:(0,E.jsx)(Mi,{})})]})]}),(0,E.jsx)("div",{className:"text-search-panel__content__results",children:t.searchEntries.map((e=>(0,E.jsx)(zy,{searchResult:t,result:e},e.uuid)))})]})})),$y=(0,Ft.observer)((()=>{const e=Vy(),t=(0,Xt.useRef)(null),i=e.textSearchState,s=(0,Xt.useMemo)((()=>(0,I.default)((()=>i.search()),300)),[i]);return(0,Xt.useEffect)((()=>(t.current&&i.setSearchInput(t.current),()=>i.setSearchInput(void 0))),[i]),(0,Xt.useEffect)((()=>{e.panelGroupDisplayState.isOpen&&e.activePanelMode===ET.SEARCH&&i.focus()}),[i,e.panelGroupDisplayState.isOpen,e.activePanelMode]),(0,E.jsxs)("div",{className:"text-search-panel",children:[(0,E.jsx)(si,{isLoading:e.textSearchState.loadState.isInProgress}),(0,E.jsx)("div",{className:"text-search-panel__header",children:(0,E.jsxs)("div",{className:"text-search-panel__searcher__input__container",children:[(0,E.jsx)("input",{ref:t,autoFocus:!0,className:"text-search-panel__searcher__input input--dark",onChange:e=>{const t=e.target.value;i.setText(t),s.cancel(),t?s():i.setResult(void 0)},onKeyDown:e=>{"Enter"===e.code?(s.cancel(),i.text&&s()):"Escape"===e.code&&t.current?.select()},value:i.text,placeholder:"Search"}),(0,E.jsxs)("div",{className:"text-search-panel__searcher__input__actions",children:[(0,E.jsx)("button",{className:(0,Ut.clsx)("text-search-panel__searcher__input__action",{"text-search-panel__searcher__input__action--active":i.isCaseSensitive}),tabIndex:-1,title:"Match Case",onClick:()=>i.setCaseSensitive(!i.isCaseSensitive),children:(0,E.jsx)(Oi,{})}),(0,E.jsx)("button",{className:(0,Ut.clsx)("text-search-panel__searcher__input__action",{"text-search-panel__searcher__input__action--active":i.isRegExp}),tabIndex:-1,title:"Use Regular Expression",onClick:()=>i.setRegExp(!i.isRegExp),children:(0,E.jsx)(xi,{})})]})]})}),e.textSearchState.result&&(0,E.jsx)(Hy,{searchResult:e.textSearchState.result})]})})),Yy=e=>{const{node:t,level:i,stepPaddingInRem:s,classPrefix:n,onNodeSelect:a}=e;return(0,E.jsxs)("div",{className:(0,Ut.clsx)("tree-view__node__container",{[`${n}__tree-view__node__container`]:n}),onClick:()=>a?.(t),style:{paddingLeft:(i-1)*(s??1)+"rem",display:"flex"},children:[(0,E.jsx)("div",{className:(0,Ut.clsx)("tree-view__node__icon",{[`${n}__tree-view__node__icon`]:n}),children:Boolean(t.childrenIds?.length)&&(t.isOpen?(0,E.jsx)(Bs,{}):(0,E.jsx)(Us,{}))}),(0,E.jsx)("div",{className:(0,Ut.clsx)("tree-view__node__label",{[`${n}__tree-view__node__label`]:n}),children:t.label})]})},Wy=e=>{const{node:t,level:i,onNodeSelect:s,getChildNodes:n,classPrefix:a,components:r,stepPaddingInRem:o,innerProps:c}=e,l={TreeNodeView:Wy,TreeNodeContainer:Yy},d=r?{...l,...r}:l;return(0,E.jsxs)("div",{className:(0,Ut.clsx)("tree-view__node__block",{[`${a}__tree-view__node__block`]:a}),children:[(0,E.jsx)(d.TreeNodeContainer,{node:t,level:i+1,stepPaddingInRem:o,classPrefix:a,onNodeSelect:s,innerProps:c}),t.isOpen&&n(t).map((e=>(0,E.jsx)(d.TreeNodeView,{node:e,level:i+1,components:r,classPrefix:a,onNodeSelect:s,getChildNodes:n,innerProps:c},e.id)))]})},Ky=e=>{const{treeData:t,className:i,classPrefix:s,components:n,onNodeSelect:a,getChildNodes:r,getRootNodes:o,innerProps:c}=e,l=o?.(t)??t.rootIds.map((e=>t.nodes.get(e))).filter($),d={TreeNodeView:Wy,TreeNodeContainer:Yy},u=n?{...d,...n}:d;return(0,E.jsx)("div",{className:(0,Ut.clsx)("tree-view__node__root",i??"",{[`${s}__tree-view__node__root`]:s}),children:l.map((e=>(0,E.jsx)(u.TreeNodeView,{level:0,node:e,getChildNodes:r,components:u,onNodeSelect:a,classPrefix:s,innerProps:c},e.id)))})},Jy=Vt("Panel","panel"),Xy=(Vt("PanelFullContent","panel__content--full"),e=>{const{title:t,keepTitleFormat:i,labelClassName:s,darkMode:n,className:a,children:r}=e,o=Boolean(n),c=Boolean(i);return(0,E.jsxs)("div",{className:(0,Ut.clsx)("panel__header",a),children:[t&&(0,E.jsx)("div",{className:"panel__header__title",children:(0,E.jsx)("div",{className:(0,Ut.clsx)("panel__header__title__label",s,{"panel__header__title__label--light":o}),children:c?t:t.toLowerCase()})}),r]})}),qy=Vt("PanelHeaderActions","panel__header__actions"),Qy=e=>{const{className:t,onClick:i,children:s,disabled:n,title:a}=e;return(0,E.jsx)("button",{className:(0,Ut.clsx)("panel__header__action",t),disabled:Boolean(n),onClick:i,title:a,tabIndex:-1,children:s})},Zy=e=>{const{className:t,darkMode:i,children:s}=e;return(0,E.jsx)("div",{className:(0,Ut.clsx)("panel__content",t,{"panel__content--dark":i}),children:s})},eN=(Vt("PanelContentLists","panel__content__lists"),Vt("PanelList","panel__content__form__list"),Vt("PanelListItem","panel__content__form__list__item"),Vt("PanelListItemTitle","panel__content__form__list__item__title"),Vt("PanelListItemLabel","panel__content__form__list__item__label"),Vt("PanelForm","panel__content__form"),Vt("PanelDivider","panel__content__form__divider")),tN=(Vt("PanelFormDescription","panel__content__form__description"),Vt("PanelFormSection","panel__content__form__section"));(0,Xt.forwardRef)((function(e,t){const{name:i,value:s,update:n,prompt:a,errorMessageClassName:r,placeholder:o,validate:c,onValidate:l,isReadOnly:d,className:u,darkMode:p,fullWidth:h,inputType:m}=e,[g,f]=(0,Xt.useState)(s??""),_=c?.(g)??void 0;return(0,Xt.useEffect)((()=>{_||s===g||n(g),l?.(_)}),[s,g,_,l,n]),(0,E.jsxs)(tN,{children:[i&&(0,E.jsx)("div",{className:"panel__content__form__section__header__label",children:Et(i)}),a&&(0,E.jsx)("div",{className:"panel__content__form__section__header__prompt",children:a}),(0,E.jsxs)("div",{className:"input-group",children:[(0,E.jsx)("input",{className:(0,Ut.clsx)("input input-group__input panel__content__form__section__input",u,{"input--dark":p||!0},{"input--small":!h}),ref:t,type:m||"text",spellCheck:!1,disabled:d,placeholder:o,value:g,onChange:e=>{f(e.target.value)}}),_&&(0,E.jsx)("div",{className:(0,Ut.clsx)("panel__content__form__section__input-group__error-message input-group__error-message",{"input--small":!h},r),children:_})]})]})})),(0,Xt.forwardRef)((function(e,t){const{name:i,value:s,update:n,prompt:a,placeholder:r,isReadOnly:o,errorMessage:c,className:l,darkMode:d,fullWidth:u,inputType:p}=e,h=s??"";return(0,E.jsxs)(tN,{children:[(0,E.jsx)("div",{className:"panel__content__form__section__header__label",children:Et(i)}),(0,E.jsx)("div",{className:"panel__content__form__section__header__prompt",children:a}),(0,E.jsxs)("div",{className:"input-group",children:[(0,E.jsx)("input",{className:(0,Ut.clsx)("input input-group__input panel__content__form__section__input",l,{"input--dark":d||!0},{"input--small":!u}),ref:t,type:p||"text",spellCheck:!1,disabled:o,placeholder:r,value:h,onChange:e=>{const t=e.target.value;n(t||void 0)}}),c&&(0,E.jsx)("div",{className:(0,Ut.clsx)("panel__content__form__section__input-group__error-message input-group__error-message",{"input--small":!u}),children:c})]}),c&&(0,E.jsx)(eN,{})]})})),(0,Ft.observer)((e=>{const{value:t,name:i,prompt:s,children:n,isReadOnly:a,update:r}=e;return(0,E.jsxs)(tN,{children:[i&&(0,E.jsx)("div",{className:"panel__content__form__section__header__label",children:Et(i)}),(0,E.jsxs)("div",{className:(0,Ut.clsx)("panel__content__form__section__toggler",{"panel__content__form__section__toggler--disabled":a}),onClick:()=>{a||r(!t)},children:[(0,E.jsx)("button",{type:"button",className:(0,Ut.clsx)("panel__content__form__section__toggler__btn",{"panel__content__form__section__toggler__btn--toggled":t}),disabled:a,tabIndex:-1,children:t?(0,E.jsx)(ts,{}):(0,E.jsx)(es,{})}),(0,E.jsxs)("div",{className:"panel__content__form__section__toggler__prompt",children:[s," ",n]})]})]})})),Vt("PanelFormActions","panel__content__form__actions");var iN=i(410);const sN=iN.ReflexContainer,nN="resizable-panel--collapsed",aN=(e,t)=>({collapsiblePanel:{className:(0,Ut.clsx)(...t?.classes??[],{[nN]:e}),onStartResize:e=>{e.domElement.classList.remove(nN),t?.onStartResize?.(e)},onStopResize:e=>{const i=Number(e.domElement.style.flexGrow);i<=.01?e.domElement.style.flexGrow="0":i>=.99&&(e.domElement.style.flexGrow="1"),t?.onStopResize?.(e)},size:!e&&t?.size?t.size:0,flex:e?0:void 0},remainingPanel:{flex:e?1:void 0}}),rN=iN.ReflexElement,oN=iN.ReflexSplitter,cN=e=>(0,E.jsx)("div",{className:"resizable-panel__splitter-line",style:{background:e.color}});var lN=i(8845);const dN=(0,Ft.observer)((e=>{const{node:t,level:i,stepPaddingInRem:s,onNodeSelect:n,innerProps:a}=e,{testRunnerState:r,onNodeOpen:o,onNodeExpand:c,onNodeCompress:l,renderNodeLabel:d}=a,u=Vy(),p=Qt(),h=r.testResultInfo,m=!t.data.type,g=t.id===r.selectedTestId;let f;switch(h?sC(t,h):void 0){case iC.PASSED:f=(0,E.jsx)("div",{className:"test-runner-panel__explorer__package-tree__status test-runner-panel__explorer__package-tree__status--passed",children:(0,E.jsx)(ms,{})});break;case iC.FAILED:f=(0,E.jsx)("div",{className:"test-runner-panel__explorer__package-tree__status test-runner-panel__explorer__package-tree__status--failed",children:(0,E.jsx)(Ns,{})});break;case iC.ERROR:f=(0,E.jsx)("div",{className:"test-runner-panel__explorer__package-tree__status test-runner-panel__explorer__package-tree__status--error",children:(0,E.jsx)(Xi,{})});break;case iC.RUNNING:f=(0,E.jsx)("div",{className:"test-runner-panel__explorer__package-tree__status test-runner-panel__explorer__package-tree__status--running",children:(0,E.jsx)(_s,{})});break;default:f=(0,E.jsx)(ss,{})}const _=()=>{t.isOpen?l(t):c(t)};return(0,E.jsxs)("div",{className:(0,Ut.clsx)("tree-view__node__container explorer__package-tree__node__container",{"explorer__package-tree__node__container--selected":g}),onClick:e=>{e.stopPropagation(),e.preventDefault(),n?.(t),m?_():o(t)},onDoubleClick:()=>{m?_():(0,Ve.flowResult)(u.loadFile(t.data.li_attr.file,new QT(t.data.li_attr.file,Number.parseInt(t.data.li_attr.line,10),Number.parseInt(t.data.li_attr.column,10)))).catch(p.alertUnhandledError)},style:{paddingLeft:i*(s??1)+"rem",display:"flex"},children:[(0,E.jsxs)("div",{className:"tree-view__node__icon explorer__package-tree__node__icon",children:[(0,E.jsx)("div",{className:"explorer__package-tree__node__icon__expand",onClick:e=>{e.stopPropagation(),_()},children:m?t.isOpen?(0,E.jsx)(Bs,{}):(0,E.jsx)(Us,{}):(0,E.jsx)("div",{})}),(0,E.jsx)("div",{className:"explorer__package-tree__node__icon__type",children:f})]}),(0,E.jsx)("button",{className:"tree-view__node__label explorer__package-tree__node__label",tabIndex:-1,children:d?.(t)??t.label})]})})),uN=(0,Ft.observer)((e=>{const{testRunnerState:t}=e,i=t.getTreeData(),s=e=>t.setSelectedTestId(e.id),n=e=>{let t=e.id.split("__")[0];if(!t)return e.label;const i=t.split("_");return t=i.slice(1,i.length).join(Ia),(0,E.jsxs)("div",{className:"test-runner-list__item__label",children:[(0,E.jsx)("div",{className:"test-runner-list__item__label__name",children:e.label}),(0,E.jsx)("div",{className:"test-runner-list__item__label__path",children:t})]})};return(0,E.jsx)("div",{className:"explorer__content",children:Array.from(t.allTests.keys()).map((e=>i.nodes.get(e))).filter($).map((e=>(0,E.jsx)(dN,{node:e,level:0,onNodeSelect:()=>{},innerProps:{testRunnerState:t,onNodeOpen:s,renderNodeLabel:n,onNodeExpand:()=>{},onNodeCompress:()=>{}}},e.id)))})})),pN=(0,Ft.observer)((e=>{const{testRunnerState:t}=e,i=t.getTreeData(),s=0===i.nodes.size;return(0,E.jsxs)("div",{className:"explorer__content",children:[s&&(0,E.jsx)(hn,{children:"No tests found"}),!s&&(0,E.jsx)(Ky,{components:{TreeNodeContainer:dN},treeData:i,onNodeSelect:()=>{},getChildNodes:e=>e.isLoading||!e.childrenIds?[]:e.childrenIds.map((e=>i.nodes.get(e))).filter($),innerProps:{testRunnerState:t,onNodeOpen:e=>t.setSelectedTestId(e.id),onNodeExpand:e=>{e.isOpen=!0,t.refreshTree()},onNodeCompress:e=>{e.isOpen=!1,t.refreshTree()}}})]})})),hN=/(?<path>resource:(?<path_sourceId>\/?(?:\w+\/)*\w+(?:\.\w+)*) (?:line:(?<path_line>\d+)) (?:column:(?<path_column>\d+)))/g,mN=e=>{const{wrapText:t,result:i}=e,s=Vy(),n=Qt(),[a,r]=(0,Xt.useState)(),o=(0,Xt.useRef)(void 0),c=(0,Xt.useRef)(null);return(0,Xt.useEffect)((()=>{if(!a&&c.current){const e=c.current,t=TT.editor.create(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,fontSize:12,extraEditorClassName:"monaco-editor--small-font",readOnly:!0,glyphMargin:!1,folding:!1,lineNumbers:"off",lineDecorationsWidth:10,lineNumbersMinChars:0,minimap:{enabled:!1},guides:{bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveBracketPair:!1,indentation:!1,highlightActiveIndentation:!1},renderLineHighlight:"none",theme:kT.DEFAULT_DARK,language:zT.TEXT});r(t)}}),[n,a]),a&&(o.current?.dispose(),o.current=TT.languages.registerLinkProvider(zT.TEXT,{provideLinks:e=>{const t=[];for(let i=1;i<=e.getLineCount();++i)Array.from(e.getLineContent(i).matchAll(hN)).forEach((e=>{void 0!==e.index&&e.groups?.path&&e.groups.path_sourceId&&e.groups.path_column&&e.groups.path_line&&t.push({range:{startLineNumber:i,startColumn:e.index+1,endLineNumber:i,endColumn:e.index+1+e.groups.path.length},tooltip:"Click to go to location",sourceId:e.groups.path_sourceId,line:e.groups.path_line,column:e.groups.path_column})}));return{links:t}},resolveLink:e=>{const t=e;(0,Ve.flowResult)(s.loadFile(t.sourceId,new QT(t.sourceId,Number.parseInt(t.line,10),Number.parseInt(t.column,10)))).catch(s.applicationStore.alertUnhandledError)}})),(0,Xt.useEffect)((()=>{if(a){const e=i instanceof JS?"Test passed!":i instanceof qS?i.error.text:"Running...";a.setValue(e),(i instanceof JS||i instanceof qS)&&a.createDecorationsCollection([{range:{startLineNumber:1,startColumn:1,endLineNumber:Number.MAX_SAFE_INTEGER,endColumn:Number.MAX_SAFE_INTEGER},options:{inlineClassName:i instanceof JS?"test-runner-panel__result__content--success":"test-runner-panel__result__content--failure"}}])}}),[a,i]),(0,Xt.useEffect)((()=>{a&&a.updateOptions({wordWrap:t?"on":"off"})}),[a,t]),(0,Xt.useEffect)((()=>()=>{a&&((e=>{e.dispose(),e.getModel()?.dispose()})(a),o.current?.dispose())}),[a]),(0,E.jsx)("div",{className:"code-editor__container",children:(0,E.jsx)("div",{className:"code-editor__body",ref:c})})},gN=(0,Ft.observer)((e=>{const{testRunnerState:t,selectedTestId:i,testResultInfo:s}=e,n=Vy(),a=Qt(),[r,o]=(0,Xt.useState)(!1),c=s.results.get(i),l=W(t.allTests.get(i),`Can't find info for test with ID '${i}'`);return(0,E.jsxs)(Jy,{children:[(0,E.jsx)(Xy,{title:l.text,children:(0,E.jsxs)(qy,{children:[(0,E.jsx)(Qy,{className:(0,Ut.clsx)({"panel__header__action--active":r}),onClick:()=>o(!r),title:"Toggle Text Wrap",children:(0,E.jsx)(Ni,{className:"test-runner-panel__result__header__icon--text-wrap"})}),(0,E.jsx)(Qy,{title:"Open File",onClick:()=>{(0,Ve.flowResult)(n.loadFile(l.li_attr.file,new QT(l.li_attr.file,Number.parseInt(l.li_attr.line,10),Number.parseInt(l.li_attr.column,10)))).catch(a.alertUnhandledError)},children:(0,E.jsx)(Ai,{})})]})}),(0,E.jsx)(Zy,{className:"test-runner-panel__result",children:(0,E.jsx)(mN,{result:c,wrapText:r})})]})})),fN=(0,Ft.observer)((e=>{const{testRunnerState:t}=e,i=Vy(),s=Qt(),n=t.testExecutionResult.count,a=t.testResultInfo,r=a?.suiteStatus??tC.NONE,o=a?.runPercentage??0;return(0,E.jsx)("div",{className:"test-runner-panel__content",children:(0,E.jsxs)(sN,{orientation:"vertical",children:[(0,E.jsx)(rN,{minSize:400,children:(0,E.jsxs)("div",{className:"panel test-runner-panel__explorer",children:[(0,E.jsx)(si,{isLoading:t.treeBuildingState.isInProgress}),(0,E.jsxs)("div",{className:"panel__header",children:[(0,E.jsx)("div",{className:"panel__header__title",children:(0,E.jsxs)("div",{className:"panel__header__title__content test-runner-panel__explorer__report",children:[(0,E.jsxs)("div",{className:"test-runner-panel__explorer__report__overview",children:[(0,E.jsxs)("div",{className:"test-runner-panel__explorer__report__overview__stat test-runner-panel__explorer__report__overview__stat--total",children:[n," total"]}),(0,E.jsxs)("div",{className:"test-runner-panel__explorer__report__overview__stat test-runner-panel__explorer__report__overview__stat--passed",children:[a?.passed??0," ",(0,E.jsx)(ms,{})]}),(0,E.jsxs)("div",{className:"test-runner-panel__explorer__report__overview__stat test-runner-panel__explorer__report__overview__stat--failed",children:[a?.failed??0," ",(0,E.jsx)(Ns,{})]}),(0,E.jsxs)("div",{className:"test-runner-panel__explorer__report__overview__stat test-runner-panel__explorer__report__overview__stat--error",children:[a?.error??0," ",(0,E.jsx)(Xi,{})]})]}),a&&(0,E.jsxs)("div",{className:"test-runner-panel__explorer__report__time",children:[a.time,"ms"]})]})}),(0,E.jsxs)("div",{className:"panel__header__actions",children:[(0,E.jsx)("button",{className:"panel__header__action",onClick:()=>t.setViewAsList(!t.viewAsList),title:t.viewAsList?"View As Tree":"View As List",children:t.viewAsList?(0,E.jsx)(Si,{className:"test-runner-panel__icon--tree-view"}):(0,E.jsx)(Ci,{className:"test-runner-panel__icon--list-view"})}),(0,E.jsx)("button",{className:"panel__header__action",onClick:()=>t.expandTree(),title:"Expand All",children:(0,E.jsx)(bs,{})}),(0,E.jsx)("button",{className:"panel__header__action",onClick:()=>t.collapseTree(),title:"Collapse All",children:(0,E.jsx)(as,{})}),(0,E.jsx)("button",{className:"panel__header__action",tabIndex:-1,disabled:!i.testRunState.isInProgress,onClick:()=>{(0,Ve.flowResult)(t.cancelTestRun()).catch(s.alertUnhandledError)},title:"Stop",children:(0,E.jsx)(As,{})}),(0,E.jsx)("button",{className:"panel__header__action",tabIndex:-1,onClick:()=>{(0,Ve.flowResult)(t.rerunTestSuite()).catch(s.alertUnhandledError)},disabled:i.testRunState.isInProgress,title:"Run Suite",children:(0,E.jsx)(os,{})}),(0,E.jsx)("button",{className:"panel__header__action",tabIndex:-1,onClick:()=>{(0,Ve.flowResult)(t.cancelTestRun()).catch(s.alertUnhandledError).finally((()=>{i.setTestRunnerState(void 0)}))},title:"Reset",children:(0,E.jsx)(Ji,{})})]})]}),(0,E.jsx)("div",{className:"test-runner-panel__header__status",children:(0,E.jsx)(lN.default,{className:`test-runner-panel__progress-bar test-runner-panel__progress-bar--${r.toLowerCase()}`,classes:{bar:`test-runner-panel__progress-bar__bar test-runner-panel__progress-bar__bar--${r.toLowerCase()}`},variant:"determinate",value:o})}),(0,E.jsx)("div",{className:"panel__content",children:t.treeData&&(0,E.jsxs)(E.Fragment,{children:[!t.viewAsList&&(0,E.jsx)(pN,{testRunnerState:t}),t.viewAsList&&(0,E.jsx)(uN,{testRunnerState:t})]})})]})}),(0,E.jsx)(oN,{children:(0,E.jsx)(cN,{color:i.panelGroupDisplayState.isMaximized?"transparent":"var(--color-dark-grey-250)"})}),(0,E.jsxs)(rN,{minSize:400,children:[t.selectedTestId&&!a&&(0,E.jsx)("div",{}),t.selectedTestId&&a&&(0,E.jsx)(gN,{testRunnerState:t,selectedTestId:t.selectedTestId,testResultInfo:a}),!t.selectedTestId&&(0,E.jsxs)("div",{className:"panel",children:[(0,E.jsx)("div",{className:"panel__header"}),(0,E.jsx)("div",{className:"panel__content",children:(0,E.jsx)(hn,{children:"No test selected"})})]}),(0,E.jsx)("div",{})]})]})})})),_N=(0,Ft.observer)((()=>{const e=Vy().testRunnerState;return(0,E.jsxs)("div",{className:"test-runner-panel",children:[!e&&(0,E.jsx)(hn,{children:(0,E.jsx)("div",{className:"panel-group__splash-screen",children:(0,E.jsxs)("div",{className:"panel-group__splash-screen__content",children:[(0,E.jsxs)("div",{className:"panel-group__splash-screen__content__item",children:[(0,E.jsx)("div",{className:"panel-group__splash-screen__content__item__label",children:"Run full test suite"}),(0,E.jsx)("div",{className:"panel-group__splash-screen__content__item__hot-keys",children:(0,E.jsx)("div",{className:"hotkey__key",children:"F10"})})]}),(0,E.jsxs)("div",{className:"panel-group__splash-screen__content__item",children:[(0,E.jsx)("div",{className:"panel-group__splash-screen__content__item__label",children:"Run relevant tests only"}),(0,E.jsxs)("div",{className:"panel-group__splash-screen__content__item__hot-keys",children:[(0,E.jsx)("div",{className:"hotkey__key",children:"Shift"}),(0,E.jsx)("div",{className:"hotkey__plus",children:(0,E.jsx)(qi,{})}),(0,E.jsx)("div",{className:"hotkey__key",children:"F10"})]})]})]})})}),e&&(0,E.jsx)(fN,{testRunnerState:e})]})})),bN=(0,Ft.observer)((e=>{const{candidate:t}=e,i=Vy(),s=Qt(),n=()=>{(0,Ve.flowResult)(i.loadFile(t.sourceID,new QT(t.sourceID,t.line,t.column))).catch(s.alertUnhandledError)};return(0,E.jsxs)("div",{className:"suggestions-panel__entry__content__item",children:[(0,E.jsxs)("div",{className:"suggestions-panel__entry__content__item__label__candidate",title:"Go to Result",onClick:n,children:[(0,E.jsx)("div",{className:"suggestions-panel__entry__content__item__label__candidate-name",children:t.foundName}),(0,E.jsx)("div",{className:"suggestions-panel__entry__content__item__label__candidate-location",children:`${XT(t.sourceID)} [${t.line}:${t.column}]`})]}),(0,E.jsx)("div",{className:"suggestions-panel__entry__content__item__actions",children:(0,E.jsx)("button",{className:"suggestions-panel__entry__content__item__action",tabIndex:-1,title:"Go to Result",onClick:n,children:(0,E.jsx)(cs,{})})})]})})),EN=(0,Ft.observer)((e=>{const{candidate:t}=e,i=Vy(),s=Qt();return(0,E.jsxs)("div",{className:"suggestions-panel__entry__content__item",children:[(0,E.jsxs)("div",{className:"suggestions-panel__entry__content__item__label__candidate",title:"Add Suggested Import",onClick:()=>{(0,Ve.flowResult)(i.updateFileUsingSuggestionCandidate(t)).catch(s.alertUnhandledError)},children:[(0,E.jsx)("div",{className:"suggestions-panel__entry__content__item__label__candidate-name",children:t.foundName}),(0,E.jsx)("div",{className:"suggestions-panel__entry__content__item__label__candidate-location",children:`${XT(t.sourceID)} [${t.line}:${t.column}]`})]}),(0,E.jsx)("div",{className:"suggestions-panel__entry__content__item__actions",children:(0,E.jsx)("button",{className:"suggestions-panel__entry__content__item__action",tabIndex:-1,title:"Go to Result",onClick:()=>{(0,Ve.flowResult)(i.loadFile(t.sourceID,new QT(t.sourceID,t.line,t.column))).catch(s.alertUnhandledError)},children:(0,E.jsx)(cs,{})})})]})})),vN=(0,Ft.observer)((e=>{const{suggestionState:t}=e,i=t.result;return(0,E.jsxs)("div",{className:"suggestions-panel__content",children:[!i.candidatesWithPackageImported.length&&(0,E.jsx)("div",{className:"suggestions-panel__content__header",children:`No functions, in packages already imported, match the function '${i.candidateName}'`}),Boolean(i.candidatesWithPackageImported.length)&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)("div",{className:"suggestions-panel__content__header",children:`These functions, in packages already imported, would match the function '${i.candidateName}' if you changed the parameters`}),(0,E.jsx)("div",{className:"suggestions-panel__entry",children:i.candidatesWithPackageImported.map((e=>(0,E.jsx)(bN,{candidate:e},e.uuid)))})]}),!i.candidatesWithPackageNotImported.length&&(0,E.jsx)("div",{className:"suggestions-panel__content__header",children:`No functions, in packages not imported, match the function '${i.candidateName}'`}),Boolean(i.candidatesWithPackageNotImported.length)&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)("div",{className:"suggestions-panel__content__header",children:`These functions, in packages not imported, match the function '${i.candidateName}'. Click on result to import the necessary package`}),(0,E.jsx)("div",{className:"suggestions-panel__entry",children:i.candidatesWithPackageNotImported.map((e=>(0,E.jsx)(EN,{candidate:e},e.uuid)))})]})]})})),TN=(0,Ft.observer)((e=>{const{suggestionState:t}=e,i=t.result;return(0,E.jsxs)("div",{className:"suggestions-panel__content",children:[!i.candidates.length&&(0,E.jsx)("div",{className:"suggestions-panel__content__header",children:`No possible matches found for '${i.candidateName}'`}),Boolean(i.candidates.length)&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)("div",{className:"suggestions-panel__content__header",children:`Found possible matches for '${i.candidateName}'. Click on result to import the necessary package`}),(0,E.jsx)("div",{className:"suggestions-panel__entry",children:i.candidates.map((e=>(0,E.jsx)(EN,{candidate:e},e.uuid)))})]})]})})),SN=(0,Ft.observer)((()=>{const e=Vy();return(0,E.jsxs)("div",{className:"suggestions-panel",children:[e.codeFixSuggestion instanceof Py&&(0,E.jsx)(vN,{suggestionState:e.codeFixSuggestion}),e.codeFixSuggestion instanceof My&&(0,E.jsx)(TN,{suggestionState:e.codeFixSuggestion})]})})),CN=(0,Ft.observer)((e=>{const{referenceUsageResult:t,result:i}=e,s=Vy(),n=Qt(),a=e=>()=>(0,Ve.flowResult)(s.loadFile(i.sourceId,new QT(i.sourceId,e.startLine,e.startColumn))).catch(n.alertUnhandledError),r=e=>()=>{i.dismissCoordinate(e),i.coordinates.length||t.dismissSearchEntry(i)};return(0,E.jsxs)("div",{className:"references-panel__entry",children:[(0,E.jsxs)("div",{className:"references-panel__entry__header",onClick:()=>i.setIsExpanded(!i.isExpanded),children:[(0,E.jsxs)("div",{className:"references-panel__entry__header__title",children:[(0,E.jsx)("div",{className:"references-panel__entry__header__title__expander",children:i.isExpanded?(0,E.jsx)(Bs,{}):(0,E.jsx)(Us,{})}),(0,E.jsx)("div",{className:"references-panel__entry__header__title__label",children:(0,E.jsx)(Os,{})}),(0,E.jsx)("div",{className:"references-panel__entry__header__title__content",children:XT(i.sourceId)})]}),(0,E.jsxs)("div",{className:"references-panel__entry__header__actions",children:[(0,E.jsx)("div",{className:"references-panel__entry__header__action references-panel__entry__header__action--with-counter",children:(0,E.jsx)("div",{className:"references-panel__entry__header__action__counter",children:i.coordinates.length})}),(0,E.jsx)("button",{className:"references-panel__entry__header__action references-panel__entry__header__action--hidden",tabIndex:-1,title:"Dismiss",onClick:()=>t.dismissSearchEntry(i),children:(0,E.jsx)(Ji,{})})]})]}),i.isExpanded&&(0,E.jsx)("div",{className:"references-panel__entry__content",children:i.coordinates.map((e=>(0,E.jsxs)("div",{className:"references-panel__entry__content__item",children:[(0,E.jsxs)("div",{className:"references-panel__entry__content__item__label references-panel__entry__content__item__label--full",title:e.preview?`${e.preview.before}${e.preview.found.replaceAll(/\n/g,"↵")}${e.preview.after}`:"Go To Result",onClick:a(e),children:[e.preview&&(0,E.jsxs)("div",{className:"references-panel__entry__content__item__label__content",children:[(0,E.jsx)("div",{className:"references-panel__entry__content__item__label__coordinates",children:`[${e.startLine}:${e.startColumn}]`}),(0,E.jsxs)("div",{className:"references-panel__entry__content__item__label__preview",children:[(0,E.jsx)("span",{className:"references-panel__entry__content__item__label__preview__text",children:e.preview.before}),(0,E.jsx)("span",{className:"references-panel__entry__content__item__label__preview__text references-panel__entry__content__item__label__preview__text--found",children:e.preview.found.replaceAll(/\n/g,"↵")}),(0,E.jsx)("span",{className:"references-panel__entry__content__item__label__preview__text",children:e.preview.after})]})]}),!e.preview&&(0,E.jsx)(E.Fragment,{children:`line: ${e.startLine} - column: ${e.startColumn}`})]}),(0,E.jsx)("div",{className:"references-panel__entry__content__item__actions",children:(0,E.jsx)("button",{className:"references-panel__entry__content__item__action references-panel__entry__content__item__action--hidden",tabIndex:-1,title:"Dismiss",onClick:r(e),children:(0,E.jsx)(Ji,{})})})]},e.uuid)))})]})})),yN=(0,Ft.observer)((e=>{const{referenceUsageState:t}=e,i=Vy(),s=Qt(),n=t.searchEntries.some((e=>!e.isExpanded));return(0,E.jsxs)("div",{className:"references-panel__content",children:[(0,E.jsxs)("div",{className:"references-panel__content__header",children:[(0,E.jsx)("div",{className:"references-panel__content__header__title",children:t.searchEntries.length?`${t.numberOfResults} usages(s) in ${t.numberOfFiles} files for ${tS(t.usageConcept)}`:`No usages found for ${tS(t.usageConcept)}`}),(0,E.jsxs)("div",{className:"references-panel__content__header__actions",children:[(0,E.jsx)("button",{className:"references-panel__content__header__action",tabIndex:-1,title:"Refresh",onClick:()=>{(0,Ve.flowResult)(i.findUsages(t.usageConcept)).catch(s.alertUnhandledError)},children:(0,E.jsx)(Ti,{})}),(0,E.jsx)("button",{className:"references-panel__content__header__action",tabIndex:-1,title:"Clear",onClick:()=>i.setReferenceUsageResult(void 0),children:(0,E.jsx)(Ii,{})}),!n&&(0,E.jsx)("button",{className:"references-panel__content__header__action",tabIndex:-1,title:"Collapse All",onClick:()=>{t.searchEntries.forEach((e=>e.setIsExpanded(!1)))},children:(0,E.jsx)(Pi,{})}),n&&(0,E.jsx)("button",{className:"references-panel__content__header__action",tabIndex:-1,title:"Expand All",onClick:()=>{t.searchEntries.forEach((e=>e.setIsExpanded(!0)))},children:(0,E.jsx)(Mi,{})})]})]}),(0,E.jsx)("div",{className:"references-panel__content__results",children:t.searchEntries.map((e=>(0,E.jsx)(CN,{referenceUsageResult:t,result:e},e.uuid)))})]})})),NN=(0,Ft.observer)((()=>{const e=Vy();return(0,E.jsxs)("div",{className:"references-panel",children:[(0,E.jsx)(si,{isLoading:e.referenceUsageLoadState.isInProgress}),!e.referenceUsageResult&&(0,E.jsx)(hn,{children:(0,E.jsx)("div",{className:"panel-group__splash-screen",children:(0,E.jsx)("div",{className:"panel-group__splash-screen__content",children:(0,E.jsxs)("div",{className:"panel-group__splash-screen__content__item",children:[(0,E.jsx)("div",{className:"panel-group__splash-screen__content__item__label",children:"Find Concept References"}),(0,E.jsxs)("div",{className:"panel-group__splash-screen__content__item__hot-keys",children:[(0,E.jsx)("div",{className:"hotkey__key",children:"Alt"}),(0,E.jsx)("div",{className:"hotkey__plus",children:(0,E.jsx)(qi,{})}),(0,E.jsx)("div",{className:"hotkey__key",children:"F7"})]})]})})})}),e.referenceUsageResult&&(0,E.jsx)(yN,{referenceUsageState:e.referenceUsageResult})]})})),AN=(0,Ft.observer)((()=>{const e=Vy(),t={[ET.TERMINAL]:{mode:ET.TERMINAL,name:"TERMINAL",icon:(0,E.jsx)(Ss,{className:"panel-group__header__tab__icon--terminal"}),isVisible:!0},[ET.SEARCH]:{mode:ET.SEARCH,name:"SEARCH",icon:(0,E.jsx)(ds,{className:"panel-group__header__tab__icon--search"}),isVisible:!0},[ET.TEST_RUNNER]:{mode:ET.TEST_RUNNER,name:"TEST",icon:(0,E.jsx)($i,{className:"panel-group__header__tab__icon--test"}),isVisible:!0},[ET.REFERENCES]:{mode:ET.REFERENCES,name:"REFERENCES",icon:(0,E.jsx)(Ri,{className:"panel-group__header__tab__icon--references"}),isVisible:!0},[ET.CODE_FIX_SUGGESTION]:{mode:ET.CODE_FIX_SUGGESTION,name:"SUGGESTIONS",icon:(0,E.jsx)(ki,{className:"panel-group__header__tab__icon--suggestion"}),isVisible:Boolean(e.codeFixSuggestion)}},i=Object.values(ET).filter((e=>$(t[e])&&t[e].isVisible)),s=t=>e.activePanelMode===t&&i.includes(t);return(0,Xt.useEffect)((()=>{i.includes(e.activePanelMode)||e.setActivePanelMode(ET.TERMINAL)}),[e,i,e.activePanelMode]),(0,E.jsxs)(Jy,{className:"panel-group",children:[(0,E.jsxs)(Xy,{children:[(0,E.jsx)("div",{className:"panel-group__header__tabs",children:i.map((e=>t[e])).filter($).map((t=>{return(0,E.jsxs)("button",{tabIndex:-1,className:(0,Ut.clsx)("panel-group__header__tab",{"panel-group__header__tab--active":e.activePanelMode===t.mode}),onClick:(i=t.mode,()=>e.setActivePanelMode(i)),children:[(0,E.jsx)("div",{className:"panel-group__header__tab__icon",children:t.icon}),(0,E.jsx)("div",{className:"panel-group__header__tab__title",children:t.name})]},t.mode);var i}))}),(0,E.jsxs)("div",{className:"panel-group__header__actions",children:[(0,E.jsx)("button",{className:"panel-group__header__action",onClick:()=>e.panelGroupDisplayState.toggleMaximize(),tabIndex:-1,title:"Toggle Expand/Collapse",children:e.panelGroupDisplayState.isMaximized?(0,E.jsx)(Bs,{}):(0,E.jsx)(js,{})}),(0,E.jsx)("button",{className:"panel-group__header__action",onClick:()=>e.panelGroupDisplayState.toggle(),tabIndex:-1,title:"Close",children:(0,E.jsx)(Vs,{})})]})]}),(0,E.jsxs)(Zy,{children:[s(ET.TERMINAL)&&(0,E.jsx)("div",{className:"panel-group__content__tab",children:(0,E.jsx)(Gy,{})}),s(ET.SEARCH)&&(0,E.jsx)("div",{className:"panel-group__content__tab",children:(0,E.jsx)($y,{})}),s(ET.TEST_RUNNER)&&(0,E.jsx)("div",{className:"panel-group__content__tab",children:(0,E.jsx)(_N,{})}),s(ET.CODE_FIX_SUGGESTION)&&(0,E.jsx)("div",{className:"panel-group__content__tab",children:(0,E.jsx)(SN,{})}),s(ET.REFERENCES)&&(0,E.jsx)("div",{className:"panel-group__content__tab",children:(0,E.jsx)(NN,{})})]})]})}));var IN=i(2689);const xN=()=>(0,E.jsx)("div",{className:"icon color--package",children:(0,E.jsx)(zs,{})}),ON=()=>(0,E.jsx)("div",{className:"icon color--class",children:"C"}),wN=()=>(0,E.jsx)("div",{className:"icon color--enumeration",children:"E"}),RN=()=>(0,E.jsx)("div",{className:"icon color--measure",children:"M"}),kN=()=>(0,E.jsx)("div",{className:"icon color--unit",children:"u"}),PN=()=>(0,E.jsx)("div",{className:"icon color--profile",children:"P"}),MN=()=>(0,E.jsx)("div",{className:"icon icon--function color--function",children:(0,E.jsx)(vi,{})}),LN=()=>(0,E.jsx)("div",{className:"icon color--mapping",children:(0,E.jsx)(rs,{})}),FN=()=>(0,E.jsx)("div",{className:"icon icon--unknown",children:(0,E.jsx)(Hi,{})}),DN=()=>(0,E.jsx)("div",{className:"icon icon--function color--native-function",children:(0,E.jsx)(vi,{})}),BN=()=>(0,E.jsx)("div",{className:"icon icon--property color--property",children:(0,E.jsx)(Gs,{})}),jN=()=>(0,E.jsx)("div",{className:"icon color--diagram",children:(0,E.jsx)(ls,{})}),UN=()=>(0,E.jsx)("div",{className:"icon icon--database",children:(0,E.jsx)(Ls,{})}),VN=()=>(0,E.jsx)("div",{className:"icon color--association color--pure-association",children:"A"}),GN=e=>{switch(e){case HT.PACKAGE:return(0,E.jsx)(xN,{});case HT.PROFILE:return(0,E.jsx)(PN,{});case HT.CLASS:return(0,E.jsx)(ON,{});case HT.ASSOCIATION:return(0,E.jsx)(VN,{});case HT.PROPERTY:case HT.QUALIFIED_PROPERTY:return(0,E.jsx)(BN,{});case HT.ENUMERATION:return(0,E.jsx)(wN,{});case HT.MEASURE:return(0,E.jsx)(RN,{});case HT.UNIT:return(0,E.jsx)(kN,{});case HT.FUNCTION:return(0,E.jsx)(MN,{});case HT.NATIVE_FUNCTION:return(0,E.jsx)(DN,{});case HT.DIAGRAM:return(0,E.jsx)(jN,{});case HT.DATABASE:return(0,E.jsx)(UN,{});case HT.MAPPING:return(0,E.jsx)(LN,{});default:return(0,E.jsx)(FN,{})}},zN=/^\w[\w$]*$/,HN=/^(?:(?:\w[\w$]*)::)*\w[\w$]*$/,$N=(0,Ft.observer)((e=>{const{node:t}=e,i=Vy(),s=Qt(),n=t.data.li_attr.pureName??t.data.li_attr.pureId,a=t.data.li_attr.pureType===HT.PACKAGE,[r,o]=(0,Xt.useState)(a?fE(n):n),c=(0,Xt.useRef)(null),l=Boolean(r.match(a?HN:zN)),d=(a?fE(n):n)===r,u=l?void 0:"Invalid path",p=()=>i.conceptTreeState.setNodeForRenameConcept(void 0),h=e=>{e.preventDefault(),d||i.conceptTreeState.renameConcept(t,r).catch(s.alertUnhandledError).finally((()=>p()))};return(0,E.jsx)(jt.default,{open:!0,onClose:p,TransitionProps:{onEnter:()=>c.current?.focus()},classes:{container:"command-modal__container"},PaperProps:{classes:{root:"command-modal__inner-container"}},children:(0,E.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,E.jsx)("div",{className:"modal__title",children:"Rename concept"}),(0,E.jsxs)("div",{className:"command-modal__content",children:[(0,E.jsx)("form",{className:"command-modal__content__form",onSubmit:h,children:(0,E.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,E.jsx)("input",{ref:c,className:"input input--dark",onChange:e=>o(e.target.value),value:r,spellCheck:!1}),u&&(0,E.jsx)("div",{className:"input-group__error-message",children:u})]})}),(0,E.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:Boolean(u),onClick:h,children:"Rename"})]})]})})})),YN=/^(?:(?:\w[\w$]*)::)*\w[\w$]*$/,WN=(0,Ft.observer)((e=>{const{node:t}=e,i=Vy(),s=Qt(),n=_E(t.data.li_attr.pureId)??"",[a,r]=(0,Xt.useState)(n),o=(0,Xt.useRef)(null),c=Boolean(a.match(YN)),l=n===a,d=c?void 0:"Invalid path",u=()=>i.conceptTreeState.setNodeForMoveElement(void 0),p=e=>{e.preventDefault(),l||i.conceptTreeState.movePackageableElements([X(t.data.li_attr,KT)],a).catch(s.alertUnhandledError).finally((()=>u()))};return(0,E.jsx)(jt.default,{open:!0,onClose:u,TransitionProps:{onEnter:()=>o.current?.focus()},classes:{container:"command-modal__container"},PaperProps:{classes:{root:"command-modal__inner-container"}},children:(0,E.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,E.jsx)("div",{className:"modal__title",children:"Move element"}),(0,E.jsxs)("div",{className:"command-modal__content",children:[(0,E.jsx)("form",{className:"command-modal__content__form",onSubmit:p,children:(0,E.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,E.jsx)("input",{ref:o,className:"input input--dark",onChange:e=>r(e.target.value),value:a,spellCheck:!1}),d&&(0,E.jsx)("div",{className:"input-group__error-message",children:d})]})}),(0,E.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:Boolean(d),onClick:p,children:"Move"})]})]})})})),KN=(0,Ft.observer)((0,Xt.forwardRef)((function(e,t){const{node:i,viewConceptSource:s}=e,n=i.data.li_attr,a=n.pureType,r=Vy(),o=Qt();return(0,E.jsxs)(an,{ref:t,children:[n.pureType!==HT.PROPERTY&&n.pureType!==HT.QUALIFIED_PROPERTY&&(0,E.jsx)(rn,{onClick:()=>{o.clipboardService.copyTextToClipboard(n.pureId).catch(o.alertUnhandledError)},children:"Copy Path"}),a===HT.PACKAGE&&(0,E.jsx)(rn,{onClick:()=>{(0,Ve.flowResult)(r.executeTests(i.data.li_attr.pureId)).catch(o.alertUnhandledError)},children:"Run Tests"}),a===HT.FUNCTION&&(0,E.jsx)(rn,{onClick:()=>{o.navigationService.navigator.visitAddress(`${r.client.baseUrl}/execute?func=${n.pureId}&mode=${r.client.mode}`)},children:"Service (JSON)"}),(n instanceof WT||n instanceof KT)&&(0,E.jsx)(rn,{onClick:()=>{(n instanceof KT||n instanceof WT)&&r.findUsagesFromCoordinate(new QT(n.file,Number.parseInt(n.line,10),Number.parseInt(n.column,10)))},children:"Find Usages"}),a!==HT.PACKAGE&&(0,E.jsx)(rn,{onClick:()=>s(i),children:"View Source"}),(0,E.jsx)(on,{}),(0,E.jsx)(rn,{onClick:()=>r.conceptTreeState.setNodeForRenameConcept(i),children:"Rename"}),n instanceof KT&&(0,E.jsx)(rn,{onClick:()=>r.conceptTreeState.setNodeForMoveElement(i),children:"Move"})]})})));var JN;!function(e){e.UNSUPPORTED="UNSUPPORTED",e.CLASS="CLASS"}(JN||(JN={}));const XN=e=>{const{node:t,level:i,stepPaddingInRem:s,onNodeSelect:n,innerProps:a}=e,[r,o]=(0,Xt.useState)(!1),{onNodeOpen:c,onNodeExpand:l,onNodeCompress:d,viewConceptSource:u}=a,p=t.parent&&t.data.li_attr instanceof WT&&t.data.li_attr.classPath!==t.parent.id,h=[HT.PACKAGE,HT.CLASS].includes(t.data.li_attr.pureType),m=t.data.li_attr.pureType===HT.QUALIFIED_PROPERTY?(0,E.jsxs)(E.Fragment,{children:[t.label,(0,E.jsx)("span",{className:"explorer__package-tree__node__label__tag",children:"(...)"})]}):p?(0,E.jsxs)(E.Fragment,{children:[t.label,(0,E.jsx)("span",{className:"explorer__package-tree__node__label__tag",children:fE(X(t.data.li_attr,WT).classPath)})]}):t.label.includes("(")?(0,E.jsxs)(E.Fragment,{children:[t.label.substring(0,t.label.indexOf("(")),(0,E.jsx)("span",{className:"explorer__package-tree__node__label__tag",children:t.label.substring(t.label.indexOf("("))})]}):t.label,g=()=>{t.isLoading||(t.isOpen?d(t):l(t))},[,f]=(0,IN.useDrag)((()=>({type:"Class"===t.data.li_attr.pureType?JN.CLASS:JN.UNSUPPORTED,item:t.data})),[t]);return(0,E.jsx)(nn,{content:(0,E.jsx)(KN,{node:t,viewConceptSource:u}),menuProps:{elevation:7},onOpen:()=>o(!0),onClose:()=>o(!1),children:(0,E.jsxs)("div",{className:(0,Ut.clsx)("tree-view__node__container explorer__package-tree__node__container",{"explorer__package-tree__node__container--selected-from-context-menu":!t.isSelected&&r},{"explorer__package-tree__node__container--selected":t.isSelected}),onClick:e=>{e.stopPropagation(),e.preventDefault(),n?.(t)},ref:f,onDoubleClick:()=>{t.isLoading||(h&&g(),n?.(t),c(t))},style:{paddingLeft:i*(s??1)+"rem",display:"flex"},children:[(0,E.jsxs)("div",{className:"tree-view__node__icon explorer__package-tree__node__icon",children:[t.isLoading&&(0,E.jsx)("div",{className:"explorer__package-tree__node__icon__expand explorer__package-tree__node__icon__expand--is-loading",children:(0,E.jsx)(_s,{})}),!t.isLoading&&(0,E.jsx)("div",{className:"explorer__package-tree__node__icon__expand",onClick:g,children:h?t.isOpen?(0,E.jsx)(Bs,{}):(0,E.jsx)(Us,{}):(0,E.jsx)("div",{})}),(0,E.jsx)("div",{className:(0,Ut.clsx)("explorer__package-tree__node__icon__type",{"explorer__package-tree__node__icon__type--property-from-association":p}),children:GN(t.data.li_attr.pureType)})]}),(0,E.jsx)("button",{className:"tree-view__node__label explorer__package-tree__node__label",tabIndex:-1,children:m})]})})},qN=(0,Ft.observer)((()=>{const e=Vy(),t=Qt(),i=e.conceptTreeState,s=e.conceptTreeState.getTreeData();return(0,E.jsxs)("div",{className:"explorer__content",onClick:()=>i.setSelectedNode(void 0),children:[(0,E.jsx)(Ky,{components:{TreeNodeContainer:XN},treeData:s,onNodeSelect:e=>i.setSelectedNode(e),getChildNodes:e=>e.isLoading||!e.childrenIds?[]:e.childrenIds.map((e=>s.nodes.get(e))).filter($),innerProps:{onNodeOpen:e=>{(0,Ve.flowResult)(i.openNode(e)).catch(t.alertUnhandledError)},onNodeExpand:e=>{(0,Ve.flowResult)(i.expandNode(e)).catch(t.alertUnhandledError)},onNodeCompress:e=>{e.isOpen=!1,i.refreshTree()},viewConceptSource:i=>{const s=i.data.li_attr;(s instanceof KT||s instanceof WT)&&(0,Ve.flowResult)(e.directoryTreeState.revealPath(s.file,{forceOpenExplorerPanel:!0,coordinate:new QT(s.file,Number.parseInt(s.line,10),Number.parseInt(s.column,10))})).catch(t.alertUnhandledError)}}}),i.nodeForRenameConcept&&(0,E.jsx)($N,{node:i.nodeForRenameConcept}),i.nodeForMoveElement&&(0,E.jsx)(WN,{node:i.nodeForMoveElement})]})})),QN=(0,Ft.observer)((()=>{const e=Vy(),t=Qt(),i=e.conceptTreeState;return(0,E.jsxs)("div",{className:"panel explorer",children:[(0,E.jsx)("div",{className:"panel__header side-bar__header",children:(0,E.jsx)("div",{className:"panel__header__title",children:(0,E.jsx)("div",{className:"panel__header__title__content side-bar__header__title__content",children:"CONCEPTS"})})}),(0,E.jsx)("div",{className:"panel__content side-bar__content",children:(0,E.jsxs)("div",{className:"panel explorer",children:[(0,E.jsxs)("div",{className:"panel__header explorer__header",children:[(0,E.jsx)("div",{className:"panel__header__title"}),(0,E.jsxs)("div",{className:"panel__header__actions",children:[(0,E.jsx)("button",{className:"panel__header__action explorer__btn__refresh",onClick:()=>{(0,Ve.flowResult)(i.refreshTreeData()).catch(t.alertUnhandledError)},title:"Refresh Tree",children:(0,E.jsx)(Ti,{})}),(0,E.jsx)("button",{className:"panel__header__action",onClick:()=>{i.getTreeData().nodes.forEach((e=>{e.isOpen=!1})),i.setSelectedNode(void 0),i.refreshTree()},title:"Collapse All",children:(0,E.jsx)(as,{})})]})]}),(0,E.jsxs)("div",{className:"panel__content explorer__content__container",children:[(0,E.jsx)(si,{isLoading:i.loadInitialDataState.isInProgress}),i.loadInitialDataState.hasSucceeded&&(0,E.jsx)(qN,{}),!i.loadInitialDataState.hasSucceeded&&i.statusText&&(0,E.jsx)("div",{className:"explorer__content__container__message",children:i.statusText}),i.loadInitialDataState.hasFailed&&(0,E.jsx)(hn,{children:"Failed to build concept tree. Make sure graph compiles"})]})]})})]})})),ZN=/^\w+(?:\.\w+)*$/,eA=(0,Ft.observer)((e=>{const{node:t}=e,i=Vy(),s=Qt(),[n,a]=(0,Xt.useState)("untitled.pure"),r=(0,Xt.useRef)(null),o=Boolean(n.match(ZN)),c=!t.childrenIds?.map((e=>i.directoryTreeState.getTreeData().nodes.get(e))).filter((e=>e?.data.text===n)).length,l=o?c?void 0:"Already existed":"Invalid file name",d=()=>i.directoryTreeState.setNodeForCreateNewFile(void 0),u=e=>{e.preventDefault(),d(),(0,Ve.flowResult)(i.createNewFile(`${t.data.li_attr.path}/${n}`)).catch(s.alertUnhandledError)};return(0,E.jsx)(jt.default,{open:!0,onClose:d,TransitionProps:{onEnter:()=>r.current?.focus()},classes:{container:"command-modal__container"},PaperProps:{classes:{root:"command-modal__inner-container"}},children:(0,E.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,E.jsx)("div",{className:"modal__title",children:"Create a new file"}),(0,E.jsxs)("div",{className:"command-modal__content",children:[(0,E.jsx)("form",{className:"command-modal__content__form",onSubmit:u,children:(0,E.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,E.jsx)("input",{ref:r,className:"input input--dark",onChange:e=>a(e.target.value),value:n,spellCheck:!1}),l&&(0,E.jsx)("div",{className:"input-group__error-message",children:l})]})}),(0,E.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:Boolean(l),onClick:u,children:"Create"})]})]})})})),tA=/^\w+$/,iA=(0,Ft.observer)((e=>{const{node:t}=e,i=Vy(),s=Qt(),[n,a]=(0,Xt.useState)("untitled"),r=(0,Xt.useRef)(null),o=Boolean(n.match(tA)),c=!t.childrenIds?.map((e=>i.directoryTreeState.getTreeData().nodes.get(e))).filter((e=>e?.data.text===n)).length,l=o?c?void 0:"Already existed":"Invalid directory name",d=()=>i.directoryTreeState.setNodeForCreateNewDirectory(void 0),u=e=>{e.preventDefault(),d(),(0,Ve.flowResult)(i.createNewDirectory(`${t.data.li_attr.path}/${n}`)).catch(s.alertUnhandledError)};return(0,E.jsx)(jt.default,{open:!0,onClose:d,TransitionProps:{onEnter:()=>r.current?.focus()},classes:{container:"command-modal__container"},PaperProps:{classes:{root:"command-modal__inner-container"}},children:(0,E.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,E.jsx)("div",{className:"modal__title",children:"Create a new directory"}),(0,E.jsxs)("div",{className:"command-modal__content",children:[(0,E.jsx)("form",{className:"command-modal__content__form",onSubmit:u,children:(0,E.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,E.jsx)("input",{ref:r,className:"input input--dark",onChange:e=>a(e.target.value),value:n,spellCheck:!1}),l&&(0,E.jsx)("div",{className:"input-group__error-message",children:l})]})}),(0,E.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:Boolean(l),onClick:u,children:"Create"})]})]})})})),sA=/^\/?(?:\w+\/)*\w+(?:\.\w+)*$/,nA=(0,Ft.observer)((e=>{const{node:t}=e,i=Vy(),s=Qt(),[n,a]=(0,Xt.useState)(t.data.li_attr.path),r=(0,Xt.useRef)(null),o=Boolean(n.match(sA)),c=t.data.li_attr.path===n,l=o?void 0:"Invalid path",d=()=>i.directoryTreeState.setNodeForRenameFile(void 0),u=e=>{e.preventDefault(),c||(d(),(0,Ve.flowResult)(i.renameFile(t.data.li_attr.path,n)).catch(s.alertUnhandledError))};return(0,E.jsx)(jt.default,{open:!0,onClose:d,TransitionProps:{onEnter:()=>r.current?.focus()},classes:{container:"command-modal__container"},PaperProps:{classes:{root:"command-modal__inner-container"}},children:(0,E.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,E.jsx)("div",{className:"modal__title",children:"Rename file"}),(0,E.jsxs)("div",{className:"command-modal__content",children:[(0,E.jsx)("form",{className:"command-modal__content__form",onSubmit:u,children:(0,E.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,E.jsx)("input",{ref:r,className:"input input--dark",onChange:e=>a(e.target.value),value:n,spellCheck:!1}),l&&(0,E.jsx)("div",{className:"input-group__error-message",children:l})]})}),(0,E.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:Boolean(l),onClick:u,children:"Rename"})]})]})})})),aA=(0,Ft.observer)((0,Xt.forwardRef)((function(e,t){const{node:i}=e,s=Qt(),n=Vy(),a=i.data.isFolderNode,r=Boolean(i.data.children);return(0,E.jsxs)(an,{ref:t,children:[(0,E.jsx)(rn,{onClick:()=>{s.clipboardService.copyTextToClipboard(i.data.li_attr.path).catch(s.alertUnhandledError)},children:"Copy Path"}),(0,E.jsx)(on,{}),a&&(0,E.jsx)(rn,{onClick:()=>n.directoryTreeState.setNodeForCreateNewFile(i),children:"New File"}),a&&(0,E.jsx)(rn,{onClick:()=>n.directoryTreeState.setNodeForCreateNewDirectory(i),children:"New Directory"}),!a&&(0,E.jsx)(rn,{onClick:()=>n.directoryTreeState.setNodeForRenameFile(i),children:"Rename"}),(0,E.jsx)(rn,{disabled:Boolean(i.data instanceof SS&&i.data.children),onClick:()=>{(0,Ve.flowResult)(n.deleteDirectoryOrFile(i.data.li_attr.path,a,r)).catch(s.alertUnhandledError)},children:"Delete"})]})}))),rA=e=>{const{node:t,level:i,stepPaddingInRem:s,onNodeSelect:n,innerProps:a}=e,[r,o]=(0,Xt.useState)(!1),{onNodeOpen:c,onNodeExpand:l,onNodeCompress:d}=a,u=t.data instanceof SS&&t.data.isRepoNode&&"/platform"===t.data.li_attr.path,p=t.data.li_attr.RO,h=t.data.isFolderNode,m=t.data instanceof SS&&!t.data.children,g=u||t.data.isRepoNode&&t.data.li_attr.path.startsWith("/platform_")?(0,E.jsx)(Es,{className:"explorer__icon--readonly"}):h?m?(0,E.jsx)(ys,{className:(0,Ut.clsx)("explorer__icon--folder",{"explorer__icon--readonly":p})}):t.isOpen?(0,E.jsx)(Cs,{className:(0,Ut.clsx)("explorer__icon--folder",{"explorer__icon--readonly":p})}):(0,E.jsx)(ys,{className:(0,Ut.clsx)("explorer__icon--folder",{"explorer__icon--readonly":p})}):(0,E.jsx)(Os,{className:(0,Ut.clsx)("explorer__icon--file",{"explorer__icon--readonly":p})}),f=()=>{m||t.isLoading||(t.isOpen?d(t):l(t))};return(0,E.jsx)(nn,{content:(0,E.jsx)(aA,{node:t}),menuProps:{elevation:7},onOpen:()=>o(!0),onClose:()=>o(!1),children:(0,E.jsxs)("div",{className:(0,Ut.clsx)("tree-view__node__container explorer__package-tree__node__container",{"explorer__package-tree__node__container--selected-from-context-menu":!t.isSelected&&r},{"explorer__package-tree__node__container--selected":t.isSelected}),onClick:e=>{e.stopPropagation(),e.preventDefault(),n?.(t)},onDoubleClick:()=>{t.isLoading||(h?f():c(t))},style:{paddingLeft:i*(s??1)+"rem",display:"flex"},children:[(0,E.jsxs)("div",{className:"tree-view__node__icon explorer__package-tree__node__icon",children:[t.isLoading&&(0,E.jsx)("div",{className:"explorer__package-tree__node__icon__expand explorer__package-tree__node__icon__expand--is-loading",children:(0,E.jsx)(_s,{})}),!t.isLoading&&(0,E.jsx)("div",{className:"explorer__package-tree__node__icon__expand",onClick:f,children:!h||m?(0,E.jsx)("div",{}):t.isOpen?(0,E.jsx)(Bs,{}):(0,E.jsx)(Us,{})}),(0,E.jsx)("div",{className:"explorer__package-tree__node__icon__type",children:g})]}),(0,E.jsx)("button",{className:"tree-view__node__label explorer__package-tree__node__label",tabIndex:-1,children:u?"platform":t.label})]})})},oA=(0,Ft.observer)((()=>{const e=Vy(),t=Qt(),i=e.directoryTreeState,s=e.directoryTreeState.getTreeData();return(0,E.jsxs)("div",{className:"explorer__content",onClick:()=>i.setSelectedNode(void 0),children:[(0,E.jsx)(Ky,{components:{TreeNodeContainer:rA},treeData:s,onNodeSelect:e=>i.setSelectedNode(e),getChildNodes:e=>e.isLoading||!e.childrenIds?[]:e.childrenIds.map((e=>s.nodes.get(e))).filter($),innerProps:{onNodeOpen:e=>{(0,Ve.flowResult)(i.openNode(e)).catch(t.alertUnhandledError)},onNodeExpand:e=>{(0,Ve.flowResult)(i.expandNode(e)).catch(t.alertUnhandledError)},onNodeCompress:e=>{e.isOpen=!1,i.refreshTree()}}}),i.nodeForCreateNewFile&&(0,E.jsx)(eA,{node:i.nodeForCreateNewFile}),i.nodeForCreateNewDirectory&&(0,E.jsx)(iA,{node:i.nodeForCreateNewDirectory}),i.nodeForRenameFile&&(0,E.jsx)(nA,{node:i.nodeForRenameFile})]})})),cA=(0,Ft.observer)((()=>{const e=Vy(),t=Qt(),i=e.directoryTreeState;return(0,E.jsxs)("div",{className:"panel explorer",children:[(0,E.jsx)("div",{className:"panel__header side-bar__header",children:(0,E.jsx)("div",{className:"panel__header__title",children:(0,E.jsx)("div",{className:"panel__header__title__content side-bar__header__title__content",children:"FILES"})})}),(0,E.jsx)("div",{className:"panel__content side-bar__content",children:(0,E.jsxs)("div",{className:"panel explorer",children:[(0,E.jsxs)("div",{className:"panel__header explorer__header",children:[(0,E.jsx)("div",{className:"panel__header__title"}),(0,E.jsxs)("div",{className:"panel__header__actions",children:[(0,E.jsx)("button",{className:"panel__header__action explorer__btn__refresh",onClick:()=>{(0,Ve.flowResult)(i.refreshTreeData()).catch(t.alertUnhandledError)},title:"Refresh Tree",children:(0,E.jsx)(Ti,{})}),(0,E.jsx)("button",{className:"panel__header__action",onClick:()=>{const s=e.tabManagerState.currentTab;s instanceof _S&&(0,Ve.flowResult)(i.revealPath(s.filePath)).catch(t.alertUnhandledError)},title:"Focus",children:(0,E.jsx)(Wi,{})}),(0,E.jsx)("button",{className:"panel__header__action",onClick:()=>{i.getTreeData().nodes.forEach((e=>{e.isOpen=!1})),i.setSelectedNode(void 0),i.refreshTree()},title:"Collapse All",children:(0,E.jsx)(as,{})})]})]}),(0,E.jsxs)("div",{className:"panel__content explorer__content__container",children:[(0,E.jsx)(si,{isLoading:i.loadInitialDataState.isInProgress}),i.loadInitialDataState.hasSucceeded&&(0,E.jsx)(oA,{}),i.loadInitialDataState.hasFailed&&(0,E.jsx)(hn,{children:"Failed to build directory tree"})]})]})})]})})),lA=(0,Ft.observer)((()=>{const e=Vy();return(0,E.jsx)("div",{className:"side-bar",children:(0,E.jsx)("div",{className:(0,Ut.clsx)("side-bar__view","side-bar__view--active"),children:(()=>{switch(e.activeActivity){case bT.CONCEPT_EXPLORER:return(0,E.jsx)(QN,{});case bT.FILE_EXPLORER:return(0,E.jsx)(cA,{});default:return null}})()},e.activeActivity)})})),dA=e=>{const{className:t}=e;return(0,E.jsx)("div",{className:(0,Ut.clsx)("logo",t),children:(0,E.jsxs)("svg",{stroke:"currentColor",fill:"currentColor",strokeWidth:"0",width:"1em",height:"1em",viewBox:"0 0 215 215",xmlns:"https://www.w3.org/2000/svg",children:[(0,E.jsx)("g",{transform:"matrix(1.0246,0,0,0.999998,1.03751,2.43115)",children:(0,E.jsx)("path",{d:"M141.9,86.5L141.9,68.1C141.9,66.5 140.7,65.2 139.1,65.2L66.5,65.2C64.9,65.2 63.7,66.5 63.7,68.1L63.7,86.5C63.7,88.1 64.9,89.4 66.5,89.4L139.1,89.4C140.7,89.4 141.9,88.1 141.9,86.5Z"})}),(0,E.jsx)("g",{transform:"matrix(1.0246,0,0,0.999998,1.03751,2.43115)",children:(0,E.jsx)("path",{d:"M118.4,116.9L118.4,98.5C118.4,96.9 117.5,95.6 116.4,95.6L65.7,95.6C64.6,95.6 63.7,96.9 63.7,98.5L63.7,116.9C63.7,118.5 64.6,119.8 65.7,119.8L116.5,119.8C117.6,119.8 118.4,118.6 118.4,116.9Z"})}),(0,E.jsx)("g",{transform:"matrix(1.0246,0,0,0.999998,1.03751,2.43115)",children:(0,E.jsx)("path",{d:"M141.9,147.3L141.9,129C141.9,127.4 140.7,126.1 139.1,126.1L66.5,126.1C64.9,126.1 63.7,127.4 63.7,129L63.7,147.4C63.7,149 64.9,150.3 66.5,150.3L139.1,150.3C140.7,150.3 141.9,149 141.9,147.3Z"})}),(0,E.jsx)("g",{transform:"matrix(1.0246,0,0,0.999998,1.03751,2.43115)",children:(0,E.jsx)("path",{d:"M205,170.7L152.7,139.1C150,137.4 147.7,138.7 147.7,141.9L147.7,157.9L55.8,157.9L55.8,59.4L67.2,59.4C70.4,59.4 71.7,57.2 70,54.4L38.4,2.1C36.7,-0.6 34.1,-0.6 32.4,2.1L0.7,54.4C-1,57.1 0.3,59.4 3.5,59.4L15.6,59.4L15.6,185.5C15.6,188.5 18,190.9 21,190.9L147.7,190.9L147.7,205.7C147.7,208.9 149.9,210.1 152.7,208.5L205,176.9C207.7,175.1 207.7,172.4 205,170.7Z"})})]})})},uA=(0,Ft.observer)((()=>{const e=Vy(),t=t=>()=>e.setActiveActivity(t),i=[{mode:bT.CONCEPT_EXPLORER,title:"Concept Explorer",icon:(0,E.jsx)(us,{})},{mode:bT.FILE_EXPLORER,title:"File Explorer",icon:(0,E.jsx)(Os,{})}].filter((e=>Boolean(e)));return(0,E.jsxs)("div",{className:"activity-bar",children:[(0,E.jsx)("div",{className:"activity-bar__logo",children:(0,E.jsx)(dA,{})}),(0,E.jsx)("div",{className:"activity-bar__items",children:i.map((i=>(0,E.jsx)("button",{className:(0,Ut.clsx)("activity-bar__item",{"activity-bar__item--active":e.sideBarDisplayState.isOpen&&e.activeActivity===i.mode}),onClick:t(i.mode),tabIndex:-1,title:i.title,children:i.icon},i.mode)))})]})})),pA=(0,Ft.observer)((e=>{const{fileEditorState:t}=e,i=t.textEditorState.cursorObserver,s=i?.selection?t.textEditorState.model.getValueInRange(i.selection).length:0;return(0,E.jsx)("div",{className:"file-editor__status-bar",children:i?.position&&(0,E.jsx)("button",{className:"editor__status-bar__action file-editor__status-bar__cursor-info",onClick:()=>t.setShowGoToLinePrompt(!0),tabIndex:-1,title:"Go to Line/Column",children:`Ln ${i.position.lineNumber}, Col ${i.position.column} ${s?` (${s} selected)`:""}`})})})),hA=(0,Ft.observer)((()=>{const e=Vy(),t=Qt();return(0,E.jsxs)("div",{className:"editor__status-bar",children:[(0,E.jsx)("div",{className:"editor__status-bar__left",children:(0,E.jsx)("div",{className:"editor__status-bar__workspace"})}),(0,E.jsxs)("div",{className:"editor__status-bar__right",children:[e.tabManagerState.currentTab instanceof _S&&(0,E.jsx)(pA,{fileEditorState:e.tabManagerState.currentTab}),(0,E.jsx)("button",{className:(0,Ut.clsx)("editor__status-bar__action editor__status-bar__compile-btn",{"editor__status-bar__compile-btn--wiggling":e.executionState.isInProgress}),disabled:e.initState.isInInitialState||e.executionState.isInProgress,onClick:()=>{(0,Ve.flowResult)(e.executeGo()).catch(t.alertUnhandledError)},tabIndex:-1,title:"Execute (F9)",children:(0,E.jsx)(is,{})}),(0,E.jsx)("button",{className:(0,Ut.clsx)("editor__status-bar__action editor__status-bar__action__toggler",{"editor__status-bar__action__toggler--active":Boolean(e.panelGroupDisplayState.isOpen)}),onClick:()=>e.panelGroupDisplayState.toggle(),tabIndex:-1,title:"Toggle panel",children:(0,E.jsx)(Ss,{})}),(0,E.jsx)("button",{className:(0,Ut.clsx)("editor__status-bar__action editor__status-bar__action__toggler",{"editor__status-bar__action__toggler--active":!t.assistantService.isHidden}),onClick:()=>t.assistantService.toggleAssistant(),tabIndex:-1,title:"Toggle assistant",children:(0,E.jsx)(yi,{})})]})]})})),mA=e=>{(0,Xt.useEffect)((()=>(e.registerCommands(),()=>e.deregisterCommands())),[e])},gA=/[0-9]+(?::[0-9]+)?/,fA=(0,Ft.observer)((e=>{const{fileEditorState:t}=e,[i,s]=(0,Xt.useState)(""),n=(0,Xt.useRef)(null),a=Boolean(i.match(gA)),r=t.textEditorState.editor?.getPosition(),[o,c]=(e=>{const t=e.split(":");return t.length<1||t.length>2?[1,void 0]:[z((()=>parseInt(W(R(t)))))??1,z((()=>parseInt(W(k(t)))))]})(i),l=1<=o&&o<=t.textEditorState.model.getLineCount(),d=a?l?void 0:"Invalid line number":"Invalid value (format [line:column] - e.g. 123:45)",u=()=>t.setShowGoToLinePrompt(!1),p=e=>{e.preventDefault(),u(),t.textEditorState.setForcedCursorPosition({lineNumber:o,column:c??1})};return(0,E.jsx)(jt.default,{open:!0,onClose:u,TransitionProps:{onEnter:()=>n.current?.focus()},classes:{container:"command-modal__container"},PaperProps:{classes:{root:"command-modal__inner-container"}},children:(0,E.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,E.jsx)("div",{className:"modal__title",children:"Go to..."}),(0,E.jsxs)("div",{className:"command-modal__content",children:[(0,E.jsx)("form",{className:"command-modal__content__form",onSubmit:p,children:(0,E.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,E.jsx)("input",{ref:n,className:"input input--dark",onChange:e=>s(e.target.value),placeholder:r?`Current Line: ${r.lineNumber}, Col: ${r.column}. Type a line between 1 and ${t.textEditorState.model.getLineCount()} to navigate to`:void 0,value:i,spellCheck:!1}),""!==i&&d&&(0,E.jsx)("div",{className:"input-group__error-message",children:d})]})}),(0,E.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:""===i||Boolean(d),onClick:p,children:"Go"})]})]})})})),_A=(0,Ft.observer)((e=>{const{editorState:t}=e,i=Vy(),s=Qt(),n=(0,Xt.useRef)(null),[a,r]=(0,Xt.useState)();return(0,Xt.useEffect)((()=>{if(!a&&n.current){const e=n.current,i=TT.editor.create(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,theme:kT.DEFAULT_DARK,wordWrap:t.textEditorState.wrapText?"on":"off",readOnly:t.file.RO});i.onDidChangeModelContent((()=>{const e=i.getValue();e!==t.file.content&&t.clearError(),t.file.setContent(e)})),i.onDidChangeCursorPosition((()=>{t.textEditorState.notifyCursorObserver()})),i.onDidChangeCursorSelection((()=>{t.textEditorState.notifyCursorObserver()})),i.setModel(t.textEditorState.model),t.textEditorState.viewState&&i.restoreViewState(t.textEditorState.viewState),i.focus(),t.textEditorState.setEditor(i),r(i)}}),[i,s,t,a]),mA(t),(0,Xt.useEffect)((()=>{a&&t.textEditorState.forcedCursorPosition&&(VT(a,t.textEditorState.forcedCursorPosition),t.textEditorState.setForcedCursorPosition(void 0))}),[a,t,t.textEditorState.forcedCursorPosition]),(0,Xt.useEffect)((()=>()=>{a&&(t.textEditorState.setViewState(a.saveViewState()??void 0),a.dispose())}),[t,a]),(0,E.jsxs)("div",{className:"panel editor-group file-editor",children:[(0,E.jsx)("div",{className:"panel__header file-editor__header",children:(0,E.jsxs)("div",{className:"file-editor__header__actions",children:[(0,E.jsx)("button",{className:(0,Ut.clsx)("file-editor__header__action",{"file-editor__header__action--active":t.textEditorState.wrapText}),tabIndex:-1,onClick:()=>t.textEditorState.setWrapText(!t.textEditorState.wrapText),title:"Toggle Text Wrap",children:(0,E.jsx)(Ni,{className:"file-editor__icon--text-wrap"})}),t.showGoToLinePrompt&&(0,E.jsx)(fA,{fileEditorState:t})]})}),(0,E.jsx)("div",{className:"panel__content file-editor__content",children:(0,E.jsx)("div",{className:"code-editor__container",children:(0,E.jsx)("div",{className:"code-editor__body",ref:n})})})]})})),bA=(e,t,i)=>{const s=[],n=t.getWordUntilPosition(e),a={startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:n.endColumn},r=t.getValueInRange(a);var o;return o=r.trim(),Boolean(o.match(/\s/))||i.forEach((e=>{s.push({label:{label:`${xa}${e.text}`,description:e.description},kind:TT.languages.CompletionItemKind.Keyword,insertText:`${xa}${e.insertText}\n`,range:a,documentation:e.documentation?e.documentation.markdownText?{value:e.documentation.markdownText.value}:e.documentation.text:void 0})})),s},EA=(e,t,i)=>{const s=[],n=t.getWordUntilPosition(e),a=t.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),r=`${xa}${zC.PURE}\n${a}`.split("\n").filter((e=>e.startsWith(xa))),o=(e=>{if(e.startsWith(xa))return e.substring(3).split(" ")[0]})(r[r.length-1]??"");return o&&i(o).forEach((t=>{s.push({label:{label:t.text,description:t.description},kind:TT.languages.CompletionItemKind.Snippet,insertTextRules:TT.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:`${t.insertText}\n`,range:{startLineNumber:e.lineNumber,startColumn:n.startColumn,endLineNumber:e.lineNumber,endColumn:n.endColumn},documentation:t.documentation?t.documentation.markdownText?{value:t.documentation.markdownText.value}:t.documentation.text:void 0})})),s},vA=(e,t,i=!1)=>{if(i)return t.map((e=>`${e}.pure`)).includes(e);const s=W(R(e.split(".")));return t.includes(s)};class TA{pureType;pureId;pureName;text;requiredClassProperties=[]}(0,Ne.createModelSchema)(TA,{pureType:(0,Ne.primitive)(),pureId:(0,Ne.primitive)(),pureName:(0,Ne.primitive)(),text:(0,Ne.primitive)(),requiredClassProperties:(0,Ne.optional)((0,Ne.list)((0,Ne.primitive)()))});class SA{pureType;pureName;owner;ownerPureType}(0,Ne.createModelSchema)(SA,{pureType:(0,Ne.primitive)(),pureName:(0,Ne.primitive)(),owner:(0,Ne.primitive)(),ownerPureType:(0,Ne.primitive)()});class CA{pureId;pureName;requiredClassProperties=[]}(0,Ne.createModelSchema)(CA,{pureId:(0,Ne.primitive)(),pureName:(0,Ne.primitive)(),requiredClassProperties:(0,Ne.optional)((0,Ne.list)((0,Ne.primitive)()))});class yA{name}(0,Ne.createModelSchema)(yA,{name:(0,Ne.primitive)()});const NA="Diagram",AA="Diagram",IA=()=>{const e=[];return e.push({label:{label:"/copyright",description:"(copyright header)"},kind:TT.languages.CompletionItemKind.Snippet,insertTextRules:TT.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:`// Copyright \${1:${(new Date).getFullYear()}} Goldman Sachs\n//\n// Licensed under the Apache License, Version 2.0 (the "License");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an "AS IS" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n`,range:{startLineNumber:1,startColumn:1,endLineNumber:1,endColumn:1e3}}),e},xA=e=>({label:{label:e.pureName,description:e.pureId},kind:TT.languages.CompletionItemKind.Class,filterText:e.pureName,insertTextRules:TT.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:`${e.pureName}(${e.requiredClassProperties.map(((e,t)=>`${e}=\${${t+1}:}`)).join(",")})`}),OA=(e,t)=>{const i=e.pureType,s=i===HT.FUNCTION||i===HT.NATIVE_FUNCTION?((e,t,i)=>{const s=fE(t),n=z((()=>s.substring(s.indexOf("_"),s.length-1))),a=n?.split("__")??[];return a.pop(),i&&a.shift(),`${e}(${a.map(((e,t)=>`\${${t+1}:}`)).join(",")})`})(e.pureName,e.pureId,Boolean(t?.preferArrowFunctionForm)):e.pureName,n=i===HT.PACKAGE?TT.languages.CompletionItemKind.Folder:i===HT.CLASS?TT.languages.CompletionItemKind.Class:i===HT.FUNCTION?TT.languages.CompletionItemKind.Function:i===HT.ENUMERATION?TT.languages.CompletionItemKind.Enum:i===HT.PROFILE?TT.languages.CompletionItemKind.Module:i===HT.ASSOCIATION?TT.languages.CompletionItemKind.Interface:TT.languages.CompletionItemKind.Value;return{label:{label:e.pureName,description:e.text},kind:n,filterText:e.pureName,insertTextRules:TT.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:s,sortText:i===HT.PACKAGE?`zzzz_${e.text}`:e.text}},wA=/(?<incompletePath>(?:\w[\w$]*::)+$)/,RA=/->\s*(?:\w[\w$]*::)+$/,kA=/\^\s*(?:\w[\w$]*::)+$/,PA=/^\s*import\s+(?:(?<importPath>(?:(?:\w[\w$]*)::)*\w[\w$]*)::*)/,MA=(e,t)=>{const i=t.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),s=`${xa}${zC.PURE}\n${i}`.split("\n");return s.slice(s.map((e=>e.startsWith(xa))).lastIndexOf(!0)).map((e=>e.match(PA)?.groups?.importPath)).filter($)},LA=/->\s*(?:\w[\w$]*)?$/,FA=/\^\s*(?:\w[\w$]*)?$/,DA=/^(?<owner>(?:(?:\w[\w$]*)::)*\w[\w$]*)\s*.$/,BA=async(e,t,i)=>{const s=t.getLineContent(e.lineNumber).substring(0,e.column-1).match(DA),n=MA(e,t);if(s?.groups?.owner){let e=[];try{e=(await i.client.getSuggestionsForAttribute(n,s.groups.owner)).map((e=>(0,Ne.deserialize)(SA,e)))}catch{}return e.map((e=>(e=>{const t=e.pureType,i=t===HT.PROPERTY||t===HT.QUALIFIED_PROPERTY?`${e.pureName}(\${1:})`:e.pureName,s=t===HT.PROPERTY?TT.languages.CompletionItemKind.Property:t===HT.QUALIFIED_PROPERTY?TT.languages.CompletionItemKind.Method:t===HT.TAG?TT.languages.CompletionItemKind.Constant:t===HT.STEREOTYPE?TT.languages.CompletionItemKind.Value:t===HT.ENUM_VALUE?TT.languages.CompletionItemKind.Enum:TT.languages.CompletionItemKind.Value;return{label:{label:e.pureName,description:`${e.owner}.${e.pureName}`},kind:s,filterText:e.pureName,insertTextRules:TT.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:i}})(e)))}return[]},jA=async(e,t,i)=>{const s=MA(e,t);let n=[];try{n=(await i.client.getSuggestionsForClass(s)).map((e=>(0,Ne.deserialize)(CA,e)))}catch{}return n.map((e=>(e=>({label:{label:e.pureName,description:e.pureId},kind:TT.languages.CompletionItemKind.Class,filterText:e.pureName,insertTextRules:TT.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:e.pureName}))(e)))},UA=(e,t)=>({label:e.name,kind:TT.languages.CompletionItemKind.Variable,insertTextRules:TT.languages.CompletionItemInsertTextRule.InsertAsSnippet,sortText:t?e.name:`zzzz_${e.name}`,insertText:e.name}),VA=/^\w[\w$]*$/,GA=(0,Ft.observer)((e=>{const{renameConceptState:t}=e,i=Qt(),s=t.fileEditorState,n=t.concept.pureName,[a,r]=(0,Xt.useState)(n),o=(0,Xt.useRef)(null),c=Boolean(a.match(VA)),l=n===a,d=c?void 0:"Invalid concept name",u=()=>{(0,Ve.flowResult)(s.setConceptToRenameState(void 0)).catch(i.alertUnhandledError)},p=e=>{e.preventDefault(),l||s.renameConcept(a).catch(i.alertUnhandledError).finally((()=>u()))};return(0,E.jsx)(jt.default,{open:!0,onClose:u,TransitionProps:{onEnter:()=>o.current?.focus()},classes:{container:"command-modal__container"},PaperProps:{classes:{root:"command-modal__inner-container"}},children:(0,E.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,E.jsx)("div",{className:"modal__title",children:"Rename concept"}),(0,E.jsxs)("div",{className:"command-modal__content",children:[(0,E.jsx)("form",{className:"command-modal__content__form",onSubmit:p,children:(0,E.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,E.jsx)("input",{ref:o,className:"input input--dark",onChange:e=>r(e.target.value),value:a,spellCheck:!1}),d&&(0,E.jsx)("div",{className:"input-group__error-message",children:d})]})}),(0,E.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:Boolean(d),onClick:p,children:"Rename"})]})]})})})),zA=(0,Ft.observer)((e=>{const{editorState:t}=e,i=(0,Xt.useRef)(void 0),s=(0,Xt.useRef)(void 0),n=(0,Xt.useRef)(void 0),a=(0,Xt.useRef)(null),[r,o]=(0,Xt.useState)(),[c,l]=(0,Xt.useState)(!1),d=Vy(),u=Qt();return(0,Xt.useEffect)((()=>{if(!r&&a.current){const e=a.current,i=TT.editor.create(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,language:zT.PURE,theme:kT.DEFAULT_DARK,wordSeparators:"`~!@#%^&*()-=+[{]}\\|;:'\",.<>/?",wordWrap:t.textEditorState.wrapText?"on":"off",readOnly:t.file.RO,contextmenu:!0,useShadowDOM:!1});i._codeEditorService.openCodeEditor=async()=>{const e=i.getPosition();e&&(0,Ve.flowResult)(d.executeNavigation(new QT(t.filePath,e.lineNumber,e.column))).catch(u.alertUnhandledError)},i.updateOptions({gotoLocation:{multiple:"goto",multipleDefinitions:"goto",alternativeDefinitionCommand:"DUMMY"}}),i.onContextMenu((()=>l(!0))),i.addAction({id:pS.FIND_USAGES,label:"Find Usages",contextMenuGroupId:"navigation",contextMenuOrder:1e3,run:function(e){const i=e.getPosition();if(i){const e=new QT(t.filePath,i.lineNumber,i.column);t.findConceptUsages(e)}}}),i.addAction({id:pS.REVEAL_CONCEPT_IN_TREE,label:"Reveal Concept",contextMenuGroupId:"navigation",contextMenuOrder:1e3,run:function(e){const i=e.getPosition();i&&d.revealConceptInTree(new QT(t.filePath,i.lineNumber,i.column)).catch(u.alertUnhandledError)}}),i.addAction({id:pS.RENAME_CONCEPT,label:"Rename",contextMenuGroupId:"navigation",contextMenuOrder:1e3,run:function(e){const i=e.getPosition();if(i){if(!t.textEditorState.model.getWordAtPosition(i))return;const e=new QT(t.filePath,i.lineNumber,i.column);(0,Ve.flowResult)(t.setConceptToRenameState(e)).catch(d.applicationStore.alertUnhandledError)}}}),i.onDidChangeModelContent((()=>{const e=i.getValue();e!==t.file.content&&t.clearError(),t.file.setContent(e)})),i.onDidChangeCursorPosition((()=>{t.textEditorState.notifyCursorObserver()})),i.onDidChangeCursorSelection((()=>{t.textEditorState.notifyCursorObserver()})),i.setModel(t.textEditorState.model),t.textEditorState.viewState&&i.restoreViewState(t.textEditorState.viewState),i.focus(),t.textEditorState.setEditor(i),o(i)}}),[d,u,t,r]),r&&(i.current?.dispose(),i.current=TT.languages.registerDefinitionProvider(zT.PURE,{provideDefinition:(e,i)=>{const s=e.getLineContent(i.lineNumber),n=TT.editor.tokenize(s,zT.PURE)[0];if(!n)return[];let a,r;for(let e=1;e<=n.length;++e){const t=e===n.length?s.length:W(n[e]).offset;if(t+1>i.column){a=W(n[e-1]),r={startLineNumber:i.lineNumber,startColumn:a.offset+1,endLineNumber:i.lineNumber,endColumn:t+1};break}}return a&&r&&vA(a.type,[vT.TYPE,vT.VARIABLE,vT.PROPERTY,vT.PARAMETER,vT.IDENTIFIER])?[{uri:t.textEditorState.model.uri,range:r}]:[]}}),s.current?.dispose(),s.current=TT.languages.registerCompletionItemProvider(zT.PURE,{triggerCharacters:["/","#",":",">",".","@","^","$"],provideCompletionItems:async(e,i,s)=>{let n=[];if(s.triggerKind===TT.languages.CompletionTriggerKind.TriggerCharacter)switch(s.triggerCharacter){case"/":n=n.concat(IA());break;case"#":n=n.concat(bA(i,e,[{text:zC.PURE,description:"(core Pure)",insertText:zC.PURE},{text:zC.MAPPING,description:"(dsl)",insertText:zC.MAPPING},{text:zC.CONNECTION,description:"(dsl)",insertText:zC.CONNECTION},{text:zC.RUNTIME,description:"(dsl)",insertText:zC.RUNTIME},{text:zC.RELATIONAL,description:"(external store)",insertText:zC.RELATIONAL},{text:NA,description:"(dsl)",insertText:AA}]));break;case":":n=n.concat(await(async(e,t,i)=>{const s=t.getLineContent(e.lineNumber).substring(0,e.column-1).match(wA);if(s?.groups?.incompletePath){const n=Boolean(t.getLineContent(e.lineNumber).substring(0,e.column-1).match(RA)),a=Boolean(t.getLineContent(e.lineNumber).substring(0,e.column-1).match(kA));let r=[];try{r=(await i.client.getSuggestionsForIncompletePath(s.groups.incompletePath.substring(0,s.groups.incompletePath.length-2),a?[HT.CLASS]:n?[HT.FUNCTION,HT.NATIVE_FUNCTION]:[])).map((e=>(0,Ne.deserialize)(TA,e)))}catch{}return r.map((e=>a?xA(e):OA(e,{preferArrowFunctionForm:n})))}return[]})(i,e,d));break;case">":n=n.concat(await(async(e,t,i)=>{const s=MA(e,t);let n=[];try{n=(await i.client.getSuggestionsForIdentifier(s,[HT.FUNCTION,HT.NATIVE_FUNCTION])).map((e=>(0,Ne.deserialize)(TA,e)))}catch{}return n.map((e=>OA(e,{preferArrowFunctionForm:!0})))})(i,e,d));break;case".":n=n.concat(await BA(i,e,d));break;case"^":n=n.concat(await(async(e,t,i)=>{const s=MA(e,t);let n=[];try{n=(await i.client.getSuggestionsForClass(s)).map((e=>(0,Ne.deserialize)(CA,e)))}catch{}return n.map((e=>xA(e)))})(i,e,d));break;case"@":n=n.concat(await jA(i,e,d));break;case"$":n=n.concat(await(async(e,t,i,s)=>{let n=[];try{n=(await s.client.getSuggestionsForVariable(i,e.lineNumber,e.column)).map((e=>(0,Ne.deserialize)(yA,e)))}catch{}const a=new Set;let r=!1;for(let i=e.lineNumber-1;i>Math.max(0,e.lineNumber-1-10)&&!r;--i){const s=t.getLineContent(i+1);(s.match(/^\s*function\s+/)||s.match(/^\s*###\w+/))&&(r=!0);const n=W(TT.editor.tokenize(t.getLineContent(i+1),zT.PURE)[0]);n.forEach(((s,r)=>{(i!==e.lineNumber-1||s.offset<e.column)&&vA(s.type,[vT.VARIABLE,vT.PARAMETER],!0)&&a.add(t.getValueInRange({startLineNumber:i+1,startColumn:s.offset+1,endLineNumber:i+1,endColumn:r===n.length-1?Number.MAX_SAFE_INTEGER:W(n[r+1]).offset+1}))}))}const o=n.map((e=>e.name));return n.map((e=>UA(e,!0))).concat(Array.from(a).filter((e=>!o.includes(e))).map((e=>{const t=new yA;return t.name=e,t})).map((e=>UA(e,!1))))})(i,e,t.filePath,d))}return{suggestions:n}}}),n.current?.dispose(),n.current=TT.languages.registerCompletionItemProvider(zT.PURE,{triggerCharacters:[],provideCompletionItems:async(e,t,i)=>{let s=[];return i.triggerKind===TT.languages.CompletionTriggerKind.Invoke&&(s=s.concat(IA()),s=s.concat(EA(t,e,(e=>(e=>{switch(e){case zC.PURE:return[{text:VC.CLASS,description:"(blank)",insertText:"Class ${1:model::NewClass}\n// example of a constraint\n// [\n// SomeConstraint: true\n// ]\n{\n ${2:// example of a standard property\n // prop1: String[1];\n\n // example of a derived property\n // derivation1() {''\\}: String[1];}\n}"},{text:VC.CLASS,description:"with property",insertText:"Class ${1:model::NewClass}\n{\n ${2:prop1}: ${3:String[1]};\n}"},{text:VC.CLASS,description:"with inheritance",insertText:"Class ${1:model::NewClass} extends ${2:model::ParentClass}\n{\n ${3:// class content}\n}"},{text:VC.CLASS,description:"with constraint",insertText:"Class ${1:model::NewClass}\n[\n ${3:SomeConstraint: true}\n]\n{\n ${2:// class content}\n}"},{text:VC.PROFILE,insertText:"Profile ${1:model::NewProfile}\n{\n stereotypes: [${2:}];\n tags: [${3:}];\n}"},{text:VC.ENUMERATION,insertText:"Enum ${1:model::NewEnumeration}\n{\n ${2:VALUE_1,\n VALUE_2}\n}"},{text:VC.ASSOCIATION,insertText:"Association ${1:model::NewAssociation}\n{\n ${2:prop1}: ${3:model::Type1[1]};\n ${4:prop2}: ${5:model::Type2[1]};\n}"},{text:VC.FUNCTION,description:"(blank)",insertText:"function ${1:model::NewEnumeration}(${2:param1: String[1]}): ${3:String[1]}\n{\n ${4:''; // function content}\n}"},{text:VC.FUNCTION,insertText:"function ${1:model::NewEnumeration}(): String[1]\n{\n ''\n}"}];case zC.MAPPING:return[{text:VC.MAPPING,description:"(blank)",insertText:"Mapping ${1:model::NewMapping}\n(\n ${2:// mapping content}\n)"},{text:VC.MAPPING,description:"with model-to-model mapping",insertText:"Mapping ${1:model::NewMapping}\n(\n ${2:model::TargetClass}: Pure\n {\n ~src ${3:model::SourceClass}\n // example of property mappings\n // prop1: $src.prop1\n }\n)"},{text:VC.MAPPING,description:"with relational mapping",insertText:"Mapping ${1:model::NewMapping}\n(\n ${2:model::TargetClass}: Relational {\n ~mainTable ${3:[model::SomeDatabase]SomeTable}\n // example of property mappings\n // prop1: [model::SomeDatabase]SomeTable.col1,\n }\n)"},{text:VC.MAPPING,description:"with enumeration mapping",insertText:"Mapping ${1:model::NewMapping}\n(\n ${2:model::TargetEnumeration}: EnumerationMapping ${3:EnumerationMappingID}\n {\n // example of enum-value mapping\n // VAL_1: ['val1'],\n // VAL_2: ['val2', 'val_2']\n }\n)"}];case zC.RELATIONAL:return[{text:VC.DATABASE,description:"(blank)",insertText:"Database ${1:model::NewDatabase}\n(\n // example database schema\n // Schema SOME_SCHEMA\n // (\n // Table TABLE_1\n // (\n // COL_1 VARCHAR(200)\n // )\n // Table TABLE_2\n // (\n // COL_2 VARCHAR(200) PRIMARY_KEY\n // )\n // )\n\n // example database join\n // Join SomeJoin(SOME_SCHEMA.TABLE_1.COL_1 = SCHEMA1.TABLE_2.COL_2)\n\n ${2:// database content}\n)"}];case NA:return[{text:AA,description:"(blank)",insertText:"Diagram ${1:model::NewDiagram}(width=0.0, height=0.0)\n{\n // NOTE: it is recommended to use diagram visual editor\n // to edit diagram: double-click on the diagram in\n // the concept explorer tree to open the editor\n}"}];default:return[]}})(e)))),s=s.concat(((e,t,i=[])=>{const s=t.getWordUntilPosition(e);return[{text:"let",description:"new variable",insertText:"let ${1:} = ${2:};"},{text:"let",description:"new collection",insertText:"let ${1:} = [${2:}];"},{text:"cast",description:"type casting",insertText:"cast(@${1:model::SomeClass})"},{text:"if",description:"(conditional)",insertText:"if(${1:'true'}, | ${2:/* if true do this */}, | ${3:/* if false do this */})"},{text:"case",description:"(conditional)",insertText:"case(${1:}, ${2:'true'}, ${3:'false'})"},{text:"match",description:"(conditional)",insertText:"match([x:${1:String[1]}, ${2:''}])"},{text:"map",description:"(collection)",insertText:"map(x|${1:})"},{text:"filter",description:"(collection)",insertText:"filter(x|${1:})"},{text:"fold",description:"(collection)",insertText:"fold({a, b| ${1:$a + $b}}, ${2:0})"},{text:"filter",description:"(collection)",insertText:"filter(x|${1:})"},{text:"sort",description:"(collection)",insertText:"sort()"},{text:"in",description:"(collection)",insertText:"in()"},{text:"slice",description:"(collection)",insertText:"slice(${1:1},${2:2})"},{text:"removeDuplicates",description:"(collection)",insertText:"removeDuplicates()"},{text:"toOne",description:"(collection)",insertText:"toOne(${1:})"},{text:"toOneMany",description:"(collection)",insertText:"toOneMany(${1:})"},{text:"isEmpty",description:"(collection)",insertText:"isEmpty()"},{text:"endsWith",description:"(string)",insertText:"endsWith()"},{text:"startsWith",description:"(string)",insertText:"startsWith()"},...i].map((t=>({label:{label:t.text,description:t.description},kind:TT.languages.CompletionItemKind.Snippet,insertTextRules:TT.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:t.insertText,range:{startLineNumber:e.lineNumber,startColumn:s.startColumn,endLineNumber:e.lineNumber,endColumn:s.endColumn},documentation:t.documentation?t.documentation.markdownText?{value:t.documentation.markdownText.value}:t.documentation.text:void 0})))})(t,e,[{text:"print",description:"(io)",insertText:"print(${1:})"},{text:"println",description:"(io)",insertText:"println(${1:})"},{text:"NULL",description:"(nullish value)",insertText:"[]"}])),s=s.concat(await(async(e,t,i)=>{const s=MA(e,t),n=Boolean(t.getLineContent(e.lineNumber).substring(0,e.column-1).match(LA)),a=Boolean(t.getLineContent(e.lineNumber).substring(0,e.column-1).match(FA));let r=[];try{r=(await i.client.getSuggestionsForIdentifier(s,a?[HT.CLASS]:n?[HT.FUNCTION,HT.NATIVE_FUNCTION]:[])).map((e=>(0,Ne.deserialize)(TA,e)))}catch{}return r.map((e=>a?xA(e):OA(e,{preferArrowFunctionForm:n})))})(t,e,d))),{suggestions:s}}})),mA(t),(0,Xt.useEffect)((()=>{if(c){if(document.querySelector(".file-editor .monaco-menu")){const e=["Peek"];Array.from(document.querySelectorAll(".file-editor .monaco-menu .action-label")).filter((t=>e.includes(t.innerHTML))).forEach((e=>{const t=e.parentElement?.parentElement;t&&(t.classList.add("disabled"),t.style.opacity="0.3",t.style.pointerEvents="none")}))}l(!1)}}),[c]),(0,Xt.useEffect)((()=>{r&&t.textEditorState.forcedCursorPosition&&(VT(r,t.textEditorState.forcedCursorPosition),t.textEditorState.setForcedCursorPosition(void 0))}),[r,t,t.textEditorState.forcedCursorPosition]),(0,Xt.useEffect)((()=>()=>{r&&(t.textEditorState.setViewState(r.saveViewState()??void 0),r.dispose(),i.current?.dispose(),s.current?.dispose(),n.current?.dispose())}),[t,r]),(0,E.jsxs)("div",{className:"panel editor-group file-editor",children:[(0,E.jsx)("div",{className:"panel__header file-editor__header",children:(0,E.jsxs)("div",{className:"file-editor__header__actions",children:[(0,E.jsx)("button",{className:(0,Ut.clsx)("file-editor__header__action",{"file-editor__header__action--active":t.textEditorState.wrapText}),tabIndex:-1,onClick:()=>t.textEditorState.setWrapText(!t.textEditorState.wrapText),title:"Toggle Text Wrap",children:(0,E.jsx)(Ni,{className:"file-editor__icon--text-wrap"})}),t.renameConceptState&&(0,E.jsx)(GA,{renameConceptState:t.renameConceptState}),t.showGoToLinePrompt&&(0,E.jsx)(fA,{fileEditorState:t})]})}),(0,E.jsx)("div",{className:"panel__content file-editor__content",children:(0,E.jsx)("div",{className:"code-editor__container",children:(0,E.jsx)("div",{className:"code-editor__body",ref:a})})})]})}));var HA=i(8533);const $A=e=>{const{open:t,className:i,children:s,menuProps:n,content:a,title:r,disabled:o,onClose:c,onOpen:l}=e,d=(0,Xt.useRef)(null),[u,p]=(0,Xt.useState)(null);return(0,Xt.useEffect)((()=>{void 0!==t&&(t&&!u&&d.current?p(d.current):!t&&u&&p(null))}),[u,t]),(0,E.jsxs)("button",{ref:d,className:i,disabled:o,onClick:e=>{e.stopPropagation(),e.preventDefault(),o||(u?(c?.(),p(null)):d.current&&(l?.(),p(d.current)))},tabIndex:-1,title:r,children:[s,(0,E.jsx)(sn,{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},anchorEl:u,open:(void 0===t||Boolean(t))&&Boolean(u),BackdropProps:{invisible:!0},elevation:0,marginThreshold:0,disableRestoreFocus:!0,...n,children:a})]})},YA=(0,Ft.observer)((0,Xt.forwardRef)((function(e,t){const{diagramEditorState:i}=e,s=Qt(),n=i.diagram,a=t,{width:r,height:o}=(0,pn.useResizeDetector)({refreshMode:"debounce",refreshRate:50,targetRef:a});(0,Xt.useEffect)((()=>{const e=new Ny(a.current,n);i.setRenderer(e),i.setupRenderer(),e.render({initial:!0})}),[a,i,n]),(0,Xt.useEffect)((()=>{i.isDiagramRendererInitialized&&i.renderer.render({initial:!0})}),[i,i.isDiagramRendererInitialized]),(0,Xt.useEffect)((()=>{i.isDiagramRendererInitialized&&i.renderer.refresh()}),[i,r,o]);const c=(0,Xt.useCallback)(((e,t)=>{if(e instanceof JT){const n=t.getClientOffset(),a=n?i.renderer.canvasCoordinateToModelCoordinate(i.renderer.eventCoordinateToCanvasCoordinate(new Pv(n.x,n.y))):void 0;(0,Ve.flowResult)(i.addClassView(e.li_attr.pureId,a)).catch(s.alertUnhandledError)}}),[s,i]),[,l]=(0,HA.useDrop)((()=>({accept:JN.CLASS,drop:(e,t)=>c(e,t)})),[c]);return l(a),(0,E.jsx)("div",{ref:a,className:(0,Ut.clsx)("diagram-canvas diagram-editor__canvas",i.diagramCursorClass),tabIndex:0})}))),WA=(0,Ft.observer)((e=>{const{diagramEditorState:t}=e,i=Vy(),s=Qt(),n=e=>()=>{t.renderer.zoomCenter(e/100)},a=t.renderer.selectedClasses.length<2;return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsxs)("div",{className:"diagram-editor__header__group",children:[(0,E.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Align left",disabled:a,tabIndex:-1,onClick:()=>t.renderer.align(Ty.ALIGN_LEFT),children:(0,E.jsx)(ji,{className:"diagram-editor__icon--aligner"})}),(0,E.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Align center",disabled:a,tabIndex:-1,onClick:()=>t.renderer.align(Ty.ALIGN_CENTER),children:(0,E.jsx)(Ui,{className:"diagram-editor__icon--aligner"})}),(0,E.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Align right",disabled:a,tabIndex:-1,onClick:()=>t.renderer.align(Ty.ALIGN_RIGHT),children:(0,E.jsx)(Vi,{className:"diagram-editor__icon--aligner"})})]}),(0,E.jsx)("div",{className:"diagram-editor__header__group__separator"}),(0,E.jsxs)("div",{className:"diagram-editor__header__group",children:[(0,E.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Align top",disabled:a,tabIndex:-1,onClick:()=>t.renderer.align(Ty.ALIGN_TOP),children:(0,E.jsx)(Fi,{className:"diagram-editor__icon--aligner"})}),(0,E.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Align middle",disabled:a,tabIndex:-1,onClick:()=>t.renderer.align(Ty.ALIGN_MIDDLE),children:(0,E.jsx)(Di,{className:"diagram-editor__icon--aligner"})}),(0,E.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Align bottom",disabled:a,tabIndex:-1,onClick:()=>t.renderer.align(Ty.ALIGN_BOTTOM),children:(0,E.jsx)(Bi,{className:"diagram-editor__icon--aligner"})})]}),(0,E.jsx)("div",{className:"diagram-editor__header__group__separator"}),(0,E.jsxs)("div",{className:"diagram-editor__header__group",children:[(0,E.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Space horizontally",disabled:a,tabIndex:-1,onClick:()=>t.renderer.align(Ty.SPACE_HORIZONTALLY),children:(0,E.jsx)(Gi,{className:"diagram-editor__icon--aligner"})}),(0,E.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Space vertically",disabled:a,tabIndex:-1,onClick:()=>t.renderer.align(Ty.SPACE_VERTICALLY),children:(0,E.jsx)(zi,{className:"diagram-editor__icon--aligner"})})]}),(0,E.jsxs)($A,{className:"diagram-editor__header__dropdown",title:"Zoom...",content:(0,E.jsxs)(an,{children:[(0,E.jsx)(rn,{className:"diagram-editor__header__zoomer__dropdown__menu__item",onClick:()=>t.renderer.zoomToFit(),children:"Fit"}),(0,E.jsx)(on,{}),Cy.map((e=>(0,E.jsxs)(rn,{className:"diagram-editor__header__zoomer__dropdown__menu__item",onClick:n(e),children:[e,"%"]},e)))]}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},elevation:7},children:[(0,E.jsxs)("div",{className:"diagram-editor__header__dropdown__label diagram-editor__header__zoomer__dropdown__label",children:[Math.round(100*t.renderer.zoom),"%"]}),(0,E.jsx)("div",{className:"diagram-editor__header__dropdown__trigger diagram-editor__header__zoomer__dropdown__trigger",children:(0,E.jsx)(Zi,{})})]}),(0,E.jsx)("div",{className:"diagram-editor__header__actions",children:(0,E.jsx)("button",{className:"diagram-editor__header__action",tabIndex:-1,onClick:()=>{(0,Ve.flowResult)(i.loadFile(t.filePath,new QT(t.filePath,t.fileLine,t.fileColumn))).catch(s.alertUnhandledError)},children:(0,E.jsx)(Ai,{className:"diagram-editor__icon--go-to-file"})})})]})})),KA=(0,Ft.observer)((e=>{const{diagramEditorState:t}=e,i=t.renderer,s=(e,t)=>()=>i.changeMode(e,t);return(0,E.jsxs)("div",{className:"diagram-editor__tools",children:[(0,E.jsx)("button",{className:(0,Ut.clsx)("diagram-editor__tool",{"diagram-editor__tool--active":i.interactionMode===Ey.LAYOUT}),tabIndex:-1,onClick:s(Ey.LAYOUT,vy.NONE),title:"View Tool (V)",children:(0,E.jsx)(Hs,{className:"diagram-editor__icon--layout"})}),(0,E.jsx)("button",{className:(0,Ut.clsx)("diagram-editor__tool",{"diagram-editor__tool--active":i.interactionMode===Ey.PAN}),tabIndex:-1,onClick:s(Ey.PAN,vy.NONE),title:"Pan Tool (M)",children:(0,E.jsx)($s,{className:"diagram-editor__icon--pan"})}),(0,E.jsx)("button",{className:(0,Ut.clsx)("diagram-editor__tool",{"diagram-editor__tool--active":i.interactionMode===Ey.ZOOM_IN}),tabIndex:-1,title:"Zoom In (Z)",onClick:s(Ey.ZOOM_IN,vy.NONE),children:(0,E.jsx)(Ys,{className:"diagram-editor__icon--zoom-in"})}),(0,E.jsx)("button",{className:(0,Ut.clsx)("diagram-editor__tool",{"diagram-editor__tool--active":i.interactionMode===Ey.ZOOM_OUT}),tabIndex:-1,title:"Zoom Out (Z)",onClick:s(Ey.ZOOM_OUT,vy.NONE),children:(0,E.jsx)(Ws,{className:"diagram-editor__icon--zoom-out"})})]})})),JA=(0,Ft.observer)((e=>{const{diagramEditorState:t}=e,i=(0,Xt.useRef)(null);return mA(t),(0,E.jsxs)("div",{className:"diagram-editor",children:[(0,E.jsx)("div",{className:"diagram-editor__header",children:t.isDiagramRendererInitialized&&(0,E.jsx)(WA,{diagramEditorState:t})}),(0,E.jsx)("div",{className:"diagram-editor__content",children:(0,E.jsxs)("div",{className:"diagram-editor__stage",children:[t.isDiagramRendererInitialized&&(0,E.jsx)(KA,{diagramEditorState:t}),(0,E.jsx)(YA,{diagramEditorState:t,ref:i})]})})]})}));var XA=i(3297),qA=i(4153);(0,Ft.observer)((0,Xt.forwardRef)((function(e,t){const{children:i,placeholder:s,showPlaceholder:n,className:a}=e;return(0,E.jsxs)("div",{ref:t,className:(0,Ut.clsx)("dnd__entry__container",a),children:[n&&(0,E.jsx)("div",{className:"dnd__entry__placeholder",children:s?(0,E.jsx)(E.Fragment,{children:s}):(0,E.jsx)("div",{className:"dnd__entry__placeholder__content"})}),(0,E.jsx)(E.Fragment,{children:i})]})})));const QA=e=>{const{children:t,label:i,isDragOver:s,isDroppable:n,className:a}=e;return s||n?(0,E.jsx)("div",{className:(0,Ut.clsx)(["dnd__entry-dropzone__placeholder",a,{"dnd__entry-dropzone__placeholder--active":s,"dnd__entry-dropzone__placeholder--droppable":n}]),children:(0,E.jsx)("div",{className:"dnd__entry-dropzone__placeholder__content",children:(0,E.jsx)("div",{className:"dnd__entry-dropzone__placeholder__label",children:i??""})})}):(0,E.jsx)(E.Fragment,{children:t})};function ZA(e){const{labelGetter:t,types:i}=e,{itemType:s,item:n,isDragging:a,currentPosition:r}=(0,XA.useDragLayer)((e=>({itemType:e.getItemType(),item:e.getItem(),isDragging:e.isDragging(),currentPosition:e.getClientOffset()})));return a&&n&&s&&i.includes(s.toString())?(0,E.jsx)("div",{className:"dnd__drag-preview-layer",children:(0,E.jsx)("div",{className:"dnd__drag-preview-layer__content",style:r?{transform:`translate(${r.x/10+2}rem, ${r.y/10+1}rem)`}:{display:"none"},children:t(n)})}):null}const eI=e=>{if(Math.abs(e.deltaY)<=Math.abs(e.deltaX))return;let t;e.stopPropagation(),t=0===e.deltaY?e.deltaY:e.deltaY<0?-Math.abs(e.deltaY):Math.abs(e.deltaY),e.currentTarget.scrollBy(t,0)},tI=(0,Ft.observer)((e=>{const{tabState:t,managerTabState:i}=e;return(0,E.jsxs)(an,{children:[(0,E.jsx)(rn,{onClick:()=>i.closeTab(t),children:"Close"}),(0,E.jsx)(rn,{disabled:i.tabs.length<2,onClick:()=>i.closeAllOtherTabs(t),children:"Close Others"}),(0,E.jsx)(rn,{onClick:()=>i.closeAllTabs(),children:"Close All"})]})})),iI=(0,Ft.observer)((e=>{const t=(0,Xt.useRef)(null),{tabManagerState:i,tabState:s,tabRenderer:n}=e,a=(0,Xt.useCallback)(((e,n)=>{const a=e.tab,r=s,o=i.tabs.findIndex((e=>e===a)),c=i.tabs.findIndex((e=>e===r)),l=t.current?.getBoundingClientRect(),d=((l?.left??0)-(l?.right??0))/2,u=(n.getClientOffset()?.x??0)-(l?.right??0);o<c&&u<d||o>c&&u>d||i.swapTabs(a,r)}),[i,s]),[{isBeingDraggedEditorPanel:r},o]=(0,HA.useDrop)((()=>({accept:[i.dndType],hover:(e,t)=>a(e,t),collect:e=>({isBeingDraggedEditorPanel:e.getItem()?.tab})})),[a]),c=s===r,[,l,d]=(0,IN.useDrag)((()=>({type:i.dndType,item:()=>({tab:s})})),[s,i]);return l(o(t)),(e=>{(0,Xt.useEffect)((()=>{e((0,qA.getEmptyImage)())}),[e])})(d),(0,E.jsx)("div",{ref:t,"data-testid":"tab-manager__tab",className:(0,Ut.clsx)("tab-manager__tab",{"tab-manager__tab--active":s===i.currentTab,"tab-manager__tab--dragged":c}),onMouseUp:(u=s,e=>{1===e.nativeEvent.button&&i.closeTab(u)}),children:(0,E.jsx)(QA,{isDragOver:!1,className:"tab-manager__tab__dnd__placeholder",children:(0,E.jsxs)(nn,{content:(0,E.jsx)(tI,{tabState:s,managerTabState:i}),className:"tab-manager__tab__content",children:[(0,E.jsx)("button",{className:"tab-manager__tab__label",tabIndex:-1,onClick:()=>i.openTab(s),title:s.description,children:n?.(s)??s.label}),(0,E.jsx)("button",{className:"tab-manager__tab__close-btn",onClick:()=>i.closeTab(s),tabIndex:-1,title:"Close",children:(0,E.jsx)(Ji,{})})]})})});var u})),sI=(0,Ft.observer)((e=>{const{managerTabState:t}=e;return(0,E.jsx)($A,{className:"tab-manager__menu__toggler",title:"Show All Tabs",content:(0,E.jsx)(an,{className:"tab-manager__menu",children:t.tabs.map((e=>(0,E.jsxs)(rn,{className:(0,Ut.clsx)("tab-manager__menu__item",{"tab-manager__menu__item--active":e===t.currentTab}),onClick:()=>t.openTab(e),children:[(0,E.jsx)("div",{className:"tab-manager__menu__item__label",children:e.label}),(0,E.jsx)("div",{className:"tab-manager__menu__item__close-btn",onClick:i=>{i.stopPropagation(),t.closeTab(e)},tabIndex:-1,title:"Close",children:(0,E.jsx)(Ji,{})})]},e.uuid)))}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}},children:(0,E.jsx)(Bs,{})})})),nI=(0,Ft.observer)((e=>{const{tabManagerState:t,tabRenderer:i}=e;return(0,E.jsxs)("div",{className:"tab-manager",children:[(0,E.jsxs)("div",{className:"tab-manager__content",onWheel:eI,children:[t.tabs.map((e=>(0,E.jsx)(iI,{tabState:e,tabManagerState:t,tabRenderer:i},e.uuid))),(0,E.jsx)(ZA,{labelGetter:e=>e.tab.label,types:[t.dndType]})]}),(0,E.jsx)(sI,{managerTabState:t})]})})),aI=()=>{const[e,t]=(0,Xt.useState)(!1),{ref:i,width:s,height:n}=(0,pn.useResizeDetector)();return(0,Xt.useEffect)((()=>{t((s??0)>300&&(n??0)>150)}),[s,n]),(0,E.jsx)("div",{ref:i,className:"editor-group__splash-screen",children:(0,E.jsxs)("div",{className:(0,Ut.clsx)("editor-group__splash-screen__content",{"editor-group__splash-screen__content--hidden":!e}),children:[(0,E.jsxs)("div",{className:"editor-group__splash-screen__content__item",children:[(0,E.jsx)("div",{className:"editor-group__splash-screen__content__item__label",children:"Run the go() function"}),(0,E.jsx)("div",{className:"editor-group__splash-screen__content__item__hot-keys",children:(0,E.jsx)("div",{className:"hotkey__key",children:"F9"})})]}),(0,E.jsxs)("div",{className:"editor-group__splash-screen__content__item",children:[(0,E.jsx)("div",{className:"editor-group__splash-screen__content__item__label",children:"Run the full test suite"}),(0,E.jsx)("div",{className:"editor-group__splash-screen__content__item__hot-keys",children:(0,E.jsx)("div",{className:"hotkey__key",children:"F10"})})]}),(0,E.jsxs)("div",{className:"editor-group__splash-screen__content__item",children:[(0,E.jsx)("div",{className:"editor-group__splash-screen__content__item__label",children:"Search for a file"}),(0,E.jsxs)("div",{className:"editor-group__splash-screen__content__item__hot-keys",children:[(0,E.jsx)("div",{className:"hotkey__key",children:"Ctrl"}),(0,E.jsx)("div",{className:"hotkey__plus",children:(0,E.jsx)(qi,{})}),(0,E.jsx)("div",{className:"hotkey__key",children:"P"})]})]})]})})},rI=(0,Ft.observer)((()=>{const e=Vy(),t=e.tabManagerState.currentTab;return t?(0,E.jsxs)("div",{className:"panel editor-group",children:[(0,E.jsxs)("div",{className:"panel__header editor-group__header",children:[(0,E.jsx)("div",{className:"editor-group__header__tabs",children:(0,E.jsx)(nI,{tabManagerState:e.tabManagerState,tabRenderer:t=>{if(t instanceof _S){const i=e.tabManagerState.tabs.filter((e=>e instanceof _S&&e.fileName===t.fileName)).length>1;return(0,E.jsxs)("div",{className:"editor-group__header__tab",children:[(0,E.jsx)("div",{className:"editor-group__header__tab__icon",children:(0,E.jsx)(Os,{className:"editor-group__header__tab__icon--file"})}),(0,E.jsx)("div",{className:"editor-group__header__tab__label",children:t.fileName}),i&&(0,E.jsx)("div",{className:"editor-group__header__tab__path",children:t.filePath}),t.file.RO&&(0,E.jsx)("div",{className:"editor-group__header__tab__icon",children:(0,E.jsx)(Ki,{className:"editor-group__header__tab__icon--readonly"})})]})}if(t instanceof Ay){const i=e.tabManagerState.tabs.filter((e=>e instanceof Ay&&e.diagramName===t.diagramName)).length>1;return(0,E.jsxs)("div",{className:"editor-group__header__tab",children:[(0,E.jsx)("div",{className:"editor-group__header__tab__icon",children:(0,E.jsx)(jN,{})}),(0,E.jsx)("div",{className:"editor-group__header__tab__label",children:t.diagramName}),i&&(0,E.jsx)("div",{className:"editor-group__header__tab__path",children:t.diagramPath})]})}return t.label}})}),(0,E.jsx)("div",{className:"panel__header__actions"})]}),(0,E.jsx)("div",{className:"panel__content editor-group__content",children:t instanceof _S?t.textEditorState.language===zT.PURE?(0,E.jsx)(zA,{editorState:t}):(0,E.jsx)(_A,{editorState:t}):t instanceof Ay?(0,E.jsx)(JA,{diagramEditorState:t}):null},t.uuid)]}):(0,E.jsx)(aI,{})}));var oI=i(166),cI=i(7493);cI.Select.createFilter;const lI=e=>{const{options:t,children:i,getValue:s,selectProps:n}=e,a=n.optionCustomization?.rowHeight??3.5*parseInt(getComputedStyle(document.documentElement).fontSize,10),[r]=s(),o=t.indexOf(r)*a,c=i.length?i.findIndex((e=>e.props.isFocused)):0,l=(0,Xt.useRef)(null);return(0,Xt.useEffect)((()=>{l.current?.scrollToItem(c)}),[c]),i.length?(0,E.jsx)(oI.FixedSizeList,{className:n.darkMode?"scrollbar--light selector-menu--dark":"",ref:l,width:"100%",height:Math.min(i.length,6)*a,itemCount:i.length,itemSize:a,initialScrollOffset:o,children:({index:e,style:t})=>(0,E.jsx)("div",{style:t,className:"selector-input__option-wrapper",children:i[e]})}):(0,E.jsx)("div",{className:"selector-menu--no-match "+(n.darkMode?"selector-menu--dark":""),children:n.noMatchMessage??"No match found"})},dI=e=>{const{children:t,selectProps:i}=e;return(0,E.jsx)(cI.SelectComponents.Option,{...e,className:(0,Ut.clsx)(i.darkMode?{"selector-input--dark__option":!0,"selector-input--dark__option--is-focused":e.isFocused,"selector-input--dark__option--is-selected":e.isSelected}:{"selector-input__option":!0,"selector-input__option--is-focused":e.isFocused,"selector-input__option--is-selected":e.isSelected},{"selector-input__option--custom":Boolean(i.optionCustomization)}),children:t})},uI="selector-input",pI="selector-input--dark",hI=()=>(0,E.jsx)("div",{className:`${uI}__indicator ${uI}__loading-indicator ${pI}__loading-indicator`,children:(0,E.jsx)(_s,{})}),mI=()=>(0,E.jsx)("div",{className:`${uI}__indicator ${uI}__dropdown-indicator`,children:(0,E.jsx)(Zi,{})}),gI=e=>{const{innerProps:{ref:t,...i}}=e;return(0,E.jsx)("div",{...i,ref:t,children:(0,E.jsx)("div",{className:`${uI}__indicator ${uI}__clear-indicator`,children:(0,E.jsx)(Ji,{})})})},fI=e=>(0,E.jsx)(cI.Select.components.Input,{...e,isHidden:!1}),_I=(0,Xt.forwardRef)((function(e,t){const{allowCreating:i,noMatchMessage:s,disabled:n,components:a,className:r,darkMode:o,hasError:c,...l}=e,d=i?cI.CreatableSelect.default:cI.Select.default,u=o?pI:uI;return(0,E.jsx)(d,{styles:{menuPortal:e=>({...e,zIndex:9999})},menuPortalTarget:document.body,ref:t,isDisabled:Boolean(n),className:(0,Ut.clsx)(u,r,{"selector-input--has-error":c,"selector-input--custom":Boolean(e.optionCustomization)}),classNamePrefix:u,components:{Option:dI,ClearIndicator:gI,DropdownIndicator:mI,LoadingIndicator:hI,MenuList:lI,Input:fI,...a},...l,darkMode:o,noMatchMessage:s})})),bI=(e,t)=>e.label.localeCompare(t.label),EI=(0,Ft.observer)((()=>{const e=Vy(),t=Qt(),i=e.fileSearchCommandLoadState,s=e.fileSearchCommandState,n=(0,Xt.useRef)(null),a=(0,Xt.useMemo)((()=>(0,I.default)((()=>{(0,Ve.flowResult)(e.searchFile()).catch(t.alertUnhandledError)}),500)),[t,e]),r=()=>e.setOpenFileSearchCommand(!1);return(0,E.jsx)(jt.default,{open:e.openFileSearchCommand,onClose:r,TransitionProps:{onEnter:()=>{n.current?.focus()}},classes:{container:"command-modal__container"},PaperProps:{classes:{root:"command-modal__inner-container"}},children:(0,E.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,E.jsx)("div",{className:"modal__title",children:"Open file"}),(0,E.jsxs)("div",{className:"command-modal__content",children:[(0,E.jsx)(_I,{ref:n,className:"command-modal__content__input",options:e.fileSearchCommandResults.map((e=>({label:e,value:e}))).sort(bI),onChange:i=>{i?.value&&(r(),s.reset(),(0,Ve.flowResult)(e.loadFile(i.value)).catch(t.alertUnhandledError))},onInputChange:e=>{s.setText(e),a.cancel(),a()},placeholder:"Enter file name or path",escapeClearsValue:!0,darkMode:!0,isLoading:i.isInProgress}),(0,E.jsx)("button",{className:(0,Ut.clsx)("command-modal__content__config-btn btn--sm",{"command-modal__content__config-btn--toggled":s.isRegExp}),title:`Use Regular Expression (${s.isRegExp?"on":"off"})`,onClick:()=>s.setRegExp(!s.isRegExp),children:(0,E.jsx)(xi,{})})]})]})})}));var vI;!function(e){e.MODE="mode",e.FAST_COMPILE="fastCompile"}(vI||(vI={}));const TI=(SI=(0,Ft.observer)((()=>{const e=Vy(),t=Qt(),{ref:i,width:s,height:n}=(0,pn.useResizeDetector)(),a=aN(0===e.sideBarDisplayState.size,{onStopResize:t=>e.sideBarDisplayState.setSize(t.domElement.getBoundingClientRect().width),size:e.sideBarDisplayState.size}),r=aN(0===e.panelGroupDisplayState.size,{onStopResize:t=>e.panelGroupDisplayState.setSize(t.domElement.getBoundingClientRect().height),size:e.panelGroupDisplayState.size}),o=aN(e.panelGroupDisplayState.isMaximized);return(0,Xt.useEffect)((()=>{i.current&&e.panelGroupDisplayState.setMaxSize(i.current.offsetHeight)}),[e,i,n,s]),(0,Xt.useEffect)((()=>()=>{e.cleanUp()}),[e]),(0,Xt.useEffect)((()=>{(0,Ve.flowResult)(e.initialize(!1,void 0,t.navigationService.navigator.getCurrentLocationParameterValue(vI.MODE),t.navigationService.navigator.getCurrentLocationParameterValue(vI.FAST_COMPILE))).catch(t.alertUnhandledError)}),[e,t]),(0,Xt.useEffect)((()=>(t.navigationService.navigator.blockNavigation([()=>!0],void 0,(()=>t.notificationService.notifyWarning("Navigation from the editor is blocked"))),()=>{t.navigationService.navigator.unblockNavigation()})),[e,t]),mA(e),(0,E.jsxs)("div",{className:"ide",children:[(0,E.jsxs)("div",{className:"ide__body",children:[(0,E.jsx)(uA,{}),(0,E.jsx)("div",{className:"ide__content-container",ref:i,children:(0,E.jsx)("div",{className:"ide__content",children:(0,E.jsxs)(sN,{orientation:"vertical",children:[(0,E.jsx)(rN,{...a.collapsiblePanel,direction:1,children:(0,E.jsx)(lA,{})}),(0,E.jsx)(oN,{}),(0,E.jsx)(rN,{...a.remainingPanel,minSize:300,children:(0,E.jsxs)(sN,{orientation:"horizontal",children:[(0,E.jsx)(rN,{...o.collapsiblePanel,...0===e.panelGroupDisplayState.size?r.remainingPanel:{},children:(0,E.jsx)(rI,{})}),(0,E.jsx)(oN,{children:(0,E.jsx)(cN,{color:e.panelGroupDisplayState.isMaximized?"transparent":"var(--color-dark-grey-250)"})}),(0,E.jsx)(rN,{...r.collapsiblePanel,...e.panelGroupDisplayState.isMaximized?o.remainingPanel:{},direction:-1,children:(0,E.jsx)(AN,{})})]})})]})})})]}),(0,E.jsx)(hA,{}),(0,E.jsx)(EI,{})]})})),function(){return(0,E.jsx)(Uy,{children:(0,E.jsx)(SI,{})})});var SI;const CI=(0,Ft.observer)((e=>{const{children:t}=e,i=W((0,Xt.useContext)(pT),"Can't find application platform in context"),s=Qt();return(0,Xt.useEffect)((()=>{s.initialize(i).catch(s.alertUnhandledError)}),[s,i]),s.initState.hasSucceeded?(0,E.jsx)(Rn,{children:t}):(0,E.jsx)(E.Fragment,{})}));class yI{applicationStore;pluginManager;constructor(e){this.applicationStore=e,this.pluginManager=e.pluginManager}}const NI=(0,Xt.createContext)(void 0),AI=({children:e})=>{const t=Qt(),i=(0,Ft.useLocalObservable)((()=>new yI(t)));return(0,E.jsx)(NI.Provider,{value:i,children:e})},II=({children:e})=>(0,E.jsx)(CI,{children:(0,E.jsx)(AI,{children:e})}),xI=e=>{const{baseUrl:t}=e;return(0,E.jsx)(mT,{baseUrl:t,children:(0,E.jsx)(II,{children:(0,E.jsx)(TI,{})})})},OI=JSON.parse('{"name":"@finos/legend-application-pure-ide","version":"8.0.132","description":"Legend Pure IDE application core","keywords":["legend","legend-application","legend-pure-ide","ide"],"homepage":"https://github.com/finos/legend-studio/tree/master/packages/legend-application-pure-ide","bugs":{"url":"https://github.com/finos/legend-studio/issues"},"repository":{"type":"git","url":"https://github.com/finos/legend-studio.git","directory":"packages/legend-application-pure-ide"},"license":"Apache-2.0","sideEffects":false,"type":"module","exports":{".":"./lib/index.js","./lib/index.css":"./lib/index.css"},"module":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"yarn clean && yarn build:sass && yarn build:ts","build:sass":"cross-env INIT_CWD=$INIT_CWD node ../../scripts/workflow/buildSass.js","build:ts":"tsc --project ./tsconfig.build.json","clean":"npm-run-all clean:cache clean:lib","clean:cache":"rimraf \\"build\\"","clean:lib":"rimraf \\"lib\\"","dev":"npm-run-all --parallel dev:sass dev:ts","dev:sass":"sass style:lib --watch --load-path=../../node_modules/@finos/legend-art/scss","dev:ts":"tsc --watch --preserveWatchOutput","lint:js":"cross-env NODE_ENV=production eslint --cache --cache-location ./build/.eslintcache --report-unused-disable-directives --parser-options=project:\\"./tsconfig.json\\" \\"./src/**/*.{js,ts,tsx}\\"","publish:prepare":"node ../../scripts/release/preparePublishContent.js","publish:snapshot":"node ../../scripts/release/publishDevSnapshot.js","test":"jest","test:watch":"jest --watch"},"dependencies":{"@finos/legend-application":"workspace:*","@finos/legend-art":"workspace:*","@finos/legend-extension-dsl-diagram":"workspace:*","@finos/legend-graph":"workspace:*","@finos/legend-lego":"workspace:*","@finos/legend-shared":"workspace:*","@types/react":"18.2.31","@types/react-dom":"18.2.14","mobx":"6.10.2","mobx-react-lite":"4.0.5","monaco-editor":"0.44.0","react":"18.2.0","react-dnd":"16.0.1","react-dom":"18.2.0","serializr":"3.0.2"},"devDependencies":{"@finos/legend-dev-utils":"workspace:*","@jest/globals":"29.7.0","cross-env":"7.0.3","eslint":"8.52.0","jest":"29.7.0","npm-run-all":"4.1.5","rimraf":"5.0.5","sass":"1.69.4","typescript":"5.2.2"},"peerDependencies":{"react":"^18.0.0"},"publishConfig":{"directory":"build/publishContent"},"extensions":{"applicationPureIDEPlugin":"@finos/legend-application-pure-ide-plugin-core"}}');class wI extends la{_$nominalTypeBrand;install(e){e.registerApplicationPlugin(this)}}const RI={wordPattern:/(-?\d*\.\d\w*)|([^`~!@#%^$&*()\-=+[{\]}\\|;:'",.<>/?\s][^`~!@#%^&*()\-=+[{\]}\\|;:'",.<>/?\s]*)/,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"},{open:"<<",close:">>"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}};function kI(e){var t;TT.languages.register({id:zT.PURE}),TT.languages.setLanguageConfiguration(zT.PURE,RI),TT.languages.setMonarchTokensProvider(zT.PURE,(t=e?.extraKeywords??[],{defaultToken:"invalid",tokenPostfix:".pure",keywords:[...t,"Schema","Table","Join","View","primaryKey","groupBy","mainTable","let","extends","true","false","projects",VC.CLASS,VC.ASSOCIATION,VC.ENUMERATION,VC.MEASURE,VC.PROFILE,VC.FUNCTION,VC.MAPPING,VC.RUNTIME,VC.CONNECTION,VC.FILE_GENERATION,VC.GENERATION_SPECIFICATION,VC.DATA_ELEMENT,GC.JSON_MODEL_CONNECTION,GC.MODEL_CHAIN_CONNECTION,GC.XML_MODEL_CONNECTION,"include","EnumerationMapping","Pure","AssociationMapping","XStore","AggregationAware",VC.SERVICE,VC.FLAT_DATA,VC.DATABASE,GC.FLAT_DATA_CONNECTION,GC.RELATIONAL_DATABASE_CONNECTION,"Relational"],operators:["=",">","<","!","~","?",":","==","<=",">=","&&","||","++","--","+","-","*","/","&","|","^","%","->","#{","}#","@","<<",">>"],languageStructs:["import","native"],identifier:/[a-zA-Z_$][\w$]*/,symbols:/[=><!~?:&|+\-*/^%#@]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,multiplicity:/\[(?:[a-zA-Z0-9]+(?:\.\.(?:[a-zA-Z0-9]+|\*|))?|\*)\]/,package:/(?:[\w_]+::)+/,generics:/(?:(?:<\w+>)|(?:<[^:.@^()]+[^-]>))/,date:/%-?\d+(?:-\d+(?:-\d+(?:T(?:\d+(?::\d+(?::\d+(?:.\d+)?)?)?)(?:[+-][0-9]{4})?)))/,time:/%\d+(?::\d+(?::\d+(?:.\d+)?)?)?/,tokenizer:{root:[{include:"@pure"},{include:"@date"},{include:"@color"},[/^\s*###[\w]+/,vT.PARSER],[/(@identifier)/,{cases:{"@languageStructs":vT.LANGUAGE_STRUCT,"@keywords":`${vT.KEYWORD}.$0`,"([a-zA-Z_$][\\w$]*)_((\\w+_(([a-zA-Z0-9]+)|(\\$[a-zA-Z0-9]+_[a-zA-Z0-9]+\\$)))__)*(\\w+_(([a-zA-Z0-9]+)|(\\$[a-zA-Z0-9]+_[a-zA-Z0-9]+\\$)))_":vT.TYPE,"@default":vT.IDENTIFIER}}],{include:"@whitespace"},[/[{}()[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":vT.OPERATOR,"@default":vT.IDENTIFIER}}],{include:"@number"},[/[;,.]/,vT.DELIMITER],[/'([^'\\]|\\.)*$/,`${vT.STRING}.invalid`],[/'/,vT.STRING,"@string"],{include:"@characters"}],pure:[[/(@package\*)/,[vT.PACKAGE]],[/(@package?)(@identifier)(@generics?)(\s*)(@multiplicity)/,[vT.PACKAGE,vT.TYPE,vT.GENERICS,vT.WHITESPACE,vT.MULTIPLICITY]],[/(@package)(@identifier)(@generics?)/,[vT.PACKAGE,vT.TYPE,vT.GENERICS]],[/([@^])(\s*)(@package?)(@identifier)(@generics?)(@multiplicity?)/,[`${vT.TYPE}.operator`,vT.WHITESPACE,vT.PACKAGE,vT.TYPE,vT.GENERICS,vT.MULTIPLICITY]],[/(\.\s*)(@identifier)/,[vT.DELIMITER,vT.PROPERTY]],[/(@identifier)(\s*=)/,[vT.PROPERTY,vT.OPERATOR]],[/(@identifier)(\.)(@identifier)/,[vT.TYPE,vT.OPERATOR,vT.PROPERTY]],[/(@identifier)(\s*:)/,[vT.PARAMETER,vT.OPERATOR]],[/(let)(\s+)(@identifier)(\s*=)/,[vT.KEYWORD,vT.WHITESPACE,vT.VARIABLE,vT.OPERATOR]],[/(\$@identifier)/,[`${vT.VARIABLE}.reference`]]],date:[[/(%latest)/,[`${vT.DATE}.latest`]],[/(@date)/,[vT.DATE]],[/(@time)/,[`${vT.DATE}.time`]]],color:[[/(#[0-9a-fA-F]{6})/,[vT.COLOR]]],number:[[/(@digits)[eE]([-+]?(@digits))?[fFdD]?/,`${vT.NUMBER}.float`],[/(@digits)\.(@digits)([eE][-+]?(@digits))?[fFdD]?/,`${vT.NUMBER}.float`],[/0[xX](@hexdigits)[Ll]?/,`${vT.NUMBER}.hex`],[/0(@octaldigits)[Ll]?/,`${vT.NUMBER}.octal`],[/0[bB](@binarydigits)[Ll]?/,`${vT.NUMBER}.binary`],[/(@digits)[fFdD]/,`${vT.NUMBER}.float`],[/(@digits)[lL]?/,vT.NUMBER]],whitespace:[[/[ \t\r\n]+/,vT.WHITESPACE],[/\/\*\*(?!\/)/,`${vT.COMMENT}.doc`,"@doc"],[/\/\*/,vT.COMMENT,"@comment"],[/\/\/.*$/,vT.COMMENT]],comment:[[/[^/*]+/,vT.COMMENT],[/\*\//,vT.COMMENT,"@pop"],[/[/*]/,vT.COMMENT]],doc:[[/[^/*]+/,`${vT.COMMENT}.doc`],[/\/\*/,`${vT.COMMENT}.doc.invalid`],[/\*\//,`${vT.COMMENT}.doc`,"@pop"],[/[/*]/,`${vT.COMMENT}.doc`]],string:[[/[^\\']+/,vT.STRING],[/@escapes/,`${vT.STRING}.escape`],[/\\./,`${vT.STRING}.escape.invalid`],[/'/,vT.STRING,"@pop"]],characters:[[/'[^\\']'/,vT.STRING],[/(')(@escapes)(')/,[vT.STRING,`${vT.STRING}.escape`,vT.STRING]],[/'/,`${vT.STRING}.invalid`]]}}))}class PI extends wI{static NAME=OI.extensions.applicationPureIDEPlugin;constructor(){super(PI.NAME,OI.version)}getExtraApplicationSetups(){return[async e=>{await(async e=>{const t=`Monospaced font '${ut}' has not been loaded properly, code editor might not display properly`;await Promise.all([400,700].map((e=>document.fonts.load(`${e} 1em ${ut}`)))).then((()=>{document.fonts.check(`1em ${ut}`)?TT.editor.remeasureFonts():e.logService.error(u.create(ye.APPLICATION_SETUP__FAILURE),t)})).catch((()=>e.logService.error(u.create(ye.APPLICATION_SETUP__FAILURE),t)));const i="legend.code-editor.override-default-keybinding";TT.editor.registerCommand(i,((t,...i)=>{e.keyboardShortcutsService.dispatch(i[0])}));const s=[[TT.KeyCode.F1,"F1"],[TT.KeyCode.F8,"F8"],[TT.KeyCode.F9,"F9"],[TT.KeyMod.WinCtrl|TT.KeyCode.KeyG,"Control+KeyG"],[TT.KeyMod.WinCtrl|TT.KeyCode.KeyB,"Control+KeyB"],[TT.KeyMod.WinCtrl|TT.KeyCode.KeyO,"Control+KeyO"],[TT.KeyMod.WinCtrl|TT.KeyCode.KeyD,"Control+KeyD"],[TT.KeyMod.WinCtrl|TT.KeyCode.KeyP,"Control+KeyP"],[TT.KeyMod.Shift|TT.KeyCode.F10,"Shift+F10"],[TT.KeyMod.WinCtrl|TT.KeyCode.F2,"Control+F2"],[TT.KeyMod.WinCtrl|TT.KeyCode.F12,"Control+F12"]];TT.editor.addKeybindingRules(s.map((([e,t])=>({keybinding:e,command:i,commandArgs:t})))),TT.editor.defineTheme(kT.DEFAULT_DARK,PT),TT.editor.defineTheme(kT.SOLARIZED_DARK,MT),TT.editor.defineTheme(kT.GITHUB_DARK,LT),TT.editor.defineTheme(kT.GITHUB_DARK_DIMMED,FT),TT.editor.defineTheme(kT.MATERIAL_DEFAULT,DT),TT.editor.defineTheme(kT.MATERIAL_DARKER,BT),TT.editor.defineTheme(kT.ONE_DARK_PRO,jT),TT.editor.defineTheme(kT.ONE_DARK_PRO_DARKER,UT)})(e),kI({extraKeywords:[AA]})}]}getExtraKeyedCommandConfigEntries(){return[lS,hS,uS].flatMap((e=>{return t=e,Object.entries(t).map((e=>({key:e[0],content:e[1]})));var t}))}}class MI extends ra{static create(){const e=new MI(ma.create());return e.withBasePlugins([new da,new PI]),e.withBasePresets([new aT]),e}async configureApplication(e){return new pa(e)}async loadApplication(e){(0,v.createRoot)((()=>{let e=document.getElementsByTagName(oa).length?document.getElementsByTagName(oa)[0]:void 0;return e||(e=document.createElement(oa),document.body.appendChild(e)),e.setAttribute("style","height: 100%; width: 100%; display: block"),e})()).render((0,E.jsx)(Zt,{store:e,children:(0,E.jsx)(xI,{baseUrl:this.baseAddress})}))}}class LI{static getPresetCollection(){return[]}static getPluginCollection(){return[new b]}static run(e){MI.create().setup({baseAddress:e}).withPresets(LI.getPresetCollection()).withPlugins(LI.getPluginCollection()).start().catch((e=>{throw e}))}}LI.run("/ide/")},7493:(e,t,i)=>{const s=i(4319),n=i(1776);e.exports={CreatableSelect:s,Select:n,SelectComponents:n.components}},1931:(e,t,i)=>{const s=i(1659);e.exports={Fuse:s}}},r={};function o(e){var t=r[e];if(void 0!==t)return t.exports;var i=r[e]={id:e,loaded:!1,exports:{}};return a[e].call(i.exports,i,i.exports,o),i.loaded=!0,i.exports}o.m=a,o.amdO={},e=[],o.O=(t,i,s,n)=>{if(!i){var a=1/0;for(d=0;d<e.length;d++){for(var[i,s,n]=e[d],r=!0,c=0;c<i.length;c++)(!1&n||a>=n)&&Object.keys(o.O).every((e=>o.O[e](i[c])))?i.splice(c--,1):(r=!1,n<a&&(a=n));if(r){e.splice(d--,1);var l=s();void 0!==l&&(t=l)}}return t}n=n||0;for(var d=e.length;d>0&&e[d-1][2]>n;d--)e[d]=e[d-1];e[d]=[i,s,n]},o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},i=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,o.t=function(e,s){if(1&s&&(e=this(e)),8&s)return e;if("object"==typeof e&&e){if(4&s&&e.__esModule)return e;if(16&s&&"function"==typeof e.then)return e}var n=Object.create(null);o.r(n);var a={};t=t||[null,i({}),i([]),i(i)];for(var r=2&s&&e;"object"==typeof r&&!~t.indexOf(r);r=i(r))Object.getOwnPropertyNames(r).forEach((t=>a[t]=()=>e[t]));return a.default=()=>e,o.d(n,a),n},o.d=(e,t)=>{for(var i in t)o.o(t,i)&&!o.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((t,i)=>(o.f[i](e,t),t)),[])),o.u=e=>"static/"+e+"."+{14:"9447a523",32:"1758faf0",46:"767f2180",99:"5f870035",135:"2af0ed6c",144:"56359b57",192:"2c9a3a4b",196:"dd0f3119",222:"969f20c8",224:"bb7a7194",246:"4add4bf1",309:"df05f0ef",327:"fe8046d0",362:"a41dadab",374:"0aa73cb9",399:"4bd7d49b",400:"5fa229f2",404:"7360c523",413:"848afa4d",471:"d1ead9bf",481:"be521fe4",578:"d2ff5454",586:"c4953cb8",616:"dc5a1512",624:"2d11fadb",636:"4620ce27",817:"6ce83b7d",837:"5bdbaccc",909:"35426328",923:"1933c869",932:"417cc1c9",947:"b545969f",969:"d3cb41c2",977:"112b9e63"}[e]+".js",o.miniCssF=e=>{},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s={},n="@finos/legend-application-pure-ide-deployment:",o.l=(e,t,i,a)=>{if(s[e])s[e].push(t);else{var r,c;if(void 0!==i)for(var l=document.getElementsByTagName("script"),d=0;d<l.length;d++){var u=l[d];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==n+i){r=u;break}}r||(c=!0,(r=document.createElement("script")).charset="utf-8",r.timeout=120,o.nc&&r.setAttribute("nonce",o.nc),r.setAttribute("data-webpack",n+i),r.src=e),s[e]=[t];var p=(t,i)=>{r.onerror=r.onload=null,clearTimeout(h);var n=s[e];if(delete s[e],r.parentNode&&r.parentNode.removeChild(r),n&&n.forEach((e=>e(i))),t)return t(i)},h=setTimeout(p.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=p.bind(null,r.onerror),r.onload=p.bind(null,r.onload),c&&document.head.appendChild(r)}},o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),o.p="/ide/",(()=>{var e={826:0};o.f.j=(t,i)=>{var s=o.o(e,t)?e[t]:void 0;if(0!==s)if(s)i.push(s[2]);else{var n=new Promise(((i,n)=>s=e[t]=[i,n]));i.push(s[2]=n);var a=o.p+o.u(t),r=new Error;o.l(a,(i=>{if(o.o(e,t)&&(0!==(s=e[t])&&(e[t]=void 0),s)){var n=i&&("load"===i.type?"missing":i.type),a=i&&i.target&&i.target.src;r.message="Loading chunk "+t+" failed.\n("+n+": "+a+")",r.name="ChunkLoadError",r.type=n,r.request=a,s[1](r)}}),"chunk-"+t,t)}},o.O.j=t=>0===e[t];var t=(t,i)=>{var s,n,[a,r,c]=i,l=0;if(a.some((t=>0!==e[t]))){for(s in r)o.o(r,s)&&(o.m[s]=r[s]);if(c)var d=c(o)}for(t&&t(i);l<a.length;l++)n=a[l],o.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return o.O(d)},i=globalThis.webpackChunk_finos_legend_application_pure_ide_deployment=globalThis.webpackChunk_finos_legend_application_pure_ide_deployment||[];i.forEach(t.bind(null,0)),i.push=t.bind(null,i.push.bind(i))})();var c=o.O(void 0,[736],(()=>o(9626)));c=o.O(c)})();
|
2
|
+
//# sourceMappingURL=index.0b1c88f5.js.map
|