@kodax-ai/kodax 0.7.68 → 0.7.69
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/CHANGELOG.md +137 -3
- package/README.md +56 -9
- package/README_CN.md +53 -8
- package/config-templates/config.example.jsonc +26 -0
- package/config-templates/integrations/a2a.example.jsonc +54 -0
- package/config-templates/integrations/extensions.example.jsonc +7 -0
- package/config-templates/integrations/mcp.example.jsonc +16 -0
- package/dist/chunks/agent-DQRXT6M7.js +2 -0
- package/dist/chunks/argument-completer-RSK6CCGP.js +2 -0
- package/dist/chunks/chunk-4WIODYOH.js +329 -0
- package/dist/chunks/chunk-AWMTNUDS.js +37 -0
- package/dist/chunks/chunk-F7C7J6IM.js +7 -0
- package/dist/chunks/{chunk-PEGSHZAA.js → chunk-I4TPQEJN.js} +1 -1
- package/dist/chunks/chunk-M7TCFYTO.js +107 -0
- package/dist/chunks/chunk-NGHQIGVW.js +46 -0
- package/dist/chunks/chunk-NGJURAY5.js +306 -0
- package/dist/chunks/{chunk-KGAI32VS.js → chunk-PA76WUBL.js} +2 -2
- package/dist/chunks/chunk-PQ3XUSY2.js +357 -0
- package/dist/chunks/chunk-UJEMSPM5.js +78 -0
- package/dist/chunks/{chunk-CC4BVVE7.js → chunk-URC6ZI6P.js} +1 -1
- package/dist/chunks/{chunk-CTHUX5ZH.js → chunk-VAZ25MDX.js} +122 -122
- package/dist/chunks/chunk-VYKFM3TB.js +751 -0
- package/dist/chunks/{chunk-TOGESFRN.js → chunk-WW2O2DEP.js} +1 -1
- package/dist/chunks/chunk-Y4WOTWUC.js +2 -0
- package/dist/chunks/chunk-Z4PPLJF2.js +60 -0
- package/dist/chunks/chunk-ZG4DMYBS.js +422 -0
- package/dist/chunks/compaction-config-ABLL6UH3.js +2 -0
- package/dist/chunks/{construction-bootstrap-PYWJHO35.js → construction-bootstrap-GH6RW6ST.js} +1 -1
- package/dist/chunks/dist-DRBKYVHF.js +2 -0
- package/dist/chunks/dist-RWL2RBO4.js +2 -0
- package/dist/chunks/host-7SAB4WEC.js +2 -0
- package/dist/chunks/run-manager-XMDKTONJ.js +2 -0
- package/dist/chunks/utils-QYE5Y73D.js +2 -0
- package/dist/index.d.ts +19 -19
- package/dist/index.js +6 -6
- package/dist/kodax_cli.js +1590 -1316
- package/dist/runtime-worker.js +1355 -1105
- package/dist/sdk-a2a.d.ts +397 -0
- package/dist/sdk-a2a.js +9 -0
- package/dist/sdk-agent.d.ts +61 -30
- package/dist/sdk-agent.js +1 -1
- package/dist/sdk-coding.d.ts +126 -51
- package/dist/sdk-coding.js +1 -1
- package/dist/sdk-experimental-memory.d.ts +1 -1
- package/dist/sdk-experimental-memory.js +1 -1
- package/dist/sdk-llm.d.ts +16 -9
- package/dist/sdk-llm.js +1 -1
- package/dist/sdk-mcp.d.ts +1 -1
- package/dist/sdk-mcp.js +1 -1
- package/dist/sdk-media.d.ts +1 -1
- package/dist/sdk-media.js +1 -1
- package/dist/sdk-repl.d.ts +35 -101
- package/dist/sdk-repl.js +2 -2
- package/dist/sdk-runtime.d.ts +744 -21
- package/dist/sdk-runtime.js +1 -1
- package/dist/sdk-session.d.ts +7 -7
- package/dist/sdk-session.js +1 -1
- package/dist/sdk-skills.js +1 -1
- package/dist/semantic-worker.js +100 -12
- package/dist/types-chunks/{base.d-C8mXDhLL.d.ts → base.d-CYjtB68X.d.ts} +1 -1
- package/dist/types-chunks/{bash-prefix-extractor.d-Dm-T865v.d.ts → bash-prefix-extractor.d-BkIA8Wto.d.ts} +68 -17
- package/dist/types-chunks/{capability-learning.d-BLEmCib0.d.ts → capability-learning.d-WtsyRv3O.d.ts} +1 -1
- package/dist/types-chunks/{capsule.d-CzaamUUv.d.ts → capsule.d-xJvfh4YR.d.ts} +3 -3
- package/dist/types-chunks/{commands.d-DxKjVSNU.d.ts → commands.d-DkPfcQWG.d.ts} +4 -4
- package/dist/types-chunks/{cost-tracker.d-CBLk1fiD.d.ts → cost-tracker.d-BeaenODW.d.ts} +4 -1
- package/dist/types-chunks/{guardrail.d-D7r6zVSR.d.ts → guardrail.d-6ZDbNbHO.d.ts} +1 -1
- package/dist/types-chunks/{guardrail.d-CPDfZyJp.d.ts → guardrail.d-R7AiGfrI.d.ts} +4 -4
- package/dist/types-chunks/integration-config.d-ojG4swOP.d.ts +95 -0
- package/dist/types-chunks/{manager.d-Zum9cGHU.d.ts → manager.d-CoEuPRAo.d.ts} +4 -1
- package/dist/types-chunks/{public-api.d-BcKbBy1E.d.ts → public-api.d-7G4--RZE.d.ts} +3 -3
- package/dist/types-chunks/{resolver.d-DmBnoilY.d.ts → resolver.d-CIVoGc97.d.ts} +2 -2
- package/dist/types-chunks/{run-manager.d-CSj7_kWk.d.ts → run-manager.d-BaXtkryp.d.ts} +1 -1
- package/dist/types-chunks/{sdk-session-C6nDgyh8.d.ts → sdk-session-BQccrODn.d.ts} +6 -4
- package/dist/types-chunks/{types.d-D2frCRaY.d.ts → types.d-BtC4yLYO.d.ts} +35 -8
- package/dist/types-chunks/{types.d-CzscbsG0.d.ts → types.d-C9YHEAmA.d.ts} +38 -7
- package/dist/types-chunks/{types.d-D9FKbAmf.d.ts → types.d-CJR7t6iW.d.ts} +2 -2
- package/dist/types-chunks/{types.d-CO_ZkmOd.d.ts → types.d-TTvpAGWf.d.ts} +5 -0
- package/dist/types-chunks/{utils.d-DOXxnOnI.d.ts → utils.d-BbB5jzi1.d.ts} +15 -7
- package/docs/SDK_EMBEDDER_GUIDE.md +627 -9
- package/package.json +10 -2
- package/dist/chunks/agent-DATNZOBK.js +0 -2
- package/dist/chunks/argument-completer-X7MMM7Y6.js +0 -2
- package/dist/chunks/chunk-5GL55MOH.js +0 -36
- package/dist/chunks/chunk-67XJ4YUA.js +0 -703
- package/dist/chunks/chunk-C4SBXBWH.js +0 -346
- package/dist/chunks/chunk-D6QVXQNI.js +0 -1
- package/dist/chunks/chunk-HFM2D5BP.js +0 -2
- package/dist/chunks/chunk-HLBHSA2B.js +0 -325
- package/dist/chunks/chunk-K2NCKRVY.js +0 -33
- package/dist/chunks/chunk-KIQRCGVR.js +0 -419
- package/dist/chunks/chunk-MP52BDK5.js +0 -15
- package/dist/chunks/chunk-O5OJQFPY.js +0 -307
- package/dist/chunks/chunk-OIELNE6Z.js +0 -56
- package/dist/chunks/chunk-PZTG2C33.js +0 -7
- package/dist/chunks/chunk-QJJKMNZF.js +0 -2
- package/dist/chunks/compaction-config-BXEDHIQP.js +0 -2
- package/dist/chunks/dist-76PJHNSG.js +0 -2
- package/dist/chunks/dist-HTDJRAD6.js +0 -2
- package/dist/chunks/host-UAXIDZ6V.js +0 -2
- package/dist/chunks/paste-C33GZQV5.js +0 -2
- package/dist/chunks/run-manager-UCXB4G22.js +0 -2
- package/dist/chunks/utils-S63V5UCM.js +0 -2
package/dist/semantic-worker.js
CHANGED
|
@@ -1,6 +1,94 @@
|
|
|
1
1
|
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
var
|
|
3
|
-
`)}catch{}}function hs(t){let e=Ou(t.detail);return`[${t.source}] ${t.level}: ${t.message}${e?` ${e}`:""}`}function Ou(t){if(t===void 0)return"";if(t instanceof Error)return t.stack??t.message;if(typeof t=="string")return t;try{return JSON.stringify(t)}catch{return String(t)}}var pu,Pe=p(()=>{"use strict";pu=[];a(fe,"emitKodaXDiagnostic");a(hs,"formatKodaXDiagnostic");a(Ou,"formatDiagnosticDetail")});var gs=p(()=>{"use strict"});var ys=p(()=>{"use strict"});var ws=p(()=>{"use strict"});function mu(){Ps+=1;let t=Math.random().toString(36).slice(2,8);return`span-${Date.now()}-${Ps}-${t}`}var $t,Ps,vr=p(()=>{"use strict";$t=class t{static{a(this,"SpanImpl")}id;traceId;parentId;name;data;startedAt;_endedAt;_error;_children=[];now;nextSpanId;onChildCreated;onSpanEnd;_ended=!1;constructor(e){this.id=e.id,this.traceId=e.traceId,this.parentId=e.parentId,this.name=e.name,this.data=e.data,this.now=e.now??(()=>Date.now()),this.startedAt=e.startedAt??this.now(),this.nextSpanId=e.nextSpanId??mu,this.onChildCreated=e.onChildCreated,this.onSpanEnd=e.onSpanEnd}get endedAt(){return this._endedAt}get error(){return this._error}get children(){return this._children}addChild(e,n){let r=new t({id:this.nextSpanId(),traceId:this.traceId,parentId:this.id,name:e,data:n,now:this.now,nextSpanId:this.nextSpanId,onChildCreated:this.onChildCreated,onSpanEnd:this.onSpanEnd});return this._children.push(r),this.onChildCreated&&this.onChildCreated(r),r}setError(e){e instanceof Error?this._error={message:e.message,stack:e.stack}:this._error=e}end(){this._ended||(this._ended=!0,this._endedAt=this.now(),this.onSpanEnd&&this.onSpanEnd(this))}},Ps=0;a(mu,"defaultNextSpanId")});function hu(){Ss+=1;let t=Math.random().toString(36).slice(2,8);return`trace-${Date.now()}-${Ss}-${t}`}function Rr(t={}){let e=t.now??(()=>Date.now()),n=t.id??(t.nextTraceId??hu)(),r=e(),o=t.name??"trace",i=t.metadata??new Map,s=t.rootSpanData??{kind:"agent",agentName:o},c=!1,l,u,f=new $t({id:`${n}-root`,traceId:n,name:o,data:s,startedAt:r,now:e,nextSpanId:t.nextSpanId,onChildCreated:t.onSpanStart,onSpanEnd:t.onSpanEnd});t.onSpanStart&&t.onSpanStart(f);let d={id:n,startedAt:r,rootSpan:f,metadata:i,get endedAt(){return l},get error(){return u??f.error},end(){c||(c=!0,l=e(),f.end(),t.onTraceEnd&&t.onTraceEnd(d))}};return d}var Ss,$r=p(()=>{"use strict";vr();Ss=0;a(hu,"defaultNextTraceId");a(Rr,"createTrace")});function Xr(t){for(let e of _r)try{e.onSpanStart(t)}catch{}}function Er(t){for(let e of _r)try{e.onSpanEnd(t)}catch{}}function Cr(t){for(let e of _r)try{e.onTraceEnd(t)}catch{}}var _r,Ir=p(()=>{"use strict";_r=[];a(Xr,"_emitSpanStart");a(Er,"_emitSpanEnd");a(Cr,"_emitTraceEnd")});var fn,Qs,ks=p(()=>{"use strict";$r();Ir();fn=class{static{a(this,"Tracer")}options;constructor(e={}){this.options=e}startTrace(e={}){return Rr({id:e.id,name:e.name,rootSpanData:e.rootSpanData,metadata:e.metadata,now:this.options.now,nextSpanId:this.options.nextSpanId,nextTraceId:this.options.nextTraceId,onSpanStart:Xr,onSpanEnd:Er,onTraceEnd:Cr})}},Qs=new fn});var bs=p(()=>{"use strict"});var xs=p(()=>{"use strict"});var Ar=p(()=>{"use strict";vr();$r();ks();Ir();bs();xs()});var _t=p(()=>{"use strict"});var pn=p(()=>{"use strict"});var Qu,oP,Mr=p(()=>{"use strict";Pe();_t();pn();Qu=["read","edit","bash:test","bash:read-only","bash:mutating","bash:network","subagent"],oP=new Set(Qu)});var Wr=p(()=>{"use strict";_t();pn()});var zr=p(()=>{"use strict"});var qr=p(()=>{"use strict"});var jr=p(()=>{"use strict"});var vs=p(()=>{"use strict";Ar();Mr();Wr();zr();qr();jr()});var Rs=p(()=>{"use strict"});var $s=p(()=>{"use strict"});var _s=p(()=>{"use strict"});var Xs=p(()=>{"use strict";_t();Rs();$s();_s()});var K=p(()=>{"use strict"});var lt=p(()=>{"use strict"});var Fr=p(()=>{"use strict"});var Es=p(()=>{"use strict"});var Ur=p(()=>{"use strict"});var He=p(()=>{"use strict"});var Cs=p(()=>{"use strict"});var Vr=p(()=>{"use strict"});import{AsyncLocalStorage as Vu}from"node:async_hooks";var tS,On=p(()=>{"use strict";tS=new Vu});var Xt,Is,mn,As,Je=p(()=>{"use strict";Xt={transport:"native-api",conversationSemantics:"full-history",mcpSupport:"none",contextFidelity:"full",toolCallingFidelity:"full",sessionSupport:"full",longRunningSupport:"full",multimodalSupport:"none",evidenceSupport:"full"},Is={...Xt,multimodalSupport:"image-input"},mn={transport:"cli-bridge",conversationSemantics:"last-user-message",mcpSupport:"none",contextFidelity:"lossy",toolCallingFidelity:"limited",sessionSupport:"stateless",longRunningSupport:"limited",multimodalSupport:"none",evidenceSupport:"limited"},As={...mn,multimodalSupport:"image-input"}});var Et=p(()=>{"use strict";lt();Cs();Vr();Fr();On();Je();He()});import{parse as yS}from"partial-json";var yn=p(()=>{"use strict"});var wn=p(()=>{"use strict"});var Pn=p(()=>{"use strict"});var Ct=p(()=>{"use strict"});var Dr=p(()=>{"use strict"});import ES from"@anthropic-ai/sdk";var Qn=p(()=>{"use strict";Et();yn();wn();lt();Pn();He();Ct();Dr();On()});import YS from"openai";var kn=p(()=>{"use strict";Et();lt();yn();wn();Pn();He();Ct();Dr()});var Yr=p(()=>{"use strict"});import{ClientSideConnection as sQ,PROTOCOL_VERSION as aQ,ndJsonStream as cQ}from"@agentclientprotocol/sdk";var Us=p(()=>{"use strict";Yr()});var Lr=p(()=>{"use strict";Et();Us();Je();Ct()});var Kr=p(()=>{"use strict";Yr()});var Gr=p(()=>{"use strict"});var Vs=p(()=>{"use strict";Kr();Gr()});var Zr=p(()=>{"use strict"});import Ds from"node:fs";import Ns from"node:os";import Ys from"node:path";function Ls(t){let e=new Set,n=[];for(let r of t){let o=r.trim();if(!o)continue;let i=o.toLowerCase();e.has(i)||(e.add(i),n.push(o))}return n}function pf(){let t=Ys.join(Ns.homedir(),".codex","config.toml");try{return Ds.readFileSync(t,"utf8").match(/^\s*model\s*=\s*"([^"]+)"/m)?.[1]?.trim()||null}catch{return null}}function Of(){let t=Ys.join(Ns.homedir(),".gemini","settings.json");try{let e=JSON.parse(Ds.readFileSync(t,"utf8")),n=typeof e.model=="string"?e.model.trim():"";return n||(typeof e.general?.model=="string"?e.general.model.trim():"")||null}catch{return null}}function dt(){return pf()||lf}function ut(){return Of()||df}function It(){return Ls([dt(),...uf])}function At(){return Ls([ut(),...ff])}var lf,df,uf,ff,Mt=p(()=>{"use strict";lf="gpt-5.4",df="auto-gemini-3",uf=["gpt-5.4","gpt-5.3-codex","gpt-5.3-codex-spark"],ff=["auto-gemini-3","gemini-3.1-pro-preview","gemini-3-flash-preview","gemini-2.5-pro","gemini-2.5-flash"];a(Ls,"dedupePreserveOrder");a(pf,"readCodexConfiguredModel");a(Of,"readGeminiConfiguredModel");a(dt,"getCodexCliDefaultModel");a(ut,"getGeminiCliDefaultModel");a(It,"getCodexCliKnownModels");a(At,"getGeminiCliKnownModels")});var UQ,VQ,Ks=p(()=>{"use strict";Lr();Vs();Zr();Mt();Je();UQ=ut(),VQ=At()});var Gs=p(()=>{"use strict";Kr();Gr()});var tk,nk,Zs=p(()=>{"use strict";Lr();Gs();Zr();Mt();tk=dt(),nk=It()});function Se(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function et(t,e){if(typeof t!="string"||t.length===0)throw new Error(`provider-capabilities.json: ${e} must be a non-empty string`);return t}function Wt(t,e){if(t!==void 0)return et(t,e)}function Ce(t,e){if(t!==void 0){if(typeof t!="number"||!Number.isFinite(t)||t<0)throw new Error(`provider-capabilities.json: ${e} must be a non-negative finite number`);return t}}function V(t,e){if(t!==void 0){if(typeof t!="boolean")throw new Error(`provider-capabilities.json: ${e} must be a boolean`);return t}}function ra(t,e){if(t!==void 0){if(!Array.isArray(t))throw new Error(`provider-capabilities.json: ${e} must be an array`);return t.map((n,r)=>et(n,`${e}[${r}]`))}}function gf(t,e){if(t===void 0)return;if(!Se(t))throw new Error(`provider-capabilities.json: ${e} must be an object`);let n={};for(let[r,o]of Object.entries(t))n[r]=et(o,`${e}.${r}`);return n}function yf(t,e){if(t!==void 0){if(typeof t!="string"||!ea.includes(t))throw new Error(`provider-capabilities.json: ${e} must be one of ${ea.join(", ")}, got ${JSON.stringify(t)}`);return t}}function Br(t,e){if(typeof t!="string"||!Bs.includes(t))throw new Error(`provider-capabilities.json: ${e} must be one of ${Bs.join(", ")}, got ${JSON.stringify(t)}`);return t}function wf(t,e){if(typeof t!="string"||!Hs.includes(t))throw new Error(`provider-capabilities.json: ${e} must be one of ${Hs.join(", ")}, got ${JSON.stringify(t)}`);return t}function Pf(t,e){if(t!==void 0){if(typeof t!="string"||!Js.includes(t))throw new Error(`provider-capabilities.json: ${e} must be one of ${Js.join(", ")}, got ${JSON.stringify(t)}`);return t}}function oa(t,e){if(t===void 0)return;if(!Se(t))throw new Error(`provider-capabilities.json: ${e} must be an object`);let n=wf(t.effortStrategy,`${e}.effortStrategy`),r=yf(t.reasoningPreset,`${e}.reasoningPreset`),o=Pf(t.thinkingStrategy,`${e}.thinkingStrategy`),i=Wt(t.defaultEffort,`${e}.defaultEffort`),s=gf(t.effortAliases,`${e}.effortAliases`),c=ra(t.disabledEfforts,`${e}.disabledEfforts`),l=ra(t.localRejectEfforts,`${e}.localRejectEfforts`),u=V(t.allowCustomEffort,`${e}.allowCustomEffort`),f=V(t.supportsReasoningEffort,`${e}.supportsReasoningEffort`),d=V(t.supportsReasoningSummary,`${e}.supportsReasoningSummary`),O=V(t.supportsEncryptedReasoningReplay,`${e}.supportsEncryptedReasoningReplay`),h=V(t.supportsAdaptiveThinking,`${e}.supportsAdaptiveThinking`),w=V(t.supportsManualThinkingBudget,`${e}.supportsManualThinkingBudget`),Q=V(t.supportsDisabledThinking,`${e}.supportsDisabledThinking`),g=V(t.requiresEffortBetaHeader,`${e}.requiresEffortBetaHeader`),y={effortStrategy:n};if(r!==void 0&&(y.reasoningPreset=r),o!==void 0&&(y.thinkingStrategy=o),i!==void 0&&(y.defaultEffort=i),s!==void 0&&(y.effortAliases=s),c!==void 0&&(y.disabledEfforts=c),l!==void 0&&(y.localRejectEfforts=l),t.supportedEfforts!==void 0){if(!Array.isArray(t.supportedEfforts))throw new Error(`provider-capabilities.json: ${e}.supportedEfforts must be an array`);y.supportedEfforts=t.supportedEfforts.map((k,T)=>{if(!Se(k))throw new Error(`provider-capabilities.json: ${e}.supportedEfforts[${T}] must be an object`);return{value:et(k.value,`${e}.supportedEfforts[${T}].value`),...Wt(k.description,`${e}.supportedEfforts[${T}].description`)!==void 0?{description:Wt(k.description,`${e}.supportedEfforts[${T}].description`)}:{},...V(k.isDefault,`${e}.supportedEfforts[${T}].isDefault`)!==void 0?{isDefault:V(k.isDefault,`${e}.supportedEfforts[${T}].isDefault`)}:{},...V(k.isUserVisible,`${e}.supportedEfforts[${T}].isUserVisible`)!==void 0?{isUserVisible:V(k.isUserVisible,`${e}.supportedEfforts[${T}].isUserVisible`)}:{}}})}if(t.budgetByEffort!==void 0){if(!Se(t.budgetByEffort))throw new Error(`provider-capabilities.json: ${e}.budgetByEffort must be an object`);let k={};for(let[T,v]of Object.entries(t.budgetByEffort))k[T]=Ce(v,`${e}.budgetByEffort.${T}`)??0;y.budgetByEffort=k}return u!==void 0&&(y.allowCustomEffort=u),f!==void 0&&(y.supportsReasoningEffort=f),d!==void 0&&(y.supportsReasoningSummary=d),O!==void 0&&(y.supportsEncryptedReasoningReplay=O),h!==void 0&&(y.supportsAdaptiveThinking=h),w!==void 0&&(y.supportsManualThinkingBudget=w),Q!==void 0&&(y.supportsDisabledThinking=Q),g!==void 0&&(y.requiresEffortBetaHeader=g),y}function ia(t,e){let n=t.reasoningProfile,r=t.reasoningCapabilityV2;if(n!==void 0&&r!==void 0)throw new Error(`provider-capabilities.json: ${e} must not define both reasoningProfile and deprecated reasoningCapabilityV2`);return n!==void 0?oa(n,`${e}.reasoningProfile`):oa(r,`${e}.reasoningCapabilityV2`)}function Sf(t,e){if(typeof t!="string"||!ta.includes(t))throw new Error(`provider-capabilities.json: ${e} must be one of ${ta.join(", ")}, got ${JSON.stringify(t)}`);return t}function Qf(t,e){if(typeof t!="string"||!na.includes(t))throw new Error(`provider-capabilities.json: ${e} must be one of ${na.join(", ")}, got ${JSON.stringify(t)}`);return t}function kf(t,e){if(!Se(t))throw new Error(`provider-capabilities.json: ${e} must be an object`);let n=et(t.id,`${e}.id`),r=Wt(t.displayName,`${e}.displayName`),o=Ce(t.contextWindow,`${e}.contextWindow`),i=Ce(t.maxOutputTokens,`${e}.maxOutputTokens`),s=Ce(t.thinkingBudgetCap,`${e}.thinkingBudgetCap`),c=V(t.replayReasoningContent,`${e}.replayReasoningContent`),l=V(t.strictThinkingSignature,`${e}.strictThinkingSignature`),u=Ce(t.streamMaxDurationMs,`${e}.streamMaxDurationMs`),f=t.reasoningCapability===void 0?void 0:Br(t.reasoningCapability,`${e}.reasoningCapability`),d=ia(t,e),O={id:n};return r!==void 0&&(O.displayName=r),o!==void 0&&(O.contextWindow=o),i!==void 0&&(O.maxOutputTokens=i),s!==void 0&&(O.thinkingBudgetCap=s),f!==void 0&&(O.reasoningCapability=f),d!==void 0&&(O.reasoningProfile=d),c!==void 0&&(O.replayReasoningContent=c),l!==void 0&&(O.strictThinkingSignature=l),u!==void 0&&(O.streamMaxDurationMs=u),O}function bf(t,e){if(t===void 0)return;if(!Se(t))throw new Error(`provider-capabilities.json: ${e} must be an object`);let n={};for(let[r,o]of Object.entries(t))n[r]=Br(o,`${e}.${r}`);return n}function xf(t,e){if(!Se(t))throw new Error(`provider-capabilities.json: providers.${e} must be an object`);let n=V(t.cliBridge,`providers.${e}.cliBridge`),r=et(t.apiKeyEnv,`providers.${e}.apiKeyEnv`),o=Br(t.reasoningCapability,`providers.${e}.reasoningCapability`),i=ia(t,`providers.${e}`),s=Sf(t.capabilityProfile,`providers.${e}.capabilityProfile`),c=Qf(t.verifyStrategy,`providers.${e}.verifyStrategy`);if(n&&c!=="unsupported")throw new Error(`provider-capabilities.json: providers.${e} is a cliBridge entry but verifyStrategy="${c}" \u2014 must be "unsupported" (CLI binary owns credentials)`);let l=Ce(t.contextWindow,`providers.${e}.contextWindow`),u=Ce(t.maxOutputTokens,`providers.${e}.maxOutputTokens`),f=Ce(t.thinkingBudgetCap,`providers.${e}.thinkingBudgetCap`),d=V(t.supportsThinking,`providers.${e}.supportsThinking`),O=bf(t.modelReasoningCapabilities,`providers.${e}.modelReasoningCapabilities`),h=Wt(t.model,`providers.${e}.model`);if(n&&(h!==void 0||t.models!==void 0))throw new Error(`provider-capabilities.json: providers.${e} is a cliBridge entry but defines model/models \u2014 must be omitted (filled at load time)`);if(!n&&h===void 0)throw new Error(`provider-capabilities.json: providers.${e}.model is required (only cliBridge entries may omit)`);let w;if(t.models!==void 0){if(!Array.isArray(t.models))throw new Error(`provider-capabilities.json: providers.${e}.models must be an array`);w=t.models.map((g,y)=>kf(g,`providers.${e}.models[${y}]`))}let Q={apiKeyEnv:r,reasoningCapability:o,capabilityProfile:s,verifyStrategy:c};return i!==void 0&&(Q.reasoningProfile=i),h!==void 0&&(Q.model=h),w!==void 0&&(Q.models=w),l!==void 0&&(Q.contextWindow=l),u!==void 0&&(Q.maxOutputTokens=u),f!==void 0&&(Q.thinkingBudgetCap=f),d!==void 0&&(Q.supportsThinking=d),O!==void 0&&(Q.modelReasoningCapabilities=O),n&&(Q.cliBridge=!0),Q}function sa(t){if(!Se(t))throw new Error("provider-capabilities.json: root must be an object");if(t.version!==1)throw new Error(`provider-capabilities.json: version must be 1, got ${JSON.stringify(t.version)}`);let e=et(t.updatedAt,"updatedAt");if(!Se(t.providers))throw new Error("provider-capabilities.json: providers must be an object");let n={};for(let[r,o]of Object.entries(t.providers))n[r]=xf(o,r);return{version:1,updatedAt:e,providers:n}}var Bs,Hs,Js,ea,ta,na,aa=p(()=>{"use strict";Bs=["none","prompt-only","native-effort","native-budget","native-toggle","native-adaptive","unknown"],Hs=["openai-responses-effort","openai-chat-effort","codex-cli-config","anthropic-output-effort","provider-budget","provider-toggle","prompt-only","none"],Js=["anthropic-adaptive","anthropic-budget","provider-budget","provider-toggle","none"],ea=["zai-glm-5.2","zai-glm-toggle","deepseek-v4-openai","deepseek-v4-anthropic","deepseek-toggle","kimi-k2.7-code","kimi-hybrid-toggle","minimax-m3","minimax-m2-always","mimo-v2.5-toggle","qwen-hybrid-thinking","openai-chat-reasoning","openai-responses-reasoning","codex-cli-effort","claude-adaptive-xhigh","claude-adaptive-max","anthropic-budget","generic-thinking-toggle","none"],ta=["native","image-input-native","cli-bridge","image-input-cli-bridge"],na=["count-tokens","models-list","minimal-message","unsupported"];a(Se,"isPlainObject");a(et,"requireString");a(Wt,"optionalString");a(Ce,"optionalNumber");a(V,"optionalBoolean");a(ra,"optionalStringArray");a(gf,"optionalStringMap");a(yf,"optionalReasoningPreset");a(Br,"requireReasoningCapability");a(wf,"requireEffortStrategy");a(Pf,"optionalThinkingStrategy");a(oa,"validateReasoningProfile");a(ia,"validateReasoningProfileField");a(Sf,"requireProfileName");a(Qf,"requireVerifyStrategy");a(kf,"validateModelDescriptor");a(bf,"validateModelReasoningCapabilities");a(xf,"validateProviderEntry");a(sa,"validateProviderCapabilitiesJson")});import{existsSync as Tf,readFileSync as vf}from"node:fs";import ft from"node:path";import{fileURLToPath as Rf}from"node:url";function _f(){if(process.env.KODAX_BUNDLED==="true")return ft.join(ft.dirname(process.execPath),"provider-capabilities.json");let t=ft.dirname(Rf(import.meta.url)),e=[ft.join(t,"provider-capabilities.json"),ft.join(ft.dirname(t),"provider-capabilities.json")];for(let n of e)if(Tf(n))return n;return e[0]}function Xf(t){if(t.models){for(let e of t.models)e.reasoningProfile&&ca(e.reasoningProfile);for(let e of t.models)Object.freeze(e);Object.freeze(t.models)}return t.reasoningProfile&&ca(t.reasoningProfile),t.modelReasoningCapabilities&&Object.freeze(t.modelReasoningCapabilities),Object.freeze(t)}function ca(t){if(t.supportedEfforts){for(let e of t.supportedEfforts)Object.freeze(e);Object.freeze(t.supportedEfforts)}t.budgetByEffort&&Object.freeze(t.budgetByEffort),t.effortAliases&&Object.freeze(t.effortAliases),t.disabledEfforts&&Object.freeze(t.disabledEfforts),t.localRejectEfforts&&Object.freeze(t.localRejectEfforts),Object.freeze(t)}function Ef(t){if(t==="gemini-cli"){let e=ut();return{model:e,models:At().filter(n=>n!==e).map(n=>({id:n}))}}if(t==="codex-cli"){let e=dt();return{model:e,models:It().filter(n=>n!==e).map(n=>({id:n}))}}throw new Error(`provider-capabilities loader: unknown cliBridge provider '${t}'`)}function Cf(t,e){let n=$f[e.capabilityProfile];if(!n)throw new Error(`provider-capabilities loader: unknown capabilityProfile '${e.capabilityProfile}' for provider '${t}'`);if(e.cliBridge){let o=Ef(t),i={model:o.model,models:o.models,apiKeyEnv:e.apiKeyEnv,reasoningCapability:e.reasoningCapability,capabilityProfile:n,verifyStrategy:e.verifyStrategy};return e.reasoningProfile!==void 0&&(i.reasoningProfile=e.reasoningProfile),e.supportsThinking!==void 0&&(i.supportsThinking=e.supportsThinking),i}let r={model:e.model,apiKeyEnv:e.apiKeyEnv,reasoningCapability:e.reasoningCapability,capabilityProfile:n,verifyStrategy:e.verifyStrategy};return e.reasoningProfile!==void 0&&(r.reasoningProfile=e.reasoningProfile),e.models!==void 0&&(r.models=e.models),e.modelReasoningCapabilities!==void 0&&(r.modelReasoningCapabilities=e.modelReasoningCapabilities),e.contextWindow!==void 0&&(r.contextWindow=e.contextWindow),e.maxOutputTokens!==void 0&&(r.maxOutputTokens=e.maxOutputTokens),e.thinkingBudgetCap!==void 0&&(r.thinkingBudgetCap=e.thinkingBudgetCap),e.supportsThinking!==void 0&&(r.supportsThinking=e.supportsThinking),r}function la(){if(bn)return bn;let t=_f(),e;try{let o=vf(t,"utf8");e=JSON.parse(o)}catch(o){let i=o instanceof Error?o.message:String(o);throw new Error(`provider-capabilities loader: failed to read ${t}: ${i}`)}let n=sa(e),r={};for(let[o,i]of Object.entries(n.providers))r[o]=Xf(Cf(o,i));return bn=Object.freeze(r),bn}var $f,bn,da=p(()=>{"use strict";Je();Mt();aa();$f=Object.freeze({native:Xt,"image-input-native":Is,"cli-bridge":mn,"image-input-cli-bridge":As}),bn=null;a(_f,"resolveJsonPath");a(Xf,"deepFreezeSnapshot");a(ca,"freezeReasoningProfile");a(Ef,"resolveCliBridgeModels");a(Cf,"buildSnapshot");a(la,"getProviderSnapshots")});import xk from"@anthropic-ai/sdk";var xn,ua,zt=p(()=>{"use strict";Qn();kn();Ks();Zs();lt();Je();da();xn=la(),ua=process.env.KODAX_PROVIDER??"zhipu-coding"});var to=p(()=>{"use strict";Qn();kn();He()});var Tn=p(()=>{"use strict";to();zt();Je()});var io=p(()=>{"use strict";zt();Tn()});var xa=p(()=>{"use strict";zt();Tn();io()});var so=p(()=>{"use strict";Et();Qn();kn();zt();to();Tn();io();xa();Pn()});var Ra=p(()=>{"use strict";so();He();Ur()});var ao=p(()=>{"use strict"});var co=p(()=>{"use strict";ao()});var $a=p(()=>{"use strict";co()});var vn=p(()=>{"use strict";lt();Fr();Es();Ur();He();Ra();so();Mt();yn();wn();On();ao();co();$a();Vr();Ct()});var _a=p(()=>{"use strict";vn();K()});var lo=p(()=>{"use strict"});var Rn=p(()=>{"use strict"});var uo=p(()=>{"use strict";K();Rn()});var Xa=p(()=>{"use strict"});var fo=p(()=>{"use strict"});var Ea=p(()=>{"use strict";fo()});var Oo=p(()=>{"use strict";fo();Ea()});var pt=p(()=>{"use strict"});var Ca=p(()=>{"use strict";pt()});import{Jimp as Vx}from"jimp";var gp,ho=p(()=>{"use strict";pt();gp=Math.floor(3.75*1024*1024)});var Ia=p(()=>{"use strict";pt();ho()});var wp,Aa=p(()=>{"use strict";wp=1440*60*1e3});var go=p(()=>{"use strict";vn()});var yo=p(()=>{"use strict";pt();go()});var Ma=p(()=>{"use strict";Oo();yo()});var Wa=p(()=>{"use strict";pt();Ca();ho();Ia();Aa();go();yo();Ma()});var za=p(()=>{"use strict"});var qt=p(()=>{"use strict"});var Ua=p(()=>{"use strict";qt();qt();qt()});var Va=p(()=>{"use strict"});var Da=p(()=>{"use strict"});var Na=p(()=>{"use strict"});var Ya=p(()=>{"use strict";za();qt();Ua();Va();Da();Na()});var wo=p(()=>{"use strict";K()});var Po=p(()=>{"use strict";K()});var La=p(()=>{"use strict"});var So=p(()=>{"use strict"});var Ka=p(()=>{"use strict";So();Po();wo()});var Ga=p(()=>{"use strict";Pe()});var Za=p(()=>{"use strict"});var Qo=p(()=>{"use strict";Ga();Za()});var $n=p(()=>{"use strict"});var Ba=p(()=>{"use strict"});var _n=p(()=>{"use strict";K();$n();$n()});var Ja=p(()=>{"use strict"});var ec=p(()=>{"use strict"});var Xn=p(()=>{"use strict";$n();Ba();_n();Ja();ec()});var bo=p(()=>{"use strict"});import{fileURLToPath as Kp}from"url";import{dirname as Gp}from"path";var Zp,eR,xo=p(()=>{"use strict";bo();Zp=Kp(import.meta.url),eR=Gp(Zp)});import oR from"yaml";var oc=p(()=>{"use strict"});var En=p(()=>{"use strict";Pe();oc()});var To=p(()=>{"use strict";xo();En()});var jt=p(()=>{"use strict"});var Ro=p(()=>{"use strict";Pe();To();En();jt()});var ic=p(()=>{"use strict";Ro();jt()});var sc=p(()=>{"use strict";jt()});var $o=p(()=>{"use strict";xo();bo();En();To();jt();Ro();ic();sc()});var Ft=p(()=>{"use strict";K();_n()});var ac=p(()=>{"use strict"});var y$,lc=p(()=>{"use strict";$o();Xn();Ft();ac();y$=1440*60*1e3});var k$,dc=p(()=>{"use strict";Xn();K();k$=5*6e4});var uc=p(()=>{"use strict";lc();dc()});var Co=p(()=>{"use strict"});var Io=p(()=>{"use strict"});var fc,pc,Cn=p(()=>{"use strict";fc=64*1024,pc=256*1024});var Ao=p(()=>{"use strict";Cn();Io()});var gc=p(()=>{"use strict";Ao();Cn();Ft()});var Mo=p(()=>{"use strict";Co();Ft()});var wc=p(()=>{"use strict";K();_n()});var s_,Pc=p(()=>{"use strict";s_=1024*1024});var Qc=p(()=>{"use strict";Mo()});var kc=p(()=>{"use strict";Co();Io();Cn();Ft();Ao();gc();Mo();wc();Pc();Qc()});var Ut=p(()=>{"use strict";K()});var Wo=p(()=>{"use strict";lo();Rn();uo()});var zo=p(()=>{"use strict";Pe();K()});var In=p(()=>{"use strict"});var qo=p(()=>{"use strict";K();zo();In()});var jo=p(()=>{"use strict"});var Fo=p(()=>{"use strict";Ut();Wo();zo();qo();Pe();In();jo()});var Uo=p(()=>{"use strict";Ut();Fo()});var xc=p(()=>{"use strict";Uo()});var bX,Tc=p(()=>{"use strict";Ut();bX=String.raw`const TOOL_NAME = 'echo_tool';
|
|
2
|
+
var gs=Object.defineProperty;var a=(t,e)=>gs(t,"name",{value:e,configurable:!0});var p=(t,e)=>()=>(t&&(e=t(t=0)),e);var ys=(t,e)=>{for(var n in e)gs(t,n,{get:e[n],enumerable:!0})};import gu from"path";function ws(t){return gu.resolve(t?.executionCwd??t?.gitRoot??process.cwd())}var Ps=p(()=>{"use strict";a(ws,"resolveExecutionCwd")});var Ss=p(()=>{"use strict"});import{getEncoding as Qw}from"js-tiktoken";var Rt=p(()=>{"use strict"});var On=p(()=>{"use strict"});import{AsyncLocalStorage as yu}from"node:async_hooks";function mn(t){let e=wu.getStore()?.credential;return e?$t(t,e,new WeakMap):t}function $t(t,e,n){if(typeof t=="string")return t.split(e).join("[REDACTED_CREDENTIAL]");if(t===null||typeof t!="object")return t;let r=n.get(t);if(r!==void 0)return r;if(t instanceof Error){let i=new Error($t(t.message,e,n));return n.set(t,i),i.name=t.name,t.stack!==void 0&&(i.stack=$t(t.stack,e,n)),i}if(Array.isArray(t)){let i=[];n.set(t,i);for(let s of t)i.push($t(s,e,n));return i}let o={};n.set(t,o);for(let[i,s]of Object.entries(Object.getOwnPropertyDescriptors(t))){if(!s.enumerable||!("value"in s))continue;let c=i.split(e).join("[REDACTED_CREDENTIAL]");o[c]=$t(s.value,e,n)}return o}var wu,hn=p(()=>{"use strict";wu=new yu;a(mn,"redactScopedProviderCredential");a($t,"redactCredentialValue")});var dt=p(()=>{"use strict"});var Xr=p(()=>{"use strict"});var Qs=p(()=>{"use strict"});var Cr=p(()=>{"use strict"});var He=p(()=>{"use strict"});var ks=p(()=>{"use strict"});var Ir=p(()=>{"use strict"});import{AsyncLocalStorage as Pu}from"node:async_hooks";var Dw,gn=p(()=>{"use strict";Dw=new Pu});var _t,bs,yn,xs,Je=p(()=>{"use strict";_t={transport:"native-api",conversationSemantics:"full-history",mcpSupport:"none",contextFidelity:"full",toolCallingFidelity:"full",sessionSupport:"full",longRunningSupport:"full",multimodalSupport:"none",evidenceSupport:"full"},bs={..._t,multimodalSupport:"image-input"},yn={transport:"cli-bridge",conversationSemantics:"last-user-message",mcpSupport:"none",contextFidelity:"lossy",toolCallingFidelity:"limited",sessionSupport:"stateless",longRunningSupport:"limited",multimodalSupport:"none",evidenceSupport:"limited"},xs={...yn,multimodalSupport:"image-input"}});var Et=p(()=>{"use strict";dt();ks();hn();Ir();Xr();gn();Je();He()});import{parse as cP}from"partial-json";var Sn=p(()=>{"use strict"});var Qn=p(()=>{"use strict"});var kn=p(()=>{"use strict"});var Xt=p(()=>{"use strict"});var Ar=p(()=>{"use strict"});import QP from"@anthropic-ai/sdk";var xn=p(()=>{"use strict";Et();Sn();Qn();dt();kn();He();Xt();Ar();gn()});import MP from"openai";var Tn=p(()=>{"use strict";Et();dt();Sn();Qn();kn();He();Xt();Ar()});var LP,Wr=p(()=>{"use strict";LP=String.raw`
|
|
3
|
+
using System;
|
|
4
|
+
using System.Runtime.InteropServices;
|
|
5
|
+
using System.Text;
|
|
6
|
+
public static class KodaXNativeProcessSnapshot {
|
|
7
|
+
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
|
|
8
|
+
private struct ProcessEntry32 {
|
|
9
|
+
public uint dwSize;
|
|
10
|
+
public uint cntUsage;
|
|
11
|
+
public uint th32ProcessID;
|
|
12
|
+
public IntPtr th32DefaultHeapID;
|
|
13
|
+
public uint th32ModuleID;
|
|
14
|
+
public uint cntThreads;
|
|
15
|
+
public uint th32ParentProcessID;
|
|
16
|
+
public int pcPriClassBase;
|
|
17
|
+
public uint dwFlags;
|
|
18
|
+
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
|
|
19
|
+
public string szExeFile;
|
|
20
|
+
}
|
|
21
|
+
[DllImport("kernel32.dll", SetLastError = true)]
|
|
22
|
+
private static extern IntPtr CreateToolhelp32Snapshot(uint flags, uint processId);
|
|
23
|
+
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
|
24
|
+
private static extern bool Process32First(IntPtr snapshot, ref ProcessEntry32 entry);
|
|
25
|
+
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
|
26
|
+
private static extern bool Process32Next(IntPtr snapshot, ref ProcessEntry32 entry);
|
|
27
|
+
[DllImport("kernel32.dll")]
|
|
28
|
+
private static extern bool CloseHandle(IntPtr handle);
|
|
29
|
+
public static string ReadRows() {
|
|
30
|
+
var snapshot = CreateToolhelp32Snapshot(2, 0);
|
|
31
|
+
if (snapshot == new IntPtr(-1)) return string.Empty;
|
|
32
|
+
var rows = new StringBuilder();
|
|
33
|
+
var entry = new ProcessEntry32();
|
|
34
|
+
entry.dwSize = (uint)Marshal.SizeOf(entry);
|
|
35
|
+
try {
|
|
36
|
+
if (!Process32First(snapshot, ref entry)) return string.Empty;
|
|
37
|
+
do {
|
|
38
|
+
rows.Append(entry.th32ProcessID).Append(',').Append(entry.th32ParentProcessID).Append('\n');
|
|
39
|
+
entry.dwSize = (uint)Marshal.SizeOf(entry);
|
|
40
|
+
} while (Process32Next(snapshot, ref entry));
|
|
41
|
+
return rows.ToString();
|
|
42
|
+
} finally {
|
|
43
|
+
CloseHandle(snapshot);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}`});import{ClientSideConnection as BP,PROTOCOL_VERSION as HP,ndJsonStream as JP}from"@agentclientprotocol/sdk";var Xs=p(()=>{"use strict";Wr()});var zr=p(()=>{"use strict";Et();Xs();Je();Xt()});var qr=p(()=>{"use strict";Wr()});var jr=p(()=>{"use strict"});var Cs=p(()=>{"use strict";qr();jr()});var Fr=p(()=>{"use strict"});import Is from"node:fs";import As from"node:os";import Ms from"node:path";function Ws(t){let e=new Set,n=[];for(let r of t){let o=r.trim();if(!o)continue;let i=o.toLowerCase();e.has(i)||(e.add(i),n.push(o))}return n}function Du(){let t=Ms.join(As.homedir(),".codex","config.toml");try{return Is.readFileSync(t,"utf8").match(/^\s*model\s*=\s*"([^"]+)"/m)?.[1]?.trim()||null}catch{return null}}function Nu(){let t=Ms.join(As.homedir(),".gemini","settings.json");try{let e=JSON.parse(Is.readFileSync(t,"utf8")),n=typeof e.model=="string"?e.model.trim():"";return n||(typeof e.general?.model=="string"?e.general.model.trim():"")||null}catch{return null}}function lt(){return Du()||ju}function ut(){return Nu()||Fu}function Ct(){return Ws([lt(),...Uu])}function It(){return Ws([ut(),...Vu])}var ju,Fu,Uu,Vu,At=p(()=>{"use strict";ju="gpt-5.4",Fu="auto-gemini-3",Uu=["gpt-5.4","gpt-5.3-codex","gpt-5.3-codex-spark"],Vu=["auto-gemini-3","gemini-3.1-pro-preview","gemini-3-flash-preview","gemini-2.5-pro","gemini-2.5-flash"];a(Ws,"dedupePreserveOrder");a(Du,"readCodexConfiguredModel");a(Nu,"readGeminiConfiguredModel");a(lt,"getCodexCliDefaultModel");a(ut,"getGeminiCliDefaultModel");a(Ct,"getCodexCliKnownModels");a(It,"getGeminiCliKnownModels")});var CS,IS,zs=p(()=>{"use strict";zr();Cs();Fr();At();Je();CS=ut(),IS=It()});var qs=p(()=>{"use strict";qr();jr()});var YS,LS,js=p(()=>{"use strict";zr();qs();Fr();At();YS=lt(),LS=Ct()});function Se(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function et(t,e){if(typeof t!="string"||t.length===0)throw new Error(`provider-capabilities.json: ${e} must be a non-empty string`);return t}function Mt(t,e){if(t!==void 0)return et(t,e)}function Ce(t,e){if(t!==void 0){if(typeof t!="number"||!Number.isFinite(t)||t<0)throw new Error(`provider-capabilities.json: ${e} must be a non-negative finite number`);return t}}function V(t,e){if(t!==void 0){if(typeof t!="boolean")throw new Error(`provider-capabilities.json: ${e} must be a boolean`);return t}}function Ls(t,e){if(t!==void 0){if(!Array.isArray(t))throw new Error(`provider-capabilities.json: ${e} must be an array`);return t.map((n,r)=>et(n,`${e}[${r}]`))}}function Ku(t,e){if(t===void 0)return;if(!Se(t))throw new Error(`provider-capabilities.json: ${e} must be an object`);let n={};for(let[r,o]of Object.entries(t))n[r]=et(o,`${e}.${r}`);return n}function Gu(t,e){if(t!==void 0){if(typeof t!="string"||!Ds.includes(t))throw new Error(`provider-capabilities.json: ${e} must be one of ${Ds.join(", ")}, got ${JSON.stringify(t)}`);return t}}function Ur(t,e){if(typeof t!="string"||!Fs.includes(t))throw new Error(`provider-capabilities.json: ${e} must be one of ${Fs.join(", ")}, got ${JSON.stringify(t)}`);return t}function Zu(t,e){if(typeof t!="string"||!Us.includes(t))throw new Error(`provider-capabilities.json: ${e} must be one of ${Us.join(", ")}, got ${JSON.stringify(t)}`);return t}function Bu(t,e){if(t!==void 0){if(typeof t!="string"||!Vs.includes(t))throw new Error(`provider-capabilities.json: ${e} must be one of ${Vs.join(", ")}, got ${JSON.stringify(t)}`);return t}}function Ks(t,e){if(t===void 0)return;if(!Se(t))throw new Error(`provider-capabilities.json: ${e} must be an object`);let n=Zu(t.effortStrategy,`${e}.effortStrategy`),r=Gu(t.reasoningPreset,`${e}.reasoningPreset`),o=Bu(t.thinkingStrategy,`${e}.thinkingStrategy`),i=Mt(t.defaultEffort,`${e}.defaultEffort`),s=Ku(t.effortAliases,`${e}.effortAliases`),c=Ls(t.disabledEfforts,`${e}.disabledEfforts`),d=Ls(t.localRejectEfforts,`${e}.localRejectEfforts`),u=V(t.allowCustomEffort,`${e}.allowCustomEffort`),f=V(t.supportsReasoningEffort,`${e}.supportsReasoningEffort`),l=V(t.supportsReasoningSummary,`${e}.supportsReasoningSummary`),O=V(t.supportsEncryptedReasoningReplay,`${e}.supportsEncryptedReasoningReplay`),h=V(t.supportsAdaptiveThinking,`${e}.supportsAdaptiveThinking`),w=V(t.supportsManualThinkingBudget,`${e}.supportsManualThinkingBudget`),Q=V(t.supportsDisabledThinking,`${e}.supportsDisabledThinking`),g=V(t.requiresEffortBetaHeader,`${e}.requiresEffortBetaHeader`),y={effortStrategy:n};if(r!==void 0&&(y.reasoningPreset=r),o!==void 0&&(y.thinkingStrategy=o),i!==void 0&&(y.defaultEffort=i),s!==void 0&&(y.effortAliases=s),c!==void 0&&(y.disabledEfforts=c),d!==void 0&&(y.localRejectEfforts=d),t.supportedEfforts!==void 0){if(!Array.isArray(t.supportedEfforts))throw new Error(`provider-capabilities.json: ${e}.supportedEfforts must be an array`);y.supportedEfforts=t.supportedEfforts.map((k,T)=>{if(!Se(k))throw new Error(`provider-capabilities.json: ${e}.supportedEfforts[${T}] must be an object`);return{value:et(k.value,`${e}.supportedEfforts[${T}].value`),...Mt(k.description,`${e}.supportedEfforts[${T}].description`)!==void 0?{description:Mt(k.description,`${e}.supportedEfforts[${T}].description`)}:{},...V(k.isDefault,`${e}.supportedEfforts[${T}].isDefault`)!==void 0?{isDefault:V(k.isDefault,`${e}.supportedEfforts[${T}].isDefault`)}:{},...V(k.isUserVisible,`${e}.supportedEfforts[${T}].isUserVisible`)!==void 0?{isUserVisible:V(k.isUserVisible,`${e}.supportedEfforts[${T}].isUserVisible`)}:{}}})}if(t.budgetByEffort!==void 0){if(!Se(t.budgetByEffort))throw new Error(`provider-capabilities.json: ${e}.budgetByEffort must be an object`);let k={};for(let[T,v]of Object.entries(t.budgetByEffort))k[T]=Ce(v,`${e}.budgetByEffort.${T}`)??0;y.budgetByEffort=k}return u!==void 0&&(y.allowCustomEffort=u),f!==void 0&&(y.supportsReasoningEffort=f),l!==void 0&&(y.supportsReasoningSummary=l),O!==void 0&&(y.supportsEncryptedReasoningReplay=O),h!==void 0&&(y.supportsAdaptiveThinking=h),w!==void 0&&(y.supportsManualThinkingBudget=w),Q!==void 0&&(y.supportsDisabledThinking=Q),g!==void 0&&(y.requiresEffortBetaHeader=g),y}function Gs(t,e){let n=t.reasoningProfile,r=t.reasoningCapabilityV2;if(n!==void 0&&r!==void 0)throw new Error(`provider-capabilities.json: ${e} must not define both reasoningProfile and deprecated reasoningCapabilityV2`);return n!==void 0?Ks(n,`${e}.reasoningProfile`):Ks(r,`${e}.reasoningCapabilityV2`)}function Hu(t,e){if(typeof t!="string"||!Ns.includes(t))throw new Error(`provider-capabilities.json: ${e} must be one of ${Ns.join(", ")}, got ${JSON.stringify(t)}`);return t}function Ju(t,e){if(typeof t!="string"||!Ys.includes(t))throw new Error(`provider-capabilities.json: ${e} must be one of ${Ys.join(", ")}, got ${JSON.stringify(t)}`);return t}function ef(t,e){if(!Se(t))throw new Error(`provider-capabilities.json: ${e} must be an object`);let n=et(t.id,`${e}.id`),r=Mt(t.displayName,`${e}.displayName`),o=Ce(t.contextWindow,`${e}.contextWindow`),i=Ce(t.maxOutputTokens,`${e}.maxOutputTokens`),s=Ce(t.thinkingBudgetCap,`${e}.thinkingBudgetCap`),c=V(t.replayReasoningContent,`${e}.replayReasoningContent`),d=V(t.strictThinkingSignature,`${e}.strictThinkingSignature`),u=Ce(t.streamMaxDurationMs,`${e}.streamMaxDurationMs`),f=t.reasoningCapability===void 0?void 0:Ur(t.reasoningCapability,`${e}.reasoningCapability`),l=Gs(t,e),O={id:n};return r!==void 0&&(O.displayName=r),o!==void 0&&(O.contextWindow=o),i!==void 0&&(O.maxOutputTokens=i),s!==void 0&&(O.thinkingBudgetCap=s),f!==void 0&&(O.reasoningCapability=f),l!==void 0&&(O.reasoningProfile=l),c!==void 0&&(O.replayReasoningContent=c),d!==void 0&&(O.strictThinkingSignature=d),u!==void 0&&(O.streamMaxDurationMs=u),O}function tf(t,e){if(t===void 0)return;if(!Se(t))throw new Error(`provider-capabilities.json: ${e} must be an object`);let n={};for(let[r,o]of Object.entries(t))n[r]=Ur(o,`${e}.${r}`);return n}function nf(t,e){if(!Se(t))throw new Error(`provider-capabilities.json: providers.${e} must be an object`);let n=V(t.cliBridge,`providers.${e}.cliBridge`),r=et(t.apiKeyEnv,`providers.${e}.apiKeyEnv`),o=Ur(t.reasoningCapability,`providers.${e}.reasoningCapability`),i=Gs(t,`providers.${e}`),s=Hu(t.capabilityProfile,`providers.${e}.capabilityProfile`),c=Ju(t.verifyStrategy,`providers.${e}.verifyStrategy`);if(n&&c!=="unsupported")throw new Error(`provider-capabilities.json: providers.${e} is a cliBridge entry but verifyStrategy="${c}" \u2014 must be "unsupported" (CLI binary owns credentials)`);let d=Ce(t.contextWindow,`providers.${e}.contextWindow`),u=Ce(t.maxOutputTokens,`providers.${e}.maxOutputTokens`),f=Ce(t.thinkingBudgetCap,`providers.${e}.thinkingBudgetCap`),l=V(t.supportsThinking,`providers.${e}.supportsThinking`),O=tf(t.modelReasoningCapabilities,`providers.${e}.modelReasoningCapabilities`),h=Mt(t.model,`providers.${e}.model`);if(n&&(h!==void 0||t.models!==void 0))throw new Error(`provider-capabilities.json: providers.${e} is a cliBridge entry but defines model/models \u2014 must be omitted (filled at load time)`);if(!n&&h===void 0)throw new Error(`provider-capabilities.json: providers.${e}.model is required (only cliBridge entries may omit)`);let w;if(t.models!==void 0){if(!Array.isArray(t.models))throw new Error(`provider-capabilities.json: providers.${e}.models must be an array`);w=t.models.map((g,y)=>ef(g,`providers.${e}.models[${y}]`))}let Q={apiKeyEnv:r,reasoningCapability:o,capabilityProfile:s,verifyStrategy:c};return i!==void 0&&(Q.reasoningProfile=i),h!==void 0&&(Q.model=h),w!==void 0&&(Q.models=w),d!==void 0&&(Q.contextWindow=d),u!==void 0&&(Q.maxOutputTokens=u),f!==void 0&&(Q.thinkingBudgetCap=f),l!==void 0&&(Q.supportsThinking=l),O!==void 0&&(Q.modelReasoningCapabilities=O),n&&(Q.cliBridge=!0),Q}function Zs(t){if(!Se(t))throw new Error("provider-capabilities.json: root must be an object");if(t.version!==1)throw new Error(`provider-capabilities.json: version must be 1, got ${JSON.stringify(t.version)}`);let e=et(t.updatedAt,"updatedAt");if(!Se(t.providers))throw new Error("provider-capabilities.json: providers must be an object");let n={};for(let[r,o]of Object.entries(t.providers))n[r]=nf(o,r);return{version:1,updatedAt:e,providers:n}}var Fs,Us,Vs,Ds,Ns,Ys,Bs=p(()=>{"use strict";Fs=["none","prompt-only","native-effort","native-budget","native-toggle","native-adaptive","unknown"],Us=["openai-responses-effort","openai-chat-effort","codex-cli-config","anthropic-output-effort","provider-budget","provider-toggle","prompt-only","none"],Vs=["anthropic-adaptive","anthropic-budget","provider-budget","provider-toggle","none"],Ds=["zai-glm-5.2","zai-glm-toggle","deepseek-v4-openai","deepseek-v4-anthropic","deepseek-toggle","kimi-k2.7-code","kimi-hybrid-toggle","minimax-m3","minimax-m2-always","mimo-v2.5-toggle","qwen-hybrid-thinking","openai-chat-reasoning","openai-responses-reasoning","codex-cli-effort","claude-adaptive-xhigh","claude-adaptive-max","anthropic-budget","generic-thinking-toggle","none"],Ns=["native","image-input-native","cli-bridge","image-input-cli-bridge"],Ys=["count-tokens","models-list","minimal-message","unsupported"];a(Se,"isPlainObject");a(et,"requireString");a(Mt,"optionalString");a(Ce,"optionalNumber");a(V,"optionalBoolean");a(Ls,"optionalStringArray");a(Ku,"optionalStringMap");a(Gu,"optionalReasoningPreset");a(Ur,"requireReasoningCapability");a(Zu,"requireEffortStrategy");a(Bu,"optionalThinkingStrategy");a(Ks,"validateReasoningProfile");a(Gs,"validateReasoningProfileField");a(Hu,"requireProfileName");a(Ju,"requireVerifyStrategy");a(ef,"validateModelDescriptor");a(tf,"validateModelReasoningCapabilities");a(nf,"validateProviderEntry");a(Zs,"validateProviderCapabilitiesJson")});import{existsSync as rf,readFileSync as of}from"node:fs";import ft from"node:path";import{fileURLToPath as sf}from"node:url";function cf(){if(process.env.KODAX_BUNDLED==="true")return ft.join(ft.dirname(process.execPath),"provider-capabilities.json");let t=ft.dirname(sf(import.meta.url)),e=[ft.join(t,"provider-capabilities.json"),ft.join(ft.dirname(t),"provider-capabilities.json")];for(let n of e)if(rf(n))return n;return e[0]}function df(t){if(t.models){for(let e of t.models)e.reasoningProfile&&Hs(e.reasoningProfile);for(let e of t.models)Object.freeze(e);Object.freeze(t.models)}return t.reasoningProfile&&Hs(t.reasoningProfile),t.modelReasoningCapabilities&&Object.freeze(t.modelReasoningCapabilities),Object.freeze(t)}function Hs(t){if(t.supportedEfforts){for(let e of t.supportedEfforts)Object.freeze(e);Object.freeze(t.supportedEfforts)}t.budgetByEffort&&Object.freeze(t.budgetByEffort),t.effortAliases&&Object.freeze(t.effortAliases),t.disabledEfforts&&Object.freeze(t.disabledEfforts),t.localRejectEfforts&&Object.freeze(t.localRejectEfforts),Object.freeze(t)}function lf(t){if(t==="gemini-cli"){let e=ut();return{model:e,models:It().filter(n=>n!==e).map(n=>({id:n}))}}if(t==="codex-cli"){let e=lt();return{model:e,models:Ct().filter(n=>n!==e).map(n=>({id:n}))}}throw new Error(`provider-capabilities loader: unknown cliBridge provider '${t}'`)}function uf(t,e){let n=af[e.capabilityProfile];if(!n)throw new Error(`provider-capabilities loader: unknown capabilityProfile '${e.capabilityProfile}' for provider '${t}'`);if(e.cliBridge){let o=lf(t),i={model:o.model,models:o.models,apiKeyEnv:e.apiKeyEnv,reasoningCapability:e.reasoningCapability,capabilityProfile:n,verifyStrategy:e.verifyStrategy};return e.reasoningProfile!==void 0&&(i.reasoningProfile=e.reasoningProfile),e.supportsThinking!==void 0&&(i.supportsThinking=e.supportsThinking),i}let r={model:e.model,apiKeyEnv:e.apiKeyEnv,reasoningCapability:e.reasoningCapability,capabilityProfile:n,verifyStrategy:e.verifyStrategy};return e.reasoningProfile!==void 0&&(r.reasoningProfile=e.reasoningProfile),e.models!==void 0&&(r.models=e.models),e.modelReasoningCapabilities!==void 0&&(r.modelReasoningCapabilities=e.modelReasoningCapabilities),e.contextWindow!==void 0&&(r.contextWindow=e.contextWindow),e.maxOutputTokens!==void 0&&(r.maxOutputTokens=e.maxOutputTokens),e.thinkingBudgetCap!==void 0&&(r.thinkingBudgetCap=e.thinkingBudgetCap),e.supportsThinking!==void 0&&(r.supportsThinking=e.supportsThinking),r}function Js(){if(vn)return vn;let t=cf(),e;try{let o=of(t,"utf8");e=JSON.parse(o)}catch(o){let i=o instanceof Error?o.message:String(o);throw new Error(`provider-capabilities loader: failed to read ${t}: ${i}`)}let n=Zs(e),r={};for(let[o,i]of Object.entries(n.providers))r[o]=df(uf(o,i));return vn=Object.freeze(r),vn}var af,vn,ea=p(()=>{"use strict";Je();At();Bs();af=Object.freeze({native:_t,"image-input-native":bs,"cli-bridge":yn,"image-input-cli-bridge":xs}),vn=null;a(cf,"resolveJsonPath");a(df,"deepFreezeSnapshot");a(Hs,"freezeReasoningProfile");a(lf,"resolveCliBridgeModels");a(uf,"buildSnapshot");a(Js,"getProviderSnapshots")});import gQ from"@anthropic-ai/sdk";var Rn,ta,Wt=p(()=>{"use strict";xn();Tn();zs();js();dt();hn();Je();ea();Rn=Js(),ta=process.env.KODAX_PROVIDER??"zhipu-coding"});var Yr=p(()=>{"use strict";xn();Tn();He()});var $n=p(()=>{"use strict";Yr();Wt();Je()});var Zr=p(()=>{"use strict";Wt();$n()});var ma=p(()=>{"use strict";Wt();$n();Zr()});var Br=p(()=>{"use strict";Et();xn();Tn();Wt();Yr();$n();Zr();ma();kn()});var ya=p(()=>{"use strict";Br();He();Cr()});var Hr=p(()=>{"use strict"});var Jr=p(()=>{"use strict";Hr()});var wa=p(()=>{"use strict";Jr()});var zt=p(()=>{"use strict";hn();dt();Xr();Qs();Cr();He();ya();Br();At();Sn();Qn();gn();Hr();Jr();wa();Ir();Xt()});function ie(t){let e=mn(t),n=Ff.at(-1)?.sink;if(n){try{n(e)}catch{}return}if(process.env.KODAX_DIAGNOSTICS_STDERR==="1")try{process.stderr.write(`${Pa(e)}
|
|
47
|
+
`)}catch{}}function Pa(t){let e=mn(t),n=Uf(e.detail);return`[${e.source}] ${e.level}: ${e.message}${n?` ${n}`:""}`}function Uf(t){if(t===void 0)return"";if(t instanceof Error)return t.stack??t.message;if(typeof t=="string")return t;try{return JSON.stringify(t)}catch{return String(t)}}var Ff,pe=p(()=>{"use strict";zt();Ff=[];a(ie,"emitKodaXDiagnostic");a(Pa,"formatKodaXDiagnostic");a(Uf,"formatDiagnosticDetail")});var Sa=p(()=>{"use strict"});var Qa=p(()=>{"use strict"});var ka=p(()=>{"use strict"});function Vf(){ba+=1;let t=Math.random().toString(36).slice(2,8);return`span-${Date.now()}-${ba}-${t}`}var qt,ba,eo=p(()=>{"use strict";qt=class t{static{a(this,"SpanImpl")}id;traceId;parentId;name;data;startedAt;_endedAt;_error;_children=[];now;nextSpanId;onChildCreated;onSpanEnd;_ended=!1;constructor(e){this.id=e.id,this.traceId=e.traceId,this.parentId=e.parentId,this.name=e.name,this.data=e.data,this.now=e.now??(()=>Date.now()),this.startedAt=e.startedAt??this.now(),this.nextSpanId=e.nextSpanId??Vf,this.onChildCreated=e.onChildCreated,this.onSpanEnd=e.onSpanEnd}get endedAt(){return this._endedAt}get error(){return this._error}get children(){return this._children}addChild(e,n){let r=new t({id:this.nextSpanId(),traceId:this.traceId,parentId:this.id,name:e,data:n,now:this.now,nextSpanId:this.nextSpanId,onChildCreated:this.onChildCreated,onSpanEnd:this.onSpanEnd});return this._children.push(r),this.onChildCreated&&this.onChildCreated(r),r}setError(e){e instanceof Error?this._error={message:e.message,stack:e.stack}:this._error=e}end(){this._ended||(this._ended=!0,this._endedAt=this.now(),this.onSpanEnd&&this.onSpanEnd(this))}},ba=0;a(Vf,"defaultNextSpanId")});function Df(){xa+=1;let t=Math.random().toString(36).slice(2,8);return`trace-${Date.now()}-${xa}-${t}`}function to(t={}){let e=t.now??(()=>Date.now()),n=t.id??(t.nextTraceId??Df)(),r=e(),o=t.name??"trace",i=t.metadata??new Map,s=t.rootSpanData??{kind:"agent",agentName:o},c=!1,d,u,f=new qt({id:`${n}-root`,traceId:n,name:o,data:s,startedAt:r,now:e,nextSpanId:t.nextSpanId,onChildCreated:t.onSpanStart,onSpanEnd:t.onSpanEnd});t.onSpanStart&&t.onSpanStart(f);let l={id:n,startedAt:r,rootSpan:f,metadata:i,get endedAt(){return d},get error(){return u??f.error},end(){c||(c=!0,d=e(),f.end(),t.onTraceEnd&&t.onTraceEnd(l))}};return l}var xa,no=p(()=>{"use strict";eo();xa=0;a(Df,"defaultNextTraceId");a(to,"createTrace")});function oo(t){for(let e of ro)try{e.onSpanStart(t)}catch{}}function io(t){for(let e of ro)try{e.onSpanEnd(t)}catch{}}function so(t){for(let e of ro)try{e.onTraceEnd(t)}catch{}}var ro,ao=p(()=>{"use strict";ro=[];a(oo,"_emitSpanStart");a(io,"_emitSpanEnd");a(so,"_emitTraceEnd")});var _n,Ta,va=p(()=>{"use strict";no();ao();_n=class{static{a(this,"Tracer")}options;constructor(e={}){this.options=e}startTrace(e={}){return to({id:e.id,name:e.name,rootSpanData:e.rootSpanData,metadata:e.metadata,now:this.options.now,nextSpanId:this.options.nextSpanId,nextTraceId:this.options.nextTraceId,onSpanStart:oo,onSpanEnd:io,onTraceEnd:so})}},Ta=new _n});var Ra=p(()=>{"use strict"});var $a=p(()=>{"use strict"});var co=p(()=>{"use strict";eo();no();va();ao();Ra();$a()});var jt=p(()=>{"use strict"});var En=p(()=>{"use strict"});var Zf,rx,lo=p(()=>{"use strict";pe();jt();En();Zf=["read","edit","bash:test","bash:read-only","bash:mutating","bash:network","subagent"],rx=new Set(Zf)});var uo=p(()=>{"use strict";jt();En()});var fo=p(()=>{"use strict"});var po=p(()=>{"use strict"});var Oo=p(()=>{"use strict"});var mo=p(()=>{"use strict";co();lo();uo();fo();po();Oo();On()});var Xa=p(()=>{"use strict"});var Ca=p(()=>{"use strict"});var Ia=p(()=>{"use strict"});var Aa=p(()=>{"use strict";jt();Xa();Ca();Ia()});var K=p(()=>{"use strict"});var Ma=p(()=>{"use strict";zt();K()});var ho=p(()=>{"use strict"});var Lx,Xn=p(()=>{"use strict";Lx=String.raw`
|
|
48
|
+
using System;
|
|
49
|
+
using System.Runtime.InteropServices;
|
|
50
|
+
using System.Text;
|
|
51
|
+
public static class KodaXNativeProcessSnapshot {
|
|
52
|
+
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
|
|
53
|
+
private struct ProcessEntry32 {
|
|
54
|
+
public uint dwSize;
|
|
55
|
+
public uint cntUsage;
|
|
56
|
+
public uint th32ProcessID;
|
|
57
|
+
public IntPtr th32DefaultHeapID;
|
|
58
|
+
public uint th32ModuleID;
|
|
59
|
+
public uint cntThreads;
|
|
60
|
+
public uint th32ParentProcessID;
|
|
61
|
+
public int pcPriClassBase;
|
|
62
|
+
public uint dwFlags;
|
|
63
|
+
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
|
|
64
|
+
public string szExeFile;
|
|
65
|
+
}
|
|
66
|
+
[DllImport("kernel32.dll", SetLastError = true)]
|
|
67
|
+
private static extern IntPtr CreateToolhelp32Snapshot(uint flags, uint processId);
|
|
68
|
+
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
|
69
|
+
private static extern bool Process32First(IntPtr snapshot, ref ProcessEntry32 entry);
|
|
70
|
+
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
|
71
|
+
private static extern bool Process32Next(IntPtr snapshot, ref ProcessEntry32 entry);
|
|
72
|
+
[DllImport("kernel32.dll")]
|
|
73
|
+
private static extern bool CloseHandle(IntPtr handle);
|
|
74
|
+
public static string ReadRows() {
|
|
75
|
+
var snapshot = CreateToolhelp32Snapshot(2, 0);
|
|
76
|
+
if (snapshot == new IntPtr(-1)) return string.Empty;
|
|
77
|
+
var rows = new StringBuilder();
|
|
78
|
+
var entry = new ProcessEntry32();
|
|
79
|
+
entry.dwSize = (uint)Marshal.SizeOf(entry);
|
|
80
|
+
try {
|
|
81
|
+
if (!Process32First(snapshot, ref entry)) return string.Empty;
|
|
82
|
+
do {
|
|
83
|
+
rows.Append(entry.th32ProcessID).Append(',').Append(entry.th32ParentProcessID).Append('\n');
|
|
84
|
+
entry.dwSize = (uint)Marshal.SizeOf(entry);
|
|
85
|
+
} while (Process32Next(snapshot, ref entry));
|
|
86
|
+
return rows.ToString();
|
|
87
|
+
} finally {
|
|
88
|
+
CloseHandle(snapshot);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}`});var go=p(()=>{"use strict";K();Xn()});var Wa=p(()=>{"use strict"});var yo=p(()=>{"use strict"});var za=p(()=>{"use strict";yo()});var Po=p(()=>{"use strict";yo();za()});var pt=p(()=>{"use strict"});var qa=p(()=>{"use strict";pt()});import{Jimp as hT}from"jimp";var xp,Qo=p(()=>{"use strict";pt();xp=Math.floor(3.75*1024*1024)});var ja=p(()=>{"use strict";pt();Qo()});var vp,Fa=p(()=>{"use strict";vp=1440*60*1e3});var ko=p(()=>{"use strict";zt()});var bo=p(()=>{"use strict";pt();ko()});var Ua=p(()=>{"use strict";Po();bo()});var Va=p(()=>{"use strict";pt();qa();Qo();ja();Fa();ko();bo();Ua()});var Da=p(()=>{"use strict"});var Ft=p(()=>{"use strict"});var Ka=p(()=>{"use strict";mo();Ft();Ft();Ft()});var Ga=p(()=>{"use strict"});var Za=p(()=>{"use strict"});var Ba=p(()=>{"use strict"});var Ha=p(()=>{"use strict";Da();Ft();Ka();Ga();Za();Ba()});var xo=p(()=>{"use strict";K()});var To=p(()=>{"use strict";K()});var Ja=p(()=>{"use strict"});var vo=p(()=>{"use strict"});var ec=p(()=>{"use strict";vo();To();xo()});var tc=p(()=>{"use strict";pe()});var nc=p(()=>{"use strict"});var Ro=p(()=>{"use strict";tc();nc()});var Cn=p(()=>{"use strict"});var rc=p(()=>{"use strict"});var In=p(()=>{"use strict";K();Cn();Cn()});var ic=p(()=>{"use strict"});var sc=p(()=>{"use strict"});var An=p(()=>{"use strict";Cn();rc();In();ic();sc()});var _o=p(()=>{"use strict"});import{fileURLToPath as rO}from"url";import{dirname as oO}from"path";var iO,RR,Eo=p(()=>{"use strict";_o();iO=rO(import.meta.url),RR=oO(iO)});import XR from"yaml";var lc=p(()=>{"use strict"});var Mn=p(()=>{"use strict";pe();lc()});var Xo=p(()=>{"use strict";Eo();Mn()});var Ut=p(()=>{"use strict"});var Io=p(()=>{"use strict";pe();Xo();Mn();Ut()});var uc=p(()=>{"use strict";Io();Ut()});var fc=p(()=>{"use strict";Ut()});var Ao=p(()=>{"use strict";Eo();_o();Mn();Xo();Ut();Io();uc();fc()});var Vt=p(()=>{"use strict";K();In()});var pc=p(()=>{"use strict"});var Y$,mc=p(()=>{"use strict";Ao();An();Vt();pc();Y$=1440*60*1e3});var H$,hc=p(()=>{"use strict";An();pe();K();H$=5*6e4});var gc=p(()=>{"use strict";mc();hc()});var qo=p(()=>{"use strict"});var jo=p(()=>{"use strict"});var yc,wc,Wn=p(()=>{"use strict";yc=64*1024,wc=256*1024});var Fo=p(()=>{"use strict";Wn();jo()});var kc=p(()=>{"use strict";Fo();Wn();Vt()});var Uo=p(()=>{"use strict";qo();Vt()});var xc=p(()=>{"use strict";K();In()});var A_,Tc=p(()=>{"use strict";A_=1024*1024});var Rc=p(()=>{"use strict";Uo()});var $c=p(()=>{"use strict";qo();jo();Wn();Vt();Fo();kc();Uo();xc();Tc();Rc()});var Dt=p(()=>{"use strict";K()});var Vo=p(()=>{"use strict";ho();Xn();go()});var Do=p(()=>{"use strict";pe();K()});var zn=p(()=>{"use strict"});var No=p(()=>{"use strict";K();Do();zn()});var Yo=p(()=>{"use strict"});var Lo=p(()=>{"use strict";Dt();Vo();Do();No();pe();zn();Yo()});var Ko=p(()=>{"use strict";Dt();Lo()});var Ec=p(()=>{"use strict";Ko()});var JE,Xc=p(()=>{"use strict";Dt();JE=String.raw`const TOOL_NAME = 'echo_tool';
|
|
4
92
|
const RESOURCE_URI = 'memory://guide';
|
|
5
93
|
const PROMPT_NAME = 'draft_prompt';
|
|
6
94
|
let buffer = '';
|
|
@@ -180,13 +268,13 @@ process.stdin.on('data', (chunk) => {
|
|
|
180
268
|
|
|
181
269
|
process.on('SIGTERM', () => process.exit(0));
|
|
182
270
|
process.on('SIGINT', () => process.exit(0));
|
|
183
|
-
`});var
|
|
184
|
-
`,"utf8"),await um(r,t)}catch(o){throw await Ie.rm(r,{force:!0}).catch(()=>{}),o}await fm(n,ri.basename(t)).catch(()=>{})}async function fm(t,e){let n=`${e}.`,r=Date.now(),o=await Ie.readdir(t);await Promise.all(o.filter(i=>i.startsWith(n)&&cm.test(i.slice(n.length))).map(async i=>{let s=ri.join(t,i);try{let c=await Ie.stat(s);r-c.mtimeMs>=am&&await Ie.rm(s,{force:!0})}catch{}}))}var sm,am,cm,ni,dm,Wn=p(()=>{"use strict";Jc();sm=new im;a(G,"safeReadJson");a(ie,"debugLogRepoIntelligence");a(Vt,"resolveRepoIntelligenceStorageDir");am=3600*1e3,cm=/^\d+\.\d+(?:\.\d+)?\.tmp$/,ni=0;a(lm,"nextAtomicTempPath");dm=new Set(["EPERM","EBUSY","EACCES"]);a(um,"renameWithRetry");a(Qe,"writeJsonFileAtomic");a(fm,"sweepStaleTempFiles")});import Ae from"fs/promises";import C from"path";import{createHash as ii}from"node:crypto";import{execFile as pm}from"child_process";import{promisify as Om}from"util";function tt(t){return typeof t=="object"&&t!==null}function vm(t){return tt(t)&&typeof t.id=="string"&&typeof t.label=="string"&&typeof t.kind=="string"&&typeof t.root=="string"&&typeof t.fileCount=="number"&&Array.isArray(t.manifests)&&Array.isArray(t.sampleFiles)}function Rm(t){return tt(t)&&typeof t.schemaVersion=="number"&&typeof t.workspaceRoot=="string"&&(t.source==="git"||t.source==="filesystem")&&typeof t.generatedAt=="string"&&typeof t.truncated=="boolean"&&tt(t.fileStats)&&typeof t.fileStats.totalFiles=="number"&&typeof t.fileStats.sourceFiles=="number"&&typeof t.fileStats.docFiles=="number"&&typeof t.fileStats.testFiles=="number"&&typeof t.fileStats.configFiles=="number"&&Array.isArray(t.manifests)&&Array.isArray(t.keyDocs)&&Array.isArray(t.entryHints)&&Array.isArray(t.areas)&&t.areas.every(e=>vm(e))}function $m(t){return tt(t)&&typeof t.schemaVersion=="number"&&typeof t.workspaceRoot=="string"&&typeof t.overviewGeneratedAt=="string"&&(t.source==="git"||t.source==="filesystem")&&Array.isArray(t.allFiles)&&t.allFiles.every(e=>typeof e=="string")&&Array.isArray(t.sourceFiles)&&t.sourceFiles.every(e=>typeof e=="string")}function _m(t){return tt(t)&&(t.branch===void 0||typeof t.branch=="string")&&(t.head===void 0||typeof t.head=="string")&&(t.hasUncommittedChanges===void 0||typeof t.hasUncommittedChanges=="boolean")}function Xm(t){return tt(t)&&typeof t.schemaVersion=="number"&&typeof t.generatedAt=="string"&&typeof t.workspaceRoot=="string"&&(t.git===null||_m(t.git))&&(t.snapshotKind==="clean"||t.snapshotKind==="dirty")&&(t.head===void 0||typeof t.head=="string")&&(t.branch===void 0||typeof t.branch=="string")&&(t.dirtyPathsFingerprint===void 0||typeof t.dirtyPathsFingerprint=="string")&&(t.dirtySemanticFingerprint===void 0||typeof t.dirtySemanticFingerprint=="string")}async function Z(t,e){return(await mm("git",t,{cwd:e,timeout:ym,windowsHide:!0,maxBuffer:8388608})).stdout.toString()}async function Dt(t){try{return await Ae.access(t),!0}catch{return!1}}async function ci(t){let e=jn(t);return await Ae.mkdir(e,{recursive:!0}),e}function z(t){return t.replace(/\\/g,"/").replace(/^\.\//,"")}function pl(t){let e=ii("sha256");for(let n of Array.from(t,r=>z(r)).sort((r,o)=>r.localeCompare(o)))e.update(n),e.update("|");return e.digest("hex")}function Em(t){return bm.has(C.posix.basename(z(t)))}function Cm(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n+=1)if(z(t[n]??"")!==z(e[n]??""))return!1;return!0}function nt(t){let e=z(t);return e===".agent"||e===".kodax"||wm.some(n=>e.startsWith(n))}async function Im(t){try{let e=(await Z(["rev-parse","--show-toplevel"],t)).trim();if(e)return{workspaceRoot:C.resolve(e),source:"git"}}catch{}return{workspaceRoot:C.resolve(t),source:"filesystem"}}async function Am(t){try{return(await Ae.stat(t)).isDirectory()?t:C.dirname(t)}catch{return t}}async function Mm(t){let e=(await Z(["ls-files","-z"],t)).split("\0").filter(Boolean),n=(await Z(["ls-files","--others","--exclude-standard","-z"],t)).split("\0").filter(Boolean),r=Array.from(new Set([...e,...n].map(z).filter(o=>!nt(o))));return{files:r.slice(0,Me),truncated:r.length>Me}}async function el(t){let e=[],n=!1;async function r(o){if(e.length>=Me){n=!0;return}let i=await Ae.readdir(o,{withFileTypes:!0});for(let s of i){if(e.length>=Me){n=!0;return}if(s.isDirectory()){if(Tm.has(s.name))continue;await r(C.join(o,s.name));continue}if(!s.isFile())continue;let c=z(C.relative(t,C.join(o,s.name)));nt(c)||e.push(c)}}return a(r,"walk"),await r(t),{files:e,truncated:n}}function Wm(t){let e=z(t).toLowerCase();return e.split("/").some(r=>Sm.has(r))?!0:/\.(test|spec)\.[^.]+$/.test(e)}function Ot(t){let e=z(t),n=C.extname(e).toLowerCase(),r=C.posix.basename(e);return ai.has(r)?"config":e.startsWith("docs/")||fl.has(e)||ul.has(n)?"docs":Wm(e)?"tests":Pm.has(n)?"source":"other"}async function Ol(t,e){if(e===".")return"Workspace Root";let n=C.join(t,e,"package.json"),r=C.join(t,e,"pyproject.toml"),o=C.join(t,e,"Cargo.toml");if(await Dt(n))try{let i=JSON.parse(await Ae.readFile(n,"utf8"));if(i.name?.trim())return i.name.trim()}catch{}for(let i of[r,o])if(await Dt(i))try{let c=(await Ae.readFile(i,"utf8")).match(/^\s*name\s*=\s*["']([^"']+)["']/m);if(c?.[1])return c[1]}catch{}return C.posix.basename(e)}async function zm(t,e){let n=new Map;for(let o of e){let s=z(o).split("/");if(s.length===1){n.set(".","root");continue}if(km.has(s[0]??"")&&s[1]){n.set(`${s[0]}/${s[1]}`,"package");continue}let c=Qm.get(s[0]??"");c&&n.set(s[0],c)}n.size===0&&n.set(".","root");let r=[];for(let[o,i]of Array.from(n.entries()).sort((s,c)=>s[0].localeCompare(c[0]))){let s=o==="."?"":`${o}/`,c=e.filter(u=>o==="."?!u.includes("/"):u===o||u.startsWith(s)).sort((u,f)=>u.localeCompare(f)),l=c.filter(u=>!(o==="."?u:u.slice(s.length)).includes("/")&&ai.has(C.posix.basename(u)));r.push({id:o,label:await Ol(t,o),kind:i,root:o,fileCount:c.length,manifests:l.slice(0,si),sampleFiles:c.slice(0,si)})}return r.sort((o,i)=>i.fileCount!==o.fileCount?i.fileCount-o.fileCount:o.root.localeCompare(i.root))}async function tl(t,e){if(e==="git")try{let[n,r,o]=await Promise.all([Z(["branch","--show-current"],t),Z(["rev-parse","HEAD"],t),Z(["status","--short"],t)]);return{branch:n.trim()||void 0,head:r.trim()||void 0,hasUncommittedChanges:o.trim().length>0}}catch{return}}async function Nt(t,e){if(e==="git")try{return await Mm(t)}catch{return el(t)}return el(t)}async function zn(t,e){let n=await hl(t,cl);return!n||n.schemaVersion!==H||e&&n.overviewGeneratedAt!==e?null:n}async function nl(t){let n=(await Z(["status","--porcelain=v1","-z","--untracked-files=all"],t)).split("\0"),r=new Set;for(let o=0;o<n.length;o+=1){let i=n[o];if(!i||i.length<4)continue;let s=i.slice(0,2),c=z(i.slice(3));if(c&&!nt(c)&&r.add(c),s.includes("R")||s.includes("C")){let l=z(n[o+1]??"");l&&!nt(l)&&r.add(l),o+=1}}return Array.from(r).sort((o,i)=>o.localeCompare(i))}async function ml(t,e){return G(jn(t,e),Rm)}async function hl(t,e){return G(jn(t,e),$m)}async function qm(t){return G(jn(t,sl),Xm)}async function jm(t,e){let n=ii("sha256");n.update(pl(e));for(let r of e){let o=C.join(t,r);n.update(r),n.update(":");try{if(await Ae.stat(o),n.update("present:"),Em(r)){let i=await Ae.readFile(o,"utf8");n.update(ii("sha256").update(i).digest("hex"))}}catch(i){let s=tt(i)&&typeof i.code=="string"?i.code:void 0;n.update(s==="ENOENT"?"missing":"unreadable")}n.update("|")}return n.digest("hex")}async function rl(t,e){let n=e.map(r=>z(r)).sort((r,o)=>r.localeCompare(o));return{dirtyPaths:n,dirtyPathsFingerprint:pl(n),dirtySemanticFingerprint:await jm(t,n)}}async function Fm(t,e,n){let r=new Set(e.map(o=>z(o)));for(let o of n){let i=C.join(t,o);await Dt(i)?r.add(o):r.delete(o)}return Array.from(r).sort((o,i)=>o.localeCompare(i))}async function gl(t,e,n,r,o){let i=n.map(c=>z(c)),s={schemaVersion:H,workspaceRoot:t,source:e,generatedAt:new Date().toISOString(),truncated:r,git:o,fileStats:{totalFiles:i.length,sourceFiles:i.filter(c=>Ot(c)==="source").length,docFiles:i.filter(c=>Ot(c)==="docs").length,testFiles:i.filter(c=>Ot(c)==="tests").length,configFiles:i.filter(c=>Ot(c)==="config").length},manifests:i.filter(c=>ai.has(C.posix.basename(c))).slice(0,12),keyDocs:i.filter(c=>fl.has(c)||/^README/i.test(C.posix.basename(c))&&ul.has(C.extname(c).toLowerCase())).slice(0,8),entryHints:i.filter(c=>xm.includes(C.posix.basename(c))).slice(0,8),areas:await zm(t,i)};return{overview:s,inventory:{schemaVersion:H,workspaceRoot:t,overviewGeneratedAt:s.generatedAt,source:e,allFiles:[...i].sort((c,l)=>c.localeCompare(l)),sourceFiles:i.filter(c=>Ot(c)==="source").sort((c,l)=>c.localeCompare(l))}}}async function yl(t,e,n,r={}){let o={schemaVersion:H,generatedAt:e.generatedAt,workspaceRoot:e.workspaceRoot,git:e.git??null,snapshotKind:e.source==="git"&&e.git?.hasUncommittedChanges===!0?"dirty":"clean",head:e.git?.head,branch:e.git?.branch,dirtyPathsFingerprint:r.dirtyIdentity?.dirtyPathsFingerprint,dirtySemanticFingerprint:r.dirtyIdentity?.dirtySemanticFingerprint};await Qe(C.join(t,sl),o),await Qe(C.join(t,al),e),await Qe(C.join(t,cl),n),r.writeBaseline===!0&&(await Qe(C.join(t,ll),e),await Qe(C.join(t,dl),n))}function Um(t,e,n){return!!(n?.hasUncommittedChanges===!0&&t&&e&&t.schemaVersion===H&&e.schemaVersion===H&&t.source==="git"&&e.source==="git"&&t.git?.hasUncommittedChanges!==!0&&t.git?.head&&t.git?.head===n.head&&t.git?.branch===n.branch&&e.workspaceRoot===t.workspaceRoot&&e.overviewGeneratedAt===t.generatedAt)}function Vm(t,e,n,r){return!!(t&&e&&t.schemaVersion===H&&e.schemaVersion===H&&t.source==="git"&&t.generatedAt===e.generatedAt&&t.workspaceRoot===e.workspaceRoot&&e.snapshotKind==="dirty"&&n?.hasUncommittedChanges===!0&&e.head===n.head&&e.branch===n.branch&&e.dirtyPathsFingerprint===r.dirtyPathsFingerprint&&e.dirtySemanticFingerprint===r.dirtySemanticFingerprint)}async function Dm(t,e,n){let r=await ml(t,ll),o=await hl(t,dl);if(!Um(r,o,e))return null;let i=o,{dirtyPaths:s}=n,c=new Set(i.allFiles);if(r.truncated)for(let Q of s){let g=C.join(t,Q);if(!c.has(Q)||await Dt(g)===!1)return null}let l=new Set(c);for(let Q of s){let g=C.join(t,Q);await Dt(g)?l.add(Q):l.delete(Q)}let u=Array.from(l).sort((Q,g)=>Q.localeCompare(g)),f=r.truncated||u.length>Me,d=f?u.slice(0,Me):u,{overview:O,inventory:h}=await gl(t,"git",d,f,e),w=await ci(t);return await yl(w,O,h,{dirtyIdentity:n}),O}async function Nm(t,e,n,r,o){if(!e||!n||e.schemaVersion!==H||e.source!=="filesystem"||n.schemaVersion!==H||n.source!=="filesystem"||n.workspaceRoot!==t||n.overviewGeneratedAt!==e.generatedAt||e.truncated!==o)return!1;let i=r.map(s=>z(s)).sort((s,c)=>s.localeCompare(c));if(!Cm(n.allFiles,i))return!1;for(let s of e.areas)if(await Ol(t,s.root)!==s.label)return!1;return!0}async function oi(t,e,n,r,o){let{files:i,truncated:s}=o??await Nt(t,e),c=e==="git"&&r?.dirtyPaths.length?await Fm(t,i,r.dirtyPaths):i.map(h=>z(h)),l=s||c.length>Me,u=l?c.slice(0,Me):c,f=await ci(t),{overview:d,inventory:O}=await gl(t,e,u,l,n);return await yl(f,d,O,{writeBaseline:e==="git"&&n?.hasUncommittedChanges!==!0,dirtyIdentity:r}),{workspaceRoot:t,source:e,overview:d,inventory:O,dirtyPaths:r?.dirtyPaths}}async function rt(t,e={}){let n=ps(t),r=await Am(e.targetPath?C.resolve(n,e.targetPath):n),{workspaceRoot:o,source:i}=await Im(r),s=await ml(o,al),c=await qm(o),l,u;if(!e.refresh){if(l=await tl(o,i),i!=="git"){let d=s?.schemaVersion===H?await zn(o,s.generatedAt):null,O=await Nt(o,i);return await Nm(o,s,d,O.files,O.truncated)?{workspaceRoot:o,source:i,overview:s,inventory:d}:oi(o,i,l,void 0,O)}if(i==="git"&&s?.schemaVersion===H&&l?.hasUncommittedChanges!==!0&&s.git?.head===l?.head&&s.git?.branch===l?.branch&&s.git?.hasUncommittedChanges===l?.hasUncommittedChanges&&s)return{workspaceRoot:o,source:i,overview:s,inventory:await zn(o,s.generatedAt)};if(i==="git"&&l?.hasUncommittedChanges===!0){let d=await nl(o).catch(O=>(ie("Could not collect dirty workspace paths for repo overview.",O),null));if(d){if(u=await rl(o,d),Vm(s,c,l,u))return{workspaceRoot:o,source:i,overview:s,inventory:await zn(o,s.generatedAt),dirtyPaths:u.dirtyPaths};let O=await Dm(o,l,u);if(O)return{workspaceRoot:o,source:i,overview:O,inventory:await zn(o,O.generatedAt),dirtyPaths:u.dirtyPaths}}}return oi(o,i,l,u)}if(l=await tl(o,i),i==="git"&&l?.hasUncommittedChanges===!0){let f=await nl(o).catch(d=>(ie("Could not collect dirty workspace paths for refreshed repo overview.",d),null));f&&(u=await rl(o,f))}return oi(o,i,l,u)}function ol(t){return t.includes("R")?"renamed":t.includes("D")?"deleted":t.includes("A")?"added":t==="??"?"untracked":"modified"}function Ym(t){if(!t.trim())return null;let e=t.slice(0,2),n=t.slice(3).trim(),r=z(n.includes(" -> ")?n.split(" -> ").pop()??n:n),o=e[0]!==" "&&e[0]!=="?",i=e[1]!==" "&&e[1]!=="?";return{status:e,path:r,staged:o,unstaged:i||e==="??"}}function Lm(t,e){return t?e==="staged"?t.staged:e==="unstaged"?t.unstaged:t.staged||t.unstaged:!1}function il(t,e){let n=z(t),r=[...e].sort((o,i)=>i.root.length-o.root.length);for(let o of r)if(o.root!=="."&&(n===o.root||n.startsWith(`${o.root}/`)))return o;return e.find(o=>o.root===".")??{id:".",label:"Workspace Root",kind:"root",root:".",fileCount:0,manifests:[],sampleFiles:[]}}function Km(t,e){let n=[];e.length>1&&n.push(`Cross-area change touches ${e.length} areas.`);let r=t.filter(i=>i.category==="config").map(i=>i.path);return r.length>0&&n.push(`Config or manifest changes detected: ${r.slice(0,4).join(" | ")}.`),t.length>0&&t.every(i=>i.category==="docs"||i.category==="tests")&&n.push("Changes are currently limited to docs/tests; implementation files are untouched."),t.some(i=>i.areaId===".")&&n.push("Workspace-root files changed; validate repo-wide implications."),n}async function Gm(t,e,n){if(e==="compare"){let s=n?.trim()||"HEAD~1";if(!s||s.startsWith("-")||/[\u0000-\u001f\s]/.test(s))throw new Error(`Invalid base ref "${s}".`);try{await Z(["rev-parse","--verify","--quiet",`${s}^{commit}`],t)}catch(l){throw ie(`Rejected compare base ref "${s}".`,l),new Error(`Could not resolve base ref "${s}".`)}return(await Z(["diff","--name-status",`${s}...HEAD`],t)).split(/\r?\n/).map(l=>l.trim()).filter(Boolean).map(l=>{let[u,...f]=l.split(/\s+/),d=f.join(" ").split(" -> ").pop()??f.join(" ");return{path:z(d),status:ol(u??"M")}}).filter(l=>!nt(l.path))}let o=(await Z(["status","--porcelain=v1","--untracked-files=all"],t)).split(/\r?\n/).map(Ym).filter(s=>s!==null).filter(s=>Lm(s,e)),i=new Map;for(let s of o)nt(s.path)||i.set(s.path,{path:s.path,status:ol(s.status)});return Array.from(i.values())}async function Zm(t,e,n){let r="";if(e==="compare"){let s=n?.trim()||"HEAD~1";r=await Z(["diff","--numstat",`${s}...HEAD`],t)}else e==="staged"?r=await Z(["diff","--cached","--numstat"],t):e==="unstaged"?r=await Z(["diff","--numstat"],t):r=await Z(["diff","--numstat","HEAD"],t);let o=0,i=0;for(let s of r.split(/\r?\n/)){let c=s.trim();if(!c)continue;let l=c.match(/^(\d+|-)\s+(\d+|-)\s+(.+)$/);if(!l)continue;let[,u,f,d]=l,O=z(d.split(" -> ").pop()??d);if(nt(O))continue;let h=u==="-"?0:Number.parseInt(u,10),w=f==="-"?0:Number.parseInt(f,10);Number.isFinite(h)&&(o+=h),Number.isFinite(w)&&(i+=w)}return{changedLineCount:o+i,addedLineCount:o,deletedLineCount:i}}async function qn(t,e={}){let n=e.scope??"all",r=t.overview;if(r.source!=="git")throw new Error("changed_scope requires a git-backed workspace.");let o=await Gm(r.workspaceRoot,n,e.baseRef),i=await Zm(r.workspaceRoot,n,e.baseRef).catch(d=>(ie("Changed scope could not load line stats.",d),{changedLineCount:0,addedLineCount:0,deletedLineCount:0})),s=o.map(d=>{let O=il(d.path,r.areas);return{path:d.path,status:d.status,category:Ot(d.path),areaId:O.id}}),c=new Map;for(let d of s){let O=il(d.path,r.areas),h=c.get(O.id)??{areaId:O.id,label:O.label,root:O.root,kind:O.kind,fileCount:0,files:[]};c.set(O.id,{...h,fileCount:h.fileCount+1,files:h.files.length<si?[...h.files,d.path]:h.files})}let l={source:0,docs:0,tests:0,config:0,other:0};for(let d of s)l[d.category]+=1;let u={schemaVersion:H,workspaceRoot:r.workspaceRoot,analyzedAt:new Date().toISOString(),scope:n,baseRef:n==="compare"?e.baseRef?.trim()||"HEAD~1":void 0,overviewGeneratedAt:r.generatedAt,totalChangedFiles:s.length,changedLineCount:i.changedLineCount,addedLineCount:i.addedLineCount,deletedLineCount:i.deletedLineCount,categories:l,areasTouched:Array.from(c.values()).sort((d,O)=>O.fileCount!==d.fileCount?O.fileCount-d.fileCount:d.root.localeCompare(O.root)),files:s,riskHints:Km(s,Array.from(c.values()))},f=await ci(r.workspaceRoot);return await Qe(C.join(f,gm),u),u}function Bm(){return Vt(hm)}function jn(t,...e){let n=Bm(),r=C.isAbsolute(n)?n:C.join(t,n);return C.join(r,...e)}var mm,hm,sl,al,cl,ll,dl,gm,H,Me,si,ym,wm,Pm,ul,Sm,Qm,km,ai,bm,fl,xm,Tm,wl=p(()=>{"use strict";Os();Wn();mm=Om(pm),hm=C.join(".agent","repo-intelligence"),sl="manifest.json",al="repo-overview.json",cl="repo-overview-inventory.json",ll="repo-overview-baseline.json",dl="repo-overview-inventory-baseline.json",gm="changed-scope.json",H=3,Me=12e3,si=3,ym=5e3,wm=[".agent/",".kodax/"],Pm=new Set([".ts",".tsx",".js",".jsx",".mjs",".cjs",".py",".java",".go",".rs",".cpp",".cc",".cxx",".c",".hpp",".h",".cs",".rb",".php",".swift",".kt",".kts",".scala",".sh"]),ul=new Set([".md",".mdx",".rst",".txt"]),Sm=new Set(["test","tests","__tests__","__mocks__","spec","specs"]),Qm=new Map([["docs","docs"],["test","tests"],["tests","tests"],["scripts","scripts"],["bin","scripts"],["tools","scripts"],["src","directory"],["server","directory"],["client","directory"],["web","directory"],["api","directory"],["cmd","directory"],["examples","directory"],["example","directory"]]),km=new Set(["packages","apps","libs","services"]),ai=new Set(["package.json","package-lock.json","pnpm-lock.yaml","pnpm-workspace.yaml","yarn.lock","tsconfig.json","tsconfig.build.json","vitest.config.ts","vitest.config.js","vite.config.ts","vite.config.js","pyproject.toml","requirements.txt","Cargo.toml","Cargo.lock","go.mod","go.sum","pom.xml","build.gradle","build.gradle.kts","Makefile","Dockerfile"]),bm=new Set(["package.json","pyproject.toml","Cargo.toml"]),fl=new Set(["README.md","README_CN.md","AGENTS.md","CLAUDE.md","docs/HLD.md","docs/PRD.md","docs/ADR.md","docs/DD.md","docs/FEATURE_LIST.md"]),xm=["index.ts","index.js","main.ts","main.js","app.ts","app.js","server.ts","server.js","cli.ts","cli.js","kodax_cli.ts","main.py"],Tm=new Set([".git",".agent",".kodax","node_modules","dist","build","coverage",".next",".turbo","target","__pycache__",".venv","venv"]);a(tt,"isRecord");a(vm,"isRepoAreaOverview");a(Rm,"isRepoOverviewPayload");a($m,"isRepoOverviewInventoryPayload");a(_m,"isGitSummaryPayload");a(Xm,"isRepoOverviewManifestPayload");a(Z,"runGit");a(Dt,"exists");a(ci,"ensureStorageDir");a(z,"normalizeRelativePath");a(pl,"computePathFingerprint");a(Em,"isAreaLabelSensitiveManifestPath");a(Cm,"sameNormalizedPathList");a(nt,"isManagedMetadataPath");a(Im,"resolveWorkspaceRoot");a(Am,"resolveTargetDirectory");a(Mm,"listGitFiles");a(el,"walkFilesystemFiles");a(Wm,"isTestFile");a(Ot,"classifyFileCategory");a(Ol,"readAreaLabel");a(zm,"buildAreas");a(tl,"getGitSummary");a(Nt,"collectWorkspaceFilesForSource");a(zn,"readRepoOverviewInventory");a(nl,"collectWorkspaceDirtyPaths");a(ml,"readStoredRepoOverview");a(hl,"readStoredRepoOverviewInventory");a(qm,"readStoredRepoOverviewManifest");a(jm,"computeDirtySemanticFingerprint");a(rl,"buildDirtyOverviewIdentity");a(Fm,"applyDirtyPathPatchToFiles");a(gl,"buildRepoOverviewArtifacts");a(yl,"writeRepoOverviewArtifacts");a(Um,"canUseOverviewBaseline");a(Vm,"canDirectReuseDirtyOverview");a(Dm,"tryBuildDirtyRepoOverviewFromBaseline");a(Nm,"canDirectReuseFilesystemOverview");a(oi,"buildRepoOverviewSnapshotForWorkspace");a(rt,"resolveRepoOverviewSnapshot");a(ol,"resolveChangedStatus");a(Ym,"parsePorcelainLine");a(Lm,"includesCandidate");a(il,"findAreaForFile");a(Km,"buildRiskHints");a(Gm,"collectChangedFiles");a(Zm,"collectChangedLineStats");a(qn,"analyzeChangedScopeFromSnapshot");a(Bm,"getRepoIntelligenceDir");a(jn,"resolveRepoIntelligencePath")});var Fn=p(()=>{"use strict";wl();Wn()});import Pl from"fs/promises";import Yt from"path";import{createHash as Un}from"node:crypto";function pe(t){return typeof t=="object"&&t!==null}function gt(t){return pe(t)&&typeof t.schemaVersion=="number"&&typeof t.workspaceRoot=="string"&&typeof t.generatedAt=="string"&&typeof t.overviewGeneratedAt=="string"&&typeof t.sourceFileCount=="number"&&typeof t.sourceFingerprint=="string"&&Array.isArray(t.languages)&&Array.isArray(t.modules)&&Array.isArray(t.symbols)&&Array.isArray(t.processes)}function xl(t){return t==="typescript"||t==="javascript"||t==="python"||t==="java"||t==="go"||t==="rust"||t==="cpp"||t==="unknown"}function Jm(t){return t==="high"||t==="medium"||t==="low"}function eh(t){return t==="function"||t==="class"||t==="interface"||t==="type"||t==="enum"||t==="struct"||t==="trait"||t==="method"||t==="constant"}function th(t){return pe(t)&&xl(t.language)&&Jm(t.capabilityTier)&&typeof t.fileCount=="number"}function nh(t){return pe(t)&&typeof t.filePath=="string"&&typeof t.fileFingerprint=="string"&&xl(t.language)&&typeof t.moduleId=="string"&&typeof t.analyzerVersion=="number"}function rh(t){return pe(t)&&(t.source==="git"||t.source==="filesystem")&&(t.branch===void 0||typeof t.branch=="string")&&(t.head===void 0||typeof t.head=="string")&&(t.hasUncommittedChanges===void 0||typeof t.hasUncommittedChanges=="boolean")}function Tl(t){return pe(t)&&typeof t.schemaVersion=="number"&&typeof t.workspaceRoot=="string"&&typeof t.generatedAt=="string"&&typeof t.overviewGeneratedAt=="string"&&typeof t.overviewFingerprint=="string"&&rh(t.workspaceSnapshot)&&typeof t.sourceFileCount=="number"&&typeof t.sourceFingerprint=="string"&&Array.isArray(t.languageBreakdown)&&t.languageBreakdown.every(e=>th(e))&&Array.isArray(t.sourceStates)&&t.sourceStates.every(e=>nh(e))}function oh(t){return pe(t)&&typeof t.id=="string"&&typeof t.name=="string"&&typeof t.qualifiedName=="string"&&eh(t.kind)&&typeof t.line=="number"&&typeof t.signature=="string"&&typeof t.exported=="boolean"&&Array.isArray(t.calls)&&t.calls.every(e=>typeof e=="string")&&typeof t.confidence=="number"}function ih(t){return pe(t)&&Array.isArray(t.importPaths)&&t.importPaths.every(e=>typeof e=="string")&&Array.isArray(t.symbols)&&t.symbols.every(e=>oh(e))}function vl(t){return pe(t)&&typeof t.schemaVersion=="number"&&typeof t.workspaceRoot=="string"&&typeof t.generatedAt=="string"&&typeof t.sourceFingerprint=="string"&&pe(t.analyses)&&Object.values(t.analyses).every(e=>e===null||ih(e))}function Rl(t){return pe(t)&&typeof t.schemaVersion=="number"&&typeof t.workspaceRoot=="string"&&(t.branch===void 0||typeof t.branch=="string")&&(t.head===void 0||typeof t.head=="string")&&typeof t.queryGeneratedAt=="string"&&typeof t.overviewFingerprint=="string"&&typeof t.sourceFingerprint=="string"&&typeof t.sourceFileCount=="number"&&typeof t.dirtyPathsFingerprint=="string"&&typeof t.dirtySourceFingerprint=="string"&&Array.isArray(t.dirtySourcePaths)&&t.dirtySourcePaths.every(e=>typeof e=="string")}function j(t){return t.replace(/\\/g,"/").replace(/^\.\//,"")}function N(t){switch(Yt.extname(t).toLowerCase()){case".ts":case".tsx":return"typescript";case".js":case".jsx":case".mjs":case".cjs":return"javascript";case".py":return"python";case".java":return"java";case".go":return"go";case".rs":return"rust";case".cpp":case".cc":case".cxx":case".c":case".hpp":case".h":return"cpp";default:return"unknown"}}function B(t){switch(t){case"typescript":case"javascript":case"python":case"go":case"rust":return"high";case"java":return"medium";default:return"low"}}function $l(t,e="full"){return(t==="typescript"||t==="javascript")&&e==="light"?2:1}function ke(t){switch(t){case"high":return .86;case"medium":return .74;default:return .58}}function _l(t,e){if(t.length>0){let r=t.reduce((o,i)=>o+i.confidence,0);return Math.min(.95,Math.max(.32,r/t.length))}let n=e[0];return n?ke(n.capabilityTier):.4}async function Yn(t){try{return await Pl.access(t),!0}catch{return!1}}async function Ln(t,e="full"){let n=sh(),r=Yt.isAbsolute(n)?n:Yt.join(t,n),o=e==="light"?Yt.join(r,"light"):r;return await Pl.mkdir(o,{recursive:!0}),o}function Xl(t,e,n){return Un("sha256").update(j(t)).update(":").update(String(e)).update(":").update(String(Math.trunc(n))).digest("hex")}function yt(t){let e=Un("sha256");for(let n of t)e.update(n.filePath),e.update(":"),e.update(n.fileFingerprint),e.update("|");return e.digest("hex")}function Kn(t,e){let n=Un("sha256");n.update(t.workspaceRoot),n.update("|"),n.update(t.source),n.update("|");for(let r of t.areas)n.update(r.id),n.update(":"),n.update(r.label),n.update(":"),n.update(r.kind),n.update(":"),n.update(r.root),n.update(":"),n.update(String(r.fileCount)),n.update(":"),n.update(r.manifests.join(",")),n.update(":"),n.update(r.sampleFiles.join(",")),n.update("|");for(let r of e)n.update(r),n.update("|");return n.digest("hex")}function Lt(t){let e=Un("sha256");for(let n of Array.from(t,r=>j(r)).sort((r,o)=>r.localeCompare(o)))e.update(n),e.update("|");return e.digest("hex")}function Gn(t){return{source:t.source,branch:t.git?.branch,head:t.git?.head,hasUncommittedChanges:t.git?.hasUncommittedChanges}}function Zn(t){return t.source==="git"&&t.hasUncommittedChanges!==!0}function li(t,e){return t.source===e.source&&t.branch===e.branch&&t.head===e.head&&t.hasUncommittedChanges===e.hasUncommittedChanges}function El(t){return t.workspaceSnapshot.source!=="git"||Zn(t.workspaceSnapshot)}function Cl(t){return(t.dirtyPaths??[]).filter(e=>t.sourceFileSet.has(e)).sort((e,n)=>e.localeCompare(n))}async function qe(t,e){return Qe(t,e)}function Il(t){let e=j(t).toLowerCase();return e.includes("/test/")||e.includes("/tests/")||e.includes("__tests__")||/\.(test|spec)\.[^.]+$/.test(e)}function Al(t){let e=j(t).toLowerCase();return e.startsWith("docs/")||e.endsWith(".md")||e.endsWith(".mdx")||e.endsWith(".rst")}function ae(t,e){let n=j(t),r=[...e].sort((o,i)=>i.root.length-o.root.length);for(let o of r)if(o.root!=="."&&(n===o.root||n.startsWith(`${o.root}/`)))return o;return e.find(o=>o.root===".")??{id:".",label:"Workspace Root",kind:"root",root:".",fileCount:0,manifests:[],sampleFiles:[]}}function J(t,e=t.length){return Array.from(new Set(t.filter(Boolean))).slice(0,e)}function Kt(t,e){let n=[],r=t.split(/\r?\n/);for(let o of r){let i=null;if(e==="typescript"||e==="javascript"){i=/from\s+['"]([^'"]+)['"]/.exec(o)??/require\(\s*['"]([^'"]+)['"]\s*\)/.exec(o)??/^\s*import\s+['"]([^'"]+)['"]/.exec(o),i?.[1]&&n.push(i[1]);continue}if(e==="python"){if(i=/^\s*from\s+([A-Za-z0-9_\.]+)\s+import/.exec(o),i?.[1]){n.push(i[1]);continue}i=/^\s*import\s+(.+)$/.exec(o),i?.[1]&&n.push(...i[1].split(",").map(s=>s.trim().split(/\s+/)[0]??"").filter(Boolean));continue}if(e==="go"){i=/^\s*import\s+"([^"]+)"/.exec(o)??/^\s*"([^"]+)"/.exec(o),i?.[1]&&n.push(i[1]);continue}if(e==="rust"){i=/^\s*use\s+([^;]+);/.exec(o),i?.[1]&&n.push(i[1].trim());continue}if(e==="java"){i=/^\s*import\s+([^;]+);/.exec(o),i?.[1]&&n.push(i[1].trim());continue}e==="cpp"&&(i=/^\s*#include\s+[<"]([^">]+)[">]/.exec(o),i?.[1]&&n.push(i[1].trim()))}return J(n,12)}function sh(){return Vt(Hm)}var Hm,We,Vn,Dn,Nn,Sl,Ql,kl,D,mt,ze,bl,se,ht,Oe,je=p(()=>{"use strict";Wn();Hm=Yt.join(".agent","repo-intelligence"),We="repo-intelligence-index.json",Vn="repo-intelligence-manifest.json",Dn="file-analysis-index.json",Nn="repo-intelligence-dirty-source-hint.json",Sl="module-index.json",Ql="symbol-index.json",kl="process-index.json",D=9,mt=512*1024,ze=40,bl=8,se=8,ht=new Set([".ts",".tsx",".js",".jsx",".mjs",".cjs",".py",".java",".go",".rs",".cpp",".cc",".cxx",".c",".hpp",".h"]),Oe=new Set(["if","for","while","switch","catch","return","typeof","sizeof","new","function","class","def","await","yield","super","import","from"]);a(pe,"isRecord");a(gt,"isRepoIntelligenceIndexPayload");a(xl,"isRepoLanguageId");a(Jm,"isLanguageCapabilityTier");a(eh,"isRepoSymbolKind");a(th,"isRepoLanguageSupportPayload");a(nh,"isRepoSourceFileStatePayload");a(rh,"isRepoWorkspaceSnapshotPayload");a(Tl,"isRepoIntelligenceManifestPayload");a(oh,"isCachedRepoSymbolRecordPayload");a(ih,"isCachedFileAnalysisEntryPayload");a(vl,"isFileAnalysisIndexPayload");a(Rl,"isDirtySourceHintPayload");a(j,"normalizeRelativePath");a(N,"languageFromFile");a(B,"capabilityTierForLanguage");a($l,"analyzerVersionForLanguage");a(ke,"baseConfidenceForTier");a(_l,"computeModuleConfidence");a(Yn,"exists");a(Ln,"ensureStorageDir");a(Xl,"computeFileFingerprint");a(yt,"computeSourceFingerprint");a(Kn,"computeOverviewFingerprint");a(Lt,"computePathFingerprint");a(Gn,"workspaceSnapshotFromOverview");a(Zn,"isCleanGitSnapshot");a(li,"sameWorkspaceSnapshot");a(El,"shouldPersistRepoIntelligenceBaseline");a(Cl,"getDirtySourcePathsForInputs");a(qe,"writeJsonFileAtomic");a(Il,"isTestFile");a(Al,"isDocFile");a(ae,"findAreaForFile");a(J,"dedupeStrings");a(Kt,"extractImports");a(sh,"getRepoIntelligenceDir")});import di from"path";import ah from"fs/promises";function Ml(t,e){let n=new Map,r=new Map,o=new Map,i=new Map;for(let s of t){let c=ae(s,e);n.set(s,c);let l=r.get(c.id)??[];if(l.push(s),r.set(c.id,l),Il(s)){let u=o.get(c.id)??[];u.push(s),o.set(c.id,u)}if(Al(s)){let u=i.get(c.id)??[];u.push(s),i.set(c.id,u)}}return{areaByFile:n,filesByAreaId:r,testFilesByAreaId:o,docFilesByAreaId:i}}async function Wl(t,e="full"){let n=t.workspaceRoot,r=await Ln(n,e),o=Gn(t.overview),i=t.dirtyPaths?Array.from(new Set(t.dirtyPaths.map(f=>j(f)))).sort((f,d)=>f.localeCompare(d)):void 0,s=i?Lt(i):void 0,c=(i??[]).filter(f=>ht.has(di.extname(f).toLowerCase())).sort((f,d)=>f.localeCompare(d)),l=[];for(let f of c)await Yn(di.join(n,f))&&l.push(f);let u=l.length>0?await wt(n,l,new Map,t.overview.areas,e):void 0;return{analysisProfile:e,workspaceRoot:n,storageRoot:r,workspaceSnapshot:o,overviewGeneratedAt:t.overview.generatedAt,overviewFingerprint:Kn(t.overview,t.inventory?.allFiles??t.overview.areas.flatMap(f=>f.sampleFiles)),dirtyPaths:i,dirtyPathsFingerprint:s,dirtySourcePaths:c,dirtySourceStateMap:u,dirtySourceFingerprint:i?yt(u?Array.from(u.values()).sort((f,d)=>f.filePath.localeCompare(d.filePath)):[]):void 0}}async function ui(t,e,n,r,o="full"){let i=[];for(let s of e){let c=j(s),l=await ah.stat(di.join(t,c)),u=N(c);i.push({filePath:c,fileFingerprint:Xl(c,l.size,l.mtimeMs),language:u,moduleId:n.get(c)?.id??ae(c,r).id,analyzerVersion:$l(u,o)})}return i.sort((s,c)=>s.filePath.localeCompare(c.filePath))}async function wt(t,e,n,r,o="full"){let i=Array.from(new Set(Array.from(e,c=>j(c)))).sort((c,l)=>c.localeCompare(l)),s=await ui(t,i,n,r,o);return new Map(s.map(c=>[c.filePath,c]))}function zl(t){return t?{importPaths:t.importPaths,symbols:t.symbols.map(e=>({id:e.id,name:e.name,qualifiedName:e.qualifiedName,kind:e.kind,line:e.line,signature:e.signature,exported:e.exported,calls:e.calls,confidence:e.confidence}))}:null}function ql(t,e,n){return n?{filePath:t,moduleId:e.moduleId,language:e.language,capabilityTier:B(e.language),importPaths:n.importPaths,symbols:n.symbols.map(r=>({...r,filePath:t,moduleId:e.moduleId,language:e.language,capabilityTier:B(e.language),importPaths:n.importPaths,callTargets:[]}))}:null}function fi(t){return{typeScriptFiles:t.filter(e=>ot(N(e))),pythonFiles:t.filter(e=>N(e)==="python"),goFiles:t.filter(e=>N(e)==="go"),rustFiles:t.filter(e=>N(e)==="rust"),fallbackFiles:t.filter(e=>{let n=N(e);return!ot(n)&&n!=="python"&&n!=="go"&&n!=="rust"})}}function ot(t){return t==="typescript"||t==="javascript"}var Gt=p(()=>{"use strict";je();a(Ml,"buildAreaFileLookups");a(Wl,"buildRepoIntelligencePreflight");a(ui,"collectSourceFileStates");a(wt,"collectSourceFileStateMap");a(zl,"serializeCachedFileAnalysisEntry");a(ql,"hydrateCachedFileAnalysis");a(fi,"bucketSourceFiles");a(ot,"isTypeScriptLikeLanguage")});function Vl(t,e,n,r){switch(t){case-2:return n<e;case-1:return r>=e&&n<e;case 0:return n<e&&r>e;case 1:return n<=e&&r>e;case 2:return r>e;case 4:return!0}}function Bt(t,e,n,r){for(var o;t.from==t.to||(n<1?t.from>=e:t.from>e)||(n>-1?t.to<=e:t.to<e);){let s=!r&&t instanceof me&&t.index<0?null:t.parent;if(!s)return t;t=s}let i=r?0:q.IgnoreOverlays;if(r)for(let s=t,c=s.parent;c;s=c,c=s.parent)s instanceof me&&s.index<0&&((o=c.enter(e,n,i))===null||o===void 0?void 0:o.from)!=s.from&&(t=c);for(;;){let s=t.enter(e,n,i);if(!s)return t;t=s}}function Fl(t,e,n,r){let o=t.cursor(),i=[];if(!o.firstChild())return i;if(n!=null){for(let s=!1;!s;)if(s=o.type.is(n),!o.nextSibling())return i}for(;;){if(r!=null&&o.type.is(r))return i;if(o.type.is(e)&&i.push(o.node),!o.nextSibling())return r==null?i:[]}}function Oi(t,e,n=e.length-1){for(let r=t;n>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[n]&&e[n]!=r.name)return!1;n--}}return!0}function Dl(t){if(!t.length)return null;let e=0,n=t[0];for(let i=1;i<t.length;i++){let s=t[i];(s.from>n.from||s.to<n.to)&&(n=s,e=i)}let r=n instanceof me&&n.index<0?null:n.parent,o=t.slice();return r?o[e]=r:o.splice(e,1),new hi(o,n)}function dh(t,e,n){let r=t.resolveInner(e,n),o=null;for(let i=r instanceof me?r:r.context.parent;i;i=i.parent)if(i.index<0){let s=i.parent;(o||(o=[r])).push(s.resolve(e,n)),i=s}else{let s=it.get(i.tree);if(s&&s.overlay&&s.overlay[0].from<=e&&s.overlay[s.overlay.length-1].to>=e){let c=new me(s.tree,s.overlay[0].from+i.from,-1,i);(o||(o=[r])).push(Bt(c,e,n,!1))}}return o?Dl(o):r}function yi(t){return t.children.some(e=>e instanceof Fe||!e.type.isAnonymous||yi(e))}function uh(t){var e;let{buffer:n,nodeSet:r,maxBufferLength:o=1024,reused:i=[],minRepeatType:s=r.types.length}=t,c=Array.isArray(n)?new pi(n,n.length):n,l=r.types,u=0,f=0;function d(b,P,S,$,_,I){let{id:E,start:X,end:M,size:W}=c,F=f,Ee=u;if(W<0)if(c.next(),W==-1){let we=i[E];S.push(we),$.push(X-b);return}else if(W==-3){u=E;return}else if(W==-4){f=E;return}else throw new RangeError(`Unrecognized record size: ${W}`);let vt=l[E],dn,Ze,ls=X-b;if(M-X<=o&&(Ze=g(c.pos-P,_))){let we=new Uint16Array(Ze.size-Ze.skip),ne=c.pos-Ze.size,ue=we.length;for(;c.pos>ne;)ue=y(Ze.start,we,ue);dn=new Fe(we,M-Ze.start,r),ls=Ze.start-b}else{let we=c.pos-W;c.next();let ne=[],ue=[],Be=E>=s?E:-1,ct=0,un=M;for(;c.pos>we;)Be>=0&&c.id==Be&&c.size>=0?(c.end<=un-o&&(w(ne,ue,X,ct,c.end,un,Be,F,Ee),ct=ne.length,un=c.end),c.next()):I>2500?O(X,we,ne,ue):d(X,we,ne,ue,Be,I+1);if(Be>=0&&ct>0&&ct<ne.length&&w(ne,ue,X,ct,X,un,Be,F,Ee),ne.reverse(),ue.reverse(),Be>-1&&ct>0){let ds=h(vt,Ee);dn=wi(vt,ne,ue,0,ne.length,0,M-X,ds,ds)}else dn=Q(vt,ne,ue,M-X,F-M,Ee)}S.push(dn),$.push(ls)}a(d,"takeNode");function O(b,P,S,$){let _=[],I=0,E=-1;for(;c.pos>P;){let{id:X,start:M,end:W,size:F}=c;if(F>4)c.next();else{if(E>-1&&M<E)break;E<0&&(E=W-o),_.push(X,M,W),I++,c.next()}}if(I){let X=new Uint16Array(I*4),M=_[_.length-2];for(let W=_.length-3,F=0;W>=0;W-=3)X[F++]=_[W],X[F++]=_[W+1]-M,X[F++]=_[W+2]-M,X[F++]=F;S.push(new Fe(X,_[2]-M,r)),$.push(M-b)}}a(O,"takeFlatNode");function h(b,P){return(S,$,_)=>{let I=0,E=S.length-1,X,M;if(E>=0&&(X=S[E])instanceof Y){if(!E&&X.type==b&&X.length==_)return X;(M=X.prop(A.lookAhead))&&(I=$[E]+X.length+M)}return Q(b,S,$,_,I,P)}}a(h,"makeBalanced");function w(b,P,S,$,_,I,E,X,M){let W=[],F=[];for(;b.length>$;)W.push(b.pop()),F.push(P.pop()+S-_);b.push(Q(r.types[E],W,F,I-_,X-I,M)),P.push(_-S)}a(w,"makeRepeatLeaf");function Q(b,P,S,$,_,I,E){if(I){let X=[A.contextHash,I];E=E?[X].concat(E):[X]}if(_>25){let X=[A.lookAhead,_];E=E?[X].concat(E):[X]}return new Y(b,P,S,$,E)}a(Q,"makeTree");function g(b,P){let S=c.fork(),$=0,_=0,I=0,E=S.end-o,X={size:0,start:0,skip:0};e:for(let M=S.pos-b;S.pos>M;){let W=S.size;if(S.id==P&&W>=0){X.size=$,X.start=_,X.skip=I,I+=4,$+=4,S.next();continue}let F=S.pos-W;if(W<0||F<M||S.start<E)break;let Ee=S.id>=s?4:0,vt=S.start;for(S.next();S.pos>F;){if(S.size<0)if(S.size==-3||S.size==-4)Ee+=4;else break e;else S.id>=s&&(Ee+=4);S.next()}_=vt,$+=W,I+=Ee}return(P<0||$==b)&&(X.size=$,X.start=_,X.skip=I),X.size>4?X:void 0}a(g,"findBufferSize");function y(b,P,S){let{id:$,start:_,end:I,size:E}=c;if(c.next(),E>=0&&$<s){let X=S;if(E>4){let M=c.pos-(E-4);for(;c.pos>M;)S=y(b,P,S)}P[--S]=X,P[--S]=I-b,P[--S]=_-b,P[--S]=$}else E==-3?u=$:E==-4&&(f=$);return S}a(y,"copyToBuffer");let k=[],T=[];for(;c.pos>0;)d(t.start||0,t.bufferStart||0,k,T,-1,0);let v=(e=t.length)!==null&&e!==void 0?e:k.length?T[0]+k[0].length:0;return new Y(l[t.topID],k.reverse(),T.reverse(),v)}function Hn(t,e){if(!t.isAnonymous||e instanceof Fe||e.type!=t)return 1;let n=Ul.get(e);if(n==null){n=1;for(let r of e.children){if(r.type!=t||!(r instanceof Y)){n=1;break}n+=Hn(t,r)}Ul.set(e,n)}return n}function wi(t,e,n,r,o,i,s,c,l){let u=0;for(let w=r;w<o;w++)u+=Hn(t,e[w]);let f=Math.ceil(u*1.5/8),d=[],O=[];function h(w,Q,g,y,k){for(let T=g;T<y;){let v=T,b=Q[T],P=Hn(t,w[T]);for(T++;T<y;T++){let S=Hn(t,w[T]);if(P+S>=f)break;P+=S}if(T==v+1){if(P>f){let S=w[v];h(S.children,S.positions,0,S.children.length,Q[v]+k);continue}d.push(w[v])}else{let S=Q[T-1]+w[T-1].length-b;d.push(wi(t,w,Q,v,T,b,S,null,l))}O.push(b+k-i)}}return a(h,"divide"),h(e,n,r,o,0),(c||l)(d,O,s)}var ch,Zt,A,it,lh,oe,Jn,Bn,jl,q,Y,pi,Fe,er,me,mi,Ht,hi,Jt,Ul,tr,gi,U1,Pi=p(()=>{ch=0,Zt=class{static{a(this,"Range")}constructor(e,n){this.from=e,this.to=n}},A=class{static{a(this,"NodeProp")}constructor(e={}){this.id=ch++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=oe.match(e)),n=>{let r=e(n);return r===void 0?null:[this,r]}}};A.closedBy=new A({deserialize:a(t=>t.split(" "),"deserialize")});A.openedBy=new A({deserialize:a(t=>t.split(" "),"deserialize")});A.group=new A({deserialize:a(t=>t.split(" "),"deserialize")});A.isolate=new A({deserialize:a(t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"},"deserialize")});A.contextHash=new A({perNode:!0});A.lookAhead=new A({perNode:!0});A.mounted=new A({perNode:!0});it=class{static{a(this,"MountedTree")}constructor(e,n,r,o=!1){this.tree=e,this.overlay=n,this.parser=r,this.bracketed=o}static get(e){return e&&e.props&&e.props[A.mounted.id]}},lh=Object.create(null),oe=class t{static{a(this,"NodeType")}constructor(e,n,r,o=0){this.name=e,this.props=n,this.id=r,this.flags=o}static define(e){let n=e.props&&e.props.length?Object.create(null):lh,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),o=new t(e.name||"",n,e.id,r);if(e.props){for(let i of e.props)if(Array.isArray(i)||(i=i(o)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");n[i[0].id]=i[1]}}return o}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let n=this.prop(A.group);return n?n.indexOf(e)>-1:!1}return this.id==e}static match(e){let n=Object.create(null);for(let r in e)for(let o of r.split(" "))n[o]=e[r];return r=>{for(let o=r.prop(A.group),i=-1;i<(o?o.length:0);i++){let s=n[i<0?r.name:o[i]];if(s)return s}}}};oe.none=new oe("",Object.create(null),0,8);Jn=class t{static{a(this,"NodeSet")}constructor(e){this.types=e;for(let n=0;n<e.length;n++)if(e[n].id!=n)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let n=[];for(let r of this.types){let o=null;for(let i of e){let s=i(r);if(s){o||(o=Object.assign({},r.props));let c=s[1],l=s[0];l.combine&&l.id in o&&(c=l.combine(o[l.id],c)),o[l.id]=c}}n.push(o?new oe(r.name,o,r.id,r.flags):r)}return new t(n)}},Bn=new WeakMap,jl=new WeakMap;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays",t[t.EnterBracketed=16]="EnterBracketed"})(q||(q={}));Y=class t{static{a(this,"Tree")}constructor(e,n,r,o,i){if(this.type=e,this.children=n,this.positions=r,this.length=o,this.props=null,i&&i.length){this.props=Object.create(null);for(let[s,c]of i)this.props[typeof s=="number"?s:s.id]=c}}toString(){let e=it.get(this);if(e&&!e.overlay)return e.tree.toString();let n="";for(let r of this.children){let o=r.toString();o&&(n&&(n+=","),n+=o)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(n.length?"("+n+")":""):n}cursor(e=0){return new Jt(this.topNode,e)}cursorAt(e,n=0,r=0){let o=Bn.get(this)||this.topNode,i=new Jt(o);return i.moveTo(e,n),Bn.set(this,i._tree),i}get topNode(){return new me(this,0,0,null)}resolve(e,n=0){let r=Bt(Bn.get(this)||this.topNode,e,n,!1);return Bn.set(this,r),r}resolveInner(e,n=0){let r=Bt(jl.get(this)||this.topNode,e,n,!0);return jl.set(this,r),r}resolveStack(e,n=0){return dh(this,e,n)}iterate(e){let{enter:n,leave:r,from:o=0,to:i=this.length}=e,s=e.mode||0,c=(s&q.IncludeAnonymous)>0;for(let l=this.cursor(s|q.IncludeAnonymous);;){let u=!1;if(l.from<=i&&l.to>=o&&(!c&&l.type.isAnonymous||n(l)!==!1)){if(l.firstChild())continue;u=!0}for(;u&&r&&(c||!l.type.isAnonymous)&&r(l),!l.nextSibling();){if(!l.parent())return;u=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let n in this.props)e.push([+n,this.props[n]]);return e}balance(e={}){return this.children.length<=8?this:wi(oe.none,this.children,this.positions,0,this.children.length,0,this.length,(n,r,o)=>new t(this.type,n,r,o,this.propValues),e.makeTree||((n,r,o)=>new t(oe.none,n,r,o)))}static build(e){return uh(e)}};Y.empty=new Y(oe.none,[],[],0);pi=class t{static{a(this,"FlatBufferCursor")}constructor(e,n){this.buffer=e,this.index=n}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new t(this.buffer,this.index)}},Fe=class t{static{a(this,"TreeBuffer")}constructor(e,n,r){this.buffer=e,this.length=n,this.set=r}get type(){return oe.none}toString(){let e=[];for(let n=0;n<this.buffer.length;)e.push(this.childString(n)),n=this.buffer[n+3];return e.join(",")}childString(e){let n=this.buffer[e],r=this.buffer[e+3],o=this.set.types[n],i=o.name;if(/\W/.test(i)&&!o.isError&&(i=JSON.stringify(i)),e+=4,r==e)return i;let s=[];for(;e<r;)s.push(this.childString(e)),e=this.buffer[e+3];return i+"("+s.join(",")+")"}findChild(e,n,r,o,i){let{buffer:s}=this,c=-1;for(let l=e;l!=n&&!(Vl(i,o,s[l+1],s[l+2])&&(c=l,r>0));l=s[l+3]);return c}slice(e,n,r){let o=this.buffer,i=new Uint16Array(n-e),s=0;for(let c=e,l=0;c<n;){i[l++]=o[c++],i[l++]=o[c++]-r;let u=i[l++]=o[c++]-r;i[l++]=o[c++]-e,s=Math.max(s,u)}return new t(i,s,this.set)}};a(Vl,"checkSide");a(Bt,"resolveNode");er=class{static{a(this,"BaseNode")}cursor(e=0){return new Jt(this,e)}getChild(e,n=null,r=null){let o=Fl(this,e,n,r);return o.length?o[0]:null}getChildren(e,n=null,r=null){return Fl(this,e,n,r)}resolve(e,n=0){return Bt(this,e,n,!1)}resolveInner(e,n=0){return Bt(this,e,n,!0)}matchContext(e){return Oi(this.parent,e)}enterUnfinishedNodesBefore(e){let n=this.childBefore(e),r=this;for(;n;){let o=n.lastChild;if(!o||o.to!=n.to)break;o.type.isError&&o.from==o.to?(r=n,n=o.prevSibling):n=o}return r}get node(){return this}get next(){return this.parent}},me=class t extends er{static{a(this,"TreeNode")}constructor(e,n,r,o){super(),this._tree=e,this.from=n,this.index=r,this._parent=o}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,n,r,o,i=0){for(let s=this;;){for(let{children:c,positions:l}=s._tree,u=n>0?c.length:-1;e!=u;e+=n){let f=c[e],d=l[e]+s.from,O;if(!(!(i&q.EnterBracketed&&f instanceof Y&&(O=it.get(f))&&!O.overlay&&O.bracketed&&r>=d&&r<=d+f.length)&&!Vl(o,r,d,d+f.length))){if(f instanceof Fe){if(i&q.ExcludeBuffers)continue;let h=f.findChild(0,f.buffer.length,n,r-d,o);if(h>-1)return new Ht(new mi(s,f,e,d),null,h)}else if(i&q.IncludeAnonymous||!f.type.isAnonymous||yi(f)){let h;if(!(i&q.IgnoreMounts)&&(h=it.get(f))&&!h.overlay)return new t(h.tree,d,e,s);let w=new t(f,d,e,s);return i&q.IncludeAnonymous||!w.type.isAnonymous?w:w.nextChild(n<0?f.children.length-1:0,n,r,o,i)}}}if(i&q.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+n:e=n<0?-1:s._parent._tree.children.length,s=s._parent,!s))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,n,r=0){let o;if(!(r&q.IgnoreOverlays)&&(o=it.get(this._tree))&&o.overlay){let i=e-this.from,s=r&q.EnterBracketed&&o.bracketed;for(let{from:c,to:l}of o.overlay)if((n>0||s?c<=i:c<i)&&(n<0||s?l>=i:l>i))return new t(o.tree,o.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,n,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};a(Fl,"getChildren");a(Oi,"matchNodeContext");mi=class{static{a(this,"BufferContext")}constructor(e,n,r,o){this.parent=e,this.buffer=n,this.index=r,this.start=o}},Ht=class t extends er{static{a(this,"BufferNode")}get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,n,r){super(),this.context=e,this._parent=n,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,n,r){let{buffer:o}=this.context,i=o.findChild(this.index+4,o.buffer[this.index+3],e,n-this.context.start,r);return i<0?null:new t(this.context,this,i)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,n,r=0){if(r&q.ExcludeBuffers)return null;let{buffer:o}=this.context,i=o.findChild(this.index+4,o.buffer[this.index+3],n>0?1:-1,e-this.context.start,n);return i<0?null:new t(this.context,this,i)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,n=e.buffer[this.index+3];return n<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new t(this.context,this._parent,n):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,n=this._parent?this._parent.index+4:0;return this.index==n?this.externalSibling(-1):new t(this.context,this._parent,e.findChild(n,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],n=[],{buffer:r}=this.context,o=this.index+4,i=r.buffer[this.index+3];if(i>o){let s=r.buffer[this.index+1];e.push(r.slice(o,i,s)),n.push(0)}return new Y(this.type,e,n,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};a(Dl,"iterStack");hi=class{static{a(this,"StackIterator")}constructor(e,n){this.heads=e,this.node=n}get next(){return Dl(this.heads)}};a(dh,"stackIterator");Jt=class{static{a(this,"TreeCursor")}get name(){return this.type.name}constructor(e,n=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=n&~q.EnterBracketed,e instanceof me)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,n){this.index=e;let{start:r,buffer:o}=this.buffer;return this.type=n||o.set.types[o.buffer[e]],this.from=r+o.buffer[e+1],this.to=r+o.buffer[e+2],!0}yield(e){return e?e instanceof me?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,n,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,n,r,this.mode));let{buffer:o}=this.buffer,i=o.findChild(this.index+4,o.buffer[this.index+3],e,n-this.buffer.start,r);return i<0?!1:(this.stack.push(this.index),this.yieldBuf(i))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,n,r=this.mode){return this.buffer?r&q.ExcludeBuffers?!1:this.enterChild(1,e,n):this.yield(this._tree.enter(e,n,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&q.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&q.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:n}=this.buffer,r=this.stack.length-1;if(e<0){let o=r<0?0:this.stack[r]+4;if(this.index!=o)return this.yieldBuf(n.findChild(o,this.index,-1,0,4))}else{let o=n.buffer[this.index+3];if(o<(r<0?n.buffer.length:n.buffer[this.stack[r]+3]))return this.yieldBuf(o)}return r<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let n,r,{buffer:o}=this;if(o){if(e>0){if(this.index<o.buffer.buffer.length)return!1}else for(let i=0;i<this.index;i++)if(o.buffer.buffer[i+3]<this.index)return!1;({index:n,parent:r}=o)}else({index:n,_parent:r}=this._tree);for(;r;{index:n,_parent:r}=r)if(n>-1)for(let i=n+e,s=e<0?-1:r._tree.children.length;i!=s;i+=e){let c=r._tree.children[i];if(this.mode&q.IncludeAnonymous||c instanceof Fe||!c.type.isAnonymous||yi(c))return!1}return!0}move(e,n){if(n&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,n=0){for(;(this.from==this.to||(n<1?this.from>=e:this.from>e)||(n>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,n););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,n=null,r=0;if(e&&e.context==this.buffer)e:for(let o=this.index,i=this.stack.length;i>=0;){for(let s=e;s;s=s._parent)if(s.index==o){if(o==this.index)return s;n=s,r=i+1;break e}o=this.stack[--i]}for(let o=r;o<this.stack.length;o++)n=new Ht(this.buffer,n,this.stack[o]);return this.bufferNode=new Ht(this.buffer,n,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,n){for(let r=0;;){let o=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){r++;continue}this.type.isAnonymous||(o=!0)}for(;;){if(o&&n&&n(this),o=this.type.isAnonymous,!r)return;if(this.nextSibling())break;this.parent(),r--,o=!0}}}matchContext(e){if(!this.buffer)return Oi(this.node.parent,e);let{buffer:n}=this.buffer,{types:r}=n.set;for(let o=e.length-1,i=this.stack.length-1;o>=0;i--){if(i<0)return Oi(this._tree,e,o);let s=r[n.buffer[this.stack[i]]];if(!s.isAnonymous){if(e[o]&&e[o]!=s.name)return!1;o--}}return!0}};a(yi,"hasChild");a(uh,"buildTree");Ul=new WeakMap;a(Hn,"nodeSize");a(wi,"balanceRange");tr=class{static{a(this,"Parser")}startParse(e,n,r){return typeof e=="string"&&(e=new gi(e)),r=r?r.length?r.map(o=>new Zt(o.from,o.to)):[new Zt(0,0)]:[new Zt(0,e.length)],this.createParse(e,n||[],r)}parse(e,n,r){let o=this.startParse(e,n,r);for(;;){let i=o.advance();if(i)return i}}},gi=class{static{a(this,"StringInput")}constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,n){return this.string.slice(e,n)}},U1=new A({perNode:!0})});function en(t,e=Uint16Array){if(typeof t!="string")return t;let n=null;for(let r=0,o=0;r<t.length;){let i=0;for(;;){let s=t.charCodeAt(r++),c=!1;if(s==126){i=65535;break}s>=92&&s--,s>=34&&s--;let l=s-32;if(l>=46&&(l-=46,c=!0),i+=l,c)break;i*=46}n?n[o++]=i:n=new e(i)}return n}function Zl(t,e,n,r,o,i){let s=0,c=1<<r,{dialect:l}=n.p.parser;e:for(;(c&t[s])!=0;){let u=t[s+1];for(let h=s+3;h<u;h+=2)if((t[h+1]&c)>0){let w=t[h];if(l.allows(w)&&(e.token.value==-1||e.token.value==w||ph(w,e.token.value,o,i))){e.acceptToken(w);break}}let f=e.next,d=0,O=t[s+2];if(e.next<0&&O>d&&t[u+O*3-3]==65535){s=t[u+O*3-1];continue e}for(;d<O;){let h=d+O>>1,w=u+h+(h<<1),Q=t[w],g=t[w+1]||65536;if(f<Q)O=h;else if(f>=g)d=h+1;else{s=t[w+2],e.advance();continue e}}break}}function Yl(t,e,n){for(let r=e,o;(o=t[r])!=65535;r++)if(o==n)return r-e;return-1}function ph(t,e,n,r){let o=Yl(n,r,e);return o<0||Yl(n,r,t)<o}function Ll(t,e,n){let r=t.cursor(q.IncludeAnonymous);for(r.moveTo(e);;)if(!(n<0?r.childBefore(e):r.childAfter(e)))for(;;){if((n<0?r.to<e:r.from>e)&&!r.type.isError)return n<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(t.length,Math.max(r.from+1,e+25));if(n<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return n<0?0:t.length}}function Kl(t,e){for(let n=0;n<e.length;n++){let r=e[n];if(r.pos==t.pos&&r.sameState(t)){e[n].score<t.score&&(e[n]=t);return}}e.push(t)}function be(t,e){return t[e]|t[e+1]<<16}function Oh(t){let e=null;for(let n of t){let r=n.p.stoppedAt;(n.pos==n.p.stream.end||r!=null&&n.pos>r)&&n.p.parser.stateFlag(n.state,2)&&(!e||e.score<n.score)&&(e=n)}return e}function Gl(t){if(t.external){let e=t.extend?1:0;return(n,r)=>t.external(n,r)<<1|e}return t.get}var ki,nr,bi,xi,Pt,Nl,Ti,Ue,tn,te,ee,Si,vi,Ri,$i,_i,Qi,St,Ve,rr=p(()=>{Pi();ki=class t{static{a(this,"Stack")}constructor(e,n,r,o,i,s,c,l,u,f=0,d){this.p=e,this.stack=n,this.state=r,this.reducePos=o,this.pos=i,this.score=s,this.buffer=c,this.bufferBase=l,this.curContext=u,this.lookAhead=f,this.parent=d}toString(){return`[${this.stack.filter((e,n)=>n%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,n,r=0){let o=e.parser.context;return new t(e,[],n,r,r,0,[],0,o?new nr(o,o.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,n){this.stack.push(this.state,n,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var n;let r=e>>19,o=e&65535,{parser:i}=this.p,s=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),c=i.dynamicPrecedence(o);if(c&&(this.score+=c),r==0){o<i.minRepeatTerm&&this.reducePos<this.pos&&(this.reducePos=this.pos),this.pushState(i.getGoto(this.state,o,!0),this.reducePos),o<i.minRepeatTerm&&this.storeNode(o,this.reducePos,this.reducePos,s?8:4,!0),this.reduceContext(o,this.reducePos);return}let l=this.stack.length-(r-1)*3-(e&262144?6:0),u=l?this.stack[l-2]:this.p.ranges[0].from;o<i.minRepeatTerm&&u==this.reducePos&&this.reducePos<this.pos&&(this.reducePos=this.pos);let f=this.reducePos-u;f>=2e3&&!(!((n=this.p.parser.nodeSet.types[o])===null||n===void 0)&&n.isAnonymous)&&(u==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=f):this.p.lastBigReductionSize<f&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=u,this.p.lastBigReductionSize=f));let d=l?this.stack[l-1]:0,O=this.bufferBase+this.buffer.length-d;if(o<i.minRepeatTerm||e&131072){let h=i.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(o,u,h,O+4,!0)}if(e&262144)this.state=this.stack[l];else{let h=this.stack[l-3];this.state=i.getGoto(h,o,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(o,u)}storeNode(e,n,r,o=4,i=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let s=this.buffer.length;if(s>0&&this.buffer[s-4]==0&&this.buffer[s-1]>-1){if(n==r)return;if(this.buffer[s-2]>=n){this.buffer[s-2]=r;return}}}if(!i||this.pos==r)this.buffer.push(e,n,r,o);else{let s=this.buffer.length;if(s>0&&(this.buffer[s-4]!=0||this.buffer[s-1]<0)){let c=!1;for(let l=s;l>0&&this.buffer[l-2]>r;l-=4)if(this.buffer[l-1]>=0){c=!0;break}if(c)for(;s>0&&this.buffer[s-2]>r;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,o>4&&(o-=4)}this.buffer[s]=e,this.buffer[s+1]=n,this.buffer[s+2]=r,this.buffer[s+3]=o}}shift(e,n,r,o){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let i=e,{parser:s}=this.p;this.pos=o;let c=s.stateFlag(i,1);!c&&(o>r||n<=s.maxNode)&&(this.reducePos=o),this.pushState(i,c?r:Math.min(r,this.reducePos)),this.shiftContext(n,r),n<=s.maxNode&&this.buffer.push(n,r,o,4)}else this.pos=o,this.shiftContext(n,r),n<=this.p.parser.maxNode&&this.buffer.push(n,r,o,4)}apply(e,n,r,o){e&65536?this.reduce(e):this.shift(e,n,r,o)}useNode(e,n){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let o=this.pos;this.reducePos=this.pos=o+e.length,this.pushState(n,o),this.buffer.push(r,o,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,n=e.buffer.length;for(n&&e.buffer[n-4]==0&&(n-=4);n>0&&e.buffer[n-2]>e.reducePos;)n-=4;let r=e.buffer.slice(n),o=e.bufferBase+n;for(;e&&o==e.bufferBase;)e=e.parent;return new t(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,o,this.curContext,this.lookAhead,e)}recoverByDelete(e,n){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,n,4),this.storeNode(0,this.pos,n,r?8:4),this.pos=this.reducePos=n,this.score-=190}canShift(e){for(let n=new bi(this);;){let r=this.p.parser.stateSlot(n.state,4)||this.p.parser.hasAction(n.state,e);if(r==0)return!1;if((r&65536)==0)return!0;n.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let n=this.p.parser.nextStates(this.state);if(n.length>8||this.stack.length>=120){let o=[];for(let i=0,s;i<n.length;i+=2)(s=n[i+1])!=this.state&&this.p.parser.hasAction(s,e)&&o.push(n[i],s);if(this.stack.length<120)for(let i=0;o.length<8&&i<n.length;i+=2){let s=n[i+1];o.some((c,l)=>l&1&&c==s)||o.push(n[i],s)}n=o}let r=[];for(let o=0;o<n.length&&r.length<4;o+=2){let i=n[o+1];if(i==this.state)continue;let s=this.split();s.pushState(i,this.pos),s.storeNode(0,s.pos,s.pos,4,!0),s.shiftContext(n[o],this.pos),s.reducePos=this.pos,s.score-=200,r.push(s)}return r}forceReduce(){let{parser:e}=this.p,n=e.stateSlot(this.state,5);if((n&65536)==0)return!1;if(!e.validAction(this.state,n)){let r=n>>19,o=n&65535,i=this.stack.length-r*3;if(i<0||e.getGoto(this.stack[i],o,!1)<0){let s=this.findForcedReduction();if(s==null)return!1;n=s}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(n),!0}findForcedReduction(){let{parser:e}=this.p,n=[],r=a((o,i)=>{if(!n.includes(o))return n.push(o),e.allActions(o,s=>{if(!(s&393216))if(s&65536){let c=(s>>19)-i;if(c>1){let l=s&65535,u=this.stack.length-c*3;if(u>=0&&e.getGoto(this.stack[u],l,!1)>=0)return c<<19|65536|l}}else{let c=r(s,i+1);if(c!=null)return c}})},"explore");return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let n=0;n<this.stack.length;n+=3)if(this.stack[n]!=e.stack[n])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(n)))}reduceContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(n)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let n=new nr(this.curContext.tracker,e);n.hash!=this.curContext.hash&&this.emitContext(),this.curContext=n}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},nr=class{static{a(this,"StackContext")}constructor(e,n){this.tracker=e,this.context=n,this.hash=e.strict?e.hash(n):0}},bi=class{static{a(this,"SimulatedStack")}constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let n=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let o=this.start.p.parser.getGoto(this.stack[this.base-3],n,!0);this.state=o}},xi=class t{static{a(this,"StackBufferCursor")}constructor(e,n,r){this.stack=e,this.pos=n,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,n=e.bufferBase+e.buffer.length){return new t(e,n,n-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new t(this.stack,this.pos,this.index)}};a(en,"decodeArray");Pt=class{static{a(this,"CachedToken")}constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Nl=new Pt,Ti=class{static{a(this,"InputStream")}constructor(e,n){this.input=e,this.ranges=n,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Nl,this.rangeIndex=0,this.pos=this.chunkPos=n[0].from,this.range=n[0],this.end=n[n.length-1].to,this.readNext()}resolveOffset(e,n){let r=this.range,o=this.rangeIndex,i=this.pos+e;for(;i<r.from;){if(!o)return null;let s=this.ranges[--o];i-=r.from-s.to,r=s}for(;n<0?i>r.to:i>=r.to;){if(o==this.ranges.length-1)return null;let s=this.ranges[++o];i+=s.from-r.to,r=s}return i}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let n of this.ranges)if(n.to>e)return Math.max(e,n.from);return this.end}peek(e){let n=this.chunkOff+e,r,o;if(n>=0&&n<this.chunk.length)r=this.pos+e,o=this.chunk.charCodeAt(n);else{let i=this.resolveOffset(e,1);if(i==null)return-1;if(r=i,r>=this.chunk2Pos&&r<this.chunk2Pos+this.chunk2.length)o=this.chunk2.charCodeAt(r-this.chunk2Pos);else{let s=this.rangeIndex,c=this.range;for(;c.to<=r;)c=this.ranges[++s];this.chunk2=this.input.chunk(this.chunk2Pos=r),r+this.chunk2.length>c.to&&(this.chunk2=this.chunk2.slice(0,c.to-r)),o=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),o}acceptToken(e,n=0){let r=n?this.resolveOffset(n,-1):this.pos;if(r==null||r<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=r}acceptTokenTo(e,n){this.token.value=e,this.token.end=n}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:n}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=n,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),n=this.pos+e.length;this.chunk=n>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,n){if(n?(this.token=n,n.start=e,n.lookAhead=e+1,n.value=n.extended=-1):this.token=Nl,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,n){if(e>=this.chunkPos&&n<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,n-this.chunkPos);if(e>=this.chunk2Pos&&n<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,n-this.chunk2Pos);if(e>=this.range.from&&n<=this.range.to)return this.input.read(e,n);let r="";for(let o of this.ranges){if(o.from>=n)break;o.to>e&&(r+=this.input.read(Math.max(o.from,e),Math.min(o.to,n)))}return r}},Ue=class{static{a(this,"TokenGroup")}constructor(e,n){this.data=e,this.id=n}token(e,n){let{parser:r}=n.p;Zl(this.data,e,n,this.id,r.data,r.tokenPrecTable)}};Ue.prototype.contextual=Ue.prototype.fallback=Ue.prototype.extend=!1;tn=class{static{a(this,"LocalTokenGroup")}constructor(e,n,r){this.precTable=n,this.elseToken=r,this.data=typeof e=="string"?en(e):e}token(e,n){let r=e.pos,o=0;for(;;){let i=e.next<0,s=e.resolveOffset(1,1);if(Zl(this.data,e,n,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(i||o++,s==null)break;e.reset(s,e.token)}o&&(e.reset(r,e.token),e.acceptToken(this.elseToken,o))}};tn.prototype.contextual=Ue.prototype.fallback=Ue.prototype.extend=!1;te=class{static{a(this,"ExternalTokenizer")}constructor(e,n={}){this.token=e,this.contextual=!!n.contextual,this.fallback=!!n.fallback,this.extend=!!n.extend}};a(Zl,"readToken");a(Yl,"findOffset");a(ph,"overrides");ee=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),Si=null;a(Ll,"cutAt");vi=class{static{a(this,"FragmentCursor")}constructor(e,n){this.fragments=e,this.nodeSet=n,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Ll(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Ll(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let n=this.trees.length-1;if(n<0)return this.nextFragment(),null;let r=this.trees[n],o=this.index[n];if(o==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let i=r.children[o],s=this.start[n]+r.positions[o];if(s>e)return this.nextStart=s,null;if(i instanceof Y){if(s==e){if(s<this.safeFrom)return null;let c=s+i.length;if(c<=this.safeTo){let l=i.prop(A.lookAhead);if(!l||c+l<this.fragment.to)return i}}this.index[n]++,s+i.length>=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(s),this.index.push(0))}else this.index[n]++,this.nextStart=s+i.length}}},Ri=class{static{a(this,"TokenCache")}constructor(e,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new Pt)}getActions(e){let n=0,r=null,{parser:o}=e.p,{tokenizers:i}=o,s=o.stateSlot(e.state,3),c=e.curContext?e.curContext.hash:0,l=0;for(let u=0;u<i.length;u++){if((1<<u&s)==0)continue;let f=i[u],d=this.tokens[u];if(!(r&&!f.fallback)&&((f.contextual||d.start!=e.pos||d.mask!=s||d.context!=c)&&(this.updateCachedToken(d,f,e),d.mask=s,d.context=c),d.lookAhead>d.end+25&&(l=Math.max(d.lookAhead,l)),d.value!=0)){let O=n;if(d.extended>-1&&(n=this.addActions(e,d.extended,d.end,n)),n=this.addActions(e,d.value,d.end,n),!f.extend&&(r=d,n>O))break}}for(;this.actions.length>n;)this.actions.pop();return l&&e.setLookAhead(l),!r&&e.pos==this.stream.end&&(r=new Pt,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,n=this.addActions(e,r.value,r.end,n)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let n=new Pt,{pos:r,p:o}=e;return n.start=r,n.end=Math.min(r+1,o.stream.end),n.value=r==o.stream.end?o.parser.eofTerm:0,n}updateCachedToken(e,n,r){let o=this.stream.clipPos(r.pos);if(n.token(this.stream.reset(o,e),r),e.value>-1){let{parser:i}=r.p;for(let s=0;s<i.specialized.length;s++)if(i.specialized[s]==e.value){let c=i.specializers[s](this.stream.read(e.start,e.end),r);if(c>=0&&r.p.parser.dialect.allows(c>>1)){(c&1)==0?e.value=c>>1:e.extended=c>>1;break}}}else e.value=0,e.end=this.stream.clipPos(o+1)}putAction(e,n,r,o){for(let i=0;i<o;i+=3)if(this.actions[i]==e)return o;return this.actions[o++]=e,this.actions[o++]=n,this.actions[o++]=r,o}addActions(e,n,r,o){let{state:i}=e,{parser:s}=e.p,{data:c}=s;for(let l=0;l<2;l++)for(let u=s.stateSlot(i,l?2:1);;u+=3){if(c[u]==65535)if(c[u+1]==1)u=be(c,u+2);else{o==0&&c[u+1]==2&&(o=this.putAction(be(c,u+2),n,r,o));break}c[u]==n&&(o=this.putAction(be(c,u+1),n,r,o))}return o}},$i=class{static{a(this,"Parse")}constructor(e,n,r,o){this.parser=e,this.input=n,this.ranges=o,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Ti(n,o),this.tokens=new Ri(e,this.stream),this.topTerm=e.top[1];let{from:i}=o[0];this.stacks=[ki.start(this,e.top[0],i)],this.fragments=r.length&&this.stream.end-i>e.bufferLength*4?new vi(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,n=this.minStackPos,r=this.stacks=[],o,i;if(this.bigReductionCount>300&&e.length==1){let[s]=e;for(;s.forceReduce()&&s.stack.length&&s.stack[s.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;s<e.length;s++){let c=e[s];for(;;){if(this.tokens.mainToken=null,c.pos>n)r.push(c);else{if(this.advanceStack(c,r,e))continue;{o||(o=[],i=[]),o.push(c);let l=this.tokens.getMainToken(c);i.push(l.value,l.end)}}break}}if(!r.length){let s=o&&Oh(o);if(s)return ee&&console.log("Finish with "+this.stackID(s)),this.stackToTree(s);if(this.parser.strict)throw ee&&o&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&o){let s=this.stoppedAt!=null&&o[0].pos>this.stoppedAt?o[0]:this.runRecovery(o,i,r);if(s)return ee&&console.log("Force-finish "+this.stackID(s)),this.stackToTree(s.forceAll())}if(this.recovering){let s=this.recovering==1?1:this.recovering*3;if(r.length>s)for(r.sort((c,l)=>l.score-c.score);r.length>s;)r.pop();r.some(c=>c.reducePos>n)&&this.recovering--}else if(r.length>1){e:for(let s=0;s<r.length-1;s++){let c=r[s];for(let l=s+1;l<r.length;l++){let u=r[l];if(c.sameState(u)||c.buffer.length>500&&u.buffer.length>500)if((c.score-u.score||c.buffer.length-u.buffer.length)>0)r.splice(l--,1);else{r.splice(s--,1);continue e}}}r.length>12&&(r.sort((s,c)=>c.score-s.score),r.splice(12,r.length-12))}this.minStackPos=r[0].pos;for(let s=1;s<r.length;s++)r[s].pos<this.minStackPos&&(this.minStackPos=r[s].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,n,r){let o=e.pos,{parser:i}=this,s=ee?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&o>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let u=e.curContext&&e.curContext.tracker.strict,f=u?e.curContext.hash:0;for(let d=this.fragments.nodeAt(o);d;){let O=this.parser.nodeSet.types[d.type.id]==d.type?i.getGoto(e.state,d.type.id):-1;if(O>-1&&d.length&&(!u||(d.prop(A.contextHash)||0)==f))return e.useNode(d,O),ee&&console.log(s+this.stackID(e)+` (via reuse of ${i.getName(d.type.id)})`),!0;if(!(d instanceof Y)||d.children.length==0||d.positions[0]>0)break;let h=d.children[0];if(h instanceof Y&&d.positions[0]==0)d=h;else break}}let c=i.stateSlot(e.state,4);if(c>0)return e.reduce(c),ee&&console.log(s+this.stackID(e)+` (via always-reduce ${i.getName(c&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let u=0;u<l.length;){let f=l[u++],d=l[u++],O=l[u++],h=u==l.length||!r,w=h?e:e.split(),Q=this.tokens.mainToken;if(w.apply(f,d,Q?Q.start:w.pos,O),ee&&console.log(s+this.stackID(w)+` (via ${(f&65536)==0?"shift":`reduce of ${i.getName(f&65535)}`} for ${i.getName(d)} @ ${o}${w==e?"":", split"})`),h)return!0;w.pos>o?n.push(w):r.push(w)}return!1}advanceFully(e,n){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return Kl(e,n),!0}}runRecovery(e,n,r){let o=null,i=!1;for(let s=0;s<e.length;s++){let c=e[s],l=n[s<<1],u=n[(s<<1)+1],f=ee?this.stackID(c)+" -> ":"";if(c.deadEnd&&(i||(i=!0,c.restart(),ee&&console.log(f+this.stackID(c)+" (restarted)"),this.advanceFully(c,r))))continue;let d=c.split(),O=f;for(let h=0;h<10&&d.forceReduce()&&(ee&&console.log(O+this.stackID(d)+" (via force-reduce)"),!this.advanceFully(d,r));h++)ee&&(O=this.stackID(d)+" -> ");for(let h of c.recoverByInsert(l))ee&&console.log(f+this.stackID(h)+" (via recover-insert)"),this.advanceFully(h,r);this.stream.end>c.pos?(u==c.pos&&(u++,l=0),c.recoverByDelete(l,u),ee&&console.log(f+this.stackID(c)+` (via recover-delete ${this.parser.getName(l)})`),Kl(c,r)):(!o||o.score<d.score)&&(o=d)}return o}stackToTree(e){return e.close(),Y.build({buffer:xi.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let n=(Si||(Si=new WeakMap)).get(e);return n||Si.set(e,n=String.fromCodePoint(this.nextStackID++)),n+e}};a(Kl,"pushStackDedup");_i=class{static{a(this,"Dialect")}constructor(e,n,r){this.source=e,this.flags=n,this.disabled=r}allows(e){return!this.disabled||this.disabled[e]==0}},Qi=a(t=>t,"id"),St=class{static{a(this,"ContextTracker")}constructor(e){this.start=e.start,this.shift=e.shift||Qi,this.reduce=e.reduce||Qi,this.reuse=e.reuse||Qi,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},Ve=class t extends tr{static{a(this,"LRParser")}constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let n=e.nodeNames.split(" ");this.minRepeatTerm=n.length;for(let c=0;c<e.repeatNodeCount;c++)n.push("");let r=Object.keys(e.topRules).map(c=>e.topRules[c][1]),o=[];for(let c=0;c<n.length;c++)o.push([]);function i(c,l,u){o[c].push([l,l.deserialize(String(u))])}if(a(i,"setProp"),e.nodeProps)for(let c of e.nodeProps){let l=c[0];typeof l=="string"&&(l=A[l]);for(let u=1;u<c.length;){let f=c[u++];if(f>=0)i(f,l,c[u++]);else{let d=c[u+-f];for(let O=-f;O>0;O--)i(c[u++],l,d);u++}}}this.nodeSet=new Jn(n.map((c,l)=>oe.define({name:l>=this.minRepeatTerm?void 0:c,id:l,props:o[l],top:r.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let s=en(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let c=0;c<this.specializerSpecs.length;c++)this.specialized[c]=this.specializerSpecs[c].term;this.specializers=this.specializerSpecs.map(Gl),this.states=en(e.states,Uint32Array),this.data=en(e.stateData),this.goto=en(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(c=>typeof c=="number"?new Ue(s,c):c),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,n,r){let o=new $i(this,e,n,r);for(let i of this.wrappers)o=i(o,e,n,r);return o}getGoto(e,n,r=!1){let o=this.goto;if(n>=o[0])return-1;for(let i=o[n+1];;){let s=o[i++],c=s&1,l=o[i++];if(c&&r)return l;for(let u=i+(s>>1);i<u;i++)if(o[i]==e)return l;if(c)return-1}}hasAction(e,n){let r=this.data;for(let o=0;o<2;o++)for(let i=this.stateSlot(e,o?2:1),s;;i+=3){if((s=r[i])==65535)if(r[i+1]==1)s=r[i=be(r,i+2)];else{if(r[i+1]==2)return be(r,i+2);break}if(s==n||s==0)return be(r,i+1)}return 0}stateSlot(e,n){return this.states[e*6+n]}stateFlag(e,n){return(this.stateSlot(e,0)&n)>0}validAction(e,n){return!!this.allActions(e,r=>r==n?!0:null)}allActions(e,n){let r=this.stateSlot(e,4),o=r?n(r):void 0;for(let i=this.stateSlot(e,1);o==null;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=be(this.data,i+2);else break;o=n(be(this.data,i+1))}return o}nextStates(e){let n=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=be(this.data,r+2);else break;if((this.data[r+2]&1)==0){let o=this.data[r+1];n.some((i,s)=>s&1&&i==o)||n.push(this.data[r],o)}}return n}configure(e){let n=Object.assign(Object.create(t.prototype),this);if(e.props&&(n.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);n.top=r}return e.tokenizers&&(n.tokenizers=this.tokenizers.map(r=>{let o=e.tokenizers.find(i=>i.from==r);return o?o.to:r})),e.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((r,o)=>{let i=e.specializers.find(c=>c.from==r.external);if(!i)return r;let s=Object.assign(Object.assign({},r),{external:i.to});return n.specializers[o]=Gl(s),s})),e.contextTracker&&(n.context=e.contextTracker),e.dialect&&(n.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(n.strict=e.strict),e.wrap&&(n.wrappers=n.wrappers.concat(e.wrap)),e.bufferLength!=null&&(n.bufferLength=e.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let n=this.dynamicPrecedences;return n==null?0:n[e]||0}parseDialect(e){let n=Object.keys(this.dialects),r=n.map(()=>!1);if(e)for(let i of e.split(" ")){let s=n.indexOf(i);s>=0&&(r[s]=!0)}let o=null;for(let i=0;i<n.length;i++)if(!r[i])for(let s=this.dialects[n[i]],c;(c=this.data[s++])!=65535;)(o||(o=new Uint8Array(this.maxTerm+1)))[c]=1;return new _i(e,r,o)}static deserialize(e){return new t(e)}};a(be,"pair");a(Oh,"findFinished");a(Gl,"getSpecializer")});function gh(t,e){return t.length==e.length&&t.every((n,r)=>n==e[r])}function yh(t){let e=[[]];for(let n=0;n<t.length;n++)for(let r=0,o=e.length;r<o;r++)e.push(e[r].concat(t[n]));return e.sort((n,r)=>r.length-n.length)}function kt(t){let e=Object.create(null);for(let n in t){let r=t[n];Array.isArray(r)||(r=[r]);for(let o of n.split(" "))if(o){let i=[],s=2,c=o;for(let d=0;;){if(c=="..."&&d>0&&d+3==o.length){s=1;break}let O=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(c);if(!O)throw new RangeError("Invalid path: "+o);if(i.push(O[0]=="*"?"":O[0][0]=='"'?JSON.parse(O[0]):O[0]),d+=O[0].length,d==o.length)break;let h=o[d++];if(d==o.length&&h=="!"){s=0;break}if(h!="/")throw new RangeError("Invalid path: "+o);c=o.slice(d)}let l=i.length-1,u=i[l];if(!u)throw new RangeError("Invalid path: "+o);let f=new Qt(r,s,l>0?i.slice(0,l):null);e[u]=f.sort(e[u])}}return wh.add(e)}function Ph(t,e){let n=Object.create(null);for(let i of t)if(!Array.isArray(i.tag))n[i.tag.id]=i.class;else for(let s of i.tag)n[s.id]=i.class;let{scope:r,all:o=null}=e||{};return{style:a(i=>{let s=o;for(let c of i)for(let l of c.set){let u=n[l.id];if(u){s=s?s+" "+u:u;break}}return s},"style"),scope:r}}var mh,ce,hh,ar,wh,Qt,x,or,De,Bl,Hl,Ne,ir,Xi,ye,st,he,ge,Ei,nn,sr,m,G1,cr=p(()=>{Pi();mh=0,ce=class t{static{a(this,"Tag")}constructor(e,n,r,o){this.name=e,this.set=n,this.base=r,this.modified=o,this.id=mh++}toString(){let{name:e}=this;for(let n of this.modified)n.name&&(e=`${n.name}(${e})`);return e}static define(e,n){let r=typeof e=="string"?e:"?";if(e instanceof t&&(n=e),n?.base)throw new Error("Can not derive from a modified tag");let o=new t(r,[],null,[]);if(o.set.push(o),n)for(let i of n.set)o.set.push(i);return o}static defineModifier(e){let n=new ar(e);return r=>r.modified.indexOf(n)>-1?r:ar.get(r.base||r,r.modified.concat(n).sort((o,i)=>o.id-i.id))}},hh=0,ar=class t{static{a(this,"Modifier")}constructor(e){this.name=e,this.instances=[],this.id=hh++}static get(e,n){if(!n.length)return e;let r=n[0].instances.find(c=>c.base==e&&gh(n,c.modified));if(r)return r;let o=[],i=new ce(e.name,o,e,n);for(let c of n)c.instances.push(i);let s=yh(n);for(let c of e.set)if(!c.modified.length)for(let l of s)o.push(t.get(c,l));return i}};a(gh,"sameArray");a(yh,"powerSet");a(kt,"styleTags");wh=new A({combine(t,e){let n,r,o;for(;t||e;){if(!t||e&&t.depth>=e.depth?(o=e,e=e.next):(o=t,t=t.next),n&&n.mode==o.mode&&!o.context&&!n.context)continue;let i=new Qt(o.tags,o.mode,o.context);n?n.next=i:r=i,n=i}return r}}),Qt=class{static{a(this,"Rule")}constructor(e,n,r,o){this.tags=e,this.mode=n,this.context=r,this.next=o}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};Qt.empty=new Qt([],2,null);a(Ph,"tagHighlighter");x=ce.define,or=x(),De=x(),Bl=x(De),Hl=x(De),Ne=x(),ir=x(Ne),Xi=x(Ne),ye=x(),st=x(ye),he=x(),ge=x(),Ei=x(),nn=x(Ei),sr=x(),m={comment:or,lineComment:x(or),blockComment:x(or),docComment:x(or),name:De,variableName:x(De),typeName:Bl,tagName:x(Bl),propertyName:Hl,attributeName:x(Hl),className:x(De),labelName:x(De),namespace:x(De),macroName:x(De),literal:Ne,string:ir,docString:x(ir),character:x(ir),attributeValue:x(ir),number:Xi,integer:x(Xi),float:x(Xi),bool:x(Ne),regexp:x(Ne),escape:x(Ne),color:x(Ne),url:x(Ne),keyword:he,self:x(he),null:x(he),atom:x(he),unit:x(he),modifier:x(he),operatorKeyword:x(he),controlKeyword:x(he),definitionKeyword:x(he),moduleKeyword:x(he),operator:ge,derefOperator:x(ge),arithmeticOperator:x(ge),logicOperator:x(ge),bitwiseOperator:x(ge),compareOperator:x(ge),updateOperator:x(ge),definitionOperator:x(ge),typeOperator:x(ge),controlOperator:x(ge),punctuation:Ei,separator:x(Ei),bracket:nn,angleBracket:x(nn),squareBracket:x(nn),paren:x(nn),brace:x(nn),content:ye,heading:st,heading1:x(st),heading2:x(st),heading3:x(st),heading4:x(st),heading5:x(st),heading6:x(st),contentSeparator:x(ye),list:x(ye),quote:x(ye),emphasis:x(ye),strong:x(ye),link:x(ye),monospace:x(ye),strikethrough:x(ye),inserted:x(),deleted:x(),changed:x(),invalid:x(),meta:sr,documentMeta:x(sr),annotation:x(sr),processingInstruction:x(sr),definition:ce.defineModifier("definition"),constant:ce.defineModifier("constant"),function:ce.defineModifier("function"),standard:ce.defineModifier("standard"),local:ce.defineModifier("local"),special:ce.defineModifier("special")};for(let t in m){let e=m[t];e instanceof ce&&(e.name=t)}G1=Ph([{tag:m.link,class:"tok-link"},{tag:m.heading,class:"tok-heading"},{tag:m.emphasis,class:"tok-emphasis"},{tag:m.strong,class:"tok-strong"},{tag:m.keyword,class:"tok-keyword"},{tag:m.atom,class:"tok-atom"},{tag:m.bool,class:"tok-bool"},{tag:m.url,class:"tok-url"},{tag:m.labelName,class:"tok-labelName"},{tag:m.inserted,class:"tok-inserted"},{tag:m.deleted,class:"tok-deleted"},{tag:m.literal,class:"tok-literal"},{tag:m.string,class:"tok-string"},{tag:m.number,class:"tok-number"},{tag:[m.regexp,m.escape,m.special(m.string)],class:"tok-string2"},{tag:m.variableName,class:"tok-variableName"},{tag:m.local(m.variableName),class:"tok-variableName tok-local"},{tag:m.definition(m.variableName),class:"tok-variableName tok-definition"},{tag:m.special(m.variableName),class:"tok-variableName2"},{tag:m.definition(m.propertyName),class:"tok-propertyName tok-definition"},{tag:m.typeName,class:"tok-typeName"},{tag:m.namespace,class:"tok-namespace"},{tag:m.className,class:"tok-className"},{tag:m.macroName,class:"tok-macroName"},{tag:m.propertyName,class:"tok-propertyName"},{tag:m.operator,class:"tok-operator"},{tag:m.comment,class:"tok-comment"},{tag:m.meta,class:"tok-meta"},{tag:m.invalid,class:"tok-invalid"},{tag:m.punctuation,class:"tok-punctuation"}])});var Sh,Qh,kh,bh,xh,Th,vh,Rh,$h,_h,Xh,Eh,Ch,Ih,Ah,Mh,Wh,zh,Jl,qh,jh,Fh,Uh,Vh,Dh,Nh,ed,td=p(()=>{rr();cr();Sh=177,Qh=179,kh=184,bh=12,xh=13,Th=17,vh=20,Rh=25,$h=53,_h=95,Xh=142,Eh=144,Ch=145,Ih=148,Ah=10,Mh=13,Wh=32,zh=9,Jl=47,qh=41,jh=125,Fh=new te((t,e)=>{for(let n=0,r=t.next;(e.context&&(r<0||r==Ah||r==Mh||r==Jl&&t.peek(n+1)==Jl)||r==qh||r==jh)&&t.acceptToken(Sh),!(r!=Wh&&r!=zh);)r=t.peek(++n)},{contextual:!0}),Uh=new Set([_h,kh,vh,bh,Th,Eh,Ch,Xh,Ih,xh,$h,Rh]),Vh=new St({start:!1,shift:a((t,e)=>e==Qh?t:Uh.has(e),"shift")}),Dh=kt({"func interface struct chan map const type var":m.definitionKeyword,"import package":m.moduleKeyword,"switch for go select return break continue goto fallthrough case if else defer":m.controlKeyword,range:m.keyword,Bool:m.bool,String:m.string,Rune:m.character,Number:m.number,Nil:m.null,VariableName:m.variableName,DefName:m.definition(m.variableName),TypeName:m.typeName,LabelName:m.labelName,FieldName:m.propertyName,"FunctionDecl/DefName":m.function(m.definition(m.variableName)),"TypeSpec/DefName":m.definition(m.typeName),"CallExpr/VariableName":m.function(m.variableName),LineComment:m.lineComment,BlockComment:m.blockComment,LogicOp:m.logicOperator,ArithOp:m.arithmeticOperator,BitOp:m.bitwiseOperator,"DerefOp .":m.derefOperator,"UpdateOp IncDecOp":m.updateOperator,CompareOp:m.compareOperator,"= :=":m.definitionOperator,"<-":m.operator,'~ "*"':m.modifier,"; ,":m.separator,"... :":m.punctuation,"( )":m.paren,"[ ]":m.squareBracket,"{ }":m.brace}),Nh={__proto__:null,package:10,import:18,true:380,false:380,nil:383,struct:48,func:68,interface:78,chan:94,map:118,make:157,new:159,const:204,type:212,var:224,if:236,else:238,switch:242,case:248,default:250,for:260,range:266,go:270,select:274,return:284,break:288,continue:290,goto:292,fallthrough:296,defer:300},ed=Ve.deserialize({version:14,states:"!=xO#{QQOOP$SOQOOO&UQTO'#CbO&]QRO'#FlO]QQOOOOQP'#Cn'#CnOOQP'#Co'#CoO&eQQO'#C|O(kQQO'#C{O)]QRO'#GiO+tQQO'#D_OOQP'#Ge'#GeO+{QQO'#GeO.aQTO'#GaO.hQQO'#D`OOQP'#Gm'#GmO.mQRO'#GdO/hQQO'#DgOOQP'#Gd'#GdO/uQQO'#DrO2bQQO'#DsO4QQTO'#GqO,^QTO'#GaO4XQQO'#DxO4^QQO'#D{OOQO'#EQ'#EQOOQO'#ER'#EROOQO'#ES'#ESOOQO'#ET'#ETO4cQQO'#EPO5}QQO'#EPOOQP'#Ga'#GaO6UQQO'#E`O6^QQO'#EcOOQP'#G`'#G`O6cQQO'#EsOOQP'#G_'#G_O&]QRO'#FnOOQO'#Fn'#FnO9QQQO'#G^QOQQOOO&]QROOO9XQQO'#C`O9^QSO'#CdO9lQQO'#C}O9tQQO'#DSO9yQQO'#D[O:kQQO'#CsO:pQQO'#DhO:uQQO'#EeO:}QQO'#EiO;VQQO'#EoO;_QQO'#EuO<uQQO'#ExO<|QQO'#FRO4cQQO'#FWO=WQQO'#FYO=]QRO'#F_O=jQRO'#FaO=uQQO'#FaOOQP'#Fe'#FeO4cQQO'#FgP=zOWO'#C^POOO)CAz)CAzOOQO'#G]'#G]OOQO,5<W,5<WOOQO-E9j-E9jO?TQTO'#CqOOQO'#C|'#C|OOQP,59g,59gO?tQQO'#D_O@fQSO'#FuO@kQQO'#C}O@pQQO'#D[O9XQQO'#FqO@uQRO,5=TOAyQQO,59yOCVQSO,5:[O@kQQO'#C}OCaQQO'#DjOOQP,59^,59^OOQO,5<a,5<aO?tQQO'#DeOOQO,5:e,5:eOOQO-E9s-E9sOOQP,59z,59zOOQP,59|,59|OCqQSO,5:QO(kQQO,5:ROC{QQO,5:RO&]QRO'#FxOOQO'#Fx'#FxOFjQQO'#GpOFwQQO,5:^OF|QQO,5:_OHdQQO,5:`OHlQQO,5:aOHvQRO'#FyOIaQRO,5=]OIuQQO'#DzOOQP,5:d,5:dOOQO'#EV'#EVOOQO'#EW'#EWOOQO'#EX'#EXOOQO'#EZ'#EZOOQO'#E['#E[O4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:wOOQP,5:x,5:xO?tQQO'#EOOOQP,5:g,5:gOOQP,5:k,5:kO9yQQO,59vO4cQQO,5:zO4cQQO,5:}OI|QRO,5;_OOQO,5<Y,5<YOOQO-E9l-E9lO]QQOOOOQP'#Cb'#CbOOQP,58z,58zOOQP'#Cf'#CfOJWQQO'#CfOJ]QSO'#CkOOQP,59O,59OOJkQQO'#DPOLZQQO,5<UOLbQQO,59iOLsQQO,5<TOMpQQO'#DUOOQP,59n,59nOOQP,59v,59vONfQQO,59vONmQQO'#CwOOQP,59_,59_O?tQQO,5:SONxQRO'#EgO! VQQO'#EhOOQP,5;P,5;PO! |QQO'#EkO!!WQQO'#EnOOQP,5;T,5;TO!!`QRO'#EqO!!mQQO'#ErOOQP,5;Z,5;ZO!!uQTO'#CbO!!|QTO,5;aO&]QRO,5;aO!#WQQO,5;jO!$yQTO,5;dO!%WQQO'#EzOOQP,5;d,5;dO&]QRO,5;dO!%cQSO,5;mO!%mQQO'#E`O!%uQQO'#EcO!%zQQO'#FTO!&UQQO'#FTOOQP,5;m,5;mO!&ZQQO,5;mO!&`QTO,5;rO!&mQQO'#F[OOQP,5;t,5;tO!&xQTO'#GqOOQP,5;y,5;yOOQP'#Et'#EtOOQP,5;{,5;{O!']QTO,5<RPOOO'#Fk'#FkP!'jOWO,58xPOOO,58x,58xO!'uQQO,59yO!'zQQO'#GgOOQP,59i,59iO(kQQO,59vOOQP,5<],5<]OOQP-E9o-E9oOOQP1G/e1G/eOOQP1G/v1G/vO!([QSO'#DlO!(lQQO'#DlO!(wQQO'#DkOOQO'#Go'#GoO!(|QQO'#GoO!)UQQO,5:UO!)ZQQO'#GnO!)fQQO,5:PPOQO'#Cq'#CqO(kQQO1G/lOOQP1G/m1G/mO(kQQO1G/mOOQO,5<d,5<dOOQO-E9v-E9vOOQP1G/x1G/xO!)kQSO1G/yOOQP'#Cy'#CyOOQP1G/z1G/zO?tQQO1G/}O!)xQSO1G/{O!*YQQO1G/|O!*gQTO,5<eOOQP-E9w-E9wOOQP,5:f,5:fO!+QQQO,5:fOOQP1G0[1G0[O!,vQTO1G0[O!.wQTO1G0[O!/OQTO1G0[O!0pQTO1G0[O!1QQTO1G0cO!1bQQO,5:jOOQP1G/b1G/bOOQP1G0f1G0fOOQP1G0i1G0iOOQP1G0y1G0yOOQP,59Q,59QO&]QRO'#FmO!1mQSO,59VOOQP,59V,59VOOQO'#DQ'#DQO?tQQO'#DQO!1{QQO'#DQOOQO'#Gh'#GhO!2SQQO'#GhO!2[QQO,59kO!2aQSO'#CqOJkQQO'#DPOOQP,5=R,5=RO@kQQO1G1pOOQP1G/w1G/wO.hQQO'#ElO!2rQRO1G1oO@kQQO1G1oO@kQQO'#DVO?tQQO'#DWOOQP'#Gk'#GkO!2}QRO'#GjOOQP'#Gj'#GjO&]QRO'#FsO!3`QQO,59pOOQP,59p,59pO!3gQRO'#CxO!3uQQO'#CxO!3|QRO'#CxO.hQQO'#CxO&]QRO'#FoO!4XQQO,59cOOQP,59c,59cO!4dQQO1G/nO4cQQO,5;RO!4iQQO,5;RO&]QRO'#FzO!4nQQO,5;SOOQP,5;S,5;SO!6aQQO'#DgO?tQQO,5;VOOQP,5;V,5;VO&]QRO'#F}O!6hQQO,5;YOOQP,5;Y,5;YO!6pQRO,5;]O4cQQO,5;]O&]QRO'#GOO!6{QQO,5;^OOQP,5;^,5;^O!7TQRO1G0{O!7`QQO1G0{O4cQQO1G1UO!8vQQO1G1UOOQP1G1O1G1OO!9OQQO'#GPO!9YQQO,5;fOOQP,5;f,5;fO4cQQO'#E{O!9eQQO'#E{O<uQQO1G1OOOQP1G1X1G1XO!9jQQO,5:zO!9jQQO,5:}O!9tQSO,5;oO!:OQQO,5;oO!:VQQO,5;oO!9OQQO'#GRO!:aQQO,5;vOOQP,5;v,5;vO!<PQQO'#F]O!<WQQO'#F]POOO-E9i-E9iPOOO1G.d1G.dO!<]QQO,5:VO!<gQQO,5=ZO!<tQQO,5=ZOOQP1G/p1G/pO!<|QQO,5=YO!=WQQO,5=YOOQP1G/k1G/kOOQP7+%W7+%WOOQP7+%X7+%XOOQP7+%e7+%eO!=cQQO7+%eO!=hQQO7+%iOOQP7+%g7+%gO!=mQQO7+%gO!=rQQO7+%hO!>PQSO7+%hOOQP7+%h7+%hO4cQQO7+%hOOQP1G0Q1G0QO!>^QQO1G0QOOQP1G0U1G0UO!>fQQO1G0UOF|QQO1G0UOOQO,5<X,5<XOOQO-E9k-E9kOOQP1G.q1G.qOOQO,59l,59lO?tQQO,59lO!?cQQO,5=SO!?jQQO,5=SOOQP1G/V1G/VO!?rQQO,59yO!?}QRO7+'[O!@YQQO'#EmO!@dQQO'#HOO!@lQQO,5;WOOQP7+'Z7+'ZO!@qQRO7+'ZOOQP,59q,59qOOQP,59r,59rOOQO'#DZ'#DZO!@]QQO'#FtO!@|QRO,59tOOQO,5<_,5<_OOQO-E9q-E9qOOQP1G/[1G/[OOQP,59d,59dOHgQQO'#FpO!3uQQO,59dO!A_QRO,59dO!AjQRO,59dOOQO,5<Z,5<ZOOQO-E9m-E9mOOQP1G.}1G.}O(kQQO7+%YOOQP1G0m1G0mO4cQQO1G0mOOQO,5<f,5<fOOQO-E9x-E9xOOQP1G0n1G0nO!AxQQO'#GdOOQP1G0q1G0qOOQO,5<i,5<iOOQO-E9{-E9{OOQP1G0t1G0tO4cQQO1G0wOOQP1G0w1G0wOOQO,5<j,5<jOOQO-E9|-E9|OOQP1G0x1G0xO!B]QQO7+&gO!BeQSO7+&gO!CsQSO7+&pO!CzQQO7+&pOOQO,5<k,5<kOOQO-E9}-E9}OOQP1G1Q1G1QO!DRQQO,5;gOOQO,5;g,5;gO!DWQSO7+&jOOQP7+&j7+&jO!DbQQO7+&pO!7`QQO1G1[O!DgQQO1G1ZOOQO1G1Z1G1ZO!DnQSO1G1ZOOQO,5<m,5<mOOQO-E:P-E:POOQP1G1b1G1bO!DxQSO'#GqO!E]QQO'#F^O!EbQQO'#F^O!EgQQO,5;wOOQO,5;w,5;wO!ElQSO1G/qOOQO1G/q1G/qO!EyQSO'#DoO!FZQQO'#DoO!FfQQO'#DnOOQO,5<c,5<cO!FkQQO1G2uOOQO-E9u-E9uOOQO,5<b,5<bO!FxQQO1G2tOOQO-E9t-E9tOOQP<<IP<<IPOOQP<<IT<<ITOOQP<<IR<<IRO!GSQSO<<ISOOQP<<IS<<ISO4cQQO<<ISO!GaQSO<<ISOOQP7+%l7+%lO!GkQQO7+%lOOQP7+%p7+%pO!GpQQO7+%pO!GuQQO7+%pOOQO1G/W1G/WOOQO,5<^,5<^O!G}QQO1G2nOOQO-E9p-E9pOOQP<<Jv<<JvO.hQQO'#F{O!@YQQO,5;XOOQO,5;X,5;XO!HUQQO,5=jO!H^QQO,5=jOOQO1G0r1G0rOOQP<<Ju<<JuOOQP,5<`,5<`OOQP-E9r-E9rOOQO,5<[,5<[OOQO-E9n-E9nO!HfQRO1G/OOOQP1G/O1G/OOOQP<<Ht<<HtOOQP7+&X7+&XO!HqQQO'#DeOOQP7+&c7+&cOOQP<<JR<<JRO!HxQRO<<JRO!ITQQO<<J[O!I]QQO<<J[OOQO1G1R1G1ROOQP<<JU<<JUO4cQQO<<J[O!IbQSO7+&vOOQO7+&u7+&uO!IlQQO7+&uO4cQQO,5;xOOQO1G1c1G1cO!<]QQO,5:YP!<]QQO'#FwP?tQQO'#FvOOQPAN>nAN>nO4cQQOAN>nO!IsQSOAN>nOOQP<<IW<<IWOOQP<<I[<<I[O!I}QQO<<I[P!>nQQO'#FrOOQO,5<g,5<gOOQO-E9y-E9yOOQO1G0s1G0sOOQO,5<h,5<hO!JVQQO1G3UOOQO-E9z-E9zOOQP7+$j7+$jO!J_QQO'#GnO!B]QQOAN?mO!JjQQOAN?vO!JqQQOAN?vO!KzQSOAN?vOOQO<<Ja<<JaO!LRQSO1G1dO!L]QSO1G/tOOQO1G/t1G/tO!LjQSOG24YOOQPG24YG24YOOQPAN>vAN>vO!LtQQOAN>vP.hQQO'#F|OOQPG25XG25XO!LyQQOG25bO!MOQQO'#FPOOQPG25bG25bO!MZQQOG25bOOQPLD)tLD)tOOQPG24bG24bO!JqQQOLD*|O!9OQQO'#GQO!McQQO,5;kOOQP,5;k,5;kO?tQQO'#FQO!MnQQO'#FQO!MsQQOLD*|OOQP!$'Nh!$'NhOOQO,5<l,5<lOOQO-E:O-E:OOOQP1G1V1G1VO!MzQQO,5;lOOQO,5;l,5;lO!NPQQO!$'NhOOQO1G1W1G1WO!JqQQO!)9DSOOQP!.K9n!.K9nO# {QTO'#CqO#!`QTO'#CqO##}QSO'#CqO#$XQSO'#CqO#&]QSO'#CqO#&gQQO'#FyO#&tQQO'#FyO#'OQQO,5=]O#'ZQQO,5=]O#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO!7`QQO,5:wO!7`QQO,5:zO!7`QQO,5:}O#(yQSO'#CbO#)}QSO'#CbO#*bQSO'#GqO#*rQSO'#GqO#+PQRO'#GgO#+yQSO,5<eO#,ZQSO,5<eO#,hQSO1G0[O#-rQTO1G0[O#-yQSO1G0[O#.TQSO1G0[O#0{QTO1G0[O#1SQSO1G0[O#2eQSO1G0[O#2lQTO1G0[O#2sQSO1G0[O#4XQSO1G0[O#4`QTO1G0[O#4jQSO1G0[O#4wQSO1G0cO#5dQTO'#CqO#5kQTO'#CqO#6bQSO'#GqO#'cQQO'#EPO!7`QQO'#EPOF|QQO'#EPO#8]QQO'#EPO#8gQQO'#EPO#8qQQO'#EPO#8{QQO'#E`O#9TQQO'#EcO@kQQO'#C}O?tQQO,5:RO#9YQQO,59vO#:iQQO,59vO?tQQO,59vO?tQQO1G/lO?tQQO1G/mO?tQQO7+%YO?tQQO'#C{O#:pQQO'#DgO#9YQQO'#D[O#:wQQO'#D[O#:|QSO,5:QO#;WQQO,5:RO#;]QQO1G/nO?tQQO,5:SO#;bQQO'#Dh",stateData:"#;m~O$yOSPOS$zPQ~OVvOX{O[oO^YOaoOdoOh!POjcOr|Ow}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO$v%QP~OTzO~P]O$z!`O~OVeXZeX^eX^!TXj!TXnUXneX!QeX!WeX!W!TX!|eX#ReX#TeX#UeX#WUX$weX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeX~O!a#hX~P$XOV!bO$w!bO~O[!wX^pX^!wXa!wXd!wXhpXh!wXrpXr!wXwpXw!wX!PpX!P!wX!QpX!Q!wX!WpX!W!wX!]pX!]!wX!p!wX!q!wX%OpX%O!wX%U!wX%V!wX%YpX%Y!wX%f!wX%g!wX%h!wX%i!wX%j!wX~O^!hOh!POr!jOw}O!P!OO!Q!kO!WaO!]!QO%O!eO%Y!fO~On!lO#W%]XV%]X^%]Xh%]Xr%]Xw%]X!P%]X!Q%]X!W%]X!]%]X#T%]X$w%]X%O%]X%Y%]Xu%]X~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!WaO!]!QO!phO!qhO%O+wO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!Q-OO~P*aOj!qO^%XX]%XXn%XX!V%XX~O!W!tOV%TXZ%TX^%TXn%TX!Q%TX!W%TX!|%TX#R%TX#T%TX#U%TX$w%TX%Y%TX%`%TX%f%TX%g%TX%i%TX%j%TX%k%TX%l%TX%m%TX%n%TX%o%TX%p%TX%q%TX]%TX!V%TXj%TXi%TX!a%TXu%TX~OZ!sO~P,^O%O!eO~O!W!tO^%WXj%WX]%WXn%WX!V%WXu%WXV%WX$w%WX%`%WX#T%WX[%WX!a%WX~Ou!{O!QnO!V!zO~P*aOV!}O[oO^YOaoOdoOh!POjcOr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlOi%dP~O^#QO~OZ#RO^#VOn#TO!Q#cO!W#SO#R#dO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]OV`X#T%eX#U%eX$w`X~O!|#`O~P2gO^#VO~O^#eO~O!QnO~P*aO[oO^YOaoOdoOh!POr!pOw}O!QnO!WaO!]!QO!phO!qhO%O+wO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!P#hO~P4jO#T#iO#U#iO~O#W#jO~O!a#kO~OVvO[oO^YOaoOdoOh!POjcOr|Ow}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O$v%QX~P6hO%O#oO~OZ#rO[#qO^#sO%O#oO~O^#uO%O#oO~Oj#yO~O^!hOh!POr!jOw}O!P!OO!Q#|O!WaO!]!QO%O!eO%Y!fO~Oj#}O~O!W$PO~O^$RO%O#oO~O^$UO%O#oO~O^$XO%O#oO~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-PO!WaO!]!QO!phO!qhO%O$ZO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~Oj$`O~P;_OV$fOjcO~P;_Oj$kO~O!QnOV$RX$w$RX~P*aO%O$oOV$TX$w$TX~O%O$oO~O${$rO$|$rO$}$tO~OZeX^!TX!W!TXj!TXn!TXh!TXr!TXw!TX{!TX!P!TX!Q!TX!]!TX%O!TX%Y!TX~O]!TX!V!TXu!TX#T!TXV!TX$w!TX%`!TX[!TX!a!TX~P>VO^!hOh!POr-TOw}O!P-_O!Q-`O!W-^O!]-eO%O!eO%Y!fO~OZ!sO~O^#uO~O!P$xO~On!lO#W%]aV%]a^%]ah%]ar%]aw%]a!P%]a!Q%]a!W%]a!]%]a#T%]a$w%]a%O%]a%Y%]au%]a~O]${O^#QO~OZ#RO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O]$|O!|,WO~PBROj!qOn%QO!QnOi%cP~P*aO!V%WO!|#`O~PBRO!V%YO~OV!}O[oO^YOaoOdoOh!POjcOr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~Oi%dX#p%dX#q%dX~PDQOi%]O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-QO!WaO!]!QO!phO!qhO%O+{O%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^%aO%O%_O~O!QnO!a%cO~P*aO!QnOn$mX#T$mX#U$mXV$mX$w$mX!a$mX~P*aOn#TO#T%ea#U%eaV%ea$w%ea!a%ea~O]%fO~PF|OV#ga$w#ga~PDTO[%sO~OZ#rO[#qO]%vO%O#oO~O^!hOh!POn%zOr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO]%[P~O^&OOh!POr!jOw}O!P!OO!Q!kO!WaO!]!QO%Y!fO^%ZXj%ZX~O%O%}O~PKfOjcO^qa]qanqa!Vqa~O^#uO!W&SO~O^!hOh!POr-TOw}O{&WO!P-_O!Q-`O!W-^O!]-eO%O,xO%Y!fO~Oi&^O~PL{O^!hOh!POr!jOw}O!Q!kO!WaO!]!QO%O!eO%Y!fO~O!P#hO~PMwOi&eO%O,yO%Y!fO~O#T&gOV#ZX$w#ZX~P?tO]&kO%O#oO~O^!hOh!POr-TOw}O!P-_O!Q-`O!]-eO%O!eO%Y!fO~O!W&lO#T&mO~P! _O]&qO%O#oO~O#T&sOV#eX$w#eX~P?tO]&vO%O#oO~OjeX~P$XOjcO!|,XO~P2gOn!lO#W&yO#W%]X~O^#VOn#TO!Q#cO!W#SO!|,XO#R#dO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]OV`X#T%eX#U%eX~OZ&zOj$`O$w`X~P!#cOi'OO#p'PO#q'QO~OZ#ROjcO~P!#cO#T'TO#U#iO~O#W'UO~OV'WO!QnO~P*aOV'XO~OjcO~O!|#`OV#za$w#za~PBROi'[O#p']O#q'^O~On#TO!|#`OV%eX$w%eX!a%eX~PBRO!|#`OV$Za$w$Za~PBRO${$rO$|$rO$}'`O~O]${O~O%O!eO]%ZXn%ZX!V%ZX~PKfO!|#`Oi!_Xn!_X!a!`X~PBROi!_Xn!_X!a!`X~O!a'aO~On'bOi%cX~Oi'dO~On'eO!V%bX!a%bX~O!V'gO~O]'jOn'kO!|,YO~PBROn'nO!V'mO!a'oO!|#`O~PBRO!QnO!V'qO!a'rO~P*aO!|#`On$ma#T$ma#U$maV$ma$w$ma!a$ma~PBRO]'sOu'tO~O%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi!|!xi#R!xi#T!xi#U!xi$w!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~O!V!xii!xi!a!xi~P!+YO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi!V!xii!xi!a!xi~O!|!xi~P!-TO!|#`O~P!-TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%q!xi~O!|#`O!V!xii!xi!a!xi~P!/VO!|#`OV#Pi$w#Pi!a#Pi~PBRO]'uOn'wOu'vO~OZ#rO[#qO]'zO%O#oO~Ou'|O~P?tOn'}O]%[X~O](PO~OZeX^mX^!TXj!TX!W!TX~OjcOV$]i$w$]i~O%`(ZOV%^X$w%^Xn%^X!V%^X~Oi(`O~PL{O[(aO!W!tOVlX$wlX~On(bO~P?tO[(aOVlX$wlX~Oi(hO%O,yO%Y!fO~O!V(iO~O#T(kO~O](nO%O#oO~O[oO^YOaoOdoOh!POr!pOu-bOw}O!P!OO!QnO!V-UO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O+zO~P!4vO](sO%O#oO~O#T(tOV#ea$w#ea~O](xO%O#oO~O#k(yOV#ii$w#ii~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-PO!WaO!]!QO!phO!qhO%O+xO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^(|O%O%_O~O#p%dP#q%dP~P/uOi)PO#p'PO#q'QO~O!a)RO~O!QnO#y)VO~P*aOV)WO!|#`O~PBROj#wa~P;_OV)WO!QnO~P*aOi)]O#p']O#q'^O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O,eO~P!:lO!a)bO~Oj!qO!QnO~P*aOj!qO!QnOi%ca~P*aOn)iOi%ca~O!V%ba!a%ba~P?tOn)lO!V%ba!a%ba~O])nO~O])oO~O!V)pO~O!QnO!V)rO!a)sO~P*aO!V)rO!a)sO!|#`O~PBRO])uOn)vO~O])wOn)xO~O^!hOh!POr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO~O]%[a~P!>nOn)|O]%[a~O]${O]tXntX~OjcOV$^q$w$^q~On*PO{&WO~P?tOn*SO!V%rX~O!V*UO~OjcOV$]q$w$]q~O%`(ZOV|a$w|an|a!V|a~O[*]OVla$wla~O[*]O!W!tOVla$wla~On*PO{&WO!W*`O^%WXj%WX~P! _OjcO#j!UO~OjcO!|,XO~PBROZ*dO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O!|#`O~P!BoO#^*eO~P?tO!a*fO~Oj$`O!|,XO~P!BoO#W*hO~Oj#wi~P;_OV*kO!|#`O~PBROn#TO!Q#cO!|#`O!a$QX#T%eX~PBRO#T*lO~O#W*lO~O!a*mO~O!|#`Oi!_in!_i~PBRO!|#`Oi!bXn!bX!a!cX~PBROi!bXn!bX!a!cX~O!a*nO~Oj!qO!QnOi%ci~P*aO!V%bi!a%bi~P?tO!V*qO!a*rO!|#`O~PBRO!V*qO!|#`O~PBRO]*tO~O]*uO~O]*uOu*vO~O]%[i~P!>nO%O!eO!V%ra~On*|O!V%ra~O[+OOVli$wli~O%O+yO~P!4vO#k+QOV#iy$w#iy~O^+RO%O%_O~O]+SO~O!|,XOj#xq~PBROj#wq~P;_O!V+ZO!|#`O~PBRO]+[On+]O~O%O!eO!V%ri~O^#QOn'eO!V%bX~O#^+`O~P?tOj+aO~O^#VO!W#SO!|#`O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~OZ+cO~P!JvO!|#`O!a$Qi~PBRO!|#`Oi!bin!bi~PBRO!V+dO!|#`O~PBRO]+eO~O]+fO~Oi+iO#p+jO#q+kO~O^+lO%O%_O~Oi+pO#p+jO#q+kO~O!a+rO~O#^+sO~P?tO!a+tO~O]+uO~OZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXVeXneX!QeX#ReX#TeX#UeX$weX~O]eX]!TX!VeXieX!aeX~P!NUOjeX~P!NUOZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXn!TX!VeX~O]eX!V!TX~P#!gOh!TXr!TXw!TX{!TX!P!TX!Q!TX!]!TX%O!TX%Y!TX~P#!gOZeX^eX^!TXj!TXneX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeX~O]eXueX~P#$xO]$mXn$mXu$mX~PF|Oj$mXn$mX~P!7`On+|O]%eau%ea~On+}Oj%ea~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-OO!WaO!]!QO!phO!qhO%O+yO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~OZeX]!TX^UXhUXnUXn!TXrUXuUXwUX!PUX!QUX!WUX!W!TX!]UX%OUX%YUX~OnUX!QeX!aeX#TeX#WUX~P#$xOn+|O!|,YO]%eXu%eX~PBROn+}O!|,XOj%eX~PBRO^&OOV%ZXj%ZX$w%ZX]%ZXn%ZX!V%ZXu%ZX%`%ZX#T%ZX[%ZX!a%ZX~P?wO!|,YO]$man$mau$ma~PBRO!|,XOj$man$ma~PBRO%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~Oj!xi~P!+YOn!xiu!xi~P#,hO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%p!xi%q!xi~O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xij!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi~O!|!xi~P#/_On!xiu!xi~P#.TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi%p!xi%q!xi~O!|,WO~P#1^O!|,XO~P#/_O!|,YOn!xiu!xi~P#1^O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OZ!xi]!xi^!xi!W!xi%q!xi~O!|,WO~P#3QO!|,XOj!xi~P!/VO!|,YOn!xiu!xi~P#3QO!|,XOj#Pi~PBROV!TXZeX^mX!W!TX$w!TX~O%`!TX~P#5RO[!TXhmXnmXrmXwmX!PmX!QmX!WmX!]mX%OmX%YmX~P#5ROn#TO!Q,aO!|,XO#R#dOj`X#T%eX#U%eX~PBRO[oO^YOaoOdoOh!POr!pOw}O!P#hO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!Q-OO%O+yO~P#6{O!Q-PO%O+xO~P#6{O!Q-QO%O+{O~P#6{O#T,bO#U,bO~O#W,cO~O^!hOh!POr-TOw}O!P-_O!Q-WO!W-^O!]-eO%O!eO%Y!fO~O^!hOh!POr-TOw}O!Q-`O!W-^O!]-eO%O!eO%Y!fO~O!P-VO~P#9zO%O+wO~P!4vO!P-XO~O!V-YO!|#`O~PBRO!V-ZO~O!V-[O~O!W-dO~OP%ka%Oa~",goto:"!FW%sPP%tP%wP%zP'SP'XPPPP'`'cP'u'uP)w'u-_PPP0j0m0qP1V4b1VP7s8WP1VP8a8d8hP8p8w1VPP1V8{<`?vPPCY-_-_-_PCdCuCxPC{DQ'u'uDV'uES'u'u'u'uGUIW'uPPJR'uJUMjMjMj'u! r! r!#SP!$`!%d!&d'cP'cPP'cP!&yP!'V!'^!&yP!'a!'h!'n!'w!&yP!'z!(R!&y!(U!(fPP!&yP!(x!)UPP!&y!)Y!)c!&yP!)g!)gP!&yP!&yP!)j!)m!&v!&yP!&yPPP!&yP!&yP!)q!)q!)w!)}!*U!*[!*d!*j!*p!*w!*}!+T!+Z!.q!.x!/O!/X!/m!/s!/z!0Q!0W!0^!0d!0jPPPPPPPPP!0p!1f!1k!1{!2kPP!7P!:^P!>u!?Z!?_!@Z!@fP!@p!D_!Df!Di!DuPPPPPPPPPPPP!FSR!aPRyO!WXOScw!R!T!U!W#O#k#n#u$R$X&O&j&u&|'W'Y']'})W)|*k*w+gQ#pzU#r{#s%uQ#x|U$T!S$U&pQ$^!VQ$y!lR)U'RVROS#nQ#t{T%t#s%uR#t{qrOScw!U!V!W#O#k#n&|'W'Y)W*k+g%PoOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%O]OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^#u!iW^!O!h!t!z#e#h#u#v#y#|#}$P$Q$T$W$v$x%W%Y%a%x%y&O&S&W&]&`&b&d&m'e'|'}(S([(c(i(o(|)l)|*P*Q*S*p*w*|+R+^+j+l,h-U-V-W-X-Y-Z-[-]-_-d'cbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR$O!PT&c#}&dW%`#R&z*d+cQ&Q#vS&V#y&]S&`#}&dR*Y(b'cZOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d%fWOSWYacmnw!O!U!V!W!X!Z!_!q!z#O#Q#S#T#V#^#_#`#a#b#c#h#i#j#k#n#v#|$f$v$x%W%Y%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(i(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S&b#}&d!{-]!h!t#e#u#y$P$Q$T$W%a%x%y&O&W&]&`&m'e'|'}(S([(c(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-dQ#v|S$v!j!pU&P#v$v,hZ,h#x&Q&U&V-TS%{#u&OV){'})|*wR#z}T&[#y&]]&X#y&](S([(o*QZ&Z#y&](S(o*QT([&Y(]'s_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d'r_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!w^'bbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&a#}&dR(d&bS!u]fX!x`&_(e(oQ!r[Q%O!qQ)d'aU)f'b)i*oR+X*nR%R!qR%P!qV)h'b)i*oV)g'b)i*odtOScw#O#k#n&|'Y+gQ$h!WQ&R#wQ&w$[S'S$c$iQ(V&TQ*O(RQ*V(WQ*b(yQ*c(zR+_+Q%PfOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%PgOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^!q#Weg!o!y$[$_$c$j$m$q$}%^%b%d%m'V'p(z({)S)Y)^)c)e)q)t*i*s+T+V+W+Y,f,g,i,j,w,z-aR#fh#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z[,V%^,f,i,p,s,v`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q!Y#^e!y$j$m$q$}%b%d%i%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aY,Q!o,k,n,q,tl,R$[$_$c(z)S*i,g,j,l,o,r,u,w,z_,S%^,f,i,m,p,s,v!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z],V%^,f,i,p,s,v!S#ae!y$j$m$q$}%b%d%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aS,Z!o,tf,[$[$_$c(z)S*i,g,j,u,w,zX,]%^,f,i,v!Q#be!y$j$m$q$}%b%d%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aQ,^!od,_$[$_$c(z)S*i,g,j,w,zV,`%^,f,iprOScw!U!V!W#O#k#n&|'W'Y)W*k+gR)a']etOScw#O#k#n&|'Y+gQ$S!RT&i$R&jR$S!RQ$V!ST&o$U&pQ&U#xR&m$TS(T&S&lV*{*S*|+^R$V!SQ$Y!TT&t$X&uR$Y!TdsOScw#O#k#n&|'Y+gT$p![!]dtOScw#O#k#n&|'Y+gQ*b(yR+_+QQ$a!VQ&{$_Q)T'RR*g)ST&|$`&}Q+b+SQ+m+fR+v+uT+g+a+hR$i!WR$l!YT'Y$k'ZXuOSw#nQ$s!`R'_$sSSO#nR!dSQ%u#sR'y%uUwOS#nR#mwQ&d#}R(g&dQ(c&`R*Z(cS!mX$^R$z!mQ(O%{R)}(OQ&]#yR(_&]Q(]&YR*X(]'r^OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!v^S'f%T+PR)m'fQ'c%RR)j'cW#Oc&|'Y+gR%[#O^#Ue$[$_$c$m)^,zU%e#U,O,PQ,O,fR,P,gQ&j$RR(m&jS*Q(S(oR*y*QQ*T(TR*}*TQ&p$UR(r&pQ&u$XR(w&uQ&}$`R)O&}Q+h+aR+o+hQ'Z$kR)['ZQ!cRQ#luQ#nyQ%Z!|Q&x$]Q'R$bQ'x%tQ(^&[Q(f&cQ(l&iQ(q&oR(v&tVxOS#nWuOSw#nY!|c#O&|'Y+gR%r#kdtOScw#O#k#n&|'Y+gQ$]!UQ$b!VQ$g!WQ)X'WQ*j)WR+U*kdeOScw#O#k#n&|'Y+gQ!oYQ!ya`#gmn,{,|,}-O-P-QQ$[!UQ$_!VQ$c!WQ$j!Xd$m!Z#i#j&g&s'P'T'U(k(tQ$q!_Q$}!qQ%^#QQ%b#SQ%d#TW%h#^,Q,R,SQ%i#_Q%j#`Q%k#aQ%l#bQ%m#cQ'V$fQ'p%cQ(z&xQ({&yQ)S'RQ)Y'XQ)^']Q)c'aU)e'b)i*oQ)q'oQ)t'rQ*i)VQ*s)sQ+T*hQ+V*lQ+W*nQ+Y*rS,f#V'wS,g,b,cQ,i+|Q,j+}Q,k,TQ,l,UQ,m,VQ,n,WQ,o,XQ,p,YQ,q,ZQ,r,[Q,s,]Q,t,^Q,u,_Q,v,`Q,w,aU,z'W)W*kV-a&l*`-^#bZW!O!h!t!z#e#h#u#v#y#|$P$Q$T$W$v$x%W%Y%a%x%y&O&W&]&`&m'e'|'}(S([(c(i(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-d%P[OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^$zdOSacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S!gW-]Q!nYS#{!O-_Q$u!hS%T!t+jS%X!z-UQ%n#e[%o#h#|$x-V-W-XW%w#u'})|*wU&P#v$v,h[&X#y&](S([(o*QQ&f$PQ&h$QQ&n$TQ&r$WS'h%W-YS'i%Y-ZW'l%a(|+R+lS'{%x%yQ(Q&OQ(Y&WQ(d&`Q(p&mU)k'e)l*pQ)z'|Q*[(cS*^(i-[Q+P*`R-c-dS#w|!pS$w!j-TQ&T#xQ(R&QQ(W&UR(X&VT%|#u&OhqOScw!U!V#O#k#n&|'Y+gU$Q!R$R&jU$W!T$X&uQ$e!WY%y#u&O'})|*wQ)`']V-S'W)W*kS&[#y&]S*R(S(oR*z*QY&Y#y&](S(o*QR*W(['``OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&_#}&dW(S&S*S*|+^Q(e&bQ(o&lR*x*PS%U!t*`R+q+jR%S!qQ#PcQ(}&|Q)Z'YR+n+ghpOScw!U!V#O#k#n&|'Y+gQ$d!WQ$n!ZQ%g#VU%p#i'T,bU%q#j'U,cQ(j&gQ(u&sQ)Q'PQ)_']Q)y'wQ*_(kQ*a(tV-R'W)W*kT(U&S&l",nodeNames:"\u26A0 LineComment BlockComment SourceFile PackageClause package DefName ; ImportDecl import ImportSpec . String ) ( SpecList ExprStatement Number Bool Nil Rune VariableName TypedLiteral StructType struct } { StructBody FieldDecl FieldName , PointerType * FunctionType func Parameters Parameter ... InterfaceType interface InterfaceBody MethodElem UnderlyingType ~ TypeElem LogicOp ChannelType chan <- ParenthesizedType QualifiedType TypeName ParameterizedType ] [ TypeArgs ArrayType SliceType MapType map LiteralValue Element Key : Element Key ParenthesizedExpr FunctionLiteral Block Conversion SelectorExpr IndexExpr SliceExpr TypeAssertion CallExpr ParameterizedExpr Arguments CallExpr make new Arguments UnaryExp ArithOp LogicOp BitOp DerefOp BinaryExp ArithOp BitOp BitOp CompareOp LogicOp LogicOp SendStatement IncDecStatement IncDecOp Assignment = UpdateOp VarDecl := ConstDecl const ConstSpec SpecList TypeDecl type TypeSpec TypeParams TypeParam SpecList VarDecl var VarSpec SpecList LabeledStatement LabelName IfStatement if else SwitchStatement switch SwitchBlock Case case default TypeSwitchStatement SwitchBlock Case ForStatement for ForClause RangeClause range GoStatement go SelectStatement select SelectBlock Case ReceiveStatement ReturnStatement return GotoStatement break continue goto FallthroughStatement fallthrough DeferStatement defer FunctionDecl MethodDecl",maxTerm:218,context:Vh,nodeProps:[["isolate",-3,2,12,20,""],["group",-18,12,17,18,19,20,21,22,66,67,69,70,71,72,73,74,77,81,86,"Expr",-20,16,68,93,94,96,99,101,105,111,115,117,120,126,129,134,136,141,143,147,149,"Statement",-12,23,31,33,38,46,49,50,51,52,56,57,58,"Type"],["openedBy",13,"(",25,"{",53,"["],["closedBy",14,")",26,"}",54,"]"]],propSources:[Dh],skippedNodes:[0,1,2,153],repeatNodeCount:23,tokenData:":b~RvXY#iYZ#i]^#ipq#iqr#zrs$Xuv&Pvw&^wx&yxy(qyz(vz{({{|)T|})e}!O)j!O!P)u!P!Q+}!Q!R,y!R![-t![!]2^!]!^2k!^!_2p!_!`3]!`!a3e!c!}3x!}#O4j#P#Q4o#Q#R4t#R#S4|#S#T9X#T#o3x#o#p9q#p#q9v#q#r:W#r#s:]$g;'S3x;'S;=`4d<%lO3x~#nS$y~XY#iYZ#i]^#ipq#iU$PP%hQ!_!`$SS$XO!|S~$^W[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y<%lO$X~${O[~~%ORO;'S$X;'S;=`%X;=`O$X~%^X[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y;=`<%l$X<%lO$X~%|P;=`<%l$X~&UP%l~!_!`&X~&^O#U~~&cR%j~vw&l!_!`&X#Q#R&q~&qO%p~~&vP%o~!_!`&X~'OWd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k<%lO&y~'mOd~~'pRO;'S&y;'S;=`'y;=`O&y~(OXd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k;=`<%l&y<%lO&y~(nP;=`<%l&y~(vO^~~({O]~~)QP%Y~!_!`&X~)YQ%f~{|)`!_!`&X~)eO#R~~)jOn~~)oQ%g~}!O)`!_!`&X~)zRZS!O!P*T!Q![*`#R#S+w~*WP!O!P*Z~*`Ou~Q*eTaQ!Q![*`!g!h*t#R#S+w#X#Y*t#]#^+rQ*wS{|+T}!O+T!Q![+^#R#S+lQ+WQ!Q![+^#R#S+lQ+cRaQ!Q![+^#R#S+l#]#^+rQ+oP!Q![+^Q+wOaQQ+zP!Q![*`~,SR%k~z{,]!P!Q,b!_!`&X~,bO$z~~,gSP~OY,bZ;'S,b;'S;=`,s<%lO,b~,vP;=`<%l,bQ-O[aQ!O!P*`!Q![-t!d!e.c!g!h*t!q!r/Z!z!{/x#R#S.]#U#V.c#X#Y*t#]#^+r#c#d/Z#l#m/xQ-yUaQ!O!P*`!Q![-t!g!h*t#R#S.]#X#Y*t#]#^+rQ.`P!Q![-tQ.fR!Q!R.o!R!S.o#R#S/QQ.tSaQ!Q!R.o!R!S.o#R#S/Q#]#^+rQ/TQ!Q!R.o!R!S.oQ/^Q!Q!Y/d#R#S/rQ/iRaQ!Q!Y/d#R#S/r#]#^+rQ/uP!Q!Y/dQ/{T!O!P0[!Q![1c!c!i1c#R#S2Q#T#Z1cQ0_S!Q![0k!c!i0k#R#S1V#T#Z0kQ0pVaQ!Q![0k!c!i0k!r!s*t#R#S1V#T#Z0k#]#^+r#d#e*tQ1YR!Q![0k!c!i0k#T#Z0kQ1hWaQ!O!P0k!Q![1c!c!i1c!r!s*t#R#S2Q#T#Z1c#]#^+r#d#e*tQ2TR!Q![1c!c!i1c#T#Z1c~2cP!a~!_!`2f~2kO#W~~2pOV~~2uR!|S}!O3O!^!_3T!_!`$S~3TO!Q~~3YP%m~!_!`&X~3bP#T~!_!`$S~3jQ!|S!_!`$S!`!a3p~3uP%n~!_!`&X~3}V%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~4gP;=`<%l3x~4oO!W~~4tO!V~~4yP%i~!_!`&X~5RV%O~!Q![5h!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~5o^aQ%O~!O!P*`!Q![5h!c!g3x!g!h6k!h!}3x#R#S4|#T#X3x#X#Y6k#Y#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~6pX%O~{|+T}!O+T!Q![7]!c!}3x#R#S8P#T#o3x$g;'S3x;'S;=`4d<%lO3x~7dXaQ%O~!Q![7]!c!}3x#R#S8P#T#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~8UV%O~!Q![7]!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~8rVaQ%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~9[TO#S9X#S#T$v#T;'S9X;'S;=`9k<%lO9X~9nP;=`<%l9X~9vOj~~9{Q%`~!_!`&X#p#q:R~:WO%q~~:]Oi~~:bO{~",tokenizers:[Fh,1,2,new tn("j~RQYZXz{^~^O$|~~aP!P!Qd~iO$}~~",25,181)],topRules:{SourceFile:[0,3]},dynamicPrecedences:{19:1,51:-1,55:2,69:-1,108:-1},specialized:[{term:184,get:a(t=>Nh[t]||-1,"get")}],tokenPrec:5451})});function Ci(t){return t==at||t==rn}function Ii(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function dr(t,e,n){this.parent=t,this.indent=e,this.flags=n,this.hash=(t?t.hash+t.hash<<8:0)+e+(e<<4)+n+(n<<6)}function Kg(t){let e=0;for(let n=0;n<t.length;n++)e+=t.charCodeAt(n)==ur?8-e%8:1;return e}function Hg(t,e){if(e==qg)for(let n=0;n<2&&t.next>=48&&t.next<=55;n++)t.advance();else if(e==jg)for(let n=0;n<2&&Ii(t.next);n++)t.advance();else if(e==Ug)for(let n=0;n<4&&Ii(t.next);n++)t.advance();else if(e==Vg)for(let n=0;n<8&&Ii(t.next);n++)t.advance();else if(e==Fg&&t.next==Ai){for(t.advance();t.next>=0&&t.next!=od&&t.next!=ud&&t.next!=fd&&t.next!=at;)t.advance();t.next==od&&t.advance()}}var Yh,ad,cd,Lh,nd,Kh,Gh,Zh,Bh,ld,rd,Hh,Jh,eg,tg,ng,rg,og,ig,sg,ag,cg,lg,dg,ug,fg,pg,Og,mg,hg,gg,yg,wg,Pg,dd,Sg,Qg,kg,bg,xg,Tg,vg,Rg,$g,_g,Xg,Eg,Cg,Ig,Ag,Mg,at,rn,Mi,ur,Wi,Wg,zg,Ai,od,ud,fd,id,qg,jg,Fg,Ug,Vg,Dg,Ng,Yg,lr,pd,xe,Te,ve,Re,Lg,sd,Gg,Zg,Bg,Jg,ey,Od,md=p(()=>{rr();cr();Yh=1,ad=194,cd=195,Lh=196,nd=197,Kh=198,Gh=199,Zh=200,Bh=2,ld=3,rd=201,Hh=24,Jh=25,eg=49,tg=50,ng=55,rg=56,og=57,ig=59,sg=60,ag=61,cg=62,lg=63,dg=65,ug=238,fg=71,pg=241,Og=242,mg=243,hg=244,gg=245,yg=246,wg=247,Pg=248,dd=72,Sg=249,Qg=250,kg=251,bg=252,xg=253,Tg=254,vg=255,Rg=256,$g=73,_g=77,Xg=263,Eg=112,Cg=130,Ig=151,Ag=152,Mg=155,at=10,rn=13,Mi=32,ur=9,Wi=35,Wg=40,zg=46,Ai=123,od=125,ud=39,fd=34,id=92,qg=111,jg=120,Fg=78,Ug=117,Vg=85,Dg=new Set([Jh,eg,tg,Xg,dg,Cg,rg,og,ug,cg,lg,dd,$g,_g,sg,ag,Ig,Ag,Mg,Eg]);a(Ci,"isLineBreak");a(Ii,"isHex");Ng=new te((t,e)=>{let n;if(t.next<0)t.acceptToken(Gh);else if(e.context.flags&lr)Ci(t.next)&&t.acceptToken(Kh,1);else if(((n=t.peek(-1))<0||Ci(n))&&e.canShift(nd)){let r=0;for(;t.next==Mi||t.next==ur;)t.advance(),r++;(t.next==at||t.next==rn||t.next==Wi)&&t.acceptToken(nd,-r)}else Ci(t.next)&&t.acceptToken(Lh,1)},{contextual:!0}),Yg=new te((t,e)=>{let n=e.context;if(n.flags)return;let r=t.peek(-1);if(r==at||r==rn){let o=0,i=0;for(;;){if(t.next==Mi)o++;else if(t.next==ur)o+=8-o%8;else break;t.advance(),i++}o!=n.indent&&t.next!=at&&t.next!=rn&&t.next!=Wi&&(o<n.indent?t.acceptToken(cd,-i):t.acceptToken(ad))}}),lr=1,pd=2,xe=4,Te=8,ve=16,Re=32;a(dr,"Context");Lg=new dr(null,0,0);a(Kg,"countIndent");sd=new Map([[pg,0],[Og,xe],[mg,Te],[hg,Te|xe],[gg,ve],[yg,ve|xe],[wg,ve|Te],[Pg,ve|Te|xe],[Sg,Re],[Qg,Re|xe],[kg,Re|Te],[bg,Re|Te|xe],[xg,Re|ve],[Tg,Re|ve|xe],[vg,Re|ve|Te],[Rg,Re|ve|Te|xe]].map(([t,e])=>[t,e|pd])),Gg=new St({start:Lg,reduce(t,e,n,r){return t.flags&lr&&Dg.has(e)||(e==fg||e==dd)&&t.flags&pd?t.parent:t},shift(t,e,n,r){return e==ad?new dr(t,Kg(r.read(r.pos,n.pos)),0):e==cd?t.parent:e==Hh||e==ng||e==ig||e==ld?new dr(t,0,lr):sd.has(e)?new dr(t,0,sd.get(e)|t.flags&lr):t},hash(t){return t.hash}}),Zg=new te(t=>{for(let e=0;e<5;e++){if(t.next!="print".charCodeAt(e))return;t.advance()}if(!/\w/.test(String.fromCharCode(t.next)))for(let e=0;;e++){let n=t.peek(e);if(!(n==Mi||n==ur)){n!=Wg&&n!=zg&&n!=at&&n!=rn&&n!=Wi&&t.acceptToken(Yh);return}}}),Bg=new te((t,e)=>{let{flags:n}=e.context,r=n&xe?fd:ud,o=(n&Te)>0,i=!(n&ve),s=(n&Re)>0,c=t.pos;for(;!(t.next<0);)if(s&&t.next==Ai)if(t.peek(1)==Ai)t.advance(2);else{if(t.pos==c){t.acceptToken(ld,1);return}break}else if(i&&t.next==id){if(t.pos==c){t.advance();let l=t.next;l>=0&&(t.advance(),Hg(t,l)),t.acceptToken(Bh);return}break}else if(t.next==id&&!i&&t.peek(1)>-1)t.advance(2);else if(t.next==r&&(!o||t.peek(1)==r&&t.peek(2)==r)){if(t.pos==c){t.acceptToken(rd,o?3:1);return}break}else if(t.next==at){if(o)t.advance();else if(t.pos==c){t.acceptToken(rd);return}break}else t.advance();t.pos>c&&t.acceptToken(Zh)});a(Hg,"skipEscape");Jg=kt({'async "*" "**" FormatConversion FormatSpec':m.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":m.controlKeyword,"in not and or is del":m.operatorKeyword,"from def class global nonlocal lambda":m.definitionKeyword,import:m.moduleKeyword,"with as print":m.keyword,Boolean:m.bool,None:m.null,VariableName:m.variableName,"CallExpression/VariableName":m.function(m.variableName),"FunctionDefinition/VariableName":m.function(m.definition(m.variableName)),"ClassDefinition/VariableName":m.definition(m.className),PropertyName:m.propertyName,"CallExpression/MemberExpression/PropertyName":m.function(m.propertyName),Comment:m.lineComment,Number:m.number,String:m.string,FormatString:m.special(m.string),Escape:m.escape,UpdateOp:m.updateOperator,"ArithOp!":m.arithmeticOperator,BitOp:m.bitwiseOperator,CompareOp:m.compareOperator,AssignOp:m.definitionOperator,Ellipsis:m.punctuation,At:m.meta,"( )":m.paren,"[ ]":m.squareBracket,"{ }":m.brace,".":m.derefOperator,", ;":m.separator}),ey={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},Od=Ve.deserialize({version:14,states:"##jO`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyO<POWO,5:aOOQS,5:a,5:aO<[QdO'#HwOOOW'#Dw'#DwOOOW'#Fz'#FzO<lOWO,5:bOOQS,5:b,5:bOOQS'#F}'#F}O<zQtO,5:iO?lQtO,5=`O@VQ#xO,5=`O@vQtO,5=`OOQS,5:},5:}OA_QeO'#GWOBqQdO,5;^OOQV,5=^,5=^OB|QtO'#IPOCkQdO,5;tOOQS-E:[-E:[OOQV,5;s,5;sO4dQdO'#FQOOQV-E9o-E9oOCsQtO,59]OEzQtO,59iOFeQdO'#HVOFpQdO'#HVO1XQdO'#HVOF{QdO'#DTOGTQdO,59mOGYQdO'#HZO'vQdO'#HZO0rQdO,5=tOOQS,5=t,5=tO0rQdO'#EROOQS'#ES'#ESOGwQdO'#GPOHXQdO,58|OHXQdO,58|O*xQdO,5:oOHgQtO'#H]OOQS,5:r,5:rOOQS,5:z,5:zOHzQdO,5;OOI]QdO'#IOO1XQdO'#H}OOQS,5;Q,5;QOOQS'#GT'#GTOIqQtO,5;QOJPQdO,5;QOJUQdO'#IQOOQS,5;T,5;TOJdQdO'#H|OOQS,5;W,5;WOJuQdO,5;YO4iQdO,5;`O4iQdO,5;cOJ}QtO'#ITO'vQdO'#ITOKXQdO,5;eO4VQdO,5;eO0rQdO,5;jO1XQdO,5;lOK^QeO'#EuOLjQgO,5;fO!!kQdO'#IUO4iQdO,5;jO!!vQdO,5;lO!#OQdO,5;qO!#ZQtO,5;vO'vQdO,5;vPOOO,5=[,5=[P!#bOSO,5=[P!#jOdO,5=[O!&bQtO1G.jO!&iQtO1G.jO!)YQtO1G.jO!)dQtO1G.jO!+}QtO1G.jO!,bQtO1G.jO!,uQdO'#HcO!-TQtO'#GuO0rQdO'#HcO!-_QdO'#HbOOQS,5:Z,5:ZO!-gQdO,5:ZO!-lQdO'#HeO!-wQdO'#HeO!.[QdO,5>OOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5<jOOQS,5<j,5<jOOQS-E9|-E9|OOQS,5<r,5<rOOQS-E:U-E:UOOQV1G0x1G0xO1XQdO'#GRO!7dQtO,5>kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5<k,5<kOOQS-E9}-E9}O!9wQdO1G.hOOQS1G0Z1G0ZO!:VQdO,5=wO!:gQdO,5=wO0rQdO1G0jO0rQdO1G0jO!:xQdO,5>jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!<RQdO,5>lO!<aQdO,5>lO!<oQdO,5>hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5<m,5<mOOQS-E:P-E:POOQS7+&z7+&zOOQS1G3]1G3]OOQS,5<^,5<^OOQS-E9p-E9pOOQS7+$s7+$sO#)bQdO,5=`O#){QdO,5=`O#*^QtO,5<aO#*qQdO1G3cOOQS-E9s-E9sOOQS7+&U7+&UO#+RQdO7+&UO#+aQdO,5<nO#+uQdO1G4UOOQS-E:Q-E:QO#,WQdO1G4UOOQS1G4T1G4TOOQS7+&W7+&WO#,iQdO7+&WOOQS,5<p,5<pO#,tQdO1G4WOOQS-E:S-E:SOOQS,5<l,5<lO#-SQdO1G4SOOQS-E:O-E:OO1XQdO'#EqO#-jQdO'#EqO#-uQdO'#IRO#-}QdO,5;[OOQS7+&`7+&`O0rQdO7+&`O#.SQgO7+&fO!JmQdO'#GXO4iQdO7+&fO4iQdO7+&iO#2QQtO,5<tO'vQdO,5<tO#2[QdO1G4ZOOQS-E:W-E:WO#2fQdO1G4ZO4iQdO7+&kO0rQdO7+&kOOQV7+&p7+&pO!KrQ!fO7+&rO!KzQdO7+&rO`QeO1G0{OOQV-E:X-E:XO4iQdO7+&lO4iQdO7+&lOOQV,5<u,5<uO#2nQdO,5<uO!JmQdO,5<uOOQV7+&l7+&lO#2yQgO7+&lO#6tQdO,5<vO#7PQdO1G4[OOQS-E:Y-E:YO#7^QdO1G4[O#7fQdO'#IWO#7tQdO'#IWO1XQdO'#IWOOQS'#IW'#IWO#8PQdO'#IVOOQS,5;n,5;nO#8XQdO,5;nO0rQdO'#FUOOQV7+&r7+&rO4iQdO7+&rOOQV7+&w7+&wO4iQdO7+&wO#8^QfO,5;xOOQV7+&|7+&|POOO7+(b7+(bO#8cQdO1G3iOOQS,5<c,5<cO#8qQdO1G3hOOQS-E9u-E9uO#9UQdO,5<dO#9aQdO,5<dO#9tQdO1G3kOOQS-E9v-E9vO#:UQdO1G3kO#:^QdO1G3kO#:nQdO1G3kO#:UQdO1G3kOOQS<<H[<<H[O#:yQtO1G1zOOQS<<Hk<<HkP#;WQdO'#FtO8vQdO1G3bO#;eQdO1G3bO#;jQdO<<HkOOQS<<Hl<<HlO#;zQdO7+)QOOQS<<Hs<<HsO#<[QtO1G1yP#<{QdO'#FsO#=YQdO7+)RO#=jQdO7+)RO#=rQdO<<HwO#=wQdO7+({OOQS<<Hy<<HyO#>nQdO,5<bO'vQdO,5<bOOQS-E9t-E9tOOQS<<Hw<<HwOOQS,5<g,5<gO0rQdO,5<gO#>sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<<IpO1XQdO1G2YP1XQdO'#GSO#AOQdO7+)pO#AaQdO7+)pOOQS<<Ir<<IrP1XQdO'#GUP0rQdO'#GQOOQS,5;],5;]O#ArQdO,5>mO#BQQdO,5>mOOQS1G0v1G0vOOQS<<Iz<<IzOOQV-E:V-E:VO4iQdO<<JQOOQV,5<s,5<sO4iQdO,5<sOOQV<<JQ<<JQOOQV<<JT<<JTO#BYQtO1G2`P#BdQdO'#GYO#BkQdO7+)uO#BuQgO<<JVO4iQdO<<JVOOQV<<J^<<J^O4iQdO<<J^O!KrQ!fO<<J^O#FpQgO7+&gOOQV<<JW<<JWO#FzQgO<<JWOOQV1G2a1G2aO1XQdO1G2aO#JuQdO1G2aO4iQdO<<JWO1XQdO1G2bP0rQdO'#G[O#KQQdO7+)vO#K_QdO7+)vOOQS'#FT'#FTO0rQdO,5>rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<<Jc<<JcO#LhQdO1G1dOOQS7+)T7+)TP#LmQdO'#FwO#L}QdO1G2OO#MbQdO1G2OO#MrQdO1G2OP#M}QdO'#FxO#N[QdO7+)VO#NlQdO7+)VO#NlQdO7+)VO#NtQdO7+)VO$ UQdO7+(|O8vQdO7+(|OOQSAN>VAN>VO$ oQdO<<LmOOQSAN>cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<<MT<<MTO$#nQdO7+(fOOQSAN?[AN?[OOQS7+'t7+'tO$$XQdO<<M[OOQS,5<q,5<qO$$jQdO1G4XOOQS-E:T-E:TOOQVAN?lAN?lOOQV1G2_1G2_O4iQdOAN?qO$$xQgOAN?qOOQVAN?xAN?xO4iQdOAN?xOOQV<<JR<<JRO4iQdOAN?rO4iQdO7+'{OOQV7+'{7+'{O1XQdO7+'{OOQVAN?rAN?rOOQS7+'|7+'|O$(sQdO<<MbOOQS1G4^1G4^O0rQdO1G4^OOQS,5<w,5<wO$)QQdO1G4]OOQS-E:Z-E:ZOOQU'#G_'#G_O$)cQfO7+'OO$)nQdO'#F_O$*uQdO7+'jO$+VQdO7+'jOOQS7+'j7+'jO$+bQdO<<LqO$+rQdO<<LqO$+rQdO<<LqO$+zQdO'#H^OOQS<<Lh<<LhO$,UQdO<<LhOOQS7+'h7+'hOOQS'#D|'#D|OOOO1G4R1G4RO$,oQdO1G4RO$,wQdO1G4RP!=hQdO'#GVOOQVG25]G25]O4iQdOG25]OOQVG25dG25dOOQVG25^G25^OOQV<<Kg<<KgO4iQdO<<KgOOQS7+)x7+)xP$-SQdO'#G]OOQU-E:]-E:]OOQV<<Jj<<JjO$-vQtO'#FaOOQS'#Fc'#FcO$.WQdO'#FbO$.xQdO'#FbOOQS'#Fb'#FbO$.}QdO'#IYO$)nQdO'#FiO$)nQdO'#FiO$/fQdO'#FjO$)nQdO'#FkO$/mQdO'#IZOOQS'#IZ'#IZO$0[QdO,5;yOOQS<<KU<<KUO$0dQdO<<KUO$0tQdOANB]O$1UQdOANB]O$1^QdO'#H_OOQS'#H_'#H_O1sQdO'#DcO$1wQdO,5=xOOQSANBSANBSOOOO7+)m7+)mO$2`QdO7+)mOOQVLD*wLD*wOOQVANARANARO5uQ!fO'#GaO$2hQtO,5<SO$)nQdO'#FmOOQS,5<W,5<WOOQS'#Fd'#FdO$3YQdO,5;|O$3_QdO,5;|OOQS'#Fg'#FgO$)nQdO'#G`O$4PQdO,5<QO$4kQdO,5>tO$4{QdO,5>tO1XQdO,5<PO$5^QdO,5<TO$5cQdO,5<TO$)nQdO'#I[O$5hQdO'#I[O$5mQdO,5<UOOQS,5<V,5<VO0rQdO'#FpOOQU1G1e1G1eO4iQdO1G1eOOQSAN@pAN@pO$5rQdOG27wO$6SQdO,59}OOQS1G3d1G3dOOOO<<MX<<MXOOQS,5<{,5<{OOQS-E:_-E:_O$6XQtO'#FaO$6`QdO'#I]O$6nQdO'#I]O$6vQdO,5<XOOQS1G1h1G1hO$6{QdO1G1hO$7QQdO,5<zOOQS-E:^-E:^O$7lQdO,5=OO$8TQdO1G4`OOQS-E:b-E:bOOQS1G1k1G1kOOQS1G1o1G1oO$8eQdO,5>vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5<YO$8sQdO,5>wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5<ZP$)nQdO'#GcO$;XQdO1G2hO$)nQdO1G2hP$;gQdO'#GbO$;nQdO<<MhO$;xQdO1G1uO$<WQdO7+(SO8vQdO'#C}O8vQdO,59bO8vQdO,59bO8vQdO,59bO$<fQtO,5=`O8vQdO1G.|O0rQdO1G/XO0rQdO7+$pP$<yQdO'#GOO'vQdO'#GtO$=WQdO,59bO$=]QdO,59bO$=dQdO,59mO$=iQdO1G/UO1sQdO'#DRO8vQdO,59j",stateData:"$>S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!<S!<VP!<_!<h!=d!=g]eOn#g$j)t,P'}`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r{!cQ#c#p$R$d$p%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g}!dQ#c#p$R$d$p$u%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!P!eQ#c#p$R$d$p$u$v%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!R!fQ#c#p$R$d$p$u$v$w%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!T!gQ#c#p$R$d$p$u$v$w$x%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!V!hQ#c#p$R$d$p$u$v$w$x$y%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!Z!hQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g'}TOTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r&eVOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0n0r%oXOYZ[dnrxy}!P!Q!U!i!k#[#d#g#y#{#}$Q$h$j$}%S%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/V/Z0i0j0kQ#vqQ/[.kR0o0q't`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rh#jhz{$W$Z&l&q)S)X+f+g-RW#rq&].k0qQ$]|Q$a!OQ$n!VQ$o!WW$|!i'm*d,gS&[#s#tQ'S$iQ(s&UQ)U&nU)Y&s)Z+jW)a&w+m-T-{Q*Q']W*R'_,`-h.TQ+l)`S,_*S*TQ-Q+eQ-_,TQ-c,WQ.R-al.W-l.^._.a.z.|/R/j/o/t/y0U0Z0^Q/S.`Q/a.tQ/l/OU0P/u0S0[X0V/z0W0_0`R&Z#r!_!wYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZR%^!vQ!{YQ%x#[Q&d#}Q&g$QR,{+YT.j-s/s!Y!jQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0gQ&X#kQ'c$oR*^'dR'l$|Q%V!mR/_.r'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rS#a_#b!P.[-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rT#a_#bT#^^#_R(o%xa(l%x(n(o+`,{-y-z.oT+[(k+]R-z,{Q$PsQ+l)aQ,^*RR-e,_X#}s$O$P&fQ&y$aQ'a$nQ'd$oR)s'SQ)b&wV-S+m-T-{ZgOn$j)t,PXkOn)t,PQ$k!TQ&z$bQ&{$cQ'^$mQ'b$oQ)q'RQ)x'WQ){'XQ)|'YQ*Z'`S*]'c'dQ+s)gQ+u)hQ+v)iQ+z)oS+|)r*[Q,Q)vQ,R)wS,S)y)zQ,d*^Q-V+rQ-W+tQ-Y+{S-Z+},OQ-`,UQ-b,VQ-|-XQ.O-[Q.P-^Q.Q-_Q.p-}Q.q.RQ/W.dR/r/XWkOn)t,PR#mjQ'`$nS)r'S'aR,O)sQ,]*RR-f,^Q*['`Q+})rR-[,OZiOjn)t,PQ'f$pR*`'gT-j,e-ku.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^t.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^Q/S.`X0V/z0W0_0`!P.Z-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`Q.w.YR/f.xg.z.].{/b/i/n/|0O0Q0]0a0bu.b-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^X.u.W.b/a0PR/c.tV0R/u0S0[R/X.dQnOS#on,PR,P)tQ&^#uR(x&^S%m#R#wS(_%m(bT(b%p&`Q%a!yQ%h!}W(P%a%h(U(YQ(U%eR(Y%jQ&i$RR)O&iQ(e%qQ*{(`T+R(e*{Q'n%OR*e'nS'q%R%SY*i'q*j,m-q.hU*j'r's'tU,m*k*l*mS-q,n,oR.h-rQ#Y]R%t#YQ#_^R%y#_Q(h%vS+W(h+XR+X(iQ+](kR,|+]Q#b_R%{#bQ#ebQ%}#cW&Q#e%}({+bQ({&cR+b0gQ$OsS&e$O&fR&f$PQ&v$_R)_&vQ&V#jR(t&VQ&m$VS)T&m+hR+h)UQ$Z{R&p$ZQ&t$]R)[&tQ+n)bR-U+nQ#hfR&S#hQ)f&zR+q)fQ&}$dS)m&})nR)n'OQ'V$kR)u'VQ'[$lS*P'[,ZR,Z*QQ,a*VR-i,aWjOn)t,PR#ljQ-k,eR.U-kd.{.]/b/i/n/|0O0Q0]0a0bR/h.{U.s.W/a0PR/`.sQ/{/nS0X/{0YR0Y/|S/v/b/cR0T/vQ.}.]R/k.}R!ZPXmOn)t,PWlOn)t,PR'T$jYfOn$j)t,PR&R#g[sOn#g$j)t,PR&d#}&dQOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0n0rQ!nTQ#caQ#poU$Rt%c(SS$d!R$gQ$p!XQ$u!cQ$v!dQ$w!eQ$x!fQ$y!gQ$z!hQ%e!zQ%j#OQ%p#SQ%q#TQ&`#xQ'O$eQ'g$qQ(q&OU(|&h(}+cW)j&|)l+x+yQ*o'|Q*x(]Q+w)kQ,v+QR0g0lQ!yYQ!}ZQ$b!PQ$c!QQ%R!kQ't%S^'{%`%g(O(W*q*t*v^*f'p*h,k,l-p.g/ZQ*l'rQ*m'sQ+t)gQ,j*gQ,n*kQ-n,hQ-o,iQ-r,oQ.e-mR/Y.f[bOn#g$j)t,P!^!vYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZQ#R[Q#fdS#wrxQ$UyW$_}$Q'P)pS$l!U$hW${!i'm*d,gS%v#[+Y`&P#d%|(p(r(z+a-O0kQ&a#yQ&b#{Q&c#}Q'j$}Q'z%^W([%l(^*y*}Q(`%nQ(i%wQ(v&ZS(y&_0iQ)P&jQ)Q&kU)]&u)^+kQ)d&xQ)y'WY)}'Z*O,X,Y-dQ*b'lS*n'w0jW+P(d*z,s,wW+T(g+V,y,zQ+p)eQ,U)zQ,c*YQ,x+UQ-P+dQ-e,]Q-v,uQ.S-fR/q/VhUOn#d#g$j%|&_'w(p(r)t,P%U!uYZ[drxy}!P!Q!U!i!k#[#y#{#}$Q$h$}%S%^%`%g%l%n%w&Z&j&k&u&x'P'W'Z'l'm'p'r's(O(W(^(d(g(z)^)e)g)p)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/V/Z0i0j0kQ#qpW%W!o!s0d0nQ%X!pQ%Y!qQ%[!tQ%f0cS'v%Z0hQ'x0eQ'y0fQ,p*rQ-u,qS.i-s/sR0p0rU#uq.k0qR(w&][cOn#g$j)t,PZ!xY#[#}$Q+YQ#W[Q#zrR$TxQ%b!yQ%i!}Q%o#RQ'j${Q(V%eQ(Z%jQ(c%pQ(f%qQ*|(`Q,f*bQ-t,pQ.m-uR/].lQ$StQ(R%cR*s(SQ.l-sR/}/sR#QZR#V[R%Q!iQ%O!iV*c'm*d,g!Z!lQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0gR%T!kT#]^#_Q%x#[R,{+YQ(m%xS+_(n(oQ,}+`Q-x,{S.n-y-zR/^.oT+Z(k+]Q$`}Q&g$QQ)o'PR+{)pQ$XzQ)W&qR+i)XQ$XzQ&o$WQ)W&qR+i)XQ#khW$Vz$W&q)XQ$[{Q&r$ZZ)R&l)S+f+g-RR$^|R)c&wXlOn)t,PQ$f!RR'Q$gQ$m!UR'R$hR*X'_Q*V'_V-g,`-h.TQ.d-lQ/P.^R/Q._U.]-l.^._Q/U.aQ/b.tQ/g.zU/i.|/j/yQ/n/RQ/|/oQ0O/tU0Q/u0S0[Q0]0UQ0a0ZR0b0^R/T.`R/d.t",nodeNames:"\u26A0 print Escape { Comment Script AssignStatement * BinaryExpression BitOp BitOp BitOp BitOp ArithOp ArithOp @ ArithOp ** UnaryExpression ArithOp BitOp AwaitExpression await ) ( ParenthesizedExpression BinaryExpression or and CompareOp in not is UnaryExpression ConditionalExpression if else LambdaExpression lambda ParamList VariableName AssignOp , : NamedExpression AssignOp YieldExpression yield from TupleExpression ComprehensionExpression async for LambdaExpression ] [ ArrayExpression ArrayComprehensionExpression } { DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression CallExpression ArgList AssignOp MemberExpression . PropertyName Number String FormatString FormatReplacement FormatSelfDoc FormatConversion FormatSpec FormatReplacement FormatSelfDoc ContinuedString Ellipsis None Boolean TypeDef AssignOp UpdateStatement UpdateOp ExpressionStatement DeleteStatement del PassStatement pass BreakStatement break ContinueStatement continue ReturnStatement return YieldStatement PrintStatement RaiseStatement raise ImportStatement import as ScopeStatement global nonlocal AssertStatement assert TypeDefinition type TypeParamList TypeParam StatementGroup ; IfStatement Body elif WhileStatement while ForStatement TryStatement try except finally WithStatement with FunctionDefinition def ParamList AssignOp TypeDef ClassDefinition class DecoratedStatement Decorator At MatchStatement match MatchBody MatchClause case CapturePattern LiteralPattern ArithOp ArithOp AsPattern OrPattern LogicOp AttributePattern SequencePattern MappingPattern StarPattern ClassPattern PatternArgList KeywordPattern KeywordPattern Guard",maxTerm:277,context:Gg,nodeProps:[["isolate",-5,4,71,72,73,77,""],["group",-15,6,85,87,88,90,92,94,96,98,99,100,102,105,108,110,"Statement Statement",-22,8,18,21,25,40,49,50,56,57,60,61,62,63,64,67,70,71,72,79,80,81,82,"Expression",-10,114,116,119,121,122,126,128,133,135,138,"Statement",-9,143,144,147,148,150,151,152,153,154,"Pattern"],["openedBy",23,"(",54,"[",58,"{"],["closedBy",24,")",55,"]",59,"}"]],propSources:[Jg],skippedNodes:[0,4],repeatNodeCount:34,tokenData:"!2|~R!`OX%TXY%oY[%T[]%o]p%Tpq%oqr'ars)Yst*xtu%Tuv,dvw-hwx.Uxy/tyz0[z{0r{|2S|}2p}!O3W!O!P4_!P!Q:Z!Q!R;k!R![>_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[Zg,Yg,Ng,Bg,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:a(t=>ey[t]||-1,"get")}],tokenPrec:7668})});function zi(t){return t>=48&&t<=57}function pr(t){return zi(t)||t==95}var ty,ny,ry,oy,iy,hd,sy,ay,gd,cy,fr,yd,ly,dy,wd,Pd,uy,fy,py,Oy,my,hy,gy,yy,Sd,Qd=p(()=>{rr();cr();ty=1,ny=2,ry=3,oy=4,iy=5,hd=98,sy=101,ay=102,gd=114,cy=69,fr=48,yd=46,ly=43,dy=45,wd=35,Pd=34,uy=124,fy=60,py=62;a(zi,"isNum");a(pr,"isNum_");Oy=new te((t,e)=>{if(zi(t.next)){let n=!1;do t.advance();while(pr(t.next));if(t.next==yd){if(n=!0,t.advance(),zi(t.next))do t.advance();while(pr(t.next));else if(t.next==yd||t.next>127||/\w/.test(String.fromCharCode(t.next)))return}if(t.next==sy||t.next==cy){if(n=!0,t.advance(),(t.next==ly||t.next==dy)&&t.advance(),!pr(t.next))return;do t.advance();while(pr(t.next))}if(t.next==ay){let r=t.peek(1);if(r==fr+3&&t.peek(2)==fr+2||r==fr+6&&t.peek(2)==fr+4)t.advance(3),n=!0;else return}n&&t.acceptToken(iy)}else if(t.next==hd||t.next==gd){if(t.next==hd&&t.advance(),t.next!=gd)return;t.advance();let n=0;for(;t.next==wd;)n++,t.advance();if(t.next!=Pd)return;t.advance();e:for(;;){if(t.next<0)return;let r=t.next==Pd;if(t.advance(),r){for(let o=0;o<n;o++){if(t.next!=wd)continue e;t.advance()}t.acceptToken(oy);return}}}}),my=new te(t=>{t.next==uy&&t.acceptToken(ty,1)}),hy=new te(t=>{t.next==fy?t.acceptToken(ny,1):t.next==py&&t.acceptToken(ry,1)}),gy=kt({"const macro_rules struct union enum type fn impl trait let static":m.definitionKeyword,"mod use crate":m.moduleKeyword,"pub unsafe async mut extern default move":m.modifier,"for if else loop while match continue break return await":m.controlKeyword,"as in ref":m.operatorKeyword,"where _ crate super dyn":m.keyword,self:m.self,String:m.string,Char:m.character,RawString:m.special(m.string),Boolean:m.bool,Identifier:m.variableName,"CallExpression/Identifier":m.function(m.variableName),BoundIdentifier:m.definition(m.variableName),"FunctionItem/BoundIdentifier":m.function(m.definition(m.variableName)),LoopLabel:m.labelName,FieldIdentifier:m.propertyName,"CallExpression/FieldExpression/FieldIdentifier":m.function(m.propertyName),Lifetime:m.special(m.variableName),ScopeIdentifier:m.namespace,TypeIdentifier:m.typeName,"MacroInvocation/Identifier MacroInvocation/ScopedIdentifier/Identifier":m.macroName,"MacroInvocation/TypeIdentifier MacroInvocation/ScopedIdentifier/TypeIdentifier":m.macroName,'"!"':m.macroName,UpdateOp:m.updateOperator,LineComment:m.lineComment,BlockComment:m.blockComment,Integer:m.integer,Float:m.float,ArithOp:m.arithmeticOperator,LogicOp:m.logicOperator,BitOp:m.bitwiseOperator,CompareOp:m.compareOperator,"=":m.definitionOperator,".. ... => ->":m.punctuation,"( )":m.paren,"[ ]":m.squareBracket,"{ }":m.brace,". DerefOp":m.derefOperator,"&":m.operator,", ; ::":m.separator,"Attribute/...":m.meta}),yy={__proto__:null,self:28,super:32,crate:34,impl:46,true:72,false:72,pub:88,in:92,const:96,unsafe:104,async:108,move:110,if:114,let:118,ref:142,mut:144,_:198,else:200,match:204,as:248,return:252,await:262,break:270,continue:276,while:312,loop:316,for:320,macro_rules:327,mod:334,extern:342,struct:346,where:364,union:379,enum:382,type:390,default:395,fn:396,trait:412,use:420,static:438,dyn:476},Sd=Ve.deserialize({version:14,states:"$2xQ]Q_OOP$wOWOOO&sQWO'#CnO)WQWO'#I`OOQP'#I`'#I`OOQQ'#Ie'#IeO)hO`O'#C}OOQR'#Ih'#IhO)sQWO'#IuOOQO'#Hk'#HkO)xQWO'#DpOOQR'#Iw'#IwO)xQWO'#DpO*ZQWO'#DpOOQO'#Iv'#IvO,SQWO'#J`O,ZQWO'#EiOOQV'#Hp'#HpO,cQYO'#F{OOQV'#El'#ElOOQV'#Em'#EmOOQV'#En'#EnO.YQ_O'#EkO0_Q_O'#EoO2gQWOOO4QQ_O'#FPO7hQWO'#J`OOQV'#FY'#FYO7{Q_O'#F^O:WQ_O'#FaOOQO'#F`'#F`O=sQ_O'#FcO=}Q_O'#FbO@VQWO'#FgOOQO'#J`'#J`OOQV'#Io'#IoOA]Q_O'#InOEPQWO'#InOOQV'#Fw'#FwOF[QWO'#JuOFcQWO'#F|OOQO'#IO'#IOOGrQWO'#GhOOQV'#Im'#ImOOQV'#Il'#IlOOQV'#Hj'#HjQGyQ_OOOKeQ_O'#DUOKlQYO'#CqOOQP'#I_'#I_OOQV'#Hg'#HgQ]Q_OOOLuQWO'#I`ONsQYO'#DXO!!eQWO'#JuO!!lQWO'#JuO!!vQ_O'#DfO!%]Q_O'#E}O!(sQ_O'#FWO!,ZQWO'#FZO!.^QXO'#FbO!.cQ_O'#EeO!!vQ_O'#FmO!0uQWO'#FoO!0zQWO'#FoO!1PQ^O'#FqO!1WQWO'#JuO!1_QWO'#FtO!1dQWO'#FxO!2WQWO'#JjO!2_QWO'#GOO!2_QWO'#G`O!2_QWO'#GbO!2_QWO'#GsOOQO'#Ju'#JuO!2dQWO'#GhO!2lQYO'#GpO!2_QWO'#GqO!3uQ^O'#GtO!3|QWO'#GuO!4hQWO'#HOP!4sOpO'#CcPOOO)CC})CC}OOOO'#Hi'#HiO!5OO`O,59iOOQV,59i,59iO!5ZQYO,5?aOOQO-E;i-E;iOOQO,5:[,5:[OOQP,59Z,59ZO)xQWO,5:[O)xQWO,5:[O!5oQWO,5?kO!5zQYO,5;qO!6PQYO,5;TO!6hQWO,59QO!7kQXO'#CnO!7xQXO'#I`O!9SQWO'#CoO,^QWO'#EiOOQV-E;n-E;nO!9eQWO'#FsOOQV,5<g,5<gO!9SQWO'#CoO!9jQWO'#CoO!9oQWO'#I`O! yQWO'#JuO!9yQWO'#J`O!:aQWO,5;VOOQO'#In'#InO!0zQWO'#DaO!<aQWO'#DcO!<iQWO,5;ZO.YQ_O,5;ZOOQO,5;[,5;[OOQV'#Er'#ErOOQV'#Es'#EsOOQV'#Et'#EtOOQV'#Eu'#EuOOQV'#Ev'#EvOOQV'#Ew'#EwOOQV'#Ex'#ExOOQV'#Ey'#EyO.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;fO!=PQ_O,5;kO!@gQ_O'#FROOQO,5;l,5;lO!BrQWO,5;pO.YQ_O,5;wOKlQYO,5;gO!D_QWO,5;kO!EOQWO,5;xOOQO,5;x,5;xO!E]QWO,5;xO!EbQ_O,5;xO!GmQWO'#CfO!GrQWO,5<QO!G|Q_O,5<QOOQO,5;{,5;{O!JjQXO'#CnO!K{QXO'#I`OOQS'#Dk'#DkOOQP'#Ir'#IrO!LuQ[O'#IrO!L}QXO'#DjO!M{QWO'#DnO!M{QWO'#DnO!N^QWO'#DnOOQP'#It'#ItO!NcQXO'#ItO# ^Q^O'#DoO# hQWO'#DrO# pQ^O'#DzO# zQ^O'#D|O#!RQWO'#EPO#!^QXO'#FdOOQP'#ES'#ESOOQP'#Iq'#IqO#!lQXO'#JfOOQP'#Je'#JeO#!tQXO,5;}O#!yQXO'#I`O!1PQ^O'#DyO!1PQ^O'#FdO##sQWO,5;|OOQO,5;|,5;|OKlQYO,5;|O#$ZQWO'#FhOOQO,5<R,5<ROOQV,5=l,5=lO#&`QYO'#FzOOQV,5<h,5<hO#&gQWO,5<hO#&nQWO,5=SO!1WQWO,59rO!1dQWO,5<dO#&uQWO,5=iO!2_QWO,5<jO!2_QWO,5<zO!2_QWO,5<|O!2_QWO,5=QO#&|QWO,5=]O#'TQWO,5=SO!2_QWO,5=]O!3|QWO,5=aO#']QWO,5=jOOQO-E;|-E;|O#'hQWO'#JjOOQV-E;h-E;hO#(PQWO'#HRO#(WQ_O,59pOOQV,59p,59pO#(_QWO,59pO#(dQ_O,59pO#)SQZO'#CuO#+[QZO'#CvOOQV'#C|'#C|O#-wQWO'#HTO#.OQYO'#IdOOQO'#Hh'#HhO#.WQWO'#CwO#.WQWO'#CwO#.iQWO'#CwOOQR'#Ic'#IcO#.nQZO'#IbO#1TQYO'#HTO#1qQYO'#H[O#2}QYO'#H_OKlQYO'#H`OOQR'#Hb'#HbO#4ZQWO'#HeO#4`QYO,59]OOQR'#Ib'#IbO#5PQZO'#CtO#7[QYO'#HUO#7aQWO'#HTO#7fQYO'#CrO#8VQWO'#H]O#7fQYO'#HcOOQV-E;e-E;eO#8_QWO,59sOOQV,59{,59{O#8mQYO,5=[OOQV,59},59}O!0zQWO,59}O#;aQWO'#IpOOQO'#Ip'#IpO!1PQ^O'#DhO!0zQWO,5:QO#;hQWO,5;iO#<OQWO,5;rO#<fQ_O,5;rOOQO,5;u,5;uO#@PQ_O,5;|O#BXQWO,5;PO!0zQWO,5<XO#B`QWO,5<ZOOQV,5<Z,5<ZO#BkQWO,5<]O!1PQ^O'#EOOOQQ'#D_'#D_O#BsQWO,59rO#BxQWO,5<`O#B}QWO,5<dOOQO,5@U,5@UO#CVQWO,5=iOOQQ'#Cv'#CvO#C[QYO,5<jO#CmQYO,5<zO#CxQYO,5<|O#DTQYO,5=_O#DcQYO,5=SO#E{QYO'#GQO#FYQYO,5=[O#FmQWO,5=[O#F{QYO,5=[O#HUQYO,5=]O#HdQWO,5=`O!1PQ^O,5=`O#HrQWO'#CnO#ITQWO'#I`OOQO'#Jy'#JyO#IfQWO'#IQO#IkQWO'#GwOOQO'#Jz'#JzO#JSQWO'#GzOOQO'#G|'#G|OOQO'#Jx'#JxO#IkQWO'#GwO#JZQWO'#GxO#J`QWO,5=aO#JeQWO,5=jO!1dQWO,5=jO#'`QWO,5=jPOOO'#Hf'#HfP#JjOpO,58}POOO,58},58}OOOO-E;g-E;gOOQV1G/T1G/TO#JuQWO1G4{O#JzQ^O'#CyPOQQ'#Cx'#CxOOQO1G/v1G/vOOQP1G.u1G.uO)xQWO1G/vO#NTQ!fO'#ETO#N[Q!fO'#EaO#NcQ!fO'#EbO$ kQWO1G1yO$!_Q_O1G1yOOQP1G5V1G5VOOQO1G1]1G1]O$&RQWO1G0oO$&WQWO'#CiO!7xQXO'#I`O!6PQYO1G.lO!5oQWO,5<_O!9SQWO,59ZO!9SQWO,59ZO!5oQWO,5?kO$&iQWO1G0uO$(vQWO1G0wO$*nQWO1G0wO$+UQWO1G0wO$-YQWO1G0wO$-aQWO1G0wO$/bQWO1G0wO$/iQWO1G0wO$1jQWO1G0wO$1qQWO1G0wO$3YQWO1G1QO$5ZQWO1G1VO$5zQ_O'#JcO$8SQWO'#JcOOQO'#Jb'#JbO$8^QWO,5;mOOQO'#Dw'#DwOOQO1G1[1G1[OOQO1G1Y1G1YO$8cQWO1G1cOOQO1G1R1G1RO$8jQ_O'#HrO$:xQWO,5@OO.YQ_O1G1dOOQO1G1d1G1dO$;QQWO1G1dO$;_QWO1G1dO$;dQWO1G1eOOQO1G1l1G1lO$;lQWO1G1lOOQP,5?^,5?^O$;vQ^O,5:kO$<aQXO,5:YO!M{QWO,5:YO!M{QWO,5:YO!1PQ^O,5:gO$=bQWO'#IyOOQO'#Ix'#IxO$=pQWO,5:ZO# ^Q^O,5:ZO$=uQWO'#DsOOQP,5:^,5:^O$>WQWO,5:fOOQP,5:h,5:hO!1PQ^O,5:hO!1PQ^O,5:mO$>]QYO,5<OO$>gQ_O'#HsO$>tQXO,5@QOOQV1G1i1G1iOOQP,5:e,5:eO$>|QXO,5<OO$?[QWO1G1hO$?dQWO'#CnO$?oQWO'#FiOOQO'#Fi'#FiO$?wQWO'#FjO.YQ_O'#FkOOQO'#Ji'#JiO$?|QWO'#JhOOQO'#Jg'#JgO$@UQWO,5<SOOQQ'#Hv'#HvO$@ZQYO,5<fOOQV,5<f,5<fO$@bQYO,5<fOOQV1G2S1G2SO$@iQWO1G2nO$@qQWO1G/^O$@vQWO1G2OO#CVQWO1G3TO$AOQYO1G2UO#CmQYO1G2fO#CxQYO1G2hO$AaQYO1G2lO!2_QWO1G2wO#DcQYO1G2nO#HUQYO1G2wO$AiQWO1G2{O$AnQWO1G3UO!1dQWO1G3UO$AsQWO1G3UOOQV1G/[1G/[O$A{QWO1G/[O$BQQ_O1G/[O#7aQWO,5=oO$BXQYO,5?OO$BmQWO,5?OO$BrQZO'#IeOOQO-E;f-E;fOOQR,59c,59cO#.WQWO,59cO#.WQWO,59cOOQR,5=n,5=nO$E_QYO'#HVO$FwQZO,5=oO!5oQWO,5={O$IZQWO,5=oO$IbQZO,5=vO$KqQYO,5=vO$>]QYO,5=vO$LRQWO'#KRO$L^QWO,5=xOOQR,5=y,5=yO$LcQWO,5=zO$>]QYO,5>PO$>]QYO,5>POOQO1G.w1G.wO$>]QYO1G.wO$LnQYO,5=pO$LvQZO,59^OOQR,59^,59^O$>]QYO,5=wO% YQZO,5=}OOQR,5=},5=}O%#lQWO1G/_O!6PQYO1G/_O#FYQYO1G2vO%#qQWO1G2vO%$PQYO1G2vOOQV1G/i1G/iO%%YQWO,5:SO%%bQ_O1G/lO%*kQWO1G1^O%+RQWO1G1hOOQO1G1h1G1hO$>]QYO1G1hO%+iQ^O'#EgOOQV1G0k1G0kOOQV1G1s1G1sO!!vQ_O1G1sO!0zQWO1G1uO!1PQ^O1G1wO!.cQ_O1G1wOOQP,5:j,5:jO$>]QYO1G/^OOQO'#Cn'#CnO%+vQWO1G1zOOQV1G2O1G2OO%,OQWO'#CnO%,WQWO1G3TO%,]QWO1G3TO%,bQYO'#GQO%,sQWO'#G]O%-UQYO'#G_O%.hQYO'#GXOOQV1G2U1G2UO%/wQWO1G2UO%/|QWO1G2UO$ARQWO1G2UOOQV1G2f1G2fO%/wQWO1G2fO#CpQWO1G2fO%0UQWO'#GdOOQV1G2h1G2hO%0gQWO1G2hO#C{QWO1G2hO%0lQYO'#GSO$>]QYO1G2lO$AdQWO1G2lOOQV1G2y1G2yO%1xQWO1G2yO%3hQ^O'#GkO%3rQWO1G2nO#DfQWO1G2nO%4QQYO,5<lO%4[QYO,5<lO%4jQYO,5<lO%5XQYO,5<lOOQQ,5<l,5<lO!1WQWO'#JuO%5dQYO,5<lO%5lQWO1G2vOOQV1G2v1G2vO%5tQWO1G2vO$>]QYO1G2vOOQV1G2w1G2wO%5tQWO1G2wO%5yQWO1G2wO#HXQWO1G2wOOQV1G2z1G2zO.YQ_O1G2zO$>]QYO1G2zO%6RQWO1G2zOOQO,5>l,5>lOOQO-E<O-E<OOOQO,5=c,5=cOOQO,5=e,5=eOOQO,5=g,5=gOOQO,5=h,5=hO%6aQWO'#J|OOQO'#J{'#J{O%6iQWO,5=fO%6nQWO,5=cO!1dQWO,5=dOOQV1G2{1G2{O$>]QYO1G3UPOOO-E;d-E;dPOOO1G.i1G.iOOQO7+*g7+*gO%7VQYO'#IcO%7nQYO'#IfO%7yQYO'#IfO%8RQYO'#IfO%8^QYO,59eOOQO7+%b7+%bOOQP7+$a7+$aO%8cQ!fO'#JTOOQS'#EX'#EXOOQS'#EY'#EYOOQS'#EZ'#EZOOQS'#JT'#JTO%;UQWO'#EWOOQS'#E`'#E`OOQS'#JR'#JROOQS'#Hn'#HnO%;ZQ!fO,5:oOOQV,5:o,5:oOOQV'#JQ'#JQO%;bQ!fO,5:{OOQV,5:{,5:{O%;iQ!fO,5:|OOQV,5:|,5:|OOQV7+'e7+'eOOQV7+&Z7+&ZO%;pQ!fO,59TOOQO,59T,59TO%>YQWO7+$WO%>_QWO1G1yOOQV1G1y1G1yO!9SQWO1G.uO%>dQWO,5?}O%>nQ_O'#HqO%@|QWO,5?}OOQO1G1X1G1XOOQO7+&}7+&}O%AUQWO,5>^OOQO-E;p-E;pO%AcQWO7+'OO.YQ_O7+'OOOQO7+'O7+'OOOQO7+'P7+'PO%AjQWO7+'POOQO7+'W7+'WOOQP1G0V1G0VO%ArQXO1G/tO!M{QWO1G/tO%BsQXO1G0RO%CkQ^O'#HlO%C{QWO,5?eOOQP1G/u1G/uO%DWQWO1G/uO%D]QWO'#D_OOQO'#Dt'#DtO%DhQWO'#DtO%DmQWO'#I{OOQO'#Iz'#IzO%DuQWO,5:_O%DzQWO'#DtO%EPQWO'#DtOOQP1G0Q1G0QOOQP1G0S1G0SOOQP1G0X1G0XO%EXQXO1G1jO%EdQXO'#FeOOQP,5>_,5>_O!1PQ^O'#FeOOQP-E;q-E;qO$>]QYO1G1jOOQO7+'S7+'SOOQO,5<T,5<TO%ErQWO,5<UO.YQ_O,5<UO%EwQWO,5<VO%FRQWO'#HtO%FdQWO,5@SOOQO1G1n1G1nOOQQ-E;t-E;tOOQV1G2Q1G2QO%FlQYO1G2QO#DcQYO7+(YO$>]QYO7+$xOOQV7+'j7+'jO%FsQWO7+(oO%FxQWO7+(oOOQV7+'p7+'pO%/wQWO7+'pO%F}QWO7+'pO%GVQWO7+'pOOQV7+(Q7+(QO%/wQWO7+(QO#CpQWO7+(QOOQV7+(S7+(SO%0gQWO7+(SO#C{QWO7+(SO$>]QYO7+(WO%GeQWO7+(WO#HUQYO7+(cO%GjQWO7+(YO#DfQWO7+(YOOQV7+(c7+(cO%5tQWO7+(cO%5yQWO7+(cO#HXQWO7+(cOOQV7+(g7+(gO$>]QYO7+(pO%GxQWO7+(pO!1dQWO7+(pOOQV7+$v7+$vO%G}QWO7+$vO%HSQZO1G3ZO%JfQWO1G4jOOQO1G4j1G4jOOQR1G.}1G.}O#.WQWO1G.}O%JkQWO'#KQOOQO'#HW'#HWO%J|QWO'#HXO%KXQWO'#KQOOQO'#KP'#KPO%KaQWO,5=qO%KfQYO'#H[O%LrQWO'#GmO%L}QYO'#CtO%MXQWO'#GmO$>]QYO1G3ZOOQR1G3g1G3gO#7aQWO1G3ZO%M^QZO1G3bO$>]QYO1G3bO& mQYO'#IVO& }QWO,5@mOOQR1G3d1G3dOOQR1G3f1G3fO.YQ_O1G3fOOQR1G3k1G3kO&!VQYO7+$cO&!_QYO'#KOOOQQ'#J}'#J}O&!gQYO1G3[O&!lQZO1G3cOOQQ7+$y7+$yO&${QWO7+$yO&%QQWO7+(bOOQV7+(b7+(bO%5tQWO7+(bO$>]QYO7+(bO#FYQYO7+(bO&%YQWO7+(bO!.cQ_O1G/nO&%hQWO7+%WO$?[QWO7+'SO&%pQWO'#EhO&%{Q^O'#EhOOQU'#Ho'#HoO&%{Q^O,5;ROOQV,5;R,5;RO&&VQWO,5;RO&&[Q^O,5;RO!0zQWO7+'_OOQV7+'a7+'aO&&iQWO7+'cO&&qQWO7+'cO&&xQWO7+$xO&'TQ!fO7+'fO&'[Q!fO7+'fOOQV7+(o7+(oO!1dQWO7+(oO&'cQYO,5<lO&'nQYO,5<lO!1dQWO'#GWO&'|QWO'#JpO&([QWO'#G^O!BxQWO'#G^O&(aQWO'#JpOOQO'#Jo'#JoO&(iQWO,5<wOOQO'#DX'#DXO&(nQYO'#JrO&)}QWO'#JrO$>]QYO'#JrOOQO'#Jq'#JqO&*YQWO,5<yO&*_QWO'#GZO#D^QWO'#G[O&*gQWO'#G[O&*oQWO'#JmOOQO'#Jl'#JlO&*zQYO'#GTOOQO,5<s,5<sO&+PQWO7+'pO&+UQWO'#JtO&+dQWO'#GeO#BxQWO'#GeO&+uQWO'#JtOOQO'#Js'#JsO&+}QWO,5=OO$>]QYO'#GUO&,SQYO'#JkOOQQ,5<n,5<nO&,kQWO7+(WOOQV7+(e7+(eO&.TQ^O'#D|O&._QWO'#GlO&.gQ^O'#JwOOQO'#Gn'#GnO&.nQWO'#JwOOQO'#Jv'#JvO&.vQWO,5=VO&.{QWO'#I`O&/]Q^O'#GmO&/dQWO'#IqO&/rQWO'#GmOOQV7+(Y7+(YO&/zQWO7+(YO$>]QYO7+(YO&0SQYO'#HxO&0hQYO1G2WOOQQ1G2W1G2WOOQQ,5<m,5<mO$>]QYO,5<qO&0pQWO,5<rO&0uQWO7+(bO&1QQWO7+(fO&1XQWO7+(fOOQV7+(f7+(fO.YQ_O7+(fO$>]QYO7+(fO&1dQWO'#IRO&1nQWO,5@hOOQO1G3Q1G3QOOQO1G2}1G2}OOQO1G3P1G3POOQO1G3R1G3ROOQO1G3S1G3SOOQO1G3O1G3OO&1vQWO7+(pO$>]QYO,59fO&2RQ^O'#ISO&2xQYO,5?QOOQR1G/P1G/PO&3QQ!bO,5:pO&3VQ!fO,5:rOOQS-E;l-E;lOOQV1G0Z1G0ZOOQV1G0g1G0gOOQV1G0h1G0hO&3^QWO'#JTOOQO1G.o1G.oOOQV<<Gr<<GrO&3iQWO1G5iO$5zQ_O,5>]O&3qQWO,5>]OOQO-E;o-E;oOOQO<<Jj<<JjO&3{QWO<<JjOOQO<<Jk<<JkO&4SQXO7+%`O&5TQWO,5>WOOQO-E;j-E;jOOQP7+%a7+%aO!1PQ^O,5:`O&5cQWO'#HmO&5wQWO,5?gOOQP1G/y1G/yOOQO,5:`,5:`O&6PQWO,5:`O%DzQWO,5:`O$>]QYO,5<PO&6UQXO,5<PO&6dQXO7+'UO.YQ_O1G1pO&6oQWO1G1pOOQO,5>`,5>`OOQO-E;r-E;rOOQV7+'l7+'lO&6yQWO<<KtO#DfQWO<<KtO&7XQWO<<HdOOQV<<LZ<<LZO!1dQWO<<LZOOQV<<K[<<K[O&7dQWO<<K[O%/wQWO<<K[O&7iQWO<<K[OOQV<<Kl<<KlO%/wQWO<<KlOOQV<<Kn<<KnO%0gQWO<<KnO&7qQWO<<KrO$>]QYO<<KrOOQV<<K}<<K}O%5tQWO<<K}O%5yQWO<<K}O#HXQWO<<K}OOQV<<Kt<<KtO&7yQWO<<KtO$>]QYO<<KtO&8RQWO<<L[O$>]QYO<<L[O&8^QWO<<L[OOQV<<Hb<<HbO$>]QYO7+(uOOQO7+*U7+*UOOQR7+$i7+$iO&8cQWO,5@lOOQO'#Gm'#GmO&8kQWO'#GmO&8vQYO'#IUO&8cQWO,5@lOOQR1G3]1G3]O&:cQYO,5=vO&;rQYO,5=XO&;|QWO,5=XOOQO,5=X,5=XOOQR7+(u7+(uO&<RQZO7+(uO&>eQZO7+(|O&@tQWO,5>qOOQO-E<T-E<TO&APQWO7+)QOOQO<<G}<<G}O&AWQYO'#ITO&AcQYO,5@jOOQQ7+(v7+(vOOQQ<<He<<HeO$>]QYO<<K|OOQV<<K|<<K|O&0uQWO<<K|O&AkQWO<<K|O%5tQWO<<K|O&AsQWO7+%YOOQV<<Hr<<HrOOQO<<Jn<<JnO.YQ_O,5;SO&AzQWO,5;SO.YQ_O'#EjO&BPQWO,5;SOOQU-E;m-E;mO&B[QWO1G0mOOQV1G0m1G0mO&%{Q^O1G0mOOQV<<Jy<<JyO!.cQ_O<<J}OOQV<<J}<<J}OOQV<<Hd<<HdO.YQ_O<<HdO&BaQWO'#FvO&BfQWO<<KQO&BnQ!fO<<KQO&BuQWO<<KQO&BzQWO<<KQO&CSQ!fO<<KQOOQV<<KQ<<KQO&CZQWO<<LZO&C`QWO,5@[O$>]QYO,5<xO&ChQWO,5<xO&CmQWO'#H{O&C`QWO,5@[OOQV1G2c1G2cO&DRQWO,5@^O$>]QYO,5@^O&D^QYO'#H|O&EsQWO,5@^OOQO1G2e1G2eO%,nQWO,5<uOOQO,5<v,5<vO&E{QYO'#HzO&G_QWO,5@XO%,bQYO,5=pO$>]QYO,5<oO&GjQWO,5@`O.YQ_O,5=PO&GrQWO,5=PO&G}QWO,5=PO&H`QWO'#H}O&GjQWO,5@`OOQV1G2j1G2jO&HtQYO,5<pO%0lQYO,5>PO&I]QYO,5@VOOQV<<Kr<<KrO&ItQWO,5=XO&KfQ^O,5:hO&KmQWO,5=XO$>]QYO,5=WO&KuQWO,5@cO&K}QWO,5@cO&MvQ^O'#IPO&KuQWO,5@cOOQO1G2q1G2qO&NTQWO,5=WO&N]QWO<<KtO&NkQYO,5>oO&NvQYO,5>dO' UQYO,5>dOOQQ,5>d,5>dOOQQ-E;v-E;vOOQQ7+'r7+'rO' aQYO1G2]O$>]QYO1G2^OOQV<<LQ<<LQO.YQ_O<<LQO' lQWO<<LQO' sQWO<<LQOOQO,5>m,5>mOOQO-E<P-E<POOQV<<L[<<L[O.YQ_O<<L[O'!OQYO1G/QO'!ZQYO,5>nOOQQ,5>n,5>nO'!fQYO,5>nOOQQ-E<Q-E<QOOQS1G0[1G0[O'$tQ!fO1G0^O'%RQ!fO1G0^O'%YQWO1G3wOOQOAN@UAN@UO'%dQWO1G/zOOQO,5>X,5>XOOQO-E;k-E;kO!1PQ^O1G/zOOQO1G/z1G/zO'%oQWO1G/zO'%tQXO1G1kO$>]QYO1G1kO'&PQWO7+'[OOQVANA`ANA`O'&ZQWOANA`O$>]QYOANA`O'&cQWOANA`OOQVAN>OAN>OO.YQ_OAN>OO'&qQWOANAuOOQVAN@vAN@vO'&vQWOAN@vOOQVANAWANAWOOQVANAYANAYOOQVANA^ANA^O'&{QWOANA^OOQVANAiANAiO%5tQWOANAiO%5yQWOANAiO''TQWOANA`OOQVANAvANAvO.YQ_OANAvO''cQWOANAvO$>]QYOANAvOOQR<<La<<LaO''nQWO1G6WO%JkQWO,5>pOOQO'#HY'#HYO''vQWO'#HZOOQO,5>p,5>pOOQO-E<S-E<SO'(RQYO1G2sO'(]QWO1G2sOOQO1G2s1G2sO$>]QYO<<LaOOQR<<Ll<<LlOOQQ,5>o,5>oOOQQ-E<R-E<RO&0uQWOANAhOOQVANAhANAhO%5tQWOANAhO$>]QYOANAhO'(bQWO1G1rO')UQ^O1G0nO.YQ_O1G0nO'*zQWO,5;UO'+RQWO1G0nP'+WQWO'#ERP&%{Q^O'#HpOOQV7+&X7+&XO'+cQWO7+&XO&&qQWOAN@iO'+hQWOAN>OO!5oQWO,5<bOOQS,5>a,5>aO'+oQWOAN@lO'+tQWOAN@lOOQS-E;s-E;sOOQVAN@lAN@lO'+|QWOAN@lOOQVANAuANAuO',UQWO1G5vO',^QWO1G2dO$>]QYO1G2dO&'|QWO,5>gOOQO,5>g,5>gOOQO-E;y-E;yO',iQWO1G5xO',qQWO1G5xO&(nQYO,5>hO',|QWO,5>hO$>]QYO,5>hOOQO-E;z-E;zO'-XQWO'#JnOOQO1G2a1G2aOOQO,5>f,5>fOOQO-E;x-E;xO&'cQYO,5<lO'-gQYO1G2ZO'.RQWO1G5zO'.ZQWO1G2kO.YQ_O1G2kO'.eQWO1G2kO&+UQWO,5>iOOQO,5>i,5>iOOQO-E;{-E;{OOQQ,5>c,5>cOOQQ-E;u-E;uO'.pQWO1G2sO'/QQWO1G2rO'/]QWO1G5}O'/eQ^O,5>kOOQO'#Go'#GoOOQO,5>k,5>kO'/lQWO,5>kOOQO-E;}-E;}O$>]QYO1G2rO'/zQYO7+'xO'0VQWOANAlOOQVANAlANAlO.YQ_OANAlO'0^QWOANAvOOQS7+%x7+%xO'0eQWO7+%xO'0pQ!fO7+%xO'0}QWO7+%fO!1PQ^O7+%fO'1YQXO7+'VOOQVG26zG26zO'1eQWOG26zO'1sQWOG26zO$>]QYOG26zO'1{QWOG23jOOQVG27aG27aOOQVG26bG26bOOQVG26xG26xOOQVG27TG27TO%5tQWOG27TO'2SQWOG27bOOQVG27bG27bO.YQ_OG27bO'2ZQWOG27bOOQO1G4[1G4[OOQO7+(_7+(_OOQRANA{ANA{OOQVG27SG27SO%5tQWOG27SO&0uQWOG27SO'2fQ^O7+&YO'4PQWO7+'^O'4sQ^O7+&YO.YQ_O7+&YP.YQ_O,5;SP'6PQWO,5;SP'6UQWO,5;SOOQV<<Is<<IsOOQVG26TG26TOOQVG23jG23jOOQO1G1|1G1|OOQVG26WG26WO'6aQWOG26WP&B}QWO'#HuO'6fQWO7+(OOOQO1G4R1G4RO'6qQWO7++dO'6yQWO1G4SO$>]QYO1G4SO%,nQWO'#HyO'7UQWO,5@YO'7dQWO7+(VO.YQ_O7+(VOOQO1G4T1G4TOOQO1G4V1G4VO'7nQWO1G4VO'7|QWO7+(^OOQVG27WG27WO'8XQWOG27WOOQS<<Id<<IdO'8`QWO<<IdO'8kQWO<<IQOOQVLD,fLD,fO'8vQWOLD,fO'9OQWOLD,fOOQVLD)ULD)UOOQVLD,oLD,oOOQVLD,|LD,|O'9^QWOLD,|O.YQ_OLD,|OOQVLD,nLD,nO%5tQWOLD,nO'9eQ^O<<ItO';OQWO<<JxO';rQ^O<<ItP'=OQWO1G0nP'=oQ^O1G0nP.YQ_O1G0nP'?bQWO1G0nOOQVLD+rLD+rO'?gQWO7+)nOOQO,5>e,5>eOOQO-E;w-E;wO'?rQWO<<KqOOQVLD,rLD,rOOQSAN?OAN?OOOQV!$(!Q!$(!QO'?|QWO!$(!QOOQV!$(!h!$(!hO'@UQWO!$(!hOOQV!$(!Y!$(!YO'@]Q^OAN?`POQU7+&Y7+&YP'AvQWO7+&YP'BgQ^O7+&YP.YQ_O7+&YOOQV!)9El!)9ElOOQV!)9FS!)9FSPOQU<<It<<ItP'DYQWO<<ItP'DyQ^O<<ItPOQUAN?`AN?`O'FlQWO'#CnO'FsQXO'#CnO'GlQWO'#I`O'IRQXO'#I`O'IxQWO'#DpO'IxQWO'#DpO!.cQ_O'#EkO'JZQ_O'#EoO'JbQ_O'#FPO'MfQ_O'#FbO'MmQXO'#I`O'NdQ_O'#E}O( gQ_O'#FWO'IxQWO,5:[O'IxQWO,5:[O!.cQ_O,5;ZO!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;fO(!jQ_O,5;kO(%nQWO,5;kO(&OQWO,5;|O(&VQYO'#CuO(&bQYO'#CvO(&mQWO'#CwO(&mQWO'#CwO('OQYO'#CtO('ZQWO,5;iO('bQWO,5;rO('iQ_O,5;rO((oQ_O,5;|O'IxQWO1G/vO((vQWO1G0uO(*eQWO1G0wO(*oQWO1G0wO(,dQWO1G0wO(,kQWO1G0wO(.]QWO1G0wO(.dQWO1G0wO(0UQWO1G0wO(0]QWO1G0wO(0dQWO1G1QO(0tQWO1G1VO(1UQYO'#IeO(&mQWO,59cO(&mQWO,59cO(1aQWO1G1^O(1hQWO1G1hO(&mQWO1G.}O(1oQWO'#DpO!.^QXO'#FbO(1tQWO,5;ZO(1{QWO'#Cw",stateData:"(2_~O&|OSUOS&}PQ~OPoOQ!QOSVOTVOZeO[lO^RO_RO`ROa!UOd[Og!nOsVOtVOuVOw!POyvO|!VO}mO!Q!dO!U!WO!W!XO!X!^O!Z!YO!]!pO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO$i!eO$m!fO$q!gO$s!hO%T!iO%V!jO%Z!kO%]!lO%^!mO%f!oO%j!qO%s!rO'Q`O'TQO'ZkO'^UO'gcO'qiO(QdO~O&}!sO~OZbX[bXdbXdlXobXwjX}bX!lbX!qbX!tbX#ObX#PbX#pbX'gbX'qbX'rbX'xbX'ybX'zbX'{bX'|bX'}bX(ObX(PbX(QbX(RbX(TbX~OybXXbX!ebX!PbXvbX#RbX~P$|OZ'SX['SXd'SXd'XXo'SXw'kXy'SX}'SX!l'SX!q'SX!t'SX#O'SX#P'SX#p'SX'g'SX'q'SX'r'SX'x'SX'y'SX'z'SX'{'SX'|'SX'}'SX(O'SX(P'SX(Q'SX(R'SX(T'SXv'SX~OX'SX!e'SX!P'SX#R'SX~P'ZOr!uO']!wO'_!uO~Od!xO~O^RO_RO`ROaRO'TQO~Od!}O~Od#PO[(SXo(SXy(SX}(SX!l(SX!q(SX!t(SX#O(SX#P(SX#p(SX'g(SX'q(SX'r(SX'x(SX'y(SX'z(SX'{(SX'|(SX'}(SX(O(SX(P(SX(Q(SX(R(SX(T(SXv(SX~OZ#OO~P*`OZ#RO[#QO~OQ!QO^#TO_#TO`#TOa#]Od#ZOg!nOyvO|!VO!Q!dO!U#^O!W!lO!]!pO$i!eO$m!fO$q!gO$s!hO%T!iO%V!jO%Z!kO%]!lO%^!mO%f!oO%j!qO%s!rO'Q#VO'T#SO~OPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdO~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!j#eO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdO~P)xO[#}Oo#xO}#zO!l#yO!q#jO!t#yO#O#xO#P#uO#p$OO'g#gO'q#yO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO~OPoOQ!QOSVOTVOZeOd[OsVOtVOuVOw!PO!U#bO!W#cO!X!^O!Z!YO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO[#sXo#sXy#sX}#sX!l#sX!q#sX!t#sX#O#sX#P#sX#p#sX'g#sX'q#sX'r#sX'x#sX'y#sX'z#sX'{#sX'|#sX'}#sX(O#sX(P#sX(Q#sX(R#sX(T#sXX#sX!e#sX!P#sXv#sX#R#sX~P)xOX(SX!e(SX!P(SXw(SX#R(SX~P*`OPoOQ!QOSVOTVOX$ROZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q$UO'ZkO'^UO'gcO'qiO(QdO~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!P$XO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q$UO'ZkO'^UO'gcO'qiO(QdO~P)xOQ!QOSVOTVO[$gO^$pO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!l$lO!q$hO#V$lO'T$YO'^UO'g$[O~O!j$rOP(XP~P<cOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Q$uO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdO~P)xOw$vO~Oo'bX#O'bX#P'bX#p'bX'r'bX'x'bX'y'bX'z'bX'{'bX'|'bX'}'bX(O'bX(P'bX(R'bX(T'bX~OP%tXQ%tXS%tXT%tXZ%tX[%tX^%tX_%tX`%tXa%tXd%tXg%tXs%tXt%tXu%tXw%tXy%tX|%tX}%tX!Q%tX!U%tX!W%tX!X%tX!Z%tX!]%tX!l%tX!q%tX!t%tX#Y%tX#r%tX#{%tX$O%tX$b%tX$d%tX$f%tX$i%tX$m%tX$q%tX$s%tX%T%tX%V%tX%Z%tX%]%tX%^%tX%f%tX%j%tX%s%tX&z%tX'Q%tX'T%tX'Z%tX'^%tX'g%tX'q%tX(Q%tXv%tX~P@[Oy$xO['bX}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bXv'bX~P@[Ow$yO!Q(iX!U(iX!W(iX$q(iX%](iX%^(iX~Oy$zO~PEsO!Q$}O!U%UO!W!lO$m%OO$q%PO$s%QO%T%RO%V%SO%Z%TO%]!lO%^%VO%f%WO%j%XO%s%YO~O!Q!lO!U!lO!W!lO$q%[O%]!lO~O%^%VO~PGaOPoOQ!QOSVOTVOZeO[lO^RO_RO`ROa!UOd[Og!nOsVOtVOuVOw!POyvO|!VO}mO!Q!dO!U!WO!W!XO!X!^O!Z!YO!]!pO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO$i!eO$m!fO$q!gO$s!hO%T!iO%V!jO%Z!kO%]!lO%^!mO%f!oO%j!qO%s!rO'Q#VO'TQO'ZkO'^UO'gcO'qiO(QdO~Ov%`O~P]OQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO!Q{X!U{X!W{X$m{X$q{X$s{X%T{X%V{X%Z{X%]{X%^{X%f{X%j{X%s{X~P'ZO!Q{X!U{X!W{X$m{X$q{X$s{X%T{X%V{X%Z{X%]{X%^{X%f{X%j{X%s{X~O}%}O'T{XQ{XZ{X[{X^{X_{X`{Xa{Xd{Xg{X!q{X$f{X&W{X'Z{X(Q{X~PMuOg&PO%f%WO!Q(iX!U(iX!W(iX$q(iX%](iX%^(iX~Ow!PO~P! yOw!PO!X&RO~PEvOPoOQ!QOSVOTVOZeO[lO^9qO_9qO`9qOa9qOd9tOsVOtVOuVOw!PO}mO!U#bO!W#cO!X:zO!Z!YO!]&UO!l9wO!q9vO!t9wO#Y!_O#r9zO#{9{O$O!]O$b!`O$d!bO$f!cO'T9oO'ZkO'^UO'gcO'q9wO(QdO~OPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdOo#qXy#qX#O#qX#P#qX#p#qX'r#qX'x#qX'y#qX'z#qX'{#qX'|#qX'}#qX(O#qX(P#qX(R#qX(T#qXX#qX!e#qX!P#qXv#qX#R#qX~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdOo#zXy#zX#O#zX#P#zX#p#zX'r#zX'x#zX'y#zX'z#zX'{#zX'|#zX'}#zX(O#zX(P#zX(R#zX(T#zXX#zX!e#zX!P#zXv#zX#R#zX~P)xO'ZkO[#}Xo#}Xy#}X}#}X!l#}X!q#}X!t#}X#O#}X#P#}X#p#}X'g#}X'q#}X'r#}X'x#}X'y#}X'z#}X'{#}X'|#}X'}#}X(O#}X(P#}X(Q#}X(R#}X(T#}XX#}X!e#}X!P#}Xv#}Xw#}X#R#}X~OPoO~OPoOQ!QOSVOTVOZeO[lO^9qO_9qO`9qOa9qOd9tOsVOtVOuVOw!PO}mO!U#bO!W#cO!X:zO!Z!YO!l9wO!q9vO!t9wO#Y!_O#r9zO#{9{O$O!]O$b!`O$d!bO$f!cO'T9oO'ZkO'^UO'gcO'q9wO(QdO~O!S&_O~Ow!PO~O!j&bO~P<cO'T&cO~PEvOZ&eO~O'T&cO~O'^UOw(^Xy(^X!Q(^X!U(^X!W(^X$q(^X%](^X%^(^X~Oa&hO~P!1iO'T&iO~O_&nO'T&cO~OQ&oOZ&pO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO!j&uO~P<cO^&wO_&wO`&wOa&wOd'POw&|O'T&vO(Q&}O~O!i'UO!j'TO'T&cO~O&}!sO'O'VO'P'XO~Or!uO']'ZO'_!uO~OQ']O^'ia_'ia`'iaa'ia'T'ia~O['cOw'dO}'bO~OQ']O~OQ!QO^#TO_#TO`#TOa'kOd#ZO'T#SO~O['lO~OZbXdlXXbXobXPbX!SbX!ebX'rbX!PbX!ObXybX!ZbX#RbXvbX~O[bXwbX}bX~P!6mOZ'SXd'XXX'SX['SXo'SXw'SX}'SX#p'SXP'SX!S'SX!e'SX'r'SX!P'SX!O'SXy'SX!Z'SX#R'SXv'SX~O^#TO_#TO`#TOa'kO'T#SO~OZ'mO~Od'oO~OZ'SXd'XX~PMuOZ'pOX(SX!e(SX!P(SXw(SX#R(SX~P*`O[#}O}#zO(O#|O(R#fOo#_ay#_a!l#_a!q#_a!t#_a#O#_a#P#_a#p#_a'g#_a'q#_a'r#_a'x#_a'y#_a'z#_a'{#_a'|#_a'}#_a(P#_a(Q#_a(T#_aX#_a!e#_a!P#_av#_aw#_a#R#_a~Ow!PO!X&RO~Oy#caX#ca!e#ca!P#cav#ca#R#ca~P2gOPoOQ!QOSVOTVOZeOd[OsVOtVOuVOw!PO!U#bO!W#cO!X!^O!Z!YO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO[#sao#say#sa}#sa!l#sa!q#sa!t#sa#O#sa#P#sa#p#sa'g#sa'q#sa'r#sa'x#sa'y#sa'z#sa'{#sa'|#sa'}#sa(O#sa(P#sa(Q#sa(R#sa(T#saX#sa!e#sa!P#sav#sa#R#sa~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q#VO'ZkO'^UO'gcO'qiO(QdO!P(UP~P)xOu(SO#w(TO'T(RO~O[#}O}#zO!q#jO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO!l#sa!t#sa#p#sa'q#sa~Oo#xO#O#xO#P#uOy#saX#sa!e#sa!P#sav#sa#R#sa~P!B}Oy(YO!e(WOX(WX~P2gOX(ZO~OPoOQ!QOSVOTVOX(ZOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q$UO'ZkO'^UO'gcO'qiO(QdO~P)xOZ#RO~O!P(_O!e(WO~P2gOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q$UO'ZkO'^UO'gcO'qiO(QdO~P)xOZbXdlXwjX}jX!tbX'qbX~OP!RX!S!RX!e!RX'p!RX'r!RX!O!RXo!RXy!RX!P!RXX!RX!Z!RX#R!RXv!RX~P!JUOZ'SXd'XXw'kX}'kX!t'SX'q'SX~OP!`X!S!`X!e!`X'r!`X!O!`Xo!`Xy!`X!P!`XX!`X!Z!`X#R!`Xv!`X~P!KgOT(aOu(aO~O!t(bO'q(bOP!^X!S!^X!e!^X'r!^X!O!^Xo!^Xy!^X!P!^XX!^X!Z!^X#R!^Xv!^X~O^9rO_9rO`9yOa9yO'T9pO~Od(eO~O'p(fOP'hX!S'hX!e'hX'r'hX!O'hXo'hXy'hX!P'hXX'hX!Z'hX#R'hXv'hX~O!j&bO!P'lP~P<cOw(kO}(jO~O!j&bOX'lP~P<cO!j(oO~P<cOZ'pO!t(bO'q(bO~O!S(qO'r(pOP$WX!e$WX~O!e(rOP(YX~OP(tO~OP!aX!S!aX!e!aX'r!aX!O!aXo!aXy!aX!P!aXX!aX!Z!aX#R!aXv!aX~P!KgOy$UaX$Ua!e$Ua!P$Uav$Ua#R$Ua~P2gO!l(|O'Q#VO'T(xOv(ZP~OQ!QO^#TO_#TO`#TOa#]Od#ZOg!nOyvO|!VO!Q!dO!U#^O!W!lO!]!pO$i!eO$m!fO$q!gO$s!hO%T!iO%V!jO%Z!kO%]!lO%^!mO%f!oO%j!qO%s!rO'Q`O'T#SO~Ov)TO~P#$iOy)VO~PEsO%^)WO~PGaOa)ZO~P!1iO%f)`O~PEvO_)aO'T&cO~O!i)fO!j)eO'T&cO~O'^UO!Q(^X!U(^X!W(^X$q(^X%](^X%^(^X~Ov%uX~P2gOv)gO~PGyOv)gO~Ov)gO~P]OQiXQ'XXZiXd'XX}iX#piX(PiX~ORiXwiX$fiX$|iX[iXoiXyiX!liX!qiX!tiX#OiX#PiX'giX'qiX'riX'xiX'yiX'ziX'{iX'|iX'}iX(OiX(QiX(RiX(TiX!PiX!eiXXiXPiXviX!SiX#RiX~P#(kOQjXQlXRjXZjXdlX}jX#pjX(PjXwjX$fjX$|jX[jXojXyjX!ljX!qjX!tjX#OjX#PjX'gjX'qjX'rjX'xjX'yjX'zjX'{jX'|jX'}jX(OjX(QjX(RjX(TjX!PjX!ejXXjX!SjXPjXvjX#RjX~O%^)jO~PGaOQ']Od)kO~O^)mO_)mO`)mOa)mO'T%dO~Od)qO~OQ']OZ)uO})sOR'UX#p'UX(P'UXw'UX$f'UX$|'UX['UXo'UXy'UX!l'UX!q'UX!t'UX#O'UX#P'UX'g'UX'q'UX'r'UX'x'UX'y'UX'z'UX'{'UX'|'UX'}'UX(O'UX(Q'UX(R'UX(T'UX!P'UX!e'UXX'UXP'UXv'UX!S'UX#R'UX~OQ!QO^:bO_:^O`TOaTOd:aO%^)jO'T:_O~PGaOQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!j)yO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaOQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!P)|O!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO(P*OO~OR*QO#p*RO(P*PO~OQhXQ'XXZhXd'XX}hX(PhX~ORhX#phXwhX$fhX$|hX[hXohXyhX!lhX!qhX!thX#OhX#PhX'ghX'qhX'rhX'xhX'yhX'zhX'{hX'|hX'}hX(OhX(QhX(RhX(ThX!PhX!ehXXhXPhXvhX!ShX#RhX~P#4kOQ*SO~O})sO~OQ!QO^%vO_%cO`TOaTOd%jO$f%wO%^%xO'T%dO~PGaO!Q*VO!j*VO~O^*YO`*YOa*YO!O*ZO~OQ&oOZ*[O[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO[#}Oo:YO}#zO!l:ZO!q#jO!t:ZO#O:YO#P:VO#p$OO'g#gO'q:ZO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO~Ow'dX~P#9vOy#qaX#qa!e#qa!P#qav#qa#R#qa~P2gOy#zaX#za!e#za!P#zav#za#R#za~P2gOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!S&_O!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdOo#zay#za#O#za#P#za#p#za'r#za'x#za'y#za'z#za'{#za'|#za'}#za(O#za(P#za(R#za(T#zaX#za!e#za!P#zav#za#R#za~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Q*eO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdO~P)xOw*fO~P#9vO$b*iO$d*jO$f*kO~O!O*lO'r(pO~O!S*nO~O'T*oO~Ow$yOy*qO~O'T*rO~OQ*uOw*vOy*yO}*wO$|*xO~OQ*uOw*vO$|*xO~OQ*uOw+QO$|*xO~OQ*uOo+VOy+XO!S+UO~OQ*uO}+ZO~OQ!QOZ%rO[%qO^%vO`TOaTOd%jOg%yO}%pO!U!lO!W!lO!q%oO$f%wO$q%[O%]!lO%^%xO&W%{O'T%dO'Z%eO(Q%zO~OR+bO_+^O!Q+cO~P#DkO_%cO!Q!lOw&UX$|&UX(P&UX~P#DkOw$yO$f+hO$|*xO(P*PO~OQ!QOZ*[O[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaOQ*uOw$yO!S+UO$|*xO~Oo+nOy+mO!S+oO'r(pO~OdlXy!RX#pbXv!RX!e!RX~Od'XXy(mX#p'SXv(mX!e(mX~Od+qO~O^#TO_#TO`#TOa'kOw&|O'T&vO(Q+vO~Ov(oP~P!3|O#p+{O~Oy+|O~O!S+}O~O&}!sO'O'VO'P,PO~Od,QO~OSVOTVO_%cOsVOtVOuVOw!PO!Q!lO'^UO~P#DkOS,^OT,^OZ,^O['cO_,YOd,^Oo,^Os,^Ou,^Ow'dOy,^O}'bO!S,^O!e,^O!l,^O!q,[O!t,^O!y,^O#O,^O#P,^O#Q,^O#R,^O'Q,^O'Z%eO'^UO'g,ZO'r,[O'v,_O'x,ZO'y,[O'z,[O'{,[O'|,]O'},]O(O,^O(P,`O(Q,`O(R,aO~O!P,dO~P#KkOX,gO~P#KkOv,iO~P#KkOo'tX#O'tX#P'tX#p'tX'r'tX'x'tX'y'tX'z'tX'{'tX'|'tX'}'tX(O'tX(P'tX(R'tX(T'tX~Oy,jO['tX}'tX!l'tX!q'tX!t'tX'g'tX'q'tX(Q'tXv'tX~P#NjOP$giQ$giS$giT$giZ$gi[$gi^$gi_$gi`$gia$gid$gig$gis$git$giu$giw$giy$gi|$gi}$gi!Q$gi!U$gi!W$gi!X$gi!Z$gi!]$gi!l$gi!q$gi!t$gi#Y$gi#r$gi#{$gi$O$gi$b$gi$d$gi$f$gi$i$gi$m$gi$q$gi$s$gi%T$gi%V$gi%Z$gi%]$gi%^$gi%f$gi%j$gi%s$gi&z$gi'Q$gi'T$gi'Z$gi'^$gi'g$gi'q$gi(Q$giv$gi~P#NjOX,kO~O['cOo,lOw'dO}'bOX]X~Oy#ciX#ci!e#ci!P#civ#ci#R#ci~P2gO[#}O}#zO'x#hO(O#|O(Q#hO(R#fO(T#hOo#eiy#ei!l#ei!q#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'y#ei'z#ei'{#ei'|#ei'}#eiX#ei!e#ei!P#eiv#ei#R#ei~O'g#ei(P#ei~P$'PO[#}O}#zO(O#|O(R#fOo#eiy#ei!l#ei!q#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'y#ei'z#ei'{#ei'|#ei'}#eiX#ei!e#ei!P#eiv#ei#R#ei~O'g#ei'x#ei(P#ei(Q#ei(T#eiw#ei~P$)QO'g#gO(P#gO~P$'PO[#}O}#zO'g#gO'x#hO'y#iO'z#iO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiy#ei!l#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'{#ei'|#ei'}#eiX#ei!e#ei!P#eiv#ei#R#ei~O!q#ei~P$+`O!q#jO~P$+`O[#}O}#zO!q#jO'g#gO'x#hO'y#iO'z#iO'{#kO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiy#ei!l#ei!t#ei#O#ei#P#ei#p#ei'q#ei'|#ei'}#eiX#ei!e#ei!P#eiv#ei#R#ei~O'r#ei~P$-hO'r#lO~P$-hO[#}O}#zO!q#jO#P#uO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiy#ei!l#ei!t#ei#O#ei#p#ei'q#ei'|#eiX#ei!e#ei!P#eiv#ei#R#ei~O'}#ei~P$/pO'}#mO~P$/pO[#}O}#zO!q#jO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO!l#ni!t#ni#p#ni'q#ni~Oo#xO#O#xO#P#uOy#niX#ni!e#ni!P#niv#ni#R#ni~P$1xO[#}O}#zO!q#jO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO!l#si!t#si#p#si'q#si~Oo#xO#O#xO#P#uOy#siX#si!e#si!P#siv#si#R#si~P$3yOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q#VO'ZkO'^UO'gcO'qiO(QdO~P)xO!e,sO!P(VX~P2gO!P,uO~OX,vO~P2gOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdOX&fX!e&fX!P&fX~P)xO!e(WOX(Wa~Oy,zO!e(WOX(WX~P2gOX,{O~O!P,|O!e(WO~O!P-OO!e(WO~P2gOSVOTVOsVOtVOuVO'^UO'g$[O~P!6POP!baZca!S!ba!e!ba!tca'qca'r!ba!O!bao!bay!ba!P!baX!ba!Z!ba#R!bav!ba~O!e-TO'r(pO!P'mXX'mX~O!P-VO~O!i-`O!j-_O!l-[O'T-XOv'nP~OX-aO~O_%cO!Q!lO~P#DkO!j-gOP&gX!e&gX~P<cO!e(rOP(Ya~O!S-iO'r(pOP$Wa!e$Wa~Ow!PO(P*PO~OvbX!S!kX!ebX~O'Q#VO'T(xO~O!S-mO~O!e-oOv([X~Ov-qO~Ov-sO~P,cOv-sO~P#$iO_-uO'T&cO~O!S-vO~Ow$yOy-wO~OQ*uOw*vOy-zO}*wO$|*xO~OQ*uOo.UO~Oy._O~O!S.`O~O!j.bO'T&cO~Ov.cO~Ov.cO~PGyOQ']O^'Wa_'Wa`'Waa'Wa'T'Wa~Od.gO~OQ'XXQ'kXR'kXZ'kXd'XX}'kX#p'kX(P'kXw'kX$f'kX$|'kX['kXo'kXy'kX!l'kX!q'kX!t'kX#O'kX#P'kX'g'kX'q'kX'r'kX'x'kX'y'kX'z'kX'{'kX'|'kX'}'kX(O'kX(Q'kX(R'kX(T'kX!P'kX!e'kXX'kXP'kXv'kX!S'kX#R'kX~OQ!QOZ%rO[%qO^.rO_%cO`TOaTOd%jOg%yO}%pO!j.sO!q.pO!t.kO#V.mO$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO!P(sP~PGaO#Q.tOR%wa#p%wa(P%waw%wa$f%wa$|%wa[%wao%way%wa}%wa!l%wa!q%wa!t%wa#O%wa#P%wa'g%wa'q%wa'r%wa'x%wa'y%wa'z%wa'{%wa'|%wa'}%wa(O%wa(Q%wa(R%wa(T%wa!P%wa!e%waX%waP%wav%wa!S%wa#R%wa~O%^.vO~PGaO(P*POR&Oa#p&Oaw&Oa$f&Oa$|&Oa[&Oao&Oay&Oa}&Oa!l&Oa!q&Oa!t&Oa#O&Oa#P&Oa'g&Oa'q&Oa'r&Oa'x&Oa'y&Oa'z&Oa'{&Oa'|&Oa'}&Oa(O&Oa(Q&Oa(R&Oa(T&Oa!P&Oa!e&OaX&OaP&Oav&Oa!S&Oa#R&Oa~O_%cO!Q!lO!j.xO(P*OO~P#DkO!e.yO(P*PO!P(uX~O!P.{O~OX.|Oy.}O(P*PO~O'Z%eOR(qP~OQ']O})sORfa#pfa(Pfawfa$ffa$|fa[faofayfa!lfa!qfa!tfa#Ofa#Pfa'gfa'qfa'rfa'xfa'yfa'zfa'{fa'|fa'}fa(Ofa(Qfa(Rfa(Tfa!Pfa!efaXfaPfavfa!Sfa#Rfa~OQ']O})sOR&Va#p&Va(P&Vaw&Va$f&Va$|&Va[&Vao&Vay&Va!l&Va!q&Va!t&Va#O&Va#P&Va'g&Va'q&Va'r&Va'x&Va'y&Va'z&Va'{&Va'|&Va'}&Va(O&Va(Q&Va(R&Va(T&Va!P&Va!e&VaX&VaP&Vav&Va!S&Va#R&Va~O!P/UO~Ow$yO$f/ZO$|*xO(P*PO~OQ!QOZ/[O[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaOo/^O'r(pO~O#W/_OP!YiQ!YiS!YiT!YiZ!Yi[!Yi^!Yi_!Yi`!Yia!Yid!Yig!Yio!Yis!Yit!Yiu!Yiw!Yiy!Yi|!Yi}!Yi!Q!Yi!U!Yi!W!Yi!X!Yi!Z!Yi!]!Yi!l!Yi!q!Yi!t!Yi#O!Yi#P!Yi#Y!Yi#p!Yi#r!Yi#{!Yi$O!Yi$b!Yi$d!Yi$f!Yi$i!Yi$m!Yi$q!Yi$s!Yi%T!Yi%V!Yi%Z!Yi%]!Yi%^!Yi%f!Yi%j!Yi%s!Yi&z!Yi'Q!Yi'T!Yi'Z!Yi'^!Yi'g!Yi'q!Yi'r!Yi'x!Yi'y!Yi'z!Yi'{!Yi'|!Yi'}!Yi(O!Yi(P!Yi(Q!Yi(R!Yi(T!YiX!Yi!e!Yi!P!Yiv!Yi!i!Yi!j!Yi#V!Yi#R!Yi~Oy#ziX#zi!e#zi!P#ziv#zi#R#zi~P2gOy$UiX$Ui!e$Ui!P$Uiv$Ui#R$Ui~P2gOv/eO!j&bO'Q`O~P<cOw/nO}/mO~Oy!RX#pbX~Oy/oO~O#p/pO~OR+bO_+dO!Q/sO'T&iO'Z%eO~Oa/zO|!VO'Q#VO'T(ROv(cP~OQ!QOZ%rO[%qO^%vO_%cO`TOa/zOd%jOg%yO|!VO}%pO!q%oO$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO!P(eP~PGaOQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f0VO%^%xO&W%{O'T%dO'Z%eO(Q%zOw(`Py(`P~PGaOw*vO~Oy-zO$|*xO~Oa/zO|!VO'Q#VO'T*oOv(gP~Ow+QO~OQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f0VO%^%xO&W%{O'T%dO'Z%eO(Q%zO(R0`O~PGaOy0dO~OQ!QOSVOTVO[$gO^0lO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!j0mO!l$lO!q0eO!t0hO'Q#VO'T$YO'Z%eO'^UO'g$[O~O#V0nO!P(jP~P%1}Ow!POy0pO#Q0rO$|*xO~OR0uO!e0sO~P#(kOR0uO!S+UO!e0sO(P*OO~OR0uOo0wO!S+UO!e0sOQ'VXZ'VX}'VX#p'VX(P'VX~OR0uOo0wO!e0sO~OR0uO!e0sO~O$f/ZO(P*PO~Ow$yO~Ow$yO$|*xO~Oo0}Oy0|O!S1OO'r(pO~O!e1POv(pX~Ov1RO~O^#TO_#TO`#TOa'kOw&|O'T&vO(Q1VO~Oo1YOQ'VXR'VXZ'VX}'VX!e'VX(P'VX~O!e1ZO(P*POR'YX~O!e1ZOR'YX~O!e1ZO(P*OOR'YX~OR1]O~O!S1^OS'wXT'wXZ'wX['wX_'wXd'wXo'wXs'wXu'wXw'wXy'wX}'wX!P'wX!e'wX!l'wX!q'wX!t'wX!y'wX#O'wX#P'wX#Q'wX#R'wX'Q'wX'Z'wX'^'wX'g'wX'r'wX'v'wX'x'wX'y'wX'z'wX'{'wX'|'wX'}'wX(O'wX(P'wX(Q'wX(R'wXX'wXv'wX~O}1_O~O!P1aO~P#KkOX1bO~P#KkOv1cO~P#KkOS,^OT,^OZ,^O['cO_1dOd,^Oo,^Os,^Ou,^Ow'dOy,^O}'bO!S,^O!e,^O!l,^O!q,[O!t,^O!y,^O#O,^O#P,^O#Q,^O#R,^O'Q,^O'Z%eO'^UO'g,ZO'r,[O'v,_O'x,ZO'y,[O'z,[O'{,[O'|,]O'},]O(O,^O(P,`O(Q,`O(R,aO~OX1fO~Oy,jO~O!e,sO!P(Va~P2gOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q#VO'ZkO'^UO'gcO'qiO(QdO!P&eX!e&eX~P)xO!e,sO!P(Va~OX&fa!e&fa!P&fa~P2gOX1kO~P2gO!P1mO!e(WO~OP!biZci!S!bi!e!bi!tci'qci'r!bi!O!bio!biy!bi!P!biX!bi!Z!bi#R!biv!bi~O'r(pOP!oi!S!oi!e!oi!O!oio!oiy!oi!P!oiX!oi!Z!oi#R!oiv!oi~O!j&bO!P&`X!e&`XX&`X~P<cO!e-TO!P'maX'ma~O!P1qO~Ov!RX!S!kX!e!RX~O!S1rO~O!e1sOv'oX~Ov1uO~O'T-XO~O!j1xO'T-XO~O(P*POP$Wi!e$Wi~O!S1yO'r(pOP$XX!e$XX~O!S1|O~Ov$_a!e$_a~P2gO!l(|O'Q#VO'T(xOv&hX!e&hX~O!e-oOv([a~Ov2QO~P,cOy2UO~O#p2VO~Oy2WO$|*xO~Ow*vOy2WO}*wO$|*xO~Oo2aO~Ow!POy2fO#Q2hO$|*xO~O!S2jO~Ov2lO~O#Q2mOR%wi#p%wi(P%wiw%wi$f%wi$|%wi[%wio%wiy%wi}%wi!l%wi!q%wi!t%wi#O%wi#P%wi'g%wi'q%wi'r%wi'x%wi'y%wi'z%wi'{%wi'|%wi'}%wi(O%wi(Q%wi(R%wi(T%wi!P%wi!e%wiX%wiP%wiv%wi!S%wi#R%wi~Od2nO~O^2qO!j.sO!q2rO'Q#VO'Z%eO~O(P*PO!P%{X!e%{X~O!e2sO!P(tX~O!P2uO~OQ!QOZ%rO[%qO^2wO_%cO`TOaTOd%jOg%yO}%pO!j2xO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO^2yO!j2xO(P*OO~O!P%aX!e%aX~P#4kO^2yO~O(P*POR&Oi#p&Oiw&Oi$f&Oi$|&Oi[&Oio&Oiy&Oi}&Oi!l&Oi!q&Oi!t&Oi#O&Oi#P&Oi'g&Oi'q&Oi'r&Oi'x&Oi'y&Oi'z&Oi'{&Oi'|&Oi'}&Oi(O&Oi(Q&Oi(R&Oi(T&Oi!P&Oi!e&OiX&OiP&Oiv&Oi!S&Oi#R&Oi~O_%cO!Q!lO!P&yX!e&yX~P#DkO!e.yO!P(ua~OR3QO(P*PO~O!e3ROR(rX~OR3TO~O(P*POR&Pi#p&Piw&Pi$f&Pi$|&Pi[&Pio&Piy&Pi}&Pi!l&Pi!q&Pi!t&Pi#O&Pi#P&Pi'g&Pi'q&Pi'r&Pi'x&Pi'y&Pi'z&Pi'{&Pi'|&Pi'}&Pi(O&Pi(Q&Pi(R&Pi(T&Pi!P&Pi!e&PiX&PiP&Piv&Pi!S&Pi#R&Pi~O!P3UO~O$f3VO(P*PO~Ow$yO$f3VO$|*xO(P*PO~Ow!PO!Z!YO~O!Z3aO#R3_O'r(pO~O!j&bO'Q#VO~P<cOv3eO~Ov3eO!j&bO'Q`O~P<cO!O3hO'r(pO~Ow!PO~P#9vOo3kOy3jO(P*PO~O!P3oO~P%;pOv3rO~P%;pOR0uO!S+UO!e0sO~OR0uOo0wO!S+UO!e0sO~Oa/zO|!VO'Q#VO'T(RO~O!S3uO~O!e3wOv(dX~Ov3yO~OQ!QOZ%rO[%qO^%vO_%cO`TOa/zOd%jOg%yO|!VO}%pO!q%oO$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO~PGaO!e3|O(P*PO!P(fX~O!P4OO~O!S4PO(P*OO~O!S+UO(P*PO~O!e4ROw(aXy(aX~OQ4TO~Oy2WO~Oa/zO|!VO'Q#VO'T*oO~Oo4WOw*vO}*wOv%XX!e%XX~O!e4ZOv(hX~Ov4]O~O(P4_Oy(_Xw(_X$|(_XR(_Xo(_X!e(_X~Oy4aO(P*PO~OQ!QOSVOTVO[$gO^4bO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!l$lO!q$hO#V$lO'T$YO'^UO'g$[O~O!j4cO'Z%eO~P&,sO!S4eO'r(pO~O#V4gO~P%1}O!e4hO!P(kX~O!P4jO~O!P%aX!S!aX!e%aX'r!aX~P!KgO!j&bO~P&,sO!e4hO!P(kX!S'eX'r'eX~O^2yO!j2xO~Ow!POy2fO~O_4pO!Q/sO'T&iO'Z%eOR&lX!e&lX~OR4rO!e0sO~O!S4tO~Ow$yO$|*xO(P*PO~Oy4uO~P2gOo4vOy4uO(P*PO~Ov&uX!e&uX~P!3|O!e1POv(pa~Oo4|Oy4{O(P*PO~OSVOTVO_%cOsVOtVOuVOw!PO!Q!lO'^UOR&vX!e&vX~P#DkO!e1ZOR'Ya~O!y5SO~O!P5TO~P#KkO!S1^OX'wX#R'wX~O!e,sO!P(Vi~O!P&ea!e&ea~P2gOX5WO~P2gOP!bqZcq!S!bq!e!bq!tcq'qcq'r!bq!O!bqo!bqy!bq!P!bqX!bq!Z!bq#R!bqv!bq~O'r(pO!P&`a!e&`aX&`a~O!i-`O!j-_O!l5YO'T-XOv&aX!e&aX~O!e1sOv'oa~O!S5[O~O!S5`O'r(pOP$Xa!e$Xa~O(P*POP$Wq!e$Wq~Ov$^i!e$^i~P2gOw!POy5bO#Q5dO$|*xO~Oo5gOy5fO(P*PO~Oy5iO~Oy5iO$|*xO~Oy5mO(P*PO~Ow!POy5bO~Oo5tOy5sO(P*PO~O!S5vO~O!e2sO!P(ta~O^2yO!j2xO'Z%eO~OQ!QOZ%rO[%qO^.rO_%cO`TOaTOd%jOg%yO}%pO!j.sO!q.pO!t5zO#V5|O$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO!P&xX!e&xX~PGaOQ!QOZ%rO[%qO^6OO_%cO`TOaTOd%jOg%yO}%pO!j6PO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(P*OO(Q%zO~PGaO!P%aa!e%aa~P#4kO^6QO~O#Q6ROR%wq#p%wq(P%wqw%wq$f%wq$|%wq[%wqo%wqy%wq}%wq!l%wq!q%wq!t%wq#O%wq#P%wq'g%wq'q%wq'r%wq'x%wq'y%wq'z%wq'{%wq'|%wq'}%wq(O%wq(Q%wq(R%wq(T%wq!P%wq!e%wqX%wqP%wqv%wq!S%wq#R%wq~O(P*POR&Oq#p&Oqw&Oq$f&Oq$|&Oq[&Oqo&Oqy&Oq}&Oq!l&Oq!q&Oq!t&Oq#O&Oq#P&Oq'g&Oq'q&Oq'r&Oq'x&Oq'y&Oq'z&Oq'{&Oq'|&Oq'}&Oq(O&Oq(Q&Oq(R&Oq(T&Oq!P&Oq!e&OqX&OqP&Oqv&Oq!S&Oq#R&Oq~O(P*PO!P&ya!e&ya~OX6SO~P2gO'Z%eOR&wX!e&wX~O!e3ROR(ra~O$f6YO(P*PO~Ow![q~P#9vO#R6]O~O!Z3aO#R6]O'r(pO~Ov6bO~O#R6fO~Oy6gO!P6hO~O!P6hO~P%;pOy6kO~Ov6kOy6gO~Ov6kO~P%;pOy6mO~O!e3wOv(da~O!S6pO~Oa/zO|!VO'Q#VO'T(ROv&oX!e&oX~O!e3|O(P*PO!P(fa~OQ!QOZ%rO[%qO^%vO_%cO`TOa/zOd%jOg%yO|!VO}%pO!q%oO$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO!P&pX!e&pX~PGaO!e3|O!P(fa~OQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f0VO%^%xO&W%{O'T%dO'Z%eO(Q%zOw&nX!e&nXy&nX~PGaO!e4ROw(aay(aa~O!e4ZOv(ha~Oo7SOv%Xa!e%Xa~Oo7SOw*vO}*wOv%Xa!e%Xa~Oa/zO|!VO'Q#VO'T*oOv&qX!e&qX~O(P*POy$xaw$xa$|$xaR$xao$xa!e$xa~O(P4_Oy(_aw(_a$|(_aR(_ao(_a!e(_a~O!P%aa!S!aX!e%aa'r!aX~P!KgOQ!QOSVOTVO[$gO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!j&bO!l$lO!q$hO#V$lO'T$YO'^UO'g$[O~O^7ZO~P&JUO^6QO!j6PO~O!e4hO!P(ka~O!e4hO!P(ka!S'eX'r'eX~OQ!QOSVOTVO[$gO^0lO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!j0mO!l$lO!q0eO!t7_O'Q#VO'T$YO'Z%eO'^UO'g$[O~O#V7aO!P&sX!e&sX~P&L]O!S7cO'r(pO~Ow!POy5bO$|*xO(P*PO~O!S+UOR&la!e&la~Oo0wO!S+UOR&la!e&la~Oo0wOR&la!e&la~O(P*POR$yi!e$yi~Oy7fO~P2gOo7gOy7fO(P*PO~O(P*PORni!eni~O(P*POR&va!e&va~O(P*OOR&va!e&va~OS,^OT,^OZ,^O_,^Od,^Oo,^Os,^Ou,^Oy,^O!S,^O!e,^O!l,^O!q,[O!t,^O!y,^O#O,^O#P,^O#Q,^O#R,^O'Q,^O'Z%eO'^UO'g,ZO'r,[O'x,ZO'y,[O'z,[O'{,[O'|,]O'},]O(O,^O~O(P7iO(Q7iO(R7iO~P'!qO!P7kO~P#KkO!P&ei!e&ei~P2gO'r(pOv!hi!e!hi~O!S7mO~O(P*POP$Xi!e$Xi~Ov$^q!e$^q~P2gOw!POy7oO~Ow!POy7oO#Q7rO$|*xO~Oy7tO~Oy7uO~Oy7vO(P*PO~Ow!POy7oO$|*xO(P*PO~Oo7{Oy7zO(P*PO~O!e2sO!P(ti~O(P*PO!P%}X!e%}X~O!P%ai!e%ai~P#4kO^8OO~O!e8TO['bXv$`i}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[OQ#[iS#[iT#[i[#[i^#[i_#[i`#[ia#[id#[is#[it#[iu#[iv$`i}#[i!i#[i!j#[i!l#[i!q#[i!t'bX#V#[i'Q#[i'T#[i'^#[i'g#[i'q'bX(Q'bX~P@[O#R#^a~P2gO#R8WO~O!Z3aO#R8XO'r(pO~Ov8[O~Oy8^O~P2gOy8`O~Oy6gO!P8aO~Ov8`Oy6gO~O!e3wOv(di~O(P*POv%Qi!e%Qi~O!e3|O!P(fi~O!e3|O(P*PO!P(fi~O(P*PO!P&pa!e&pa~O(P8hOw(bX!e(bXy(bX~O(P*PO!S$wiy$wiw$wi$|$wiR$wio$wi!e$wi~O!e4ZOv(hi~Ov%Xi!e%Xi~P2gOo8kOv%Xi!e%Xi~O!P%ai!S!aX!e%ai'r!aX~P!KgO(P*PO!P%`i!e%`i~O!e4hO!P(ki~O#V8nO~P&L]O!P&sa!S'eX!e&sa'r'eX~O(P*POR$zq!e$zq~Oy8pO~P2gOy7zO~P2gO(P8rO(Q8rO(R8rO~O(P8rO(Q8rO(R8rO~P'!qO'r(pOv!hq!e!hq~O(P*POP$Xq!e$Xq~Ow!POy8uO$|*xO(P*PO~Ow!POy8uO~Oy8xO~P2gOy8zO~P2gOo8|Oy8zO(P*PO~OQ#[qS#[qT#[q[#[q^#[q_#[q`#[qa#[qd#[qs#[qt#[qu#[qv$`q}#[q!i#[q!j#[q!l#[q!q#[q#V#[q'Q#[q'T#[q'^#[q'g#[q~O!e9PO['bXv$`q}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[Oo'bX!t'bX#O'bX#P'bX#p'bX'q'bX'r'bX'x'bX'y'bX'z'bX'{'bX'|'bX'}'bX(O'bX(P'bX(Q'bX(R'bX(T'bX~P'2fO#R9UO~O!Z3aO#R9UO'r(pO~Oy9WO~O(P*POv%Qq!e%Qq~O!e3|O!P(fq~O(P*PO!P&pi!e&pi~O(P8hOw(ba!e(bay(ba~Ov%Xq!e%Xq~P2gO!P&si!S'eX!e&si'r'eX~O(P*PO!P%`q!e%`q~Oy9]O~P2gO(P9^O(Q9^O(R9^O~O'r(pOv!hy!e!hy~Ow!POy9_O~Ow!POy9_O$|*xO(P*PO~Oy9aO~P2gOQ#[yS#[yT#[y[#[y^#[y_#[y`#[ya#[yd#[ys#[yt#[yu#[yv$`y}#[y!i#[y!j#[y!l#[y!q#[y#V#[y'Q#[y'T#[y'^#[y'g#[y~O!e9dO['bXv$`y}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[Oo'bX!t'bX#O'bX#P'bX#p'bX'q'bX'r'bX'x'bX'y'bX'z'bX'{'bX'|'bX'}'bX(O'bX(P'bX(Q'bX(R'bX(T'bX~P'9eO!e9eO['bX}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[OQ#[iS#[iT#[i[#[i^#[i_#[i`#[ia#[id#[is#[it#[iu#[i}#[i!i#[i!j#[i!l#[i!q#[i!t'bX#V#[i'Q#[i'T#[i'^#[i'g#[i'q'bX(Q'bX~P@[O#R9hO~O(P*PO!P&pq!e&pq~Ov%Xy!e%Xy~P2gOw!POy9iO~Oy9jO~P2gOQ#[!RS#[!RT#[!R[#[!R^#[!R_#[!R`#[!Ra#[!Rd#[!Rs#[!Rt#[!Ru#[!Rv$`!R}#[!R!i#[!R!j#[!R!l#[!R!q#[!R#V#[!R'Q#[!R'T#[!R'^#[!R'g#[!R~O!e9kO['bX}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[OQ#[qS#[qT#[q[#[q^#[q_#[q`#[qa#[qd#[qs#[qt#[qu#[q}#[q!i#[q!j#[q!l#[q!q#[q!t'bX#V#[q'Q#[q'T#[q'^#[q'g#[q'q'bX(Q'bX~P@[O!e9nO['bX}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[OQ#[yS#[yT#[y[#[y^#[y_#[y`#[ya#[yd#[ys#[yt#[yu#[y}#[y!i#[y!j#[y!l#[y!q#[y!t'bX#V#[y'Q#[y'T#[y'^#[y'g#[y'q'bX(Q'bX~P@[OwbX~P$|OwjX}jX!tbX'qbX~P!6mOZ'SXd'XXo'SXw'kX!t'SX'q'SX'r'SX~O['SXd'SXw'SX}'SX!l'SX!q'SX#O'SX#P'SX#p'SX'g'SX'x'SX'y'SX'z'SX'{'SX'|'SX'}'SX(O'SX(P'SX(Q'SX(R'SX(T'SX~P'GTOP'SX}'kX!S'SX!e'SX!O'SXy'SX!P'SXX'SX!Z'SX#R'SXv'SX~P'GTO^9qO_9qO`9qOa9qO'T9oO~O!j:OO~P!.cOPoOQ!QOSVOTVOZeOd9tOsVOtVOuVO!U#bO!W#cO!X:zO!Z!YO#Y!_O#r9zO#{9{O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO[#sXo#sXw#sX}#sX!l#sX!q#sX!t#sX#O#sX#P#sX#p#sX'g#sX'q#sX'r#sX'x#sX'y#sX'z#sX'{#sX'|#sX'}#sX(O#sX(P#sX(Q#sX(R#sX(T#sX~P'IxO#Q$uO~P!.cO}'kXP'SX!S'SX!e'SX!O'SXy'SX!P'SXX'SX!Z'SX#R'SXv'SX~P'GTOo#qX#O#qX#P#qX#p#qX'r#qX'x#qX'y#qX'z#qX'{#qX'|#qX'}#qX(O#qX(P#qX(R#qX(T#qX~P!.cOo#zX#O#zX#P#zX#p#zX'r#zX'x#zX'y#zX'z#zX'{#zX'|#zX'}#zX(O#zX(P#zX(R#zX(T#zX~P!.cOPoOQ!QOSVOTVOZeOd9tOsVOtVOuVO!U#bO!W#cO!X:zO!Z!YO#Y!_O#r9zO#{9{O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO[#sao#saw#sa}#sa!l#sa!q#sa!t#sa#O#sa#P#sa#p#sa'g#sa'q#sa'r#sa'x#sa'y#sa'z#sa'{#sa'|#sa'}#sa(O#sa(P#sa(Q#sa(R#sa(T#sa~P'IxOo:YO#O:YO#P:VOw#sa~P!B}Ow$Ua~P#9vOQ'XXd'XX}iX~OQlXdlX}jX~O^:sO_:sO`:sOa:sO'T:_O~OQ'XXd'XX}hX~Ow#qa~P#9vOw#za~P#9vO!S&_Oo#za#O#za#P#za#p#za'r#za'x#za'y#za'z#za'{#za'|#za'}#za(O#za(P#za(R#za(T#za~P!.cO#Q*eO~P!.cOw#ci~P#9vO[#}O}#zO'x#hO(O#|O(Q#hO(R#fO(T#hOo#eiw#ei!l#ei!q#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'y#ei'z#ei'{#ei'|#ei'}#ei~O'g#ei(P#ei~P((}O'g#gO(P#gO~P((}O[#}O}#zO'g#gO'x#hO'y#iO'z#iO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiw#ei!l#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'{#ei'|#ei'}#ei~O!q#ei~P(*yO!q#jO~P(*yO[#}O}#zO!q#jO'g#gO'x#hO'y#iO'z#iO'{#kO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiw#ei!l#ei!t#ei#O#ei#P#ei#p#ei'q#ei'|#ei'}#ei~O'r#ei~P(,rO'r#lO~P(,rO[#}O}#zO!q#jO#P:VO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiw#ei!l#ei!t#ei#O#ei#p#ei'q#ei'|#ei~O'}#ei~P(.kO'}#mO~P(.kOo:YO#O:YO#P:VOw#ni~P$1xOo:YO#O:YO#P:VOw#si~P$3yOQ'XXd'XX}'kX~Ow#zi~P#9vOw$Ui~P#9vOd9}O~Ow#ca~P#9vOd:uO~OU'x_'v'P'O'^s!y'^'T'Z~",goto:"$Ku(vPPPPPPP(wPP)OPP)^PPPP)d-hP0f5aP7R7R8v7R>wD_DpPDvHQPPPPPPK`P! P! _PPPPP!!VP!$oP!$oPP!&oP!(rP!(w!)n!*f!*f!*f!(w!+]P!(w!.Q!.TPP!.ZP!(w!(w!(w!(wP!(w!(wP!(w!(w!.y!/dP!/dJ}J}J}PPPP!/d!.y!/sPP!$oP!0^!0a!0g!1h!1t!3t!3t!5r!7t!1t!1t!9p!;_!=O!>k!@U!Am!CS!De!1t!1tP!1tP!1t!1t!Et!1tP!Ge!1t!1tP!Ie!1tP!1t!7t!7t!1t!7t!1t!Kl!Mt!Mw!7t!1t!Mz!M}!M}!M}!NR!$oP!$oP!$oP! P! PP!N]! P! PP!Ni# }! PP! PP#!^##c##k#$Z#$_#$e#$e#$mP#&s#&s#&y#'o#'{! PP! PP#(]#(l! PP! PPP#(x#)W#)d#)|#)^! P! PP! P! P! PP#*S#*S#*Y#*`#*S#*S! P! PP#*m#*v#+Q#+Q#,x#.l#.x#.x#.{#.{5a5a5a5a5a5a5a5aP5a#/O#/U#/p#1{#2R#2b#6^#6d#6j#6|#7W#8w#9R#9b#9h#9n#9x#:S#:Y#:g#:m#:s#:}#;]#;g#=u#>R#>`#>f#>n#>u#?PPPPPPPP#?V#BaP#F^#Jx#Ls#Nr$&^P$&aPPP$)_$)h$)z$/U$1d$1m$3fP!(w$4`$7r$:i$>T$>^$>c$>fPPP$>i$A`$A|P$BaPPPPPPPPPP$BvP$EU$EX$E[$Eb$Ee$Eh$Ek$En$Et$HO$HR$HU$HX$H[$H_$Hb$He$Hh$Hk$Hn$Jt$Jw$Jz#*S$KW$K^$Ka$Kd$Kh$Kl$Ko$KrQ!tPT'V!s'Wi!SOlm!P!T$T$W$y%b)U*f/gQ'i#QR,n'l(OSOY[bfgilmop!O!P!T!Y!Z![!_!`!c!p!q!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r$y%X%_%b&U&Y&[&b&u&z&|'P'a'l'n'o'}(W(Y(b(d(e(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n+z,q,s,z-R-T-g-m-t.}/^/b/d/g0e0g0m0}1P1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f:gS(z$v-oQ*p&eQ*t&hQ-k(yQ-y)ZW0Z+Q0Y4Z7UR4Y0[&w!RObfgilmop!O!P!T!Y!Z![!_!`!c!p#Q#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r$y%_%b&U&Y&[&b&u'l'}(W(Y(b(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n,s,z-T-g-m-t.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f#r]Ofgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9hb#[b#Q$y'l(b)S)U*Z-t!h$bo!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m$b%k!Q!n$O$u%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g!W:y!Y!_!`*i*l/^3h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fR:|%n$_%u!Q!n$O$u%o%p%q&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g$e%l!Q!n$O$u%n%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g'hZOY[fgilmop!O!P!T!Y!Z![!_!`!c!p!|!}#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r%_%b%i%j&U&Y&[&b&u'a'}(W(Y(d(e(f(j(o(p(r(|)i)p)q*f*i*k*l+Z+n,s,z-R-T-g-m.i.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:`:a:e:f:g:t:u:x$^%l!Q!n$O$u%n%o%p%q%y%{&P&p&r(q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gQ&j!hQ&k!iQ&l!jQ&m!kQ&s!oQ)[%QQ)]%RQ)^%SQ)_%TQ)b%WQ+`&oS,R']1ZQ.W)`S/r*u4TR4n0s+yTOY[bfgilmop!O!P!Q!T!Y!Z![!_!`!c!n!p!q!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$O$T$W$`$a$e$g$h$q$r$u$y%X%_%b%i%j%n%o%p%q%y%{&P&U&Y&[&b&o&p&r&u&z&|'P']'a'l'n'o'}(W(Y(b(d(e(f(j(o(p(q(r(|)S)U)i)p)q)s)x)y*O*P*R*V*Z*[*^*e*f*i*k*l*n*w*x+U+V+Z+h+n+o+z+},q,s,z-R-T-g-i-m-t-v.U.`.i.p.t.x.y.}/Z/[/^/b/d/g/{/}0`0e0g0m0r0w0}1O1P1Y1Z1h1r1y1|2a2h2j2m2s2v3V3_3a3f3h3k3u3{3|4R4U4W4_4c4e4h4t4v4|5[5`5d5g5t5v6R6Y6]6a6p6v6x7S7^7c7g7m7r7{8W8X8g8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:`:a:e:f:g:t:u:xQ'[!xQ'h#PQ)l%gU)r%m*T*WR.f)kQ,T']R5P1Z#t%s!Q!n$O$u%p%q&P&p&r(q)x)y*O*R*V*[*^*e*n*w+V+h+o+}-i-v.U.`.t.x.y/Z/[/{/}0`0r0w1O1Y1y2a2h2j2m2v3V3u3{3|4U4e4t5`5d5v6R6Y6p6v6x7c7r8gQ)x%oQ+_&oQ,U']n,^'b'c'd,c,f,h,l/m/n1_3n3q5T5U7kS.q)s2sQ/O*PQ/Q*SQ/q*uS0Q*x4RQ0a+U[0o+Z.j0g4h5y7^Q2v.pS4d0e2rQ4m0sQ5Q1ZQ6T3RQ6z4PQ7O4TQ7X4_R9Y8h&jVOfgilmop!O!P!T!Y!Z![!_!`!c!p#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r%_%b&U&Y&[&b&u']'}(W(Y(b(f(j(o(p(r(|)i*f*i*k*l+Z+n,s,z-T-g-m.}/^/b/d/g0e0g0m0}1Z1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fU&g!g%P%[o,^'b'c'd,c,f,h,l/m/n1_3n3q5T5U7k$nsOfgilm!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y'}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9z9{:O:P:Q:R:S:T:U:V:W:X:Y:eS$tp9xS&O!W#bS&Q!X#cQ&`!bQ*_&RQ*a&VS*d&[:fQ*h&^Q,T']Q-j(wQ/i*jQ0p+[S2f.X0qQ3]/_Q3^/`Q3g/hQ3i/kQ5P1ZU5b2R2g4lU7o5c5e5rQ8]6dS8u7p7qS9_8v8wR9i9`i{Ob!O!P!T$y%_%b)S)U)i-thxOb!O!P!T$y%_%b)S)U)i-tW/v*v/t3w6qQ/}*wW0[+Q0Y4Z7UQ3{/{Q6x3|R8g6v!h$do!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mQ&d!dQ&f!fQ&n!mW&x!q%X&|1PQ'S!rQ)X$}Q)Y%OQ)a%VU)d%Y'T'UQ*s&hS+s&z'PS-Y(k1sQ-u)WQ-x)ZS.a)e)fS0x+c/sQ1S+zQ1W+{S1v-_-`Q2k.bQ3s/pQ5]1xR5h2V${sOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f$zsOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fR3]/_V&T!Y!`*i!i$lo!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m!k$^o!c!p$e$g$h$q$r&U&b&u(b(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m!i$co!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m&e^Ofgilmop!O!P!T!Y!Z![!_!`!c!p#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r%_%b&U&Y&[&b&u'}(W(Y(f(j(o(p(r(|)i*f*i*k*l+Z+n,s,z-T-g-m.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fR(l$fQ-[(kR5Y1sQ(S#|S({$v-oS-Z(k1sQ-l(yW/u*v/t3w6qS1w-_-`Q3v/vR5^1xQ'e#Or,e'b'c'd'j'p)u,c,f,h,l/m/n1_3n3q5U6fR,o'mk,a'b'c'd,c,f,h,l/m/n1_3n3q5UQ'f#Or,e'b'c'd'j'p)u,c,f,h,l/m/n1_3n3q5U6fR,p'mR*g&]X/c*f/d/g3f!}aOb!O!P!T#z$v$y%_%b'}(y)S)U)i)s*f*v*w+Q+Z,s-o-t.j/b/d/g/t/{0Y0g1h2s3f3w3|4Z4h5y6a6q6v7U7^Q3`/aQ6_3bQ8Y6`R9V8Z${rOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f#nfOfglmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h!T9u!Y!_!`*i*l/^3h9u9v9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:e:f#rfOfgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h!X9u!Y!_!`*i*l/^3h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f$srOfglmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:e:f#U#oh#d$P$Q$V$s%^&W&X'q't'u'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9b}:P&S&]/k3[6d:[:]:c:d:h:j:k:l:m:n:o:p:q:r:v:w:{#W#ph#d$P$Q$V$s%^&W&X'q'r't'u'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9b!P:Q&S&]/k3[6d:[:]:c:d:h:i:j:k:l:m:n:o:p:q:r:v:w:{#S#qh#d$P$Q$V$s%^&W&X'q'u'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9b{:R&S&]/k3[6d:[:]:c:d:h:k:l:m:n:o:p:q:r:v:w:{#Q#rh#d$P$Q$V$s%^&W&X'q'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9by:S&S&]/k3[6d:[:]:c:d:h:l:m:n:o:p:q:r:v:w:{#O#sh#d$P$Q$V$s%^&W&X'q'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9bw:T&S&]/k3[6d:[:]:c:d:h:m:n:o:p:q:r:v:w:{!|#th#d$P$Q$V$s%^&W&X'q'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9bu:U&S&]/k3[6d:[:]:c:d:h:n:o:p:q:r:v:w:{!x#vh#d$P$Q$V$s%^&W&X'q'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9bq:W&S&]/k3[6d:[:]:c:d:h:p:q:r:v:w:{!v#wh#d$P$Q$V$s%^&W&X'q'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9bo:X&S&]/k3[6d:[:]:c:d:h:q:r:v:w:{$]#{h#`#d$P$Q$V$s%^&S&W&X&]'q'r's't'u'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n/k0z1i1l1}3P3[4w5V5a6^6d6e7R7e7h7s7y8j8q8{9[9b:[:]:c:d:h:i:j:k:l:m:n:o:p:q:r:v:w:{${jOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f$v!aOfgilmp!O!P!T!Y!Z!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fQ&Y![Q&Z!]R:e9{#rpOfgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9hQ&[!^!W9x!Y!_!`*i*l/^3h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fR:f:zR$moR-f(rR$wqT(}$v-oQ/f*fS3d/d/gR6c3fQ3m/mQ3p/nQ6i3nR6l3qQ$zwQ)V${Q*q&fQ+f&qQ+i&sQ-w)YW.Z)b+j+k+lS/X*]+gW2b.W.[.].^U3W/Y/]0yU5o2c2d2eS6W3X3ZS7w5p5qS8Q6V6XQ8y7xS8}8R8SR9c9O^|O!O!P!T%_%b)iX)R$y)S)U-tQ&r!nQ*^&PQ*|&jQ+P&kQ+T&lQ+W&mQ+]&nQ+l&sQ-})[Q.Q)]Q.T)^Q.V)_Q.Y)aQ.^)bQ2S-uQ2e.WR4U0VU+a&o*u4TR4o0sQ+Y&mQ+k&sS.])b+l^0v+_+`/q/r4m4n7OS2d.W.^S4Q0R0SR5q2eS0R*x4RQ0a+UR7X4_U+d&o*u4TR4p0sQ*z&jQ+O&kQ+S&lQ+g&qQ+j&sS-{)[*|S.P)]+PS.S)^+TU.[)b+k+lQ/Y*]Q0X*{Q0q+[Q2X-|Q2Y-}Q2].QQ2_.TU2c.W.].^Q2g.XS3Z/]0yS5c2R4lQ5j2ZS5p2d2eQ6X3XS7q5e5rQ7x5qQ8R6VQ8v7pQ9O8SR9`8wQ0T*xR6|4RQ*y&jQ*}&kU-z)[*z*|U.O)]+O+PS2W-{-}S2[.P.QQ4X0ZQ5i2YQ5k2]R7T4YQ/w*vQ3t/tQ6r3wR8d6qQ*{&jS-|)[*|Q2Z-}Q4X0ZR7T4YQ+R&lU.R)^+S+TS2^.S.TR5l2_Q0]+QQ4V0YQ7V4ZR8l7UQ+[&nS.X)a+]S2R-u.YR5e2SQ0i+ZQ4f0gQ7`4hR8m7^Q.m)sQ0i+ZQ2p.jQ4f0gQ5|2sQ7`4hQ7}5yR8m7^Q0i+ZR4f0gX'O!q%X&|1PX&{!q%X&|1PW'O!q%X&|1PS+u&z'PR1U+z_|O!O!P!T%_%b)iQ%a!PS)h%_%bR.d)i$^%u!Q!n$O$u%o%p%q&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gQ*U%yR*X%{$c%n!Q!n$O$u%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gW)t%m%x*T*WQ.e)jR2{.vR.m)sR5|2sQ'W!sR,O'WQ!TOQ$TlQ$WmQ%b!P[%|!T$T$W%b)U/gQ)U$yR/g*f$b%i!Q!n$O$u%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g[)n%i)p.i:`:t:xQ)p%jQ.i)qQ:`%nQ:t:aR:x:uQ!vUR'Y!vS!OO!TU%]!O%_)iQ%_!PR)i%b#rYOfgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9hh!yY!|#U$`'a'n(d,q-R9s9|:gQ!|[b#Ub#Q$y'l(b)S)U*Z-t!h$`o!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mQ'a!}Q'n#ZQ(d$aQ,q'oQ-R(e!W9s!Y!_!`*i*l/^3h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fQ9|9tR:g9}Q-U(gR1p-UQ1t-[R5Z1tQ,c'bQ,f'cQ,h'dW1`,c,f,h5UR5U1_Q/d*fS3c/d3fR3f/gfbO!O!P!T$y%_%b)S)U)i-tp#Wb'}(y.j/b/t/{0Y0g1h5y6a6q6v7U7^Q'}#zS(y$v-oQ.j)sW/b*f/d/g3fQ/t*vQ/{*wQ0Y+QQ0g+ZQ1h,sQ5y2sQ6q3wQ6v3|Q7U4ZR7^4hQ,t(OQ1g,rT1j,t1gS(X$Q([Q(^$VU,x(X(^,}R,}(`Q(s$mR-h(sQ-p)OR2P-pQ3n/mQ3q/nT6j3n3qQ)S$yS-r)S-tR-t)UQ4`0aR7Y4``0t+^+_+`+a+d/q/r7OR4q0tQ8i6zR9Z8iQ4S0TR6}4SQ3x/wQ6n3tT6s3x6nQ3}/|Q6t3zU6y3}6t8eR8e6uQ4[0]Q7Q4VT7W4[7QhzOb!O!P!T$y%_%b)S)U)i-tQ$|xW%Zz$|%f)v$b%f!Q!n$O$u%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gR)v%nS4i0i0nS7]4f4gT7b4i7]W&z!q%X&|1PS+r&z+zR+z'PQ1Q+wR4z1QU1[,S,T,UR5R1[S3S/Q7OR6U3SQ2t.mQ5x2pT5}2t5xQ.z)zR3O.z^_O!O!P!T%_%b)iY#Xb$y)S)U-t$l#_fgilmp!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W&Y&['}(W(Y(|*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f!h$io!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mS'j#Q'lQ-P(bR/V*Z&v!RObfgilmop!O!P!T!Y!Z![!_!`!c!p#Q#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r$y%_%b&U&Y&[&b&u'l'}(W(Y(b(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n,s,z-T-g-m-t.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f[!{Y[#U#Z9s9tW&{!q%X&|1P['`!|!}'n'o9|9}S(c$`$aS+t&z'PU,X'a,q:gS-Q(d(eQ1T+zR1n-RS%t!Q&oQ&q!nQ(V$OQ(w$uS)w%o.pQ)z%pQ)}%qS*]&P&rQ+e&pQ,S']Q-d(qQ.l)sU.w)x)y2vS/O*O*PQ/P*RQ/T*VQ/W*[Q/]*^Q/`*eQ/l*nQ/|*wS0S*x4RQ0a+UQ0c+VQ0y+hQ0{+oQ1X+}Q1{-iQ2T-vQ2`.UQ2i.`Q2z.tQ2|.xQ2}.yQ3X/ZQ3Y/[S3z/{/}Q4^0`Q4l0rQ4s0wQ4x1OQ4}1YQ5O1ZQ5_1yQ5n2aQ5r2hQ5u2jQ5w2mQ5{2sQ6V3VQ6o3uQ6u3{Q6w3|Q7P4UQ7X4_Q7[4eQ7d4tQ7n5`Q7p5dQ7|5vQ8P6RQ8S6YQ8c6pS8f6v6xQ8o7cQ8w7rR9X8g$^%m!Q!n$O$u%o%p%q&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gQ)j%nQ*T%yR*W%{$y%h!Q!n$O$u%i%j%n%o%p%q%y%{&P&o&p&r'](q)p)q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.i.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g:`:a:t:u:x'pWOY[bfgilmop!O!P!T!Y!Z![!_!`!c!p!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r$y%_%b&U&Y&[&b&u'a'l'n'o'}(W(Y(b(d(e(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n,q,s,z-R-T-g-m-t.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f:g$x%g!Q!n$O$u%i%j%n%o%p%q%y%{&P&o&p&r'](q)p)q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.i.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g:`:a:t:u:x_&y!q%X&z&|'P+z1PR,V']$zrOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f!j$]o!c!p$e$g$h$q$r&U&b&u(b(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mQ,T']R5P1Z_}O!O!P!T%_%b)i^|O!O!P!T%_%b)iQ#YbX)R$y)S)U-tbhO!O!T3_6]8W8X9U9hS#`f9uQ#dgQ$PiQ$QlQ$VmQ$spW%^!P%_%b)iU&S!Y!`*iQ&W!ZQ&X![Q&]!_Q'q#eQ'r#oS's#p:QQ't#qQ'u#rQ'v#sQ'w#tQ'x#uQ'y#vQ'z#wQ'{#xQ'|#yQ(O#zQ(U#}Q([$TQ(`$WQ*b&YQ*c&[Q,r'}Q,w(WQ,y(YQ-n(|Q/k*lQ0z+nQ1i,sQ1l,zQ1}-mQ3P.}Q3[/^Q4w0}Q5V1hQ5a1|Q6^3aQ6d3hQ6e3kQ7R4WQ7e4vQ7h4|Q7s5gQ7y5tQ8j7SQ8q7gQ8{7{Q9[8kQ9b8|Q:[9wQ:]9xQ:c9zQ:d9{Q:h:OQ:i:PQ:j:RQ:k:SQ:l:TQ:m:UQ:n:VQ:o:WQ:p:XQ:q:YQ:r:ZQ:v:eQ:w:fR:{9v^tO!O!P!T%_%b)i$`#afgilmp!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W&Y&['}(W(Y(|*i*l+n,s,z-m.}/^0}1h1|3a3h3k4W4v4|5g5t7S7g7{8k8|9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fQ6[3_Q8V6]Q9R8WQ9T8XQ9g9UR9m9hQ&V!YQ&^!`R/h*iQ$joQ&a!cQ&t!pU(g$e$g(jS(n$h0eQ(u$qQ(v$rQ*`&UQ*m&bQ+p&uQ-S(fS-b(o4cQ-c(pQ-e(rW/a*f/d/g3fQ/j*kW0f+Z0g4h7^Q1o-TQ1z-gQ3b/bQ4k0mQ5X1rQ7l5[Q8Z6aR8t7m!h$_o!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mR-P(b'qXOY[bfgilmop!O!P!T!Y!Z![!_!`!c!p!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r$y%_%b&U&Y&[&b&u'a'l'n'o'}(W(Y(b(d(e(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n,q,s,z-R-T-g-m-t.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f:g$zqOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f!i$fo!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m&d^Ofgilmop!O!P!T!Y!Z![!_!`!c!p#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r%_%b&U&Y&[&b&u'}(W(Y(f(j(o(p(r(|)i*f*i*k*l+Z+n,s,z-T-g-m.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f[!zY[$`$a9s9t['_!|!}(d(e9|9}W)o%i%j:`:aU,W'a-R:gW.h)p)q:t:uT2o.i:xQ(i$eQ(m$gR-W(jV(h$e$g(jR-^(kR-](k$znOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f!i$ko!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mS'g#O'pj,a'b'c'd,c,f,h,l/m/n1_3n3q5UQ,m'jQ.u)uR8_6f`,b'b'c'd,c,f,h1_5UQ1e,lX3l/m/n3n3qj,a'b'c'd,c,f,h,l/m/n1_3n3q5UQ7j5TR8s7k^uO!O!P!T%_%b)i$`#afgilmp!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W&Y&['}(W(Y(|*i*l+n,s,z-m.}/^0}1h1|3a3h3k4W4v4|5g5t7S7g7{8k8|9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fQ6Z3_Q8U6]Q9Q8WQ9S8XQ9f9UR9l9hR(Q#zR(P#zQ$SlR(]$TR$ooR$noR)Q$vR)P$vQ)O$vR2O-ohwOb!O!P!T$y%_%b)S)U)i-t$l!lz!Q!n$O$u$|%f%n%o%p%q%y%{&P&o&p&r'](q)s)v)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gR${xR0b+UR0W*xR0U*xR6{4PR/y*vR/x*vR0P*wR0O*wR0_+QR0^+Q%XyObxz!O!P!Q!T!n$O$u$y$|%_%b%f%n%o%p%q%y%{&P&o&p&r'](q)S)U)i)s)v)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-t-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gR0k+ZR0j+ZQ'R!qQ)c%XQ+w&|R4y1PX'Q!q%X&|1PR+y&|R+x&|T/S*S4TT/R*S4TR.o)sR.n)sR){%p",nodeNames:"\u26A0 | < > RawString Float LineComment BlockComment SourceFile ] InnerAttribute ! [ MetaItem self Metavariable super crate Identifier ScopedIdentifier :: QualifiedScope AbstractType impl SelfType MetaType TypeIdentifier ScopedTypeIdentifier ScopeIdentifier TypeArgList TypeBinding = Lifetime String Escape Char Boolean Integer } { Block ; ConstItem Vis pub ( in ) const BoundIdentifier : UnsafeBlock unsafe AsyncBlock async move IfExpression if LetDeclaration let LiteralPattern ArithOp MetaPattern SelfPattern ScopedIdentifier TuplePattern ScopedTypeIdentifier , StructPattern FieldPatternList FieldPattern ref mut FieldIdentifier .. RefPattern SlicePattern CapturedPattern ReferencePattern & MutPattern RangePattern ... OrPattern MacroPattern ParenthesizedTokens TokenBinding Identifier TokenRepetition ArithOp BitOp LogicOp UpdateOp CompareOp -> => ArithOp BracketedTokens BracedTokens _ else MatchExpression match MatchBlock MatchArm Attribute Guard UnaryExpression ArithOp DerefOp LogicOp ReferenceExpression TryExpression BinaryExpression ArithOp ArithOp BitOp BitOp BitOp BitOp LogicOp LogicOp AssignmentExpression TypeCastExpression as ReturnExpression return RangeExpression CallExpression ArgList AwaitExpression await FieldExpression GenericFunction BreakExpression break LoopLabel ContinueExpression continue IndexExpression ArrayExpression TupleExpression MacroInvocation UnitExpression ClosureExpression ParamList Parameter Parameter ParenthesizedExpression StructExpression FieldInitializerList ShorthandFieldInitializer FieldInitializer BaseFieldInitializer MatchArm WhileExpression while LoopExpression loop ForExpression for MacroInvocation MacroDefinition macro_rules MacroRule EmptyStatement ModItem mod DeclarationList AttributeItem ForeignModItem extern StructItem struct TypeParamList ConstrainedTypeParameter TraitBounds HigherRankedTraitBound RemovedTraitBound OptionalTypeParameter ConstParameter WhereClause where LifetimeClause TypeBoundClause FieldDeclarationList FieldDeclaration OrderedFieldDeclarationList UnionItem union EnumItem enum EnumVariantList EnumVariant TypeItem type FunctionItem default fn ParamList Parameter SelfParameter VariadicParameter VariadicParameter ImplItem TraitItem trait AssociatedType LetDeclaration UseDeclaration use ScopedIdentifier UseAsClause ScopedIdentifier UseList ScopedUseList UseWildcard ExternCrateDeclaration StaticItem static ExpressionStatement ExpressionStatement GenericType FunctionType ForLifetimes ParamList VariadicParameter Parameter VariadicParameter Parameter ReferenceType PointerType TupleType UnitType ArrayType MacroInvocation EmptyType DynamicType dyn BoundedType",maxTerm:359,nodeProps:[["isolate",-4,4,6,7,33,""],["group",-42,4,5,14,15,16,17,18,19,33,35,36,37,40,51,53,56,101,107,111,112,113,122,123,125,127,128,130,132,133,134,137,139,140,141,142,143,144,148,149,155,157,159,"Expression",-16,22,24,25,26,27,222,223,230,231,232,233,234,235,236,237,239,"Type",-20,42,161,162,165,166,169,170,172,188,190,194,196,204,205,207,208,209,217,218,220,"Statement",-17,49,60,62,63,64,65,68,74,75,76,77,78,80,81,83,84,99,"Pattern"],["openedBy",9,"[",38,"{",47,"("],["closedBy",12,"]",39,"}",45,")"]],propSources:[gy],skippedNodes:[0,6,7,240],repeatNodeCount:32,tokenData:"$%h_R!XOX$nXY5gYZ6iZ]$n]^5g^p$npq5gqr7Xrs9cst:Rtu;Tuv>vvwAQwxCbxy!+Tyz!,Vz{!-X{|!/_|}!0g}!O!1i!O!P!3v!P!Q!8[!Q!R!Bw!R![!Dr![!]#+q!]!^#-{!^!_#.}!_!`#1b!`!a#3o!a!b#6S!b!c#7U!c!}#8W!}#O#:T#O#P#;V#P#Q#Cb#Q#R#Dd#R#S#8W#S#T$n#T#U#8W#U#V#El#V#f#8W#f#g#Ic#g#o#8W#o#p$ S#p#q$!U#q#r$$f#r${$n${$|#8W$|4w$n4w5b#8W5b5i$n5i6S#8W6S;'S$n;'S;=`4s<%lO$nU$u]'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nU%uV'_Q'OSOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[S&aV'OSOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[S&yVOz'`z{&v{!P'`!P!Q*y!Q;'S'`;'S;=`*m<%lO'`S'cVOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[S'{UOz'`{!P'`!P!Q(_!Q;'S'`;'S;=`*m<%lO'`S(bUOz(t{!P(t!P!Q(_!Q;'S(t;'S;=`*a<%lO(tS(wVOz)^z{)z{!P)^!P!Q(_!Q;'S)^;'S;=`*g<%lO)^S)eV'PS'OSOz)^z{)z{!P)^!P!Q(_!Q;'S)^;'S;=`*g<%lO)^S)}UOz(tz{)z{!P(t!Q;'S(t;'S;=`*a<%lO(tS*dP;=`<%l(tS*jP;=`<%l)^S*pP;=`<%l'`S*vP;=`<%l&[S+OO'PSU+T]'_QOY+|YZ-xZr+|rs'`sz+|z{+O{!P+|!P!Q4y!Q#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|U,R]'_QOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nU-P]'_QOY+|YZ-xZr+|rs'`sz+|z{.d{!P+|!P!Q/Z!Q#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|U-}V'_QOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[Q.iV'_QOY.dYZ/OZr.ds#O.d#P;'S.d;'S;=`/T<%lO.dQ/TO'_QQ/WP;=`<%l.dU/`]'_QOY0XYZ3uZr0Xrs(tsz0Xz{.d{!P0X!P!Q/Z!Q#O0X#O#P(t#P;'S0X;'S;=`4a<%lO0XU0^]'_QOY1VYZ2XZr1Vrs)^sz1Vz{2w{!P1V!P!Q/Z!Q#O1V#O#P)^#P;'S1V;'S;=`4g<%lO1VU1`]'_Q'PS'OSOY1VYZ2XZr1Vrs)^sz1Vz{2w{!P1V!P!Q/Z!Q#O1V#O#P)^#P;'S1V;'S;=`4g<%lO1VU2bV'_Q'PS'OSOz)^z{)z{!P)^!P!Q(_!Q;'S)^;'S;=`*g<%lO)^U2|]'_QOY0XYZ3uZr0Xrs(tsz0Xz{2w{!P0X!P!Q.d!Q#O0X#O#P(t#P;'S0X;'S;=`4a<%lO0XU3zV'_QOz)^z{)z{!P)^!P!Q(_!Q;'S)^;'S;=`*g<%lO)^U4dP;=`<%l0XU4jP;=`<%l1VU4pP;=`<%l+|U4vP;=`<%l$nU5QV'_Q'PSOY.dYZ/OZr.ds#O.d#P;'S.d;'S;=`/T<%lO.d_5p]'_Q&|X'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_6rV'_Q&|X'OSOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[_7b_ZX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`8a!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_8j]#PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_9lV']Q'OS'^XOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[_:[]'QX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_;^i'_Q'vW'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!c$n!c!}<{!}#O$n#O#P&[#P#R$n#R#S<{#S#T$n#T#o<{#o${$n${$|<{$|4w$n4w5b<{5b5i$n5i6S<{6S;'S$n;'S;=`4s<%lO$n_=Uj'_Q_X'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![<{![!c$n!c!}<{!}#O$n#O#P&[#P#R$n#R#S<{#S#T$n#T#o<{#o${$n${$|<{$|4w$n4w5b<{5b5i$n5i6S<{6S;'S$n;'S;=`4s<%lO$n_?P_(TP'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_@X]#OX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_AZa!qX'_Q'OSOY$nYZ%nZr$nrs&[sv$nvwB`wz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_Bi]'}X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_Cik'_Q'OSOYE^YZGfZrE^rsHvswE^wxFdxzE^z{Ih{!PE^!P!QKl!Q!cE^!c!}Lp!}#OE^#O#P!!l#P#RE^#R#SLp#S#TE^#T#oLp#o${E^${$|Lp$|4wE^4w5bLp5b5iE^5i6SLp6S;'SE^;'S;=`!*}<%lOE^_Ee_'_Q'OSOY$nYZ%nZr$nrs&[sw$nwxFdxz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_Fm]'_Q'OSsXOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_GmX'_Q'OSOw&[wxHYxz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[]HaV'OSsXOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[]H{X'OSOw&[wxHYxz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[_Im_'_QOY+|YZ-xZr+|rs'`sw+|wxJlxz+|z{+O{!P+|!P!Q4y!Q#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|_Js]'_QsXOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_Kq_'_QOY+|YZ-xZr+|rs'`sw+|wxJlxz+|z{.d{!P+|!P!Q/Z!Q#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|_Lyl'_Q'OS'ZXOY$nYZ%nZr$nrs&[sw$nwxFdxz$nz{+O{!P$n!P!Q,z!Q![Nq![!c$n!c!}Nq!}#O$n#O#P&[#P#R$n#R#SNq#S#T$n#T#oNq#o${$n${$|Nq$|4w$n4w5bNq5b5i$n5i6SNq6S;'S$n;'S;=`4s<%lO$n_Nzj'_Q'OS'ZXOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![Nq![!c$n!c!}Nq!}#O$n#O#P&[#P#R$n#R#SNq#S#T$n#T#oNq#o${$n${$|Nq$|4w$n4w5bNq5b5i$n5i6SNq6S;'S$n;'S;=`4s<%lO$n]!!qZ'OSOzHvz{!#d{!PHv!P!Q!$n!Q#iHv#i#j!%Z#j#lHv#l#m!'V#m;'SHv;'S;=`!*w<%lOHv]!#gXOw'`wx!$Sxz'`z{&v{!P'`!P!Q*y!Q;'S'`;'S;=`*m<%lO'`]!$XVsXOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[]!$qWOw'`wx!$Sxz'`{!P'`!P!Q(_!Q;'S'`;'S;=`*m<%lO'`]!%`^'OSOz&[z{&v{!P&[!P!Q'x!Q![!&[![!c&[!c!i!&[!i#T&[#T#Z!&[#Z#o&[#o#p!({#p;'S&[;'S;=`*s<%lO&[]!&a['OSOz&[z{&v{!P&[!P!Q'x!Q![!'V![!c&[!c!i!'V!i#T&[#T#Z!'V#Z;'S&[;'S;=`*s<%lO&[]!'[['OSOz&[z{&v{!P&[!P!Q'x!Q![!(Q![!c&[!c!i!(Q!i#T&[#T#Z!(Q#Z;'S&[;'S;=`*s<%lO&[]!(V['OSOz&[z{&v{!P&[!P!Q'x!Q![Hv![!c&[!c!iHv!i#T&[#T#ZHv#Z;'S&[;'S;=`*s<%lO&[]!)Q['OSOz&[z{&v{!P&[!P!Q'x!Q![!)v![!c&[!c!i!)v!i#T&[#T#Z!)v#Z;'S&[;'S;=`*s<%lO&[]!){^'OSOz&[z{&v{!P&[!P!Q'x!Q![!)v![!c&[!c!i!)v!i#T&[#T#Z!)v#Z#q&[#q#rHv#r;'S&[;'S;=`*s<%lO&[]!*zP;=`<%lHv_!+QP;=`<%lE^_!+^]}X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!,`]!PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!-`_(QX'_QOY+|YZ-xZr+|rs'`sz+|z{+O{!P+|!P!Q4y!Q!_+|!_!`!._!`#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|_!.f]#OX'_QOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!/h_(PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!0p]!eX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!1r`'gX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`!a!2t!a#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!2}]#QX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!4P^(OX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!O$n!O!P!4{!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!5U`!lX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!O$n!O!P!6W!P!Q,z!Q!_$n!_!`!7Y!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!6a]!tX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nV!7c]'qP'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!8c_'_Q'xXOY+|YZ-xZr+|rs'`sz+|z{!9b{!P+|!P!Q!:O!Q!_+|!_!`!._!`#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|_!9iV&}]'_QOY.dYZ/OZr.ds#O.d#P;'S.d;'S;=`/T<%lO.d_!:V]'_QUXOY!;OYZ3uZr!;Ors!>jsz!;Oz{!Aq{!P!;O!P!Q!:O!Q#O!;O#O#P!>j#P;'S!;O;'S;=`!Bk<%lO!;O_!;V]'_QUXOY!<OYZ2XZr!<Ors!=Ssz!<Oz{!@q{!P!<O!P!Q!:O!Q#O!<O#O#P!=S#P;'S!<O;'S;=`!Bq<%lO!<O_!<Z]'_QUX'PS'OSOY!<OYZ2XZr!<Ors!=Ssz!<Oz{!@q{!P!<O!P!Q!:O!Q#O!<O#O#P!=S#P;'S!<O;'S;=`!Bq<%lO!<O]!=]XUX'PS'OSOY!=SYZ)^Zz!=Sz{!=x{!P!=S!P!Q!?[!Q;'S!=S;'S;=`!@k<%lO!=S]!=}XUXOY!>jYZ(tZz!>jz{!=x{!P!>j!P!Q!?|!Q;'S!>j;'S;=`!@e<%lO!>j]!>oXUXOY!=SYZ)^Zz!=Sz{!=x{!P!=S!P!Q!?[!Q;'S!=S;'S;=`!@k<%lO!=S]!?aXUXOY!>jYZ(tZz!>jz{!?|{!P!>j!P!Q!?[!Q;'S!>j;'S;=`!@e<%lO!>jX!@RSUXOY!?|Z;'S!?|;'S;=`!@_<%lO!?|X!@bP;=`<%l!?|]!@hP;=`<%l!>j]!@nP;=`<%l!=S_!@x]'_QUXOY!;OYZ3uZr!;Ors!>jsz!;Oz{!@q{!P!;O!P!Q!Aq!Q#O!;O#O#P!>j#P;'S!;O;'S;=`!Bk<%lO!;OZ!AxX'_QUXOY!AqYZ/OZr!Aqrs!?|s#O!Aq#O#P!?|#P;'S!Aq;'S;=`!Be<%lO!AqZ!BhP;=`<%l!Aq_!BnP;=`<%l!;O_!BtP;=`<%l!<O_!CQjuX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![!Dr![#O$n#O#P&[#P#R$n#R#S!Dr#S#U$n#U#V#!}#V#]$n#]#^!FZ#^#c$n#c#d#%u#d#i$n#i#j!FZ#j#l$n#l#m#(g#m;'S$n;'S;=`4s<%lO$n_!D{duX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![!Dr![#O$n#O#P&[#P#R$n#R#S!Dr#S#]$n#]#^!FZ#^#i$n#i#j!FZ#j;'S$n;'S;=`4s<%lO$n_!Fbg'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!R$n!R!S!Gy!S!T$n!T!U!K_!U!W$n!W!X!Le!X!Y$n!Y!Z!J]!Z#O$n#O#P&[#P#g$n#g#h!Mk#h;'S$n;'S;=`4s<%lO$n_!HQa'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!S$n!S!T!IV!T!W$n!W!X!J]!X#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!I^_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!Y$n!Y!Z!J]!Z#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!Jf]uX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!Kf_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!S$n!S!T!J]!T#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!Ll_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!U$n!U!V!J]!V#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!Mr_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P#]$n#]#^!Nq#^;'S$n;'S;=`4s<%lO$n_!Nx_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P#n$n#n#o# w#o;'S$n;'S;=`4s<%lO$n_#!O_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P#X$n#X#Y!J]#Y;'S$n;'S;=`4s<%lO$n_##Ua'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!R#$Z!R!S#$Z!S#O$n#O#P&[#P#R$n#R#S#$Z#S;'S$n;'S;=`4s<%lO$n_#$deuX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!R#$Z!R!S#$Z!S#O$n#O#P&[#P#R$n#R#S#$Z#S#]$n#]#^!FZ#^#i$n#i#j!FZ#j;'S$n;'S;=`4s<%lO$n_#%|`'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!Y#'O!Y#O$n#O#P&[#P#R$n#R#S#'O#S;'S$n;'S;=`4s<%lO$n_#'XduX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!Y#'O!Y#O$n#O#P&[#P#R$n#R#S#'O#S#]$n#]#^!FZ#^#i$n#i#j!FZ#j;'S$n;'S;=`4s<%lO$n_#(nd'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![#)|![!c$n!c!i#)|!i#O$n#O#P&[#P#R$n#R#S#)|#S#T$n#T#Z#)|#Z;'S$n;'S;=`4s<%lO$n_#*VhuX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![#)|![!c$n!c!i#)|!i#O$n#O#P&[#P#R$n#R#S#)|#S#T$n#T#Z#)|#Z#]$n#]#^!FZ#^#i$n#i#j!FZ#j;'S$n;'S;=`4s<%lO$n_#+z_!SX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![$n![!]#,y!]#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#-S]dX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#.U]yX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#/W`#PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!^$n!^!_#0Y!_!`8a!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#0c_'yX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#1k`oX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`8a!`!a#2m!a#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#2v]#RX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#3x`#PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`8a!`!a#4z!a#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#5T_'zX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#6]](RX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nV#7_]'pP'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#8cj'_Q'OS!yW'TPOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![#8W![!c$n!c!}#8W!}#O$n#O#P&[#P#R$n#R#S#8W#S#T$n#T#o#8W#o${$n${$|#8W$|4w$n4w5b#8W5b5i$n5i6S#8W6S;'S$n;'S;=`4s<%lO$n_#:^][X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nU#;[Z'OSOz#;}z{#<k{!P#;}!P!Q#=V!Q#i#;}#i#j#=n#j#l#;}#l#m#?j#m;'S#;};'S;=`#C[<%lO#;}U#<UVrQ'OSOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[U#<pVrQOz'`z{&v{!P'`!P!Q*y!Q;'S'`;'S;=`*m<%lO'`U#=[UrQOz'`{!P'`!P!Q(_!Q;'S'`;'S;=`*m<%lO'`U#=s^'OSOz&[z{&v{!P&[!P!Q'x!Q![#>o![!c&[!c!i#>o!i#T&[#T#Z#>o#Z#o&[#o#p#A`#p;'S&[;'S;=`*s<%lO&[U#>t['OSOz&[z{&v{!P&[!P!Q'x!Q![#?j![!c&[!c!i#?j!i#T&[#T#Z#?j#Z;'S&[;'S;=`*s<%lO&[U#?o['OSOz&[z{&v{!P&[!P!Q'x!Q![#@e![!c&[!c!i#@e!i#T&[#T#Z#@e#Z;'S&[;'S;=`*s<%lO&[U#@j['OSOz&[z{&v{!P&[!P!Q'x!Q![#;}![!c&[!c!i#;}!i#T&[#T#Z#;}#Z;'S&[;'S;=`*s<%lO&[U#Ae['OSOz&[z{&v{!P&[!P!Q'x!Q![#BZ![!c&[!c!i#BZ!i#T&[#T#Z#BZ#Z;'S&[;'S;=`*s<%lO&[U#B`^'OSOz&[z{&v{!P&[!P!Q'x!Q![#BZ![!c&[!c!i#BZ!i#T&[#T#Z#BZ#Z#q&[#q#r#;}#r;'S&[;'S;=`*s<%lO&[U#C_P;=`<%l#;}_#Ck]XX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#Dm_'{X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#Ewl'_Q'OS!yW'TPOY$nYZ%nZr$nrs#Gosw$nwx#H]xz$nz{+O{!P$n!P!Q,z!Q![#8W![!c$n!c!}#8W!}#O$n#O#P&[#P#R$n#R#S#8W#S#T$n#T#o#8W#o${$n${$|#8W$|4w$n4w5b#8W5b5i$n5i6S#8W6S;'S$n;'S;=`4s<%lO$n]#GvV'OS'^XOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[_#Hd_'_Q'OSOYE^YZGfZrE^rsHvswE^wxFdxzE^z{Ih{!PE^!P!QKl!Q#OE^#O#P!!l#P;'SE^;'S;=`!*}<%lOE^_#Ink'_Q'OS!yW'TPOY$nYZ%nZr$nrs&[st#Kctz$nz{+O{!P$n!P!Q,z!Q![#8W![!c$n!c!}#8W!}#O$n#O#P&[#P#R$n#R#S#8W#S#T$n#T#o#8W#o${$n${$|#8W$|4w$n4w5b#8W5b5i$n5i6S#8W6S;'S$n;'S;=`4s<%lO$nV#Kji'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!c$n!c!}#MX!}#O$n#O#P&[#P#R$n#R#S#MX#S#T$n#T#o#MX#o${$n${$|#MX$|4w$n4w5b#MX5b5i$n5i6S#MX6S;'S$n;'S;=`4s<%lO$nV#Mbj'_Q'OS'TPOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![#MX![!c$n!c!}#MX!}#O$n#O#P&[#P#R$n#R#S#MX#S#T$n#T#o#MX#o${$n${$|#MX$|4w$n4w5b#MX5b5i$n5i6S#MX6S;'S$n;'S;=`4s<%lO$n_$ ]]wX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_$!_a'rX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P#p$n#p#q$#d#q;'S$n;'S;=`4s<%lO$n_$#m]'|X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_$$o]vX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n",tokenizers:[my,hy,Oy,0,1,2,3],topRules:{SourceFile:[0,8]},specialized:[{term:281,get:a(t=>yy[t]||-1,"get")}],tokenPrec:15596})});import xt from"fs/promises";import Fi from"path";function bd(t){let e=t.replace(/[\*\[\]]/g," ").split(/[\s,]+/).map(n=>n.trim()).filter(Boolean);return e[e.length-1]}function Ui(t){return t&&t.replace(/<[^>]+>/g,"").split("::").map(n=>n.trim()).filter(Boolean).at(-1)?.replace(/[&*]/g,"").trim()||void 0}function U(t,e){for(let n=t.firstChild;n;n=n.nextSibling)e(n)}function le(t,e){return t.slice(e.from,e.to)}function $e(t,e){return t.slice(0,e.from).split(/\r?\n/).length}function _e(t,e){return t[e-1]?.trim()||"<unknown>"}function wy(t,e){let n=[];return U(e,r=>{if(r.type.name!=="ImportStatement")return;let o=le(t,r).trim(),i=/^from\s+([.\w]+)\s+import\b/.exec(o);if(i?.[1]){n.push(i[1]);return}i=/^import\s+(.+)$/.exec(o),i?.[1]&&n.push(...i[1].split(",").map(s=>s.trim().split(/\s+as\s+/i)[0]??"").filter(Boolean))}),J(n,12)}function ji(t,e){if(e.type.name==="VariableName"||e.type.name==="PropertyName")return le(t,e).trim()||null;if(e.type.name==="MemberExpression"){let r=null;return U(e,o=>{let i=ji(t,o);i&&(r=i)}),r}let n=e.firstChild;return n?ji(t,n):null}function kd(t,e){let n=new Set,r=a(o=>{if(o.type.name==="CallExpression"){let i=o.firstChild,s=i?ji(t,i):null;s&&!Oe.has(s)&&n.add(s)}U(o,r)},"walk");return r(e),Array.from(n).slice(0,24)}async function xd(t,e,n){let r=[];for(let o of e){let i=Fi.join(t,o);if((await xt.stat(i)).size>mt)continue;let c=await xt.readFile(i,"utf8"),l=c.split(/\r?\n/),f=Od.parse(c).topNode,d=N(o),O=B(d),h=ke(O),w=wy(c,f),Q=[],g=ae(o,n).id;U(f,y=>{if(y.type.name==="FunctionDefinition"){let P=null;if(U(y,_=>{_.type.name==="VariableName"&&!P&&(P=le(c,_).trim())}),!P)return;let S=P,$=$e(c,y);Q.push({id:`${o}#${S}:${$}`,name:S,qualifiedName:`${o}:${S}`,kind:"function",filePath:o,moduleId:g,language:d,capabilityTier:O,line:$,signature:_e(l,$),exported:!S.startsWith("_"),calls:kd(c,y),callTargets:[],importPaths:w,confidence:Math.min(.99,h+.1)});return}if(y.type.name!=="ClassDefinition")return;let k=null,T=null;if(U(y,P=>{P.type.name==="VariableName"&&!k?k=le(c,P).trim():P.type.name==="Body"&&(T=P)}),!k)return;let v=k,b=$e(c,y);Q.push({id:`${o}#${v}:${b}`,name:v,qualifiedName:`${o}:${v}`,kind:"class",filePath:o,moduleId:g,language:d,capabilityTier:O,line:b,signature:_e(l,b),exported:!v.startsWith("_"),calls:[],callTargets:[],importPaths:w,confidence:Math.min(.99,h+.08)}),T&&U(T,P=>{if(P.type.name!=="FunctionDefinition")return;let S=null;if(U(P,I=>{I.type.name==="VariableName"&&!S&&(S=le(c,I).trim())}),!S)return;let $=S,_=$e(c,P);Q.push({id:`${o}#${v}.${$}:${_}`,name:$,qualifiedName:`${o}:${v}.${$}`,kind:"method",filePath:o,moduleId:g,language:d,capabilityTier:O,line:_,signature:_e(l,_),exported:!$.startsWith("_"),calls:kd(c,P),callTargets:[],importPaths:w,confidence:Math.min(.99,h+.06)})})}),r.push({filePath:o,moduleId:g,language:d,capabilityTier:O,importPaths:w,symbols:Q.slice(0,ze)})}return r}function on(t,e){let n=null;return U(t,r=>{!n&&e(r)&&(n=r)}),n}function Py(t,e){let n=null;return U(t,r=>{e(r)&&(n=r)}),n}function Td(t,e){if(e(t))return t;let n=null;return U(t,r=>{n||(n=Td(r,e))}),n}function Or(t,e,n){let r=new Set,o=a(i=>{if(i.type.name==="CallExpr"||i.type.name==="CallExpression"){let s=i.firstChild,c=s?n(t,s):null;c&&!Oe.has(c)&&r.add(c)}U(i,o)},"walk");return o(e),Array.from(r).slice(0,24)}function mr(t,e){if(e.type.name==="VariableName"||e.type.name==="FieldName"||e.type.name==="TypeName")return le(t,e).trim()||null;if(e.type.name==="SelectorExpr"){let r=null;return U(e,o=>{let i=mr(t,o);i&&(r=i)}),r}let n=e.firstChild;return n?mr(t,n):null}function hr(t,e){if(e.type.name==="Identifier"||e.type.name==="FieldIdentifier"||e.type.name==="TypeIdentifier"||e.type.name==="BoundIdentifier")return le(t,e).trim()||null;if(e.type.name==="FieldExpression"){let r=null;return U(e,o=>{let i=hr(t,o);i&&(r=i)}),r}let n=e.firstChild;return n?hr(t,n):null}function bt(t,e,n){let r=on(e,o=>o.type.name===n);return r?le(t,r).trim():null}function qi(t,e){return/^pub(?:\([^)]*\))?\s/.test(le(t,e).trimStart())}async function vd(t,e,n){let r=[];for(let o of e){let i=Fi.join(t,o);if((await xt.stat(i)).size>mt)continue;let c=await xt.readFile(i,"utf8"),l=c.split(/\r?\n/),u=ed.parse(c),f=ae(o,n).id,d=N(o),O=B(d),h=ke(O),w=Kt(c,d),Q=[];U(u.topNode,g=>{if(g.type.name==="TypeDecl"){let P=on(g,I=>I.type.name==="TypeSpec"),S=P?bt(c,P,"DefName"):null;if(!P||!S)return;let $=on(P,I=>I.type.name==="InterfaceType")?"interface":"struct",_=$e(c,P);Q.push({id:`${o}#${S}:${_}`,name:S,qualifiedName:`${o}:${S}`,kind:$,filePath:o,moduleId:f,language:d,capabilityTier:O,line:_,signature:_e(l,_),exported:/^[A-Z]/.test(S),calls:[],callTargets:[],importPaths:w,confidence:Math.min(.97,h+.07)});return}if(g.type.name==="FunctionDecl"){let P=bt(c,g,"DefName");if(!P)return;let S=$e(c,g);Q.push({id:`${o}#${P}:${S}`,name:P,qualifiedName:`${o}:${P}`,kind:"function",filePath:o,moduleId:f,language:d,capabilityTier:O,line:S,signature:_e(l,S),exported:/^[A-Z]/.test(P),calls:Or(c,g,mr),callTargets:[],importPaths:w,confidence:Math.min(.97,h+.07)});return}if(g.type.name!=="MethodDecl")return;let y=on(g,P=>P.type.name==="Parameters"),k=bt(c,g,"FieldName"),T=y?Td(y,P=>P.type.name==="TypeName"):null,v=T?le(c,T).trim():void 0;if(!k)return;let b=$e(c,g);Q.push({id:`${o}#${v?`${v}.`:""}${k}:${b}`,name:k,qualifiedName:`${o}:${v?`${v}.`:""}${k}`,kind:"method",filePath:o,moduleId:f,language:d,capabilityTier:O,line:b,signature:_e(l,b),exported:/^[A-Z]/.test(k),calls:Or(c,g,mr),callTargets:[],importPaths:w,confidence:Math.min(.97,h+.08)})}),r.push({filePath:o,moduleId:f,language:d,capabilityTier:O,importPaths:w,symbols:Q.slice(0,ze)})}return r}async function Rd(t,e,n){let r=[];for(let o of e){let i=Fi.join(t,o);if((await xt.stat(i)).size>mt)continue;let c=await xt.readFile(i,"utf8"),l=c.split(/\r?\n/),u=Sd.parse(c),f=ae(o,n).id,d=N(o),O=B(d),h=ke(O),w=Kt(c,d),Q=[];U(u.topNode,g=>{if(g.type.name==="StructItem"||g.type.name==="TraitItem"||g.type.name==="EnumItem"){let v=bt(c,g,"TypeIdentifier");if(!v)return;let b=g.type.name==="TraitItem"?"trait":g.type.name==="EnumItem"?"enum":"struct",P=$e(c,g);Q.push({id:`${o}#${v}:${P}`,name:v,qualifiedName:`${o}:${v}`,kind:b,filePath:o,moduleId:f,language:d,capabilityTier:O,line:P,signature:_e(l,P),exported:qi(c,g),calls:[],callTargets:[],importPaths:w,confidence:Math.min(.97,h+.06)});return}if(g.type.name==="FunctionItem"){let v=bt(c,g,"BoundIdentifier");if(!v)return;let b=$e(c,g);Q.push({id:`${o}#${v}:${b}`,name:v,qualifiedName:`${o}:${v}`,kind:"function",filePath:o,moduleId:f,language:d,capabilityTier:O,line:b,signature:_e(l,b),exported:qi(c,g),calls:Or(c,g,hr),callTargets:[],importPaths:w,confidence:Math.min(.97,h+.06)});return}if(g.type.name!=="ImplItem")return;let y=Py(g,v=>v.type.name==="TypeIdentifier"),k=y?Ui(le(c,y).trim()):void 0,T=on(g,v=>v.type.name==="DeclarationList");!k||!T||U(T,v=>{if(v.type.name!=="FunctionItem")return;let b=bt(c,v,"BoundIdentifier");if(!b)return;let P=$e(c,v);Q.push({id:`${o}#${k}.${b}:${P}`,name:b,qualifiedName:`${o}:${k}.${b}`,kind:"method",filePath:o,moduleId:f,language:d,capabilityTier:O,line:P,signature:_e(l,P),exported:qi(c,v),calls:Or(c,v,hr),callTargets:[],importPaths:w,confidence:Math.min(.97,h+.07)})})}),r.push({filePath:o,moduleId:f,language:d,capabilityTier:O,importPaths:w,symbols:Q.slice(0,ze)})}return r}var Vi=p(()=>{"use strict";td();md();Qd();je();a(bd,"extractGoReceiverQualifier");a(Ui,"normalizeRustQualifier");a(U,"forEachSyntaxChild");a(le,"getSyntaxNodeText");a($e,"getPythonNodeLine");a(_e,"getPythonSignature");a(wy,"collectPythonImports");a(ji,"getPythonCallName");a(kd,"collectPythonCallNames");a(xd,"analyzePythonFiles");a(on,"findFirstSyntaxChild");a(Py,"findLastSyntaxChild");a(Td,"findSyntaxDescendant");a(Or,"collectLezerCallNames");a(mr,"getGoCallName");a(hr,"getRustCallName");a(bt,"findSyntaxNodeText");a(qi,"isRustExported");a(vd,"analyzeGoFiles");a(Rd,"analyzeRustFiles")});import $d from"fs/promises";import Ye from"path";function _d(t,e){return Array.from(t.matchAll(e)).length}function de(t){return _d(t,/\{/g)-_d(t,/\}/g)}function Sy(t,e,n,r,o){let i=Math.max(0,n.line-1),s=Math.max(n.line,(r[o+1]?.line??t.length+1)-1);if(e==="python"){let d=t[i]?.match(/^\s*/)?.[0]?.length??0,O=i+1;for(;O<t.length;){let h=t[O]??"",w=h.trim();if(!w){O+=1;continue}if((h.match(/^\s*/)?.[0]?.length??0)<=d&&!w.startsWith("#"))break;O+=1}return t.slice(i,O).join(`
|
|
185
|
-
`)}let c=0,
|
|
186
|
-
`)}function
|
|
187
|
-
`,n);return t.text.slice(n,r===-1?void 0:r).trim()||e.getText(t).split(/\r?\n/,1)[0]?.trim()||"<unknown>"}function Ni(t,e){return R.canHaveModifiers(t)?!!R.getModifiers(t)?.some(n=>n.kind===e):!1}function Ke(t){return Ni(t,R.SyntaxKind.ExportKeyword)||Ni(t,R.SyntaxKind.DefaultKeyword)?!0:R.isVariableDeclaration(t)&&R.isVariableDeclarationList(t.parent)&&R.isVariableStatement(t.parent.parent)?Ke(t.parent.parent):!1}function yr(t){return t&&(R.isIdentifier(t)||R.isPrivateIdentifier(t)||R.isStringLiteral(t)||R.isNumericLiteral(t))?t.text:null}function Md(t){return R.isIdentifier(t)?t.text:R.isPropertyAccessExpression(t)?t.name.text:R.isElementAccessExpression(t)&&R.isIdentifier(t.argumentExpression)?t.argumentExpression.text:null}function Wd(t){let e=new Set,n=a(o=>{o?.trim()&&e.add(o.trim())},"addImport"),r=a(o=>{if(R.isImportDeclaration(o)||R.isExportDeclaration(o))o.moduleSpecifier&&R.isStringLiteralLike(o.moduleSpecifier)&&n(o.moduleSpecifier.text);else if(R.isImportEqualsDeclaration(o)){let i=o.moduleReference;R.isExternalModuleReference(i)&&i.expression&&R.isStringLiteralLike(i.expression)&&n(i.expression.text)}else R.isCallExpression(o)&&R.isIdentifier(o.expression)&&o.expression.text==="require"&&o.arguments.length===1&&R.isStringLiteralLike(o.arguments[0])&&n(o.arguments[0].text);R.forEachChild(o,r)},"visit");return r(t),Array.from(e).slice(0,12)}function Le(t,e,n,r,o,i,s,c,l,u,f){if(!i.trim())return;let d=Id(r,o),O=f?`${n.filePath}:${f}.${i}`:`${n.filePath}:${i}`,h={id:`${n.filePath}#${f?`${f}.`:""}${i}:${d}`,name:i,qualifiedName:O,kind:s,filePath:n.filePath,moduleId:n.moduleId,language:n.language,capabilityTier:n.capabilityTier,line:d,signature:Ad(r,o),exported:c,calls:[],callTargets:[],importPaths:n.importPaths,confidence:Math.min(.99,ke(n.capabilityTier)+l)};if(n.symbols.find(g=>g.id===h.id)||n.symbols.length>=ze)return;n.symbols.push(h);let Q;R.isFunctionDeclaration(o)||R.isMethodDeclaration(o)||R.isGetAccessorDeclaration(o)||R.isSetAccessorDeclaration(o)||R.isFunctionExpression(o)||R.isArrowFunction(o)?Q=o.body??void 0:R.isVariableDeclaration(o)?Q=o.initializer??void 0:(R.isClassDeclaration(o)||R.isClassExpression(o))&&(Q=o),e.push({record:h,declaration:o,body:Q}),u.set(Yi(t,o),h)}function zd(t,e){return R.isPropertyAccessExpression(e)?t.getSymbolAtLocation(e.name)??t.getSymbolAtLocation(e):R.isElementAccessExpression(e)?t.getSymbolAtLocation(e.argumentExpression)??t.getSymbolAtLocation(e):t.getSymbolAtLocation(e)}async function Ty(t,e,n,r,o){let i={allowJs:!0,checkJs:!1,target:R.ScriptTarget.Latest,module:R.ModuleKind.ESNext,moduleResolution:R.ModuleResolutionKind.NodeNext,jsx:R.JsxEmit.Preserve,skipLibCheck:!0,noEmit:!0,allowSyntheticDefaultImports:!0},s=e.map(O=>wr.join(t,O)),c=R.createProgram(s,i),l=c.getTypeChecker(),u=new Map,f=new Map,d=[];for(let O of e){let h=N(O);if(!ot(h))continue;let w=c.getSourceFile(wr.join(t,O));if(!w)continue;let Q={filePath:O,moduleId:ae(O,n).id,language:h,capabilityTier:B(h),importPaths:Wd(w),symbols:[]};u.set(O,Q);for(let g of w.statements){if(R.isFunctionDeclaration(g)&&g.name){Le(t,d,Q,w,g,g.name.text,"function",Ke(g),.1,f);continue}if(R.isVariableStatement(g)){for(let y of g.declarationList.declarations){let k=yr(y.name);k&&y.initializer&&(R.isArrowFunction(y.initializer)||R.isFunctionExpression(y.initializer))&&Le(t,d,Q,w,y,k,"function",Ke(y),.08,f)}continue}if(R.isClassDeclaration(g)&&g.name){Le(t,d,Q,w,g,g.name.text,"class",Ke(g),.1,f);for(let y of g.members)(R.isMethodDeclaration(y)||R.isGetAccessorDeclaration(y)||R.isSetAccessorDeclaration(y))&&yr(y.name)&&Le(t,d,Q,w,y,yr(y.name),"method",!1,.05,f,g.name.text);continue}if(R.isInterfaceDeclaration(g)&&g.name){Le(t,d,Q,w,g,g.name.text,"interface",Ke(g),.09,f);continue}if(R.isTypeAliasDeclaration(g)&&g.name){Le(t,d,Q,w,g,g.name.text,"type",Ke(g),.09,f);continue}R.isEnumDeclaration(g)&&g.name&&Le(t,d,Q,w,g,g.name.text,"enum",Ke(g),.09,f)}}for(let O of d){let h=new Set;for(let y of O.record.importPaths){let k=sn(y,O.record.filePath,r,n,o);k&&h.add(k)}let w=new Set,Q=new Map,g=a(y=>{if(R.isCallExpression(y)||R.isNewExpression(y)){let k=Md(y.expression);k&&!Oe.has(k)&&w.add(k);let v=zd(l,y.expression)?.declarations?.[0];if(v){let b=f.get(Yi(t,v));b&&b.id!==O.record.id&&Q.set(b.id,{symbolId:b.id,name:b.name,filePath:b.filePath,moduleId:b.moduleId,reason:gr(O.record.moduleId,b.moduleId,h)})}}R.forEachChild(y,g)},"visit");g(O.body??O.declaration),O.record.calls=Array.from(w).slice(0,24),O.record.callTargets=Array.from(Q.values()).slice(0,se),O.record.confidence=Math.min(.99,O.record.confidence+(O.record.callTargets.length>0?.03:0))}return Array.from(u.values())}var jd=p(()=>{"use strict";je();Gt();Di();a(xy,"scriptKindFromFilePath");a(Id,"getNodeLine");a(Yi,"getDeclarationKey");a(Ad,"getSignatureSnippet");a(Ni,"hasModifier");a(Ke,"isExportedDeclaration");a(yr,"getPropertyNameText");a(Md,"getCallExpressionName");a(Wd,"collectTypeScriptImportPaths");a(Le,"registerTypeScriptSymbol");a(zd,"resolveTypeScriptCallSymbol");a(Ty,"analyzeTypeScriptFiles")});import Xe from"path";function vy(t){return[...t.typeScriptFiles,...t.pythonFiles,...t.goFiles,...t.rustFiles,...t.fallbackFiles]}function Ry(t){let e=new Map;for(let n of t)e.set(n.language,(e.get(n.language)??0)+1);return Array.from(e.entries()).map(([n,r])=>({language:n,capabilityTier:B(n),fileCount:r}))}function $y(t,e){return e==="full"?t:{...t,confidence:Math.min(.68,Math.max(.32,t.confidence-.18))}}function _y(t,e){return t.map(n=>$y(n,e))}async function Pr(t,e={}){let n=t.overview,r=t.workspaceRoot,o=e.profile??e.preflight?.analysisProfile??"full",i=e.preflight,s=i?.storageRoot??await Ln(r,o),c=t.inventory,l=c?null:await Nt(r,n.source),u=i?.dirtyPaths??t.dirtyPaths,f=new Set((c?.allFiles??l?.files??[]).map(P=>j(P)));if(u&&u.length>0)for(let P of u){let S=Xe.join(r,P);await Yn(S)?f.add(P):f.delete(P)}let d=Array.from(f).sort((P,S)=>P.localeCompare(S)),{areaByFile:O,filesByAreaId:h,testFilesByAreaId:w,docFilesByAreaId:Q}=Ml(d,n.areas),g=d.filter(P=>ht.has(Xe.extname(P).toLowerCase())),y=new Set(g),k=i?.dirtyPathsFingerprint??(u?Lt(u):void 0),T=i?.dirtySourcePaths?i.dirtySourcePaths.filter(P=>y.has(P)):u?u.filter(P=>y.has(P)):[],v=i?.dirtySourceStateMap??(T.length>0?await wt(r,T,O,n.areas,o):void 0),b=i?.dirtySourceFingerprint??(u?yt(v?Array.from(v.values()).sort((P,S)=>P.filePath.localeCompare(S.filePath)):[]):void 0);return{analysisProfile:o,overview:n,overviewFingerprint:Kn(n,d),workspaceSnapshot:i?.workspaceSnapshot??Gn(n),inventory:c,workspaceRoot:r,storageRoot:s,allFiles:d,areaByFile:O,filesByAreaId:h,testFilesByAreaId:w,docFilesByAreaId:Q,sourceFiles:g,sourceFileSet:y,dirtyPaths:u,dirtyPathsFingerprint:k,dirtySourceFingerprint:b,dirtySourceStateMap:v,moduleAliases:Ed(n.areas),buckets:fi(g)}}function Li(t,e){return{...t,sourceStates:e,sourceFingerprint:yt(e)}}async function Ki(t,e){let n=new Map(e.map(i=>[i,null])),r=fi(e);if(t.analysisProfile==="full"&&r.typeScriptFiles.length>0){let{analyzeTypeScriptFiles:i}=await Promise.resolve().then(()=>(jd(),qd)),s=await i(t.workspaceRoot,r.typeScriptFiles,t.overview.areas,t.sourceFileSet,t.moduleAliases);for(let c of s)n.set(c.filePath,c)}if(r.pythonFiles.length>0){let i=await xd(t.workspaceRoot,r.pythonFiles,t.overview.areas);for(let s of i)n.set(s.filePath,s)}if(r.goFiles.length>0){let i=await vd(t.workspaceRoot,r.goFiles,t.overview.areas);for(let s of i)n.set(s.filePath,s)}if(r.rustFiles.length>0){let i=await Rd(t.workspaceRoot,r.rustFiles,t.overview.areas);for(let s of i)n.set(s.filePath,s)}let o=t.analysisProfile==="light"?[...r.typeScriptFiles,...r.fallbackFiles]:r.fallbackFiles;if(o.length>0){let i=await Promise.all(o.map(s=>Xd(t.workspaceRoot,s,t.areaByFile.get(s)?.id??t.overview.areas[0].id)));for(let[s,c]of i.entries())n.set(o[s],c??null)}return n}function Xy(t,e){return vy(t.buckets).flatMap(n=>{let r=e.get(n)??null;return r?[r]:[]})}async function Sr(t,e){if(!t.sourceStates||!t.sourceFingerprint)throw new Error("materializeRepoIntelligenceIndex requires source state metadata.");let n=Xy(t,e),r=n.flatMap(y=>y.symbols),o=new Map;for(let y of r){let k=y.name.toLowerCase(),T=o.get(k)??[];T.push(y),o.set(k,T)}let i=r.map(y=>{let k=new Set;for(let b of y.importPaths){let P=sn(b,y.filePath,t.sourceFileSet,t.overview.areas,t.moduleAliases);P&&k.add(P)}let T=y.calls.flatMap(b=>(o.get(b.toLowerCase())??[]).map(P=>({candidate:P,reason:gr(y.moduleId,P.moduleId,k)}))).filter(({candidate:b})=>b.id!==y.id).sort((b,P)=>{if(b.reason!==P.reason){let S=["same-module","imported-module","name-match"];return S.indexOf(b.reason)-S.indexOf(P.reason)}return b.candidate.filePath.localeCompare(P.candidate.filePath)}),v=new Map;for(let{candidate:b,reason:P}of T)if(v.has(b.id)||v.set(b.id,{symbolId:b.id,name:b.name,filePath:b.filePath,moduleId:b.moduleId,reason:P}),v.size>=se)break;return{...y,callTargets:Array.from(v.values())}}),s=_y(i,t.analysisProfile),c=new Map;for(let y of t.overview.areas)c.set(y.id,{dependencies:new Set,dependents:new Set,languageCounts:new Map,sourceFileCount:0,symbolCount:0,entryFiles:[]});for(let y of n){let k=c.get(y.moduleId);if(!k)continue;let T=new Map(k.languageCounts);T.set(y.language,(T.get(y.language)??0)+1);let v=new Set(k.dependencies),b=/\/(?:index|main|app|server|cli)\.[^.]+$/.test(y.filePath)||/^(index|main|app|server|cli)\.[^.]+$/.test(y.filePath)?J([...k.entryFiles,y.filePath],4):k.entryFiles;for(let P of y.importPaths){let S=sn(P,y.filePath,t.sourceFileSet,t.overview.areas,t.moduleAliases);S&&S!==y.moduleId&&v.add(S)}c.set(y.moduleId,{...k,sourceFileCount:k.sourceFileCount+1,symbolCount:k.symbolCount+y.symbols.length,languageCounts:T,dependencies:v,entryFiles:b})}for(let[y,k]of c.entries())for(let T of k.dependencies){let v=c.get(T);v&&c.set(T,{...v,dependents:new Set([...v.dependents,y])})}let l=Array.from(c.entries()).map(([y,k])=>{let T=t.overview.areas.find($=>$.id===y);if(!T)return null;let v=Array.from(k.dependencies).sort(($,_)=>$.localeCompare(_)),b=Array.from(k.dependents).sort(($,_)=>$.localeCompare(_)),P=Array.from(k.languageCounts.entries()).map(([$,_])=>({language:$,capabilityTier:B($),fileCount:_})).sort(($,_)=>_.fileCount-$.fileCount),S=s.filter($=>$.moduleId===y);return{moduleId:T.id,label:T.label,kind:T.kind,root:T.root,fileCount:t.filesByAreaId.get(T.id)?.length??0,sourceFileCount:k.sourceFileCount,symbolCount:k.symbolCount,languages:P,topSymbols:S.sort(($,_)=>Number(_.exported)-Number($.exported)||_.confidence-$.confidence).slice(0,6).map($=>$.name),dependencies:v,dependents:b,entryFiles:k.entryFiles,keyTests:(t.testFilesByAreaId.get(y)??[]).slice(0,4),keyDocs:(t.docFilesByAreaId.get(y)??[]).slice(0,4),sampleFiles:T.sampleFiles.slice(0,5),processIds:[],confidence:_l(S,P)}}).filter(y=>y!==null).sort((y,k)=>k.symbolCount-y.symbolCount||y.moduleId.localeCompare(k.moduleId)),u=Cd(l,s),f=new Map;for(let y of u){let k=f.get(y.moduleId)??[];k.push(y.id),f.set(y.moduleId,k)}let d=l.map(y=>({...y,processIds:f.get(y.moduleId)??[]})),O={schemaVersion:D,workspaceRoot:t.workspaceRoot,generatedAt:new Date().toISOString(),overviewGeneratedAt:t.overview.generatedAt,sourceFileCount:t.sourceFiles.length,sourceFingerprint:t.sourceFingerprint,languages:Ry(n),modules:d,symbols:s,processes:u},h={schemaVersion:D,workspaceRoot:t.workspaceRoot,generatedAt:O.generatedAt,overviewGeneratedAt:t.overview.generatedAt,overviewFingerprint:t.overviewFingerprint,workspaceSnapshot:t.workspaceSnapshot,sourceFileCount:t.sourceFiles.length,sourceFingerprint:t.sourceFingerprint,languageBreakdown:O.languages,sourceStates:t.sourceStates},w={schemaVersion:D,workspaceRoot:t.workspaceRoot,generatedAt:O.generatedAt,sourceFingerprint:t.sourceFingerprint,analyses:Object.fromEntries(t.sourceFiles.map(y=>[y,zl(e.get(y)??null)]))},Q=Cl(t),g={schemaVersion:D,workspaceRoot:t.workspaceRoot,branch:t.workspaceSnapshot.branch,head:t.workspaceSnapshot.head,queryGeneratedAt:O.generatedAt,overviewFingerprint:t.overviewFingerprint,sourceFingerprint:t.sourceFingerprint,sourceFileCount:t.sourceFiles.length,dirtyPathsFingerprint:t.dirtyPathsFingerprint??Lt(t.dirtyPaths??[]),dirtySourceFingerprint:t.dirtySourceFingerprint??yt([]),dirtySourcePaths:Q};return await qe(Xe.join(t.storageRoot,Sl),d),await qe(Xe.join(t.storageRoot,Ql),s),await qe(Xe.join(t.storageRoot,kl),u),await qe(Xe.join(t.storageRoot,We),O),await qe(Xe.join(t.storageRoot,Nn),g),El(t)&&(await qe(Xe.join(t.storageRoot,Vn),h),await qe(Xe.join(t.storageRoot,Dn),w)),O}var Fd=p(()=>{"use strict";Fn();Vi();Di();Gt();je();Gt();a(vy,"orderedSourceFilesForBuild");a(Ry,"collectLanguageBreakdown");a($y,"calibrateSymbolConfidenceForProfile");a(_y,"calibrateSymbolsForProfile");a(Pr,"prepareRepoIntelligenceBuildInputsFromSnapshot");a(Li,"finalizeRepoIntelligenceBuildInputs");a(Ki,"analyzeSourceFilesForBuild");a(Xy,"collectOrderedAnalyses");a(Sr,"materializeRepoIntelligenceIndex")});import Ge from"path";async function Zi(t){let e=await ui(t.workspaceRoot,t.sourceFiles,t.areaByFile,t.overview.areas,t.analysisProfile),n=Li(t,e),r=await Ki(n,n.sourceFiles);return Sr(n,r)}async function Bi(t){return G(Ge.join(t,Vn),Tl)}async function Ud(t){return G(Ge.join(t,Dn),vl)}async function Qr(t){return G(Ge.join(t,Nn),Rl)}function Vd(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function Dd(t,e,n){return e.schemaVersion===D&&n.schemaVersion===D&&e.workspaceRoot===t.workspaceRoot&&n.workspaceRoot===t.workspaceRoot&&e.workspaceSnapshot.source===t.workspaceSnapshot.source&&e.sourceStates.length===e.sourceFileCount&&n.sourceFingerprint===e.sourceFingerprint}async function Ey(t,e){let n=await G(Ge.join(t.storageRoot,We),gt);return n?.schemaVersion!==D||n.workspaceRoot!==t.workspaceRoot||n.generatedAt!==e.generatedAt||n.sourceFileCount!==e.sourceFileCount||n.sourceFingerprint!==e.sourceFingerprint?null:n}function Nd(t,e){return Zn(t.workspaceSnapshot)&&li(e.workspaceSnapshot,t.workspaceSnapshot)&&e.overviewFingerprint===t.overviewFingerprint&&e.sourceFileCount===t.sourceFiles.length}function Yd(t,e){return!!(t.workspaceSnapshot.source==="git"&&t.workspaceSnapshot.hasUncommittedChanges===!0&&e&&e.schemaVersion===D&&e.workspaceRoot===t.workspaceRoot&&e.head===t.workspaceSnapshot.head&&e.branch===t.workspaceSnapshot.branch&&e.overviewFingerprint===t.overviewFingerprint&&e.sourceFileCount===t.sourceFiles.length&&e.dirtyPathsFingerprint===t.dirtyPathsFingerprint&&e.dirtySourceFingerprint===t.dirtySourceFingerprint)}async function Ld(t){if(!Zn(t.workspaceSnapshot))return null;let e=await Bi(t.storageRoot);if(!e||e.schemaVersion!==D||e.workspaceRoot!==t.workspaceRoot||!li(e.workspaceSnapshot,t.workspaceSnapshot)||e.overviewFingerprint!==t.overviewFingerprint)return null;let n=await G(Ge.join(t.storageRoot,We),gt);return n?.schemaVersion!==D||n.workspaceRoot!==t.workspaceRoot||n.overviewGeneratedAt!==e.overviewGeneratedAt||n.sourceFileCount!==e.sourceFileCount||n.sourceFingerprint!==e.sourceFingerprint?null:n}async function Kd(t){if(t.workspaceSnapshot.source!=="git"||t.workspaceSnapshot.hasUncommittedChanges!==!0)return null;let e=await Qr(t.storageRoot);if(!e||e.schemaVersion!==D||e.workspaceRoot!==t.workspaceRoot||e.head!==t.workspaceSnapshot.head||e.branch!==t.workspaceSnapshot.branch||e.overviewFingerprint!==t.overviewFingerprint||e.dirtyPathsFingerprint!==t.dirtyPathsFingerprint||e.dirtySourceFingerprint!==t.dirtySourceFingerprint)return null;let n=await G(Ge.join(t.storageRoot,We),gt);return n?.schemaVersion!==D||n.workspaceRoot!==t.workspaceRoot||n.generatedAt!==e.queryGeneratedAt||n.sourceFileCount!==e.sourceFileCount||n.sourceFingerprint!==e.sourceFingerprint?null:n}function kr(t){return new Map(t.map(e=>[e.filePath,e]))}function Hi(t,e){let n=t.sourceFiles.map(r=>e.get(r)).filter(r=>r!==void 0);return n.length!==t.sourceFiles.length?null:Li(t,n)}function Ji(t,e){let n=new Set;for(let r of t){let o=e.get(r.filePath);if(!o){n.add(r.filePath);continue}if(o.analyzerVersion!==r.analyzerVersion)return null;(o.fileFingerprint!==r.fileFingerprint||o.language!==r.language||o.moduleId!==r.moduleId)&&n.add(r.filePath)}return n}async function es(t,e,n,r){if(!t.sourceStates)return null;let o=kr(t.sourceStates),i=t.analysisProfile==="full"&&Array.from(r).some(l=>{let u=o.get(l);return u?ot(u.language):!1}),s=new Set;for(let l of t.sourceStates){if(i&&ot(l.language)){s.add(l.filePath);continue}r.has(l.filePath)&&s.add(l.filePath)}let c=new Map;for(let l of t.sourceStates)if(!s.has(l.filePath)){if(!Vd(n.analyses,l.filePath))return null;c.set(l.filePath,ql(l.filePath,l,n.analyses[l.filePath]??null))}if(s.size>0){let l=await Ki(t,t.sourceFiles.filter(u=>s.has(u)));for(let u of s)c.set(u,l.get(u)??null)}for(let l of t.sourceStates){if(!c.has(l.filePath))return null;let u=c.get(l.filePath)??null;if(u&&(u.filePath!==l.filePath||u.moduleId!==l.moduleId||u.language!==l.language)||e.get(l.filePath)?.analyzerVersion!==void 0&&e.get(l.filePath)?.analyzerVersion!==l.analyzerVersion)return null}return c}async function Gd(t,e,n){if(t.workspaceSnapshot.source!=="git"||t.workspaceSnapshot.hasUncommittedChanges!==!0||e.workspaceSnapshot.source!=="git"||t.workspaceSnapshot.head!==e.workspaceSnapshot.head||t.workspaceSnapshot.branch!==e.workspaceSnapshot.branch)return null;let r=new Set(t.dirtyPaths??[]),o=await Qr(t.storageRoot),i=new Set(o&&o.workspaceRoot===t.workspaceRoot&&o.head===t.workspaceSnapshot.head&&o.branch===t.workspaceSnapshot.branch?o.dirtySourcePaths:[]),s=kr(e.sourceStates),c=new Map,l=new Set,u=t.dirtySourceStateMap??new Map;for(let h of t.sourceFiles){let w=s.get(h);if(!w){if(!r.has(h))return null;l.add(h);continue}if(r.has(h)||i.has(h)){l.add(h);continue}c.set(h,w)}if(l.size>0){let h=new Set;for(let w of l){let Q=u.get(w);if(Q){c.set(w,Q);continue}h.add(w)}if(h.size>0){let w=await wt(t.workspaceRoot,h,t.areaByFile,t.overview.areas,t.analysisProfile);for(let[Q,g]of w.entries())c.set(Q,g)}}let f=Hi(t,c);if(!f?.sourceStates)return null;let d=Ji(f.sourceStates,s);if(!d)return null;let O=await es(f,s,n,d);return O?Sr(f,O):null}async function Zd(t,e,n){let r=await wt(t.workspaceRoot,t.sourceFiles,t.areaByFile,t.overview.areas,t.analysisProfile),o=Hi(t,r);if(!o?.sourceStates)return null;let i=kr(e.sourceStates),s=Ji(o.sourceStates,i);if(!s)return null;if(s.size===0)return Ey(o,e);let c=await es(o,i,n,s);return c?Sr(o,c):null}async function Bd(t,e){if(!e)return null;let n=await Ud(t.storageRoot);if(!n||!Dd(t,e,n))return null;let r=await Gd(t,e,n);return r||Zd(t,e,n)}async function Gi(t,e=!1){let n=e?null:await Bi(t.storageRoot),r=!e&&t.workspaceSnapshot.source==="git"&&t.workspaceSnapshot.hasUncommittedChanges===!0?await Qr(t.storageRoot):null;if(n&&Nd(t,n)){let o=await G(Ge.join(t.storageRoot,We),gt);if(o?.schemaVersion===D&&o.workspaceRoot===t.workspaceRoot&&o.overviewGeneratedAt===n.overviewGeneratedAt&&o.sourceFileCount===n.sourceFileCount&&o.sourceFingerprint===n.sourceFingerprint)return o}if(Yd(t,r)){let o=await G(Ge.join(t.storageRoot,We),gt);if(o?.schemaVersion===D&&o.workspaceRoot===t.workspaceRoot&&o.generatedAt===r?.queryGeneratedAt&&o.sourceFileCount===r.sourceFileCount&&o.sourceFingerprint===r.sourceFingerprint)return o}if(!e){let o=await Bd(t,n);if(o)return o}return Zi(t)}async function an(t,e=!1,n="full"){if(e){let c=await Pr(t,{profile:n});return Gi(c,!0)}let r=await Wl(t,n),o=await Ld(r);if(o)return o;let i=await Kd(r);if(i)return i;let s=await Pr(t,{preflight:r});return Gi(s,!1)}async function Cy(t,e={}){let n=await rt(t,{targetPath:e.targetPath,refresh:e.refresh}),r=await Pr(n,{profile:e.profile??"full"});return Zi(r)}async function cn(t,e={}){let n=await rt(t,{targetPath:e.targetPath,refresh:e.refresh});return an(n,e.refresh===!0,e.profile??"full")}var ts=p(()=>{"use strict";Fn();Gt();Fd();je();a(Zi,"buildRepoIntelligenceIndexFromInputs");a(Bi,"readRepoIntelligenceManifest");a(Ud,"readFileAnalysisIndex");a(Qr,"readDirtySourceHint");a(Vd,"hasOwnAnalysisEntry");a(Dd,"hasCompatibleIncrementalCache");a(Ey,"readCompatibleCachedQueryIndex");a(Nd,"canDirectReuseCleanCachedQueryIndex");a(Yd,"canDirectReuseDirtyCachedQueryIndex");a(Ld,"tryDirectReuseCleanCachedQueryIndexFromPreflight");a(Kd,"tryDirectReuseDirtyCachedQueryIndexFromPreflight");a(kr,"mapSourceStatesByFile");a(Hi,"buildCompleteInputsFromSourceStates");a(Ji,"classifyChangedOrNewSourceFiles");a(es,"buildIncrementalAnalysisEntries");a(Gd,"tryGitDirtyIncrementalRepoIntelligenceBuild");a(Zd,"tryStatBasedIncrementalRepoIntelligenceBuild");a(Bd,"tryIncrementalRepoIntelligenceBuild");a(Gi,"getRepoIntelligenceIndexFromInputs");a(an,"getRepoIntelligenceIndexFromSnapshot");a(Cy,"buildRepoIntelligenceIndex");a(cn,"getRepoIntelligenceIndex")});import Iy from"path";function Hd(t,e,n,r){return t>=20||e>=4e3||n>=5||r>=5?"systemic":t>=8||e>=1200||n>=3||r>=3?"complex":t>=3||e>=250||n>=2||r>=2?"moderate":"simple"}function Jd(t,e,n){return t>=30||e>=4e3||n>=5?"massive":t>=10||e>=1200||n>=3?"large":"small"}function Tt(t){return`${t.generatedAt} (overview ${t.overviewGeneratedAt})`}function ln(t,e,n){if(n){let o=j(n),i=t.modules.find(s=>o===s.root||o.startsWith(`${s.root}/`)||s.sampleFiles.includes(o));if(i)return i}let r=e?.trim().toLowerCase();return r?t.modules.slice().sort((o,i)=>i.symbolCount-o.symbolCount).find(o=>o.moduleId.toLowerCase()===r||o.label.toLowerCase()===r||o.root.toLowerCase()===r||Iy.posix.basename(o.root).toLowerCase()===r)??t.modules.find(o=>o.moduleId.toLowerCase().includes(r)||o.label.toLowerCase().includes(r)||o.root.toLowerCase().includes(r))??null:t.modules.find(o=>o.moduleId!==".")??t.modules[0]??null}function eu(t,e,n){let r=e.trim().toLowerCase(),o=n?.trim().toLowerCase();return t.symbols.filter(i=>i.name.toLowerCase()===r||i.qualifiedName.toLowerCase()===r||i.filePath.toLowerCase()===r).sort((i,s)=>{let c=o&&(i.moduleId.toLowerCase().includes(o)||i.filePath.toLowerCase().includes(o))?1:0,l=o&&(s.moduleId.toLowerCase().includes(o)||s.filePath.toLowerCase().includes(o))?1:0;return l!==c?l-c:Number(s.exported)-Number(i.exported)||s.confidence-i.confidence})}function tu(t,e,n){let r=e?.trim().toLowerCase(),o=n?.trim().toLowerCase();return t.processes.filter(i=>{let s=!r||i.label.toLowerCase().includes(r)||i.entryFile.toLowerCase().includes(r)||(i.entrySymbol?.toLowerCase().includes(r)??!1),c=!o||i.moduleId.toLowerCase().includes(o);return s&&c}).sort((i,s)=>s.confidence-i.confidence||i.label.localeCompare(s.label))}function br(t,e){return t.symbols.filter(n=>n.callTargets.some(r=>r.symbolId===e)).sort((n,r)=>r.confidence-n.confidence).slice(0,se)}function ns(t,e){let n=ln(t,e.module,e.targetPath);if(!n)throw new Error(`No module matched "${e.module??e.targetPath??"current workspace"}".`);return{module:n,freshness:Tt(t),confidence:n.confidence,evidence:n.sampleFiles.slice(0,4)}}function rs(t,e){let n=eu(t,e.symbol,e.module);if(n.length===0)throw new Error(`No symbol matched "${e.symbol}".`);let[r,...o]=n;return{symbol:r,alternatives:o.slice(0,4),callers:br(t,r.id),freshness:Tt(t),confidence:r.confidence}}function nu(t,e){let n=tu(t,e.entry??e.targetPath,e.module);if(n.length===0&&e.module){let i=ln(t,e.module,e.targetPath);if(i?.processIds[0]){let s=t.processes.find(c=>c.id===i.processIds[0]);if(s)return{process:s,alternatives:[],freshness:Tt(t),confidence:s.confidence}}}let[r,...o]=n;if(!r)throw new Error(`No process matched "${e.entry??e.module??e.targetPath??"request"}".`);return{process:r,alternatives:o.slice(0,4),freshness:Tt(t),confidence:r.confidence}}function os(t,e,n){let r=null,o=[],i=[],s=[],c=.65;if(e.symbol){let u=rs(t,{symbol:e.symbol,module:e.module}),f=J([u.symbol.moduleId,...u.symbol.callTargets.map(d=>d.moduleId),...u.callers.map(d=>d.moduleId)]);r={kind:"symbol",label:u.symbol.name,moduleId:u.symbol.moduleId,filePath:u.symbol.filePath},o=t.modules.filter(d=>f.includes(d.moduleId)),i=J([u.symbol.id,...u.symbol.callTargets.map(d=>d.symbolId),...u.callers.map(d=>d.id)]).map(d=>t.symbols.find(O=>O.id===d)).filter(d=>d!==void 0),s=u.callers,c=u.confidence}else if(e.path){let u=j(e.path),f=ln(t,void 0,u),d=t.symbols.filter(O=>O.filePath===u);r={kind:"path",label:u,moduleId:f?.moduleId,filePath:u},o=f?[f,...t.modules.filter(O=>f.dependents.includes(O.moduleId))]:[],i=d,s=d.flatMap(O=>br(t,O.id)).slice(0,se),c=f?.confidence??.62}else{let u=ln(t,e.module,e.targetPath);if(!u)throw new Error("impact_estimate requires one of symbol, path, or module.");r={kind:"module",label:u.label,moduleId:u.moduleId},o=[u,...t.modules.filter(f=>u.dependents.includes(f.moduleId))],i=t.symbols.filter(f=>f.moduleId===u.moduleId).slice(0,se),s=i.flatMap(f=>br(t,f.id)).slice(0,se),c=u.confidence}let l=n?n.files.filter(u=>o.some(f=>u.areaId===f.moduleId)||i.some(f=>u.path===f.filePath)).length:0;return{target:r,summary:l>0?`${r.label} overlaps with ${l} currently changed file(s); validate blast radius before editing.`:`${r.label} primarily affects ${J(o.map(u=>u.label),4).join(", ")||"its local module"} and ${i.length} indexed symbol(s).`,impactedModules:o,impactedSymbols:i.slice(0,se),callers:s.slice(0,se),changedScope:n,freshness:Tt(t),confidence:c}}async function Ay(t,e={}){let n=await cn(t,e);return ns(n,e)}async function My(t,e){let n=await cn(t,e);return rs(n,e)}async function Wy(t,e){let n=await cn(t,e);return nu(n,e)}async function zy(t,e){let n=await rt(t,{targetPath:e.targetPath,refresh:e.refresh}),r=await an(n,e.refresh===!0,e.profile??"full"),o;try{o=await qn(n,{scope:"all"})}catch(i){ie("impact_estimate could not load changed scope.",i),o=void 0}return os(r,e,o)}async function qy(t,e={}){let n=await rt(t,{targetPath:e.targetPath,refresh:e.refresh}),r=e.targetPath??(t.executionCwd?".":void 0),[o,i]=await Promise.all([an(n,e.refresh===!0,e.profile??"full"),qn(n,{scope:"all"}).catch(S=>(ie("Routing signals could not load changed scope.",S),null))]),s=null,c=null;try{s=ns(o,{targetPath:r})}catch(S){ie("Routing signals could not resolve module context.",S)}try{c=os(o,{targetPath:r},i??void 0)}catch(S){ie("Routing signals could not resolve impact estimate.",S)}let l=i?.areasTouched.map(S=>S.areaId).slice(0,8)??[],u=i?.totalChangedFiles??0,f=i?.changedLineCount??0,d=i?.addedLineCount??0,O=i?.deletedLineCount??0,h=i?.areasTouched.length??0,w=c?.impactedModules.length??(s?1:0),Q=Hd(u,f,h,w),g=Jd(u,f,h),y=s?.confidence,k=c?.confidence,T=(y??1)<.72||(k??1)<.72,v=s?.module.languages[0]?.capabilityTier??o.languages[0]?.capabilityTier??"low",b=Q==="complex"||Q==="systemic"||l.length>1||(c?.impactedModules.length??0)>1,P=T||(i?.riskHints.length??0)>0||(c?.changedScope?.riskHints.length??0)>0;return{workspaceRoot:o.workspaceRoot,changedFileCount:u,changedLineCount:f,addedLineCount:d,deletedLineCount:O,touchedModuleCount:h,changedModules:l,crossModule:h>1||w>1,reviewScale:g,riskHints:J([...T?["Light repo routing uses heuristic static analysis; validate low-confidence edges before editing."]:[],...i?.riskHints??[],...c?.changedScope?.riskHints??[]],4),activeModuleId:s?.module.moduleId,activeModuleConfidence:y,activeImpactConfidence:k,impactedModuleCount:w,impactedSymbolCount:c?.impactedSymbols.length??0,predominantCapabilityTier:v,suggestedComplexity:Q,plannerBias:b,investigationBias:P,lowConfidence:T}}var ru=p(()=>{"use strict";Fn();ts();je();a(Hd,"deriveRoutingComplexity");a(Jd,"deriveReviewScale");a(Tt,"buildFreshnessLabel");a(ln,"findModuleMatch");a(eu,"findSymbolMatches");a(tu,"findProcessMatches");a(br,"collectCallers");a(ns,"resolveModuleContextFromIndex");a(rs,"resolveSymbolContextFromIndex");a(nu,"resolveProcessContextFromIndex");a(os,"resolveImpactEstimateFromIndex");a(Ay,"getModuleContext");a(My,"getSymbolContext");a(Wy,"getProcessContext");a(zy,"getImpactEstimate");a(qy,"getRepoRoutingSignals")});var ou=p(()=>{"use strict";ts();ru()});function is(t,...e){let n=t.trim().toLowerCase(),r=0;for(let o of e){if(!o)continue;let i=o.toLowerCase();if(i===n){r=Math.max(r,1);continue}if(i.startsWith(n)){r=Math.max(r,.92);continue}if(i.includes(n)){r=Math.max(r,.78);continue}let s=n.split(/\s+/).filter(Boolean);s.length>0&&s.every(c=>i.includes(c))&&(r=Math.max(r,.66))}return r}function jy(t,e){return{item:{title:`${t.name} (${t.kind})`,locator:`${t.filePath}:${t.line}`,snippet:t.signature,score:e,metadata:{kind:"symbol",moduleId:t.moduleId,exported:t.exported,confidence:t.confidence}},artifact:{kind:"symbol",label:t.qualifiedName,value:`${t.filePath}:${t.line}`}}}function Fy(t,e){return{item:{title:t.label,locator:t.root,snippet:`Module ${t.moduleId} with ${t.symbolCount} symbols and ${t.sourceFileCount} source files.`,score:e,metadata:{kind:"module",moduleId:t.moduleId,confidence:t.confidence}},artifact:{kind:"module",label:t.label,value:t.root}}}function Uy(t,e){return{item:{title:t.label,locator:t.entryFile,snippet:t.summary,score:e,metadata:{kind:"process",moduleId:t.moduleId,confidence:t.confidence}},artifact:{kind:"process",label:t.label,value:t.entryFile}}}function Vy(t,e,n,r){let o=[];if(n==="auto"||n==="symbol")for(let s of t.symbols){let c=is(e,s.name,s.qualifiedName,s.filePath,s.signature);c>0&&o.push({score:c,...jy(s,c)})}if(n==="auto"||n==="module")for(let s of t.modules){let c=is(e,s.label,s.moduleId,s.root,...s.topSymbols);c>0&&o.push({score:c,...Fy(s,c)})}if(n==="auto"||n==="process")for(let s of t.processes){let c=is(e,s.label,s.entryFile,s.entrySymbol,s.summary);c>0&&o.push({score:c,...Uy(s,c)})}o.sort((s,c)=>c.score!==s.score?c.score-s.score:s.item.title.localeCompare(c.item.title));let i=o.slice(0,r);return{items:i.map(s=>s.item),artifacts:i.map(s=>s.artifact),generatedAt:t.generatedAt,sourceFileCount:t.sourceFileCount,capabilityEngine:t.capability?.engine}}var iu=p(()=>{"use strict";a(is,"scoreCandidate");a(jy,"buildSymbolItem");a(Fy,"buildModuleItem");a(Uy,"buildProcessItem");a(Vy,"collectSemanticLookupItems")});function xr(t){return t>=.8?"high":t>=.65?"medium":"low"}function Tr(t){return!t||t.status==="ok"&&t.warnings.length===0?[]:[`Capability: ${t.engine}/${t.status}`,...t.warnings.map(e=>`Warning: ${e}`)]}function Dy(t){let{module:e}=t;return[`Module context for ${e.label}`,`Module: ${e.moduleId} [${e.kind}]`,`Freshness: ${t.freshness}`,`Confidence: ${xr(t.confidence)} (${t.confidence.toFixed(2)})`,`Files: ${e.fileCount} total | ${e.sourceFileCount} source | ${e.symbolCount} symbols`,`Languages: ${e.languages.map(n=>`${n.language}/${n.capabilityTier}:${n.fileCount}`).join(" | ")||"none"}`,`Dependencies: ${e.dependencies.join(" | ")||"none"}`,`Dependents: ${e.dependents.join(" | ")||"none"}`,`Entry files: ${e.entryFiles.join(" | ")||"none"}`,`Top symbols: ${e.topSymbols.join(" | ")||"none"}`,`Tests: ${e.keyTests.join(" | ")||"none"}`,`Docs: ${e.keyDocs.join(" | ")||"none"}`,`Processes: ${e.processIds.join(" | ")||"none"}`,`Evidence: ${t.evidence.join(" | ")||"none"}`,...Tr(t.capability)].join(`
|
|
188
|
-
`)}function
|
|
189
|
-
`)}function
|
|
190
|
-
`)}function
|
|
191
|
-
`)}var
|
|
192
|
-
`)}var
|
|
271
|
+
`});var Cc=p(()=>{"use strict";Dt();Lo();Ko();Yo();Vo();zn();No();Ec();Xc()});async function DO(t,e,n){let r=Ac("label");return await t.append({id:r,ts:Date.now(),type:"label",payload:{targetId:e,label:n}}),r}async function NO(t,e,n){let r=Ac("artifact");return await t.append({id:r,ts:Date.now(),type:"artifact_ledger",payload:{ref:e,summary:n}}),r}function YO(t){let e=[],n=new Map,r=[],o=null;for(let i of t){if(i.type==="label"){let c=i.payload;c?.targetId&&r.push({targetId:c.targetId,label:c.label});continue}let s={entry:i,children:[]};if(i.type==="message"){e.push(s),n.set(i.id,s),o=s;continue}o?o.children.push(s):e.push(s)}for(let{targetId:i,label:s}of r){let c=n.get(i);c&&s!==void 0&&(c.label=s)}return e}var Ic,UO,VO,Ac,LO,Mc=p(()=>{"use strict";Ic=Object.freeze(["message","label","compaction","branch_summary","archive_marker","rewind_marker","artifact_ledger","memory_outcome_digest","memory_review_receipt"]),UO=0,VO=0,Ac=a(t=>{let e=t==="label"?++UO:++VO,n=Math.random().toString(36).slice(2,8);return`${t}-${Date.now()}-${e}-${n}`},"nextId");a(DO,"appendLabel");a(NO,"appendArtifact");a(YO,"buildLineageTree");LO=Object.freeze({name:"lineage",entryTypes:Ic,operators:Object.freeze({label:a((async(t,...e)=>{let[n,r]=e;return DO(t,n,r)}),"label"),attachArtifact:a((async(t,...e)=>{let[n,r]=e;return NO(t,n,r)}),"attachArtifact")}),reducers:Object.freeze({buildLineageTree:a(t=>YO(t),"buildLineageTree")})})});var Wc=p(()=>{"use strict"});var zc=p(()=>{"use strict"});var qc=p(()=>{"use strict"});var Zo=p(()=>{"use strict";Rt()});var Bo=p(()=>{"use strict";Zo()});var jc=p(()=>{"use strict";Bo()});var qn=p(()=>{"use strict"});var Ho=p(()=>{"use strict";qn()});var Jo=p(()=>{"use strict"});var ei=p(()=>{"use strict";Jo()});var Fc=p(()=>{"use strict"});var om,ti,jn=p(()=>{"use strict";Rt();Ho();ei();Fc();pe();qn();On();om=new Set(["skill","ask_user_question","exit_plan_mode","dispatch_child_task","task_stop","send_message","emit_managed_protocol","tool_search","get_goal","create_goal","update_goal","todo_create","todo_update","todo_list","todo_get","worktree_create","worktree_remove","undo","mcp_search","mcp_describe","mcp_call","mcp_read_resource","mcp_get_prompt","repo_overview","changed_scope","changed_diff","changed_diff_bundle","module_context","symbol_context","process_context","impact_estimate","relationship_scan","cyclic_dependencies","semantic_lookup"]),ti=om});var im,Uc=p(()=>{"use strict";jn();qn();im={enabled:!1,maxAge:20,protectedTools:Array.from(ti)}});var Vc=p(()=>{"use strict"});var Dc=p(()=>{"use strict";K()});var Nc=p(()=>{"use strict";jn()});var Yc=p(()=>{"use strict";Rt()});var Lc=p(()=>{"use strict"});var Kc=p(()=>{"use strict";Nc();Yc();Lc()});var Gc=p(()=>{"use strict";Mc();Wc();zc();qc();Bo();jc();Ho();Jo();ei();jn();Uc();Zo();Vc();Dc();Kc()});var ni=p(()=>{"use strict"});var ri=p(()=>{"use strict"});var Fn=p(()=>{"use strict"});import UC from"typescript";var oi=p(()=>{"use strict"});var ii=p(()=>{"use strict";Fn();oi()});var Bc=p(()=>{"use strict";Fn();ii()});var si=p(()=>{"use strict";zt();ni()});var Hc=p(()=>{"use strict";ri();si()});var Jc=p(()=>{"use strict";ni();ri();Fn();ii();oi();Bc();si();Hc()});var ed=p(()=>{"use strict"});var ai=p(()=>{"use strict"});var td=p(()=>{"use strict";ai();ai()});var nd=p(()=>{"use strict"});var rd=p(()=>{"use strict";ed();td();nd()});var od=p(()=>{"use strict";Ss();Rt();On();pe();Sa();Qa();ka();mo();fo();Oo();po();jt();lo();uo();En();Aa();K();Ma();ho();Xn();go();Wa();Po();Va();Ha();xo();To();Ja();ec();vo();Ro();Ro();An();gc();$c();Cc();Ao();co();Gc();Jc();rd()});import{AsyncLocalStorage as ym}from"node:async_hooks";import Ie from"fs/promises";import di from"path";async function G(t,e){try{let n=await Ie.readFile(t,"utf8"),r=JSON.parse(n);return e&&!e(r)?null:r}catch{return null}}function se(t,e){process.env.KODAX_DEBUG_REPO_INTELLIGENCE&&ie({source:"coding:repo-intelligence",level:"debug",message:t,...e!==void 0?{detail:e}:{}})}function Nt(t){return wm.getStore()?.trim()||process.env.KODAX_REPO_INTELLIGENCE_STORAGE_DIR?.trim()||t}function Qm(t){return ci=(ci+1)%Number.MAX_SAFE_INTEGER,`${t}.${process.pid}.${Date.now()}.${ci}.tmp`}async function bm(t,e){for(let r=1;;r+=1)try{await Ie.rename(t,e);return}catch(o){let i=o?.code;if(r>=5||!i||!km.has(i))throw o;await new Promise(s=>setTimeout(s,r*20))}}async function Qe(t,e){let n=di.dirname(t);await Ie.mkdir(n,{recursive:!0});let r=Qm(t);try{await Ie.writeFile(r,`${JSON.stringify(e,null,2)}
|
|
272
|
+
`,"utf8"),await bm(r,t)}catch(o){throw await Ie.rm(r,{force:!0}).catch(()=>{}),o}await xm(n,di.basename(t)).catch(()=>{})}async function xm(t,e){let n=`${e}.`,r=Date.now(),o=await Ie.readdir(t);await Promise.all(o.filter(i=>i.startsWith(n)&&Sm.test(i.slice(n.length))).map(async i=>{let s=di.join(t,i);try{let c=await Ie.stat(s);r-c.mtimeMs>=Pm&&await Ie.rm(s,{force:!0})}catch{}}))}var wm,Pm,Sm,ci,km,Un=p(()=>{"use strict";od();wm=new ym;a(G,"safeReadJson");a(se,"debugLogRepoIntelligence");a(Nt,"resolveRepoIntelligenceStorageDir");Pm=3600*1e3,Sm=/^\d+\.\d+(?:\.\d+)?\.tmp$/,ci=0;a(Qm,"nextAtomicTempPath");km=new Set(["EPERM","EBUSY","EACCES"]);a(bm,"renameWithRetry");a(Qe,"writeJsonFileAtomic");a(xm,"sweepStaleTempFiles")});import Ae from"fs/promises";import C from"path";import{createHash as ui}from"node:crypto";import{execFile as Tm}from"child_process";import{promisify as vm}from"util";function tt(t){return typeof t=="object"&&t!==null}function jm(t){return tt(t)&&typeof t.id=="string"&&typeof t.label=="string"&&typeof t.kind=="string"&&typeof t.root=="string"&&typeof t.fileCount=="number"&&Array.isArray(t.manifests)&&Array.isArray(t.sampleFiles)}function Fm(t){return tt(t)&&typeof t.schemaVersion=="number"&&typeof t.workspaceRoot=="string"&&(t.source==="git"||t.source==="filesystem")&&typeof t.generatedAt=="string"&&typeof t.truncated=="boolean"&&tt(t.fileStats)&&typeof t.fileStats.totalFiles=="number"&&typeof t.fileStats.sourceFiles=="number"&&typeof t.fileStats.docFiles=="number"&&typeof t.fileStats.testFiles=="number"&&typeof t.fileStats.configFiles=="number"&&Array.isArray(t.manifests)&&Array.isArray(t.keyDocs)&&Array.isArray(t.entryHints)&&Array.isArray(t.areas)&&t.areas.every(e=>jm(e))}function Um(t){return tt(t)&&typeof t.schemaVersion=="number"&&typeof t.workspaceRoot=="string"&&typeof t.overviewGeneratedAt=="string"&&(t.source==="git"||t.source==="filesystem")&&Array.isArray(t.allFiles)&&t.allFiles.every(e=>typeof e=="string")&&Array.isArray(t.sourceFiles)&&t.sourceFiles.every(e=>typeof e=="string")}function Vm(t){return tt(t)&&(t.branch===void 0||typeof t.branch=="string")&&(t.head===void 0||typeof t.head=="string")&&(t.hasUncommittedChanges===void 0||typeof t.hasUncommittedChanges=="boolean")}function Dm(t){return tt(t)&&typeof t.schemaVersion=="number"&&typeof t.generatedAt=="string"&&typeof t.workspaceRoot=="string"&&(t.git===null||Vm(t.git))&&(t.snapshotKind==="clean"||t.snapshotKind==="dirty")&&(t.head===void 0||typeof t.head=="string")&&(t.branch===void 0||typeof t.branch=="string")&&(t.dirtyPathsFingerprint===void 0||typeof t.dirtyPathsFingerprint=="string")&&(t.dirtySemanticFingerprint===void 0||typeof t.dirtySemanticFingerprint=="string")}async function Z(t,e){return(await Rm("git",t,{cwd:e,timeout:Em,windowsHide:!0,maxBuffer:8388608})).stdout.toString()}async function Yt(t){try{return await Ae.access(t),!0}catch{return!1}}async function Oi(t){let e=Nn(t);return await Ae.mkdir(e,{recursive:!0}),e}function z(t){return t.replace(/\\/g,"/").replace(/^\.\//,"")}function yd(t){let e=ui("sha256");for(let n of Array.from(t,r=>z(r)).sort((r,o)=>r.localeCompare(o)))e.update(n),e.update("|");return e.digest("hex")}function Nm(t){return Wm.has(C.posix.basename(z(t)))}function Ym(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n+=1)if(z(t[n]??"")!==z(e[n]??""))return!1;return!0}function nt(t){let e=z(t);return e===".agent"||e===".kodax"||Xm.some(n=>e.startsWith(n))}async function Lm(t){try{let e=(await Z(["rev-parse","--show-toplevel"],t)).trim();if(e)return{workspaceRoot:C.resolve(e),source:"git"}}catch{}return{workspaceRoot:C.resolve(t),source:"filesystem"}}async function Km(t){try{return(await Ae.stat(t)).isDirectory()?t:C.dirname(t)}catch{return t}}async function Gm(t){let e=(await Z(["ls-files","-z"],t)).split("\0").filter(Boolean),n=(await Z(["ls-files","--others","--exclude-standard","-z"],t)).split("\0").filter(Boolean),r=Array.from(new Set([...e,...n].map(z).filter(o=>!nt(o))));return{files:r.slice(0,Me),truncated:r.length>Me}}async function id(t){let e=[],n=!1;async function r(o){if(e.length>=Me){n=!0;return}let i=await Ae.readdir(o,{withFileTypes:!0});for(let s of i){if(e.length>=Me){n=!0;return}if(s.isDirectory()){if(qm.has(s.name))continue;await r(C.join(o,s.name));continue}if(!s.isFile())continue;let c=z(C.relative(t,C.join(o,s.name)));nt(c)||e.push(c)}}return a(r,"walk"),await r(t),{files:e,truncated:n}}function Zm(t){let e=z(t).toLowerCase();return e.split("/").some(r=>Im.has(r))?!0:/\.(test|spec)\.[^.]+$/.test(e)}function Ot(t){let e=z(t),n=C.extname(e).toLowerCase(),r=C.posix.basename(e);return pi.has(r)?"config":e.startsWith("docs/")||gd.has(e)||hd.has(n)?"docs":Zm(e)?"tests":Cm.has(n)?"source":"other"}async function wd(t,e){if(e===".")return"Workspace Root";let n=C.join(t,e,"package.json"),r=C.join(t,e,"pyproject.toml"),o=C.join(t,e,"Cargo.toml");if(await Yt(n))try{let i=JSON.parse(await Ae.readFile(n,"utf8"));if(i.name?.trim())return i.name.trim()}catch{}for(let i of[r,o])if(await Yt(i))try{let c=(await Ae.readFile(i,"utf8")).match(/^\s*name\s*=\s*["']([^"']+)["']/m);if(c?.[1])return c[1]}catch{}return C.posix.basename(e)}async function Bm(t,e){let n=new Map;for(let o of e){let s=z(o).split("/");if(s.length===1){n.set(".","root");continue}if(Mm.has(s[0]??"")&&s[1]){n.set(`${s[0]}/${s[1]}`,"package");continue}let c=Am.get(s[0]??"");c&&n.set(s[0],c)}n.size===0&&n.set(".","root");let r=[];for(let[o,i]of Array.from(n.entries()).sort((s,c)=>s[0].localeCompare(c[0]))){let s=o==="."?"":`${o}/`,c=e.filter(u=>o==="."?!u.includes("/"):u===o||u.startsWith(s)).sort((u,f)=>u.localeCompare(f)),d=c.filter(u=>!(o==="."?u:u.slice(s.length)).includes("/")&&pi.has(C.posix.basename(u)));r.push({id:o,label:await wd(t,o),kind:i,root:o,fileCount:c.length,manifests:d.slice(0,fi),sampleFiles:c.slice(0,fi)})}return r.sort((o,i)=>i.fileCount!==o.fileCount?i.fileCount-o.fileCount:o.root.localeCompare(i.root))}async function sd(t,e){if(e==="git")try{let[n,r,o]=await Promise.all([Z(["branch","--show-current"],t),Z(["rev-parse","HEAD"],t),Z(["status","--short"],t)]);return{branch:n.trim()||void 0,head:r.trim()||void 0,hasUncommittedChanges:o.trim().length>0}}catch{return}}async function Lt(t,e){if(e==="git")try{return await Gm(t)}catch{return id(t)}return id(t)}async function Vn(t,e){let n=await Sd(t,pd);return!n||n.schemaVersion!==H||e&&n.overviewGeneratedAt!==e?null:n}async function ad(t){let n=(await Z(["status","--porcelain=v1","-z","--untracked-files=all"],t)).split("\0"),r=new Set;for(let o=0;o<n.length;o+=1){let i=n[o];if(!i||i.length<4)continue;let s=i.slice(0,2),c=z(i.slice(3));if(c&&!nt(c)&&r.add(c),s.includes("R")||s.includes("C")){let d=z(n[o+1]??"");d&&!nt(d)&&r.add(d),o+=1}}return Array.from(r).sort((o,i)=>o.localeCompare(i))}async function Pd(t,e){return G(Nn(t,e),Fm)}async function Sd(t,e){return G(Nn(t,e),Um)}async function Hm(t){return G(Nn(t,ud),Dm)}async function Jm(t,e){let n=ui("sha256");n.update(yd(e));for(let r of e){let o=C.join(t,r);n.update(r),n.update(":");try{if(await Ae.stat(o),n.update("present:"),Nm(r)){let i=await Ae.readFile(o,"utf8");n.update(ui("sha256").update(i).digest("hex"))}}catch(i){let s=tt(i)&&typeof i.code=="string"?i.code:void 0;n.update(s==="ENOENT"?"missing":"unreadable")}n.update("|")}return n.digest("hex")}async function cd(t,e){let n=e.map(r=>z(r)).sort((r,o)=>r.localeCompare(o));return{dirtyPaths:n,dirtyPathsFingerprint:yd(n),dirtySemanticFingerprint:await Jm(t,n)}}async function eh(t,e,n){let r=new Set(e.map(o=>z(o)));for(let o of n){let i=C.join(t,o);await Yt(i)?r.add(o):r.delete(o)}return Array.from(r).sort((o,i)=>o.localeCompare(i))}async function Qd(t,e,n,r,o){let i=n.map(c=>z(c)),s={schemaVersion:H,workspaceRoot:t,source:e,generatedAt:new Date().toISOString(),truncated:r,git:o,fileStats:{totalFiles:i.length,sourceFiles:i.filter(c=>Ot(c)==="source").length,docFiles:i.filter(c=>Ot(c)==="docs").length,testFiles:i.filter(c=>Ot(c)==="tests").length,configFiles:i.filter(c=>Ot(c)==="config").length},manifests:i.filter(c=>pi.has(C.posix.basename(c))).slice(0,12),keyDocs:i.filter(c=>gd.has(c)||/^README/i.test(C.posix.basename(c))&&hd.has(C.extname(c).toLowerCase())).slice(0,8),entryHints:i.filter(c=>zm.includes(C.posix.basename(c))).slice(0,8),areas:await Bm(t,i)};return{overview:s,inventory:{schemaVersion:H,workspaceRoot:t,overviewGeneratedAt:s.generatedAt,source:e,allFiles:[...i].sort((c,d)=>c.localeCompare(d)),sourceFiles:i.filter(c=>Ot(c)==="source").sort((c,d)=>c.localeCompare(d))}}}async function kd(t,e,n,r={}){let o={schemaVersion:H,generatedAt:e.generatedAt,workspaceRoot:e.workspaceRoot,git:e.git??null,snapshotKind:e.source==="git"&&e.git?.hasUncommittedChanges===!0?"dirty":"clean",head:e.git?.head,branch:e.git?.branch,dirtyPathsFingerprint:r.dirtyIdentity?.dirtyPathsFingerprint,dirtySemanticFingerprint:r.dirtyIdentity?.dirtySemanticFingerprint};await Qe(C.join(t,ud),o),await Qe(C.join(t,fd),e),await Qe(C.join(t,pd),n),r.writeBaseline===!0&&(await Qe(C.join(t,Od),e),await Qe(C.join(t,md),n))}function th(t,e,n){return!!(n?.hasUncommittedChanges===!0&&t&&e&&t.schemaVersion===H&&e.schemaVersion===H&&t.source==="git"&&e.source==="git"&&t.git?.hasUncommittedChanges!==!0&&t.git?.head&&t.git?.head===n.head&&t.git?.branch===n.branch&&e.workspaceRoot===t.workspaceRoot&&e.overviewGeneratedAt===t.generatedAt)}function nh(t,e,n,r){return!!(t&&e&&t.schemaVersion===H&&e.schemaVersion===H&&t.source==="git"&&t.generatedAt===e.generatedAt&&t.workspaceRoot===e.workspaceRoot&&e.snapshotKind==="dirty"&&n?.hasUncommittedChanges===!0&&e.head===n.head&&e.branch===n.branch&&e.dirtyPathsFingerprint===r.dirtyPathsFingerprint&&e.dirtySemanticFingerprint===r.dirtySemanticFingerprint)}async function rh(t,e,n){let r=await Pd(t,Od),o=await Sd(t,md);if(!th(r,o,e))return null;let i=o,{dirtyPaths:s}=n,c=new Set(i.allFiles);if(r.truncated)for(let Q of s){let g=C.join(t,Q);if(!c.has(Q)||await Yt(g)===!1)return null}let d=new Set(c);for(let Q of s){let g=C.join(t,Q);await Yt(g)?d.add(Q):d.delete(Q)}let u=Array.from(d).sort((Q,g)=>Q.localeCompare(g)),f=r.truncated||u.length>Me,l=f?u.slice(0,Me):u,{overview:O,inventory:h}=await Qd(t,"git",l,f,e),w=await Oi(t);return await kd(w,O,h,{dirtyIdentity:n}),O}async function oh(t,e,n,r,o){if(!e||!n||e.schemaVersion!==H||e.source!=="filesystem"||n.schemaVersion!==H||n.source!=="filesystem"||n.workspaceRoot!==t||n.overviewGeneratedAt!==e.generatedAt||e.truncated!==o)return!1;let i=r.map(s=>z(s)).sort((s,c)=>s.localeCompare(c));if(!Ym(n.allFiles,i))return!1;for(let s of e.areas)if(await wd(t,s.root)!==s.label)return!1;return!0}async function li(t,e,n,r,o){let{files:i,truncated:s}=o??await Lt(t,e),c=e==="git"&&r?.dirtyPaths.length?await eh(t,i,r.dirtyPaths):i.map(h=>z(h)),d=s||c.length>Me,u=d?c.slice(0,Me):c,f=await Oi(t),{overview:l,inventory:O}=await Qd(t,e,u,d,n);return await kd(f,l,O,{writeBaseline:e==="git"&&n?.hasUncommittedChanges!==!0,dirtyIdentity:r}),{workspaceRoot:t,source:e,overview:l,inventory:O,dirtyPaths:r?.dirtyPaths}}async function rt(t,e={}){let n=ws(t),r=await Km(e.targetPath?C.resolve(n,e.targetPath):n),{workspaceRoot:o,source:i}=await Lm(r),s=await Pd(o,fd),c=await Hm(o),d,u;if(!e.refresh){if(d=await sd(o,i),i!=="git"){let l=s?.schemaVersion===H?await Vn(o,s.generatedAt):null,O=await Lt(o,i);return await oh(o,s,l,O.files,O.truncated)?{workspaceRoot:o,source:i,overview:s,inventory:l}:li(o,i,d,void 0,O)}if(i==="git"&&s?.schemaVersion===H&&d?.hasUncommittedChanges!==!0&&s.git?.head===d?.head&&s.git?.branch===d?.branch&&s.git?.hasUncommittedChanges===d?.hasUncommittedChanges&&s)return{workspaceRoot:o,source:i,overview:s,inventory:await Vn(o,s.generatedAt)};if(i==="git"&&d?.hasUncommittedChanges===!0){let l=await ad(o).catch(O=>(se("Could not collect dirty workspace paths for repo overview.",O),null));if(l){if(u=await cd(o,l),nh(s,c,d,u))return{workspaceRoot:o,source:i,overview:s,inventory:await Vn(o,s.generatedAt),dirtyPaths:u.dirtyPaths};let O=await rh(o,d,u);if(O)return{workspaceRoot:o,source:i,overview:O,inventory:await Vn(o,O.generatedAt),dirtyPaths:u.dirtyPaths}}}return li(o,i,d,u)}if(d=await sd(o,i),i==="git"&&d?.hasUncommittedChanges===!0){let f=await ad(o).catch(l=>(se("Could not collect dirty workspace paths for refreshed repo overview.",l),null));f&&(u=await cd(o,f))}return li(o,i,d,u)}function dd(t){return t.includes("R")?"renamed":t.includes("D")?"deleted":t.includes("A")?"added":t==="??"?"untracked":"modified"}function ih(t){if(!t.trim())return null;let e=t.slice(0,2),n=t.slice(3).trim(),r=z(n.includes(" -> ")?n.split(" -> ").pop()??n:n),o=e[0]!==" "&&e[0]!=="?",i=e[1]!==" "&&e[1]!=="?";return{status:e,path:r,staged:o,unstaged:i||e==="??"}}function sh(t,e){return t?e==="staged"?t.staged:e==="unstaged"?t.unstaged:t.staged||t.unstaged:!1}function ld(t,e){let n=z(t),r=[...e].sort((o,i)=>i.root.length-o.root.length);for(let o of r)if(o.root!=="."&&(n===o.root||n.startsWith(`${o.root}/`)))return o;return e.find(o=>o.root===".")??{id:".",label:"Workspace Root",kind:"root",root:".",fileCount:0,manifests:[],sampleFiles:[]}}function ah(t,e){let n=[];e.length>1&&n.push(`Cross-area change touches ${e.length} areas.`);let r=t.filter(i=>i.category==="config").map(i=>i.path);return r.length>0&&n.push(`Config or manifest changes detected: ${r.slice(0,4).join(" | ")}.`),t.length>0&&t.every(i=>i.category==="docs"||i.category==="tests")&&n.push("Changes are currently limited to docs/tests; implementation files are untouched."),t.some(i=>i.areaId===".")&&n.push("Workspace-root files changed; validate repo-wide implications."),n}async function ch(t,e,n){if(e==="compare"){let s=n?.trim()||"HEAD~1";if(!s||s.startsWith("-")||/[\u0000-\u001f\s]/.test(s))throw new Error(`Invalid base ref "${s}".`);try{await Z(["rev-parse","--verify","--quiet",`${s}^{commit}`],t)}catch(d){throw se(`Rejected compare base ref "${s}".`,d),new Error(`Could not resolve base ref "${s}".`)}return(await Z(["diff","--name-status",`${s}...HEAD`],t)).split(/\r?\n/).map(d=>d.trim()).filter(Boolean).map(d=>{let[u,...f]=d.split(/\s+/),l=f.join(" ").split(" -> ").pop()??f.join(" ");return{path:z(l),status:dd(u??"M")}}).filter(d=>!nt(d.path))}let o=(await Z(["status","--porcelain=v1","--untracked-files=all"],t)).split(/\r?\n/).map(ih).filter(s=>s!==null).filter(s=>sh(s,e)),i=new Map;for(let s of o)nt(s.path)||i.set(s.path,{path:s.path,status:dd(s.status)});return Array.from(i.values())}async function dh(t,e,n){let r="";if(e==="compare"){let s=n?.trim()||"HEAD~1";r=await Z(["diff","--numstat",`${s}...HEAD`],t)}else e==="staged"?r=await Z(["diff","--cached","--numstat"],t):e==="unstaged"?r=await Z(["diff","--numstat"],t):r=await Z(["diff","--numstat","HEAD"],t);let o=0,i=0;for(let s of r.split(/\r?\n/)){let c=s.trim();if(!c)continue;let d=c.match(/^(\d+|-)\s+(\d+|-)\s+(.+)$/);if(!d)continue;let[,u,f,l]=d,O=z(l.split(" -> ").pop()??l);if(nt(O))continue;let h=u==="-"?0:Number.parseInt(u,10),w=f==="-"?0:Number.parseInt(f,10);Number.isFinite(h)&&(o+=h),Number.isFinite(w)&&(i+=w)}return{changedLineCount:o+i,addedLineCount:o,deletedLineCount:i}}async function Dn(t,e={}){let n=e.scope??"all",r=t.overview;if(r.source!=="git")throw new Error("changed_scope requires a git-backed workspace.");let o=await ch(r.workspaceRoot,n,e.baseRef),i=await dh(r.workspaceRoot,n,e.baseRef).catch(l=>(se("Changed scope could not load line stats.",l),{changedLineCount:0,addedLineCount:0,deletedLineCount:0})),s=o.map(l=>{let O=ld(l.path,r.areas);return{path:l.path,status:l.status,category:Ot(l.path),areaId:O.id}}),c=new Map;for(let l of s){let O=ld(l.path,r.areas),h=c.get(O.id)??{areaId:O.id,label:O.label,root:O.root,kind:O.kind,fileCount:0,files:[]};c.set(O.id,{...h,fileCount:h.fileCount+1,files:h.files.length<fi?[...h.files,l.path]:h.files})}let d={source:0,docs:0,tests:0,config:0,other:0};for(let l of s)d[l.category]+=1;let u={schemaVersion:H,workspaceRoot:r.workspaceRoot,analyzedAt:new Date().toISOString(),scope:n,baseRef:n==="compare"?e.baseRef?.trim()||"HEAD~1":void 0,overviewGeneratedAt:r.generatedAt,totalChangedFiles:s.length,changedLineCount:i.changedLineCount,addedLineCount:i.addedLineCount,deletedLineCount:i.deletedLineCount,categories:d,areasTouched:Array.from(c.values()).sort((l,O)=>O.fileCount!==l.fileCount?O.fileCount-l.fileCount:l.root.localeCompare(O.root)),files:s,riskHints:ah(s,Array.from(c.values()))},f=await Oi(r.workspaceRoot);return await Qe(C.join(f,_m),u),u}function lh(){return Nt($m)}function Nn(t,...e){let n=lh(),r=C.isAbsolute(n)?n:C.join(t,n);return C.join(r,...e)}var Rm,$m,ud,fd,pd,Od,md,_m,H,Me,fi,Em,Xm,Cm,hd,Im,Am,Mm,pi,Wm,gd,zm,qm,bd=p(()=>{"use strict";Ps();Un();Rm=vm(Tm),$m=C.join(".agent","repo-intelligence"),ud="manifest.json",fd="repo-overview.json",pd="repo-overview-inventory.json",Od="repo-overview-baseline.json",md="repo-overview-inventory-baseline.json",_m="changed-scope.json",H=3,Me=12e3,fi=3,Em=5e3,Xm=[".agent/",".kodax/"],Cm=new Set([".ts",".tsx",".js",".jsx",".mjs",".cjs",".py",".java",".go",".rs",".cpp",".cc",".cxx",".c",".hpp",".h",".cs",".rb",".php",".swift",".kt",".kts",".scala",".sh"]),hd=new Set([".md",".mdx",".rst",".txt"]),Im=new Set(["test","tests","__tests__","__mocks__","spec","specs"]),Am=new Map([["docs","docs"],["test","tests"],["tests","tests"],["scripts","scripts"],["bin","scripts"],["tools","scripts"],["src","directory"],["server","directory"],["client","directory"],["web","directory"],["api","directory"],["cmd","directory"],["examples","directory"],["example","directory"]]),Mm=new Set(["packages","apps","libs","services"]),pi=new Set(["package.json","package-lock.json","pnpm-lock.yaml","pnpm-workspace.yaml","yarn.lock","tsconfig.json","tsconfig.build.json","vitest.config.ts","vitest.config.js","vite.config.ts","vite.config.js","pyproject.toml","requirements.txt","Cargo.toml","Cargo.lock","go.mod","go.sum","pom.xml","build.gradle","build.gradle.kts","Makefile","Dockerfile"]),Wm=new Set(["package.json","pyproject.toml","Cargo.toml"]),gd=new Set(["README.md","README_CN.md","AGENTS.md","CLAUDE.md","docs/HLD.md","docs/PRD.md","docs/ADR.md","docs/DD.md","docs/FEATURE_LIST.md"]),zm=["index.ts","index.js","main.ts","main.js","app.ts","app.js","server.ts","server.js","cli.ts","cli.js","kodax_cli.ts","main.py"],qm=new Set([".git",".agent",".kodax","node_modules","dist","build","coverage",".next",".turbo","target","__pycache__",".venv","venv"]);a(tt,"isRecord");a(jm,"isRepoAreaOverview");a(Fm,"isRepoOverviewPayload");a(Um,"isRepoOverviewInventoryPayload");a(Vm,"isGitSummaryPayload");a(Dm,"isRepoOverviewManifestPayload");a(Z,"runGit");a(Yt,"exists");a(Oi,"ensureStorageDir");a(z,"normalizeRelativePath");a(yd,"computePathFingerprint");a(Nm,"isAreaLabelSensitiveManifestPath");a(Ym,"sameNormalizedPathList");a(nt,"isManagedMetadataPath");a(Lm,"resolveWorkspaceRoot");a(Km,"resolveTargetDirectory");a(Gm,"listGitFiles");a(id,"walkFilesystemFiles");a(Zm,"isTestFile");a(Ot,"classifyFileCategory");a(wd,"readAreaLabel");a(Bm,"buildAreas");a(sd,"getGitSummary");a(Lt,"collectWorkspaceFilesForSource");a(Vn,"readRepoOverviewInventory");a(ad,"collectWorkspaceDirtyPaths");a(Pd,"readStoredRepoOverview");a(Sd,"readStoredRepoOverviewInventory");a(Hm,"readStoredRepoOverviewManifest");a(Jm,"computeDirtySemanticFingerprint");a(cd,"buildDirtyOverviewIdentity");a(eh,"applyDirtyPathPatchToFiles");a(Qd,"buildRepoOverviewArtifacts");a(kd,"writeRepoOverviewArtifacts");a(th,"canUseOverviewBaseline");a(nh,"canDirectReuseDirtyOverview");a(rh,"tryBuildDirtyRepoOverviewFromBaseline");a(oh,"canDirectReuseFilesystemOverview");a(li,"buildRepoOverviewSnapshotForWorkspace");a(rt,"resolveRepoOverviewSnapshot");a(dd,"resolveChangedStatus");a(ih,"parsePorcelainLine");a(sh,"includesCandidate");a(ld,"findAreaForFile");a(ah,"buildRiskHints");a(ch,"collectChangedFiles");a(dh,"collectChangedLineStats");a(Dn,"analyzeChangedScopeFromSnapshot");a(lh,"getRepoIntelligenceDir");a(Nn,"resolveRepoIntelligencePath")});var Yn=p(()=>{"use strict";bd();Un()});import xd from"fs/promises";import Kt from"path";import{createHash as Ln}from"node:crypto";function Oe(t){return typeof t=="object"&&t!==null}function gt(t){return Oe(t)&&typeof t.schemaVersion=="number"&&typeof t.workspaceRoot=="string"&&typeof t.generatedAt=="string"&&typeof t.overviewGeneratedAt=="string"&&typeof t.sourceFileCount=="number"&&typeof t.sourceFingerprint=="string"&&Array.isArray(t.languages)&&Array.isArray(t.modules)&&Array.isArray(t.symbols)&&Array.isArray(t.processes)}function _d(t){return t==="typescript"||t==="javascript"||t==="python"||t==="java"||t==="go"||t==="rust"||t==="cpp"||t==="unknown"}function fh(t){return t==="high"||t==="medium"||t==="low"}function ph(t){return t==="function"||t==="class"||t==="interface"||t==="type"||t==="enum"||t==="struct"||t==="trait"||t==="method"||t==="constant"}function Oh(t){return Oe(t)&&_d(t.language)&&fh(t.capabilityTier)&&typeof t.fileCount=="number"}function mh(t){return Oe(t)&&typeof t.filePath=="string"&&typeof t.fileFingerprint=="string"&&_d(t.language)&&typeof t.moduleId=="string"&&typeof t.analyzerVersion=="number"}function hh(t){return Oe(t)&&(t.source==="git"||t.source==="filesystem")&&(t.branch===void 0||typeof t.branch=="string")&&(t.head===void 0||typeof t.head=="string")&&(t.hasUncommittedChanges===void 0||typeof t.hasUncommittedChanges=="boolean")}function Ed(t){return Oe(t)&&typeof t.schemaVersion=="number"&&typeof t.workspaceRoot=="string"&&typeof t.generatedAt=="string"&&typeof t.overviewGeneratedAt=="string"&&typeof t.overviewFingerprint=="string"&&hh(t.workspaceSnapshot)&&typeof t.sourceFileCount=="number"&&typeof t.sourceFingerprint=="string"&&Array.isArray(t.languageBreakdown)&&t.languageBreakdown.every(e=>Oh(e))&&Array.isArray(t.sourceStates)&&t.sourceStates.every(e=>mh(e))}function gh(t){return Oe(t)&&typeof t.id=="string"&&typeof t.name=="string"&&typeof t.qualifiedName=="string"&&ph(t.kind)&&typeof t.line=="number"&&typeof t.signature=="string"&&typeof t.exported=="boolean"&&Array.isArray(t.calls)&&t.calls.every(e=>typeof e=="string")&&typeof t.confidence=="number"}function yh(t){return Oe(t)&&Array.isArray(t.importPaths)&&t.importPaths.every(e=>typeof e=="string")&&Array.isArray(t.symbols)&&t.symbols.every(e=>gh(e))}function Xd(t){return Oe(t)&&typeof t.schemaVersion=="number"&&typeof t.workspaceRoot=="string"&&typeof t.generatedAt=="string"&&typeof t.sourceFingerprint=="string"&&Oe(t.analyses)&&Object.values(t.analyses).every(e=>e===null||yh(e))}function Cd(t){return Oe(t)&&typeof t.schemaVersion=="number"&&typeof t.workspaceRoot=="string"&&(t.branch===void 0||typeof t.branch=="string")&&(t.head===void 0||typeof t.head=="string")&&typeof t.queryGeneratedAt=="string"&&typeof t.overviewFingerprint=="string"&&typeof t.sourceFingerprint=="string"&&typeof t.sourceFileCount=="number"&&typeof t.dirtyPathsFingerprint=="string"&&typeof t.dirtySourceFingerprint=="string"&&Array.isArray(t.dirtySourcePaths)&&t.dirtySourcePaths.every(e=>typeof e=="string")}function j(t){return t.replace(/\\/g,"/").replace(/^\.\//,"")}function N(t){switch(Kt.extname(t).toLowerCase()){case".ts":case".tsx":return"typescript";case".js":case".jsx":case".mjs":case".cjs":return"javascript";case".py":return"python";case".java":return"java";case".go":return"go";case".rs":return"rust";case".cpp":case".cc":case".cxx":case".c":case".hpp":case".h":return"cpp";default:return"unknown"}}function B(t){switch(t){case"typescript":case"javascript":case"python":case"go":case"rust":return"high";case"java":return"medium";default:return"low"}}function Id(t,e="full"){return(t==="typescript"||t==="javascript")&&e==="light"?2:1}function ke(t){switch(t){case"high":return .86;case"medium":return .74;default:return .58}}function Ad(t,e){if(t.length>0){let r=t.reduce((o,i)=>o+i.confidence,0);return Math.min(.95,Math.max(.32,r/t.length))}let n=e[0];return n?ke(n.capabilityTier):.4}async function Bn(t){try{return await xd.access(t),!0}catch{return!1}}async function Hn(t,e="full"){let n=wh(),r=Kt.isAbsolute(n)?n:Kt.join(t,n),o=e==="light"?Kt.join(r,"light"):r;return await xd.mkdir(o,{recursive:!0}),o}function Md(t,e,n){return Ln("sha256").update(j(t)).update(":").update(String(e)).update(":").update(String(Math.trunc(n))).digest("hex")}function yt(t){let e=Ln("sha256");for(let n of t)e.update(n.filePath),e.update(":"),e.update(n.fileFingerprint),e.update("|");return e.digest("hex")}function Jn(t,e){let n=Ln("sha256");n.update(t.workspaceRoot),n.update("|"),n.update(t.source),n.update("|");for(let r of t.areas)n.update(r.id),n.update(":"),n.update(r.label),n.update(":"),n.update(r.kind),n.update(":"),n.update(r.root),n.update(":"),n.update(String(r.fileCount)),n.update(":"),n.update(r.manifests.join(",")),n.update(":"),n.update(r.sampleFiles.join(",")),n.update("|");for(let r of e)n.update(r),n.update("|");return n.digest("hex")}function Gt(t){let e=Ln("sha256");for(let n of Array.from(t,r=>j(r)).sort((r,o)=>r.localeCompare(o)))e.update(n),e.update("|");return e.digest("hex")}function er(t){return{source:t.source,branch:t.git?.branch,head:t.git?.head,hasUncommittedChanges:t.git?.hasUncommittedChanges}}function tr(t){return t.source==="git"&&t.hasUncommittedChanges!==!0}function mi(t,e){return t.source===e.source&&t.branch===e.branch&&t.head===e.head&&t.hasUncommittedChanges===e.hasUncommittedChanges}function Wd(t){return t.workspaceSnapshot.source!=="git"||tr(t.workspaceSnapshot)}function zd(t){return(t.dirtyPaths??[]).filter(e=>t.sourceFileSet.has(e)).sort((e,n)=>e.localeCompare(n))}async function qe(t,e){return Qe(t,e)}function qd(t){let e=j(t).toLowerCase();return e.includes("/test/")||e.includes("/tests/")||e.includes("__tests__")||/\.(test|spec)\.[^.]+$/.test(e)}function jd(t){let e=j(t).toLowerCase();return e.startsWith("docs/")||e.endsWith(".md")||e.endsWith(".mdx")||e.endsWith(".rst")}function ce(t,e){let n=j(t),r=[...e].sort((o,i)=>i.root.length-o.root.length);for(let o of r)if(o.root!=="."&&(n===o.root||n.startsWith(`${o.root}/`)))return o;return e.find(o=>o.root===".")??{id:".",label:"Workspace Root",kind:"root",root:".",fileCount:0,manifests:[],sampleFiles:[]}}function J(t,e=t.length){return Array.from(new Set(t.filter(Boolean))).slice(0,e)}function Zt(t,e){let n=[],r=t.split(/\r?\n/);for(let o of r){let i=null;if(e==="typescript"||e==="javascript"){i=/from\s+['"]([^'"]+)['"]/.exec(o)??/require\(\s*['"]([^'"]+)['"]\s*\)/.exec(o)??/^\s*import\s+['"]([^'"]+)['"]/.exec(o),i?.[1]&&n.push(i[1]);continue}if(e==="python"){if(i=/^\s*from\s+([A-Za-z0-9_\.]+)\s+import/.exec(o),i?.[1]){n.push(i[1]);continue}i=/^\s*import\s+(.+)$/.exec(o),i?.[1]&&n.push(...i[1].split(",").map(s=>s.trim().split(/\s+/)[0]??"").filter(Boolean));continue}if(e==="go"){i=/^\s*import\s+"([^"]+)"/.exec(o)??/^\s*"([^"]+)"/.exec(o),i?.[1]&&n.push(i[1]);continue}if(e==="rust"){i=/^\s*use\s+([^;]+);/.exec(o),i?.[1]&&n.push(i[1].trim());continue}if(e==="java"){i=/^\s*import\s+([^;]+);/.exec(o),i?.[1]&&n.push(i[1].trim());continue}e==="cpp"&&(i=/^\s*#include\s+[<"]([^">]+)[">]/.exec(o),i?.[1]&&n.push(i[1].trim()))}return J(n,12)}function wh(){return Nt(uh)}var uh,We,Kn,Gn,Zn,Td,vd,Rd,D,mt,ze,$d,ae,ht,me,je=p(()=>{"use strict";Un();uh=Kt.join(".agent","repo-intelligence"),We="repo-intelligence-index.json",Kn="repo-intelligence-manifest.json",Gn="file-analysis-index.json",Zn="repo-intelligence-dirty-source-hint.json",Td="module-index.json",vd="symbol-index.json",Rd="process-index.json",D=9,mt=512*1024,ze=40,$d=8,ae=8,ht=new Set([".ts",".tsx",".js",".jsx",".mjs",".cjs",".py",".java",".go",".rs",".cpp",".cc",".cxx",".c",".hpp",".h"]),me=new Set(["if","for","while","switch","catch","return","typeof","sizeof","new","function","class","def","await","yield","super","import","from"]);a(Oe,"isRecord");a(gt,"isRepoIntelligenceIndexPayload");a(_d,"isRepoLanguageId");a(fh,"isLanguageCapabilityTier");a(ph,"isRepoSymbolKind");a(Oh,"isRepoLanguageSupportPayload");a(mh,"isRepoSourceFileStatePayload");a(hh,"isRepoWorkspaceSnapshotPayload");a(Ed,"isRepoIntelligenceManifestPayload");a(gh,"isCachedRepoSymbolRecordPayload");a(yh,"isCachedFileAnalysisEntryPayload");a(Xd,"isFileAnalysisIndexPayload");a(Cd,"isDirtySourceHintPayload");a(j,"normalizeRelativePath");a(N,"languageFromFile");a(B,"capabilityTierForLanguage");a(Id,"analyzerVersionForLanguage");a(ke,"baseConfidenceForTier");a(Ad,"computeModuleConfidence");a(Bn,"exists");a(Hn,"ensureStorageDir");a(Md,"computeFileFingerprint");a(yt,"computeSourceFingerprint");a(Jn,"computeOverviewFingerprint");a(Gt,"computePathFingerprint");a(er,"workspaceSnapshotFromOverview");a(tr,"isCleanGitSnapshot");a(mi,"sameWorkspaceSnapshot");a(Wd,"shouldPersistRepoIntelligenceBaseline");a(zd,"getDirtySourcePathsForInputs");a(qe,"writeJsonFileAtomic");a(qd,"isTestFile");a(jd,"isDocFile");a(ce,"findAreaForFile");a(J,"dedupeStrings");a(Zt,"extractImports");a(wh,"getRepoIntelligenceDir")});import hi from"path";import Ph from"fs/promises";function Fd(t,e){let n=new Map,r=new Map,o=new Map,i=new Map;for(let s of t){let c=ce(s,e);n.set(s,c);let d=r.get(c.id)??[];if(d.push(s),r.set(c.id,d),qd(s)){let u=o.get(c.id)??[];u.push(s),o.set(c.id,u)}if(jd(s)){let u=i.get(c.id)??[];u.push(s),i.set(c.id,u)}}return{areaByFile:n,filesByAreaId:r,testFilesByAreaId:o,docFilesByAreaId:i}}async function Ud(t,e="full"){let n=t.workspaceRoot,r=await Hn(n,e),o=er(t.overview),i=t.dirtyPaths?Array.from(new Set(t.dirtyPaths.map(f=>j(f)))).sort((f,l)=>f.localeCompare(l)):void 0,s=i?Gt(i):void 0,c=(i??[]).filter(f=>ht.has(hi.extname(f).toLowerCase())).sort((f,l)=>f.localeCompare(l)),d=[];for(let f of c)await Bn(hi.join(n,f))&&d.push(f);let u=d.length>0?await wt(n,d,new Map,t.overview.areas,e):void 0;return{analysisProfile:e,workspaceRoot:n,storageRoot:r,workspaceSnapshot:o,overviewGeneratedAt:t.overview.generatedAt,overviewFingerprint:Jn(t.overview,t.inventory?.allFiles??t.overview.areas.flatMap(f=>f.sampleFiles)),dirtyPaths:i,dirtyPathsFingerprint:s,dirtySourcePaths:c,dirtySourceStateMap:u,dirtySourceFingerprint:i?yt(u?Array.from(u.values()).sort((f,l)=>f.filePath.localeCompare(l.filePath)):[]):void 0}}async function gi(t,e,n,r,o="full"){let i=[];for(let s of e){let c=j(s),d=await Ph.stat(hi.join(t,c)),u=N(c);i.push({filePath:c,fileFingerprint:Md(c,d.size,d.mtimeMs),language:u,moduleId:n.get(c)?.id??ce(c,r).id,analyzerVersion:Id(u,o)})}return i.sort((s,c)=>s.filePath.localeCompare(c.filePath))}async function wt(t,e,n,r,o="full"){let i=Array.from(new Set(Array.from(e,c=>j(c)))).sort((c,d)=>c.localeCompare(d)),s=await gi(t,i,n,r,o);return new Map(s.map(c=>[c.filePath,c]))}function Vd(t){return t?{importPaths:t.importPaths,symbols:t.symbols.map(e=>({id:e.id,name:e.name,qualifiedName:e.qualifiedName,kind:e.kind,line:e.line,signature:e.signature,exported:e.exported,calls:e.calls,confidence:e.confidence}))}:null}function Dd(t,e,n){return n?{filePath:t,moduleId:e.moduleId,language:e.language,capabilityTier:B(e.language),importPaths:n.importPaths,symbols:n.symbols.map(r=>({...r,filePath:t,moduleId:e.moduleId,language:e.language,capabilityTier:B(e.language),importPaths:n.importPaths,callTargets:[]}))}:null}function yi(t){return{typeScriptFiles:t.filter(e=>ot(N(e))),pythonFiles:t.filter(e=>N(e)==="python"),goFiles:t.filter(e=>N(e)==="go"),rustFiles:t.filter(e=>N(e)==="rust"),fallbackFiles:t.filter(e=>{let n=N(e);return!ot(n)&&n!=="python"&&n!=="go"&&n!=="rust"})}}function ot(t){return t==="typescript"||t==="javascript"}var Bt=p(()=>{"use strict";je();a(Fd,"buildAreaFileLookups");a(Ud,"buildRepoIntelligencePreflight");a(gi,"collectSourceFileStates");a(wt,"collectSourceFileStateMap");a(Vd,"serializeCachedFileAnalysisEntry");a(Dd,"hydrateCachedFileAnalysis");a(yi,"bucketSourceFiles");a(ot,"isTypeScriptLikeLanguage")});function Kd(t,e,n,r){switch(t){case-2:return n<e;case-1:return r>=e&&n<e;case 0:return n<e&&r>e;case 1:return n<=e&&r>e;case 2:return r>e;case 4:return!0}}function Jt(t,e,n,r){for(var o;t.from==t.to||(n<1?t.from>=e:t.from>e)||(n>-1?t.to<=e:t.to<e);){let s=!r&&t instanceof he&&t.index<0?null:t.parent;if(!s)return t;t=s}let i=r?0:q.IgnoreOverlays;if(r)for(let s=t,c=s.parent;c;s=c,c=s.parent)s instanceof he&&s.index<0&&((o=c.enter(e,n,i))===null||o===void 0?void 0:o.from)!=s.from&&(t=c);for(;;){let s=t.enter(e,n,i);if(!s)return t;t=s}}function Yd(t,e,n,r){let o=t.cursor(),i=[];if(!o.firstChild())return i;if(n!=null){for(let s=!1;!s;)if(s=o.type.is(n),!o.nextSibling())return i}for(;;){if(r!=null&&o.type.is(r))return i;if(o.type.is(e)&&i.push(o.node),!o.nextSibling())return r==null?i:[]}}function Pi(t,e,n=e.length-1){for(let r=t;n>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[n]&&e[n]!=r.name)return!1;n--}}return!0}function Gd(t){if(!t.length)return null;let e=0,n=t[0];for(let i=1;i<t.length;i++){let s=t[i];(s.from>n.from||s.to<n.to)&&(n=s,e=i)}let r=n instanceof he&&n.index<0?null:n.parent,o=t.slice();return r?o[e]=r:o.splice(e,1),new Qi(o,n)}function kh(t,e,n){let r=t.resolveInner(e,n),o=null;for(let i=r instanceof he?r:r.context.parent;i;i=i.parent)if(i.index<0){let s=i.parent;(o||(o=[r])).push(s.resolve(e,n)),i=s}else{let s=it.get(i.tree);if(s&&s.overlay&&s.overlay[0].from<=e&&s.overlay[s.overlay.length-1].to>=e){let c=new he(s.tree,s.overlay[0].from+i.from,-1,i);(o||(o=[r])).push(Jt(c,e,n,!1))}}return o?Gd(o):r}function bi(t){return t.children.some(e=>e instanceof Fe||!e.type.isAnonymous||bi(e))}function bh(t){var e;let{buffer:n,nodeSet:r,maxBufferLength:o=1024,reused:i=[],minRepeatType:s=r.types.length}=t,c=Array.isArray(n)?new wi(n,n.length):n,d=r.types,u=0,f=0;function l(b,P,S,$,_,I){let{id:X,start:E,end:M,size:W}=c,F=f,Xe=u;if(W<0)if(c.next(),W==-1){let Pe=i[X];S.push(Pe),$.push(E-b);return}else if(W==-3){u=X;return}else if(W==-4){f=X;return}else throw new RangeError(`Unrecognized record size: ${W}`);let vt=d[X],fn,Ze,ms=E-b;if(M-E<=o&&(Ze=g(c.pos-P,_))){let Pe=new Uint16Array(Ze.size-Ze.skip),ne=c.pos-Ze.size,fe=Pe.length;for(;c.pos>ne;)fe=y(Ze.start,Pe,fe);fn=new Fe(Pe,M-Ze.start,r),ms=Ze.start-b}else{let Pe=c.pos-W;c.next();let ne=[],fe=[],Be=X>=s?X:-1,ct=0,pn=M;for(;c.pos>Pe;)Be>=0&&c.id==Be&&c.size>=0?(c.end<=pn-o&&(w(ne,fe,E,ct,c.end,pn,Be,F,Xe),ct=ne.length,pn=c.end),c.next()):I>2500?O(E,Pe,ne,fe):l(E,Pe,ne,fe,Be,I+1);if(Be>=0&&ct>0&&ct<ne.length&&w(ne,fe,E,ct,E,pn,Be,F,Xe),ne.reverse(),fe.reverse(),Be>-1&&ct>0){let hs=h(vt,Xe);fn=xi(vt,ne,fe,0,ne.length,0,M-E,hs,hs)}else fn=Q(vt,ne,fe,M-E,F-M,Xe)}S.push(fn),$.push(ms)}a(l,"takeNode");function O(b,P,S,$){let _=[],I=0,X=-1;for(;c.pos>P;){let{id:E,start:M,end:W,size:F}=c;if(F>4)c.next();else{if(X>-1&&M<X)break;X<0&&(X=W-o),_.push(E,M,W),I++,c.next()}}if(I){let E=new Uint16Array(I*4),M=_[_.length-2];for(let W=_.length-3,F=0;W>=0;W-=3)E[F++]=_[W],E[F++]=_[W+1]-M,E[F++]=_[W+2]-M,E[F++]=F;S.push(new Fe(E,_[2]-M,r)),$.push(M-b)}}a(O,"takeFlatNode");function h(b,P){return(S,$,_)=>{let I=0,X=S.length-1,E,M;if(X>=0&&(E=S[X])instanceof Y){if(!X&&E.type==b&&E.length==_)return E;(M=E.prop(A.lookAhead))&&(I=$[X]+E.length+M)}return Q(b,S,$,_,I,P)}}a(h,"makeBalanced");function w(b,P,S,$,_,I,X,E,M){let W=[],F=[];for(;b.length>$;)W.push(b.pop()),F.push(P.pop()+S-_);b.push(Q(r.types[X],W,F,I-_,E-I,M)),P.push(_-S)}a(w,"makeRepeatLeaf");function Q(b,P,S,$,_,I,X){if(I){let E=[A.contextHash,I];X=X?[E].concat(X):[E]}if(_>25){let E=[A.lookAhead,_];X=X?[E].concat(X):[E]}return new Y(b,P,S,$,X)}a(Q,"makeTree");function g(b,P){let S=c.fork(),$=0,_=0,I=0,X=S.end-o,E={size:0,start:0,skip:0};e:for(let M=S.pos-b;S.pos>M;){let W=S.size;if(S.id==P&&W>=0){E.size=$,E.start=_,E.skip=I,I+=4,$+=4,S.next();continue}let F=S.pos-W;if(W<0||F<M||S.start<X)break;let Xe=S.id>=s?4:0,vt=S.start;for(S.next();S.pos>F;){if(S.size<0)if(S.size==-3||S.size==-4)Xe+=4;else break e;else S.id>=s&&(Xe+=4);S.next()}_=vt,$+=W,I+=Xe}return(P<0||$==b)&&(E.size=$,E.start=_,E.skip=I),E.size>4?E:void 0}a(g,"findBufferSize");function y(b,P,S){let{id:$,start:_,end:I,size:X}=c;if(c.next(),X>=0&&$<s){let E=S;if(X>4){let M=c.pos-(X-4);for(;c.pos>M;)S=y(b,P,S)}P[--S]=E,P[--S]=I-b,P[--S]=_-b,P[--S]=$}else X==-3?u=$:X==-4&&(f=$);return S}a(y,"copyToBuffer");let k=[],T=[];for(;c.pos>0;)l(t.start||0,t.bufferStart||0,k,T,-1,0);let v=(e=t.length)!==null&&e!==void 0?e:k.length?T[0]+k[0].length:0;return new Y(d[t.topID],k.reverse(),T.reverse(),v)}function rr(t,e){if(!t.isAnonymous||e instanceof Fe||e.type!=t)return 1;let n=Ld.get(e);if(n==null){n=1;for(let r of e.children){if(r.type!=t||!(r instanceof Y)){n=1;break}n+=rr(t,r)}Ld.set(e,n)}return n}function xi(t,e,n,r,o,i,s,c,d){let u=0;for(let w=r;w<o;w++)u+=rr(t,e[w]);let f=Math.ceil(u*1.5/8),l=[],O=[];function h(w,Q,g,y,k){for(let T=g;T<y;){let v=T,b=Q[T],P=rr(t,w[T]);for(T++;T<y;T++){let S=rr(t,w[T]);if(P+S>=f)break;P+=S}if(T==v+1){if(P>f){let S=w[v];h(S.children,S.positions,0,S.children.length,Q[v]+k);continue}l.push(w[v])}else{let S=Q[T-1]+w[T-1].length-b;l.push(xi(t,w,Q,v,T,b,S,null,d))}O.push(b+k-i)}}return a(h,"divide"),h(e,n,r,o,0),(c||d)(l,O,s)}var Sh,Ht,A,it,Qh,oe,or,nr,Nd,q,Y,wi,Fe,ir,he,Si,en,Qi,tn,Ld,sr,ki,xM,Ti=p(()=>{Sh=0,Ht=class{static{a(this,"Range")}constructor(e,n){this.from=e,this.to=n}},A=class{static{a(this,"NodeProp")}constructor(e={}){this.id=Sh++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=oe.match(e)),n=>{let r=e(n);return r===void 0?null:[this,r]}}};A.closedBy=new A({deserialize:a(t=>t.split(" "),"deserialize")});A.openedBy=new A({deserialize:a(t=>t.split(" "),"deserialize")});A.group=new A({deserialize:a(t=>t.split(" "),"deserialize")});A.isolate=new A({deserialize:a(t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"},"deserialize")});A.contextHash=new A({perNode:!0});A.lookAhead=new A({perNode:!0});A.mounted=new A({perNode:!0});it=class{static{a(this,"MountedTree")}constructor(e,n,r,o=!1){this.tree=e,this.overlay=n,this.parser=r,this.bracketed=o}static get(e){return e&&e.props&&e.props[A.mounted.id]}},Qh=Object.create(null),oe=class t{static{a(this,"NodeType")}constructor(e,n,r,o=0){this.name=e,this.props=n,this.id=r,this.flags=o}static define(e){let n=e.props&&e.props.length?Object.create(null):Qh,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),o=new t(e.name||"",n,e.id,r);if(e.props){for(let i of e.props)if(Array.isArray(i)||(i=i(o)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");n[i[0].id]=i[1]}}return o}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let n=this.prop(A.group);return n?n.indexOf(e)>-1:!1}return this.id==e}static match(e){let n=Object.create(null);for(let r in e)for(let o of r.split(" "))n[o]=e[r];return r=>{for(let o=r.prop(A.group),i=-1;i<(o?o.length:0);i++){let s=n[i<0?r.name:o[i]];if(s)return s}}}};oe.none=new oe("",Object.create(null),0,8);or=class t{static{a(this,"NodeSet")}constructor(e){this.types=e;for(let n=0;n<e.length;n++)if(e[n].id!=n)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let n=[];for(let r of this.types){let o=null;for(let i of e){let s=i(r);if(s){o||(o=Object.assign({},r.props));let c=s[1],d=s[0];d.combine&&d.id in o&&(c=d.combine(o[d.id],c)),o[d.id]=c}}n.push(o?new oe(r.name,o,r.id,r.flags):r)}return new t(n)}},nr=new WeakMap,Nd=new WeakMap;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays",t[t.EnterBracketed=16]="EnterBracketed"})(q||(q={}));Y=class t{static{a(this,"Tree")}constructor(e,n,r,o,i){if(this.type=e,this.children=n,this.positions=r,this.length=o,this.props=null,i&&i.length){this.props=Object.create(null);for(let[s,c]of i)this.props[typeof s=="number"?s:s.id]=c}}toString(){let e=it.get(this);if(e&&!e.overlay)return e.tree.toString();let n="";for(let r of this.children){let o=r.toString();o&&(n&&(n+=","),n+=o)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(n.length?"("+n+")":""):n}cursor(e=0){return new tn(this.topNode,e)}cursorAt(e,n=0,r=0){let o=nr.get(this)||this.topNode,i=new tn(o);return i.moveTo(e,n),nr.set(this,i._tree),i}get topNode(){return new he(this,0,0,null)}resolve(e,n=0){let r=Jt(nr.get(this)||this.topNode,e,n,!1);return nr.set(this,r),r}resolveInner(e,n=0){let r=Jt(Nd.get(this)||this.topNode,e,n,!0);return Nd.set(this,r),r}resolveStack(e,n=0){return kh(this,e,n)}iterate(e){let{enter:n,leave:r,from:o=0,to:i=this.length}=e,s=e.mode||0,c=(s&q.IncludeAnonymous)>0;for(let d=this.cursor(s|q.IncludeAnonymous);;){let u=!1;if(d.from<=i&&d.to>=o&&(!c&&d.type.isAnonymous||n(d)!==!1)){if(d.firstChild())continue;u=!0}for(;u&&r&&(c||!d.type.isAnonymous)&&r(d),!d.nextSibling();){if(!d.parent())return;u=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let n in this.props)e.push([+n,this.props[n]]);return e}balance(e={}){return this.children.length<=8?this:xi(oe.none,this.children,this.positions,0,this.children.length,0,this.length,(n,r,o)=>new t(this.type,n,r,o,this.propValues),e.makeTree||((n,r,o)=>new t(oe.none,n,r,o)))}static build(e){return bh(e)}};Y.empty=new Y(oe.none,[],[],0);wi=class t{static{a(this,"FlatBufferCursor")}constructor(e,n){this.buffer=e,this.index=n}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new t(this.buffer,this.index)}},Fe=class t{static{a(this,"TreeBuffer")}constructor(e,n,r){this.buffer=e,this.length=n,this.set=r}get type(){return oe.none}toString(){let e=[];for(let n=0;n<this.buffer.length;)e.push(this.childString(n)),n=this.buffer[n+3];return e.join(",")}childString(e){let n=this.buffer[e],r=this.buffer[e+3],o=this.set.types[n],i=o.name;if(/\W/.test(i)&&!o.isError&&(i=JSON.stringify(i)),e+=4,r==e)return i;let s=[];for(;e<r;)s.push(this.childString(e)),e=this.buffer[e+3];return i+"("+s.join(",")+")"}findChild(e,n,r,o,i){let{buffer:s}=this,c=-1;for(let d=e;d!=n&&!(Kd(i,o,s[d+1],s[d+2])&&(c=d,r>0));d=s[d+3]);return c}slice(e,n,r){let o=this.buffer,i=new Uint16Array(n-e),s=0;for(let c=e,d=0;c<n;){i[d++]=o[c++],i[d++]=o[c++]-r;let u=i[d++]=o[c++]-r;i[d++]=o[c++]-e,s=Math.max(s,u)}return new t(i,s,this.set)}};a(Kd,"checkSide");a(Jt,"resolveNode");ir=class{static{a(this,"BaseNode")}cursor(e=0){return new tn(this,e)}getChild(e,n=null,r=null){let o=Yd(this,e,n,r);return o.length?o[0]:null}getChildren(e,n=null,r=null){return Yd(this,e,n,r)}resolve(e,n=0){return Jt(this,e,n,!1)}resolveInner(e,n=0){return Jt(this,e,n,!0)}matchContext(e){return Pi(this.parent,e)}enterUnfinishedNodesBefore(e){let n=this.childBefore(e),r=this;for(;n;){let o=n.lastChild;if(!o||o.to!=n.to)break;o.type.isError&&o.from==o.to?(r=n,n=o.prevSibling):n=o}return r}get node(){return this}get next(){return this.parent}},he=class t extends ir{static{a(this,"TreeNode")}constructor(e,n,r,o){super(),this._tree=e,this.from=n,this.index=r,this._parent=o}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,n,r,o,i=0){for(let s=this;;){for(let{children:c,positions:d}=s._tree,u=n>0?c.length:-1;e!=u;e+=n){let f=c[e],l=d[e]+s.from,O;if(!(!(i&q.EnterBracketed&&f instanceof Y&&(O=it.get(f))&&!O.overlay&&O.bracketed&&r>=l&&r<=l+f.length)&&!Kd(o,r,l,l+f.length))){if(f instanceof Fe){if(i&q.ExcludeBuffers)continue;let h=f.findChild(0,f.buffer.length,n,r-l,o);if(h>-1)return new en(new Si(s,f,e,l),null,h)}else if(i&q.IncludeAnonymous||!f.type.isAnonymous||bi(f)){let h;if(!(i&q.IgnoreMounts)&&(h=it.get(f))&&!h.overlay)return new t(h.tree,l,e,s);let w=new t(f,l,e,s);return i&q.IncludeAnonymous||!w.type.isAnonymous?w:w.nextChild(n<0?f.children.length-1:0,n,r,o,i)}}}if(i&q.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+n:e=n<0?-1:s._parent._tree.children.length,s=s._parent,!s))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,n,r=0){let o;if(!(r&q.IgnoreOverlays)&&(o=it.get(this._tree))&&o.overlay){let i=e-this.from,s=r&q.EnterBracketed&&o.bracketed;for(let{from:c,to:d}of o.overlay)if((n>0||s?c<=i:c<i)&&(n<0||s?d>=i:d>i))return new t(o.tree,o.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,n,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};a(Yd,"getChildren");a(Pi,"matchNodeContext");Si=class{static{a(this,"BufferContext")}constructor(e,n,r,o){this.parent=e,this.buffer=n,this.index=r,this.start=o}},en=class t extends ir{static{a(this,"BufferNode")}get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,n,r){super(),this.context=e,this._parent=n,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,n,r){let{buffer:o}=this.context,i=o.findChild(this.index+4,o.buffer[this.index+3],e,n-this.context.start,r);return i<0?null:new t(this.context,this,i)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,n,r=0){if(r&q.ExcludeBuffers)return null;let{buffer:o}=this.context,i=o.findChild(this.index+4,o.buffer[this.index+3],n>0?1:-1,e-this.context.start,n);return i<0?null:new t(this.context,this,i)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,n=e.buffer[this.index+3];return n<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new t(this.context,this._parent,n):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,n=this._parent?this._parent.index+4:0;return this.index==n?this.externalSibling(-1):new t(this.context,this._parent,e.findChild(n,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],n=[],{buffer:r}=this.context,o=this.index+4,i=r.buffer[this.index+3];if(i>o){let s=r.buffer[this.index+1];e.push(r.slice(o,i,s)),n.push(0)}return new Y(this.type,e,n,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};a(Gd,"iterStack");Qi=class{static{a(this,"StackIterator")}constructor(e,n){this.heads=e,this.node=n}get next(){return Gd(this.heads)}};a(kh,"stackIterator");tn=class{static{a(this,"TreeCursor")}get name(){return this.type.name}constructor(e,n=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=n&~q.EnterBracketed,e instanceof he)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,n){this.index=e;let{start:r,buffer:o}=this.buffer;return this.type=n||o.set.types[o.buffer[e]],this.from=r+o.buffer[e+1],this.to=r+o.buffer[e+2],!0}yield(e){return e?e instanceof he?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,n,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,n,r,this.mode));let{buffer:o}=this.buffer,i=o.findChild(this.index+4,o.buffer[this.index+3],e,n-this.buffer.start,r);return i<0?!1:(this.stack.push(this.index),this.yieldBuf(i))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,n,r=this.mode){return this.buffer?r&q.ExcludeBuffers?!1:this.enterChild(1,e,n):this.yield(this._tree.enter(e,n,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&q.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&q.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:n}=this.buffer,r=this.stack.length-1;if(e<0){let o=r<0?0:this.stack[r]+4;if(this.index!=o)return this.yieldBuf(n.findChild(o,this.index,-1,0,4))}else{let o=n.buffer[this.index+3];if(o<(r<0?n.buffer.length:n.buffer[this.stack[r]+3]))return this.yieldBuf(o)}return r<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let n,r,{buffer:o}=this;if(o){if(e>0){if(this.index<o.buffer.buffer.length)return!1}else for(let i=0;i<this.index;i++)if(o.buffer.buffer[i+3]<this.index)return!1;({index:n,parent:r}=o)}else({index:n,_parent:r}=this._tree);for(;r;{index:n,_parent:r}=r)if(n>-1)for(let i=n+e,s=e<0?-1:r._tree.children.length;i!=s;i+=e){let c=r._tree.children[i];if(this.mode&q.IncludeAnonymous||c instanceof Fe||!c.type.isAnonymous||bi(c))return!1}return!0}move(e,n){if(n&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,n=0){for(;(this.from==this.to||(n<1?this.from>=e:this.from>e)||(n>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,n););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,n=null,r=0;if(e&&e.context==this.buffer)e:for(let o=this.index,i=this.stack.length;i>=0;){for(let s=e;s;s=s._parent)if(s.index==o){if(o==this.index)return s;n=s,r=i+1;break e}o=this.stack[--i]}for(let o=r;o<this.stack.length;o++)n=new en(this.buffer,n,this.stack[o]);return this.bufferNode=new en(this.buffer,n,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,n){for(let r=0;;){let o=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){r++;continue}this.type.isAnonymous||(o=!0)}for(;;){if(o&&n&&n(this),o=this.type.isAnonymous,!r)return;if(this.nextSibling())break;this.parent(),r--,o=!0}}}matchContext(e){if(!this.buffer)return Pi(this.node.parent,e);let{buffer:n}=this.buffer,{types:r}=n.set;for(let o=e.length-1,i=this.stack.length-1;o>=0;i--){if(i<0)return Pi(this._tree,e,o);let s=r[n.buffer[this.stack[i]]];if(!s.isAnonymous){if(e[o]&&e[o]!=s.name)return!1;o--}}return!0}};a(bi,"hasChild");a(bh,"buildTree");Ld=new WeakMap;a(rr,"nodeSize");a(xi,"balanceRange");sr=class{static{a(this,"Parser")}startParse(e,n,r){return typeof e=="string"&&(e=new ki(e)),r=r?r.length?r.map(o=>new Ht(o.from,o.to)):[new Ht(0,0)]:[new Ht(0,e.length)],this.createParse(e,n||[],r)}parse(e,n,r){let o=this.startParse(e,n,r);for(;;){let i=o.advance();if(i)return i}}},ki=class{static{a(this,"StringInput")}constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,n){return this.string.slice(e,n)}},xM=new A({perNode:!0})});function nn(t,e=Uint16Array){if(typeof t!="string")return t;let n=null;for(let r=0,o=0;r<t.length;){let i=0;for(;;){let s=t.charCodeAt(r++),c=!1;if(s==126){i=65535;break}s>=92&&s--,s>=34&&s--;let d=s-32;if(d>=46&&(d-=46,c=!0),i+=d,c)break;i*=46}n?n[o++]=i:n=new e(i)}return n}function tl(t,e,n,r,o,i){let s=0,c=1<<r,{dialect:d}=n.p.parser;e:for(;(c&t[s])!=0;){let u=t[s+1];for(let h=s+3;h<u;h+=2)if((t[h+1]&c)>0){let w=t[h];if(d.allows(w)&&(e.token.value==-1||e.token.value==w||Th(w,e.token.value,o,i))){e.acceptToken(w);break}}let f=e.next,l=0,O=t[s+2];if(e.next<0&&O>l&&t[u+O*3-3]==65535){s=t[u+O*3-1];continue e}for(;l<O;){let h=l+O>>1,w=u+h+(h<<1),Q=t[w],g=t[w+1]||65536;if(f<Q)O=h;else if(f>=g)l=h+1;else{s=t[w+2],e.advance();continue e}}break}}function Bd(t,e,n){for(let r=e,o;(o=t[r])!=65535;r++)if(o==n)return r-e;return-1}function Th(t,e,n,r){let o=Bd(n,r,e);return o<0||Bd(n,r,t)<o}function Hd(t,e,n){let r=t.cursor(q.IncludeAnonymous);for(r.moveTo(e);;)if(!(n<0?r.childBefore(e):r.childAfter(e)))for(;;){if((n<0?r.to<e:r.from>e)&&!r.type.isError)return n<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(t.length,Math.max(r.from+1,e+25));if(n<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return n<0?0:t.length}}function Jd(t,e){for(let n=0;n<e.length;n++){let r=e[n];if(r.pos==t.pos&&r.sameState(t)){e[n].score<t.score&&(e[n]=t);return}}e.push(t)}function be(t,e){return t[e]|t[e+1]<<16}function vh(t){let e=null;for(let n of t){let r=n.p.stoppedAt;(n.pos==n.p.stream.end||r!=null&&n.pos>r)&&n.p.parser.stateFlag(n.state,2)&&(!e||e.score<n.score)&&(e=n)}return e}function el(t){if(t.external){let e=t.extend?1:0;return(n,r)=>t.external(n,r)<<1|e}return t.get}var $i,ar,_i,Ei,Pt,Zd,Xi,Ue,rn,te,ee,vi,Ci,Ii,Ai,Mi,Ri,St,Ve,cr=p(()=>{Ti();$i=class t{static{a(this,"Stack")}constructor(e,n,r,o,i,s,c,d,u,f=0,l){this.p=e,this.stack=n,this.state=r,this.reducePos=o,this.pos=i,this.score=s,this.buffer=c,this.bufferBase=d,this.curContext=u,this.lookAhead=f,this.parent=l}toString(){return`[${this.stack.filter((e,n)=>n%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,n,r=0){let o=e.parser.context;return new t(e,[],n,r,r,0,[],0,o?new ar(o,o.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,n){this.stack.push(this.state,n,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var n;let r=e>>19,o=e&65535,{parser:i}=this.p,s=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),c=i.dynamicPrecedence(o);if(c&&(this.score+=c),r==0){o<i.minRepeatTerm&&this.reducePos<this.pos&&(this.reducePos=this.pos),this.pushState(i.getGoto(this.state,o,!0),this.reducePos),o<i.minRepeatTerm&&this.storeNode(o,this.reducePos,this.reducePos,s?8:4,!0),this.reduceContext(o,this.reducePos);return}let d=this.stack.length-(r-1)*3-(e&262144?6:0),u=d?this.stack[d-2]:this.p.ranges[0].from;o<i.minRepeatTerm&&u==this.reducePos&&this.reducePos<this.pos&&(this.reducePos=this.pos);let f=this.reducePos-u;f>=2e3&&!(!((n=this.p.parser.nodeSet.types[o])===null||n===void 0)&&n.isAnonymous)&&(u==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=f):this.p.lastBigReductionSize<f&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=u,this.p.lastBigReductionSize=f));let l=d?this.stack[d-1]:0,O=this.bufferBase+this.buffer.length-l;if(o<i.minRepeatTerm||e&131072){let h=i.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(o,u,h,O+4,!0)}if(e&262144)this.state=this.stack[d];else{let h=this.stack[d-3];this.state=i.getGoto(h,o,!0)}for(;this.stack.length>d;)this.stack.pop();this.reduceContext(o,u)}storeNode(e,n,r,o=4,i=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let s=this.buffer.length;if(s>0&&this.buffer[s-4]==0&&this.buffer[s-1]>-1){if(n==r)return;if(this.buffer[s-2]>=n){this.buffer[s-2]=r;return}}}if(!i||this.pos==r)this.buffer.push(e,n,r,o);else{let s=this.buffer.length;if(s>0&&(this.buffer[s-4]!=0||this.buffer[s-1]<0)){let c=!1;for(let d=s;d>0&&this.buffer[d-2]>r;d-=4)if(this.buffer[d-1]>=0){c=!0;break}if(c)for(;s>0&&this.buffer[s-2]>r;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,o>4&&(o-=4)}this.buffer[s]=e,this.buffer[s+1]=n,this.buffer[s+2]=r,this.buffer[s+3]=o}}shift(e,n,r,o){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let i=e,{parser:s}=this.p;this.pos=o;let c=s.stateFlag(i,1);!c&&(o>r||n<=s.maxNode)&&(this.reducePos=o),this.pushState(i,c?r:Math.min(r,this.reducePos)),this.shiftContext(n,r),n<=s.maxNode&&this.buffer.push(n,r,o,4)}else this.pos=o,this.shiftContext(n,r),n<=this.p.parser.maxNode&&this.buffer.push(n,r,o,4)}apply(e,n,r,o){e&65536?this.reduce(e):this.shift(e,n,r,o)}useNode(e,n){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let o=this.pos;this.reducePos=this.pos=o+e.length,this.pushState(n,o),this.buffer.push(r,o,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,n=e.buffer.length;for(n&&e.buffer[n-4]==0&&(n-=4);n>0&&e.buffer[n-2]>e.reducePos;)n-=4;let r=e.buffer.slice(n),o=e.bufferBase+n;for(;e&&o==e.bufferBase;)e=e.parent;return new t(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,o,this.curContext,this.lookAhead,e)}recoverByDelete(e,n){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,n,4),this.storeNode(0,this.pos,n,r?8:4),this.pos=this.reducePos=n,this.score-=190}canShift(e){for(let n=new _i(this);;){let r=this.p.parser.stateSlot(n.state,4)||this.p.parser.hasAction(n.state,e);if(r==0)return!1;if((r&65536)==0)return!0;n.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let n=this.p.parser.nextStates(this.state);if(n.length>8||this.stack.length>=120){let o=[];for(let i=0,s;i<n.length;i+=2)(s=n[i+1])!=this.state&&this.p.parser.hasAction(s,e)&&o.push(n[i],s);if(this.stack.length<120)for(let i=0;o.length<8&&i<n.length;i+=2){let s=n[i+1];o.some((c,d)=>d&1&&c==s)||o.push(n[i],s)}n=o}let r=[];for(let o=0;o<n.length&&r.length<4;o+=2){let i=n[o+1];if(i==this.state)continue;let s=this.split();s.pushState(i,this.pos),s.storeNode(0,s.pos,s.pos,4,!0),s.shiftContext(n[o],this.pos),s.reducePos=this.pos,s.score-=200,r.push(s)}return r}forceReduce(){let{parser:e}=this.p,n=e.stateSlot(this.state,5);if((n&65536)==0)return!1;if(!e.validAction(this.state,n)){let r=n>>19,o=n&65535,i=this.stack.length-r*3;if(i<0||e.getGoto(this.stack[i],o,!1)<0){let s=this.findForcedReduction();if(s==null)return!1;n=s}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(n),!0}findForcedReduction(){let{parser:e}=this.p,n=[],r=a((o,i)=>{if(!n.includes(o))return n.push(o),e.allActions(o,s=>{if(!(s&393216))if(s&65536){let c=(s>>19)-i;if(c>1){let d=s&65535,u=this.stack.length-c*3;if(u>=0&&e.getGoto(this.stack[u],d,!1)>=0)return c<<19|65536|d}}else{let c=r(s,i+1);if(c!=null)return c}})},"explore");return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let n=0;n<this.stack.length;n+=3)if(this.stack[n]!=e.stack[n])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(n)))}reduceContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(n)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let n=new ar(this.curContext.tracker,e);n.hash!=this.curContext.hash&&this.emitContext(),this.curContext=n}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},ar=class{static{a(this,"StackContext")}constructor(e,n){this.tracker=e,this.context=n,this.hash=e.strict?e.hash(n):0}},_i=class{static{a(this,"SimulatedStack")}constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let n=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let o=this.start.p.parser.getGoto(this.stack[this.base-3],n,!0);this.state=o}},Ei=class t{static{a(this,"StackBufferCursor")}constructor(e,n,r){this.stack=e,this.pos=n,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,n=e.bufferBase+e.buffer.length){return new t(e,n,n-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new t(this.stack,this.pos,this.index)}};a(nn,"decodeArray");Pt=class{static{a(this,"CachedToken")}constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Zd=new Pt,Xi=class{static{a(this,"InputStream")}constructor(e,n){this.input=e,this.ranges=n,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Zd,this.rangeIndex=0,this.pos=this.chunkPos=n[0].from,this.range=n[0],this.end=n[n.length-1].to,this.readNext()}resolveOffset(e,n){let r=this.range,o=this.rangeIndex,i=this.pos+e;for(;i<r.from;){if(!o)return null;let s=this.ranges[--o];i-=r.from-s.to,r=s}for(;n<0?i>r.to:i>=r.to;){if(o==this.ranges.length-1)return null;let s=this.ranges[++o];i+=s.from-r.to,r=s}return i}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let n of this.ranges)if(n.to>e)return Math.max(e,n.from);return this.end}peek(e){let n=this.chunkOff+e,r,o;if(n>=0&&n<this.chunk.length)r=this.pos+e,o=this.chunk.charCodeAt(n);else{let i=this.resolveOffset(e,1);if(i==null)return-1;if(r=i,r>=this.chunk2Pos&&r<this.chunk2Pos+this.chunk2.length)o=this.chunk2.charCodeAt(r-this.chunk2Pos);else{let s=this.rangeIndex,c=this.range;for(;c.to<=r;)c=this.ranges[++s];this.chunk2=this.input.chunk(this.chunk2Pos=r),r+this.chunk2.length>c.to&&(this.chunk2=this.chunk2.slice(0,c.to-r)),o=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),o}acceptToken(e,n=0){let r=n?this.resolveOffset(n,-1):this.pos;if(r==null||r<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=r}acceptTokenTo(e,n){this.token.value=e,this.token.end=n}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:n}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=n,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),n=this.pos+e.length;this.chunk=n>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,n){if(n?(this.token=n,n.start=e,n.lookAhead=e+1,n.value=n.extended=-1):this.token=Zd,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,n){if(e>=this.chunkPos&&n<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,n-this.chunkPos);if(e>=this.chunk2Pos&&n<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,n-this.chunk2Pos);if(e>=this.range.from&&n<=this.range.to)return this.input.read(e,n);let r="";for(let o of this.ranges){if(o.from>=n)break;o.to>e&&(r+=this.input.read(Math.max(o.from,e),Math.min(o.to,n)))}return r}},Ue=class{static{a(this,"TokenGroup")}constructor(e,n){this.data=e,this.id=n}token(e,n){let{parser:r}=n.p;tl(this.data,e,n,this.id,r.data,r.tokenPrecTable)}};Ue.prototype.contextual=Ue.prototype.fallback=Ue.prototype.extend=!1;rn=class{static{a(this,"LocalTokenGroup")}constructor(e,n,r){this.precTable=n,this.elseToken=r,this.data=typeof e=="string"?nn(e):e}token(e,n){let r=e.pos,o=0;for(;;){let i=e.next<0,s=e.resolveOffset(1,1);if(tl(this.data,e,n,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(i||o++,s==null)break;e.reset(s,e.token)}o&&(e.reset(r,e.token),e.acceptToken(this.elseToken,o))}};rn.prototype.contextual=Ue.prototype.fallback=Ue.prototype.extend=!1;te=class{static{a(this,"ExternalTokenizer")}constructor(e,n={}){this.token=e,this.contextual=!!n.contextual,this.fallback=!!n.fallback,this.extend=!!n.extend}};a(tl,"readToken");a(Bd,"findOffset");a(Th,"overrides");ee=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),vi=null;a(Hd,"cutAt");Ci=class{static{a(this,"FragmentCursor")}constructor(e,n){this.fragments=e,this.nodeSet=n,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Hd(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Hd(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let n=this.trees.length-1;if(n<0)return this.nextFragment(),null;let r=this.trees[n],o=this.index[n];if(o==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let i=r.children[o],s=this.start[n]+r.positions[o];if(s>e)return this.nextStart=s,null;if(i instanceof Y){if(s==e){if(s<this.safeFrom)return null;let c=s+i.length;if(c<=this.safeTo){let d=i.prop(A.lookAhead);if(!d||c+d<this.fragment.to)return i}}this.index[n]++,s+i.length>=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(s),this.index.push(0))}else this.index[n]++,this.nextStart=s+i.length}}},Ii=class{static{a(this,"TokenCache")}constructor(e,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new Pt)}getActions(e){let n=0,r=null,{parser:o}=e.p,{tokenizers:i}=o,s=o.stateSlot(e.state,3),c=e.curContext?e.curContext.hash:0,d=0;for(let u=0;u<i.length;u++){if((1<<u&s)==0)continue;let f=i[u],l=this.tokens[u];if(!(r&&!f.fallback)&&((f.contextual||l.start!=e.pos||l.mask!=s||l.context!=c)&&(this.updateCachedToken(l,f,e),l.mask=s,l.context=c),l.lookAhead>l.end+25&&(d=Math.max(l.lookAhead,d)),l.value!=0)){let O=n;if(l.extended>-1&&(n=this.addActions(e,l.extended,l.end,n)),n=this.addActions(e,l.value,l.end,n),!f.extend&&(r=l,n>O))break}}for(;this.actions.length>n;)this.actions.pop();return d&&e.setLookAhead(d),!r&&e.pos==this.stream.end&&(r=new Pt,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,n=this.addActions(e,r.value,r.end,n)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let n=new Pt,{pos:r,p:o}=e;return n.start=r,n.end=Math.min(r+1,o.stream.end),n.value=r==o.stream.end?o.parser.eofTerm:0,n}updateCachedToken(e,n,r){let o=this.stream.clipPos(r.pos);if(n.token(this.stream.reset(o,e),r),e.value>-1){let{parser:i}=r.p;for(let s=0;s<i.specialized.length;s++)if(i.specialized[s]==e.value){let c=i.specializers[s](this.stream.read(e.start,e.end),r);if(c>=0&&r.p.parser.dialect.allows(c>>1)){(c&1)==0?e.value=c>>1:e.extended=c>>1;break}}}else e.value=0,e.end=this.stream.clipPos(o+1)}putAction(e,n,r,o){for(let i=0;i<o;i+=3)if(this.actions[i]==e)return o;return this.actions[o++]=e,this.actions[o++]=n,this.actions[o++]=r,o}addActions(e,n,r,o){let{state:i}=e,{parser:s}=e.p,{data:c}=s;for(let d=0;d<2;d++)for(let u=s.stateSlot(i,d?2:1);;u+=3){if(c[u]==65535)if(c[u+1]==1)u=be(c,u+2);else{o==0&&c[u+1]==2&&(o=this.putAction(be(c,u+2),n,r,o));break}c[u]==n&&(o=this.putAction(be(c,u+1),n,r,o))}return o}},Ai=class{static{a(this,"Parse")}constructor(e,n,r,o){this.parser=e,this.input=n,this.ranges=o,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Xi(n,o),this.tokens=new Ii(e,this.stream),this.topTerm=e.top[1];let{from:i}=o[0];this.stacks=[$i.start(this,e.top[0],i)],this.fragments=r.length&&this.stream.end-i>e.bufferLength*4?new Ci(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,n=this.minStackPos,r=this.stacks=[],o,i;if(this.bigReductionCount>300&&e.length==1){let[s]=e;for(;s.forceReduce()&&s.stack.length&&s.stack[s.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;s<e.length;s++){let c=e[s];for(;;){if(this.tokens.mainToken=null,c.pos>n)r.push(c);else{if(this.advanceStack(c,r,e))continue;{o||(o=[],i=[]),o.push(c);let d=this.tokens.getMainToken(c);i.push(d.value,d.end)}}break}}if(!r.length){let s=o&&vh(o);if(s)return ee&&console.log("Finish with "+this.stackID(s)),this.stackToTree(s);if(this.parser.strict)throw ee&&o&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&o){let s=this.stoppedAt!=null&&o[0].pos>this.stoppedAt?o[0]:this.runRecovery(o,i,r);if(s)return ee&&console.log("Force-finish "+this.stackID(s)),this.stackToTree(s.forceAll())}if(this.recovering){let s=this.recovering==1?1:this.recovering*3;if(r.length>s)for(r.sort((c,d)=>d.score-c.score);r.length>s;)r.pop();r.some(c=>c.reducePos>n)&&this.recovering--}else if(r.length>1){e:for(let s=0;s<r.length-1;s++){let c=r[s];for(let d=s+1;d<r.length;d++){let u=r[d];if(c.sameState(u)||c.buffer.length>500&&u.buffer.length>500)if((c.score-u.score||c.buffer.length-u.buffer.length)>0)r.splice(d--,1);else{r.splice(s--,1);continue e}}}r.length>12&&(r.sort((s,c)=>c.score-s.score),r.splice(12,r.length-12))}this.minStackPos=r[0].pos;for(let s=1;s<r.length;s++)r[s].pos<this.minStackPos&&(this.minStackPos=r[s].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,n,r){let o=e.pos,{parser:i}=this,s=ee?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&o>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let u=e.curContext&&e.curContext.tracker.strict,f=u?e.curContext.hash:0;for(let l=this.fragments.nodeAt(o);l;){let O=this.parser.nodeSet.types[l.type.id]==l.type?i.getGoto(e.state,l.type.id):-1;if(O>-1&&l.length&&(!u||(l.prop(A.contextHash)||0)==f))return e.useNode(l,O),ee&&console.log(s+this.stackID(e)+` (via reuse of ${i.getName(l.type.id)})`),!0;if(!(l instanceof Y)||l.children.length==0||l.positions[0]>0)break;let h=l.children[0];if(h instanceof Y&&l.positions[0]==0)l=h;else break}}let c=i.stateSlot(e.state,4);if(c>0)return e.reduce(c),ee&&console.log(s+this.stackID(e)+` (via always-reduce ${i.getName(c&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let d=this.tokens.getActions(e);for(let u=0;u<d.length;){let f=d[u++],l=d[u++],O=d[u++],h=u==d.length||!r,w=h?e:e.split(),Q=this.tokens.mainToken;if(w.apply(f,l,Q?Q.start:w.pos,O),ee&&console.log(s+this.stackID(w)+` (via ${(f&65536)==0?"shift":`reduce of ${i.getName(f&65535)}`} for ${i.getName(l)} @ ${o}${w==e?"":", split"})`),h)return!0;w.pos>o?n.push(w):r.push(w)}return!1}advanceFully(e,n){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return Jd(e,n),!0}}runRecovery(e,n,r){let o=null,i=!1;for(let s=0;s<e.length;s++){let c=e[s],d=n[s<<1],u=n[(s<<1)+1],f=ee?this.stackID(c)+" -> ":"";if(c.deadEnd&&(i||(i=!0,c.restart(),ee&&console.log(f+this.stackID(c)+" (restarted)"),this.advanceFully(c,r))))continue;let l=c.split(),O=f;for(let h=0;h<10&&l.forceReduce()&&(ee&&console.log(O+this.stackID(l)+" (via force-reduce)"),!this.advanceFully(l,r));h++)ee&&(O=this.stackID(l)+" -> ");for(let h of c.recoverByInsert(d))ee&&console.log(f+this.stackID(h)+" (via recover-insert)"),this.advanceFully(h,r);this.stream.end>c.pos?(u==c.pos&&(u++,d=0),c.recoverByDelete(d,u),ee&&console.log(f+this.stackID(c)+` (via recover-delete ${this.parser.getName(d)})`),Jd(c,r)):(!o||o.score<l.score)&&(o=l)}return o}stackToTree(e){return e.close(),Y.build({buffer:Ei.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let n=(vi||(vi=new WeakMap)).get(e);return n||vi.set(e,n=String.fromCodePoint(this.nextStackID++)),n+e}};a(Jd,"pushStackDedup");Mi=class{static{a(this,"Dialect")}constructor(e,n,r){this.source=e,this.flags=n,this.disabled=r}allows(e){return!this.disabled||this.disabled[e]==0}},Ri=a(t=>t,"id"),St=class{static{a(this,"ContextTracker")}constructor(e){this.start=e.start,this.shift=e.shift||Ri,this.reduce=e.reduce||Ri,this.reuse=e.reuse||Ri,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},Ve=class t extends sr{static{a(this,"LRParser")}constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let n=e.nodeNames.split(" ");this.minRepeatTerm=n.length;for(let c=0;c<e.repeatNodeCount;c++)n.push("");let r=Object.keys(e.topRules).map(c=>e.topRules[c][1]),o=[];for(let c=0;c<n.length;c++)o.push([]);function i(c,d,u){o[c].push([d,d.deserialize(String(u))])}if(a(i,"setProp"),e.nodeProps)for(let c of e.nodeProps){let d=c[0];typeof d=="string"&&(d=A[d]);for(let u=1;u<c.length;){let f=c[u++];if(f>=0)i(f,d,c[u++]);else{let l=c[u+-f];for(let O=-f;O>0;O--)i(c[u++],d,l);u++}}}this.nodeSet=new or(n.map((c,d)=>oe.define({name:d>=this.minRepeatTerm?void 0:c,id:d,props:o[d],top:r.indexOf(d)>-1,error:d==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(d)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let s=nn(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let c=0;c<this.specializerSpecs.length;c++)this.specialized[c]=this.specializerSpecs[c].term;this.specializers=this.specializerSpecs.map(el),this.states=nn(e.states,Uint32Array),this.data=nn(e.stateData),this.goto=nn(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(c=>typeof c=="number"?new Ue(s,c):c),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,n,r){let o=new Ai(this,e,n,r);for(let i of this.wrappers)o=i(o,e,n,r);return o}getGoto(e,n,r=!1){let o=this.goto;if(n>=o[0])return-1;for(let i=o[n+1];;){let s=o[i++],c=s&1,d=o[i++];if(c&&r)return d;for(let u=i+(s>>1);i<u;i++)if(o[i]==e)return d;if(c)return-1}}hasAction(e,n){let r=this.data;for(let o=0;o<2;o++)for(let i=this.stateSlot(e,o?2:1),s;;i+=3){if((s=r[i])==65535)if(r[i+1]==1)s=r[i=be(r,i+2)];else{if(r[i+1]==2)return be(r,i+2);break}if(s==n||s==0)return be(r,i+1)}return 0}stateSlot(e,n){return this.states[e*6+n]}stateFlag(e,n){return(this.stateSlot(e,0)&n)>0}validAction(e,n){return!!this.allActions(e,r=>r==n?!0:null)}allActions(e,n){let r=this.stateSlot(e,4),o=r?n(r):void 0;for(let i=this.stateSlot(e,1);o==null;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=be(this.data,i+2);else break;o=n(be(this.data,i+1))}return o}nextStates(e){let n=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=be(this.data,r+2);else break;if((this.data[r+2]&1)==0){let o=this.data[r+1];n.some((i,s)=>s&1&&i==o)||n.push(this.data[r],o)}}return n}configure(e){let n=Object.assign(Object.create(t.prototype),this);if(e.props&&(n.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);n.top=r}return e.tokenizers&&(n.tokenizers=this.tokenizers.map(r=>{let o=e.tokenizers.find(i=>i.from==r);return o?o.to:r})),e.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((r,o)=>{let i=e.specializers.find(c=>c.from==r.external);if(!i)return r;let s=Object.assign(Object.assign({},r),{external:i.to});return n.specializers[o]=el(s),s})),e.contextTracker&&(n.context=e.contextTracker),e.dialect&&(n.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(n.strict=e.strict),e.wrap&&(n.wrappers=n.wrappers.concat(e.wrap)),e.bufferLength!=null&&(n.bufferLength=e.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let n=this.dynamicPrecedences;return n==null?0:n[e]||0}parseDialect(e){let n=Object.keys(this.dialects),r=n.map(()=>!1);if(e)for(let i of e.split(" ")){let s=n.indexOf(i);s>=0&&(r[s]=!0)}let o=null;for(let i=0;i<n.length;i++)if(!r[i])for(let s=this.dialects[n[i]],c;(c=this.data[s++])!=65535;)(o||(o=new Uint8Array(this.maxTerm+1)))[c]=1;return new Mi(e,r,o)}static deserialize(e){return new t(e)}};a(be,"pair");a(vh,"findFinished");a(el,"getSpecializer")});function _h(t,e){return t.length==e.length&&t.every((n,r)=>n==e[r])}function Eh(t){let e=[[]];for(let n=0;n<t.length;n++)for(let r=0,o=e.length;r<o;r++)e.push(e[r].concat(t[n]));return e.sort((n,r)=>r.length-n.length)}function kt(t){let e=Object.create(null);for(let n in t){let r=t[n];Array.isArray(r)||(r=[r]);for(let o of n.split(" "))if(o){let i=[],s=2,c=o;for(let l=0;;){if(c=="..."&&l>0&&l+3==o.length){s=1;break}let O=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(c);if(!O)throw new RangeError("Invalid path: "+o);if(i.push(O[0]=="*"?"":O[0][0]=='"'?JSON.parse(O[0]):O[0]),l+=O[0].length,l==o.length)break;let h=o[l++];if(l==o.length&&h=="!"){s=0;break}if(h!="/")throw new RangeError("Invalid path: "+o);c=o.slice(l)}let d=i.length-1,u=i[d];if(!u)throw new RangeError("Invalid path: "+o);let f=new Qt(r,s,d>0?i.slice(0,d):null);e[u]=f.sort(e[u])}}return Xh.add(e)}function Ch(t,e){let n=Object.create(null);for(let i of t)if(!Array.isArray(i.tag))n[i.tag.id]=i.class;else for(let s of i.tag)n[s.id]=i.class;let{scope:r,all:o=null}=e||{};return{style:a(i=>{let s=o;for(let c of i)for(let d of c.set){let u=n[d.id];if(u){s=s?s+" "+u:u;break}}return s},"style"),scope:r}}var Rh,de,$h,fr,Xh,Qt,x,dr,De,nl,rl,Ne,lr,Wi,we,st,ge,ye,zi,on,ur,m,XM,pr=p(()=>{Ti();Rh=0,de=class t{static{a(this,"Tag")}constructor(e,n,r,o){this.name=e,this.set=n,this.base=r,this.modified=o,this.id=Rh++}toString(){let{name:e}=this;for(let n of this.modified)n.name&&(e=`${n.name}(${e})`);return e}static define(e,n){let r=typeof e=="string"?e:"?";if(e instanceof t&&(n=e),n?.base)throw new Error("Can not derive from a modified tag");let o=new t(r,[],null,[]);if(o.set.push(o),n)for(let i of n.set)o.set.push(i);return o}static defineModifier(e){let n=new fr(e);return r=>r.modified.indexOf(n)>-1?r:fr.get(r.base||r,r.modified.concat(n).sort((o,i)=>o.id-i.id))}},$h=0,fr=class t{static{a(this,"Modifier")}constructor(e){this.name=e,this.instances=[],this.id=$h++}static get(e,n){if(!n.length)return e;let r=n[0].instances.find(c=>c.base==e&&_h(n,c.modified));if(r)return r;let o=[],i=new de(e.name,o,e,n);for(let c of n)c.instances.push(i);let s=Eh(n);for(let c of e.set)if(!c.modified.length)for(let d of s)o.push(t.get(c,d));return i}};a(_h,"sameArray");a(Eh,"powerSet");a(kt,"styleTags");Xh=new A({combine(t,e){let n,r,o;for(;t||e;){if(!t||e&&t.depth>=e.depth?(o=e,e=e.next):(o=t,t=t.next),n&&n.mode==o.mode&&!o.context&&!n.context)continue;let i=new Qt(o.tags,o.mode,o.context);n?n.next=i:r=i,n=i}return r}}),Qt=class{static{a(this,"Rule")}constructor(e,n,r,o){this.tags=e,this.mode=n,this.context=r,this.next=o}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};Qt.empty=new Qt([],2,null);a(Ch,"tagHighlighter");x=de.define,dr=x(),De=x(),nl=x(De),rl=x(De),Ne=x(),lr=x(Ne),Wi=x(Ne),we=x(),st=x(we),ge=x(),ye=x(),zi=x(),on=x(zi),ur=x(),m={comment:dr,lineComment:x(dr),blockComment:x(dr),docComment:x(dr),name:De,variableName:x(De),typeName:nl,tagName:x(nl),propertyName:rl,attributeName:x(rl),className:x(De),labelName:x(De),namespace:x(De),macroName:x(De),literal:Ne,string:lr,docString:x(lr),character:x(lr),attributeValue:x(lr),number:Wi,integer:x(Wi),float:x(Wi),bool:x(Ne),regexp:x(Ne),escape:x(Ne),color:x(Ne),url:x(Ne),keyword:ge,self:x(ge),null:x(ge),atom:x(ge),unit:x(ge),modifier:x(ge),operatorKeyword:x(ge),controlKeyword:x(ge),definitionKeyword:x(ge),moduleKeyword:x(ge),operator:ye,derefOperator:x(ye),arithmeticOperator:x(ye),logicOperator:x(ye),bitwiseOperator:x(ye),compareOperator:x(ye),updateOperator:x(ye),definitionOperator:x(ye),typeOperator:x(ye),controlOperator:x(ye),punctuation:zi,separator:x(zi),bracket:on,angleBracket:x(on),squareBracket:x(on),paren:x(on),brace:x(on),content:we,heading:st,heading1:x(st),heading2:x(st),heading3:x(st),heading4:x(st),heading5:x(st),heading6:x(st),contentSeparator:x(we),list:x(we),quote:x(we),emphasis:x(we),strong:x(we),link:x(we),monospace:x(we),strikethrough:x(we),inserted:x(),deleted:x(),changed:x(),invalid:x(),meta:ur,documentMeta:x(ur),annotation:x(ur),processingInstruction:x(ur),definition:de.defineModifier("definition"),constant:de.defineModifier("constant"),function:de.defineModifier("function"),standard:de.defineModifier("standard"),local:de.defineModifier("local"),special:de.defineModifier("special")};for(let t in m){let e=m[t];e instanceof de&&(e.name=t)}XM=Ch([{tag:m.link,class:"tok-link"},{tag:m.heading,class:"tok-heading"},{tag:m.emphasis,class:"tok-emphasis"},{tag:m.strong,class:"tok-strong"},{tag:m.keyword,class:"tok-keyword"},{tag:m.atom,class:"tok-atom"},{tag:m.bool,class:"tok-bool"},{tag:m.url,class:"tok-url"},{tag:m.labelName,class:"tok-labelName"},{tag:m.inserted,class:"tok-inserted"},{tag:m.deleted,class:"tok-deleted"},{tag:m.literal,class:"tok-literal"},{tag:m.string,class:"tok-string"},{tag:m.number,class:"tok-number"},{tag:[m.regexp,m.escape,m.special(m.string)],class:"tok-string2"},{tag:m.variableName,class:"tok-variableName"},{tag:m.local(m.variableName),class:"tok-variableName tok-local"},{tag:m.definition(m.variableName),class:"tok-variableName tok-definition"},{tag:m.special(m.variableName),class:"tok-variableName2"},{tag:m.definition(m.propertyName),class:"tok-propertyName tok-definition"},{tag:m.typeName,class:"tok-typeName"},{tag:m.namespace,class:"tok-namespace"},{tag:m.className,class:"tok-className"},{tag:m.macroName,class:"tok-macroName"},{tag:m.propertyName,class:"tok-propertyName"},{tag:m.operator,class:"tok-operator"},{tag:m.comment,class:"tok-comment"},{tag:m.meta,class:"tok-meta"},{tag:m.invalid,class:"tok-invalid"},{tag:m.punctuation,class:"tok-punctuation"}])});var Ih,Ah,Mh,Wh,zh,qh,jh,Fh,Uh,Vh,Dh,Nh,Yh,Lh,Kh,Gh,Zh,Bh,ol,Hh,Jh,eg,tg,ng,rg,og,il,sl=p(()=>{cr();pr();Ih=177,Ah=179,Mh=184,Wh=12,zh=13,qh=17,jh=20,Fh=25,Uh=53,Vh=95,Dh=142,Nh=144,Yh=145,Lh=148,Kh=10,Gh=13,Zh=32,Bh=9,ol=47,Hh=41,Jh=125,eg=new te((t,e)=>{for(let n=0,r=t.next;(e.context&&(r<0||r==Kh||r==Gh||r==ol&&t.peek(n+1)==ol)||r==Hh||r==Jh)&&t.acceptToken(Ih),!(r!=Zh&&r!=Bh);)r=t.peek(++n)},{contextual:!0}),tg=new Set([Vh,Mh,jh,Wh,qh,Nh,Yh,Dh,Lh,zh,Uh,Fh]),ng=new St({start:!1,shift:a((t,e)=>e==Ah?t:tg.has(e),"shift")}),rg=kt({"func interface struct chan map const type var":m.definitionKeyword,"import package":m.moduleKeyword,"switch for go select return break continue goto fallthrough case if else defer":m.controlKeyword,range:m.keyword,Bool:m.bool,String:m.string,Rune:m.character,Number:m.number,Nil:m.null,VariableName:m.variableName,DefName:m.definition(m.variableName),TypeName:m.typeName,LabelName:m.labelName,FieldName:m.propertyName,"FunctionDecl/DefName":m.function(m.definition(m.variableName)),"TypeSpec/DefName":m.definition(m.typeName),"CallExpr/VariableName":m.function(m.variableName),LineComment:m.lineComment,BlockComment:m.blockComment,LogicOp:m.logicOperator,ArithOp:m.arithmeticOperator,BitOp:m.bitwiseOperator,"DerefOp .":m.derefOperator,"UpdateOp IncDecOp":m.updateOperator,CompareOp:m.compareOperator,"= :=":m.definitionOperator,"<-":m.operator,'~ "*"':m.modifier,"; ,":m.separator,"... :":m.punctuation,"( )":m.paren,"[ ]":m.squareBracket,"{ }":m.brace}),og={__proto__:null,package:10,import:18,true:380,false:380,nil:383,struct:48,func:68,interface:78,chan:94,map:118,make:157,new:159,const:204,type:212,var:224,if:236,else:238,switch:242,case:248,default:250,for:260,range:266,go:270,select:274,return:284,break:288,continue:290,goto:292,fallthrough:296,defer:300},il=Ve.deserialize({version:14,states:"!=xO#{QQOOP$SOQOOO&UQTO'#CbO&]QRO'#FlO]QQOOOOQP'#Cn'#CnOOQP'#Co'#CoO&eQQO'#C|O(kQQO'#C{O)]QRO'#GiO+tQQO'#D_OOQP'#Ge'#GeO+{QQO'#GeO.aQTO'#GaO.hQQO'#D`OOQP'#Gm'#GmO.mQRO'#GdO/hQQO'#DgOOQP'#Gd'#GdO/uQQO'#DrO2bQQO'#DsO4QQTO'#GqO,^QTO'#GaO4XQQO'#DxO4^QQO'#D{OOQO'#EQ'#EQOOQO'#ER'#EROOQO'#ES'#ESOOQO'#ET'#ETO4cQQO'#EPO5}QQO'#EPOOQP'#Ga'#GaO6UQQO'#E`O6^QQO'#EcOOQP'#G`'#G`O6cQQO'#EsOOQP'#G_'#G_O&]QRO'#FnOOQO'#Fn'#FnO9QQQO'#G^QOQQOOO&]QROOO9XQQO'#C`O9^QSO'#CdO9lQQO'#C}O9tQQO'#DSO9yQQO'#D[O:kQQO'#CsO:pQQO'#DhO:uQQO'#EeO:}QQO'#EiO;VQQO'#EoO;_QQO'#EuO<uQQO'#ExO<|QQO'#FRO4cQQO'#FWO=WQQO'#FYO=]QRO'#F_O=jQRO'#FaO=uQQO'#FaOOQP'#Fe'#FeO4cQQO'#FgP=zOWO'#C^POOO)CAz)CAzOOQO'#G]'#G]OOQO,5<W,5<WOOQO-E9j-E9jO?TQTO'#CqOOQO'#C|'#C|OOQP,59g,59gO?tQQO'#D_O@fQSO'#FuO@kQQO'#C}O@pQQO'#D[O9XQQO'#FqO@uQRO,5=TOAyQQO,59yOCVQSO,5:[O@kQQO'#C}OCaQQO'#DjOOQP,59^,59^OOQO,5<a,5<aO?tQQO'#DeOOQO,5:e,5:eOOQO-E9s-E9sOOQP,59z,59zOOQP,59|,59|OCqQSO,5:QO(kQQO,5:ROC{QQO,5:RO&]QRO'#FxOOQO'#Fx'#FxOFjQQO'#GpOFwQQO,5:^OF|QQO,5:_OHdQQO,5:`OHlQQO,5:aOHvQRO'#FyOIaQRO,5=]OIuQQO'#DzOOQP,5:d,5:dOOQO'#EV'#EVOOQO'#EW'#EWOOQO'#EX'#EXOOQO'#EZ'#EZOOQO'#E['#E[O4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:wOOQP,5:x,5:xO?tQQO'#EOOOQP,5:g,5:gOOQP,5:k,5:kO9yQQO,59vO4cQQO,5:zO4cQQO,5:}OI|QRO,5;_OOQO,5<Y,5<YOOQO-E9l-E9lO]QQOOOOQP'#Cb'#CbOOQP,58z,58zOOQP'#Cf'#CfOJWQQO'#CfOJ]QSO'#CkOOQP,59O,59OOJkQQO'#DPOLZQQO,5<UOLbQQO,59iOLsQQO,5<TOMpQQO'#DUOOQP,59n,59nOOQP,59v,59vONfQQO,59vONmQQO'#CwOOQP,59_,59_O?tQQO,5:SONxQRO'#EgO! VQQO'#EhOOQP,5;P,5;PO! |QQO'#EkO!!WQQO'#EnOOQP,5;T,5;TO!!`QRO'#EqO!!mQQO'#ErOOQP,5;Z,5;ZO!!uQTO'#CbO!!|QTO,5;aO&]QRO,5;aO!#WQQO,5;jO!$yQTO,5;dO!%WQQO'#EzOOQP,5;d,5;dO&]QRO,5;dO!%cQSO,5;mO!%mQQO'#E`O!%uQQO'#EcO!%zQQO'#FTO!&UQQO'#FTOOQP,5;m,5;mO!&ZQQO,5;mO!&`QTO,5;rO!&mQQO'#F[OOQP,5;t,5;tO!&xQTO'#GqOOQP,5;y,5;yOOQP'#Et'#EtOOQP,5;{,5;{O!']QTO,5<RPOOO'#Fk'#FkP!'jOWO,58xPOOO,58x,58xO!'uQQO,59yO!'zQQO'#GgOOQP,59i,59iO(kQQO,59vOOQP,5<],5<]OOQP-E9o-E9oOOQP1G/e1G/eOOQP1G/v1G/vO!([QSO'#DlO!(lQQO'#DlO!(wQQO'#DkOOQO'#Go'#GoO!(|QQO'#GoO!)UQQO,5:UO!)ZQQO'#GnO!)fQQO,5:PPOQO'#Cq'#CqO(kQQO1G/lOOQP1G/m1G/mO(kQQO1G/mOOQO,5<d,5<dOOQO-E9v-E9vOOQP1G/x1G/xO!)kQSO1G/yOOQP'#Cy'#CyOOQP1G/z1G/zO?tQQO1G/}O!)xQSO1G/{O!*YQQO1G/|O!*gQTO,5<eOOQP-E9w-E9wOOQP,5:f,5:fO!+QQQO,5:fOOQP1G0[1G0[O!,vQTO1G0[O!.wQTO1G0[O!/OQTO1G0[O!0pQTO1G0[O!1QQTO1G0cO!1bQQO,5:jOOQP1G/b1G/bOOQP1G0f1G0fOOQP1G0i1G0iOOQP1G0y1G0yOOQP,59Q,59QO&]QRO'#FmO!1mQSO,59VOOQP,59V,59VOOQO'#DQ'#DQO?tQQO'#DQO!1{QQO'#DQOOQO'#Gh'#GhO!2SQQO'#GhO!2[QQO,59kO!2aQSO'#CqOJkQQO'#DPOOQP,5=R,5=RO@kQQO1G1pOOQP1G/w1G/wO.hQQO'#ElO!2rQRO1G1oO@kQQO1G1oO@kQQO'#DVO?tQQO'#DWOOQP'#Gk'#GkO!2}QRO'#GjOOQP'#Gj'#GjO&]QRO'#FsO!3`QQO,59pOOQP,59p,59pO!3gQRO'#CxO!3uQQO'#CxO!3|QRO'#CxO.hQQO'#CxO&]QRO'#FoO!4XQQO,59cOOQP,59c,59cO!4dQQO1G/nO4cQQO,5;RO!4iQQO,5;RO&]QRO'#FzO!4nQQO,5;SOOQP,5;S,5;SO!6aQQO'#DgO?tQQO,5;VOOQP,5;V,5;VO&]QRO'#F}O!6hQQO,5;YOOQP,5;Y,5;YO!6pQRO,5;]O4cQQO,5;]O&]QRO'#GOO!6{QQO,5;^OOQP,5;^,5;^O!7TQRO1G0{O!7`QQO1G0{O4cQQO1G1UO!8vQQO1G1UOOQP1G1O1G1OO!9OQQO'#GPO!9YQQO,5;fOOQP,5;f,5;fO4cQQO'#E{O!9eQQO'#E{O<uQQO1G1OOOQP1G1X1G1XO!9jQQO,5:zO!9jQQO,5:}O!9tQSO,5;oO!:OQQO,5;oO!:VQQO,5;oO!9OQQO'#GRO!:aQQO,5;vOOQP,5;v,5;vO!<PQQO'#F]O!<WQQO'#F]POOO-E9i-E9iPOOO1G.d1G.dO!<]QQO,5:VO!<gQQO,5=ZO!<tQQO,5=ZOOQP1G/p1G/pO!<|QQO,5=YO!=WQQO,5=YOOQP1G/k1G/kOOQP7+%W7+%WOOQP7+%X7+%XOOQP7+%e7+%eO!=cQQO7+%eO!=hQQO7+%iOOQP7+%g7+%gO!=mQQO7+%gO!=rQQO7+%hO!>PQSO7+%hOOQP7+%h7+%hO4cQQO7+%hOOQP1G0Q1G0QO!>^QQO1G0QOOQP1G0U1G0UO!>fQQO1G0UOF|QQO1G0UOOQO,5<X,5<XOOQO-E9k-E9kOOQP1G.q1G.qOOQO,59l,59lO?tQQO,59lO!?cQQO,5=SO!?jQQO,5=SOOQP1G/V1G/VO!?rQQO,59yO!?}QRO7+'[O!@YQQO'#EmO!@dQQO'#HOO!@lQQO,5;WOOQP7+'Z7+'ZO!@qQRO7+'ZOOQP,59q,59qOOQP,59r,59rOOQO'#DZ'#DZO!@]QQO'#FtO!@|QRO,59tOOQO,5<_,5<_OOQO-E9q-E9qOOQP1G/[1G/[OOQP,59d,59dOHgQQO'#FpO!3uQQO,59dO!A_QRO,59dO!AjQRO,59dOOQO,5<Z,5<ZOOQO-E9m-E9mOOQP1G.}1G.}O(kQQO7+%YOOQP1G0m1G0mO4cQQO1G0mOOQO,5<f,5<fOOQO-E9x-E9xOOQP1G0n1G0nO!AxQQO'#GdOOQP1G0q1G0qOOQO,5<i,5<iOOQO-E9{-E9{OOQP1G0t1G0tO4cQQO1G0wOOQP1G0w1G0wOOQO,5<j,5<jOOQO-E9|-E9|OOQP1G0x1G0xO!B]QQO7+&gO!BeQSO7+&gO!CsQSO7+&pO!CzQQO7+&pOOQO,5<k,5<kOOQO-E9}-E9}OOQP1G1Q1G1QO!DRQQO,5;gOOQO,5;g,5;gO!DWQSO7+&jOOQP7+&j7+&jO!DbQQO7+&pO!7`QQO1G1[O!DgQQO1G1ZOOQO1G1Z1G1ZO!DnQSO1G1ZOOQO,5<m,5<mOOQO-E:P-E:POOQP1G1b1G1bO!DxQSO'#GqO!E]QQO'#F^O!EbQQO'#F^O!EgQQO,5;wOOQO,5;w,5;wO!ElQSO1G/qOOQO1G/q1G/qO!EyQSO'#DoO!FZQQO'#DoO!FfQQO'#DnOOQO,5<c,5<cO!FkQQO1G2uOOQO-E9u-E9uOOQO,5<b,5<bO!FxQQO1G2tOOQO-E9t-E9tOOQP<<IP<<IPOOQP<<IT<<ITOOQP<<IR<<IRO!GSQSO<<ISOOQP<<IS<<ISO4cQQO<<ISO!GaQSO<<ISOOQP7+%l7+%lO!GkQQO7+%lOOQP7+%p7+%pO!GpQQO7+%pO!GuQQO7+%pOOQO1G/W1G/WOOQO,5<^,5<^O!G}QQO1G2nOOQO-E9p-E9pOOQP<<Jv<<JvO.hQQO'#F{O!@YQQO,5;XOOQO,5;X,5;XO!HUQQO,5=jO!H^QQO,5=jOOQO1G0r1G0rOOQP<<Ju<<JuOOQP,5<`,5<`OOQP-E9r-E9rOOQO,5<[,5<[OOQO-E9n-E9nO!HfQRO1G/OOOQP1G/O1G/OOOQP<<Ht<<HtOOQP7+&X7+&XO!HqQQO'#DeOOQP7+&c7+&cOOQP<<JR<<JRO!HxQRO<<JRO!ITQQO<<J[O!I]QQO<<J[OOQO1G1R1G1ROOQP<<JU<<JUO4cQQO<<J[O!IbQSO7+&vOOQO7+&u7+&uO!IlQQO7+&uO4cQQO,5;xOOQO1G1c1G1cO!<]QQO,5:YP!<]QQO'#FwP?tQQO'#FvOOQPAN>nAN>nO4cQQOAN>nO!IsQSOAN>nOOQP<<IW<<IWOOQP<<I[<<I[O!I}QQO<<I[P!>nQQO'#FrOOQO,5<g,5<gOOQO-E9y-E9yOOQO1G0s1G0sOOQO,5<h,5<hO!JVQQO1G3UOOQO-E9z-E9zOOQP7+$j7+$jO!J_QQO'#GnO!B]QQOAN?mO!JjQQOAN?vO!JqQQOAN?vO!KzQSOAN?vOOQO<<Ja<<JaO!LRQSO1G1dO!L]QSO1G/tOOQO1G/t1G/tO!LjQSOG24YOOQPG24YG24YOOQPAN>vAN>vO!LtQQOAN>vP.hQQO'#F|OOQPG25XG25XO!LyQQOG25bO!MOQQO'#FPOOQPG25bG25bO!MZQQOG25bOOQPLD)tLD)tOOQPG24bG24bO!JqQQOLD*|O!9OQQO'#GQO!McQQO,5;kOOQP,5;k,5;kO?tQQO'#FQO!MnQQO'#FQO!MsQQOLD*|OOQP!$'Nh!$'NhOOQO,5<l,5<lOOQO-E:O-E:OOOQP1G1V1G1VO!MzQQO,5;lOOQO,5;l,5;lO!NPQQO!$'NhOOQO1G1W1G1WO!JqQQO!)9DSOOQP!.K9n!.K9nO# {QTO'#CqO#!`QTO'#CqO##}QSO'#CqO#$XQSO'#CqO#&]QSO'#CqO#&gQQO'#FyO#&tQQO'#FyO#'OQQO,5=]O#'ZQQO,5=]O#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO!7`QQO,5:wO!7`QQO,5:zO!7`QQO,5:}O#(yQSO'#CbO#)}QSO'#CbO#*bQSO'#GqO#*rQSO'#GqO#+PQRO'#GgO#+yQSO,5<eO#,ZQSO,5<eO#,hQSO1G0[O#-rQTO1G0[O#-yQSO1G0[O#.TQSO1G0[O#0{QTO1G0[O#1SQSO1G0[O#2eQSO1G0[O#2lQTO1G0[O#2sQSO1G0[O#4XQSO1G0[O#4`QTO1G0[O#4jQSO1G0[O#4wQSO1G0cO#5dQTO'#CqO#5kQTO'#CqO#6bQSO'#GqO#'cQQO'#EPO!7`QQO'#EPOF|QQO'#EPO#8]QQO'#EPO#8gQQO'#EPO#8qQQO'#EPO#8{QQO'#E`O#9TQQO'#EcO@kQQO'#C}O?tQQO,5:RO#9YQQO,59vO#:iQQO,59vO?tQQO,59vO?tQQO1G/lO?tQQO1G/mO?tQQO7+%YO?tQQO'#C{O#:pQQO'#DgO#9YQQO'#D[O#:wQQO'#D[O#:|QSO,5:QO#;WQQO,5:RO#;]QQO1G/nO?tQQO,5:SO#;bQQO'#Dh",stateData:"#;m~O$yOSPOS$zPQ~OVvOX{O[oO^YOaoOdoOh!POjcOr|Ow}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO$v%QP~OTzO~P]O$z!`O~OVeXZeX^eX^!TXj!TXnUXneX!QeX!WeX!W!TX!|eX#ReX#TeX#UeX#WUX$weX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeX~O!a#hX~P$XOV!bO$w!bO~O[!wX^pX^!wXa!wXd!wXhpXh!wXrpXr!wXwpXw!wX!PpX!P!wX!QpX!Q!wX!WpX!W!wX!]pX!]!wX!p!wX!q!wX%OpX%O!wX%U!wX%V!wX%YpX%Y!wX%f!wX%g!wX%h!wX%i!wX%j!wX~O^!hOh!POr!jOw}O!P!OO!Q!kO!WaO!]!QO%O!eO%Y!fO~On!lO#W%]XV%]X^%]Xh%]Xr%]Xw%]X!P%]X!Q%]X!W%]X!]%]X#T%]X$w%]X%O%]X%Y%]Xu%]X~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!WaO!]!QO!phO!qhO%O+wO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!Q-OO~P*aOj!qO^%XX]%XXn%XX!V%XX~O!W!tOV%TXZ%TX^%TXn%TX!Q%TX!W%TX!|%TX#R%TX#T%TX#U%TX$w%TX%Y%TX%`%TX%f%TX%g%TX%i%TX%j%TX%k%TX%l%TX%m%TX%n%TX%o%TX%p%TX%q%TX]%TX!V%TXj%TXi%TX!a%TXu%TX~OZ!sO~P,^O%O!eO~O!W!tO^%WXj%WX]%WXn%WX!V%WXu%WXV%WX$w%WX%`%WX#T%WX[%WX!a%WX~Ou!{O!QnO!V!zO~P*aOV!}O[oO^YOaoOdoOh!POjcOr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlOi%dP~O^#QO~OZ#RO^#VOn#TO!Q#cO!W#SO#R#dO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]OV`X#T%eX#U%eX$w`X~O!|#`O~P2gO^#VO~O^#eO~O!QnO~P*aO[oO^YOaoOdoOh!POr!pOw}O!QnO!WaO!]!QO!phO!qhO%O+wO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!P#hO~P4jO#T#iO#U#iO~O#W#jO~O!a#kO~OVvO[oO^YOaoOdoOh!POjcOr|Ow}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O$v%QX~P6hO%O#oO~OZ#rO[#qO^#sO%O#oO~O^#uO%O#oO~Oj#yO~O^!hOh!POr!jOw}O!P!OO!Q#|O!WaO!]!QO%O!eO%Y!fO~Oj#}O~O!W$PO~O^$RO%O#oO~O^$UO%O#oO~O^$XO%O#oO~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-PO!WaO!]!QO!phO!qhO%O$ZO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~Oj$`O~P;_OV$fOjcO~P;_Oj$kO~O!QnOV$RX$w$RX~P*aO%O$oOV$TX$w$TX~O%O$oO~O${$rO$|$rO$}$tO~OZeX^!TX!W!TXj!TXn!TXh!TXr!TXw!TX{!TX!P!TX!Q!TX!]!TX%O!TX%Y!TX~O]!TX!V!TXu!TX#T!TXV!TX$w!TX%`!TX[!TX!a!TX~P>VO^!hOh!POr-TOw}O!P-_O!Q-`O!W-^O!]-eO%O!eO%Y!fO~OZ!sO~O^#uO~O!P$xO~On!lO#W%]aV%]a^%]ah%]ar%]aw%]a!P%]a!Q%]a!W%]a!]%]a#T%]a$w%]a%O%]a%Y%]au%]a~O]${O^#QO~OZ#RO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O]$|O!|,WO~PBROj!qOn%QO!QnOi%cP~P*aO!V%WO!|#`O~PBRO!V%YO~OV!}O[oO^YOaoOdoOh!POjcOr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~Oi%dX#p%dX#q%dX~PDQOi%]O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-QO!WaO!]!QO!phO!qhO%O+{O%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^%aO%O%_O~O!QnO!a%cO~P*aO!QnOn$mX#T$mX#U$mXV$mX$w$mX!a$mX~P*aOn#TO#T%ea#U%eaV%ea$w%ea!a%ea~O]%fO~PF|OV#ga$w#ga~PDTO[%sO~OZ#rO[#qO]%vO%O#oO~O^!hOh!POn%zOr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO]%[P~O^&OOh!POr!jOw}O!P!OO!Q!kO!WaO!]!QO%Y!fO^%ZXj%ZX~O%O%}O~PKfOjcO^qa]qanqa!Vqa~O^#uO!W&SO~O^!hOh!POr-TOw}O{&WO!P-_O!Q-`O!W-^O!]-eO%O,xO%Y!fO~Oi&^O~PL{O^!hOh!POr!jOw}O!Q!kO!WaO!]!QO%O!eO%Y!fO~O!P#hO~PMwOi&eO%O,yO%Y!fO~O#T&gOV#ZX$w#ZX~P?tO]&kO%O#oO~O^!hOh!POr-TOw}O!P-_O!Q-`O!]-eO%O!eO%Y!fO~O!W&lO#T&mO~P! _O]&qO%O#oO~O#T&sOV#eX$w#eX~P?tO]&vO%O#oO~OjeX~P$XOjcO!|,XO~P2gOn!lO#W&yO#W%]X~O^#VOn#TO!Q#cO!W#SO!|,XO#R#dO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]OV`X#T%eX#U%eX~OZ&zOj$`O$w`X~P!#cOi'OO#p'PO#q'QO~OZ#ROjcO~P!#cO#T'TO#U#iO~O#W'UO~OV'WO!QnO~P*aOV'XO~OjcO~O!|#`OV#za$w#za~PBROi'[O#p']O#q'^O~On#TO!|#`OV%eX$w%eX!a%eX~PBRO!|#`OV$Za$w$Za~PBRO${$rO$|$rO$}'`O~O]${O~O%O!eO]%ZXn%ZX!V%ZX~PKfO!|#`Oi!_Xn!_X!a!`X~PBROi!_Xn!_X!a!`X~O!a'aO~On'bOi%cX~Oi'dO~On'eO!V%bX!a%bX~O!V'gO~O]'jOn'kO!|,YO~PBROn'nO!V'mO!a'oO!|#`O~PBRO!QnO!V'qO!a'rO~P*aO!|#`On$ma#T$ma#U$maV$ma$w$ma!a$ma~PBRO]'sOu'tO~O%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi!|!xi#R!xi#T!xi#U!xi$w!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~O!V!xii!xi!a!xi~P!+YO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi!V!xii!xi!a!xi~O!|!xi~P!-TO!|#`O~P!-TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%q!xi~O!|#`O!V!xii!xi!a!xi~P!/VO!|#`OV#Pi$w#Pi!a#Pi~PBRO]'uOn'wOu'vO~OZ#rO[#qO]'zO%O#oO~Ou'|O~P?tOn'}O]%[X~O](PO~OZeX^mX^!TXj!TX!W!TX~OjcOV$]i$w$]i~O%`(ZOV%^X$w%^Xn%^X!V%^X~Oi(`O~PL{O[(aO!W!tOVlX$wlX~On(bO~P?tO[(aOVlX$wlX~Oi(hO%O,yO%Y!fO~O!V(iO~O#T(kO~O](nO%O#oO~O[oO^YOaoOdoOh!POr!pOu-bOw}O!P!OO!QnO!V-UO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O+zO~P!4vO](sO%O#oO~O#T(tOV#ea$w#ea~O](xO%O#oO~O#k(yOV#ii$w#ii~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-PO!WaO!]!QO!phO!qhO%O+xO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^(|O%O%_O~O#p%dP#q%dP~P/uOi)PO#p'PO#q'QO~O!a)RO~O!QnO#y)VO~P*aOV)WO!|#`O~PBROj#wa~P;_OV)WO!QnO~P*aOi)]O#p']O#q'^O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O,eO~P!:lO!a)bO~Oj!qO!QnO~P*aOj!qO!QnOi%ca~P*aOn)iOi%ca~O!V%ba!a%ba~P?tOn)lO!V%ba!a%ba~O])nO~O])oO~O!V)pO~O!QnO!V)rO!a)sO~P*aO!V)rO!a)sO!|#`O~PBRO])uOn)vO~O])wOn)xO~O^!hOh!POr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO~O]%[a~P!>nOn)|O]%[a~O]${O]tXntX~OjcOV$^q$w$^q~On*PO{&WO~P?tOn*SO!V%rX~O!V*UO~OjcOV$]q$w$]q~O%`(ZOV|a$w|an|a!V|a~O[*]OVla$wla~O[*]O!W!tOVla$wla~On*PO{&WO!W*`O^%WXj%WX~P! _OjcO#j!UO~OjcO!|,XO~PBROZ*dO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O!|#`O~P!BoO#^*eO~P?tO!a*fO~Oj$`O!|,XO~P!BoO#W*hO~Oj#wi~P;_OV*kO!|#`O~PBROn#TO!Q#cO!|#`O!a$QX#T%eX~PBRO#T*lO~O#W*lO~O!a*mO~O!|#`Oi!_in!_i~PBRO!|#`Oi!bXn!bX!a!cX~PBROi!bXn!bX!a!cX~O!a*nO~Oj!qO!QnOi%ci~P*aO!V%bi!a%bi~P?tO!V*qO!a*rO!|#`O~PBRO!V*qO!|#`O~PBRO]*tO~O]*uO~O]*uOu*vO~O]%[i~P!>nO%O!eO!V%ra~On*|O!V%ra~O[+OOVli$wli~O%O+yO~P!4vO#k+QOV#iy$w#iy~O^+RO%O%_O~O]+SO~O!|,XOj#xq~PBROj#wq~P;_O!V+ZO!|#`O~PBRO]+[On+]O~O%O!eO!V%ri~O^#QOn'eO!V%bX~O#^+`O~P?tOj+aO~O^#VO!W#SO!|#`O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~OZ+cO~P!JvO!|#`O!a$Qi~PBRO!|#`Oi!bin!bi~PBRO!V+dO!|#`O~PBRO]+eO~O]+fO~Oi+iO#p+jO#q+kO~O^+lO%O%_O~Oi+pO#p+jO#q+kO~O!a+rO~O#^+sO~P?tO!a+tO~O]+uO~OZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXVeXneX!QeX#ReX#TeX#UeX$weX~O]eX]!TX!VeXieX!aeX~P!NUOjeX~P!NUOZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXn!TX!VeX~O]eX!V!TX~P#!gOh!TXr!TXw!TX{!TX!P!TX!Q!TX!]!TX%O!TX%Y!TX~P#!gOZeX^eX^!TXj!TXneX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeX~O]eXueX~P#$xO]$mXn$mXu$mX~PF|Oj$mXn$mX~P!7`On+|O]%eau%ea~On+}Oj%ea~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-OO!WaO!]!QO!phO!qhO%O+yO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~OZeX]!TX^UXhUXnUXn!TXrUXuUXwUX!PUX!QUX!WUX!W!TX!]UX%OUX%YUX~OnUX!QeX!aeX#TeX#WUX~P#$xOn+|O!|,YO]%eXu%eX~PBROn+}O!|,XOj%eX~PBRO^&OOV%ZXj%ZX$w%ZX]%ZXn%ZX!V%ZXu%ZX%`%ZX#T%ZX[%ZX!a%ZX~P?wO!|,YO]$man$mau$ma~PBRO!|,XOj$man$ma~PBRO%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~Oj!xi~P!+YOn!xiu!xi~P#,hO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%p!xi%q!xi~O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xij!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi~O!|!xi~P#/_On!xiu!xi~P#.TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi%p!xi%q!xi~O!|,WO~P#1^O!|,XO~P#/_O!|,YOn!xiu!xi~P#1^O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OZ!xi]!xi^!xi!W!xi%q!xi~O!|,WO~P#3QO!|,XOj!xi~P!/VO!|,YOn!xiu!xi~P#3QO!|,XOj#Pi~PBROV!TXZeX^mX!W!TX$w!TX~O%`!TX~P#5RO[!TXhmXnmXrmXwmX!PmX!QmX!WmX!]mX%OmX%YmX~P#5ROn#TO!Q,aO!|,XO#R#dOj`X#T%eX#U%eX~PBRO[oO^YOaoOdoOh!POr!pOw}O!P#hO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!Q-OO%O+yO~P#6{O!Q-PO%O+xO~P#6{O!Q-QO%O+{O~P#6{O#T,bO#U,bO~O#W,cO~O^!hOh!POr-TOw}O!P-_O!Q-WO!W-^O!]-eO%O!eO%Y!fO~O^!hOh!POr-TOw}O!Q-`O!W-^O!]-eO%O!eO%Y!fO~O!P-VO~P#9zO%O+wO~P!4vO!P-XO~O!V-YO!|#`O~PBRO!V-ZO~O!V-[O~O!W-dO~OP%ka%Oa~",goto:"!FW%sPP%tP%wP%zP'SP'XPPPP'`'cP'u'uP)w'u-_PPP0j0m0qP1V4b1VP7s8WP1VP8a8d8hP8p8w1VPP1V8{<`?vPPCY-_-_-_PCdCuCxPC{DQ'u'uDV'uES'u'u'u'uGUIW'uPPJR'uJUMjMjMj'u! r! r!#SP!$`!%d!&d'cP'cPP'cP!&yP!'V!'^!&yP!'a!'h!'n!'w!&yP!'z!(R!&y!(U!(fPP!&yP!(x!)UPP!&y!)Y!)c!&yP!)g!)gP!&yP!&yP!)j!)m!&v!&yP!&yPPP!&yP!&yP!)q!)q!)w!)}!*U!*[!*d!*j!*p!*w!*}!+T!+Z!.q!.x!/O!/X!/m!/s!/z!0Q!0W!0^!0d!0jPPPPPPPPP!0p!1f!1k!1{!2kPP!7P!:^P!>u!?Z!?_!@Z!@fP!@p!D_!Df!Di!DuPPPPPPPPPPPP!FSR!aPRyO!WXOScw!R!T!U!W#O#k#n#u$R$X&O&j&u&|'W'Y']'})W)|*k*w+gQ#pzU#r{#s%uQ#x|U$T!S$U&pQ$^!VQ$y!lR)U'RVROS#nQ#t{T%t#s%uR#t{qrOScw!U!V!W#O#k#n&|'W'Y)W*k+g%PoOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%O]OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^#u!iW^!O!h!t!z#e#h#u#v#y#|#}$P$Q$T$W$v$x%W%Y%a%x%y&O&S&W&]&`&b&d&m'e'|'}(S([(c(i(o(|)l)|*P*Q*S*p*w*|+R+^+j+l,h-U-V-W-X-Y-Z-[-]-_-d'cbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR$O!PT&c#}&dW%`#R&z*d+cQ&Q#vS&V#y&]S&`#}&dR*Y(b'cZOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d%fWOSWYacmnw!O!U!V!W!X!Z!_!q!z#O#Q#S#T#V#^#_#`#a#b#c#h#i#j#k#n#v#|$f$v$x%W%Y%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(i(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S&b#}&d!{-]!h!t#e#u#y$P$Q$T$W%a%x%y&O&W&]&`&m'e'|'}(S([(c(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-dQ#v|S$v!j!pU&P#v$v,hZ,h#x&Q&U&V-TS%{#u&OV){'})|*wR#z}T&[#y&]]&X#y&](S([(o*QZ&Z#y&](S(o*QT([&Y(]'s_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d'r_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!w^'bbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&a#}&dR(d&bS!u]fX!x`&_(e(oQ!r[Q%O!qQ)d'aU)f'b)i*oR+X*nR%R!qR%P!qV)h'b)i*oV)g'b)i*odtOScw#O#k#n&|'Y+gQ$h!WQ&R#wQ&w$[S'S$c$iQ(V&TQ*O(RQ*V(WQ*b(yQ*c(zR+_+Q%PfOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%PgOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^!q#Weg!o!y$[$_$c$j$m$q$}%^%b%d%m'V'p(z({)S)Y)^)c)e)q)t*i*s+T+V+W+Y,f,g,i,j,w,z-aR#fh#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z[,V%^,f,i,p,s,v`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q!Y#^e!y$j$m$q$}%b%d%i%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aY,Q!o,k,n,q,tl,R$[$_$c(z)S*i,g,j,l,o,r,u,w,z_,S%^,f,i,m,p,s,v!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z],V%^,f,i,p,s,v!S#ae!y$j$m$q$}%b%d%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aS,Z!o,tf,[$[$_$c(z)S*i,g,j,u,w,zX,]%^,f,i,v!Q#be!y$j$m$q$}%b%d%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aQ,^!od,_$[$_$c(z)S*i,g,j,w,zV,`%^,f,iprOScw!U!V!W#O#k#n&|'W'Y)W*k+gR)a']etOScw#O#k#n&|'Y+gQ$S!RT&i$R&jR$S!RQ$V!ST&o$U&pQ&U#xR&m$TS(T&S&lV*{*S*|+^R$V!SQ$Y!TT&t$X&uR$Y!TdsOScw#O#k#n&|'Y+gT$p![!]dtOScw#O#k#n&|'Y+gQ*b(yR+_+QQ$a!VQ&{$_Q)T'RR*g)ST&|$`&}Q+b+SQ+m+fR+v+uT+g+a+hR$i!WR$l!YT'Y$k'ZXuOSw#nQ$s!`R'_$sSSO#nR!dSQ%u#sR'y%uUwOS#nR#mwQ&d#}R(g&dQ(c&`R*Z(cS!mX$^R$z!mQ(O%{R)}(OQ&]#yR(_&]Q(]&YR*X(]'r^OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!v^S'f%T+PR)m'fQ'c%RR)j'cW#Oc&|'Y+gR%[#O^#Ue$[$_$c$m)^,zU%e#U,O,PQ,O,fR,P,gQ&j$RR(m&jS*Q(S(oR*y*QQ*T(TR*}*TQ&p$UR(r&pQ&u$XR(w&uQ&}$`R)O&}Q+h+aR+o+hQ'Z$kR)['ZQ!cRQ#luQ#nyQ%Z!|Q&x$]Q'R$bQ'x%tQ(^&[Q(f&cQ(l&iQ(q&oR(v&tVxOS#nWuOSw#nY!|c#O&|'Y+gR%r#kdtOScw#O#k#n&|'Y+gQ$]!UQ$b!VQ$g!WQ)X'WQ*j)WR+U*kdeOScw#O#k#n&|'Y+gQ!oYQ!ya`#gmn,{,|,}-O-P-QQ$[!UQ$_!VQ$c!WQ$j!Xd$m!Z#i#j&g&s'P'T'U(k(tQ$q!_Q$}!qQ%^#QQ%b#SQ%d#TW%h#^,Q,R,SQ%i#_Q%j#`Q%k#aQ%l#bQ%m#cQ'V$fQ'p%cQ(z&xQ({&yQ)S'RQ)Y'XQ)^']Q)c'aU)e'b)i*oQ)q'oQ)t'rQ*i)VQ*s)sQ+T*hQ+V*lQ+W*nQ+Y*rS,f#V'wS,g,b,cQ,i+|Q,j+}Q,k,TQ,l,UQ,m,VQ,n,WQ,o,XQ,p,YQ,q,ZQ,r,[Q,s,]Q,t,^Q,u,_Q,v,`Q,w,aU,z'W)W*kV-a&l*`-^#bZW!O!h!t!z#e#h#u#v#y#|$P$Q$T$W$v$x%W%Y%a%x%y&O&W&]&`&m'e'|'}(S([(c(i(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-d%P[OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^$zdOSacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S!gW-]Q!nYS#{!O-_Q$u!hS%T!t+jS%X!z-UQ%n#e[%o#h#|$x-V-W-XW%w#u'})|*wU&P#v$v,h[&X#y&](S([(o*QQ&f$PQ&h$QQ&n$TQ&r$WS'h%W-YS'i%Y-ZW'l%a(|+R+lS'{%x%yQ(Q&OQ(Y&WQ(d&`Q(p&mU)k'e)l*pQ)z'|Q*[(cS*^(i-[Q+P*`R-c-dS#w|!pS$w!j-TQ&T#xQ(R&QQ(W&UR(X&VT%|#u&OhqOScw!U!V#O#k#n&|'Y+gU$Q!R$R&jU$W!T$X&uQ$e!WY%y#u&O'})|*wQ)`']V-S'W)W*kS&[#y&]S*R(S(oR*z*QY&Y#y&](S(o*QR*W(['``OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&_#}&dW(S&S*S*|+^Q(e&bQ(o&lR*x*PS%U!t*`R+q+jR%S!qQ#PcQ(}&|Q)Z'YR+n+ghpOScw!U!V#O#k#n&|'Y+gQ$d!WQ$n!ZQ%g#VU%p#i'T,bU%q#j'U,cQ(j&gQ(u&sQ)Q'PQ)_']Q)y'wQ*_(kQ*a(tV-R'W)W*kT(U&S&l",nodeNames:"\u26A0 LineComment BlockComment SourceFile PackageClause package DefName ; ImportDecl import ImportSpec . String ) ( SpecList ExprStatement Number Bool Nil Rune VariableName TypedLiteral StructType struct } { StructBody FieldDecl FieldName , PointerType * FunctionType func Parameters Parameter ... InterfaceType interface InterfaceBody MethodElem UnderlyingType ~ TypeElem LogicOp ChannelType chan <- ParenthesizedType QualifiedType TypeName ParameterizedType ] [ TypeArgs ArrayType SliceType MapType map LiteralValue Element Key : Element Key ParenthesizedExpr FunctionLiteral Block Conversion SelectorExpr IndexExpr SliceExpr TypeAssertion CallExpr ParameterizedExpr Arguments CallExpr make new Arguments UnaryExp ArithOp LogicOp BitOp DerefOp BinaryExp ArithOp BitOp BitOp CompareOp LogicOp LogicOp SendStatement IncDecStatement IncDecOp Assignment = UpdateOp VarDecl := ConstDecl const ConstSpec SpecList TypeDecl type TypeSpec TypeParams TypeParam SpecList VarDecl var VarSpec SpecList LabeledStatement LabelName IfStatement if else SwitchStatement switch SwitchBlock Case case default TypeSwitchStatement SwitchBlock Case ForStatement for ForClause RangeClause range GoStatement go SelectStatement select SelectBlock Case ReceiveStatement ReturnStatement return GotoStatement break continue goto FallthroughStatement fallthrough DeferStatement defer FunctionDecl MethodDecl",maxTerm:218,context:ng,nodeProps:[["isolate",-3,2,12,20,""],["group",-18,12,17,18,19,20,21,22,66,67,69,70,71,72,73,74,77,81,86,"Expr",-20,16,68,93,94,96,99,101,105,111,115,117,120,126,129,134,136,141,143,147,149,"Statement",-12,23,31,33,38,46,49,50,51,52,56,57,58,"Type"],["openedBy",13,"(",25,"{",53,"["],["closedBy",14,")",26,"}",54,"]"]],propSources:[rg],skippedNodes:[0,1,2,153],repeatNodeCount:23,tokenData:":b~RvXY#iYZ#i]^#ipq#iqr#zrs$Xuv&Pvw&^wx&yxy(qyz(vz{({{|)T|})e}!O)j!O!P)u!P!Q+}!Q!R,y!R![-t![!]2^!]!^2k!^!_2p!_!`3]!`!a3e!c!}3x!}#O4j#P#Q4o#Q#R4t#R#S4|#S#T9X#T#o3x#o#p9q#p#q9v#q#r:W#r#s:]$g;'S3x;'S;=`4d<%lO3x~#nS$y~XY#iYZ#i]^#ipq#iU$PP%hQ!_!`$SS$XO!|S~$^W[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y<%lO$X~${O[~~%ORO;'S$X;'S;=`%X;=`O$X~%^X[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y;=`<%l$X<%lO$X~%|P;=`<%l$X~&UP%l~!_!`&X~&^O#U~~&cR%j~vw&l!_!`&X#Q#R&q~&qO%p~~&vP%o~!_!`&X~'OWd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k<%lO&y~'mOd~~'pRO;'S&y;'S;=`'y;=`O&y~(OXd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k;=`<%l&y<%lO&y~(nP;=`<%l&y~(vO^~~({O]~~)QP%Y~!_!`&X~)YQ%f~{|)`!_!`&X~)eO#R~~)jOn~~)oQ%g~}!O)`!_!`&X~)zRZS!O!P*T!Q![*`#R#S+w~*WP!O!P*Z~*`Ou~Q*eTaQ!Q![*`!g!h*t#R#S+w#X#Y*t#]#^+rQ*wS{|+T}!O+T!Q![+^#R#S+lQ+WQ!Q![+^#R#S+lQ+cRaQ!Q![+^#R#S+l#]#^+rQ+oP!Q![+^Q+wOaQQ+zP!Q![*`~,SR%k~z{,]!P!Q,b!_!`&X~,bO$z~~,gSP~OY,bZ;'S,b;'S;=`,s<%lO,b~,vP;=`<%l,bQ-O[aQ!O!P*`!Q![-t!d!e.c!g!h*t!q!r/Z!z!{/x#R#S.]#U#V.c#X#Y*t#]#^+r#c#d/Z#l#m/xQ-yUaQ!O!P*`!Q![-t!g!h*t#R#S.]#X#Y*t#]#^+rQ.`P!Q![-tQ.fR!Q!R.o!R!S.o#R#S/QQ.tSaQ!Q!R.o!R!S.o#R#S/Q#]#^+rQ/TQ!Q!R.o!R!S.oQ/^Q!Q!Y/d#R#S/rQ/iRaQ!Q!Y/d#R#S/r#]#^+rQ/uP!Q!Y/dQ/{T!O!P0[!Q![1c!c!i1c#R#S2Q#T#Z1cQ0_S!Q![0k!c!i0k#R#S1V#T#Z0kQ0pVaQ!Q![0k!c!i0k!r!s*t#R#S1V#T#Z0k#]#^+r#d#e*tQ1YR!Q![0k!c!i0k#T#Z0kQ1hWaQ!O!P0k!Q![1c!c!i1c!r!s*t#R#S2Q#T#Z1c#]#^+r#d#e*tQ2TR!Q![1c!c!i1c#T#Z1c~2cP!a~!_!`2f~2kO#W~~2pOV~~2uR!|S}!O3O!^!_3T!_!`$S~3TO!Q~~3YP%m~!_!`&X~3bP#T~!_!`$S~3jQ!|S!_!`$S!`!a3p~3uP%n~!_!`&X~3}V%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~4gP;=`<%l3x~4oO!W~~4tO!V~~4yP%i~!_!`&X~5RV%O~!Q![5h!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~5o^aQ%O~!O!P*`!Q![5h!c!g3x!g!h6k!h!}3x#R#S4|#T#X3x#X#Y6k#Y#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~6pX%O~{|+T}!O+T!Q![7]!c!}3x#R#S8P#T#o3x$g;'S3x;'S;=`4d<%lO3x~7dXaQ%O~!Q![7]!c!}3x#R#S8P#T#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~8UV%O~!Q![7]!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~8rVaQ%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~9[TO#S9X#S#T$v#T;'S9X;'S;=`9k<%lO9X~9nP;=`<%l9X~9vOj~~9{Q%`~!_!`&X#p#q:R~:WO%q~~:]Oi~~:bO{~",tokenizers:[eg,1,2,new rn("j~RQYZXz{^~^O$|~~aP!P!Qd~iO$}~~",25,181)],topRules:{SourceFile:[0,3]},dynamicPrecedences:{19:1,51:-1,55:2,69:-1,108:-1},specialized:[{term:184,get:a(t=>og[t]||-1,"get")}],tokenPrec:5451})});function qi(t){return t==at||t==sn}function ji(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function mr(t,e,n){this.parent=t,this.indent=e,this.flags=n,this.hash=(t?t.hash+t.hash<<8:0)+e+(e<<4)+n+(n<<6)}function ay(t){let e=0;for(let n=0;n<t.length;n++)e+=t.charCodeAt(n)==hr?8-e%8:1;return e}function uy(t,e){if(e==Hg)for(let n=0;n<2&&t.next>=48&&t.next<=55;n++)t.advance();else if(e==Jg)for(let n=0;n<2&&ji(t.next);n++)t.advance();else if(e==ty)for(let n=0;n<4&&ji(t.next);n++)t.advance();else if(e==ny)for(let n=0;n<8&&ji(t.next);n++)t.advance();else if(e==ey&&t.next==Fi){for(t.advance();t.next>=0&&t.next!=dl&&t.next!=hl&&t.next!=gl&&t.next!=at;)t.advance();t.next==dl&&t.advance()}}var ig,fl,pl,sg,al,ag,cg,dg,lg,Ol,cl,ug,fg,pg,Og,mg,hg,gg,yg,wg,Pg,Sg,Qg,kg,bg,xg,Tg,vg,Rg,$g,_g,Eg,Xg,Cg,ml,Ig,Ag,Mg,Wg,zg,qg,jg,Fg,Ug,Vg,Dg,Ng,Yg,Lg,Kg,Gg,at,sn,Ui,hr,Vi,Zg,Bg,Fi,dl,hl,gl,ll,Hg,Jg,ey,ty,ny,ry,oy,iy,Or,yl,xe,Te,ve,Re,sy,ul,cy,dy,ly,fy,py,wl,Pl=p(()=>{cr();pr();ig=1,fl=194,pl=195,sg=196,al=197,ag=198,cg=199,dg=200,lg=2,Ol=3,cl=201,ug=24,fg=25,pg=49,Og=50,mg=55,hg=56,gg=57,yg=59,wg=60,Pg=61,Sg=62,Qg=63,kg=65,bg=238,xg=71,Tg=241,vg=242,Rg=243,$g=244,_g=245,Eg=246,Xg=247,Cg=248,ml=72,Ig=249,Ag=250,Mg=251,Wg=252,zg=253,qg=254,jg=255,Fg=256,Ug=73,Vg=77,Dg=263,Ng=112,Yg=130,Lg=151,Kg=152,Gg=155,at=10,sn=13,Ui=32,hr=9,Vi=35,Zg=40,Bg=46,Fi=123,dl=125,hl=39,gl=34,ll=92,Hg=111,Jg=120,ey=78,ty=117,ny=85,ry=new Set([fg,pg,Og,Dg,kg,Yg,hg,gg,bg,Sg,Qg,ml,Ug,Vg,wg,Pg,Lg,Kg,Gg,Ng]);a(qi,"isLineBreak");a(ji,"isHex");oy=new te((t,e)=>{let n;if(t.next<0)t.acceptToken(cg);else if(e.context.flags&Or)qi(t.next)&&t.acceptToken(ag,1);else if(((n=t.peek(-1))<0||qi(n))&&e.canShift(al)){let r=0;for(;t.next==Ui||t.next==hr;)t.advance(),r++;(t.next==at||t.next==sn||t.next==Vi)&&t.acceptToken(al,-r)}else qi(t.next)&&t.acceptToken(sg,1)},{contextual:!0}),iy=new te((t,e)=>{let n=e.context;if(n.flags)return;let r=t.peek(-1);if(r==at||r==sn){let o=0,i=0;for(;;){if(t.next==Ui)o++;else if(t.next==hr)o+=8-o%8;else break;t.advance(),i++}o!=n.indent&&t.next!=at&&t.next!=sn&&t.next!=Vi&&(o<n.indent?t.acceptToken(pl,-i):t.acceptToken(fl))}}),Or=1,yl=2,xe=4,Te=8,ve=16,Re=32;a(mr,"Context");sy=new mr(null,0,0);a(ay,"countIndent");ul=new Map([[Tg,0],[vg,xe],[Rg,Te],[$g,Te|xe],[_g,ve],[Eg,ve|xe],[Xg,ve|Te],[Cg,ve|Te|xe],[Ig,Re],[Ag,Re|xe],[Mg,Re|Te],[Wg,Re|Te|xe],[zg,Re|ve],[qg,Re|ve|xe],[jg,Re|ve|Te],[Fg,Re|ve|Te|xe]].map(([t,e])=>[t,e|yl])),cy=new St({start:sy,reduce(t,e,n,r){return t.flags&Or&&ry.has(e)||(e==xg||e==ml)&&t.flags&yl?t.parent:t},shift(t,e,n,r){return e==fl?new mr(t,ay(r.read(r.pos,n.pos)),0):e==pl?t.parent:e==ug||e==mg||e==yg||e==Ol?new mr(t,0,Or):ul.has(e)?new mr(t,0,ul.get(e)|t.flags&Or):t},hash(t){return t.hash}}),dy=new te(t=>{for(let e=0;e<5;e++){if(t.next!="print".charCodeAt(e))return;t.advance()}if(!/\w/.test(String.fromCharCode(t.next)))for(let e=0;;e++){let n=t.peek(e);if(!(n==Ui||n==hr)){n!=Zg&&n!=Bg&&n!=at&&n!=sn&&n!=Vi&&t.acceptToken(ig);return}}}),ly=new te((t,e)=>{let{flags:n}=e.context,r=n&xe?gl:hl,o=(n&Te)>0,i=!(n&ve),s=(n&Re)>0,c=t.pos;for(;!(t.next<0);)if(s&&t.next==Fi)if(t.peek(1)==Fi)t.advance(2);else{if(t.pos==c){t.acceptToken(Ol,1);return}break}else if(i&&t.next==ll){if(t.pos==c){t.advance();let d=t.next;d>=0&&(t.advance(),uy(t,d)),t.acceptToken(lg);return}break}else if(t.next==ll&&!i&&t.peek(1)>-1)t.advance(2);else if(t.next==r&&(!o||t.peek(1)==r&&t.peek(2)==r)){if(t.pos==c){t.acceptToken(cl,o?3:1);return}break}else if(t.next==at){if(o)t.advance();else if(t.pos==c){t.acceptToken(cl);return}break}else t.advance();t.pos>c&&t.acceptToken(dg)});a(uy,"skipEscape");fy=kt({'async "*" "**" FormatConversion FormatSpec':m.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":m.controlKeyword,"in not and or is del":m.operatorKeyword,"from def class global nonlocal lambda":m.definitionKeyword,import:m.moduleKeyword,"with as print":m.keyword,Boolean:m.bool,None:m.null,VariableName:m.variableName,"CallExpression/VariableName":m.function(m.variableName),"FunctionDefinition/VariableName":m.function(m.definition(m.variableName)),"ClassDefinition/VariableName":m.definition(m.className),PropertyName:m.propertyName,"CallExpression/MemberExpression/PropertyName":m.function(m.propertyName),Comment:m.lineComment,Number:m.number,String:m.string,FormatString:m.special(m.string),Escape:m.escape,UpdateOp:m.updateOperator,"ArithOp!":m.arithmeticOperator,BitOp:m.bitwiseOperator,CompareOp:m.compareOperator,AssignOp:m.definitionOperator,Ellipsis:m.punctuation,At:m.meta,"( )":m.paren,"[ ]":m.squareBracket,"{ }":m.brace,".":m.derefOperator,", ;":m.separator}),py={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},wl=Ve.deserialize({version:14,states:"##jO`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyO<POWO,5:aOOQS,5:a,5:aO<[QdO'#HwOOOW'#Dw'#DwOOOW'#Fz'#FzO<lOWO,5:bOOQS,5:b,5:bOOQS'#F}'#F}O<zQtO,5:iO?lQtO,5=`O@VQ#xO,5=`O@vQtO,5=`OOQS,5:},5:}OA_QeO'#GWOBqQdO,5;^OOQV,5=^,5=^OB|QtO'#IPOCkQdO,5;tOOQS-E:[-E:[OOQV,5;s,5;sO4dQdO'#FQOOQV-E9o-E9oOCsQtO,59]OEzQtO,59iOFeQdO'#HVOFpQdO'#HVO1XQdO'#HVOF{QdO'#DTOGTQdO,59mOGYQdO'#HZO'vQdO'#HZO0rQdO,5=tOOQS,5=t,5=tO0rQdO'#EROOQS'#ES'#ESOGwQdO'#GPOHXQdO,58|OHXQdO,58|O*xQdO,5:oOHgQtO'#H]OOQS,5:r,5:rOOQS,5:z,5:zOHzQdO,5;OOI]QdO'#IOO1XQdO'#H}OOQS,5;Q,5;QOOQS'#GT'#GTOIqQtO,5;QOJPQdO,5;QOJUQdO'#IQOOQS,5;T,5;TOJdQdO'#H|OOQS,5;W,5;WOJuQdO,5;YO4iQdO,5;`O4iQdO,5;cOJ}QtO'#ITO'vQdO'#ITOKXQdO,5;eO4VQdO,5;eO0rQdO,5;jO1XQdO,5;lOK^QeO'#EuOLjQgO,5;fO!!kQdO'#IUO4iQdO,5;jO!!vQdO,5;lO!#OQdO,5;qO!#ZQtO,5;vO'vQdO,5;vPOOO,5=[,5=[P!#bOSO,5=[P!#jOdO,5=[O!&bQtO1G.jO!&iQtO1G.jO!)YQtO1G.jO!)dQtO1G.jO!+}QtO1G.jO!,bQtO1G.jO!,uQdO'#HcO!-TQtO'#GuO0rQdO'#HcO!-_QdO'#HbOOQS,5:Z,5:ZO!-gQdO,5:ZO!-lQdO'#HeO!-wQdO'#HeO!.[QdO,5>OOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5<jOOQS,5<j,5<jOOQS-E9|-E9|OOQS,5<r,5<rOOQS-E:U-E:UOOQV1G0x1G0xO1XQdO'#GRO!7dQtO,5>kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5<k,5<kOOQS-E9}-E9}O!9wQdO1G.hOOQS1G0Z1G0ZO!:VQdO,5=wO!:gQdO,5=wO0rQdO1G0jO0rQdO1G0jO!:xQdO,5>jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!<RQdO,5>lO!<aQdO,5>lO!<oQdO,5>hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5<m,5<mOOQS-E:P-E:POOQS7+&z7+&zOOQS1G3]1G3]OOQS,5<^,5<^OOQS-E9p-E9pOOQS7+$s7+$sO#)bQdO,5=`O#){QdO,5=`O#*^QtO,5<aO#*qQdO1G3cOOQS-E9s-E9sOOQS7+&U7+&UO#+RQdO7+&UO#+aQdO,5<nO#+uQdO1G4UOOQS-E:Q-E:QO#,WQdO1G4UOOQS1G4T1G4TOOQS7+&W7+&WO#,iQdO7+&WOOQS,5<p,5<pO#,tQdO1G4WOOQS-E:S-E:SOOQS,5<l,5<lO#-SQdO1G4SOOQS-E:O-E:OO1XQdO'#EqO#-jQdO'#EqO#-uQdO'#IRO#-}QdO,5;[OOQS7+&`7+&`O0rQdO7+&`O#.SQgO7+&fO!JmQdO'#GXO4iQdO7+&fO4iQdO7+&iO#2QQtO,5<tO'vQdO,5<tO#2[QdO1G4ZOOQS-E:W-E:WO#2fQdO1G4ZO4iQdO7+&kO0rQdO7+&kOOQV7+&p7+&pO!KrQ!fO7+&rO!KzQdO7+&rO`QeO1G0{OOQV-E:X-E:XO4iQdO7+&lO4iQdO7+&lOOQV,5<u,5<uO#2nQdO,5<uO!JmQdO,5<uOOQV7+&l7+&lO#2yQgO7+&lO#6tQdO,5<vO#7PQdO1G4[OOQS-E:Y-E:YO#7^QdO1G4[O#7fQdO'#IWO#7tQdO'#IWO1XQdO'#IWOOQS'#IW'#IWO#8PQdO'#IVOOQS,5;n,5;nO#8XQdO,5;nO0rQdO'#FUOOQV7+&r7+&rO4iQdO7+&rOOQV7+&w7+&wO4iQdO7+&wO#8^QfO,5;xOOQV7+&|7+&|POOO7+(b7+(bO#8cQdO1G3iOOQS,5<c,5<cO#8qQdO1G3hOOQS-E9u-E9uO#9UQdO,5<dO#9aQdO,5<dO#9tQdO1G3kOOQS-E9v-E9vO#:UQdO1G3kO#:^QdO1G3kO#:nQdO1G3kO#:UQdO1G3kOOQS<<H[<<H[O#:yQtO1G1zOOQS<<Hk<<HkP#;WQdO'#FtO8vQdO1G3bO#;eQdO1G3bO#;jQdO<<HkOOQS<<Hl<<HlO#;zQdO7+)QOOQS<<Hs<<HsO#<[QtO1G1yP#<{QdO'#FsO#=YQdO7+)RO#=jQdO7+)RO#=rQdO<<HwO#=wQdO7+({OOQS<<Hy<<HyO#>nQdO,5<bO'vQdO,5<bOOQS-E9t-E9tOOQS<<Hw<<HwOOQS,5<g,5<gO0rQdO,5<gO#>sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<<IpO1XQdO1G2YP1XQdO'#GSO#AOQdO7+)pO#AaQdO7+)pOOQS<<Ir<<IrP1XQdO'#GUP0rQdO'#GQOOQS,5;],5;]O#ArQdO,5>mO#BQQdO,5>mOOQS1G0v1G0vOOQS<<Iz<<IzOOQV-E:V-E:VO4iQdO<<JQOOQV,5<s,5<sO4iQdO,5<sOOQV<<JQ<<JQOOQV<<JT<<JTO#BYQtO1G2`P#BdQdO'#GYO#BkQdO7+)uO#BuQgO<<JVO4iQdO<<JVOOQV<<J^<<J^O4iQdO<<J^O!KrQ!fO<<J^O#FpQgO7+&gOOQV<<JW<<JWO#FzQgO<<JWOOQV1G2a1G2aO1XQdO1G2aO#JuQdO1G2aO4iQdO<<JWO1XQdO1G2bP0rQdO'#G[O#KQQdO7+)vO#K_QdO7+)vOOQS'#FT'#FTO0rQdO,5>rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<<Jc<<JcO#LhQdO1G1dOOQS7+)T7+)TP#LmQdO'#FwO#L}QdO1G2OO#MbQdO1G2OO#MrQdO1G2OP#M}QdO'#FxO#N[QdO7+)VO#NlQdO7+)VO#NlQdO7+)VO#NtQdO7+)VO$ UQdO7+(|O8vQdO7+(|OOQSAN>VAN>VO$ oQdO<<LmOOQSAN>cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<<MT<<MTO$#nQdO7+(fOOQSAN?[AN?[OOQS7+'t7+'tO$$XQdO<<M[OOQS,5<q,5<qO$$jQdO1G4XOOQS-E:T-E:TOOQVAN?lAN?lOOQV1G2_1G2_O4iQdOAN?qO$$xQgOAN?qOOQVAN?xAN?xO4iQdOAN?xOOQV<<JR<<JRO4iQdOAN?rO4iQdO7+'{OOQV7+'{7+'{O1XQdO7+'{OOQVAN?rAN?rOOQS7+'|7+'|O$(sQdO<<MbOOQS1G4^1G4^O0rQdO1G4^OOQS,5<w,5<wO$)QQdO1G4]OOQS-E:Z-E:ZOOQU'#G_'#G_O$)cQfO7+'OO$)nQdO'#F_O$*uQdO7+'jO$+VQdO7+'jOOQS7+'j7+'jO$+bQdO<<LqO$+rQdO<<LqO$+rQdO<<LqO$+zQdO'#H^OOQS<<Lh<<LhO$,UQdO<<LhOOQS7+'h7+'hOOQS'#D|'#D|OOOO1G4R1G4RO$,oQdO1G4RO$,wQdO1G4RP!=hQdO'#GVOOQVG25]G25]O4iQdOG25]OOQVG25dG25dOOQVG25^G25^OOQV<<Kg<<KgO4iQdO<<KgOOQS7+)x7+)xP$-SQdO'#G]OOQU-E:]-E:]OOQV<<Jj<<JjO$-vQtO'#FaOOQS'#Fc'#FcO$.WQdO'#FbO$.xQdO'#FbOOQS'#Fb'#FbO$.}QdO'#IYO$)nQdO'#FiO$)nQdO'#FiO$/fQdO'#FjO$)nQdO'#FkO$/mQdO'#IZOOQS'#IZ'#IZO$0[QdO,5;yOOQS<<KU<<KUO$0dQdO<<KUO$0tQdOANB]O$1UQdOANB]O$1^QdO'#H_OOQS'#H_'#H_O1sQdO'#DcO$1wQdO,5=xOOQSANBSANBSOOOO7+)m7+)mO$2`QdO7+)mOOQVLD*wLD*wOOQVANARANARO5uQ!fO'#GaO$2hQtO,5<SO$)nQdO'#FmOOQS,5<W,5<WOOQS'#Fd'#FdO$3YQdO,5;|O$3_QdO,5;|OOQS'#Fg'#FgO$)nQdO'#G`O$4PQdO,5<QO$4kQdO,5>tO$4{QdO,5>tO1XQdO,5<PO$5^QdO,5<TO$5cQdO,5<TO$)nQdO'#I[O$5hQdO'#I[O$5mQdO,5<UOOQS,5<V,5<VO0rQdO'#FpOOQU1G1e1G1eO4iQdO1G1eOOQSAN@pAN@pO$5rQdOG27wO$6SQdO,59}OOQS1G3d1G3dOOOO<<MX<<MXOOQS,5<{,5<{OOQS-E:_-E:_O$6XQtO'#FaO$6`QdO'#I]O$6nQdO'#I]O$6vQdO,5<XOOQS1G1h1G1hO$6{QdO1G1hO$7QQdO,5<zOOQS-E:^-E:^O$7lQdO,5=OO$8TQdO1G4`OOQS-E:b-E:bOOQS1G1k1G1kOOQS1G1o1G1oO$8eQdO,5>vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5<YO$8sQdO,5>wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5<ZP$)nQdO'#GcO$;XQdO1G2hO$)nQdO1G2hP$;gQdO'#GbO$;nQdO<<MhO$;xQdO1G1uO$<WQdO7+(SO8vQdO'#C}O8vQdO,59bO8vQdO,59bO8vQdO,59bO$<fQtO,5=`O8vQdO1G.|O0rQdO1G/XO0rQdO7+$pP$<yQdO'#GOO'vQdO'#GtO$=WQdO,59bO$=]QdO,59bO$=dQdO,59mO$=iQdO1G/UO1sQdO'#DRO8vQdO,59j",stateData:"$>S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!<S!<VP!<_!<h!=d!=g]eOn#g$j)t,P'}`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r{!cQ#c#p$R$d$p%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g}!dQ#c#p$R$d$p$u%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!P!eQ#c#p$R$d$p$u$v%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!R!fQ#c#p$R$d$p$u$v$w%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!T!gQ#c#p$R$d$p$u$v$w$x%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!V!hQ#c#p$R$d$p$u$v$w$x$y%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!Z!hQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g'}TOTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r&eVOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0n0r%oXOYZ[dnrxy}!P!Q!U!i!k#[#d#g#y#{#}$Q$h$j$}%S%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/V/Z0i0j0kQ#vqQ/[.kR0o0q't`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rh#jhz{$W$Z&l&q)S)X+f+g-RW#rq&].k0qQ$]|Q$a!OQ$n!VQ$o!WW$|!i'm*d,gS&[#s#tQ'S$iQ(s&UQ)U&nU)Y&s)Z+jW)a&w+m-T-{Q*Q']W*R'_,`-h.TQ+l)`S,_*S*TQ-Q+eQ-_,TQ-c,WQ.R-al.W-l.^._.a.z.|/R/j/o/t/y0U0Z0^Q/S.`Q/a.tQ/l/OU0P/u0S0[X0V/z0W0_0`R&Z#r!_!wYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZR%^!vQ!{YQ%x#[Q&d#}Q&g$QR,{+YT.j-s/s!Y!jQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0gQ&X#kQ'c$oR*^'dR'l$|Q%V!mR/_.r'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rS#a_#b!P.[-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rT#a_#bT#^^#_R(o%xa(l%x(n(o+`,{-y-z.oT+[(k+]R-z,{Q$PsQ+l)aQ,^*RR-e,_X#}s$O$P&fQ&y$aQ'a$nQ'd$oR)s'SQ)b&wV-S+m-T-{ZgOn$j)t,PXkOn)t,PQ$k!TQ&z$bQ&{$cQ'^$mQ'b$oQ)q'RQ)x'WQ){'XQ)|'YQ*Z'`S*]'c'dQ+s)gQ+u)hQ+v)iQ+z)oS+|)r*[Q,Q)vQ,R)wS,S)y)zQ,d*^Q-V+rQ-W+tQ-Y+{S-Z+},OQ-`,UQ-b,VQ-|-XQ.O-[Q.P-^Q.Q-_Q.p-}Q.q.RQ/W.dR/r/XWkOn)t,PR#mjQ'`$nS)r'S'aR,O)sQ,]*RR-f,^Q*['`Q+})rR-[,OZiOjn)t,PQ'f$pR*`'gT-j,e-ku.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^t.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^Q/S.`X0V/z0W0_0`!P.Z-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`Q.w.YR/f.xg.z.].{/b/i/n/|0O0Q0]0a0bu.b-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^X.u.W.b/a0PR/c.tV0R/u0S0[R/X.dQnOS#on,PR,P)tQ&^#uR(x&^S%m#R#wS(_%m(bT(b%p&`Q%a!yQ%h!}W(P%a%h(U(YQ(U%eR(Y%jQ&i$RR)O&iQ(e%qQ*{(`T+R(e*{Q'n%OR*e'nS'q%R%SY*i'q*j,m-q.hU*j'r's'tU,m*k*l*mS-q,n,oR.h-rQ#Y]R%t#YQ#_^R%y#_Q(h%vS+W(h+XR+X(iQ+](kR,|+]Q#b_R%{#bQ#ebQ%}#cW&Q#e%}({+bQ({&cR+b0gQ$OsS&e$O&fR&f$PQ&v$_R)_&vQ&V#jR(t&VQ&m$VS)T&m+hR+h)UQ$Z{R&p$ZQ&t$]R)[&tQ+n)bR-U+nQ#hfR&S#hQ)f&zR+q)fQ&}$dS)m&})nR)n'OQ'V$kR)u'VQ'[$lS*P'[,ZR,Z*QQ,a*VR-i,aWjOn)t,PR#ljQ-k,eR.U-kd.{.]/b/i/n/|0O0Q0]0a0bR/h.{U.s.W/a0PR/`.sQ/{/nS0X/{0YR0Y/|S/v/b/cR0T/vQ.}.]R/k.}R!ZPXmOn)t,PWlOn)t,PR'T$jYfOn$j)t,PR&R#g[sOn#g$j)t,PR&d#}&dQOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0n0rQ!nTQ#caQ#poU$Rt%c(SS$d!R$gQ$p!XQ$u!cQ$v!dQ$w!eQ$x!fQ$y!gQ$z!hQ%e!zQ%j#OQ%p#SQ%q#TQ&`#xQ'O$eQ'g$qQ(q&OU(|&h(}+cW)j&|)l+x+yQ*o'|Q*x(]Q+w)kQ,v+QR0g0lQ!yYQ!}ZQ$b!PQ$c!QQ%R!kQ't%S^'{%`%g(O(W*q*t*v^*f'p*h,k,l-p.g/ZQ*l'rQ*m'sQ+t)gQ,j*gQ,n*kQ-n,hQ-o,iQ-r,oQ.e-mR/Y.f[bOn#g$j)t,P!^!vYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZQ#R[Q#fdS#wrxQ$UyW$_}$Q'P)pS$l!U$hW${!i'm*d,gS%v#[+Y`&P#d%|(p(r(z+a-O0kQ&a#yQ&b#{Q&c#}Q'j$}Q'z%^W([%l(^*y*}Q(`%nQ(i%wQ(v&ZS(y&_0iQ)P&jQ)Q&kU)]&u)^+kQ)d&xQ)y'WY)}'Z*O,X,Y-dQ*b'lS*n'w0jW+P(d*z,s,wW+T(g+V,y,zQ+p)eQ,U)zQ,c*YQ,x+UQ-P+dQ-e,]Q-v,uQ.S-fR/q/VhUOn#d#g$j%|&_'w(p(r)t,P%U!uYZ[drxy}!P!Q!U!i!k#[#y#{#}$Q$h$}%S%^%`%g%l%n%w&Z&j&k&u&x'P'W'Z'l'm'p'r's(O(W(^(d(g(z)^)e)g)p)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/V/Z0i0j0kQ#qpW%W!o!s0d0nQ%X!pQ%Y!qQ%[!tQ%f0cS'v%Z0hQ'x0eQ'y0fQ,p*rQ-u,qS.i-s/sR0p0rU#uq.k0qR(w&][cOn#g$j)t,PZ!xY#[#}$Q+YQ#W[Q#zrR$TxQ%b!yQ%i!}Q%o#RQ'j${Q(V%eQ(Z%jQ(c%pQ(f%qQ*|(`Q,f*bQ-t,pQ.m-uR/].lQ$StQ(R%cR*s(SQ.l-sR/}/sR#QZR#V[R%Q!iQ%O!iV*c'm*d,g!Z!lQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0gR%T!kT#]^#_Q%x#[R,{+YQ(m%xS+_(n(oQ,}+`Q-x,{S.n-y-zR/^.oT+Z(k+]Q$`}Q&g$QQ)o'PR+{)pQ$XzQ)W&qR+i)XQ$XzQ&o$WQ)W&qR+i)XQ#khW$Vz$W&q)XQ$[{Q&r$ZZ)R&l)S+f+g-RR$^|R)c&wXlOn)t,PQ$f!RR'Q$gQ$m!UR'R$hR*X'_Q*V'_V-g,`-h.TQ.d-lQ/P.^R/Q._U.]-l.^._Q/U.aQ/b.tQ/g.zU/i.|/j/yQ/n/RQ/|/oQ0O/tU0Q/u0S0[Q0]0UQ0a0ZR0b0^R/T.`R/d.t",nodeNames:"\u26A0 print Escape { Comment Script AssignStatement * BinaryExpression BitOp BitOp BitOp BitOp ArithOp ArithOp @ ArithOp ** UnaryExpression ArithOp BitOp AwaitExpression await ) ( ParenthesizedExpression BinaryExpression or and CompareOp in not is UnaryExpression ConditionalExpression if else LambdaExpression lambda ParamList VariableName AssignOp , : NamedExpression AssignOp YieldExpression yield from TupleExpression ComprehensionExpression async for LambdaExpression ] [ ArrayExpression ArrayComprehensionExpression } { DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression CallExpression ArgList AssignOp MemberExpression . PropertyName Number String FormatString FormatReplacement FormatSelfDoc FormatConversion FormatSpec FormatReplacement FormatSelfDoc ContinuedString Ellipsis None Boolean TypeDef AssignOp UpdateStatement UpdateOp ExpressionStatement DeleteStatement del PassStatement pass BreakStatement break ContinueStatement continue ReturnStatement return YieldStatement PrintStatement RaiseStatement raise ImportStatement import as ScopeStatement global nonlocal AssertStatement assert TypeDefinition type TypeParamList TypeParam StatementGroup ; IfStatement Body elif WhileStatement while ForStatement TryStatement try except finally WithStatement with FunctionDefinition def ParamList AssignOp TypeDef ClassDefinition class DecoratedStatement Decorator At MatchStatement match MatchBody MatchClause case CapturePattern LiteralPattern ArithOp ArithOp AsPattern OrPattern LogicOp AttributePattern SequencePattern MappingPattern StarPattern ClassPattern PatternArgList KeywordPattern KeywordPattern Guard",maxTerm:277,context:cy,nodeProps:[["isolate",-5,4,71,72,73,77,""],["group",-15,6,85,87,88,90,92,94,96,98,99,100,102,105,108,110,"Statement Statement",-22,8,18,21,25,40,49,50,56,57,60,61,62,63,64,67,70,71,72,79,80,81,82,"Expression",-10,114,116,119,121,122,126,128,133,135,138,"Statement",-9,143,144,147,148,150,151,152,153,154,"Pattern"],["openedBy",23,"(",54,"[",58,"{"],["closedBy",24,")",55,"]",59,"}"]],propSources:[fy],skippedNodes:[0,4],repeatNodeCount:34,tokenData:"!2|~R!`OX%TXY%oY[%T[]%o]p%Tpq%oqr'ars)Yst*xtu%Tuv,dvw-hwx.Uxy/tyz0[z{0r{|2S|}2p}!O3W!O!P4_!P!Q:Z!Q!R;k!R![>_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[dy,iy,oy,ly,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:a(t=>py[t]||-1,"get")}],tokenPrec:7668})});function Di(t){return t>=48&&t<=57}function yr(t){return Di(t)||t==95}var Oy,my,hy,gy,yy,Sl,wy,Py,Ql,Sy,gr,kl,Qy,ky,bl,xl,by,xy,Ty,vy,Ry,$y,_y,Ey,Tl,vl=p(()=>{cr();pr();Oy=1,my=2,hy=3,gy=4,yy=5,Sl=98,wy=101,Py=102,Ql=114,Sy=69,gr=48,kl=46,Qy=43,ky=45,bl=35,xl=34,by=124,xy=60,Ty=62;a(Di,"isNum");a(yr,"isNum_");vy=new te((t,e)=>{if(Di(t.next)){let n=!1;do t.advance();while(yr(t.next));if(t.next==kl){if(n=!0,t.advance(),Di(t.next))do t.advance();while(yr(t.next));else if(t.next==kl||t.next>127||/\w/.test(String.fromCharCode(t.next)))return}if(t.next==wy||t.next==Sy){if(n=!0,t.advance(),(t.next==Qy||t.next==ky)&&t.advance(),!yr(t.next))return;do t.advance();while(yr(t.next))}if(t.next==Py){let r=t.peek(1);if(r==gr+3&&t.peek(2)==gr+2||r==gr+6&&t.peek(2)==gr+4)t.advance(3),n=!0;else return}n&&t.acceptToken(yy)}else if(t.next==Sl||t.next==Ql){if(t.next==Sl&&t.advance(),t.next!=Ql)return;t.advance();let n=0;for(;t.next==bl;)n++,t.advance();if(t.next!=xl)return;t.advance();e:for(;;){if(t.next<0)return;let r=t.next==xl;if(t.advance(),r){for(let o=0;o<n;o++){if(t.next!=bl)continue e;t.advance()}t.acceptToken(gy);return}}}}),Ry=new te(t=>{t.next==by&&t.acceptToken(Oy,1)}),$y=new te(t=>{t.next==xy?t.acceptToken(my,1):t.next==Ty&&t.acceptToken(hy,1)}),_y=kt({"const macro_rules struct union enum type fn impl trait let static":m.definitionKeyword,"mod use crate":m.moduleKeyword,"pub unsafe async mut extern default move":m.modifier,"for if else loop while match continue break return await":m.controlKeyword,"as in ref":m.operatorKeyword,"where _ crate super dyn":m.keyword,self:m.self,String:m.string,Char:m.character,RawString:m.special(m.string),Boolean:m.bool,Identifier:m.variableName,"CallExpression/Identifier":m.function(m.variableName),BoundIdentifier:m.definition(m.variableName),"FunctionItem/BoundIdentifier":m.function(m.definition(m.variableName)),LoopLabel:m.labelName,FieldIdentifier:m.propertyName,"CallExpression/FieldExpression/FieldIdentifier":m.function(m.propertyName),Lifetime:m.special(m.variableName),ScopeIdentifier:m.namespace,TypeIdentifier:m.typeName,"MacroInvocation/Identifier MacroInvocation/ScopedIdentifier/Identifier":m.macroName,"MacroInvocation/TypeIdentifier MacroInvocation/ScopedIdentifier/TypeIdentifier":m.macroName,'"!"':m.macroName,UpdateOp:m.updateOperator,LineComment:m.lineComment,BlockComment:m.blockComment,Integer:m.integer,Float:m.float,ArithOp:m.arithmeticOperator,LogicOp:m.logicOperator,BitOp:m.bitwiseOperator,CompareOp:m.compareOperator,"=":m.definitionOperator,".. ... => ->":m.punctuation,"( )":m.paren,"[ ]":m.squareBracket,"{ }":m.brace,". DerefOp":m.derefOperator,"&":m.operator,", ; ::":m.separator,"Attribute/...":m.meta}),Ey={__proto__:null,self:28,super:32,crate:34,impl:46,true:72,false:72,pub:88,in:92,const:96,unsafe:104,async:108,move:110,if:114,let:118,ref:142,mut:144,_:198,else:200,match:204,as:248,return:252,await:262,break:270,continue:276,while:312,loop:316,for:320,macro_rules:327,mod:334,extern:342,struct:346,where:364,union:379,enum:382,type:390,default:395,fn:396,trait:412,use:420,static:438,dyn:476},Tl=Ve.deserialize({version:14,states:"$2xQ]Q_OOP$wOWOOO&sQWO'#CnO)WQWO'#I`OOQP'#I`'#I`OOQQ'#Ie'#IeO)hO`O'#C}OOQR'#Ih'#IhO)sQWO'#IuOOQO'#Hk'#HkO)xQWO'#DpOOQR'#Iw'#IwO)xQWO'#DpO*ZQWO'#DpOOQO'#Iv'#IvO,SQWO'#J`O,ZQWO'#EiOOQV'#Hp'#HpO,cQYO'#F{OOQV'#El'#ElOOQV'#Em'#EmOOQV'#En'#EnO.YQ_O'#EkO0_Q_O'#EoO2gQWOOO4QQ_O'#FPO7hQWO'#J`OOQV'#FY'#FYO7{Q_O'#F^O:WQ_O'#FaOOQO'#F`'#F`O=sQ_O'#FcO=}Q_O'#FbO@VQWO'#FgOOQO'#J`'#J`OOQV'#Io'#IoOA]Q_O'#InOEPQWO'#InOOQV'#Fw'#FwOF[QWO'#JuOFcQWO'#F|OOQO'#IO'#IOOGrQWO'#GhOOQV'#Im'#ImOOQV'#Il'#IlOOQV'#Hj'#HjQGyQ_OOOKeQ_O'#DUOKlQYO'#CqOOQP'#I_'#I_OOQV'#Hg'#HgQ]Q_OOOLuQWO'#I`ONsQYO'#DXO!!eQWO'#JuO!!lQWO'#JuO!!vQ_O'#DfO!%]Q_O'#E}O!(sQ_O'#FWO!,ZQWO'#FZO!.^QXO'#FbO!.cQ_O'#EeO!!vQ_O'#FmO!0uQWO'#FoO!0zQWO'#FoO!1PQ^O'#FqO!1WQWO'#JuO!1_QWO'#FtO!1dQWO'#FxO!2WQWO'#JjO!2_QWO'#GOO!2_QWO'#G`O!2_QWO'#GbO!2_QWO'#GsOOQO'#Ju'#JuO!2dQWO'#GhO!2lQYO'#GpO!2_QWO'#GqO!3uQ^O'#GtO!3|QWO'#GuO!4hQWO'#HOP!4sOpO'#CcPOOO)CC})CC}OOOO'#Hi'#HiO!5OO`O,59iOOQV,59i,59iO!5ZQYO,5?aOOQO-E;i-E;iOOQO,5:[,5:[OOQP,59Z,59ZO)xQWO,5:[O)xQWO,5:[O!5oQWO,5?kO!5zQYO,5;qO!6PQYO,5;TO!6hQWO,59QO!7kQXO'#CnO!7xQXO'#I`O!9SQWO'#CoO,^QWO'#EiOOQV-E;n-E;nO!9eQWO'#FsOOQV,5<g,5<gO!9SQWO'#CoO!9jQWO'#CoO!9oQWO'#I`O! yQWO'#JuO!9yQWO'#J`O!:aQWO,5;VOOQO'#In'#InO!0zQWO'#DaO!<aQWO'#DcO!<iQWO,5;ZO.YQ_O,5;ZOOQO,5;[,5;[OOQV'#Er'#ErOOQV'#Es'#EsOOQV'#Et'#EtOOQV'#Eu'#EuOOQV'#Ev'#EvOOQV'#Ew'#EwOOQV'#Ex'#ExOOQV'#Ey'#EyO.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;fO!=PQ_O,5;kO!@gQ_O'#FROOQO,5;l,5;lO!BrQWO,5;pO.YQ_O,5;wOKlQYO,5;gO!D_QWO,5;kO!EOQWO,5;xOOQO,5;x,5;xO!E]QWO,5;xO!EbQ_O,5;xO!GmQWO'#CfO!GrQWO,5<QO!G|Q_O,5<QOOQO,5;{,5;{O!JjQXO'#CnO!K{QXO'#I`OOQS'#Dk'#DkOOQP'#Ir'#IrO!LuQ[O'#IrO!L}QXO'#DjO!M{QWO'#DnO!M{QWO'#DnO!N^QWO'#DnOOQP'#It'#ItO!NcQXO'#ItO# ^Q^O'#DoO# hQWO'#DrO# pQ^O'#DzO# zQ^O'#D|O#!RQWO'#EPO#!^QXO'#FdOOQP'#ES'#ESOOQP'#Iq'#IqO#!lQXO'#JfOOQP'#Je'#JeO#!tQXO,5;}O#!yQXO'#I`O!1PQ^O'#DyO!1PQ^O'#FdO##sQWO,5;|OOQO,5;|,5;|OKlQYO,5;|O#$ZQWO'#FhOOQO,5<R,5<ROOQV,5=l,5=lO#&`QYO'#FzOOQV,5<h,5<hO#&gQWO,5<hO#&nQWO,5=SO!1WQWO,59rO!1dQWO,5<dO#&uQWO,5=iO!2_QWO,5<jO!2_QWO,5<zO!2_QWO,5<|O!2_QWO,5=QO#&|QWO,5=]O#'TQWO,5=SO!2_QWO,5=]O!3|QWO,5=aO#']QWO,5=jOOQO-E;|-E;|O#'hQWO'#JjOOQV-E;h-E;hO#(PQWO'#HRO#(WQ_O,59pOOQV,59p,59pO#(_QWO,59pO#(dQ_O,59pO#)SQZO'#CuO#+[QZO'#CvOOQV'#C|'#C|O#-wQWO'#HTO#.OQYO'#IdOOQO'#Hh'#HhO#.WQWO'#CwO#.WQWO'#CwO#.iQWO'#CwOOQR'#Ic'#IcO#.nQZO'#IbO#1TQYO'#HTO#1qQYO'#H[O#2}QYO'#H_OKlQYO'#H`OOQR'#Hb'#HbO#4ZQWO'#HeO#4`QYO,59]OOQR'#Ib'#IbO#5PQZO'#CtO#7[QYO'#HUO#7aQWO'#HTO#7fQYO'#CrO#8VQWO'#H]O#7fQYO'#HcOOQV-E;e-E;eO#8_QWO,59sOOQV,59{,59{O#8mQYO,5=[OOQV,59},59}O!0zQWO,59}O#;aQWO'#IpOOQO'#Ip'#IpO!1PQ^O'#DhO!0zQWO,5:QO#;hQWO,5;iO#<OQWO,5;rO#<fQ_O,5;rOOQO,5;u,5;uO#@PQ_O,5;|O#BXQWO,5;PO!0zQWO,5<XO#B`QWO,5<ZOOQV,5<Z,5<ZO#BkQWO,5<]O!1PQ^O'#EOOOQQ'#D_'#D_O#BsQWO,59rO#BxQWO,5<`O#B}QWO,5<dOOQO,5@U,5@UO#CVQWO,5=iOOQQ'#Cv'#CvO#C[QYO,5<jO#CmQYO,5<zO#CxQYO,5<|O#DTQYO,5=_O#DcQYO,5=SO#E{QYO'#GQO#FYQYO,5=[O#FmQWO,5=[O#F{QYO,5=[O#HUQYO,5=]O#HdQWO,5=`O!1PQ^O,5=`O#HrQWO'#CnO#ITQWO'#I`OOQO'#Jy'#JyO#IfQWO'#IQO#IkQWO'#GwOOQO'#Jz'#JzO#JSQWO'#GzOOQO'#G|'#G|OOQO'#Jx'#JxO#IkQWO'#GwO#JZQWO'#GxO#J`QWO,5=aO#JeQWO,5=jO!1dQWO,5=jO#'`QWO,5=jPOOO'#Hf'#HfP#JjOpO,58}POOO,58},58}OOOO-E;g-E;gOOQV1G/T1G/TO#JuQWO1G4{O#JzQ^O'#CyPOQQ'#Cx'#CxOOQO1G/v1G/vOOQP1G.u1G.uO)xQWO1G/vO#NTQ!fO'#ETO#N[Q!fO'#EaO#NcQ!fO'#EbO$ kQWO1G1yO$!_Q_O1G1yOOQP1G5V1G5VOOQO1G1]1G1]O$&RQWO1G0oO$&WQWO'#CiO!7xQXO'#I`O!6PQYO1G.lO!5oQWO,5<_O!9SQWO,59ZO!9SQWO,59ZO!5oQWO,5?kO$&iQWO1G0uO$(vQWO1G0wO$*nQWO1G0wO$+UQWO1G0wO$-YQWO1G0wO$-aQWO1G0wO$/bQWO1G0wO$/iQWO1G0wO$1jQWO1G0wO$1qQWO1G0wO$3YQWO1G1QO$5ZQWO1G1VO$5zQ_O'#JcO$8SQWO'#JcOOQO'#Jb'#JbO$8^QWO,5;mOOQO'#Dw'#DwOOQO1G1[1G1[OOQO1G1Y1G1YO$8cQWO1G1cOOQO1G1R1G1RO$8jQ_O'#HrO$:xQWO,5@OO.YQ_O1G1dOOQO1G1d1G1dO$;QQWO1G1dO$;_QWO1G1dO$;dQWO1G1eOOQO1G1l1G1lO$;lQWO1G1lOOQP,5?^,5?^O$;vQ^O,5:kO$<aQXO,5:YO!M{QWO,5:YO!M{QWO,5:YO!1PQ^O,5:gO$=bQWO'#IyOOQO'#Ix'#IxO$=pQWO,5:ZO# ^Q^O,5:ZO$=uQWO'#DsOOQP,5:^,5:^O$>WQWO,5:fOOQP,5:h,5:hO!1PQ^O,5:hO!1PQ^O,5:mO$>]QYO,5<OO$>gQ_O'#HsO$>tQXO,5@QOOQV1G1i1G1iOOQP,5:e,5:eO$>|QXO,5<OO$?[QWO1G1hO$?dQWO'#CnO$?oQWO'#FiOOQO'#Fi'#FiO$?wQWO'#FjO.YQ_O'#FkOOQO'#Ji'#JiO$?|QWO'#JhOOQO'#Jg'#JgO$@UQWO,5<SOOQQ'#Hv'#HvO$@ZQYO,5<fOOQV,5<f,5<fO$@bQYO,5<fOOQV1G2S1G2SO$@iQWO1G2nO$@qQWO1G/^O$@vQWO1G2OO#CVQWO1G3TO$AOQYO1G2UO#CmQYO1G2fO#CxQYO1G2hO$AaQYO1G2lO!2_QWO1G2wO#DcQYO1G2nO#HUQYO1G2wO$AiQWO1G2{O$AnQWO1G3UO!1dQWO1G3UO$AsQWO1G3UOOQV1G/[1G/[O$A{QWO1G/[O$BQQ_O1G/[O#7aQWO,5=oO$BXQYO,5?OO$BmQWO,5?OO$BrQZO'#IeOOQO-E;f-E;fOOQR,59c,59cO#.WQWO,59cO#.WQWO,59cOOQR,5=n,5=nO$E_QYO'#HVO$FwQZO,5=oO!5oQWO,5={O$IZQWO,5=oO$IbQZO,5=vO$KqQYO,5=vO$>]QYO,5=vO$LRQWO'#KRO$L^QWO,5=xOOQR,5=y,5=yO$LcQWO,5=zO$>]QYO,5>PO$>]QYO,5>POOQO1G.w1G.wO$>]QYO1G.wO$LnQYO,5=pO$LvQZO,59^OOQR,59^,59^O$>]QYO,5=wO% YQZO,5=}OOQR,5=},5=}O%#lQWO1G/_O!6PQYO1G/_O#FYQYO1G2vO%#qQWO1G2vO%$PQYO1G2vOOQV1G/i1G/iO%%YQWO,5:SO%%bQ_O1G/lO%*kQWO1G1^O%+RQWO1G1hOOQO1G1h1G1hO$>]QYO1G1hO%+iQ^O'#EgOOQV1G0k1G0kOOQV1G1s1G1sO!!vQ_O1G1sO!0zQWO1G1uO!1PQ^O1G1wO!.cQ_O1G1wOOQP,5:j,5:jO$>]QYO1G/^OOQO'#Cn'#CnO%+vQWO1G1zOOQV1G2O1G2OO%,OQWO'#CnO%,WQWO1G3TO%,]QWO1G3TO%,bQYO'#GQO%,sQWO'#G]O%-UQYO'#G_O%.hQYO'#GXOOQV1G2U1G2UO%/wQWO1G2UO%/|QWO1G2UO$ARQWO1G2UOOQV1G2f1G2fO%/wQWO1G2fO#CpQWO1G2fO%0UQWO'#GdOOQV1G2h1G2hO%0gQWO1G2hO#C{QWO1G2hO%0lQYO'#GSO$>]QYO1G2lO$AdQWO1G2lOOQV1G2y1G2yO%1xQWO1G2yO%3hQ^O'#GkO%3rQWO1G2nO#DfQWO1G2nO%4QQYO,5<lO%4[QYO,5<lO%4jQYO,5<lO%5XQYO,5<lOOQQ,5<l,5<lO!1WQWO'#JuO%5dQYO,5<lO%5lQWO1G2vOOQV1G2v1G2vO%5tQWO1G2vO$>]QYO1G2vOOQV1G2w1G2wO%5tQWO1G2wO%5yQWO1G2wO#HXQWO1G2wOOQV1G2z1G2zO.YQ_O1G2zO$>]QYO1G2zO%6RQWO1G2zOOQO,5>l,5>lOOQO-E<O-E<OOOQO,5=c,5=cOOQO,5=e,5=eOOQO,5=g,5=gOOQO,5=h,5=hO%6aQWO'#J|OOQO'#J{'#J{O%6iQWO,5=fO%6nQWO,5=cO!1dQWO,5=dOOQV1G2{1G2{O$>]QYO1G3UPOOO-E;d-E;dPOOO1G.i1G.iOOQO7+*g7+*gO%7VQYO'#IcO%7nQYO'#IfO%7yQYO'#IfO%8RQYO'#IfO%8^QYO,59eOOQO7+%b7+%bOOQP7+$a7+$aO%8cQ!fO'#JTOOQS'#EX'#EXOOQS'#EY'#EYOOQS'#EZ'#EZOOQS'#JT'#JTO%;UQWO'#EWOOQS'#E`'#E`OOQS'#JR'#JROOQS'#Hn'#HnO%;ZQ!fO,5:oOOQV,5:o,5:oOOQV'#JQ'#JQO%;bQ!fO,5:{OOQV,5:{,5:{O%;iQ!fO,5:|OOQV,5:|,5:|OOQV7+'e7+'eOOQV7+&Z7+&ZO%;pQ!fO,59TOOQO,59T,59TO%>YQWO7+$WO%>_QWO1G1yOOQV1G1y1G1yO!9SQWO1G.uO%>dQWO,5?}O%>nQ_O'#HqO%@|QWO,5?}OOQO1G1X1G1XOOQO7+&}7+&}O%AUQWO,5>^OOQO-E;p-E;pO%AcQWO7+'OO.YQ_O7+'OOOQO7+'O7+'OOOQO7+'P7+'PO%AjQWO7+'POOQO7+'W7+'WOOQP1G0V1G0VO%ArQXO1G/tO!M{QWO1G/tO%BsQXO1G0RO%CkQ^O'#HlO%C{QWO,5?eOOQP1G/u1G/uO%DWQWO1G/uO%D]QWO'#D_OOQO'#Dt'#DtO%DhQWO'#DtO%DmQWO'#I{OOQO'#Iz'#IzO%DuQWO,5:_O%DzQWO'#DtO%EPQWO'#DtOOQP1G0Q1G0QOOQP1G0S1G0SOOQP1G0X1G0XO%EXQXO1G1jO%EdQXO'#FeOOQP,5>_,5>_O!1PQ^O'#FeOOQP-E;q-E;qO$>]QYO1G1jOOQO7+'S7+'SOOQO,5<T,5<TO%ErQWO,5<UO.YQ_O,5<UO%EwQWO,5<VO%FRQWO'#HtO%FdQWO,5@SOOQO1G1n1G1nOOQQ-E;t-E;tOOQV1G2Q1G2QO%FlQYO1G2QO#DcQYO7+(YO$>]QYO7+$xOOQV7+'j7+'jO%FsQWO7+(oO%FxQWO7+(oOOQV7+'p7+'pO%/wQWO7+'pO%F}QWO7+'pO%GVQWO7+'pOOQV7+(Q7+(QO%/wQWO7+(QO#CpQWO7+(QOOQV7+(S7+(SO%0gQWO7+(SO#C{QWO7+(SO$>]QYO7+(WO%GeQWO7+(WO#HUQYO7+(cO%GjQWO7+(YO#DfQWO7+(YOOQV7+(c7+(cO%5tQWO7+(cO%5yQWO7+(cO#HXQWO7+(cOOQV7+(g7+(gO$>]QYO7+(pO%GxQWO7+(pO!1dQWO7+(pOOQV7+$v7+$vO%G}QWO7+$vO%HSQZO1G3ZO%JfQWO1G4jOOQO1G4j1G4jOOQR1G.}1G.}O#.WQWO1G.}O%JkQWO'#KQOOQO'#HW'#HWO%J|QWO'#HXO%KXQWO'#KQOOQO'#KP'#KPO%KaQWO,5=qO%KfQYO'#H[O%LrQWO'#GmO%L}QYO'#CtO%MXQWO'#GmO$>]QYO1G3ZOOQR1G3g1G3gO#7aQWO1G3ZO%M^QZO1G3bO$>]QYO1G3bO& mQYO'#IVO& }QWO,5@mOOQR1G3d1G3dOOQR1G3f1G3fO.YQ_O1G3fOOQR1G3k1G3kO&!VQYO7+$cO&!_QYO'#KOOOQQ'#J}'#J}O&!gQYO1G3[O&!lQZO1G3cOOQQ7+$y7+$yO&${QWO7+$yO&%QQWO7+(bOOQV7+(b7+(bO%5tQWO7+(bO$>]QYO7+(bO#FYQYO7+(bO&%YQWO7+(bO!.cQ_O1G/nO&%hQWO7+%WO$?[QWO7+'SO&%pQWO'#EhO&%{Q^O'#EhOOQU'#Ho'#HoO&%{Q^O,5;ROOQV,5;R,5;RO&&VQWO,5;RO&&[Q^O,5;RO!0zQWO7+'_OOQV7+'a7+'aO&&iQWO7+'cO&&qQWO7+'cO&&xQWO7+$xO&'TQ!fO7+'fO&'[Q!fO7+'fOOQV7+(o7+(oO!1dQWO7+(oO&'cQYO,5<lO&'nQYO,5<lO!1dQWO'#GWO&'|QWO'#JpO&([QWO'#G^O!BxQWO'#G^O&(aQWO'#JpOOQO'#Jo'#JoO&(iQWO,5<wOOQO'#DX'#DXO&(nQYO'#JrO&)}QWO'#JrO$>]QYO'#JrOOQO'#Jq'#JqO&*YQWO,5<yO&*_QWO'#GZO#D^QWO'#G[O&*gQWO'#G[O&*oQWO'#JmOOQO'#Jl'#JlO&*zQYO'#GTOOQO,5<s,5<sO&+PQWO7+'pO&+UQWO'#JtO&+dQWO'#GeO#BxQWO'#GeO&+uQWO'#JtOOQO'#Js'#JsO&+}QWO,5=OO$>]QYO'#GUO&,SQYO'#JkOOQQ,5<n,5<nO&,kQWO7+(WOOQV7+(e7+(eO&.TQ^O'#D|O&._QWO'#GlO&.gQ^O'#JwOOQO'#Gn'#GnO&.nQWO'#JwOOQO'#Jv'#JvO&.vQWO,5=VO&.{QWO'#I`O&/]Q^O'#GmO&/dQWO'#IqO&/rQWO'#GmOOQV7+(Y7+(YO&/zQWO7+(YO$>]QYO7+(YO&0SQYO'#HxO&0hQYO1G2WOOQQ1G2W1G2WOOQQ,5<m,5<mO$>]QYO,5<qO&0pQWO,5<rO&0uQWO7+(bO&1QQWO7+(fO&1XQWO7+(fOOQV7+(f7+(fO.YQ_O7+(fO$>]QYO7+(fO&1dQWO'#IRO&1nQWO,5@hOOQO1G3Q1G3QOOQO1G2}1G2}OOQO1G3P1G3POOQO1G3R1G3ROOQO1G3S1G3SOOQO1G3O1G3OO&1vQWO7+(pO$>]QYO,59fO&2RQ^O'#ISO&2xQYO,5?QOOQR1G/P1G/PO&3QQ!bO,5:pO&3VQ!fO,5:rOOQS-E;l-E;lOOQV1G0Z1G0ZOOQV1G0g1G0gOOQV1G0h1G0hO&3^QWO'#JTOOQO1G.o1G.oOOQV<<Gr<<GrO&3iQWO1G5iO$5zQ_O,5>]O&3qQWO,5>]OOQO-E;o-E;oOOQO<<Jj<<JjO&3{QWO<<JjOOQO<<Jk<<JkO&4SQXO7+%`O&5TQWO,5>WOOQO-E;j-E;jOOQP7+%a7+%aO!1PQ^O,5:`O&5cQWO'#HmO&5wQWO,5?gOOQP1G/y1G/yOOQO,5:`,5:`O&6PQWO,5:`O%DzQWO,5:`O$>]QYO,5<PO&6UQXO,5<PO&6dQXO7+'UO.YQ_O1G1pO&6oQWO1G1pOOQO,5>`,5>`OOQO-E;r-E;rOOQV7+'l7+'lO&6yQWO<<KtO#DfQWO<<KtO&7XQWO<<HdOOQV<<LZ<<LZO!1dQWO<<LZOOQV<<K[<<K[O&7dQWO<<K[O%/wQWO<<K[O&7iQWO<<K[OOQV<<Kl<<KlO%/wQWO<<KlOOQV<<Kn<<KnO%0gQWO<<KnO&7qQWO<<KrO$>]QYO<<KrOOQV<<K}<<K}O%5tQWO<<K}O%5yQWO<<K}O#HXQWO<<K}OOQV<<Kt<<KtO&7yQWO<<KtO$>]QYO<<KtO&8RQWO<<L[O$>]QYO<<L[O&8^QWO<<L[OOQV<<Hb<<HbO$>]QYO7+(uOOQO7+*U7+*UOOQR7+$i7+$iO&8cQWO,5@lOOQO'#Gm'#GmO&8kQWO'#GmO&8vQYO'#IUO&8cQWO,5@lOOQR1G3]1G3]O&:cQYO,5=vO&;rQYO,5=XO&;|QWO,5=XOOQO,5=X,5=XOOQR7+(u7+(uO&<RQZO7+(uO&>eQZO7+(|O&@tQWO,5>qOOQO-E<T-E<TO&APQWO7+)QOOQO<<G}<<G}O&AWQYO'#ITO&AcQYO,5@jOOQQ7+(v7+(vOOQQ<<He<<HeO$>]QYO<<K|OOQV<<K|<<K|O&0uQWO<<K|O&AkQWO<<K|O%5tQWO<<K|O&AsQWO7+%YOOQV<<Hr<<HrOOQO<<Jn<<JnO.YQ_O,5;SO&AzQWO,5;SO.YQ_O'#EjO&BPQWO,5;SOOQU-E;m-E;mO&B[QWO1G0mOOQV1G0m1G0mO&%{Q^O1G0mOOQV<<Jy<<JyO!.cQ_O<<J}OOQV<<J}<<J}OOQV<<Hd<<HdO.YQ_O<<HdO&BaQWO'#FvO&BfQWO<<KQO&BnQ!fO<<KQO&BuQWO<<KQO&BzQWO<<KQO&CSQ!fO<<KQOOQV<<KQ<<KQO&CZQWO<<LZO&C`QWO,5@[O$>]QYO,5<xO&ChQWO,5<xO&CmQWO'#H{O&C`QWO,5@[OOQV1G2c1G2cO&DRQWO,5@^O$>]QYO,5@^O&D^QYO'#H|O&EsQWO,5@^OOQO1G2e1G2eO%,nQWO,5<uOOQO,5<v,5<vO&E{QYO'#HzO&G_QWO,5@XO%,bQYO,5=pO$>]QYO,5<oO&GjQWO,5@`O.YQ_O,5=PO&GrQWO,5=PO&G}QWO,5=PO&H`QWO'#H}O&GjQWO,5@`OOQV1G2j1G2jO&HtQYO,5<pO%0lQYO,5>PO&I]QYO,5@VOOQV<<Kr<<KrO&ItQWO,5=XO&KfQ^O,5:hO&KmQWO,5=XO$>]QYO,5=WO&KuQWO,5@cO&K}QWO,5@cO&MvQ^O'#IPO&KuQWO,5@cOOQO1G2q1G2qO&NTQWO,5=WO&N]QWO<<KtO&NkQYO,5>oO&NvQYO,5>dO' UQYO,5>dOOQQ,5>d,5>dOOQQ-E;v-E;vOOQQ7+'r7+'rO' aQYO1G2]O$>]QYO1G2^OOQV<<LQ<<LQO.YQ_O<<LQO' lQWO<<LQO' sQWO<<LQOOQO,5>m,5>mOOQO-E<P-E<POOQV<<L[<<L[O.YQ_O<<L[O'!OQYO1G/QO'!ZQYO,5>nOOQQ,5>n,5>nO'!fQYO,5>nOOQQ-E<Q-E<QOOQS1G0[1G0[O'$tQ!fO1G0^O'%RQ!fO1G0^O'%YQWO1G3wOOQOAN@UAN@UO'%dQWO1G/zOOQO,5>X,5>XOOQO-E;k-E;kO!1PQ^O1G/zOOQO1G/z1G/zO'%oQWO1G/zO'%tQXO1G1kO$>]QYO1G1kO'&PQWO7+'[OOQVANA`ANA`O'&ZQWOANA`O$>]QYOANA`O'&cQWOANA`OOQVAN>OAN>OO.YQ_OAN>OO'&qQWOANAuOOQVAN@vAN@vO'&vQWOAN@vOOQVANAWANAWOOQVANAYANAYOOQVANA^ANA^O'&{QWOANA^OOQVANAiANAiO%5tQWOANAiO%5yQWOANAiO''TQWOANA`OOQVANAvANAvO.YQ_OANAvO''cQWOANAvO$>]QYOANAvOOQR<<La<<LaO''nQWO1G6WO%JkQWO,5>pOOQO'#HY'#HYO''vQWO'#HZOOQO,5>p,5>pOOQO-E<S-E<SO'(RQYO1G2sO'(]QWO1G2sOOQO1G2s1G2sO$>]QYO<<LaOOQR<<Ll<<LlOOQQ,5>o,5>oOOQQ-E<R-E<RO&0uQWOANAhOOQVANAhANAhO%5tQWOANAhO$>]QYOANAhO'(bQWO1G1rO')UQ^O1G0nO.YQ_O1G0nO'*zQWO,5;UO'+RQWO1G0nP'+WQWO'#ERP&%{Q^O'#HpOOQV7+&X7+&XO'+cQWO7+&XO&&qQWOAN@iO'+hQWOAN>OO!5oQWO,5<bOOQS,5>a,5>aO'+oQWOAN@lO'+tQWOAN@lOOQS-E;s-E;sOOQVAN@lAN@lO'+|QWOAN@lOOQVANAuANAuO',UQWO1G5vO',^QWO1G2dO$>]QYO1G2dO&'|QWO,5>gOOQO,5>g,5>gOOQO-E;y-E;yO',iQWO1G5xO',qQWO1G5xO&(nQYO,5>hO',|QWO,5>hO$>]QYO,5>hOOQO-E;z-E;zO'-XQWO'#JnOOQO1G2a1G2aOOQO,5>f,5>fOOQO-E;x-E;xO&'cQYO,5<lO'-gQYO1G2ZO'.RQWO1G5zO'.ZQWO1G2kO.YQ_O1G2kO'.eQWO1G2kO&+UQWO,5>iOOQO,5>i,5>iOOQO-E;{-E;{OOQQ,5>c,5>cOOQQ-E;u-E;uO'.pQWO1G2sO'/QQWO1G2rO'/]QWO1G5}O'/eQ^O,5>kOOQO'#Go'#GoOOQO,5>k,5>kO'/lQWO,5>kOOQO-E;}-E;}O$>]QYO1G2rO'/zQYO7+'xO'0VQWOANAlOOQVANAlANAlO.YQ_OANAlO'0^QWOANAvOOQS7+%x7+%xO'0eQWO7+%xO'0pQ!fO7+%xO'0}QWO7+%fO!1PQ^O7+%fO'1YQXO7+'VOOQVG26zG26zO'1eQWOG26zO'1sQWOG26zO$>]QYOG26zO'1{QWOG23jOOQVG27aG27aOOQVG26bG26bOOQVG26xG26xOOQVG27TG27TO%5tQWOG27TO'2SQWOG27bOOQVG27bG27bO.YQ_OG27bO'2ZQWOG27bOOQO1G4[1G4[OOQO7+(_7+(_OOQRANA{ANA{OOQVG27SG27SO%5tQWOG27SO&0uQWOG27SO'2fQ^O7+&YO'4PQWO7+'^O'4sQ^O7+&YO.YQ_O7+&YP.YQ_O,5;SP'6PQWO,5;SP'6UQWO,5;SOOQV<<Is<<IsOOQVG26TG26TOOQVG23jG23jOOQO1G1|1G1|OOQVG26WG26WO'6aQWOG26WP&B}QWO'#HuO'6fQWO7+(OOOQO1G4R1G4RO'6qQWO7++dO'6yQWO1G4SO$>]QYO1G4SO%,nQWO'#HyO'7UQWO,5@YO'7dQWO7+(VO.YQ_O7+(VOOQO1G4T1G4TOOQO1G4V1G4VO'7nQWO1G4VO'7|QWO7+(^OOQVG27WG27WO'8XQWOG27WOOQS<<Id<<IdO'8`QWO<<IdO'8kQWO<<IQOOQVLD,fLD,fO'8vQWOLD,fO'9OQWOLD,fOOQVLD)ULD)UOOQVLD,oLD,oOOQVLD,|LD,|O'9^QWOLD,|O.YQ_OLD,|OOQVLD,nLD,nO%5tQWOLD,nO'9eQ^O<<ItO';OQWO<<JxO';rQ^O<<ItP'=OQWO1G0nP'=oQ^O1G0nP.YQ_O1G0nP'?bQWO1G0nOOQVLD+rLD+rO'?gQWO7+)nOOQO,5>e,5>eOOQO-E;w-E;wO'?rQWO<<KqOOQVLD,rLD,rOOQSAN?OAN?OOOQV!$(!Q!$(!QO'?|QWO!$(!QOOQV!$(!h!$(!hO'@UQWO!$(!hOOQV!$(!Y!$(!YO'@]Q^OAN?`POQU7+&Y7+&YP'AvQWO7+&YP'BgQ^O7+&YP.YQ_O7+&YOOQV!)9El!)9ElOOQV!)9FS!)9FSPOQU<<It<<ItP'DYQWO<<ItP'DyQ^O<<ItPOQUAN?`AN?`O'FlQWO'#CnO'FsQXO'#CnO'GlQWO'#I`O'IRQXO'#I`O'IxQWO'#DpO'IxQWO'#DpO!.cQ_O'#EkO'JZQ_O'#EoO'JbQ_O'#FPO'MfQ_O'#FbO'MmQXO'#I`O'NdQ_O'#E}O( gQ_O'#FWO'IxQWO,5:[O'IxQWO,5:[O!.cQ_O,5;ZO!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;fO(!jQ_O,5;kO(%nQWO,5;kO(&OQWO,5;|O(&VQYO'#CuO(&bQYO'#CvO(&mQWO'#CwO(&mQWO'#CwO('OQYO'#CtO('ZQWO,5;iO('bQWO,5;rO('iQ_O,5;rO((oQ_O,5;|O'IxQWO1G/vO((vQWO1G0uO(*eQWO1G0wO(*oQWO1G0wO(,dQWO1G0wO(,kQWO1G0wO(.]QWO1G0wO(.dQWO1G0wO(0UQWO1G0wO(0]QWO1G0wO(0dQWO1G1QO(0tQWO1G1VO(1UQYO'#IeO(&mQWO,59cO(&mQWO,59cO(1aQWO1G1^O(1hQWO1G1hO(&mQWO1G.}O(1oQWO'#DpO!.^QXO'#FbO(1tQWO,5;ZO(1{QWO'#Cw",stateData:"(2_~O&|OSUOS&}PQ~OPoOQ!QOSVOTVOZeO[lO^RO_RO`ROa!UOd[Og!nOsVOtVOuVOw!POyvO|!VO}mO!Q!dO!U!WO!W!XO!X!^O!Z!YO!]!pO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO$i!eO$m!fO$q!gO$s!hO%T!iO%V!jO%Z!kO%]!lO%^!mO%f!oO%j!qO%s!rO'Q`O'TQO'ZkO'^UO'gcO'qiO(QdO~O&}!sO~OZbX[bXdbXdlXobXwjX}bX!lbX!qbX!tbX#ObX#PbX#pbX'gbX'qbX'rbX'xbX'ybX'zbX'{bX'|bX'}bX(ObX(PbX(QbX(RbX(TbX~OybXXbX!ebX!PbXvbX#RbX~P$|OZ'SX['SXd'SXd'XXo'SXw'kXy'SX}'SX!l'SX!q'SX!t'SX#O'SX#P'SX#p'SX'g'SX'q'SX'r'SX'x'SX'y'SX'z'SX'{'SX'|'SX'}'SX(O'SX(P'SX(Q'SX(R'SX(T'SXv'SX~OX'SX!e'SX!P'SX#R'SX~P'ZOr!uO']!wO'_!uO~Od!xO~O^RO_RO`ROaRO'TQO~Od!}O~Od#PO[(SXo(SXy(SX}(SX!l(SX!q(SX!t(SX#O(SX#P(SX#p(SX'g(SX'q(SX'r(SX'x(SX'y(SX'z(SX'{(SX'|(SX'}(SX(O(SX(P(SX(Q(SX(R(SX(T(SXv(SX~OZ#OO~P*`OZ#RO[#QO~OQ!QO^#TO_#TO`#TOa#]Od#ZOg!nOyvO|!VO!Q!dO!U#^O!W!lO!]!pO$i!eO$m!fO$q!gO$s!hO%T!iO%V!jO%Z!kO%]!lO%^!mO%f!oO%j!qO%s!rO'Q#VO'T#SO~OPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdO~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!j#eO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdO~P)xO[#}Oo#xO}#zO!l#yO!q#jO!t#yO#O#xO#P#uO#p$OO'g#gO'q#yO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO~OPoOQ!QOSVOTVOZeOd[OsVOtVOuVOw!PO!U#bO!W#cO!X!^O!Z!YO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO[#sXo#sXy#sX}#sX!l#sX!q#sX!t#sX#O#sX#P#sX#p#sX'g#sX'q#sX'r#sX'x#sX'y#sX'z#sX'{#sX'|#sX'}#sX(O#sX(P#sX(Q#sX(R#sX(T#sXX#sX!e#sX!P#sXv#sX#R#sX~P)xOX(SX!e(SX!P(SXw(SX#R(SX~P*`OPoOQ!QOSVOTVOX$ROZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q$UO'ZkO'^UO'gcO'qiO(QdO~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!P$XO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q$UO'ZkO'^UO'gcO'qiO(QdO~P)xOQ!QOSVOTVO[$gO^$pO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!l$lO!q$hO#V$lO'T$YO'^UO'g$[O~O!j$rOP(XP~P<cOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Q$uO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdO~P)xOw$vO~Oo'bX#O'bX#P'bX#p'bX'r'bX'x'bX'y'bX'z'bX'{'bX'|'bX'}'bX(O'bX(P'bX(R'bX(T'bX~OP%tXQ%tXS%tXT%tXZ%tX[%tX^%tX_%tX`%tXa%tXd%tXg%tXs%tXt%tXu%tXw%tXy%tX|%tX}%tX!Q%tX!U%tX!W%tX!X%tX!Z%tX!]%tX!l%tX!q%tX!t%tX#Y%tX#r%tX#{%tX$O%tX$b%tX$d%tX$f%tX$i%tX$m%tX$q%tX$s%tX%T%tX%V%tX%Z%tX%]%tX%^%tX%f%tX%j%tX%s%tX&z%tX'Q%tX'T%tX'Z%tX'^%tX'g%tX'q%tX(Q%tXv%tX~P@[Oy$xO['bX}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bXv'bX~P@[Ow$yO!Q(iX!U(iX!W(iX$q(iX%](iX%^(iX~Oy$zO~PEsO!Q$}O!U%UO!W!lO$m%OO$q%PO$s%QO%T%RO%V%SO%Z%TO%]!lO%^%VO%f%WO%j%XO%s%YO~O!Q!lO!U!lO!W!lO$q%[O%]!lO~O%^%VO~PGaOPoOQ!QOSVOTVOZeO[lO^RO_RO`ROa!UOd[Og!nOsVOtVOuVOw!POyvO|!VO}mO!Q!dO!U!WO!W!XO!X!^O!Z!YO!]!pO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO$i!eO$m!fO$q!gO$s!hO%T!iO%V!jO%Z!kO%]!lO%^!mO%f!oO%j!qO%s!rO'Q#VO'TQO'ZkO'^UO'gcO'qiO(QdO~Ov%`O~P]OQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO!Q{X!U{X!W{X$m{X$q{X$s{X%T{X%V{X%Z{X%]{X%^{X%f{X%j{X%s{X~P'ZO!Q{X!U{X!W{X$m{X$q{X$s{X%T{X%V{X%Z{X%]{X%^{X%f{X%j{X%s{X~O}%}O'T{XQ{XZ{X[{X^{X_{X`{Xa{Xd{Xg{X!q{X$f{X&W{X'Z{X(Q{X~PMuOg&PO%f%WO!Q(iX!U(iX!W(iX$q(iX%](iX%^(iX~Ow!PO~P! yOw!PO!X&RO~PEvOPoOQ!QOSVOTVOZeO[lO^9qO_9qO`9qOa9qOd9tOsVOtVOuVOw!PO}mO!U#bO!W#cO!X:zO!Z!YO!]&UO!l9wO!q9vO!t9wO#Y!_O#r9zO#{9{O$O!]O$b!`O$d!bO$f!cO'T9oO'ZkO'^UO'gcO'q9wO(QdO~OPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdOo#qXy#qX#O#qX#P#qX#p#qX'r#qX'x#qX'y#qX'z#qX'{#qX'|#qX'}#qX(O#qX(P#qX(R#qX(T#qXX#qX!e#qX!P#qXv#qX#R#qX~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdOo#zXy#zX#O#zX#P#zX#p#zX'r#zX'x#zX'y#zX'z#zX'{#zX'|#zX'}#zX(O#zX(P#zX(R#zX(T#zXX#zX!e#zX!P#zXv#zX#R#zX~P)xO'ZkO[#}Xo#}Xy#}X}#}X!l#}X!q#}X!t#}X#O#}X#P#}X#p#}X'g#}X'q#}X'r#}X'x#}X'y#}X'z#}X'{#}X'|#}X'}#}X(O#}X(P#}X(Q#}X(R#}X(T#}XX#}X!e#}X!P#}Xv#}Xw#}X#R#}X~OPoO~OPoOQ!QOSVOTVOZeO[lO^9qO_9qO`9qOa9qOd9tOsVOtVOuVOw!PO}mO!U#bO!W#cO!X:zO!Z!YO!l9wO!q9vO!t9wO#Y!_O#r9zO#{9{O$O!]O$b!`O$d!bO$f!cO'T9oO'ZkO'^UO'gcO'q9wO(QdO~O!S&_O~Ow!PO~O!j&bO~P<cO'T&cO~PEvOZ&eO~O'T&cO~O'^UOw(^Xy(^X!Q(^X!U(^X!W(^X$q(^X%](^X%^(^X~Oa&hO~P!1iO'T&iO~O_&nO'T&cO~OQ&oOZ&pO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO!j&uO~P<cO^&wO_&wO`&wOa&wOd'POw&|O'T&vO(Q&}O~O!i'UO!j'TO'T&cO~O&}!sO'O'VO'P'XO~Or!uO']'ZO'_!uO~OQ']O^'ia_'ia`'iaa'ia'T'ia~O['cOw'dO}'bO~OQ']O~OQ!QO^#TO_#TO`#TOa'kOd#ZO'T#SO~O['lO~OZbXdlXXbXobXPbX!SbX!ebX'rbX!PbX!ObXybX!ZbX#RbXvbX~O[bXwbX}bX~P!6mOZ'SXd'XXX'SX['SXo'SXw'SX}'SX#p'SXP'SX!S'SX!e'SX'r'SX!P'SX!O'SXy'SX!Z'SX#R'SXv'SX~O^#TO_#TO`#TOa'kO'T#SO~OZ'mO~Od'oO~OZ'SXd'XX~PMuOZ'pOX(SX!e(SX!P(SXw(SX#R(SX~P*`O[#}O}#zO(O#|O(R#fOo#_ay#_a!l#_a!q#_a!t#_a#O#_a#P#_a#p#_a'g#_a'q#_a'r#_a'x#_a'y#_a'z#_a'{#_a'|#_a'}#_a(P#_a(Q#_a(T#_aX#_a!e#_a!P#_av#_aw#_a#R#_a~Ow!PO!X&RO~Oy#caX#ca!e#ca!P#cav#ca#R#ca~P2gOPoOQ!QOSVOTVOZeOd[OsVOtVOuVOw!PO!U#bO!W#cO!X!^O!Z!YO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO[#sao#say#sa}#sa!l#sa!q#sa!t#sa#O#sa#P#sa#p#sa'g#sa'q#sa'r#sa'x#sa'y#sa'z#sa'{#sa'|#sa'}#sa(O#sa(P#sa(Q#sa(R#sa(T#saX#sa!e#sa!P#sav#sa#R#sa~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q#VO'ZkO'^UO'gcO'qiO(QdO!P(UP~P)xOu(SO#w(TO'T(RO~O[#}O}#zO!q#jO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO!l#sa!t#sa#p#sa'q#sa~Oo#xO#O#xO#P#uOy#saX#sa!e#sa!P#sav#sa#R#sa~P!B}Oy(YO!e(WOX(WX~P2gOX(ZO~OPoOQ!QOSVOTVOX(ZOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q$UO'ZkO'^UO'gcO'qiO(QdO~P)xOZ#RO~O!P(_O!e(WO~P2gOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q$UO'ZkO'^UO'gcO'qiO(QdO~P)xOZbXdlXwjX}jX!tbX'qbX~OP!RX!S!RX!e!RX'p!RX'r!RX!O!RXo!RXy!RX!P!RXX!RX!Z!RX#R!RXv!RX~P!JUOZ'SXd'XXw'kX}'kX!t'SX'q'SX~OP!`X!S!`X!e!`X'r!`X!O!`Xo!`Xy!`X!P!`XX!`X!Z!`X#R!`Xv!`X~P!KgOT(aOu(aO~O!t(bO'q(bOP!^X!S!^X!e!^X'r!^X!O!^Xo!^Xy!^X!P!^XX!^X!Z!^X#R!^Xv!^X~O^9rO_9rO`9yOa9yO'T9pO~Od(eO~O'p(fOP'hX!S'hX!e'hX'r'hX!O'hXo'hXy'hX!P'hXX'hX!Z'hX#R'hXv'hX~O!j&bO!P'lP~P<cOw(kO}(jO~O!j&bOX'lP~P<cO!j(oO~P<cOZ'pO!t(bO'q(bO~O!S(qO'r(pOP$WX!e$WX~O!e(rOP(YX~OP(tO~OP!aX!S!aX!e!aX'r!aX!O!aXo!aXy!aX!P!aXX!aX!Z!aX#R!aXv!aX~P!KgOy$UaX$Ua!e$Ua!P$Uav$Ua#R$Ua~P2gO!l(|O'Q#VO'T(xOv(ZP~OQ!QO^#TO_#TO`#TOa#]Od#ZOg!nOyvO|!VO!Q!dO!U#^O!W!lO!]!pO$i!eO$m!fO$q!gO$s!hO%T!iO%V!jO%Z!kO%]!lO%^!mO%f!oO%j!qO%s!rO'Q`O'T#SO~Ov)TO~P#$iOy)VO~PEsO%^)WO~PGaOa)ZO~P!1iO%f)`O~PEvO_)aO'T&cO~O!i)fO!j)eO'T&cO~O'^UO!Q(^X!U(^X!W(^X$q(^X%](^X%^(^X~Ov%uX~P2gOv)gO~PGyOv)gO~Ov)gO~P]OQiXQ'XXZiXd'XX}iX#piX(PiX~ORiXwiX$fiX$|iX[iXoiXyiX!liX!qiX!tiX#OiX#PiX'giX'qiX'riX'xiX'yiX'ziX'{iX'|iX'}iX(OiX(QiX(RiX(TiX!PiX!eiXXiXPiXviX!SiX#RiX~P#(kOQjXQlXRjXZjXdlX}jX#pjX(PjXwjX$fjX$|jX[jXojXyjX!ljX!qjX!tjX#OjX#PjX'gjX'qjX'rjX'xjX'yjX'zjX'{jX'|jX'}jX(OjX(QjX(RjX(TjX!PjX!ejXXjX!SjXPjXvjX#RjX~O%^)jO~PGaOQ']Od)kO~O^)mO_)mO`)mOa)mO'T%dO~Od)qO~OQ']OZ)uO})sOR'UX#p'UX(P'UXw'UX$f'UX$|'UX['UXo'UXy'UX!l'UX!q'UX!t'UX#O'UX#P'UX'g'UX'q'UX'r'UX'x'UX'y'UX'z'UX'{'UX'|'UX'}'UX(O'UX(Q'UX(R'UX(T'UX!P'UX!e'UXX'UXP'UXv'UX!S'UX#R'UX~OQ!QO^:bO_:^O`TOaTOd:aO%^)jO'T:_O~PGaOQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!j)yO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaOQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!P)|O!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO(P*OO~OR*QO#p*RO(P*PO~OQhXQ'XXZhXd'XX}hX(PhX~ORhX#phXwhX$fhX$|hX[hXohXyhX!lhX!qhX!thX#OhX#PhX'ghX'qhX'rhX'xhX'yhX'zhX'{hX'|hX'}hX(OhX(QhX(RhX(ThX!PhX!ehXXhXPhXvhX!ShX#RhX~P#4kOQ*SO~O})sO~OQ!QO^%vO_%cO`TOaTOd%jO$f%wO%^%xO'T%dO~PGaO!Q*VO!j*VO~O^*YO`*YOa*YO!O*ZO~OQ&oOZ*[O[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO[#}Oo:YO}#zO!l:ZO!q#jO!t:ZO#O:YO#P:VO#p$OO'g#gO'q:ZO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO~Ow'dX~P#9vOy#qaX#qa!e#qa!P#qav#qa#R#qa~P2gOy#zaX#za!e#za!P#zav#za#R#za~P2gOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!S&_O!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdOo#zay#za#O#za#P#za#p#za'r#za'x#za'y#za'z#za'{#za'|#za'}#za(O#za(P#za(R#za(T#zaX#za!e#za!P#zav#za#R#za~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Q*eO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdO~P)xOw*fO~P#9vO$b*iO$d*jO$f*kO~O!O*lO'r(pO~O!S*nO~O'T*oO~Ow$yOy*qO~O'T*rO~OQ*uOw*vOy*yO}*wO$|*xO~OQ*uOw*vO$|*xO~OQ*uOw+QO$|*xO~OQ*uOo+VOy+XO!S+UO~OQ*uO}+ZO~OQ!QOZ%rO[%qO^%vO`TOaTOd%jOg%yO}%pO!U!lO!W!lO!q%oO$f%wO$q%[O%]!lO%^%xO&W%{O'T%dO'Z%eO(Q%zO~OR+bO_+^O!Q+cO~P#DkO_%cO!Q!lOw&UX$|&UX(P&UX~P#DkOw$yO$f+hO$|*xO(P*PO~OQ!QOZ*[O[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaOQ*uOw$yO!S+UO$|*xO~Oo+nOy+mO!S+oO'r(pO~OdlXy!RX#pbXv!RX!e!RX~Od'XXy(mX#p'SXv(mX!e(mX~Od+qO~O^#TO_#TO`#TOa'kOw&|O'T&vO(Q+vO~Ov(oP~P!3|O#p+{O~Oy+|O~O!S+}O~O&}!sO'O'VO'P,PO~Od,QO~OSVOTVO_%cOsVOtVOuVOw!PO!Q!lO'^UO~P#DkOS,^OT,^OZ,^O['cO_,YOd,^Oo,^Os,^Ou,^Ow'dOy,^O}'bO!S,^O!e,^O!l,^O!q,[O!t,^O!y,^O#O,^O#P,^O#Q,^O#R,^O'Q,^O'Z%eO'^UO'g,ZO'r,[O'v,_O'x,ZO'y,[O'z,[O'{,[O'|,]O'},]O(O,^O(P,`O(Q,`O(R,aO~O!P,dO~P#KkOX,gO~P#KkOv,iO~P#KkOo'tX#O'tX#P'tX#p'tX'r'tX'x'tX'y'tX'z'tX'{'tX'|'tX'}'tX(O'tX(P'tX(R'tX(T'tX~Oy,jO['tX}'tX!l'tX!q'tX!t'tX'g'tX'q'tX(Q'tXv'tX~P#NjOP$giQ$giS$giT$giZ$gi[$gi^$gi_$gi`$gia$gid$gig$gis$git$giu$giw$giy$gi|$gi}$gi!Q$gi!U$gi!W$gi!X$gi!Z$gi!]$gi!l$gi!q$gi!t$gi#Y$gi#r$gi#{$gi$O$gi$b$gi$d$gi$f$gi$i$gi$m$gi$q$gi$s$gi%T$gi%V$gi%Z$gi%]$gi%^$gi%f$gi%j$gi%s$gi&z$gi'Q$gi'T$gi'Z$gi'^$gi'g$gi'q$gi(Q$giv$gi~P#NjOX,kO~O['cOo,lOw'dO}'bOX]X~Oy#ciX#ci!e#ci!P#civ#ci#R#ci~P2gO[#}O}#zO'x#hO(O#|O(Q#hO(R#fO(T#hOo#eiy#ei!l#ei!q#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'y#ei'z#ei'{#ei'|#ei'}#eiX#ei!e#ei!P#eiv#ei#R#ei~O'g#ei(P#ei~P$'PO[#}O}#zO(O#|O(R#fOo#eiy#ei!l#ei!q#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'y#ei'z#ei'{#ei'|#ei'}#eiX#ei!e#ei!P#eiv#ei#R#ei~O'g#ei'x#ei(P#ei(Q#ei(T#eiw#ei~P$)QO'g#gO(P#gO~P$'PO[#}O}#zO'g#gO'x#hO'y#iO'z#iO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiy#ei!l#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'{#ei'|#ei'}#eiX#ei!e#ei!P#eiv#ei#R#ei~O!q#ei~P$+`O!q#jO~P$+`O[#}O}#zO!q#jO'g#gO'x#hO'y#iO'z#iO'{#kO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiy#ei!l#ei!t#ei#O#ei#P#ei#p#ei'q#ei'|#ei'}#eiX#ei!e#ei!P#eiv#ei#R#ei~O'r#ei~P$-hO'r#lO~P$-hO[#}O}#zO!q#jO#P#uO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiy#ei!l#ei!t#ei#O#ei#p#ei'q#ei'|#eiX#ei!e#ei!P#eiv#ei#R#ei~O'}#ei~P$/pO'}#mO~P$/pO[#}O}#zO!q#jO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO!l#ni!t#ni#p#ni'q#ni~Oo#xO#O#xO#P#uOy#niX#ni!e#ni!P#niv#ni#R#ni~P$1xO[#}O}#zO!q#jO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO!l#si!t#si#p#si'q#si~Oo#xO#O#xO#P#uOy#siX#si!e#si!P#siv#si#R#si~P$3yOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q#VO'ZkO'^UO'gcO'qiO(QdO~P)xO!e,sO!P(VX~P2gO!P,uO~OX,vO~P2gOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdOX&fX!e&fX!P&fX~P)xO!e(WOX(Wa~Oy,zO!e(WOX(WX~P2gOX,{O~O!P,|O!e(WO~O!P-OO!e(WO~P2gOSVOTVOsVOtVOuVO'^UO'g$[O~P!6POP!baZca!S!ba!e!ba!tca'qca'r!ba!O!bao!bay!ba!P!baX!ba!Z!ba#R!bav!ba~O!e-TO'r(pO!P'mXX'mX~O!P-VO~O!i-`O!j-_O!l-[O'T-XOv'nP~OX-aO~O_%cO!Q!lO~P#DkO!j-gOP&gX!e&gX~P<cO!e(rOP(Ya~O!S-iO'r(pOP$Wa!e$Wa~Ow!PO(P*PO~OvbX!S!kX!ebX~O'Q#VO'T(xO~O!S-mO~O!e-oOv([X~Ov-qO~Ov-sO~P,cOv-sO~P#$iO_-uO'T&cO~O!S-vO~Ow$yOy-wO~OQ*uOw*vOy-zO}*wO$|*xO~OQ*uOo.UO~Oy._O~O!S.`O~O!j.bO'T&cO~Ov.cO~Ov.cO~PGyOQ']O^'Wa_'Wa`'Waa'Wa'T'Wa~Od.gO~OQ'XXQ'kXR'kXZ'kXd'XX}'kX#p'kX(P'kXw'kX$f'kX$|'kX['kXo'kXy'kX!l'kX!q'kX!t'kX#O'kX#P'kX'g'kX'q'kX'r'kX'x'kX'y'kX'z'kX'{'kX'|'kX'}'kX(O'kX(Q'kX(R'kX(T'kX!P'kX!e'kXX'kXP'kXv'kX!S'kX#R'kX~OQ!QOZ%rO[%qO^.rO_%cO`TOaTOd%jOg%yO}%pO!j.sO!q.pO!t.kO#V.mO$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO!P(sP~PGaO#Q.tOR%wa#p%wa(P%waw%wa$f%wa$|%wa[%wao%way%wa}%wa!l%wa!q%wa!t%wa#O%wa#P%wa'g%wa'q%wa'r%wa'x%wa'y%wa'z%wa'{%wa'|%wa'}%wa(O%wa(Q%wa(R%wa(T%wa!P%wa!e%waX%waP%wav%wa!S%wa#R%wa~O%^.vO~PGaO(P*POR&Oa#p&Oaw&Oa$f&Oa$|&Oa[&Oao&Oay&Oa}&Oa!l&Oa!q&Oa!t&Oa#O&Oa#P&Oa'g&Oa'q&Oa'r&Oa'x&Oa'y&Oa'z&Oa'{&Oa'|&Oa'}&Oa(O&Oa(Q&Oa(R&Oa(T&Oa!P&Oa!e&OaX&OaP&Oav&Oa!S&Oa#R&Oa~O_%cO!Q!lO!j.xO(P*OO~P#DkO!e.yO(P*PO!P(uX~O!P.{O~OX.|Oy.}O(P*PO~O'Z%eOR(qP~OQ']O})sORfa#pfa(Pfawfa$ffa$|fa[faofayfa!lfa!qfa!tfa#Ofa#Pfa'gfa'qfa'rfa'xfa'yfa'zfa'{fa'|fa'}fa(Ofa(Qfa(Rfa(Tfa!Pfa!efaXfaPfavfa!Sfa#Rfa~OQ']O})sOR&Va#p&Va(P&Vaw&Va$f&Va$|&Va[&Vao&Vay&Va!l&Va!q&Va!t&Va#O&Va#P&Va'g&Va'q&Va'r&Va'x&Va'y&Va'z&Va'{&Va'|&Va'}&Va(O&Va(Q&Va(R&Va(T&Va!P&Va!e&VaX&VaP&Vav&Va!S&Va#R&Va~O!P/UO~Ow$yO$f/ZO$|*xO(P*PO~OQ!QOZ/[O[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaOo/^O'r(pO~O#W/_OP!YiQ!YiS!YiT!YiZ!Yi[!Yi^!Yi_!Yi`!Yia!Yid!Yig!Yio!Yis!Yit!Yiu!Yiw!Yiy!Yi|!Yi}!Yi!Q!Yi!U!Yi!W!Yi!X!Yi!Z!Yi!]!Yi!l!Yi!q!Yi!t!Yi#O!Yi#P!Yi#Y!Yi#p!Yi#r!Yi#{!Yi$O!Yi$b!Yi$d!Yi$f!Yi$i!Yi$m!Yi$q!Yi$s!Yi%T!Yi%V!Yi%Z!Yi%]!Yi%^!Yi%f!Yi%j!Yi%s!Yi&z!Yi'Q!Yi'T!Yi'Z!Yi'^!Yi'g!Yi'q!Yi'r!Yi'x!Yi'y!Yi'z!Yi'{!Yi'|!Yi'}!Yi(O!Yi(P!Yi(Q!Yi(R!Yi(T!YiX!Yi!e!Yi!P!Yiv!Yi!i!Yi!j!Yi#V!Yi#R!Yi~Oy#ziX#zi!e#zi!P#ziv#zi#R#zi~P2gOy$UiX$Ui!e$Ui!P$Uiv$Ui#R$Ui~P2gOv/eO!j&bO'Q`O~P<cOw/nO}/mO~Oy!RX#pbX~Oy/oO~O#p/pO~OR+bO_+dO!Q/sO'T&iO'Z%eO~Oa/zO|!VO'Q#VO'T(ROv(cP~OQ!QOZ%rO[%qO^%vO_%cO`TOa/zOd%jOg%yO|!VO}%pO!q%oO$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO!P(eP~PGaOQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f0VO%^%xO&W%{O'T%dO'Z%eO(Q%zOw(`Py(`P~PGaOw*vO~Oy-zO$|*xO~Oa/zO|!VO'Q#VO'T*oOv(gP~Ow+QO~OQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f0VO%^%xO&W%{O'T%dO'Z%eO(Q%zO(R0`O~PGaOy0dO~OQ!QOSVOTVO[$gO^0lO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!j0mO!l$lO!q0eO!t0hO'Q#VO'T$YO'Z%eO'^UO'g$[O~O#V0nO!P(jP~P%1}Ow!POy0pO#Q0rO$|*xO~OR0uO!e0sO~P#(kOR0uO!S+UO!e0sO(P*OO~OR0uOo0wO!S+UO!e0sOQ'VXZ'VX}'VX#p'VX(P'VX~OR0uOo0wO!e0sO~OR0uO!e0sO~O$f/ZO(P*PO~Ow$yO~Ow$yO$|*xO~Oo0}Oy0|O!S1OO'r(pO~O!e1POv(pX~Ov1RO~O^#TO_#TO`#TOa'kOw&|O'T&vO(Q1VO~Oo1YOQ'VXR'VXZ'VX}'VX!e'VX(P'VX~O!e1ZO(P*POR'YX~O!e1ZOR'YX~O!e1ZO(P*OOR'YX~OR1]O~O!S1^OS'wXT'wXZ'wX['wX_'wXd'wXo'wXs'wXu'wXw'wXy'wX}'wX!P'wX!e'wX!l'wX!q'wX!t'wX!y'wX#O'wX#P'wX#Q'wX#R'wX'Q'wX'Z'wX'^'wX'g'wX'r'wX'v'wX'x'wX'y'wX'z'wX'{'wX'|'wX'}'wX(O'wX(P'wX(Q'wX(R'wXX'wXv'wX~O}1_O~O!P1aO~P#KkOX1bO~P#KkOv1cO~P#KkOS,^OT,^OZ,^O['cO_1dOd,^Oo,^Os,^Ou,^Ow'dOy,^O}'bO!S,^O!e,^O!l,^O!q,[O!t,^O!y,^O#O,^O#P,^O#Q,^O#R,^O'Q,^O'Z%eO'^UO'g,ZO'r,[O'v,_O'x,ZO'y,[O'z,[O'{,[O'|,]O'},]O(O,^O(P,`O(Q,`O(R,aO~OX1fO~Oy,jO~O!e,sO!P(Va~P2gOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q#VO'ZkO'^UO'gcO'qiO(QdO!P&eX!e&eX~P)xO!e,sO!P(Va~OX&fa!e&fa!P&fa~P2gOX1kO~P2gO!P1mO!e(WO~OP!biZci!S!bi!e!bi!tci'qci'r!bi!O!bio!biy!bi!P!biX!bi!Z!bi#R!biv!bi~O'r(pOP!oi!S!oi!e!oi!O!oio!oiy!oi!P!oiX!oi!Z!oi#R!oiv!oi~O!j&bO!P&`X!e&`XX&`X~P<cO!e-TO!P'maX'ma~O!P1qO~Ov!RX!S!kX!e!RX~O!S1rO~O!e1sOv'oX~Ov1uO~O'T-XO~O!j1xO'T-XO~O(P*POP$Wi!e$Wi~O!S1yO'r(pOP$XX!e$XX~O!S1|O~Ov$_a!e$_a~P2gO!l(|O'Q#VO'T(xOv&hX!e&hX~O!e-oOv([a~Ov2QO~P,cOy2UO~O#p2VO~Oy2WO$|*xO~Ow*vOy2WO}*wO$|*xO~Oo2aO~Ow!POy2fO#Q2hO$|*xO~O!S2jO~Ov2lO~O#Q2mOR%wi#p%wi(P%wiw%wi$f%wi$|%wi[%wio%wiy%wi}%wi!l%wi!q%wi!t%wi#O%wi#P%wi'g%wi'q%wi'r%wi'x%wi'y%wi'z%wi'{%wi'|%wi'}%wi(O%wi(Q%wi(R%wi(T%wi!P%wi!e%wiX%wiP%wiv%wi!S%wi#R%wi~Od2nO~O^2qO!j.sO!q2rO'Q#VO'Z%eO~O(P*PO!P%{X!e%{X~O!e2sO!P(tX~O!P2uO~OQ!QOZ%rO[%qO^2wO_%cO`TOaTOd%jOg%yO}%pO!j2xO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO^2yO!j2xO(P*OO~O!P%aX!e%aX~P#4kO^2yO~O(P*POR&Oi#p&Oiw&Oi$f&Oi$|&Oi[&Oio&Oiy&Oi}&Oi!l&Oi!q&Oi!t&Oi#O&Oi#P&Oi'g&Oi'q&Oi'r&Oi'x&Oi'y&Oi'z&Oi'{&Oi'|&Oi'}&Oi(O&Oi(Q&Oi(R&Oi(T&Oi!P&Oi!e&OiX&OiP&Oiv&Oi!S&Oi#R&Oi~O_%cO!Q!lO!P&yX!e&yX~P#DkO!e.yO!P(ua~OR3QO(P*PO~O!e3ROR(rX~OR3TO~O(P*POR&Pi#p&Piw&Pi$f&Pi$|&Pi[&Pio&Piy&Pi}&Pi!l&Pi!q&Pi!t&Pi#O&Pi#P&Pi'g&Pi'q&Pi'r&Pi'x&Pi'y&Pi'z&Pi'{&Pi'|&Pi'}&Pi(O&Pi(Q&Pi(R&Pi(T&Pi!P&Pi!e&PiX&PiP&Piv&Pi!S&Pi#R&Pi~O!P3UO~O$f3VO(P*PO~Ow$yO$f3VO$|*xO(P*PO~Ow!PO!Z!YO~O!Z3aO#R3_O'r(pO~O!j&bO'Q#VO~P<cOv3eO~Ov3eO!j&bO'Q`O~P<cO!O3hO'r(pO~Ow!PO~P#9vOo3kOy3jO(P*PO~O!P3oO~P%;pOv3rO~P%;pOR0uO!S+UO!e0sO~OR0uOo0wO!S+UO!e0sO~Oa/zO|!VO'Q#VO'T(RO~O!S3uO~O!e3wOv(dX~Ov3yO~OQ!QOZ%rO[%qO^%vO_%cO`TOa/zOd%jOg%yO|!VO}%pO!q%oO$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO~PGaO!e3|O(P*PO!P(fX~O!P4OO~O!S4PO(P*OO~O!S+UO(P*PO~O!e4ROw(aXy(aX~OQ4TO~Oy2WO~Oa/zO|!VO'Q#VO'T*oO~Oo4WOw*vO}*wOv%XX!e%XX~O!e4ZOv(hX~Ov4]O~O(P4_Oy(_Xw(_X$|(_XR(_Xo(_X!e(_X~Oy4aO(P*PO~OQ!QOSVOTVO[$gO^4bO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!l$lO!q$hO#V$lO'T$YO'^UO'g$[O~O!j4cO'Z%eO~P&,sO!S4eO'r(pO~O#V4gO~P%1}O!e4hO!P(kX~O!P4jO~O!P%aX!S!aX!e%aX'r!aX~P!KgO!j&bO~P&,sO!e4hO!P(kX!S'eX'r'eX~O^2yO!j2xO~Ow!POy2fO~O_4pO!Q/sO'T&iO'Z%eOR&lX!e&lX~OR4rO!e0sO~O!S4tO~Ow$yO$|*xO(P*PO~Oy4uO~P2gOo4vOy4uO(P*PO~Ov&uX!e&uX~P!3|O!e1POv(pa~Oo4|Oy4{O(P*PO~OSVOTVO_%cOsVOtVOuVOw!PO!Q!lO'^UOR&vX!e&vX~P#DkO!e1ZOR'Ya~O!y5SO~O!P5TO~P#KkO!S1^OX'wX#R'wX~O!e,sO!P(Vi~O!P&ea!e&ea~P2gOX5WO~P2gOP!bqZcq!S!bq!e!bq!tcq'qcq'r!bq!O!bqo!bqy!bq!P!bqX!bq!Z!bq#R!bqv!bq~O'r(pO!P&`a!e&`aX&`a~O!i-`O!j-_O!l5YO'T-XOv&aX!e&aX~O!e1sOv'oa~O!S5[O~O!S5`O'r(pOP$Xa!e$Xa~O(P*POP$Wq!e$Wq~Ov$^i!e$^i~P2gOw!POy5bO#Q5dO$|*xO~Oo5gOy5fO(P*PO~Oy5iO~Oy5iO$|*xO~Oy5mO(P*PO~Ow!POy5bO~Oo5tOy5sO(P*PO~O!S5vO~O!e2sO!P(ta~O^2yO!j2xO'Z%eO~OQ!QOZ%rO[%qO^.rO_%cO`TOaTOd%jOg%yO}%pO!j.sO!q.pO!t5zO#V5|O$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO!P&xX!e&xX~PGaOQ!QOZ%rO[%qO^6OO_%cO`TOaTOd%jOg%yO}%pO!j6PO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(P*OO(Q%zO~PGaO!P%aa!e%aa~P#4kO^6QO~O#Q6ROR%wq#p%wq(P%wqw%wq$f%wq$|%wq[%wqo%wqy%wq}%wq!l%wq!q%wq!t%wq#O%wq#P%wq'g%wq'q%wq'r%wq'x%wq'y%wq'z%wq'{%wq'|%wq'}%wq(O%wq(Q%wq(R%wq(T%wq!P%wq!e%wqX%wqP%wqv%wq!S%wq#R%wq~O(P*POR&Oq#p&Oqw&Oq$f&Oq$|&Oq[&Oqo&Oqy&Oq}&Oq!l&Oq!q&Oq!t&Oq#O&Oq#P&Oq'g&Oq'q&Oq'r&Oq'x&Oq'y&Oq'z&Oq'{&Oq'|&Oq'}&Oq(O&Oq(Q&Oq(R&Oq(T&Oq!P&Oq!e&OqX&OqP&Oqv&Oq!S&Oq#R&Oq~O(P*PO!P&ya!e&ya~OX6SO~P2gO'Z%eOR&wX!e&wX~O!e3ROR(ra~O$f6YO(P*PO~Ow![q~P#9vO#R6]O~O!Z3aO#R6]O'r(pO~Ov6bO~O#R6fO~Oy6gO!P6hO~O!P6hO~P%;pOy6kO~Ov6kOy6gO~Ov6kO~P%;pOy6mO~O!e3wOv(da~O!S6pO~Oa/zO|!VO'Q#VO'T(ROv&oX!e&oX~O!e3|O(P*PO!P(fa~OQ!QOZ%rO[%qO^%vO_%cO`TOa/zOd%jOg%yO|!VO}%pO!q%oO$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO!P&pX!e&pX~PGaO!e3|O!P(fa~OQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f0VO%^%xO&W%{O'T%dO'Z%eO(Q%zOw&nX!e&nXy&nX~PGaO!e4ROw(aay(aa~O!e4ZOv(ha~Oo7SOv%Xa!e%Xa~Oo7SOw*vO}*wOv%Xa!e%Xa~Oa/zO|!VO'Q#VO'T*oOv&qX!e&qX~O(P*POy$xaw$xa$|$xaR$xao$xa!e$xa~O(P4_Oy(_aw(_a$|(_aR(_ao(_a!e(_a~O!P%aa!S!aX!e%aa'r!aX~P!KgOQ!QOSVOTVO[$gO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!j&bO!l$lO!q$hO#V$lO'T$YO'^UO'g$[O~O^7ZO~P&JUO^6QO!j6PO~O!e4hO!P(ka~O!e4hO!P(ka!S'eX'r'eX~OQ!QOSVOTVO[$gO^0lO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!j0mO!l$lO!q0eO!t7_O'Q#VO'T$YO'Z%eO'^UO'g$[O~O#V7aO!P&sX!e&sX~P&L]O!S7cO'r(pO~Ow!POy5bO$|*xO(P*PO~O!S+UOR&la!e&la~Oo0wO!S+UOR&la!e&la~Oo0wOR&la!e&la~O(P*POR$yi!e$yi~Oy7fO~P2gOo7gOy7fO(P*PO~O(P*PORni!eni~O(P*POR&va!e&va~O(P*OOR&va!e&va~OS,^OT,^OZ,^O_,^Od,^Oo,^Os,^Ou,^Oy,^O!S,^O!e,^O!l,^O!q,[O!t,^O!y,^O#O,^O#P,^O#Q,^O#R,^O'Q,^O'Z%eO'^UO'g,ZO'r,[O'x,ZO'y,[O'z,[O'{,[O'|,]O'},]O(O,^O~O(P7iO(Q7iO(R7iO~P'!qO!P7kO~P#KkO!P&ei!e&ei~P2gO'r(pOv!hi!e!hi~O!S7mO~O(P*POP$Xi!e$Xi~Ov$^q!e$^q~P2gOw!POy7oO~Ow!POy7oO#Q7rO$|*xO~Oy7tO~Oy7uO~Oy7vO(P*PO~Ow!POy7oO$|*xO(P*PO~Oo7{Oy7zO(P*PO~O!e2sO!P(ti~O(P*PO!P%}X!e%}X~O!P%ai!e%ai~P#4kO^8OO~O!e8TO['bXv$`i}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[OQ#[iS#[iT#[i[#[i^#[i_#[i`#[ia#[id#[is#[it#[iu#[iv$`i}#[i!i#[i!j#[i!l#[i!q#[i!t'bX#V#[i'Q#[i'T#[i'^#[i'g#[i'q'bX(Q'bX~P@[O#R#^a~P2gO#R8WO~O!Z3aO#R8XO'r(pO~Ov8[O~Oy8^O~P2gOy8`O~Oy6gO!P8aO~Ov8`Oy6gO~O!e3wOv(di~O(P*POv%Qi!e%Qi~O!e3|O!P(fi~O!e3|O(P*PO!P(fi~O(P*PO!P&pa!e&pa~O(P8hOw(bX!e(bXy(bX~O(P*PO!S$wiy$wiw$wi$|$wiR$wio$wi!e$wi~O!e4ZOv(hi~Ov%Xi!e%Xi~P2gOo8kOv%Xi!e%Xi~O!P%ai!S!aX!e%ai'r!aX~P!KgO(P*PO!P%`i!e%`i~O!e4hO!P(ki~O#V8nO~P&L]O!P&sa!S'eX!e&sa'r'eX~O(P*POR$zq!e$zq~Oy8pO~P2gOy7zO~P2gO(P8rO(Q8rO(R8rO~O(P8rO(Q8rO(R8rO~P'!qO'r(pOv!hq!e!hq~O(P*POP$Xq!e$Xq~Ow!POy8uO$|*xO(P*PO~Ow!POy8uO~Oy8xO~P2gOy8zO~P2gOo8|Oy8zO(P*PO~OQ#[qS#[qT#[q[#[q^#[q_#[q`#[qa#[qd#[qs#[qt#[qu#[qv$`q}#[q!i#[q!j#[q!l#[q!q#[q#V#[q'Q#[q'T#[q'^#[q'g#[q~O!e9PO['bXv$`q}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[Oo'bX!t'bX#O'bX#P'bX#p'bX'q'bX'r'bX'x'bX'y'bX'z'bX'{'bX'|'bX'}'bX(O'bX(P'bX(Q'bX(R'bX(T'bX~P'2fO#R9UO~O!Z3aO#R9UO'r(pO~Oy9WO~O(P*POv%Qq!e%Qq~O!e3|O!P(fq~O(P*PO!P&pi!e&pi~O(P8hOw(ba!e(bay(ba~Ov%Xq!e%Xq~P2gO!P&si!S'eX!e&si'r'eX~O(P*PO!P%`q!e%`q~Oy9]O~P2gO(P9^O(Q9^O(R9^O~O'r(pOv!hy!e!hy~Ow!POy9_O~Ow!POy9_O$|*xO(P*PO~Oy9aO~P2gOQ#[yS#[yT#[y[#[y^#[y_#[y`#[ya#[yd#[ys#[yt#[yu#[yv$`y}#[y!i#[y!j#[y!l#[y!q#[y#V#[y'Q#[y'T#[y'^#[y'g#[y~O!e9dO['bXv$`y}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[Oo'bX!t'bX#O'bX#P'bX#p'bX'q'bX'r'bX'x'bX'y'bX'z'bX'{'bX'|'bX'}'bX(O'bX(P'bX(Q'bX(R'bX(T'bX~P'9eO!e9eO['bX}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[OQ#[iS#[iT#[i[#[i^#[i_#[i`#[ia#[id#[is#[it#[iu#[i}#[i!i#[i!j#[i!l#[i!q#[i!t'bX#V#[i'Q#[i'T#[i'^#[i'g#[i'q'bX(Q'bX~P@[O#R9hO~O(P*PO!P&pq!e&pq~Ov%Xy!e%Xy~P2gOw!POy9iO~Oy9jO~P2gOQ#[!RS#[!RT#[!R[#[!R^#[!R_#[!R`#[!Ra#[!Rd#[!Rs#[!Rt#[!Ru#[!Rv$`!R}#[!R!i#[!R!j#[!R!l#[!R!q#[!R#V#[!R'Q#[!R'T#[!R'^#[!R'g#[!R~O!e9kO['bX}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[OQ#[qS#[qT#[q[#[q^#[q_#[q`#[qa#[qd#[qs#[qt#[qu#[q}#[q!i#[q!j#[q!l#[q!q#[q!t'bX#V#[q'Q#[q'T#[q'^#[q'g#[q'q'bX(Q'bX~P@[O!e9nO['bX}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[OQ#[yS#[yT#[y[#[y^#[y_#[y`#[ya#[yd#[ys#[yt#[yu#[y}#[y!i#[y!j#[y!l#[y!q#[y!t'bX#V#[y'Q#[y'T#[y'^#[y'g#[y'q'bX(Q'bX~P@[OwbX~P$|OwjX}jX!tbX'qbX~P!6mOZ'SXd'XXo'SXw'kX!t'SX'q'SX'r'SX~O['SXd'SXw'SX}'SX!l'SX!q'SX#O'SX#P'SX#p'SX'g'SX'x'SX'y'SX'z'SX'{'SX'|'SX'}'SX(O'SX(P'SX(Q'SX(R'SX(T'SX~P'GTOP'SX}'kX!S'SX!e'SX!O'SXy'SX!P'SXX'SX!Z'SX#R'SXv'SX~P'GTO^9qO_9qO`9qOa9qO'T9oO~O!j:OO~P!.cOPoOQ!QOSVOTVOZeOd9tOsVOtVOuVO!U#bO!W#cO!X:zO!Z!YO#Y!_O#r9zO#{9{O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO[#sXo#sXw#sX}#sX!l#sX!q#sX!t#sX#O#sX#P#sX#p#sX'g#sX'q#sX'r#sX'x#sX'y#sX'z#sX'{#sX'|#sX'}#sX(O#sX(P#sX(Q#sX(R#sX(T#sX~P'IxO#Q$uO~P!.cO}'kXP'SX!S'SX!e'SX!O'SXy'SX!P'SXX'SX!Z'SX#R'SXv'SX~P'GTOo#qX#O#qX#P#qX#p#qX'r#qX'x#qX'y#qX'z#qX'{#qX'|#qX'}#qX(O#qX(P#qX(R#qX(T#qX~P!.cOo#zX#O#zX#P#zX#p#zX'r#zX'x#zX'y#zX'z#zX'{#zX'|#zX'}#zX(O#zX(P#zX(R#zX(T#zX~P!.cOPoOQ!QOSVOTVOZeOd9tOsVOtVOuVO!U#bO!W#cO!X:zO!Z!YO#Y!_O#r9zO#{9{O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO[#sao#saw#sa}#sa!l#sa!q#sa!t#sa#O#sa#P#sa#p#sa'g#sa'q#sa'r#sa'x#sa'y#sa'z#sa'{#sa'|#sa'}#sa(O#sa(P#sa(Q#sa(R#sa(T#sa~P'IxOo:YO#O:YO#P:VOw#sa~P!B}Ow$Ua~P#9vOQ'XXd'XX}iX~OQlXdlX}jX~O^:sO_:sO`:sOa:sO'T:_O~OQ'XXd'XX}hX~Ow#qa~P#9vOw#za~P#9vO!S&_Oo#za#O#za#P#za#p#za'r#za'x#za'y#za'z#za'{#za'|#za'}#za(O#za(P#za(R#za(T#za~P!.cO#Q*eO~P!.cOw#ci~P#9vO[#}O}#zO'x#hO(O#|O(Q#hO(R#fO(T#hOo#eiw#ei!l#ei!q#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'y#ei'z#ei'{#ei'|#ei'}#ei~O'g#ei(P#ei~P((}O'g#gO(P#gO~P((}O[#}O}#zO'g#gO'x#hO'y#iO'z#iO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiw#ei!l#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'{#ei'|#ei'}#ei~O!q#ei~P(*yO!q#jO~P(*yO[#}O}#zO!q#jO'g#gO'x#hO'y#iO'z#iO'{#kO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiw#ei!l#ei!t#ei#O#ei#P#ei#p#ei'q#ei'|#ei'}#ei~O'r#ei~P(,rO'r#lO~P(,rO[#}O}#zO!q#jO#P:VO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiw#ei!l#ei!t#ei#O#ei#p#ei'q#ei'|#ei~O'}#ei~P(.kO'}#mO~P(.kOo:YO#O:YO#P:VOw#ni~P$1xOo:YO#O:YO#P:VOw#si~P$3yOQ'XXd'XX}'kX~Ow#zi~P#9vOw$Ui~P#9vOd9}O~Ow#ca~P#9vOd:uO~OU'x_'v'P'O'^s!y'^'T'Z~",goto:"$Ku(vPPPPPPP(wPP)OPP)^PPPP)d-hP0f5aP7R7R8v7R>wD_DpPDvHQPPPPPPK`P! P! _PPPPP!!VP!$oP!$oPP!&oP!(rP!(w!)n!*f!*f!*f!(w!+]P!(w!.Q!.TPP!.ZP!(w!(w!(w!(wP!(w!(wP!(w!(w!.y!/dP!/dJ}J}J}PPPP!/d!.y!/sPP!$oP!0^!0a!0g!1h!1t!3t!3t!5r!7t!1t!1t!9p!;_!=O!>k!@U!Am!CS!De!1t!1tP!1tP!1t!1t!Et!1tP!Ge!1t!1tP!Ie!1tP!1t!7t!7t!1t!7t!1t!Kl!Mt!Mw!7t!1t!Mz!M}!M}!M}!NR!$oP!$oP!$oP! P! PP!N]! P! PP!Ni# }! PP! PP#!^##c##k#$Z#$_#$e#$e#$mP#&s#&s#&y#'o#'{! PP! PP#(]#(l! PP! PPP#(x#)W#)d#)|#)^! P! PP! P! P! PP#*S#*S#*Y#*`#*S#*S! P! PP#*m#*v#+Q#+Q#,x#.l#.x#.x#.{#.{5a5a5a5a5a5a5a5aP5a#/O#/U#/p#1{#2R#2b#6^#6d#6j#6|#7W#8w#9R#9b#9h#9n#9x#:S#:Y#:g#:m#:s#:}#;]#;g#=u#>R#>`#>f#>n#>u#?PPPPPPPP#?V#BaP#F^#Jx#Ls#Nr$&^P$&aPPP$)_$)h$)z$/U$1d$1m$3fP!(w$4`$7r$:i$>T$>^$>c$>fPPP$>i$A`$A|P$BaPPPPPPPPPP$BvP$EU$EX$E[$Eb$Ee$Eh$Ek$En$Et$HO$HR$HU$HX$H[$H_$Hb$He$Hh$Hk$Hn$Jt$Jw$Jz#*S$KW$K^$Ka$Kd$Kh$Kl$Ko$KrQ!tPT'V!s'Wi!SOlm!P!T$T$W$y%b)U*f/gQ'i#QR,n'l(OSOY[bfgilmop!O!P!T!Y!Z![!_!`!c!p!q!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r$y%X%_%b&U&Y&[&b&u&z&|'P'a'l'n'o'}(W(Y(b(d(e(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n+z,q,s,z-R-T-g-m-t.}/^/b/d/g0e0g0m0}1P1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f:gS(z$v-oQ*p&eQ*t&hQ-k(yQ-y)ZW0Z+Q0Y4Z7UR4Y0[&w!RObfgilmop!O!P!T!Y!Z![!_!`!c!p#Q#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r$y%_%b&U&Y&[&b&u'l'}(W(Y(b(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n,s,z-T-g-m-t.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f#r]Ofgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9hb#[b#Q$y'l(b)S)U*Z-t!h$bo!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m$b%k!Q!n$O$u%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g!W:y!Y!_!`*i*l/^3h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fR:|%n$_%u!Q!n$O$u%o%p%q&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g$e%l!Q!n$O$u%n%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g'hZOY[fgilmop!O!P!T!Y!Z![!_!`!c!p!|!}#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r%_%b%i%j&U&Y&[&b&u'a'}(W(Y(d(e(f(j(o(p(r(|)i)p)q*f*i*k*l+Z+n,s,z-R-T-g-m.i.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:`:a:e:f:g:t:u:x$^%l!Q!n$O$u%n%o%p%q%y%{&P&p&r(q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gQ&j!hQ&k!iQ&l!jQ&m!kQ&s!oQ)[%QQ)]%RQ)^%SQ)_%TQ)b%WQ+`&oS,R']1ZQ.W)`S/r*u4TR4n0s+yTOY[bfgilmop!O!P!Q!T!Y!Z![!_!`!c!n!p!q!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$O$T$W$`$a$e$g$h$q$r$u$y%X%_%b%i%j%n%o%p%q%y%{&P&U&Y&[&b&o&p&r&u&z&|'P']'a'l'n'o'}(W(Y(b(d(e(f(j(o(p(q(r(|)S)U)i)p)q)s)x)y*O*P*R*V*Z*[*^*e*f*i*k*l*n*w*x+U+V+Z+h+n+o+z+},q,s,z-R-T-g-i-m-t-v.U.`.i.p.t.x.y.}/Z/[/^/b/d/g/{/}0`0e0g0m0r0w0}1O1P1Y1Z1h1r1y1|2a2h2j2m2s2v3V3_3a3f3h3k3u3{3|4R4U4W4_4c4e4h4t4v4|5[5`5d5g5t5v6R6Y6]6a6p6v6x7S7^7c7g7m7r7{8W8X8g8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:`:a:e:f:g:t:u:xQ'[!xQ'h#PQ)l%gU)r%m*T*WR.f)kQ,T']R5P1Z#t%s!Q!n$O$u%p%q&P&p&r(q)x)y*O*R*V*[*^*e*n*w+V+h+o+}-i-v.U.`.t.x.y/Z/[/{/}0`0r0w1O1Y1y2a2h2j2m2v3V3u3{3|4U4e4t5`5d5v6R6Y6p6v6x7c7r8gQ)x%oQ+_&oQ,U']n,^'b'c'd,c,f,h,l/m/n1_3n3q5T5U7kS.q)s2sQ/O*PQ/Q*SQ/q*uS0Q*x4RQ0a+U[0o+Z.j0g4h5y7^Q2v.pS4d0e2rQ4m0sQ5Q1ZQ6T3RQ6z4PQ7O4TQ7X4_R9Y8h&jVOfgilmop!O!P!T!Y!Z![!_!`!c!p#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r%_%b&U&Y&[&b&u']'}(W(Y(b(f(j(o(p(r(|)i*f*i*k*l+Z+n,s,z-T-g-m.}/^/b/d/g0e0g0m0}1Z1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fU&g!g%P%[o,^'b'c'd,c,f,h,l/m/n1_3n3q5T5U7k$nsOfgilm!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y'}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9z9{:O:P:Q:R:S:T:U:V:W:X:Y:eS$tp9xS&O!W#bS&Q!X#cQ&`!bQ*_&RQ*a&VS*d&[:fQ*h&^Q,T']Q-j(wQ/i*jQ0p+[S2f.X0qQ3]/_Q3^/`Q3g/hQ3i/kQ5P1ZU5b2R2g4lU7o5c5e5rQ8]6dS8u7p7qS9_8v8wR9i9`i{Ob!O!P!T$y%_%b)S)U)i-thxOb!O!P!T$y%_%b)S)U)i-tW/v*v/t3w6qQ/}*wW0[+Q0Y4Z7UQ3{/{Q6x3|R8g6v!h$do!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mQ&d!dQ&f!fQ&n!mW&x!q%X&|1PQ'S!rQ)X$}Q)Y%OQ)a%VU)d%Y'T'UQ*s&hS+s&z'PS-Y(k1sQ-u)WQ-x)ZS.a)e)fS0x+c/sQ1S+zQ1W+{S1v-_-`Q2k.bQ3s/pQ5]1xR5h2V${sOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f$zsOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fR3]/_V&T!Y!`*i!i$lo!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m!k$^o!c!p$e$g$h$q$r&U&b&u(b(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m!i$co!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m&e^Ofgilmop!O!P!T!Y!Z![!_!`!c!p#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r%_%b&U&Y&[&b&u'}(W(Y(f(j(o(p(r(|)i*f*i*k*l+Z+n,s,z-T-g-m.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fR(l$fQ-[(kR5Y1sQ(S#|S({$v-oS-Z(k1sQ-l(yW/u*v/t3w6qS1w-_-`Q3v/vR5^1xQ'e#Or,e'b'c'd'j'p)u,c,f,h,l/m/n1_3n3q5U6fR,o'mk,a'b'c'd,c,f,h,l/m/n1_3n3q5UQ'f#Or,e'b'c'd'j'p)u,c,f,h,l/m/n1_3n3q5U6fR,p'mR*g&]X/c*f/d/g3f!}aOb!O!P!T#z$v$y%_%b'}(y)S)U)i)s*f*v*w+Q+Z,s-o-t.j/b/d/g/t/{0Y0g1h2s3f3w3|4Z4h5y6a6q6v7U7^Q3`/aQ6_3bQ8Y6`R9V8Z${rOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f#nfOfglmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h!T9u!Y!_!`*i*l/^3h9u9v9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:e:f#rfOfgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h!X9u!Y!_!`*i*l/^3h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f$srOfglmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:e:f#U#oh#d$P$Q$V$s%^&W&X'q't'u'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9b}:P&S&]/k3[6d:[:]:c:d:h:j:k:l:m:n:o:p:q:r:v:w:{#W#ph#d$P$Q$V$s%^&W&X'q'r't'u'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9b!P:Q&S&]/k3[6d:[:]:c:d:h:i:j:k:l:m:n:o:p:q:r:v:w:{#S#qh#d$P$Q$V$s%^&W&X'q'u'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9b{:R&S&]/k3[6d:[:]:c:d:h:k:l:m:n:o:p:q:r:v:w:{#Q#rh#d$P$Q$V$s%^&W&X'q'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9by:S&S&]/k3[6d:[:]:c:d:h:l:m:n:o:p:q:r:v:w:{#O#sh#d$P$Q$V$s%^&W&X'q'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9bw:T&S&]/k3[6d:[:]:c:d:h:m:n:o:p:q:r:v:w:{!|#th#d$P$Q$V$s%^&W&X'q'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9bu:U&S&]/k3[6d:[:]:c:d:h:n:o:p:q:r:v:w:{!x#vh#d$P$Q$V$s%^&W&X'q'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9bq:W&S&]/k3[6d:[:]:c:d:h:p:q:r:v:w:{!v#wh#d$P$Q$V$s%^&W&X'q'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9bo:X&S&]/k3[6d:[:]:c:d:h:q:r:v:w:{$]#{h#`#d$P$Q$V$s%^&S&W&X&]'q'r's't'u'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n/k0z1i1l1}3P3[4w5V5a6^6d6e7R7e7h7s7y8j8q8{9[9b:[:]:c:d:h:i:j:k:l:m:n:o:p:q:r:v:w:{${jOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f$v!aOfgilmp!O!P!T!Y!Z!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fQ&Y![Q&Z!]R:e9{#rpOfgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9hQ&[!^!W9x!Y!_!`*i*l/^3h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fR:f:zR$moR-f(rR$wqT(}$v-oQ/f*fS3d/d/gR6c3fQ3m/mQ3p/nQ6i3nR6l3qQ$zwQ)V${Q*q&fQ+f&qQ+i&sQ-w)YW.Z)b+j+k+lS/X*]+gW2b.W.[.].^U3W/Y/]0yU5o2c2d2eS6W3X3ZS7w5p5qS8Q6V6XQ8y7xS8}8R8SR9c9O^|O!O!P!T%_%b)iX)R$y)S)U-tQ&r!nQ*^&PQ*|&jQ+P&kQ+T&lQ+W&mQ+]&nQ+l&sQ-})[Q.Q)]Q.T)^Q.V)_Q.Y)aQ.^)bQ2S-uQ2e.WR4U0VU+a&o*u4TR4o0sQ+Y&mQ+k&sS.])b+l^0v+_+`/q/r4m4n7OS2d.W.^S4Q0R0SR5q2eS0R*x4RQ0a+UR7X4_U+d&o*u4TR4p0sQ*z&jQ+O&kQ+S&lQ+g&qQ+j&sS-{)[*|S.P)]+PS.S)^+TU.[)b+k+lQ/Y*]Q0X*{Q0q+[Q2X-|Q2Y-}Q2].QQ2_.TU2c.W.].^Q2g.XS3Z/]0yS5c2R4lQ5j2ZS5p2d2eQ6X3XS7q5e5rQ7x5qQ8R6VQ8v7pQ9O8SR9`8wQ0T*xR6|4RQ*y&jQ*}&kU-z)[*z*|U.O)]+O+PS2W-{-}S2[.P.QQ4X0ZQ5i2YQ5k2]R7T4YQ/w*vQ3t/tQ6r3wR8d6qQ*{&jS-|)[*|Q2Z-}Q4X0ZR7T4YQ+R&lU.R)^+S+TS2^.S.TR5l2_Q0]+QQ4V0YQ7V4ZR8l7UQ+[&nS.X)a+]S2R-u.YR5e2SQ0i+ZQ4f0gQ7`4hR8m7^Q.m)sQ0i+ZQ2p.jQ4f0gQ5|2sQ7`4hQ7}5yR8m7^Q0i+ZR4f0gX'O!q%X&|1PX&{!q%X&|1PW'O!q%X&|1PS+u&z'PR1U+z_|O!O!P!T%_%b)iQ%a!PS)h%_%bR.d)i$^%u!Q!n$O$u%o%p%q&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gQ*U%yR*X%{$c%n!Q!n$O$u%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gW)t%m%x*T*WQ.e)jR2{.vR.m)sR5|2sQ'W!sR,O'WQ!TOQ$TlQ$WmQ%b!P[%|!T$T$W%b)U/gQ)U$yR/g*f$b%i!Q!n$O$u%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g[)n%i)p.i:`:t:xQ)p%jQ.i)qQ:`%nQ:t:aR:x:uQ!vUR'Y!vS!OO!TU%]!O%_)iQ%_!PR)i%b#rYOfgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9hh!yY!|#U$`'a'n(d,q-R9s9|:gQ!|[b#Ub#Q$y'l(b)S)U*Z-t!h$`o!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mQ'a!}Q'n#ZQ(d$aQ,q'oQ-R(e!W9s!Y!_!`*i*l/^3h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fQ9|9tR:g9}Q-U(gR1p-UQ1t-[R5Z1tQ,c'bQ,f'cQ,h'dW1`,c,f,h5UR5U1_Q/d*fS3c/d3fR3f/gfbO!O!P!T$y%_%b)S)U)i-tp#Wb'}(y.j/b/t/{0Y0g1h5y6a6q6v7U7^Q'}#zS(y$v-oQ.j)sW/b*f/d/g3fQ/t*vQ/{*wQ0Y+QQ0g+ZQ1h,sQ5y2sQ6q3wQ6v3|Q7U4ZR7^4hQ,t(OQ1g,rT1j,t1gS(X$Q([Q(^$VU,x(X(^,}R,}(`Q(s$mR-h(sQ-p)OR2P-pQ3n/mQ3q/nT6j3n3qQ)S$yS-r)S-tR-t)UQ4`0aR7Y4``0t+^+_+`+a+d/q/r7OR4q0tQ8i6zR9Z8iQ4S0TR6}4SQ3x/wQ6n3tT6s3x6nQ3}/|Q6t3zU6y3}6t8eR8e6uQ4[0]Q7Q4VT7W4[7QhzOb!O!P!T$y%_%b)S)U)i-tQ$|xW%Zz$|%f)v$b%f!Q!n$O$u%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gR)v%nS4i0i0nS7]4f4gT7b4i7]W&z!q%X&|1PS+r&z+zR+z'PQ1Q+wR4z1QU1[,S,T,UR5R1[S3S/Q7OR6U3SQ2t.mQ5x2pT5}2t5xQ.z)zR3O.z^_O!O!P!T%_%b)iY#Xb$y)S)U-t$l#_fgilmp!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W&Y&['}(W(Y(|*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f!h$io!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mS'j#Q'lQ-P(bR/V*Z&v!RObfgilmop!O!P!T!Y!Z![!_!`!c!p#Q#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r$y%_%b&U&Y&[&b&u'l'}(W(Y(b(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n,s,z-T-g-m-t.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f[!{Y[#U#Z9s9tW&{!q%X&|1P['`!|!}'n'o9|9}S(c$`$aS+t&z'PU,X'a,q:gS-Q(d(eQ1T+zR1n-RS%t!Q&oQ&q!nQ(V$OQ(w$uS)w%o.pQ)z%pQ)}%qS*]&P&rQ+e&pQ,S']Q-d(qQ.l)sU.w)x)y2vS/O*O*PQ/P*RQ/T*VQ/W*[Q/]*^Q/`*eQ/l*nQ/|*wS0S*x4RQ0a+UQ0c+VQ0y+hQ0{+oQ1X+}Q1{-iQ2T-vQ2`.UQ2i.`Q2z.tQ2|.xQ2}.yQ3X/ZQ3Y/[S3z/{/}Q4^0`Q4l0rQ4s0wQ4x1OQ4}1YQ5O1ZQ5_1yQ5n2aQ5r2hQ5u2jQ5w2mQ5{2sQ6V3VQ6o3uQ6u3{Q6w3|Q7P4UQ7X4_Q7[4eQ7d4tQ7n5`Q7p5dQ7|5vQ8P6RQ8S6YQ8c6pS8f6v6xQ8o7cQ8w7rR9X8g$^%m!Q!n$O$u%o%p%q&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gQ)j%nQ*T%yR*W%{$y%h!Q!n$O$u%i%j%n%o%p%q%y%{&P&o&p&r'](q)p)q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.i.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g:`:a:t:u:x'pWOY[bfgilmop!O!P!T!Y!Z![!_!`!c!p!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r$y%_%b&U&Y&[&b&u'a'l'n'o'}(W(Y(b(d(e(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n,q,s,z-R-T-g-m-t.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f:g$x%g!Q!n$O$u%i%j%n%o%p%q%y%{&P&o&p&r'](q)p)q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.i.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g:`:a:t:u:x_&y!q%X&z&|'P+z1PR,V']$zrOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f!j$]o!c!p$e$g$h$q$r&U&b&u(b(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mQ,T']R5P1Z_}O!O!P!T%_%b)i^|O!O!P!T%_%b)iQ#YbX)R$y)S)U-tbhO!O!T3_6]8W8X9U9hS#`f9uQ#dgQ$PiQ$QlQ$VmQ$spW%^!P%_%b)iU&S!Y!`*iQ&W!ZQ&X![Q&]!_Q'q#eQ'r#oS's#p:QQ't#qQ'u#rQ'v#sQ'w#tQ'x#uQ'y#vQ'z#wQ'{#xQ'|#yQ(O#zQ(U#}Q([$TQ(`$WQ*b&YQ*c&[Q,r'}Q,w(WQ,y(YQ-n(|Q/k*lQ0z+nQ1i,sQ1l,zQ1}-mQ3P.}Q3[/^Q4w0}Q5V1hQ5a1|Q6^3aQ6d3hQ6e3kQ7R4WQ7e4vQ7h4|Q7s5gQ7y5tQ8j7SQ8q7gQ8{7{Q9[8kQ9b8|Q:[9wQ:]9xQ:c9zQ:d9{Q:h:OQ:i:PQ:j:RQ:k:SQ:l:TQ:m:UQ:n:VQ:o:WQ:p:XQ:q:YQ:r:ZQ:v:eQ:w:fR:{9v^tO!O!P!T%_%b)i$`#afgilmp!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W&Y&['}(W(Y(|*i*l+n,s,z-m.}/^0}1h1|3a3h3k4W4v4|5g5t7S7g7{8k8|9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fQ6[3_Q8V6]Q9R8WQ9T8XQ9g9UR9m9hQ&V!YQ&^!`R/h*iQ$joQ&a!cQ&t!pU(g$e$g(jS(n$h0eQ(u$qQ(v$rQ*`&UQ*m&bQ+p&uQ-S(fS-b(o4cQ-c(pQ-e(rW/a*f/d/g3fQ/j*kW0f+Z0g4h7^Q1o-TQ1z-gQ3b/bQ4k0mQ5X1rQ7l5[Q8Z6aR8t7m!h$_o!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mR-P(b'qXOY[bfgilmop!O!P!T!Y!Z![!_!`!c!p!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r$y%_%b&U&Y&[&b&u'a'l'n'o'}(W(Y(b(d(e(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n,q,s,z-R-T-g-m-t.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f:g$zqOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f!i$fo!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m&d^Ofgilmop!O!P!T!Y!Z![!_!`!c!p#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r%_%b&U&Y&[&b&u'}(W(Y(f(j(o(p(r(|)i*f*i*k*l+Z+n,s,z-T-g-m.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f[!zY[$`$a9s9t['_!|!}(d(e9|9}W)o%i%j:`:aU,W'a-R:gW.h)p)q:t:uT2o.i:xQ(i$eQ(m$gR-W(jV(h$e$g(jR-^(kR-](k$znOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f!i$ko!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mS'g#O'pj,a'b'c'd,c,f,h,l/m/n1_3n3q5UQ,m'jQ.u)uR8_6f`,b'b'c'd,c,f,h1_5UQ1e,lX3l/m/n3n3qj,a'b'c'd,c,f,h,l/m/n1_3n3q5UQ7j5TR8s7k^uO!O!P!T%_%b)i$`#afgilmp!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W&Y&['}(W(Y(|*i*l+n,s,z-m.}/^0}1h1|3a3h3k4W4v4|5g5t7S7g7{8k8|9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fQ6Z3_Q8U6]Q9Q8WQ9S8XQ9f9UR9l9hR(Q#zR(P#zQ$SlR(]$TR$ooR$noR)Q$vR)P$vQ)O$vR2O-ohwOb!O!P!T$y%_%b)S)U)i-t$l!lz!Q!n$O$u$|%f%n%o%p%q%y%{&P&o&p&r'](q)s)v)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gR${xR0b+UR0W*xR0U*xR6{4PR/y*vR/x*vR0P*wR0O*wR0_+QR0^+Q%XyObxz!O!P!Q!T!n$O$u$y$|%_%b%f%n%o%p%q%y%{&P&o&p&r'](q)S)U)i)s)v)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-t-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gR0k+ZR0j+ZQ'R!qQ)c%XQ+w&|R4y1PX'Q!q%X&|1PR+y&|R+x&|T/S*S4TT/R*S4TR.o)sR.n)sR){%p",nodeNames:"\u26A0 | < > RawString Float LineComment BlockComment SourceFile ] InnerAttribute ! [ MetaItem self Metavariable super crate Identifier ScopedIdentifier :: QualifiedScope AbstractType impl SelfType MetaType TypeIdentifier ScopedTypeIdentifier ScopeIdentifier TypeArgList TypeBinding = Lifetime String Escape Char Boolean Integer } { Block ; ConstItem Vis pub ( in ) const BoundIdentifier : UnsafeBlock unsafe AsyncBlock async move IfExpression if LetDeclaration let LiteralPattern ArithOp MetaPattern SelfPattern ScopedIdentifier TuplePattern ScopedTypeIdentifier , StructPattern FieldPatternList FieldPattern ref mut FieldIdentifier .. RefPattern SlicePattern CapturedPattern ReferencePattern & MutPattern RangePattern ... OrPattern MacroPattern ParenthesizedTokens TokenBinding Identifier TokenRepetition ArithOp BitOp LogicOp UpdateOp CompareOp -> => ArithOp BracketedTokens BracedTokens _ else MatchExpression match MatchBlock MatchArm Attribute Guard UnaryExpression ArithOp DerefOp LogicOp ReferenceExpression TryExpression BinaryExpression ArithOp ArithOp BitOp BitOp BitOp BitOp LogicOp LogicOp AssignmentExpression TypeCastExpression as ReturnExpression return RangeExpression CallExpression ArgList AwaitExpression await FieldExpression GenericFunction BreakExpression break LoopLabel ContinueExpression continue IndexExpression ArrayExpression TupleExpression MacroInvocation UnitExpression ClosureExpression ParamList Parameter Parameter ParenthesizedExpression StructExpression FieldInitializerList ShorthandFieldInitializer FieldInitializer BaseFieldInitializer MatchArm WhileExpression while LoopExpression loop ForExpression for MacroInvocation MacroDefinition macro_rules MacroRule EmptyStatement ModItem mod DeclarationList AttributeItem ForeignModItem extern StructItem struct TypeParamList ConstrainedTypeParameter TraitBounds HigherRankedTraitBound RemovedTraitBound OptionalTypeParameter ConstParameter WhereClause where LifetimeClause TypeBoundClause FieldDeclarationList FieldDeclaration OrderedFieldDeclarationList UnionItem union EnumItem enum EnumVariantList EnumVariant TypeItem type FunctionItem default fn ParamList Parameter SelfParameter VariadicParameter VariadicParameter ImplItem TraitItem trait AssociatedType LetDeclaration UseDeclaration use ScopedIdentifier UseAsClause ScopedIdentifier UseList ScopedUseList UseWildcard ExternCrateDeclaration StaticItem static ExpressionStatement ExpressionStatement GenericType FunctionType ForLifetimes ParamList VariadicParameter Parameter VariadicParameter Parameter ReferenceType PointerType TupleType UnitType ArrayType MacroInvocation EmptyType DynamicType dyn BoundedType",maxTerm:359,nodeProps:[["isolate",-4,4,6,7,33,""],["group",-42,4,5,14,15,16,17,18,19,33,35,36,37,40,51,53,56,101,107,111,112,113,122,123,125,127,128,130,132,133,134,137,139,140,141,142,143,144,148,149,155,157,159,"Expression",-16,22,24,25,26,27,222,223,230,231,232,233,234,235,236,237,239,"Type",-20,42,161,162,165,166,169,170,172,188,190,194,196,204,205,207,208,209,217,218,220,"Statement",-17,49,60,62,63,64,65,68,74,75,76,77,78,80,81,83,84,99,"Pattern"],["openedBy",9,"[",38,"{",47,"("],["closedBy",12,"]",39,"}",45,")"]],propSources:[_y],skippedNodes:[0,6,7,240],repeatNodeCount:32,tokenData:"$%h_R!XOX$nXY5gYZ6iZ]$n]^5g^p$npq5gqr7Xrs9cst:Rtu;Tuv>vvwAQwxCbxy!+Tyz!,Vz{!-X{|!/_|}!0g}!O!1i!O!P!3v!P!Q!8[!Q!R!Bw!R![!Dr![!]#+q!]!^#-{!^!_#.}!_!`#1b!`!a#3o!a!b#6S!b!c#7U!c!}#8W!}#O#:T#O#P#;V#P#Q#Cb#Q#R#Dd#R#S#8W#S#T$n#T#U#8W#U#V#El#V#f#8W#f#g#Ic#g#o#8W#o#p$ S#p#q$!U#q#r$$f#r${$n${$|#8W$|4w$n4w5b#8W5b5i$n5i6S#8W6S;'S$n;'S;=`4s<%lO$nU$u]'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nU%uV'_Q'OSOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[S&aV'OSOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[S&yVOz'`z{&v{!P'`!P!Q*y!Q;'S'`;'S;=`*m<%lO'`S'cVOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[S'{UOz'`{!P'`!P!Q(_!Q;'S'`;'S;=`*m<%lO'`S(bUOz(t{!P(t!P!Q(_!Q;'S(t;'S;=`*a<%lO(tS(wVOz)^z{)z{!P)^!P!Q(_!Q;'S)^;'S;=`*g<%lO)^S)eV'PS'OSOz)^z{)z{!P)^!P!Q(_!Q;'S)^;'S;=`*g<%lO)^S)}UOz(tz{)z{!P(t!Q;'S(t;'S;=`*a<%lO(tS*dP;=`<%l(tS*jP;=`<%l)^S*pP;=`<%l'`S*vP;=`<%l&[S+OO'PSU+T]'_QOY+|YZ-xZr+|rs'`sz+|z{+O{!P+|!P!Q4y!Q#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|U,R]'_QOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nU-P]'_QOY+|YZ-xZr+|rs'`sz+|z{.d{!P+|!P!Q/Z!Q#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|U-}V'_QOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[Q.iV'_QOY.dYZ/OZr.ds#O.d#P;'S.d;'S;=`/T<%lO.dQ/TO'_QQ/WP;=`<%l.dU/`]'_QOY0XYZ3uZr0Xrs(tsz0Xz{.d{!P0X!P!Q/Z!Q#O0X#O#P(t#P;'S0X;'S;=`4a<%lO0XU0^]'_QOY1VYZ2XZr1Vrs)^sz1Vz{2w{!P1V!P!Q/Z!Q#O1V#O#P)^#P;'S1V;'S;=`4g<%lO1VU1`]'_Q'PS'OSOY1VYZ2XZr1Vrs)^sz1Vz{2w{!P1V!P!Q/Z!Q#O1V#O#P)^#P;'S1V;'S;=`4g<%lO1VU2bV'_Q'PS'OSOz)^z{)z{!P)^!P!Q(_!Q;'S)^;'S;=`*g<%lO)^U2|]'_QOY0XYZ3uZr0Xrs(tsz0Xz{2w{!P0X!P!Q.d!Q#O0X#O#P(t#P;'S0X;'S;=`4a<%lO0XU3zV'_QOz)^z{)z{!P)^!P!Q(_!Q;'S)^;'S;=`*g<%lO)^U4dP;=`<%l0XU4jP;=`<%l1VU4pP;=`<%l+|U4vP;=`<%l$nU5QV'_Q'PSOY.dYZ/OZr.ds#O.d#P;'S.d;'S;=`/T<%lO.d_5p]'_Q&|X'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_6rV'_Q&|X'OSOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[_7b_ZX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`8a!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_8j]#PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_9lV']Q'OS'^XOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[_:[]'QX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_;^i'_Q'vW'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!c$n!c!}<{!}#O$n#O#P&[#P#R$n#R#S<{#S#T$n#T#o<{#o${$n${$|<{$|4w$n4w5b<{5b5i$n5i6S<{6S;'S$n;'S;=`4s<%lO$n_=Uj'_Q_X'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![<{![!c$n!c!}<{!}#O$n#O#P&[#P#R$n#R#S<{#S#T$n#T#o<{#o${$n${$|<{$|4w$n4w5b<{5b5i$n5i6S<{6S;'S$n;'S;=`4s<%lO$n_?P_(TP'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_@X]#OX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_AZa!qX'_Q'OSOY$nYZ%nZr$nrs&[sv$nvwB`wz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_Bi]'}X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_Cik'_Q'OSOYE^YZGfZrE^rsHvswE^wxFdxzE^z{Ih{!PE^!P!QKl!Q!cE^!c!}Lp!}#OE^#O#P!!l#P#RE^#R#SLp#S#TE^#T#oLp#o${E^${$|Lp$|4wE^4w5bLp5b5iE^5i6SLp6S;'SE^;'S;=`!*}<%lOE^_Ee_'_Q'OSOY$nYZ%nZr$nrs&[sw$nwxFdxz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_Fm]'_Q'OSsXOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_GmX'_Q'OSOw&[wxHYxz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[]HaV'OSsXOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[]H{X'OSOw&[wxHYxz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[_Im_'_QOY+|YZ-xZr+|rs'`sw+|wxJlxz+|z{+O{!P+|!P!Q4y!Q#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|_Js]'_QsXOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_Kq_'_QOY+|YZ-xZr+|rs'`sw+|wxJlxz+|z{.d{!P+|!P!Q/Z!Q#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|_Lyl'_Q'OS'ZXOY$nYZ%nZr$nrs&[sw$nwxFdxz$nz{+O{!P$n!P!Q,z!Q![Nq![!c$n!c!}Nq!}#O$n#O#P&[#P#R$n#R#SNq#S#T$n#T#oNq#o${$n${$|Nq$|4w$n4w5bNq5b5i$n5i6SNq6S;'S$n;'S;=`4s<%lO$n_Nzj'_Q'OS'ZXOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![Nq![!c$n!c!}Nq!}#O$n#O#P&[#P#R$n#R#SNq#S#T$n#T#oNq#o${$n${$|Nq$|4w$n4w5bNq5b5i$n5i6SNq6S;'S$n;'S;=`4s<%lO$n]!!qZ'OSOzHvz{!#d{!PHv!P!Q!$n!Q#iHv#i#j!%Z#j#lHv#l#m!'V#m;'SHv;'S;=`!*w<%lOHv]!#gXOw'`wx!$Sxz'`z{&v{!P'`!P!Q*y!Q;'S'`;'S;=`*m<%lO'`]!$XVsXOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[]!$qWOw'`wx!$Sxz'`{!P'`!P!Q(_!Q;'S'`;'S;=`*m<%lO'`]!%`^'OSOz&[z{&v{!P&[!P!Q'x!Q![!&[![!c&[!c!i!&[!i#T&[#T#Z!&[#Z#o&[#o#p!({#p;'S&[;'S;=`*s<%lO&[]!&a['OSOz&[z{&v{!P&[!P!Q'x!Q![!'V![!c&[!c!i!'V!i#T&[#T#Z!'V#Z;'S&[;'S;=`*s<%lO&[]!'[['OSOz&[z{&v{!P&[!P!Q'x!Q![!(Q![!c&[!c!i!(Q!i#T&[#T#Z!(Q#Z;'S&[;'S;=`*s<%lO&[]!(V['OSOz&[z{&v{!P&[!P!Q'x!Q![Hv![!c&[!c!iHv!i#T&[#T#ZHv#Z;'S&[;'S;=`*s<%lO&[]!)Q['OSOz&[z{&v{!P&[!P!Q'x!Q![!)v![!c&[!c!i!)v!i#T&[#T#Z!)v#Z;'S&[;'S;=`*s<%lO&[]!){^'OSOz&[z{&v{!P&[!P!Q'x!Q![!)v![!c&[!c!i!)v!i#T&[#T#Z!)v#Z#q&[#q#rHv#r;'S&[;'S;=`*s<%lO&[]!*zP;=`<%lHv_!+QP;=`<%lE^_!+^]}X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!,`]!PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!-`_(QX'_QOY+|YZ-xZr+|rs'`sz+|z{+O{!P+|!P!Q4y!Q!_+|!_!`!._!`#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|_!.f]#OX'_QOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!/h_(PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!0p]!eX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!1r`'gX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`!a!2t!a#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!2}]#QX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!4P^(OX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!O$n!O!P!4{!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!5U`!lX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!O$n!O!P!6W!P!Q,z!Q!_$n!_!`!7Y!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!6a]!tX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nV!7c]'qP'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!8c_'_Q'xXOY+|YZ-xZr+|rs'`sz+|z{!9b{!P+|!P!Q!:O!Q!_+|!_!`!._!`#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|_!9iV&}]'_QOY.dYZ/OZr.ds#O.d#P;'S.d;'S;=`/T<%lO.d_!:V]'_QUXOY!;OYZ3uZr!;Ors!>jsz!;Oz{!Aq{!P!;O!P!Q!:O!Q#O!;O#O#P!>j#P;'S!;O;'S;=`!Bk<%lO!;O_!;V]'_QUXOY!<OYZ2XZr!<Ors!=Ssz!<Oz{!@q{!P!<O!P!Q!:O!Q#O!<O#O#P!=S#P;'S!<O;'S;=`!Bq<%lO!<O_!<Z]'_QUX'PS'OSOY!<OYZ2XZr!<Ors!=Ssz!<Oz{!@q{!P!<O!P!Q!:O!Q#O!<O#O#P!=S#P;'S!<O;'S;=`!Bq<%lO!<O]!=]XUX'PS'OSOY!=SYZ)^Zz!=Sz{!=x{!P!=S!P!Q!?[!Q;'S!=S;'S;=`!@k<%lO!=S]!=}XUXOY!>jYZ(tZz!>jz{!=x{!P!>j!P!Q!?|!Q;'S!>j;'S;=`!@e<%lO!>j]!>oXUXOY!=SYZ)^Zz!=Sz{!=x{!P!=S!P!Q!?[!Q;'S!=S;'S;=`!@k<%lO!=S]!?aXUXOY!>jYZ(tZz!>jz{!?|{!P!>j!P!Q!?[!Q;'S!>j;'S;=`!@e<%lO!>jX!@RSUXOY!?|Z;'S!?|;'S;=`!@_<%lO!?|X!@bP;=`<%l!?|]!@hP;=`<%l!>j]!@nP;=`<%l!=S_!@x]'_QUXOY!;OYZ3uZr!;Ors!>jsz!;Oz{!@q{!P!;O!P!Q!Aq!Q#O!;O#O#P!>j#P;'S!;O;'S;=`!Bk<%lO!;OZ!AxX'_QUXOY!AqYZ/OZr!Aqrs!?|s#O!Aq#O#P!?|#P;'S!Aq;'S;=`!Be<%lO!AqZ!BhP;=`<%l!Aq_!BnP;=`<%l!;O_!BtP;=`<%l!<O_!CQjuX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![!Dr![#O$n#O#P&[#P#R$n#R#S!Dr#S#U$n#U#V#!}#V#]$n#]#^!FZ#^#c$n#c#d#%u#d#i$n#i#j!FZ#j#l$n#l#m#(g#m;'S$n;'S;=`4s<%lO$n_!D{duX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![!Dr![#O$n#O#P&[#P#R$n#R#S!Dr#S#]$n#]#^!FZ#^#i$n#i#j!FZ#j;'S$n;'S;=`4s<%lO$n_!Fbg'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!R$n!R!S!Gy!S!T$n!T!U!K_!U!W$n!W!X!Le!X!Y$n!Y!Z!J]!Z#O$n#O#P&[#P#g$n#g#h!Mk#h;'S$n;'S;=`4s<%lO$n_!HQa'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!S$n!S!T!IV!T!W$n!W!X!J]!X#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!I^_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!Y$n!Y!Z!J]!Z#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!Jf]uX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!Kf_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!S$n!S!T!J]!T#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!Ll_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!U$n!U!V!J]!V#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!Mr_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P#]$n#]#^!Nq#^;'S$n;'S;=`4s<%lO$n_!Nx_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P#n$n#n#o# w#o;'S$n;'S;=`4s<%lO$n_#!O_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P#X$n#X#Y!J]#Y;'S$n;'S;=`4s<%lO$n_##Ua'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!R#$Z!R!S#$Z!S#O$n#O#P&[#P#R$n#R#S#$Z#S;'S$n;'S;=`4s<%lO$n_#$deuX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!R#$Z!R!S#$Z!S#O$n#O#P&[#P#R$n#R#S#$Z#S#]$n#]#^!FZ#^#i$n#i#j!FZ#j;'S$n;'S;=`4s<%lO$n_#%|`'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!Y#'O!Y#O$n#O#P&[#P#R$n#R#S#'O#S;'S$n;'S;=`4s<%lO$n_#'XduX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!Y#'O!Y#O$n#O#P&[#P#R$n#R#S#'O#S#]$n#]#^!FZ#^#i$n#i#j!FZ#j;'S$n;'S;=`4s<%lO$n_#(nd'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![#)|![!c$n!c!i#)|!i#O$n#O#P&[#P#R$n#R#S#)|#S#T$n#T#Z#)|#Z;'S$n;'S;=`4s<%lO$n_#*VhuX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![#)|![!c$n!c!i#)|!i#O$n#O#P&[#P#R$n#R#S#)|#S#T$n#T#Z#)|#Z#]$n#]#^!FZ#^#i$n#i#j!FZ#j;'S$n;'S;=`4s<%lO$n_#+z_!SX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![$n![!]#,y!]#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#-S]dX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#.U]yX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#/W`#PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!^$n!^!_#0Y!_!`8a!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#0c_'yX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#1k`oX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`8a!`!a#2m!a#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#2v]#RX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#3x`#PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`8a!`!a#4z!a#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#5T_'zX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#6]](RX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nV#7_]'pP'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#8cj'_Q'OS!yW'TPOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![#8W![!c$n!c!}#8W!}#O$n#O#P&[#P#R$n#R#S#8W#S#T$n#T#o#8W#o${$n${$|#8W$|4w$n4w5b#8W5b5i$n5i6S#8W6S;'S$n;'S;=`4s<%lO$n_#:^][X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nU#;[Z'OSOz#;}z{#<k{!P#;}!P!Q#=V!Q#i#;}#i#j#=n#j#l#;}#l#m#?j#m;'S#;};'S;=`#C[<%lO#;}U#<UVrQ'OSOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[U#<pVrQOz'`z{&v{!P'`!P!Q*y!Q;'S'`;'S;=`*m<%lO'`U#=[UrQOz'`{!P'`!P!Q(_!Q;'S'`;'S;=`*m<%lO'`U#=s^'OSOz&[z{&v{!P&[!P!Q'x!Q![#>o![!c&[!c!i#>o!i#T&[#T#Z#>o#Z#o&[#o#p#A`#p;'S&[;'S;=`*s<%lO&[U#>t['OSOz&[z{&v{!P&[!P!Q'x!Q![#?j![!c&[!c!i#?j!i#T&[#T#Z#?j#Z;'S&[;'S;=`*s<%lO&[U#?o['OSOz&[z{&v{!P&[!P!Q'x!Q![#@e![!c&[!c!i#@e!i#T&[#T#Z#@e#Z;'S&[;'S;=`*s<%lO&[U#@j['OSOz&[z{&v{!P&[!P!Q'x!Q![#;}![!c&[!c!i#;}!i#T&[#T#Z#;}#Z;'S&[;'S;=`*s<%lO&[U#Ae['OSOz&[z{&v{!P&[!P!Q'x!Q![#BZ![!c&[!c!i#BZ!i#T&[#T#Z#BZ#Z;'S&[;'S;=`*s<%lO&[U#B`^'OSOz&[z{&v{!P&[!P!Q'x!Q![#BZ![!c&[!c!i#BZ!i#T&[#T#Z#BZ#Z#q&[#q#r#;}#r;'S&[;'S;=`*s<%lO&[U#C_P;=`<%l#;}_#Ck]XX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#Dm_'{X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#Ewl'_Q'OS!yW'TPOY$nYZ%nZr$nrs#Gosw$nwx#H]xz$nz{+O{!P$n!P!Q,z!Q![#8W![!c$n!c!}#8W!}#O$n#O#P&[#P#R$n#R#S#8W#S#T$n#T#o#8W#o${$n${$|#8W$|4w$n4w5b#8W5b5i$n5i6S#8W6S;'S$n;'S;=`4s<%lO$n]#GvV'OS'^XOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[_#Hd_'_Q'OSOYE^YZGfZrE^rsHvswE^wxFdxzE^z{Ih{!PE^!P!QKl!Q#OE^#O#P!!l#P;'SE^;'S;=`!*}<%lOE^_#Ink'_Q'OS!yW'TPOY$nYZ%nZr$nrs&[st#Kctz$nz{+O{!P$n!P!Q,z!Q![#8W![!c$n!c!}#8W!}#O$n#O#P&[#P#R$n#R#S#8W#S#T$n#T#o#8W#o${$n${$|#8W$|4w$n4w5b#8W5b5i$n5i6S#8W6S;'S$n;'S;=`4s<%lO$nV#Kji'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!c$n!c!}#MX!}#O$n#O#P&[#P#R$n#R#S#MX#S#T$n#T#o#MX#o${$n${$|#MX$|4w$n4w5b#MX5b5i$n5i6S#MX6S;'S$n;'S;=`4s<%lO$nV#Mbj'_Q'OS'TPOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![#MX![!c$n!c!}#MX!}#O$n#O#P&[#P#R$n#R#S#MX#S#T$n#T#o#MX#o${$n${$|#MX$|4w$n4w5b#MX5b5i$n5i6S#MX6S;'S$n;'S;=`4s<%lO$n_$ ]]wX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_$!_a'rX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P#p$n#p#q$#d#q;'S$n;'S;=`4s<%lO$n_$#m]'|X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_$$o]vX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n",tokenizers:[Ry,$y,vy,0,1,2,3],topRules:{SourceFile:[0,8]},specialized:[{term:281,get:a(t=>Ey[t]||-1,"get")}],tokenPrec:15596})});import xt from"fs/promises";import Li from"path";function $l(t){let e=t.replace(/[\*\[\]]/g," ").split(/[\s,]+/).map(n=>n.trim()).filter(Boolean);return e[e.length-1]}function Ki(t){return t&&t.replace(/<[^>]+>/g,"").split("::").map(n=>n.trim()).filter(Boolean).at(-1)?.replace(/[&*]/g,"").trim()||void 0}function U(t,e){for(let n=t.firstChild;n;n=n.nextSibling)e(n)}function le(t,e){return t.slice(e.from,e.to)}function $e(t,e){return t.slice(0,e.from).split(/\r?\n/).length}function _e(t,e){return t[e-1]?.trim()||"<unknown>"}function Xy(t,e){let n=[];return U(e,r=>{if(r.type.name!=="ImportStatement")return;let o=le(t,r).trim(),i=/^from\s+([.\w]+)\s+import\b/.exec(o);if(i?.[1]){n.push(i[1]);return}i=/^import\s+(.+)$/.exec(o),i?.[1]&&n.push(...i[1].split(",").map(s=>s.trim().split(/\s+as\s+/i)[0]??"").filter(Boolean))}),J(n,12)}function Yi(t,e){if(e.type.name==="VariableName"||e.type.name==="PropertyName")return le(t,e).trim()||null;if(e.type.name==="MemberExpression"){let r=null;return U(e,o=>{let i=Yi(t,o);i&&(r=i)}),r}let n=e.firstChild;return n?Yi(t,n):null}function Rl(t,e){let n=new Set,r=a(o=>{if(o.type.name==="CallExpression"){let i=o.firstChild,s=i?Yi(t,i):null;s&&!me.has(s)&&n.add(s)}U(o,r)},"walk");return r(e),Array.from(n).slice(0,24)}async function _l(t,e,n){let r=[];for(let o of e){let i=Li.join(t,o);if((await xt.stat(i)).size>mt)continue;let c=await xt.readFile(i,"utf8"),d=c.split(/\r?\n/),f=wl.parse(c).topNode,l=N(o),O=B(l),h=ke(O),w=Xy(c,f),Q=[],g=ce(o,n).id;U(f,y=>{if(y.type.name==="FunctionDefinition"){let P=null;if(U(y,_=>{_.type.name==="VariableName"&&!P&&(P=le(c,_).trim())}),!P)return;let S=P,$=$e(c,y);Q.push({id:`${o}#${S}:${$}`,name:S,qualifiedName:`${o}:${S}`,kind:"function",filePath:o,moduleId:g,language:l,capabilityTier:O,line:$,signature:_e(d,$),exported:!S.startsWith("_"),calls:Rl(c,y),callTargets:[],importPaths:w,confidence:Math.min(.99,h+.1)});return}if(y.type.name!=="ClassDefinition")return;let k=null,T=null;if(U(y,P=>{P.type.name==="VariableName"&&!k?k=le(c,P).trim():P.type.name==="Body"&&(T=P)}),!k)return;let v=k,b=$e(c,y);Q.push({id:`${o}#${v}:${b}`,name:v,qualifiedName:`${o}:${v}`,kind:"class",filePath:o,moduleId:g,language:l,capabilityTier:O,line:b,signature:_e(d,b),exported:!v.startsWith("_"),calls:[],callTargets:[],importPaths:w,confidence:Math.min(.99,h+.08)}),T&&U(T,P=>{if(P.type.name!=="FunctionDefinition")return;let S=null;if(U(P,I=>{I.type.name==="VariableName"&&!S&&(S=le(c,I).trim())}),!S)return;let $=S,_=$e(c,P);Q.push({id:`${o}#${v}.${$}:${_}`,name:$,qualifiedName:`${o}:${v}.${$}`,kind:"method",filePath:o,moduleId:g,language:l,capabilityTier:O,line:_,signature:_e(d,_),exported:!$.startsWith("_"),calls:Rl(c,P),callTargets:[],importPaths:w,confidence:Math.min(.99,h+.06)})})}),r.push({filePath:o,moduleId:g,language:l,capabilityTier:O,importPaths:w,symbols:Q.slice(0,ze)})}return r}function an(t,e){let n=null;return U(t,r=>{!n&&e(r)&&(n=r)}),n}function Cy(t,e){let n=null;return U(t,r=>{e(r)&&(n=r)}),n}function El(t,e){if(e(t))return t;let n=null;return U(t,r=>{n||(n=El(r,e))}),n}function wr(t,e,n){let r=new Set,o=a(i=>{if(i.type.name==="CallExpr"||i.type.name==="CallExpression"){let s=i.firstChild,c=s?n(t,s):null;c&&!me.has(c)&&r.add(c)}U(i,o)},"walk");return o(e),Array.from(r).slice(0,24)}function Pr(t,e){if(e.type.name==="VariableName"||e.type.name==="FieldName"||e.type.name==="TypeName")return le(t,e).trim()||null;if(e.type.name==="SelectorExpr"){let r=null;return U(e,o=>{let i=Pr(t,o);i&&(r=i)}),r}let n=e.firstChild;return n?Pr(t,n):null}function Sr(t,e){if(e.type.name==="Identifier"||e.type.name==="FieldIdentifier"||e.type.name==="TypeIdentifier"||e.type.name==="BoundIdentifier")return le(t,e).trim()||null;if(e.type.name==="FieldExpression"){let r=null;return U(e,o=>{let i=Sr(t,o);i&&(r=i)}),r}let n=e.firstChild;return n?Sr(t,n):null}function bt(t,e,n){let r=an(e,o=>o.type.name===n);return r?le(t,r).trim():null}function Ni(t,e){return/^pub(?:\([^)]*\))?\s/.test(le(t,e).trimStart())}async function Xl(t,e,n){let r=[];for(let o of e){let i=Li.join(t,o);if((await xt.stat(i)).size>mt)continue;let c=await xt.readFile(i,"utf8"),d=c.split(/\r?\n/),u=il.parse(c),f=ce(o,n).id,l=N(o),O=B(l),h=ke(O),w=Zt(c,l),Q=[];U(u.topNode,g=>{if(g.type.name==="TypeDecl"){let P=an(g,I=>I.type.name==="TypeSpec"),S=P?bt(c,P,"DefName"):null;if(!P||!S)return;let $=an(P,I=>I.type.name==="InterfaceType")?"interface":"struct",_=$e(c,P);Q.push({id:`${o}#${S}:${_}`,name:S,qualifiedName:`${o}:${S}`,kind:$,filePath:o,moduleId:f,language:l,capabilityTier:O,line:_,signature:_e(d,_),exported:/^[A-Z]/.test(S),calls:[],callTargets:[],importPaths:w,confidence:Math.min(.97,h+.07)});return}if(g.type.name==="FunctionDecl"){let P=bt(c,g,"DefName");if(!P)return;let S=$e(c,g);Q.push({id:`${o}#${P}:${S}`,name:P,qualifiedName:`${o}:${P}`,kind:"function",filePath:o,moduleId:f,language:l,capabilityTier:O,line:S,signature:_e(d,S),exported:/^[A-Z]/.test(P),calls:wr(c,g,Pr),callTargets:[],importPaths:w,confidence:Math.min(.97,h+.07)});return}if(g.type.name!=="MethodDecl")return;let y=an(g,P=>P.type.name==="Parameters"),k=bt(c,g,"FieldName"),T=y?El(y,P=>P.type.name==="TypeName"):null,v=T?le(c,T).trim():void 0;if(!k)return;let b=$e(c,g);Q.push({id:`${o}#${v?`${v}.`:""}${k}:${b}`,name:k,qualifiedName:`${o}:${v?`${v}.`:""}${k}`,kind:"method",filePath:o,moduleId:f,language:l,capabilityTier:O,line:b,signature:_e(d,b),exported:/^[A-Z]/.test(k),calls:wr(c,g,Pr),callTargets:[],importPaths:w,confidence:Math.min(.97,h+.08)})}),r.push({filePath:o,moduleId:f,language:l,capabilityTier:O,importPaths:w,symbols:Q.slice(0,ze)})}return r}async function Cl(t,e,n){let r=[];for(let o of e){let i=Li.join(t,o);if((await xt.stat(i)).size>mt)continue;let c=await xt.readFile(i,"utf8"),d=c.split(/\r?\n/),u=Tl.parse(c),f=ce(o,n).id,l=N(o),O=B(l),h=ke(O),w=Zt(c,l),Q=[];U(u.topNode,g=>{if(g.type.name==="StructItem"||g.type.name==="TraitItem"||g.type.name==="EnumItem"){let v=bt(c,g,"TypeIdentifier");if(!v)return;let b=g.type.name==="TraitItem"?"trait":g.type.name==="EnumItem"?"enum":"struct",P=$e(c,g);Q.push({id:`${o}#${v}:${P}`,name:v,qualifiedName:`${o}:${v}`,kind:b,filePath:o,moduleId:f,language:l,capabilityTier:O,line:P,signature:_e(d,P),exported:Ni(c,g),calls:[],callTargets:[],importPaths:w,confidence:Math.min(.97,h+.06)});return}if(g.type.name==="FunctionItem"){let v=bt(c,g,"BoundIdentifier");if(!v)return;let b=$e(c,g);Q.push({id:`${o}#${v}:${b}`,name:v,qualifiedName:`${o}:${v}`,kind:"function",filePath:o,moduleId:f,language:l,capabilityTier:O,line:b,signature:_e(d,b),exported:Ni(c,g),calls:wr(c,g,Sr),callTargets:[],importPaths:w,confidence:Math.min(.97,h+.06)});return}if(g.type.name!=="ImplItem")return;let y=Cy(g,v=>v.type.name==="TypeIdentifier"),k=y?Ki(le(c,y).trim()):void 0,T=an(g,v=>v.type.name==="DeclarationList");!k||!T||U(T,v=>{if(v.type.name!=="FunctionItem")return;let b=bt(c,v,"BoundIdentifier");if(!b)return;let P=$e(c,v);Q.push({id:`${o}#${k}.${b}:${P}`,name:b,qualifiedName:`${o}:${k}.${b}`,kind:"method",filePath:o,moduleId:f,language:l,capabilityTier:O,line:P,signature:_e(d,P),exported:Ni(c,v),calls:wr(c,v,Sr),callTargets:[],importPaths:w,confidence:Math.min(.97,h+.07)})})}),r.push({filePath:o,moduleId:f,language:l,capabilityTier:O,importPaths:w,symbols:Q.slice(0,ze)})}return r}var Gi=p(()=>{"use strict";sl();Pl();vl();je();a($l,"extractGoReceiverQualifier");a(Ki,"normalizeRustQualifier");a(U,"forEachSyntaxChild");a(le,"getSyntaxNodeText");a($e,"getPythonNodeLine");a(_e,"getPythonSignature");a(Xy,"collectPythonImports");a(Yi,"getPythonCallName");a(Rl,"collectPythonCallNames");a(_l,"analyzePythonFiles");a(an,"findFirstSyntaxChild");a(Cy,"findLastSyntaxChild");a(El,"findSyntaxDescendant");a(wr,"collectLezerCallNames");a(Pr,"getGoCallName");a(Sr,"getRustCallName");a(bt,"findSyntaxNodeText");a(Ni,"isRustExported");a(Xl,"analyzeGoFiles");a(Cl,"analyzeRustFiles")});import Il from"fs/promises";import Ye from"path";function Al(t,e){return Array.from(t.matchAll(e)).length}function ue(t){return Al(t,/\{/g)-Al(t,/\}/g)}function Iy(t,e,n,r,o){let i=Math.max(0,n.line-1),s=Math.max(n.line,(r[o+1]?.line??t.length+1)-1);if(e==="python"){let l=t[i]?.match(/^\s*/)?.[0]?.length??0,O=i+1;for(;O<t.length;){let h=t[O]??"",w=h.trim();if(!w){O+=1;continue}if((h.match(/^\s*/)?.[0]?.length??0)<=l&&!w.startsWith("#"))break;O+=1}return t.slice(i,O).join(`
|
|
273
|
+
`)}let c=0,d=!1,u=i;for(let l=i;l<t.length;l+=1){let O=t[l]??"";if(c+=ue(O),O.includes("{")&&(d=!0),u=l,d&&c<=0&&l>i||!d&&l+1>=s)break}let f=d?u+1:s;return t.slice(i,f).join(`
|
|
274
|
+
`)}function Ay(t){let e=new Set,n=[/\b([A-Za-z_][A-Za-z0-9_]*)\s*\(/g,/\.([A-Za-z_][A-Za-z0-9_]*)\s*\(/g];for(let r of n){let o=null;for(;(o=r.exec(t))!==null;){let i=o[1];if(!(!i||me.has(i))&&(e.add(i),e.size>=24))break}}return Array.from(e)}function L(t,e,n){let r=`${n.line}:${n.kind}:${n.name}`;e.has(r)||(e.add(r),t.push(n))}function My(t,e){let n=[],r=new Set,o=[],i=[],s=[],c=0;for(let[d,u]of t.entries()){let f=u.trim();if(!f)continue;let l=null;if(e==="typescript"||e==="javascript"){if(l=/^(export\s+)?(?:async\s+)?function\s+([A-Za-z_$][A-Za-z0-9_$]*)\s*\(/.exec(f),l){L(n,r,{name:l[2],kind:"function",line:d+1,signature:f,exported:!!l[1],confidenceBoost:.08});continue}if(l=/^(export\s+)?(?:const|let|var)\s+([A-Za-z_$][A-Za-z0-9_$]*)\s*=\s*(?:async\s*)?(?:\([^=]*\)|[A-Za-z_$][A-Za-z0-9_$]*)\s*=>/.exec(f),l){L(n,r,{name:l[2],kind:"function",line:d+1,signature:f,exported:!!l[1],confidenceBoost:.06});continue}if(l=/^(export\s+)?class\s+([A-Za-z_$][A-Za-z0-9_$]*)/.exec(f)??/^(export\s+)?interface\s+([A-Za-z_$][A-Za-z0-9_$]*)/.exec(f)??/^(export\s+)?type\s+([A-Za-z_$][A-Za-z0-9_$]*)\s*=/.exec(f)??/^(export\s+)?enum\s+([A-Za-z_$][A-Za-z0-9_$]*)/.exec(f),l){let O=f.includes("interface")?"interface":f.includes("type ")?"type":f.includes("enum ")?"enum":"class";L(n,r,{name:l[2],kind:O,line:d+1,signature:f,exported:!!l[1],confidenceBoost:.08})}continue}if(e==="python"){if(l=/^def\s+([A-Za-z_][A-Za-z0-9_]*)\s*\(/.exec(f),l){L(n,r,{name:l[1],kind:"function",line:d+1,signature:f,exported:!l[1].startsWith("_"),confidenceBoost:.08});continue}l=/^class\s+([A-Za-z_][A-Za-z0-9_]*)/.exec(f),l&&L(n,r,{name:l[1],kind:"class",line:d+1,signature:f,exported:!l[1].startsWith("_"),confidenceBoost:.08});continue}if(e==="go"){if(l=/^func\s+\(([^)]+)\)\s*([A-Za-z_][A-Za-z0-9_]*)\s*\(/.exec(f),l){L(n,r,{name:l[2],kind:"method",line:d+1,signature:f,exported:/^[A-Z]/.test(l[2]),confidenceBoost:.08,qualifier:$l(l[1])});continue}if(l=/^func\s+([A-Za-z_][A-Za-z0-9_]*)\s*\(/.exec(f),l){L(n,r,{name:l[1],kind:"function",line:d+1,signature:f,exported:/^[A-Z]/.test(l[1]),confidenceBoost:.07});continue}l=/^type\s+([A-Za-z_][A-Za-z0-9_]*)\s+(?:struct|interface)/.exec(f),l&&L(n,r,{name:l[1],kind:f.includes("interface")?"interface":"struct",line:d+1,signature:f,exported:/^[A-Z]/.test(l[1]),confidenceBoost:.07});continue}if(e==="rust"){let O=s[s.length-1];if(l=/^impl(?:<[^>]+>)?\s+(?:[A-Za-z0-9_:<&>\[\]]+\s+for\s+)?([A-Za-z_][A-Za-z0-9_:<>]*)/.exec(f),l){let h=Ki(l[1]);s.push({name:h,depth:c+ue(u)})}if(l=/^(?:pub\s+)?fn\s+([A-Za-z_][A-Za-z0-9_]*)\s*\(/.exec(f),l){for(L(n,r,{name:l[1],kind:O?.name?"method":"function",line:d+1,signature:f,exported:f.startsWith("pub "),confidenceBoost:O?.name?.07:.06,qualifier:O?.name}),c+=ue(u);s.length>0&&c<(s[s.length-1]?.depth??0);)s.pop();continue}for(l=/^(?:pub\s+)?(struct|enum|trait)\s+([A-Za-z_][A-Za-z0-9_]*)/.exec(f),l&&L(n,r,{name:l[2],kind:l[1],line:d+1,signature:f,exported:f.startsWith("pub "),confidenceBoost:.06}),c+=ue(u);s.length>0&&c<(s[s.length-1]?.depth??0);)s.pop();continue}if(e==="java"){if(l=/^(?:public\s+)?(class|interface|enum)\s+([A-Za-z_][A-Za-z0-9_]*)/.exec(f),l){for(L(n,r,{name:l[2],kind:l[1]==="interface"?"interface":l[1]==="enum"?"enum":"class",line:d+1,signature:f,exported:!0,confidenceBoost:.05}),o.push({name:l[2],depth:c+ue(u)}),c+=ue(u);o.length>0&&c<(o[o.length-1]?.depth??0);)o.pop();continue}if(l=/^(?:public|protected|private|static|final|synchronized|abstract|\s)+[\w<>\[\], ?]+\s+([A-Za-z_][A-Za-z0-9_]*)\s*\([^;]*\)\s*\{?$/.exec(f),l&&!me.has(l[1])){let O=o[o.length-1]?.name;L(n,r,{name:l[1],kind:O?"method":"function",line:d+1,signature:f,exported:f.startsWith("public"),confidenceBoost:.03,qualifier:O})}for(c+=ue(u);o.length>0&&c<(o[o.length-1]?.depth??0);)o.pop();continue}if(e==="cpp"){if(l=/^(class|struct|enum)(?:\s+(?:class|struct))?\s+([A-Za-z_][A-Za-z0-9_]*)/.exec(f),l){for(L(n,r,{name:l[2],kind:l[1]==="enum"?"enum":l[1]==="struct"?"struct":"class",line:d+1,signature:f,exported:!0,confidenceBoost:.03}),l[1]!=="enum"&&i.push({name:l[2],depth:c+ue(u)}),c+=ue(u);i.length>0&&c<(i[i.length-1]?.depth??0);)i.pop();continue}if(l=/^(?:[\w:&*<>,~]+\s+)+([A-Za-z_~][A-Za-z0-9_]*)::([A-Za-z_~][A-Za-z0-9_]*)\s*\([^;]*\)\s*(?:const\s*)?(?:\{|$)/.exec(f),l&&!me.has(l[2])){for(L(n,r,{name:l[2],kind:"method",line:d+1,signature:f,exported:!0,confidenceBoost:.04,qualifier:l[1].split("::").at(-1)}),c+=ue(u);i.length>0&&c<(i[i.length-1]?.depth??0);)i.pop();continue}if(l=/^(?:[\w:&*<>,~]+\s+)+([A-Za-z_~][A-Za-z0-9_]*)\s*\([^;]*\)\s*(?:const\s*)?(?:\{|$)/.exec(f),l&&!me.has(l[1])){let O=i[i.length-1]?.name;L(n,r,{name:l[1],kind:O?"method":"function",line:d+1,signature:f,exported:!0,confidenceBoost:O?.03:.02,qualifier:O})}for(c+=ue(u);i.length>0&&c<(i[i.length-1]?.depth??0);)i.pop()}}return n.slice(0,ze)}async function Ml(t,e,n){let r=Ye.join(t,e);if((await Il.stat(r)).size>mt)return null;let i=await Il.readFile(r,"utf8"),s=i.split(/\r?\n/),c=N(e),d=B(c),u=Zt(i,c),f=My(s,c),l=ke(d),O=f.map((h,w,Q)=>{let g=Iy(s,c,h,Q,w),y=h.calls??Ay(g);return{id:`${e}#${h.qualifier?`${h.qualifier}.`:""}${h.name}:${h.line}`,name:h.name,qualifiedName:`${e}:${h.qualifier?`${h.qualifier}.`:""}${h.name}`,kind:h.kind,filePath:e,moduleId:n,language:c,capabilityTier:d,line:h.line,signature:h.signature,exported:h.exported,calls:y,callTargets:[],importPaths:u,confidence:Math.min(.97,l+h.confidenceBoost)}});return{filePath:e,moduleId:n,language:c,capabilityTier:d,importPaths:u,symbols:O}}function Wl(t){let e=new Map;for(let n of t)e.set(n.id.toLowerCase(),n.id),e.set(n.label.toLowerCase(),n.id),e.set(Ye.posix.basename(n.root).toLowerCase(),n.id);return e}function Wy(t,e,n){if(!t.startsWith("."))return null;let r=Ye.posix.dirname(e),o;if(t.includes("/"))o=j(Ye.posix.join(r,t));else{let s=t.match(/^\.+/)?.[0]?.length??0,c=t.slice(s).replace(/\./g,"/"),d=r;for(let u=1;u<s;u+=1)d=Ye.posix.dirname(d);o=j(Ye.posix.join(d,c))}let i=[o];for(let s of ht)i.push(`${o}${s}`),i.push(`${o}/index${s}`);for(let s of i)if(n.has(s))return s;return null}function cn(t,e,n,r,o){let i=Wy(t,e,n);if(i)return ce(i,r).id;let s=t.toLowerCase();for(let[c,d]of o.entries())if(s===c||s.startsWith(`${c}/`)||s.endsWith(`/${c}`))return d;return null}function Qr(t,e,n){return t===e?"same-module":n.has(e)?"imported-module":"name-match"}function zl(t,e){let n=new Map(e.map(i=>[i.id,i])),r=new Map;for(let i of e){let s=r.get(i.moduleId)??[];s.push(i),r.set(i.moduleId,s)}let o=[];for(let i of t){let s=r.get(i.moduleId)??[],c=i.entryFiles.length>0?i.entryFiles:i.sampleFiles;for(let d of c.slice(0,2)){let u=s.find(g=>g.filePath===d&&g.exported)??s.find(g=>g.filePath===d)??s[0];if(!u)continue;let f=[{kind:"entry",symbolName:u.name,symbolId:u.id,filePath:u.filePath,line:u.line,note:`Entry symbol ${u.name} in ${u.filePath}`}];for(let g of u.importPaths.slice(0,3))f.push({kind:"imports",symbolName:g,filePath:u.filePath,note:`Imports ${g}`});let l=u.callTargets.slice(0,3);for(let g of l){let y=n.get(g.symbolId);f.push({kind:"calls",symbolName:g.name,symbolId:g.symbolId,filePath:g.filePath,line:y?.line,note:`Calls ${g.name} (${g.reason})`})}let O=l.map(g=>n.get(g.symbolId)).filter(g=>g!==void 0).flatMap(g=>g.callTargets.slice(0,2)).slice(0,2);for(let g of O){let y=n.get(g.symbolId);f.push({kind:"calls",symbolName:g.name,symbolId:g.symbolId,filePath:g.filePath,line:y?.line,note:`Then reaches ${g.name} (${g.reason})`})}let h=f.slice(0,$d),w=J(h.map(g=>n.get(g.symbolId??"")?.moduleId).filter(g=>typeof g=="string"),4),Q=`${i.moduleId}::${Ye.posix.basename(d)}`;o.push({id:Q,label:`${i.label} entry via ${Ye.posix.basename(d)}`,moduleId:i.moduleId,entryFile:d,entrySymbol:u.name,summary:w.length>0?`${u.name} fans into ${J(l.map(g=>g.name),4).join(", ")||"local work"} and touches modules ${w.join(", ")}.`:`${u.name} starts the main path for ${i.label}.`,steps:h,confidence:Math.min(.95,u.confidence-.02+l.length*.03)})}}return o}var Zi=p(()=>{"use strict";je();Gi();a(Al,"countOccurrences");a(ue,"countBraceDelta");a(Iy,"extractSymbolBody");a(Ay,"extractCallNames");a(L,"pushSymbol");a(My,"extractSymbolsFromLines");a(Ml,"analyzeSourceFile");a(Wl,"buildModuleAliases");a(Wy,"resolveRelativeImport");a(cn,"resolveImportToModule");a(Qr,"rankReferenceReason");a(zl,"buildProcessCapsules")});var Dl={};ys(Dl,{analyzeTypeScriptFiles:()=>qy,collectTypeScriptImportPaths:()=>Ul,getCallExpressionName:()=>Fl,getDeclarationKey:()=>Hi,getNodeLine:()=>ql,getPropertyNameText:()=>kr,getSignatureSnippet:()=>jl,hasModifier:()=>Bi,isExportedDeclaration:()=>Ke,registerTypeScriptSymbol:()=>Le,resolveTypeScriptCallSymbol:()=>Vl,scriptKindFromFilePath:()=>zy});import br from"path";import R from"typescript";function zy(t){switch(br.extname(t).toLowerCase()){case".ts":return R.ScriptKind.TS;case".tsx":return R.ScriptKind.TSX;case".jsx":return R.ScriptKind.JSX;default:return R.ScriptKind.JS}}function ql(t,e){return t.getLineAndCharacterOfPosition(e.getStart(t)).line+1}function Hi(t,e){let n=e.getSourceFile(),r=n.getLineAndCharacterOfPosition(e.getStart(n));return`${j(br.relative(t,n.fileName))}:${r.line+1}:${r.character+1}:${e.kind}`}function jl(t,e){let n=e.getStart(t),r=t.text.indexOf(`
|
|
275
|
+
`,n);return t.text.slice(n,r===-1?void 0:r).trim()||e.getText(t).split(/\r?\n/,1)[0]?.trim()||"<unknown>"}function Bi(t,e){return R.canHaveModifiers(t)?!!R.getModifiers(t)?.some(n=>n.kind===e):!1}function Ke(t){return Bi(t,R.SyntaxKind.ExportKeyword)||Bi(t,R.SyntaxKind.DefaultKeyword)?!0:R.isVariableDeclaration(t)&&R.isVariableDeclarationList(t.parent)&&R.isVariableStatement(t.parent.parent)?Ke(t.parent.parent):!1}function kr(t){return t&&(R.isIdentifier(t)||R.isPrivateIdentifier(t)||R.isStringLiteral(t)||R.isNumericLiteral(t))?t.text:null}function Fl(t){return R.isIdentifier(t)?t.text:R.isPropertyAccessExpression(t)?t.name.text:R.isElementAccessExpression(t)&&R.isIdentifier(t.argumentExpression)?t.argumentExpression.text:null}function Ul(t){let e=new Set,n=a(o=>{o?.trim()&&e.add(o.trim())},"addImport"),r=a(o=>{if(R.isImportDeclaration(o)||R.isExportDeclaration(o))o.moduleSpecifier&&R.isStringLiteralLike(o.moduleSpecifier)&&n(o.moduleSpecifier.text);else if(R.isImportEqualsDeclaration(o)){let i=o.moduleReference;R.isExternalModuleReference(i)&&i.expression&&R.isStringLiteralLike(i.expression)&&n(i.expression.text)}else R.isCallExpression(o)&&R.isIdentifier(o.expression)&&o.expression.text==="require"&&o.arguments.length===1&&R.isStringLiteralLike(o.arguments[0])&&n(o.arguments[0].text);R.forEachChild(o,r)},"visit");return r(t),Array.from(e).slice(0,12)}function Le(t,e,n,r,o,i,s,c,d,u,f){if(!i.trim())return;let l=ql(r,o),O=f?`${n.filePath}:${f}.${i}`:`${n.filePath}:${i}`,h={id:`${n.filePath}#${f?`${f}.`:""}${i}:${l}`,name:i,qualifiedName:O,kind:s,filePath:n.filePath,moduleId:n.moduleId,language:n.language,capabilityTier:n.capabilityTier,line:l,signature:jl(r,o),exported:c,calls:[],callTargets:[],importPaths:n.importPaths,confidence:Math.min(.99,ke(n.capabilityTier)+d)};if(n.symbols.find(g=>g.id===h.id)||n.symbols.length>=ze)return;n.symbols.push(h);let Q;R.isFunctionDeclaration(o)||R.isMethodDeclaration(o)||R.isGetAccessorDeclaration(o)||R.isSetAccessorDeclaration(o)||R.isFunctionExpression(o)||R.isArrowFunction(o)?Q=o.body??void 0:R.isVariableDeclaration(o)?Q=o.initializer??void 0:(R.isClassDeclaration(o)||R.isClassExpression(o))&&(Q=o),e.push({record:h,declaration:o,body:Q}),u.set(Hi(t,o),h)}function Vl(t,e){return R.isPropertyAccessExpression(e)?t.getSymbolAtLocation(e.name)??t.getSymbolAtLocation(e):R.isElementAccessExpression(e)?t.getSymbolAtLocation(e.argumentExpression)??t.getSymbolAtLocation(e):t.getSymbolAtLocation(e)}async function qy(t,e,n,r,o){let i={allowJs:!0,checkJs:!1,target:R.ScriptTarget.Latest,module:R.ModuleKind.ESNext,moduleResolution:R.ModuleResolutionKind.NodeNext,jsx:R.JsxEmit.Preserve,skipLibCheck:!0,noEmit:!0,allowSyntheticDefaultImports:!0},s=e.map(O=>br.join(t,O)),c=R.createProgram(s,i),d=c.getTypeChecker(),u=new Map,f=new Map,l=[];for(let O of e){let h=N(O);if(!ot(h))continue;let w=c.getSourceFile(br.join(t,O));if(!w)continue;let Q={filePath:O,moduleId:ce(O,n).id,language:h,capabilityTier:B(h),importPaths:Ul(w),symbols:[]};u.set(O,Q);for(let g of w.statements){if(R.isFunctionDeclaration(g)&&g.name){Le(t,l,Q,w,g,g.name.text,"function",Ke(g),.1,f);continue}if(R.isVariableStatement(g)){for(let y of g.declarationList.declarations){let k=kr(y.name);k&&y.initializer&&(R.isArrowFunction(y.initializer)||R.isFunctionExpression(y.initializer))&&Le(t,l,Q,w,y,k,"function",Ke(y),.08,f)}continue}if(R.isClassDeclaration(g)&&g.name){Le(t,l,Q,w,g,g.name.text,"class",Ke(g),.1,f);for(let y of g.members)(R.isMethodDeclaration(y)||R.isGetAccessorDeclaration(y)||R.isSetAccessorDeclaration(y))&&kr(y.name)&&Le(t,l,Q,w,y,kr(y.name),"method",!1,.05,f,g.name.text);continue}if(R.isInterfaceDeclaration(g)&&g.name){Le(t,l,Q,w,g,g.name.text,"interface",Ke(g),.09,f);continue}if(R.isTypeAliasDeclaration(g)&&g.name){Le(t,l,Q,w,g,g.name.text,"type",Ke(g),.09,f);continue}R.isEnumDeclaration(g)&&g.name&&Le(t,l,Q,w,g,g.name.text,"enum",Ke(g),.09,f)}}for(let O of l){let h=new Set;for(let y of O.record.importPaths){let k=cn(y,O.record.filePath,r,n,o);k&&h.add(k)}let w=new Set,Q=new Map,g=a(y=>{if(R.isCallExpression(y)||R.isNewExpression(y)){let k=Fl(y.expression);k&&!me.has(k)&&w.add(k);let v=Vl(d,y.expression)?.declarations?.[0];if(v){let b=f.get(Hi(t,v));b&&b.id!==O.record.id&&Q.set(b.id,{symbolId:b.id,name:b.name,filePath:b.filePath,moduleId:b.moduleId,reason:Qr(O.record.moduleId,b.moduleId,h)})}}R.forEachChild(y,g)},"visit");g(O.body??O.declaration),O.record.calls=Array.from(w).slice(0,24),O.record.callTargets=Array.from(Q.values()).slice(0,ae),O.record.confidence=Math.min(.99,O.record.confidence+(O.record.callTargets.length>0?.03:0))}return Array.from(u.values())}var Nl=p(()=>{"use strict";je();Bt();Zi();a(zy,"scriptKindFromFilePath");a(ql,"getNodeLine");a(Hi,"getDeclarationKey");a(jl,"getSignatureSnippet");a(Bi,"hasModifier");a(Ke,"isExportedDeclaration");a(kr,"getPropertyNameText");a(Fl,"getCallExpressionName");a(Ul,"collectTypeScriptImportPaths");a(Le,"registerTypeScriptSymbol");a(Vl,"resolveTypeScriptCallSymbol");a(qy,"analyzeTypeScriptFiles")});import Ee from"path";function jy(t){return[...t.typeScriptFiles,...t.pythonFiles,...t.goFiles,...t.rustFiles,...t.fallbackFiles]}function Fy(t){let e=new Map;for(let n of t)e.set(n.language,(e.get(n.language)??0)+1);return Array.from(e.entries()).map(([n,r])=>({language:n,capabilityTier:B(n),fileCount:r}))}function Uy(t,e){return e==="full"?t:{...t,confidence:Math.min(.68,Math.max(.32,t.confidence-.18))}}function Vy(t,e){return t.map(n=>Uy(n,e))}async function xr(t,e={}){let n=t.overview,r=t.workspaceRoot,o=e.profile??e.preflight?.analysisProfile??"full",i=e.preflight,s=i?.storageRoot??await Hn(r,o),c=t.inventory,d=c?null:await Lt(r,n.source),u=i?.dirtyPaths??t.dirtyPaths,f=new Set((c?.allFiles??d?.files??[]).map(P=>j(P)));if(u&&u.length>0)for(let P of u){let S=Ee.join(r,P);await Bn(S)?f.add(P):f.delete(P)}let l=Array.from(f).sort((P,S)=>P.localeCompare(S)),{areaByFile:O,filesByAreaId:h,testFilesByAreaId:w,docFilesByAreaId:Q}=Fd(l,n.areas),g=l.filter(P=>ht.has(Ee.extname(P).toLowerCase())),y=new Set(g),k=i?.dirtyPathsFingerprint??(u?Gt(u):void 0),T=i?.dirtySourcePaths?i.dirtySourcePaths.filter(P=>y.has(P)):u?u.filter(P=>y.has(P)):[],v=i?.dirtySourceStateMap??(T.length>0?await wt(r,T,O,n.areas,o):void 0),b=i?.dirtySourceFingerprint??(u?yt(v?Array.from(v.values()).sort((P,S)=>P.filePath.localeCompare(S.filePath)):[]):void 0);return{analysisProfile:o,overview:n,overviewFingerprint:Jn(n,l),workspaceSnapshot:i?.workspaceSnapshot??er(n),inventory:c,workspaceRoot:r,storageRoot:s,allFiles:l,areaByFile:O,filesByAreaId:h,testFilesByAreaId:w,docFilesByAreaId:Q,sourceFiles:g,sourceFileSet:y,dirtyPaths:u,dirtyPathsFingerprint:k,dirtySourceFingerprint:b,dirtySourceStateMap:v,moduleAliases:Wl(n.areas),buckets:yi(g)}}function Ji(t,e){return{...t,sourceStates:e,sourceFingerprint:yt(e)}}async function es(t,e){let n=new Map(e.map(i=>[i,null])),r=yi(e);if(t.analysisProfile==="full"&&r.typeScriptFiles.length>0){let{analyzeTypeScriptFiles:i}=await Promise.resolve().then(()=>(Nl(),Dl)),s=await i(t.workspaceRoot,r.typeScriptFiles,t.overview.areas,t.sourceFileSet,t.moduleAliases);for(let c of s)n.set(c.filePath,c)}if(r.pythonFiles.length>0){let i=await _l(t.workspaceRoot,r.pythonFiles,t.overview.areas);for(let s of i)n.set(s.filePath,s)}if(r.goFiles.length>0){let i=await Xl(t.workspaceRoot,r.goFiles,t.overview.areas);for(let s of i)n.set(s.filePath,s)}if(r.rustFiles.length>0){let i=await Cl(t.workspaceRoot,r.rustFiles,t.overview.areas);for(let s of i)n.set(s.filePath,s)}let o=t.analysisProfile==="light"?[...r.typeScriptFiles,...r.fallbackFiles]:r.fallbackFiles;if(o.length>0){let i=await Promise.all(o.map(s=>Ml(t.workspaceRoot,s,t.areaByFile.get(s)?.id??t.overview.areas[0].id)));for(let[s,c]of i.entries())n.set(o[s],c??null)}return n}function Dy(t,e){return jy(t.buckets).flatMap(n=>{let r=e.get(n)??null;return r?[r]:[]})}async function Tr(t,e){if(!t.sourceStates||!t.sourceFingerprint)throw new Error("materializeRepoIntelligenceIndex requires source state metadata.");let n=Dy(t,e),r=n.flatMap(y=>y.symbols),o=new Map;for(let y of r){let k=y.name.toLowerCase(),T=o.get(k)??[];T.push(y),o.set(k,T)}let i=r.map(y=>{let k=new Set;for(let b of y.importPaths){let P=cn(b,y.filePath,t.sourceFileSet,t.overview.areas,t.moduleAliases);P&&k.add(P)}let T=y.calls.flatMap(b=>(o.get(b.toLowerCase())??[]).map(P=>({candidate:P,reason:Qr(y.moduleId,P.moduleId,k)}))).filter(({candidate:b})=>b.id!==y.id).sort((b,P)=>{if(b.reason!==P.reason){let S=["same-module","imported-module","name-match"];return S.indexOf(b.reason)-S.indexOf(P.reason)}return b.candidate.filePath.localeCompare(P.candidate.filePath)}),v=new Map;for(let{candidate:b,reason:P}of T)if(v.has(b.id)||v.set(b.id,{symbolId:b.id,name:b.name,filePath:b.filePath,moduleId:b.moduleId,reason:P}),v.size>=ae)break;return{...y,callTargets:Array.from(v.values())}}),s=Vy(i,t.analysisProfile),c=new Map;for(let y of t.overview.areas)c.set(y.id,{dependencies:new Set,dependents:new Set,languageCounts:new Map,sourceFileCount:0,symbolCount:0,entryFiles:[]});for(let y of n){let k=c.get(y.moduleId);if(!k)continue;let T=new Map(k.languageCounts);T.set(y.language,(T.get(y.language)??0)+1);let v=new Set(k.dependencies),b=/\/(?:index|main|app|server|cli)\.[^.]+$/.test(y.filePath)||/^(index|main|app|server|cli)\.[^.]+$/.test(y.filePath)?J([...k.entryFiles,y.filePath],4):k.entryFiles;for(let P of y.importPaths){let S=cn(P,y.filePath,t.sourceFileSet,t.overview.areas,t.moduleAliases);S&&S!==y.moduleId&&v.add(S)}c.set(y.moduleId,{...k,sourceFileCount:k.sourceFileCount+1,symbolCount:k.symbolCount+y.symbols.length,languageCounts:T,dependencies:v,entryFiles:b})}for(let[y,k]of c.entries())for(let T of k.dependencies){let v=c.get(T);v&&c.set(T,{...v,dependents:new Set([...v.dependents,y])})}let d=Array.from(c.entries()).map(([y,k])=>{let T=t.overview.areas.find($=>$.id===y);if(!T)return null;let v=Array.from(k.dependencies).sort(($,_)=>$.localeCompare(_)),b=Array.from(k.dependents).sort(($,_)=>$.localeCompare(_)),P=Array.from(k.languageCounts.entries()).map(([$,_])=>({language:$,capabilityTier:B($),fileCount:_})).sort(($,_)=>_.fileCount-$.fileCount),S=s.filter($=>$.moduleId===y);return{moduleId:T.id,label:T.label,kind:T.kind,root:T.root,fileCount:t.filesByAreaId.get(T.id)?.length??0,sourceFileCount:k.sourceFileCount,symbolCount:k.symbolCount,languages:P,topSymbols:S.sort(($,_)=>Number(_.exported)-Number($.exported)||_.confidence-$.confidence).slice(0,6).map($=>$.name),dependencies:v,dependents:b,entryFiles:k.entryFiles,keyTests:(t.testFilesByAreaId.get(y)??[]).slice(0,4),keyDocs:(t.docFilesByAreaId.get(y)??[]).slice(0,4),sampleFiles:T.sampleFiles.slice(0,5),processIds:[],confidence:Ad(S,P)}}).filter(y=>y!==null).sort((y,k)=>k.symbolCount-y.symbolCount||y.moduleId.localeCompare(k.moduleId)),u=zl(d,s),f=new Map;for(let y of u){let k=f.get(y.moduleId)??[];k.push(y.id),f.set(y.moduleId,k)}let l=d.map(y=>({...y,processIds:f.get(y.moduleId)??[]})),O={schemaVersion:D,workspaceRoot:t.workspaceRoot,generatedAt:new Date().toISOString(),overviewGeneratedAt:t.overview.generatedAt,sourceFileCount:t.sourceFiles.length,sourceFingerprint:t.sourceFingerprint,languages:Fy(n),modules:l,symbols:s,processes:u},h={schemaVersion:D,workspaceRoot:t.workspaceRoot,generatedAt:O.generatedAt,overviewGeneratedAt:t.overview.generatedAt,overviewFingerprint:t.overviewFingerprint,workspaceSnapshot:t.workspaceSnapshot,sourceFileCount:t.sourceFiles.length,sourceFingerprint:t.sourceFingerprint,languageBreakdown:O.languages,sourceStates:t.sourceStates},w={schemaVersion:D,workspaceRoot:t.workspaceRoot,generatedAt:O.generatedAt,sourceFingerprint:t.sourceFingerprint,analyses:Object.fromEntries(t.sourceFiles.map(y=>[y,Vd(e.get(y)??null)]))},Q=zd(t),g={schemaVersion:D,workspaceRoot:t.workspaceRoot,branch:t.workspaceSnapshot.branch,head:t.workspaceSnapshot.head,queryGeneratedAt:O.generatedAt,overviewFingerprint:t.overviewFingerprint,sourceFingerprint:t.sourceFingerprint,sourceFileCount:t.sourceFiles.length,dirtyPathsFingerprint:t.dirtyPathsFingerprint??Gt(t.dirtyPaths??[]),dirtySourceFingerprint:t.dirtySourceFingerprint??yt([]),dirtySourcePaths:Q};return await qe(Ee.join(t.storageRoot,Td),l),await qe(Ee.join(t.storageRoot,vd),s),await qe(Ee.join(t.storageRoot,Rd),u),await qe(Ee.join(t.storageRoot,We),O),await qe(Ee.join(t.storageRoot,Zn),g),Wd(t)&&(await qe(Ee.join(t.storageRoot,Kn),h),await qe(Ee.join(t.storageRoot,Gn),w)),O}var Yl=p(()=>{"use strict";Yn();Gi();Zi();Bt();je();Bt();a(jy,"orderedSourceFilesForBuild");a(Fy,"collectLanguageBreakdown");a(Uy,"calibrateSymbolConfidenceForProfile");a(Vy,"calibrateSymbolsForProfile");a(xr,"prepareRepoIntelligenceBuildInputsFromSnapshot");a(Ji,"finalizeRepoIntelligenceBuildInputs");a(es,"analyzeSourceFilesForBuild");a(Dy,"collectOrderedAnalyses");a(Tr,"materializeRepoIntelligenceIndex")});import Ge from"path";async function ns(t){let e=await gi(t.workspaceRoot,t.sourceFiles,t.areaByFile,t.overview.areas,t.analysisProfile),n=Ji(t,e),r=await es(n,n.sourceFiles);return Tr(n,r)}async function rs(t){return G(Ge.join(t,Kn),Ed)}async function Ll(t){return G(Ge.join(t,Gn),Xd)}async function vr(t){return G(Ge.join(t,Zn),Cd)}function Kl(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function Gl(t,e,n){return e.schemaVersion===D&&n.schemaVersion===D&&e.workspaceRoot===t.workspaceRoot&&n.workspaceRoot===t.workspaceRoot&&e.workspaceSnapshot.source===t.workspaceSnapshot.source&&e.sourceStates.length===e.sourceFileCount&&n.sourceFingerprint===e.sourceFingerprint}async function Ny(t,e){let n=await G(Ge.join(t.storageRoot,We),gt);return n?.schemaVersion!==D||n.workspaceRoot!==t.workspaceRoot||n.generatedAt!==e.generatedAt||n.sourceFileCount!==e.sourceFileCount||n.sourceFingerprint!==e.sourceFingerprint?null:n}function Zl(t,e){return tr(t.workspaceSnapshot)&&mi(e.workspaceSnapshot,t.workspaceSnapshot)&&e.overviewFingerprint===t.overviewFingerprint&&e.sourceFileCount===t.sourceFiles.length}function Bl(t,e){return!!(t.workspaceSnapshot.source==="git"&&t.workspaceSnapshot.hasUncommittedChanges===!0&&e&&e.schemaVersion===D&&e.workspaceRoot===t.workspaceRoot&&e.head===t.workspaceSnapshot.head&&e.branch===t.workspaceSnapshot.branch&&e.overviewFingerprint===t.overviewFingerprint&&e.sourceFileCount===t.sourceFiles.length&&e.dirtyPathsFingerprint===t.dirtyPathsFingerprint&&e.dirtySourceFingerprint===t.dirtySourceFingerprint)}async function Hl(t){if(!tr(t.workspaceSnapshot))return null;let e=await rs(t.storageRoot);if(!e||e.schemaVersion!==D||e.workspaceRoot!==t.workspaceRoot||!mi(e.workspaceSnapshot,t.workspaceSnapshot)||e.overviewFingerprint!==t.overviewFingerprint)return null;let n=await G(Ge.join(t.storageRoot,We),gt);return n?.schemaVersion!==D||n.workspaceRoot!==t.workspaceRoot||n.overviewGeneratedAt!==e.overviewGeneratedAt||n.sourceFileCount!==e.sourceFileCount||n.sourceFingerprint!==e.sourceFingerprint?null:n}async function Jl(t){if(t.workspaceSnapshot.source!=="git"||t.workspaceSnapshot.hasUncommittedChanges!==!0)return null;let e=await vr(t.storageRoot);if(!e||e.schemaVersion!==D||e.workspaceRoot!==t.workspaceRoot||e.head!==t.workspaceSnapshot.head||e.branch!==t.workspaceSnapshot.branch||e.overviewFingerprint!==t.overviewFingerprint||e.dirtyPathsFingerprint!==t.dirtyPathsFingerprint||e.dirtySourceFingerprint!==t.dirtySourceFingerprint)return null;let n=await G(Ge.join(t.storageRoot,We),gt);return n?.schemaVersion!==D||n.workspaceRoot!==t.workspaceRoot||n.generatedAt!==e.queryGeneratedAt||n.sourceFileCount!==e.sourceFileCount||n.sourceFingerprint!==e.sourceFingerprint?null:n}function Rr(t){return new Map(t.map(e=>[e.filePath,e]))}function os(t,e){let n=t.sourceFiles.map(r=>e.get(r)).filter(r=>r!==void 0);return n.length!==t.sourceFiles.length?null:Ji(t,n)}function is(t,e){let n=new Set;for(let r of t){let o=e.get(r.filePath);if(!o){n.add(r.filePath);continue}if(o.analyzerVersion!==r.analyzerVersion)return null;(o.fileFingerprint!==r.fileFingerprint||o.language!==r.language||o.moduleId!==r.moduleId)&&n.add(r.filePath)}return n}async function ss(t,e,n,r){if(!t.sourceStates)return null;let o=Rr(t.sourceStates),i=t.analysisProfile==="full"&&Array.from(r).some(d=>{let u=o.get(d);return u?ot(u.language):!1}),s=new Set;for(let d of t.sourceStates){if(i&&ot(d.language)){s.add(d.filePath);continue}r.has(d.filePath)&&s.add(d.filePath)}let c=new Map;for(let d of t.sourceStates)if(!s.has(d.filePath)){if(!Kl(n.analyses,d.filePath))return null;c.set(d.filePath,Dd(d.filePath,d,n.analyses[d.filePath]??null))}if(s.size>0){let d=await es(t,t.sourceFiles.filter(u=>s.has(u)));for(let u of s)c.set(u,d.get(u)??null)}for(let d of t.sourceStates){if(!c.has(d.filePath))return null;let u=c.get(d.filePath)??null;if(u&&(u.filePath!==d.filePath||u.moduleId!==d.moduleId||u.language!==d.language)||e.get(d.filePath)?.analyzerVersion!==void 0&&e.get(d.filePath)?.analyzerVersion!==d.analyzerVersion)return null}return c}async function eu(t,e,n){if(t.workspaceSnapshot.source!=="git"||t.workspaceSnapshot.hasUncommittedChanges!==!0||e.workspaceSnapshot.source!=="git"||t.workspaceSnapshot.head!==e.workspaceSnapshot.head||t.workspaceSnapshot.branch!==e.workspaceSnapshot.branch)return null;let r=new Set(t.dirtyPaths??[]),o=await vr(t.storageRoot),i=new Set(o&&o.workspaceRoot===t.workspaceRoot&&o.head===t.workspaceSnapshot.head&&o.branch===t.workspaceSnapshot.branch?o.dirtySourcePaths:[]),s=Rr(e.sourceStates),c=new Map,d=new Set,u=t.dirtySourceStateMap??new Map;for(let h of t.sourceFiles){let w=s.get(h);if(!w){if(!r.has(h))return null;d.add(h);continue}if(r.has(h)||i.has(h)){d.add(h);continue}c.set(h,w)}if(d.size>0){let h=new Set;for(let w of d){let Q=u.get(w);if(Q){c.set(w,Q);continue}h.add(w)}if(h.size>0){let w=await wt(t.workspaceRoot,h,t.areaByFile,t.overview.areas,t.analysisProfile);for(let[Q,g]of w.entries())c.set(Q,g)}}let f=os(t,c);if(!f?.sourceStates)return null;let l=is(f.sourceStates,s);if(!l)return null;let O=await ss(f,s,n,l);return O?Tr(f,O):null}async function tu(t,e,n){let r=await wt(t.workspaceRoot,t.sourceFiles,t.areaByFile,t.overview.areas,t.analysisProfile),o=os(t,r);if(!o?.sourceStates)return null;let i=Rr(e.sourceStates),s=is(o.sourceStates,i);if(!s)return null;if(s.size===0)return Ny(o,e);let c=await ss(o,i,n,s);return c?Tr(o,c):null}async function nu(t,e){if(!e)return null;let n=await Ll(t.storageRoot);if(!n||!Gl(t,e,n))return null;let r=await eu(t,e,n);return r||tu(t,e,n)}async function ts(t,e=!1){let n=e?null:await rs(t.storageRoot),r=!e&&t.workspaceSnapshot.source==="git"&&t.workspaceSnapshot.hasUncommittedChanges===!0?await vr(t.storageRoot):null;if(n&&Zl(t,n)){let o=await G(Ge.join(t.storageRoot,We),gt);if(o?.schemaVersion===D&&o.workspaceRoot===t.workspaceRoot&&o.overviewGeneratedAt===n.overviewGeneratedAt&&o.sourceFileCount===n.sourceFileCount&&o.sourceFingerprint===n.sourceFingerprint)return o}if(Bl(t,r)){let o=await G(Ge.join(t.storageRoot,We),gt);if(o?.schemaVersion===D&&o.workspaceRoot===t.workspaceRoot&&o.generatedAt===r?.queryGeneratedAt&&o.sourceFileCount===r.sourceFileCount&&o.sourceFingerprint===r.sourceFingerprint)return o}if(!e){let o=await nu(t,n);if(o)return o}return ns(t)}async function dn(t,e=!1,n="full"){if(e){let c=await xr(t,{profile:n});return ts(c,!0)}let r=await Ud(t,n),o=await Hl(r);if(o)return o;let i=await Jl(r);if(i)return i;let s=await xr(t,{preflight:r});return ts(s,!1)}async function Yy(t,e={}){let n=await rt(t,{targetPath:e.targetPath,refresh:e.refresh}),r=await xr(n,{profile:e.profile??"full"});return ns(r)}async function ln(t,e={}){let n=await rt(t,{targetPath:e.targetPath,refresh:e.refresh});return dn(n,e.refresh===!0,e.profile??"full")}var as=p(()=>{"use strict";Yn();Bt();Yl();je();a(ns,"buildRepoIntelligenceIndexFromInputs");a(rs,"readRepoIntelligenceManifest");a(Ll,"readFileAnalysisIndex");a(vr,"readDirtySourceHint");a(Kl,"hasOwnAnalysisEntry");a(Gl,"hasCompatibleIncrementalCache");a(Ny,"readCompatibleCachedQueryIndex");a(Zl,"canDirectReuseCleanCachedQueryIndex");a(Bl,"canDirectReuseDirtyCachedQueryIndex");a(Hl,"tryDirectReuseCleanCachedQueryIndexFromPreflight");a(Jl,"tryDirectReuseDirtyCachedQueryIndexFromPreflight");a(Rr,"mapSourceStatesByFile");a(os,"buildCompleteInputsFromSourceStates");a(is,"classifyChangedOrNewSourceFiles");a(ss,"buildIncrementalAnalysisEntries");a(eu,"tryGitDirtyIncrementalRepoIntelligenceBuild");a(tu,"tryStatBasedIncrementalRepoIntelligenceBuild");a(nu,"tryIncrementalRepoIntelligenceBuild");a(ts,"getRepoIntelligenceIndexFromInputs");a(dn,"getRepoIntelligenceIndexFromSnapshot");a(Yy,"buildRepoIntelligenceIndex");a(ln,"getRepoIntelligenceIndex")});import Ly from"path";function ru(t,e,n,r){return t>=20||e>=4e3||n>=5||r>=5?"systemic":t>=8||e>=1200||n>=3||r>=3?"complex":t>=3||e>=250||n>=2||r>=2?"moderate":"simple"}function ou(t,e,n){return t>=30||e>=4e3||n>=5?"massive":t>=10||e>=1200||n>=3?"large":"small"}function Tt(t){return`${t.generatedAt} (overview ${t.overviewGeneratedAt})`}function un(t,e,n){if(n){let o=j(n),i=t.modules.find(s=>o===s.root||o.startsWith(`${s.root}/`)||s.sampleFiles.includes(o));if(i)return i}let r=e?.trim().toLowerCase();return r?t.modules.slice().sort((o,i)=>i.symbolCount-o.symbolCount).find(o=>o.moduleId.toLowerCase()===r||o.label.toLowerCase()===r||o.root.toLowerCase()===r||Ly.posix.basename(o.root).toLowerCase()===r)??t.modules.find(o=>o.moduleId.toLowerCase().includes(r)||o.label.toLowerCase().includes(r)||o.root.toLowerCase().includes(r))??null:t.modules.find(o=>o.moduleId!==".")??t.modules[0]??null}function iu(t,e,n){let r=e.trim().toLowerCase(),o=n?.trim().toLowerCase();return t.symbols.filter(i=>i.name.toLowerCase()===r||i.qualifiedName.toLowerCase()===r||i.filePath.toLowerCase()===r).sort((i,s)=>{let c=o&&(i.moduleId.toLowerCase().includes(o)||i.filePath.toLowerCase().includes(o))?1:0,d=o&&(s.moduleId.toLowerCase().includes(o)||s.filePath.toLowerCase().includes(o))?1:0;return d!==c?d-c:Number(s.exported)-Number(i.exported)||s.confidence-i.confidence})}function su(t,e,n){let r=e?.trim().toLowerCase(),o=n?.trim().toLowerCase();return t.processes.filter(i=>{let s=!r||i.label.toLowerCase().includes(r)||i.entryFile.toLowerCase().includes(r)||(i.entrySymbol?.toLowerCase().includes(r)??!1),c=!o||i.moduleId.toLowerCase().includes(o);return s&&c}).sort((i,s)=>s.confidence-i.confidence||i.label.localeCompare(s.label))}function $r(t,e){return t.symbols.filter(n=>n.callTargets.some(r=>r.symbolId===e)).sort((n,r)=>r.confidence-n.confidence).slice(0,ae)}function cs(t,e){let n=un(t,e.module,e.targetPath);if(!n)throw new Error(`No module matched "${e.module??e.targetPath??"current workspace"}".`);return{module:n,freshness:Tt(t),confidence:n.confidence,evidence:n.sampleFiles.slice(0,4)}}function ds(t,e){let n=iu(t,e.symbol,e.module);if(n.length===0)throw new Error(`No symbol matched "${e.symbol}".`);let[r,...o]=n;return{symbol:r,alternatives:o.slice(0,4),callers:$r(t,r.id),freshness:Tt(t),confidence:r.confidence}}function au(t,e){let n=su(t,e.entry??e.targetPath,e.module);if(n.length===0&&e.module){let i=un(t,e.module,e.targetPath);if(i?.processIds[0]){let s=t.processes.find(c=>c.id===i.processIds[0]);if(s)return{process:s,alternatives:[],freshness:Tt(t),confidence:s.confidence}}}let[r,...o]=n;if(!r)throw new Error(`No process matched "${e.entry??e.module??e.targetPath??"request"}".`);return{process:r,alternatives:o.slice(0,4),freshness:Tt(t),confidence:r.confidence}}function ls(t,e,n){let r=null,o=[],i=[],s=[],c=.65;if(e.symbol){let u=ds(t,{symbol:e.symbol,module:e.module}),f=J([u.symbol.moduleId,...u.symbol.callTargets.map(l=>l.moduleId),...u.callers.map(l=>l.moduleId)]);r={kind:"symbol",label:u.symbol.name,moduleId:u.symbol.moduleId,filePath:u.symbol.filePath},o=t.modules.filter(l=>f.includes(l.moduleId)),i=J([u.symbol.id,...u.symbol.callTargets.map(l=>l.symbolId),...u.callers.map(l=>l.id)]).map(l=>t.symbols.find(O=>O.id===l)).filter(l=>l!==void 0),s=u.callers,c=u.confidence}else if(e.path){let u=j(e.path),f=un(t,void 0,u),l=t.symbols.filter(O=>O.filePath===u);r={kind:"path",label:u,moduleId:f?.moduleId,filePath:u},o=f?[f,...t.modules.filter(O=>f.dependents.includes(O.moduleId))]:[],i=l,s=l.flatMap(O=>$r(t,O.id)).slice(0,ae),c=f?.confidence??.62}else{let u=un(t,e.module,e.targetPath);if(!u)throw new Error("impact_estimate requires one of symbol, path, or module.");r={kind:"module",label:u.label,moduleId:u.moduleId},o=[u,...t.modules.filter(f=>u.dependents.includes(f.moduleId))],i=t.symbols.filter(f=>f.moduleId===u.moduleId).slice(0,ae),s=i.flatMap(f=>$r(t,f.id)).slice(0,ae),c=u.confidence}let d=n?n.files.filter(u=>o.some(f=>u.areaId===f.moduleId)||i.some(f=>u.path===f.filePath)).length:0;return{target:r,summary:d>0?`${r.label} overlaps with ${d} currently changed file(s); validate blast radius before editing.`:`${r.label} primarily affects ${J(o.map(u=>u.label),4).join(", ")||"its local module"} and ${i.length} indexed symbol(s).`,impactedModules:o,impactedSymbols:i.slice(0,ae),callers:s.slice(0,ae),changedScope:n,freshness:Tt(t),confidence:c}}async function Ky(t,e={}){let n=await ln(t,e);return cs(n,e)}async function Gy(t,e){let n=await ln(t,e);return ds(n,e)}async function Zy(t,e){let n=await ln(t,e);return au(n,e)}async function By(t,e){let n=await rt(t,{targetPath:e.targetPath,refresh:e.refresh}),r=await dn(n,e.refresh===!0,e.profile??"full"),o;try{o=await Dn(n,{scope:"all"})}catch(i){se("impact_estimate could not load changed scope.",i),o=void 0}return ls(r,e,o)}async function Hy(t,e={}){let n=await rt(t,{targetPath:e.targetPath,refresh:e.refresh}),r=e.targetPath??(t.executionCwd?".":void 0),[o,i]=await Promise.all([dn(n,e.refresh===!0,e.profile??"full"),Dn(n,{scope:"all"}).catch(S=>(se("Routing signals could not load changed scope.",S),null))]),s=null,c=null;try{s=cs(o,{targetPath:r})}catch(S){se("Routing signals could not resolve module context.",S)}try{c=ls(o,{targetPath:r},i??void 0)}catch(S){se("Routing signals could not resolve impact estimate.",S)}let d=i?.areasTouched.map(S=>S.areaId).slice(0,8)??[],u=i?.totalChangedFiles??0,f=i?.changedLineCount??0,l=i?.addedLineCount??0,O=i?.deletedLineCount??0,h=i?.areasTouched.length??0,w=c?.impactedModules.length??(s?1:0),Q=ru(u,f,h,w),g=ou(u,f,h),y=s?.confidence,k=c?.confidence,T=(y??1)<.72||(k??1)<.72,v=s?.module.languages[0]?.capabilityTier??o.languages[0]?.capabilityTier??"low",b=Q==="complex"||Q==="systemic"||d.length>1||(c?.impactedModules.length??0)>1,P=T||(i?.riskHints.length??0)>0||(c?.changedScope?.riskHints.length??0)>0;return{workspaceRoot:o.workspaceRoot,changedFileCount:u,changedLineCount:f,addedLineCount:l,deletedLineCount:O,touchedModuleCount:h,changedModules:d,crossModule:h>1||w>1,reviewScale:g,riskHints:J([...T?["Light repo routing uses heuristic static analysis; validate low-confidence edges before editing."]:[],...i?.riskHints??[],...c?.changedScope?.riskHints??[]],4),activeModuleId:s?.module.moduleId,activeModuleConfidence:y,activeImpactConfidence:k,impactedModuleCount:w,impactedSymbolCount:c?.impactedSymbols.length??0,predominantCapabilityTier:v,suggestedComplexity:Q,plannerBias:b,investigationBias:P,lowConfidence:T}}var cu=p(()=>{"use strict";Yn();as();je();a(ru,"deriveRoutingComplexity");a(ou,"deriveReviewScale");a(Tt,"buildFreshnessLabel");a(un,"findModuleMatch");a(iu,"findSymbolMatches");a(su,"findProcessMatches");a($r,"collectCallers");a(cs,"resolveModuleContextFromIndex");a(ds,"resolveSymbolContextFromIndex");a(au,"resolveProcessContextFromIndex");a(ls,"resolveImpactEstimateFromIndex");a(Ky,"getModuleContext");a(Gy,"getSymbolContext");a(Zy,"getProcessContext");a(By,"getImpactEstimate");a(Hy,"getRepoRoutingSignals")});var du=p(()=>{"use strict";as();cu()});function us(t,...e){let n=t.trim().toLowerCase(),r=0;for(let o of e){if(!o)continue;let i=o.toLowerCase();if(i===n){r=Math.max(r,1);continue}if(i.startsWith(n)){r=Math.max(r,.92);continue}if(i.includes(n)){r=Math.max(r,.78);continue}let s=n.split(/\s+/).filter(Boolean);s.length>0&&s.every(c=>i.includes(c))&&(r=Math.max(r,.66))}return r}function Jy(t,e){return{item:{title:`${t.name} (${t.kind})`,locator:`${t.filePath}:${t.line}`,snippet:t.signature,score:e,metadata:{kind:"symbol",moduleId:t.moduleId,exported:t.exported,confidence:t.confidence}},artifact:{kind:"symbol",label:t.qualifiedName,value:`${t.filePath}:${t.line}`}}}function ew(t,e){return{item:{title:t.label,locator:t.root,snippet:`Module ${t.moduleId} with ${t.symbolCount} symbols and ${t.sourceFileCount} source files.`,score:e,metadata:{kind:"module",moduleId:t.moduleId,confidence:t.confidence}},artifact:{kind:"module",label:t.label,value:t.root}}}function tw(t,e){return{item:{title:t.label,locator:t.entryFile,snippet:t.summary,score:e,metadata:{kind:"process",moduleId:t.moduleId,confidence:t.confidence}},artifact:{kind:"process",label:t.label,value:t.entryFile}}}function nw(t,e,n,r){let o=[];if(n==="auto"||n==="symbol")for(let s of t.symbols){let c=us(e,s.name,s.qualifiedName,s.filePath,s.signature);c>0&&o.push({score:c,...Jy(s,c)})}if(n==="auto"||n==="module")for(let s of t.modules){let c=us(e,s.label,s.moduleId,s.root,...s.topSymbols);c>0&&o.push({score:c,...ew(s,c)})}if(n==="auto"||n==="process")for(let s of t.processes){let c=us(e,s.label,s.entryFile,s.entrySymbol,s.summary);c>0&&o.push({score:c,...tw(s,c)})}o.sort((s,c)=>c.score!==s.score?c.score-s.score:s.item.title.localeCompare(c.item.title));let i=o.slice(0,r);return{items:i.map(s=>s.item),artifacts:i.map(s=>s.artifact),generatedAt:t.generatedAt,sourceFileCount:t.sourceFileCount,capabilityEngine:t.capability?.engine}}var lu=p(()=>{"use strict";a(us,"scoreCandidate");a(Jy,"buildSymbolItem");a(ew,"buildModuleItem");a(tw,"buildProcessItem");a(nw,"collectSemanticLookupItems")});function _r(t){return t>=.8?"high":t>=.65?"medium":"low"}function Er(t){return!t||t.status==="ok"&&t.warnings.length===0?[]:[`Capability: ${t.engine}/${t.status}`,...t.warnings.map(e=>`Warning: ${e}`)]}function rw(t){let{module:e}=t;return[`Module context for ${e.label}`,`Module: ${e.moduleId} [${e.kind}]`,`Freshness: ${t.freshness}`,`Confidence: ${_r(t.confidence)} (${t.confidence.toFixed(2)})`,`Files: ${e.fileCount} total | ${e.sourceFileCount} source | ${e.symbolCount} symbols`,`Languages: ${e.languages.map(n=>`${n.language}/${n.capabilityTier}:${n.fileCount}`).join(" | ")||"none"}`,`Dependencies: ${e.dependencies.join(" | ")||"none"}`,`Dependents: ${e.dependents.join(" | ")||"none"}`,`Entry files: ${e.entryFiles.join(" | ")||"none"}`,`Top symbols: ${e.topSymbols.join(" | ")||"none"}`,`Tests: ${e.keyTests.join(" | ")||"none"}`,`Docs: ${e.keyDocs.join(" | ")||"none"}`,`Processes: ${e.processIds.join(" | ")||"none"}`,`Evidence: ${t.evidence.join(" | ")||"none"}`,...Er(t.capability)].join(`
|
|
276
|
+
`)}function ow(t){let{symbol:e}=t;return[`Symbol context for ${e.name}`,`Definition: ${e.filePath}:${e.line}`,`Module: ${e.moduleId} | Kind: ${e.kind} | Exported: ${e.exported?"yes":"no"}`,`Language: ${e.language}/${e.capabilityTier}`,`Freshness: ${t.freshness}`,`Confidence: ${_r(t.confidence)} (${t.confidence.toFixed(2)})`,`Signature: ${e.signature}`,`Possible callees: ${e.callTargets.map(n=>`${n.name} -> ${n.filePath}`).join(" | ")||"none"}`,`Possible callers: ${t.callers.map(n=>`${n.name} -> ${n.filePath}`).join(" | ")||"none"}`,`Imports: ${e.importPaths.join(" | ")||"none"}`,t.alternatives.length>0?`Alternatives: ${t.alternatives.map(n=>`${n.name} @ ${n.filePath}:${n.line}`).join(" | ")}`:"Alternatives: none",...Er(t.capability)].join(`
|
|
277
|
+
`)}function iw(t){let{process:e}=t;return[`Process context for ${e.label}`,`Module: ${e.moduleId}`,`Entry: ${e.entryFile}${e.entrySymbol?` -> ${e.entrySymbol}`:""}`,`Freshness: ${t.freshness}`,`Confidence: ${_r(t.confidence)} (${t.confidence.toFixed(2)})`,`Summary: ${e.summary}`,"Steps:",...e.steps.map(n=>`- ${n.kind} ${n.symbolName} @ ${n.filePath}${n.line?`:${n.line}`:""} | ${n.note}`),t.alternatives.length>0?`Alternatives: ${t.alternatives.map(n=>n.label).join(" | ")}`:"Alternatives: none",...Er(t.capability)].join(`
|
|
278
|
+
`)}function sw(t){return[`Impact estimate for ${t.target.label}`,`Target: ${t.target.kind}${t.target.moduleId?` | module=${t.target.moduleId}`:""}${t.target.filePath?` | file=${t.target.filePath}`:""}`,`Freshness: ${t.freshness}`,`Confidence: ${_r(t.confidence)} (${t.confidence.toFixed(2)})`,`Summary: ${t.summary}`,`Impacted modules: ${t.impactedModules.map(e=>`${e.label}(${e.moduleId})`).join(" | ")||"none"}`,`Impacted symbols: ${t.impactedSymbols.map(e=>`${e.name} -> ${e.filePath}:${e.line}`).join(" | ")||"none"}`,`Possible callers: ${t.callers.map(e=>`${e.name} -> ${e.filePath}:${e.line}`).join(" | ")||"none"}`,t.changedScope?`Changed-scope overlap: ${t.changedScope.files.filter(e=>t.impactedModules.some(n=>n.moduleId===e.areaId)||t.impactedSymbols.some(n=>n.filePath===e.path)).length} file(s)`:"Changed-scope overlap: unavailable",...Er(t.capability)].join(`
|
|
279
|
+
`)}var uu=p(()=>{"use strict";a(_r,"confidenceLabel");a(Er,"capabilityLines");a(rw,"renderModuleContext");a(ow,"renderSymbolContext");a(iw,"renderProcessContext");a(sw,"renderImpactEstimate")});function aw(t){let e=0,n=new Map,r=new Map,o=new Set,i=[],s=[],c=a(d=>{n.set(d,e),r.set(d,e),e++,i.push(d),o.add(d);for(let u of t.get(d)??[])n.has(u)?o.has(u)&&r.set(d,Math.min(r.get(d)??0,n.get(u)??0)):(c(u),r.set(d,Math.min(r.get(d)??0,r.get(u)??0)));if((r.get(d)??0)===(n.get(d)??0)){let u=[],f="";do f=i.pop()??"",o.delete(f),u.push(f);while(f!==d&&i.length>=0&&f!=="");s.push(u)}},"strongconnect");for(let d of t.keys())n.has(d)||c(d);return s}function cw(t){return t>=4?"high":t===3?"medium":"low"}function dw(t){let e=t.modules??[],n=new Set(e.map(d=>d.moduleId)),r=new Map,o=0;for(let d of e){let u=(d.dependencies??[]).filter(f=>n.has(f)&&f!==d.moduleId);r.set(d.moduleId,u),o+=u.length}let i=aw(r).filter(d=>d.length>1).map(d=>{let u=[...d].reverse();return{chain:[...u,u[0]??""],hopCount:d.length,severity:cw(d.length)}}).sort((d,u)=>u.hopCount-d.hopCount),s=i.filter(d=>d.severity==="high").length,c=i.length===0?"No circular dependencies found.":`${i.length} cycle(s) found, ${s} high-severity.`;return{cycles:i,scanned:{modules:e.length,edges:o},summary:c}}function lw(t){let e=[t.summary,`Scanned ${t.scanned.modules} modules, ${t.scanned.edges} edges.`];for(let n of t.cycles)e.push(`- [${n.severity}] ${n.hopCount}-hop: ${n.chain.join(" -> ")}`);return e.join(`
|
|
280
|
+
`)}var fu=p(()=>{"use strict";a(aw,"tarjanScc");a(cw,"severityFor");a(dw,"findCyclicDependencies");a(lw,"renderCycleAnalysis")});var pu={};ys(pu,{buildCompleteInputsFromSourceStates:()=>os,buildFreshnessLabel:()=>Tt,buildIncrementalAnalysisEntries:()=>ss,buildRepoIntelligenceIndex:()=>Yy,buildRepoIntelligenceIndexFromInputs:()=>ns,canDirectReuseCleanCachedQueryIndex:()=>Zl,canDirectReuseDirtyCachedQueryIndex:()=>Bl,classifyChangedOrNewSourceFiles:()=>is,collectCallers:()=>$r,collectSemanticLookupItems:()=>nw,deriveReviewScale:()=>ou,deriveRoutingComplexity:()=>ru,findCyclicDependencies:()=>dw,findModuleMatch:()=>un,findProcessMatches:()=>su,findSymbolMatches:()=>iu,getImpactEstimate:()=>By,getModuleContext:()=>Ky,getProcessContext:()=>Zy,getRepoIntelligenceIndex:()=>ln,getRepoIntelligenceIndexFromInputs:()=>ts,getRepoIntelligenceIndexFromSnapshot:()=>dn,getRepoRoutingSignals:()=>Hy,getSymbolContext:()=>Gy,hasCompatibleIncrementalCache:()=>Gl,hasOwnAnalysisEntry:()=>Kl,mapSourceStatesByFile:()=>Rr,readDirtySourceHint:()=>vr,readFileAnalysisIndex:()=>Ll,readRepoIntelligenceManifest:()=>rs,renderCycleAnalysis:()=>lw,renderImpactEstimate:()=>sw,renderModuleContext:()=>rw,renderProcessContext:()=>iw,renderSymbolContext:()=>ow,resolveImpactEstimateFromIndex:()=>ls,resolveModuleContextFromIndex:()=>cs,resolveProcessContextFromIndex:()=>au,resolveSymbolContextFromIndex:()=>ds,tryDirectReuseCleanCachedQueryIndexFromPreflight:()=>Hl,tryDirectReuseDirtyCachedQueryIndexFromPreflight:()=>Jl,tryGitDirtyIncrementalRepoIntelligenceBuild:()=>eu,tryIncrementalRepoIntelligenceBuild:()=>nu,tryStatBasedIncrementalRepoIntelligenceBuild:()=>tu});var Ou=p(()=>{"use strict";du();lu();uu();fu()});import{parentPort as Os}from"node:worker_threads";if(!Os)throw new Error("semantic-worker must run inside a worker thread.");function fs(t){return typeof t=="object"&&t!==null}a(fs,"isRecord");function uw(t){return fs(t)&&typeof t.id=="number"&&typeof t.kind=="string"&&fs(t.context)&&fs(t.options)}a(uw,"isRequest");function fw(t){return t instanceof Error?{message:t.message,stack:t.stack}:{message:String(t)}}a(fw,"serializeError");async function pw(t){let e=await Ow();switch(t.kind){case"buildIndex":return e.buildRepoIntelligenceIndex(t.context,t.options);case"getIndex":return e.getRepoIntelligenceIndex(t.context,t.options);case"module":return e.getModuleContext(t.context,t.options);case"symbol":return e.getSymbolContext(t.context,t.options);case"process":return e.getProcessContext(t.context,t.options);case"impact":return e.getImpactEstimate(t.context,t.options);case"routing":return e.getRepoRoutingSignals(t.context,t.options);case"semanticLookup":{let n=await e.getRepoIntelligenceIndex(t.context,t.options);return e.collectSemanticLookupItems(n,t.options.query,t.options.lookupKind,t.options.limit)}case"cyclicDeps":{let n=await e.getRepoIntelligenceIndex(t.context,t.options);return e.findCyclicDependencies(n)}}}a(pw,"runRequest");function mu(t){Os?.postMessage(t)}a(mu,"post");var hu=Promise.resolve(),ps;function Ow(){return ps||(ps=import.meta.url.endsWith(".ts")?mw():Promise.resolve().then(()=>(Ou(),pu))),ps}a(Ow,"loadSemanticIndex");async function mw(){return await(await import("tsx/esm/api")).tsImport("./semantic-index.ts",{parentURL:import.meta.url})}a(mw,"loadDevSemanticIndex");Os.on("message",t=>{hu=hu.then(async()=>{if(uw(t))try{mu({id:t.id,ok:!0,result:await pw(t)})}catch(n){mu({id:t.id,ok:!1,error:fw(n)})}}).catch(()=>{})});
|