@kodadev/koda-cli 0.1.8 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/bundle/koda.js +7 -7
  2. package/package.json +1 -1
package/bundle/koda.js CHANGED
@@ -334,7 +334,7 @@ To resolve the conflict:`,(0,aae.getConflictResolutionRecipe)(a,e))),n=i):oAt.di
334
334
  `),E=f.shift();if(!E)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let y=E.split(" "),g=+y[1],C=y.slice(2).join(" "),D={};for(let S of f){if(!S)continue;let w=S.indexOf(":");if(w===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${S}"`));let N=S.slice(0,w).toLowerCase(),M=S.slice(w+1).trimStart(),U=D[N];typeof U=="string"?D[N]=[U,M]:Array.isArray(U)?U.push(M):D[N]=M}Koe("got proxy server response: %o %o",E,D),s(),e({connect:{statusCode:g,statusText:C,headers:D},buffered:d})}t.on("error",l),t.on("end",o),a()})}cL.parseProxyResponse=PYr});var dL=T(kg=>{"use strict";var QYr=kg&&kg.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),kYr=kg&&kg.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),lyt=kg&&kg.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&QYr(e,t,r);return kYr(e,t),e},uyt=kg&&kg.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(kg,"__esModule",{value:!0});kg.HttpsProxyAgent=void 0;var Joe=lyt(Ie("net")),ayt=lyt(Ie("tls")),UYr=uyt(Ie("assert")),HYr=uyt(KM()),GYr=nyt(),VYr=Ie("url"),qYr=iyt(),P$=(0,HYr.default)("https-proxy-agent"),syt=t=>t.servername===void 0&&t.host&&!Joe.isIP(t.host)?{...t,servername:t.host}:t,Xoe=class extends GYr.Agent{constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new VYr.URL(e):e,this.proxyHeaders=r?.headers??{},P$("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),i=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...r?oyt(r,"headers"):null,host:n,port:i}}async connect(e,r){let{proxy:n}=this;if(!r.host)throw new TypeError('No "host" provided');let i;n.protocol==="https:"?(P$("Creating `tls.Socket`: %o",this.connectOpts),i=ayt.connect(syt(this.connectOpts))):(P$("Creating `net.Socket`: %o",this.connectOpts),i=Joe.connect(this.connectOpts));let a=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},s=Joe.isIPv6(r.host)?`[${r.host}]`:r.host,o=`CONNECT ${s}:${r.port} HTTP/1.1\r
335
335
  `;if(n.username||n.password){let h=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;a["Proxy-Authorization"]=`Basic ${Buffer.from(h).toString("base64")}`}a.Host=`${s}:${r.port}`,a["Proxy-Connection"]||(a["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let h of Object.keys(a))o+=`${h}: ${a[h]}\r
336
336
  `;let l=(0,qYr.parseProxyResponse)(i);i.write(`${o}\r
337
- `);let{connect:u,buffered:c}=await l;if(e.emit("proxyConnect",u),this.emit("proxyConnect",u,e),u.statusCode===200)return e.once("socket",$Yr),r.secureEndpoint?(P$("Upgrading socket connection to TLS"),ayt.connect({...oyt(syt(r),"host","path","port"),socket:i})):i;i.destroy();let d=new Joe.Socket({writable:!1});return d.readable=!0,e.once("socket",h=>{P$("Replaying proxy buffer for failed request"),(0,UYr.default)(h.listenerCount("data")>0),h.push(c),h.push(null)}),d}};Xoe.protocols=["http","https"];kg.HttpsProxyAgent=Xoe;function $Yr(t){t.resume()}function oyt(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}});var Or,cyt=Oe(()=>{"use strict";(function(t){t[t.KODA_CLI_KEY_UNKNOWN=0]="KODA_CLI_KEY_UNKNOWN",t[t.KODA_CLI_START_SESSION_MODEL=1]="KODA_CLI_START_SESSION_MODEL",t[t.KODA_CLI_START_SESSION_EMBEDDING_MODEL=2]="KODA_CLI_START_SESSION_EMBEDDING_MODEL",t[t.KODA_CLI_START_SESSION_SANDBOX=3]="KODA_CLI_START_SESSION_SANDBOX",t[t.KODA_CLI_START_SESSION_CORE_TOOLS=4]="KODA_CLI_START_SESSION_CORE_TOOLS",t[t.KODA_CLI_START_SESSION_APPROVAL_MODE=5]="KODA_CLI_START_SESSION_APPROVAL_MODE",t[t.KODA_CLI_START_SESSION_API_KEY_ENABLED=6]="KODA_CLI_START_SESSION_API_KEY_ENABLED",t[t.KODA_CLI_START_SESSION_VERTEX_API_ENABLED=7]="KODA_CLI_START_SESSION_VERTEX_API_ENABLED",t[t.KODA_CLI_START_SESSION_DEBUG_MODE_ENABLED=8]="KODA_CLI_START_SESSION_DEBUG_MODE_ENABLED",t[t.KODA_CLI_START_SESSION_MCP_SERVERS=9]="KODA_CLI_START_SESSION_MCP_SERVERS",t[t.KODA_CLI_START_SESSION_TELEMETRY_ENABLED=10]="KODA_CLI_START_SESSION_TELEMETRY_ENABLED",t[t.KODA_CLI_START_SESSION_TELEMETRY_LOG_USER_PROMPTS_ENABLED=11]="KODA_CLI_START_SESSION_TELEMETRY_LOG_USER_PROMPTS_ENABLED",t[t.KODA_CLI_START_SESSION_RESPECT_GITIGNORE=12]="KODA_CLI_START_SESSION_RESPECT_GITIGNORE",t[t.KODA_CLI_USER_PROMPT_LENGTH=13]="KODA_CLI_USER_PROMPT_LENGTH",t[t.KODA_CLI_TOOL_CALL_NAME=14]="KODA_CLI_TOOL_CALL_NAME",t[t.KODA_CLI_TOOL_CALL_DECISION=15]="KODA_CLI_TOOL_CALL_DECISION",t[t.KODA_CLI_TOOL_CALL_SUCCESS=16]="KODA_CLI_TOOL_CALL_SUCCESS",t[t.KODA_CLI_TOOL_CALL_DURATION_MS=17]="KODA_CLI_TOOL_CALL_DURATION_MS",t[t.KODA_CLI_TOOL_ERROR_MESSAGE=18]="KODA_CLI_TOOL_ERROR_MESSAGE",t[t.KODA_CLI_TOOL_CALL_ERROR_TYPE=19]="KODA_CLI_TOOL_CALL_ERROR_TYPE",t[t.KODA_CLI_API_REQUEST_MODEL=20]="KODA_CLI_API_REQUEST_MODEL",t[t.KODA_CLI_API_RESPONSE_MODEL=21]="KODA_CLI_API_RESPONSE_MODEL",t[t.KODA_CLI_API_RESPONSE_STATUS_CODE=22]="KODA_CLI_API_RESPONSE_STATUS_CODE",t[t.KODA_CLI_API_RESPONSE_DURATION_MS=23]="KODA_CLI_API_RESPONSE_DURATION_MS",t[t.KODA_CLI_API_ERROR_MESSAGE=24]="KODA_CLI_API_ERROR_MESSAGE",t[t.KODA_CLI_API_RESPONSE_INPUT_TOKEN_COUNT=25]="KODA_CLI_API_RESPONSE_INPUT_TOKEN_COUNT",t[t.KODA_CLI_API_RESPONSE_OUTPUT_TOKEN_COUNT=26]="KODA_CLI_API_RESPONSE_OUTPUT_TOKEN_COUNT",t[t.KODA_CLI_API_RESPONSE_CACHED_TOKEN_COUNT=27]="KODA_CLI_API_RESPONSE_CACHED_TOKEN_COUNT",t[t.KODA_CLI_API_RESPONSE_THINKING_TOKEN_COUNT=28]="KODA_CLI_API_RESPONSE_THINKING_TOKEN_COUNT",t[t.KODA_CLI_API_RESPONSE_TOOL_TOKEN_COUNT=29]="KODA_CLI_API_RESPONSE_TOOL_TOKEN_COUNT",t[t.KODA_CLI_API_ERROR_MODEL=30]="KODA_CLI_API_ERROR_MODEL",t[t.KODA_CLI_API_ERROR_TYPE=31]="KODA_CLI_API_ERROR_TYPE",t[t.KODA_CLI_API_ERROR_STATUS_CODE=32]="KODA_CLI_API_ERROR_STATUS_CODE",t[t.KODA_CLI_API_ERROR_DURATION_MS=33]="KODA_CLI_API_ERROR_DURATION_MS",t[t.KODA_CLI_END_SESSION_ID=34]="KODA_CLI_END_SESSION_ID",t[t.KODA_CLI_PROMPT_ID=35]="KODA_CLI_PROMPT_ID",t[t.KODA_CLI_AUTH_TYPE=36]="KODA_CLI_AUTH_TYPE",t[t.KODA_CLI_GOOGLE_ACCOUNTS_COUNT=37]="KODA_CLI_GOOGLE_ACCOUNTS_COUNT",t[t.KODA_CLI_SURFACE=39]="KODA_CLI_SURFACE",t[t.KODA_CLI_SESSION_ID=40]="KODA_CLI_SESSION_ID",t[t.KODA_CLI_VERSION=54]="KODA_CLI_VERSION",t[t.KODA_CLI_GIT_COMMIT_HASH=55]="KODA_CLI_GIT_COMMIT_HASH",t[t.KODA_CLI_LOOP_DETECTED_TYPE=38]="KODA_CLI_LOOP_DETECTED_TYPE",t[t.KODA_CLI_SLASH_COMMAND_NAME=41]="KODA_CLI_SLASH_COMMAND_NAME",t[t.KODA_CLI_SLASH_COMMAND_SUBCOMMAND=42]="KODA_CLI_SLASH_COMMAND_SUBCOMMAND",t[t.KODA_CLI_SLASH_COMMAND_STATUS=51]="KODA_CLI_SLASH_COMMAND_STATUS",t[t.KODA_CLI_RESPONSE_FINISH_REASON=43]="KODA_CLI_RESPONSE_FINISH_REASON",t[t.KODA_CLI_NEXT_SPEAKER_CHECK_RESULT=44]="KODA_CLI_NEXT_SPEAKER_CHECK_RESULT",t[t.KODA_CLI_MALFORMED_JSON_RESPONSE_MODEL=45]="KODA_CLI_MALFORMED_JSON_RESPONSE_MODEL",t[t.KODA_CLI_IDE_CONNECTION_TYPE=46]="KODA_CLI_IDE_CONNECTION_TYPE",t[t.KODA_CLI_AI_ADDED_LINES=47]="KODA_CLI_AI_ADDED_LINES",t[t.KODA_CLI_AI_REMOVED_LINES=48]="KODA_CLI_AI_REMOVED_LINES",t[t.KODA_CLI_USER_ADDED_LINES=49]="KODA_CLI_USER_ADDED_LINES",t[t.KODA_CLI_USER_REMOVED_LINES=50]="KODA_CLI_USER_REMOVED_LINES",t[t.KODA_CLI_KITTY_TRUNCATED_SEQUENCE=52]="KODA_CLI_KITTY_TRUNCATED_SEQUENCE",t[t.KODA_CLI_KITTY_SEQUENCE_LENGTH=53]="KODA_CLI_KITTY_SEQUENCE_LENGTH"})(Or||(Or={}))});function Zoe(t,e){let r=new WeakSet;return JSON.stringify(t,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular]";r.add(i)}return i},e)}var obe=Oe(()=>{"use strict";});import Z8 from"node:path";import ele from"os";import*as dyt from"crypto";function CT(t){let e=ele.homedir();return t.startsWith(e)?t.replace(e,"~"):t}function Qd(t,e=35){if(t.length<=e)return t;let n=Z8.parse(t).root,i=Z8.sep,s=t.substring(n.length).split(i).filter(f=>f!=="");if(s.length<=1){let f=Math.floor((e-3)/2);if(f<=0)return t.substring(0,e-3)+"...";let E=t.substring(0,f),y=t.substring(t.length-f);return`${E}...${y}`}let o=s[0],l=s[s.length-1],u=n+o,c=[],d=i.length+l.length;for(let f=s.length-2;f>=0;f--){let E=s[f],y=d+i.length+E.length;if(y<=e)c.unshift(E),d=y;else break}let h=c.join(i)+i+l;return d>e?h:(h=u+i+h,h.length>e?"..."+h.substring(h.length-e-3):h)}function e0(t,e){let r=Z8.resolve(t),n=Z8.resolve(e);return Z8.relative(n,r)||"."}function cbe(t){let e="";for(let r=0;r<t.length;r++){let n=t[r],i=0;for(let s=r-1;s>=0&&t[s]==="\\";s--)i++;!(i%2===1)&&ube.test(n)?e+="\\"+n:e+=n}return e}function Q$(t){return t.replace(new RegExp(`\\\\([${ube.source.slice(1,-1)}])`,"g"),"$1")}function tle(t){return dyt.createHash("sha256").update(t).digest("hex")}function cv(t){let e=tle(t);return Z8.join(ele.homedir(),Ug,jYr,e)}function dbe(){return Z8.join(ele.homedir(),Ug,pyt)}function pbe(t){return Z8.join(t,Ug,pyt)}function k$(t,e){let n=ele.platform()==="win32"?Z8.win32:Z8,i=n.relative(t,e);return!i.startsWith(`..${n.sep}`)&&i!==".."&&!n.isAbsolute(i)}var Ug,lbe,jYr,pyt,ube,ef=Oe(()=>{"use strict";Ug=".kodacli",lbe="google_accounts.json",jYr="tmp",pyt="commands",ube=/[ \t()[\]{};|*?$`'"#&<>!~]/});import fyt from"node:path";import{promises as rle,existsSync as fbe,readFileSync as myt}from"node:fs";import*as hyt from"os";function nle(){return fyt.join(hyt.homedir(),Ug,lbe)}async function Ayt(t){try{let e=await rle.readFile(t,"utf-8");return e.trim()?JSON.parse(e):{active:null,old:[]}}catch(e){return e instanceof Error&&"code"in e&&e.code==="ENOENT"?{active:null,old:[]}:(console.debug("Could not parse accounts file, starting fresh.",e),{active:null,old:[]})}}async function gyt(t){let e=nle();await rle.mkdir(fyt.dirname(e),{recursive:!0});let r=await Ayt(e);r.active&&r.active!==t&&(r.old.includes(r.active)||r.old.push(r.active)),r.old=r.old.filter(n=>n!==t),r.active=t,await rle.writeFile(e,JSON.stringify(r,null,2),"utf-8")}function ile(){try{let t=nle();if(fbe(t)){let e=myt(t,"utf-8").trim();return e?JSON.parse(e).active:null}return null}catch(t){return console.debug("Error reading cached Google Account:",t),null}}function Eyt(){try{let t=nle();if(!fbe(t))return 0;let e=myt(t,"utf-8").trim();if(!e)return 0;let r=JSON.parse(e),n=r.old.length;return r.active&&n++,n}catch(t){return console.debug("Error reading lifetime Google Accounts:",t),0}}async function yyt(){let t=nle();if(!fbe(t))return;let e=await Ayt(t);e.active&&(e.old.includes(e.active)||e.old.push(e.active),e.active=null),await rle.writeFile(t,JSON.stringify(e,null,2),"utf-8")}var mbe=Oe(()=>{"use strict";ef();});import*as vyt from"os";import*as dv from"fs";import*as gbe from"path";import{randomUUID as YYr}from"crypto";function zYr(){dv.existsSync(hbe)||dv.mkdirSync(hbe,{recursive:!0})}function KYr(){return dv.existsSync(Abe)&&dv.readFileSync(Abe,"utf-8").trim()||null}function JYr(t){dv.writeFileSync(Abe,t,"utf-8")}function Cyt(){try{zYr();let t=KYr();return t||(t=YYr(),JYr(t)),t}catch(t){return console.error("Error accessing installation ID file, generating ephemeral ID:",t),"123456789"}}var WYr,hbe,Abe,_yt=Oe(()=>{"use strict";ef();WYr=vyt.homedir()??"",hbe=gbe.join(WYr,Ug),Abe=gbe.join(hbe,"installation_id")});var Ebe=T(U$=>{var XYr=function(t,e){return t<e?-1:t>e?1:0},ZYr=function(t,e){return t<e?1:t>e?-1:0};function eWr(t){return function(e,r){return t(r,e)}}function tWr(t){return t===2?function(e,r){return e[0]<r[0]?-1:e[0]>r[0]?1:e[1]<r[1]?-1:e[1]>r[1]?1:0}:function(e,r){for(var n=0;n<t;){if(e[n]<r[n])return-1;if(e[n]>r[n])return 1;n++}return 0}}U$.DEFAULT_COMPARATOR=XYr;U$.DEFAULT_REVERSE_COMPARATOR=ZYr;U$.reverseComparator=eWr;U$.createTupleComparator=tWr});var Dyt=T(ybe=>{ybe.ARRAY_BUFFER_SUPPORT=typeof ArrayBuffer<"u";ybe.SYMBOL_SUPPORT=typeof Symbol<"u"});var H$=T((O2i,byt)=>{var Syt=Dyt(),rWr=Syt.ARRAY_BUFFER_SUPPORT,nWr=Syt.SYMBOL_SUPPORT;byt.exports=function(e,r){var n,i,a,s,o;if(!e)throw new Error("obliterator/forEach: invalid iterable.");if(typeof r!="function")throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(e)||rWr&&ArrayBuffer.isView(e)||typeof e=="string"||e.toString()==="[object Arguments]"){for(a=0,s=e.length;a<s;a++)r(e[a],a);return}if(typeof e.forEach=="function"){e.forEach(r);return}if(nWr&&Symbol.iterator in e&&typeof e.next!="function"&&(e=e[Symbol.iterator]()),typeof e.next=="function"){for(n=e,a=0;o=n.next(),o.done!==!0;)r(o.value,a),a++;return}for(i in e)e.hasOwnProperty(i)&&r(e[i],i)}});var Oyt=T((F2i,Nyt)=>{var wyt=Ebe(),Iyt=H$(),Tyt=wyt.DEFAULT_COMPARATOR,iWr=wyt.reverseComparator;function dm(t){if(this.clear(),this.comparator=t||Tyt,typeof this.comparator!="function")throw new Error("mnemonist/FibonacciHeap.constructor: given comparator should be a function.")}dm.prototype.clear=function(){this.root=null,this.min=null,this.size=0};function aWr(t){return{item:t,degree:0}}function xyt(t,e){t.root?(e.right=t.root.right,e.left=t.root,t.root.right.left=e,t.root.right=e):t.root=e}dm.prototype.push=function(t){var e=aWr(t);return e.left=e,e.right=e,xyt(this,e),(!this.min||this.comparator(e.item,this.min.item)<=0)&&(this.min=e),++this.size};dm.prototype.peek=function(){return this.min?this.min.item:void 0};function Byt(t){for(var e=[],r=t,n=!1;!(r===t&&n);)r===t&&(n=!0),e.push(r),r=r.right;return e}function Ryt(t,e){t.root===e&&(t.root=e.right),e.left.right=e.right,e.right.left=e.left}function sWr(t,e){t.child?(e.right=t.child.right,e.left=t.child,t.child.right.left=e,t.child.right=e):t.child=e}function oWr(t,e,r){Ryt(t,e),e.left=e,e.right=e,sWr(r,e),r.degree++,e.parent=r}function lWr(t){var e=new Array(t.size),r=Byt(t.root),n,i,a,s,o,l;for(n=0,i=r.length;n<i;n++){for(a=r[n],o=a.degree;e[o];)s=e[o],t.comparator(a.item,s.item)>0&&(l=a,a=s,s=l),oWr(t,s,a),e[o]=null,o++;e[o]=a}for(n=0;n<t.size;n++)e[n]&&t.comparator(e[n].item,t.min.item)<=0&&(t.min=e[n])}dm.prototype.pop=function(){if(this.size){var t=this.min;if(t.child){var e=Byt(t.child),r,n,i;for(n=0,i=e.length;n<i;n++)r=e[n],xyt(this,r),delete r.parent}return Ryt(this,t),t===t.right?(this.min=null,this.root=null):(this.min=t.right,lWr(this)),this.size--,t.item}};dm.prototype.inspect=function(){var t={size:this.size};return this.min&&"item"in this.min&&(t.top=this.min.item),Object.defineProperty(t,"constructor",{value:dm,enumerable:!1}),t};typeof Symbol<"u"&&(dm.prototype[Symbol.for("nodejs.util.inspect.custom")]=dm.prototype.inspect);function ale(t){if(this.clear(),this.comparator=t||Tyt,typeof this.comparator!="function")throw new Error("mnemonist/FibonacciHeap.constructor: given comparator should be a function.");this.comparator=iWr(this.comparator)}ale.prototype=dm.prototype;dm.from=function(t,e){var r=new dm(e);return Iyt(t,function(n){r.push(n)}),r};ale.from=function(t,e){var r=new ale(e);return Iyt(t,function(n){r.push(n)}),r};dm.MinFibonacciHeap=dm;dm.MaxFibonacciHeap=ale;Nyt.exports=dm});var vbe=T(e9=>{var uWr=Math.pow(2,8)-1,cWr=Math.pow(2,16)-1,dWr=Math.pow(2,32)-1,pWr=Math.pow(2,7)-1,fWr=Math.pow(2,15)-1,mWr=Math.pow(2,31)-1;e9.getPointerArray=function(t){var e=t-1;if(e<=uWr)return Uint8Array;if(e<=cWr)return Uint16Array;if(e<=dWr)return Uint32Array;throw new Error("mnemonist: Pointer Array of size > 4294967295 is not supported.")};e9.getSignedPointerArray=function(t){var e=t-1;return e<=pWr?Int8Array:e<=fWr?Int16Array:e<=mWr?Int32Array:Float64Array};e9.getNumberType=function(t){return t===(t|0)?Math.sign(t)===-1?t<=127&&t>=-128?Int8Array:t<=32767&&t>=-32768?Int16Array:Int32Array:t<=255?Uint8Array:t<=65535?Uint16Array:Uint32Array:Float64Array};var hWr={Uint8Array:1,Int8Array:2,Uint16Array:3,Int16Array:4,Uint32Array:5,Int32Array:6,Float32Array:7,Float64Array:8};e9.getMinimalRepresentation=function(t,e){var r=null,n=0,i,a,s,o,l;for(o=0,l=t.length;o<l;o++)s=e?e(t[o]):t[o],a=e9.getNumberType(s),i=hWr[a.name],i>n&&(n=i,r=a);return r};e9.isTypedArray=function(t){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView(t)};e9.concat=function(){var t=0,e,r,n;for(e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var i=new arguments[0].constructor(t);for(e=0,r=0;e<n;e++)i.set(arguments[e],r),r+=arguments[e].length;return i};e9.indices=function(t){for(var e=e9.getPointerArray(t),r=new e(t),n=0;n<t;n++)r[n]=n;return r}});var sle=T(G$=>{var Fyt=H$(),Myt=vbe();function AWr(t){return Array.isArray(t)||Myt.isTypedArray(t)}function Cbe(t){if(typeof t.length=="number")return t.length;if(typeof t.size=="number")return t.size}function gWr(t){var e=Cbe(t),r=typeof e=="number"?new Array(e):[],n=0;return Fyt(t,function(i){r[n++]=i}),r}function EWr(t){var e=Cbe(t),r=typeof e=="number"?Myt.getPointerArray(e):Array,n=typeof e=="number"?new Array(e):[],i=typeof e=="number"?new r(e):[],a=0;return Fyt(t,function(s){n[a]=s,i[a]=a++}),[n,i]}G$.isArrayLike=AWr;G$.guessLength=Cbe;G$.toArray=gWr;G$.toArrayWithIndices=EWr});var Uyt=T((P2i,kyt)=>{var ole=H$(),Lyt=Ebe(),t9=sle(),ule=Lyt.DEFAULT_COMPARATOR,_be=Lyt.reverseComparator;function Dbe(t,e,r,n){for(var i=e[n],a,s;n>r;){if(a=n-1>>1,s=e[a],t(i,s)<0){e[n]=s,n=a;continue}break}e[n]=i}function V$(t,e,r){for(var n=e.length,i=r,a=e[r],s=2*r+1,o;s<n;)o=s+1,o<n&&t(e[s],e[o])>=0&&(s=o),e[r]=e[s],r=s,s=2*r+1;e[r]=a,Dbe(t,e,i,r)}function Pyt(t,e,r){e.push(r),Dbe(t,e,0,e.length-1)}function Sbe(t,e){var r=e.pop();if(e.length!==0){var n=e[0];return e[0]=r,V$(t,e,0),n}return r}function pL(t,e,r){if(e.length===0)throw new Error("mnemonist/heap.replace: cannot pop an empty heap.");var n=e[0];return e[0]=r,V$(t,e,0),n}function Qyt(t,e,r){var n;return e.length!==0&&t(e[0],r)<0&&(n=e[0],e[0]=r,r=n,V$(t,e,0)),r}function _T(t,e){for(var r=e.length,n=r>>1,i=n;--i>=0;)V$(t,e,i)}function bbe(t,e){for(var r=e.length,n=0,i=new Array(r);n<r;)i[n++]=Sbe(t,e);return i}function yWr(t,e,r){arguments.length===2&&(r=e,e=t,t=ule);var n=_be(t),i,a,s,o=1/0,l;if(e===1){if(t9.isArrayLike(r)){for(i=0,a=r.length;i<a;i++)s=r[i],(o===1/0||t(s,o)<0)&&(o=s);return l=new r.constructor(1),l[0]=o,l}return ole(r,function(c){(o===1/0||t(c,o)<0)&&(o=c)}),[o]}if(t9.isArrayLike(r)){if(e>=r.length)return r.slice().sort(t);for(l=r.slice(0,e),_T(n,l),i=e,a=r.length;i<a;i++)n(r[i],l[0])>0&&pL(n,l,r[i]);return l.sort(t)}var u=t9.guessLength(r);return u!==null&&u<e&&(e=u),l=new Array(e),i=0,ole(r,function(c){i<e?l[i]=c:(i===e&&_T(n,l),n(c,l[0])>0&&pL(n,l,c)),i++}),l.length>i&&(l.length=i),l.sort(t)}function vWr(t,e,r){arguments.length===2&&(r=e,e=t,t=ule);var n=_be(t),i,a,s,o=-1/0,l;if(e===1){if(t9.isArrayLike(r)){for(i=0,a=r.length;i<a;i++)s=r[i],(o===-1/0||t(s,o)>0)&&(o=s);return l=new r.constructor(1),l[0]=o,l}return ole(r,function(c){(o===-1/0||t(c,o)>0)&&(o=c)}),[o]}if(t9.isArrayLike(r)){if(e>=r.length)return r.slice().sort(n);for(l=r.slice(0,e),_T(t,l),i=e,a=r.length;i<a;i++)t(r[i],l[0])>0&&pL(t,l,r[i]);return l.sort(n)}var u=t9.guessLength(r);return u!==null&&u<e&&(e=u),l=new Array(e),i=0,ole(r,function(c){i<e?l[i]=c:(i===e&&_T(t,l),t(c,l[0])>0&&pL(t,l,c)),i++}),l.length>i&&(l.length=i),l.sort(n)}function Ro(t){if(this.clear(),this.comparator=t||ule,typeof this.comparator!="function")throw new Error("mnemonist/Heap.constructor: given comparator should be a function.")}Ro.prototype.clear=function(){this.items=[],this.size=0};Ro.prototype.push=function(t){return Pyt(this.comparator,this.items,t),++this.size};Ro.prototype.peek=function(){return this.items[0]};Ro.prototype.pop=function(){return this.size!==0&&this.size--,Sbe(this.comparator,this.items)};Ro.prototype.replace=function(t){return pL(this.comparator,this.items,t)};Ro.prototype.pushpop=function(t){return Qyt(this.comparator,this.items,t)};Ro.prototype.consume=function(){return this.size=0,bbe(this.comparator,this.items)};Ro.prototype.toArray=function(){return bbe(this.comparator,this.items.slice())};Ro.prototype.inspect=function(){var t=this.toArray();return Object.defineProperty(t,"constructor",{value:Ro,enumerable:!1}),t};typeof Symbol<"u"&&(Ro.prototype[Symbol.for("nodejs.util.inspect.custom")]=Ro.prototype.inspect);function lle(t){if(this.clear(),this.comparator=t||ule,typeof this.comparator!="function")throw new Error("mnemonist/MaxHeap.constructor: given comparator should be a function.");this.comparator=_be(this.comparator)}lle.prototype=Ro.prototype;Ro.from=function(t,e){var r=new Ro(e),n;return t9.isArrayLike(t)?n=t.slice():n=t9.toArray(t),_T(r.comparator,n),r.items=n,r.size=n.length,r};lle.from=function(t,e){var r=new lle(e),n;return t9.isArrayLike(t)?n=t.slice():n=t9.toArray(t),_T(r.comparator,n),r.items=n,r.size=n.length,r};Ro.siftUp=V$;Ro.siftDown=Dbe;Ro.push=Pyt;Ro.pop=Sbe;Ro.replace=pL;Ro.pushpop=Qyt;Ro.heapify=_T;Ro.consume=bbe;Ro.nsmallest=yWr;Ro.nlargest=vWr;Ro.MinHeap=Ro;Ro.MaxHeap=lle;kyt.exports=Ro});var $yt=T((Q2i,qyt)=>{var Hyt="";function Gyt(t,e,r){for(var n=e.length,i=[],a=n,s=-1,o,l=0,u;a--;)s=Math.max(t[e[a]+r],s);for(u=s>>24&&32||s>>16&&24||s>>8&&16||8;l<u;l+=4){for(a=16;a--;)i[a]=[];for(a=n;a--;)i[t[e[a]+r]>>l&15].push(e[a]);for(o=0;o<16;o++)for(s=i[o].length;s--;)e[++a]=i[o][s]}}function CWr(t,e,r,n){return t[r]-t[n]||(r%3===2?t[r+1]-t[n+1]||e[r+2]-e[n+2]:e[r+1]-e[n+1])}function wbe(t,e){var r=[],n=[],i=2*e/3|0,a=e-i,s=i+1>>1,o=i,l=0,u,c=[],d=[];if(e===1)return[0];for(;o--;)r[o]=(o*3>>1)+1;for(o=3;o--;)Gyt(t,r,o);for(l=n[(r[0]/3|0)+(r[0]%3===1?0:s)]=1,o=1;o<i;o++)(t[r[o]]!==t[r[o-1]]||t[r[o]+1]!==t[r[o-1]+1]||t[r[o]+2]!==t[r[o-1]+2])&&l++,n[(r[o]/3|0)+(r[o]%3===1?0:s)]=l;if(l<i)for(n=wbe(n,i),o=i;o--;)r[o]=n[o]<s?n[o]*3+1:(n[o]-s)*3+2;for(o=i;o--;)c[r[o]]=o;for(c[e]=-1,c[e+1]=-2,n=e%3===1?[e-1]:[],o=0;o<i;o++)r[o]%3===1&&n.push(r[o]-1);for(Gyt(t,n,0),o=0,l=0,u=0;o<i&&l<a;)d[u++]=CWr(t,c,r[o],n[l])<0?r[o++]:n[l++];for(;o<i;)d[u++]=r[o++];for(;l<a;)d[u++]=n[l++];return d}function Vyt(t){var e=t.length,r=e%3,n=new Array(e+r),i,a;if(typeof t!="string"){var s=Object.create(null);for(a=0;a<e;a++)s[t[a]]||(s[t[a]]=!0);var o=Object.create(null),l=Object.keys(s).sort();for(a=0,i=l.length;a<i;a++)o[l[a]]=a+1;for(a=0;a<e;a++)n[a]=o[t[a]]}else for(a=0;a<e;a++)n[a]=t.charCodeAt(a);for(a=e;a<e+r;a++)n[a]=0;return n}function Z_(t){this.hasArbitrarySequence=typeof t!="string",this.string=t,this.length=t.length,this.array=wbe(Vyt(t),this.length)}Z_.prototype.toString=function(){return this.array.join(",")};Z_.prototype.toJSON=function(){return this.array};Z_.prototype.inspect=function(){for(var t=new Array(this.length),e=0;e<this.length;e++)t[e]=this.string.slice(this.array[e]);return Object.defineProperty(t,"constructor",{value:Z_,enumerable:!1}),t};typeof Symbol<"u"&&(Z_.prototype[Symbol.for("nodejs.util.inspect.custom")]=Z_.prototype.inspect);function eD(t){if(this.hasArbitrarySequence=typeof t[0]!="string",this.size=t.length,this.hasArbitrarySequence){this.text=[];for(var e=0,r=this.size;e<r;e++)this.text.push.apply(this.text,t[e]),e<r-1&&this.text.push(Hyt)}else this.text=t.join(Hyt);this.firstLength=t[0].length,this.length=this.text.length,this.array=wbe(Vyt(this.text),this.length)}eD.prototype.longestCommonSubsequence=function(){var t=this.hasArbitrarySequence?[]:"",e,r,n,i,a;for(r=1;r<this.length;r++)if(i=this.array[r],a=this.array[r-1],!(i<this.firstLength&&a<this.firstLength)&&!(i>this.firstLength&&a>this.firstLength)){for(e=Math.min(this.length-i,this.length-a),n=0;n<e;n++)if(this.text[i+n]!==this.text[a+n]){e=n;break}e>t.length&&(t=this.text.slice(i,i+e))}return t};eD.prototype.toString=function(){return this.array.join(",")};eD.prototype.toJSON=function(){return this.array};eD.prototype.inspect=function(){for(var t=new Array(this.length),e=0;e<this.length;e++)t[e]=this.text.slice(this.array[e]);return Object.defineProperty(t,"constructor",{value:eD,enumerable:!1}),t};typeof Symbol<"u"&&(eD.prototype[Symbol.for("nodejs.util.inspect.custom")]=eD.prototype.inspect);Z_.GeneralizedSuffixArray=eD;qyt.exports=Z_});var Ibe=T((k2i,jyt)=>{function r9(t){if(typeof t!="function")throw new Error("obliterator/iterator: expecting a function!");this.next=t}typeof Symbol<"u"&&(r9.prototype[Symbol.iterator]=function(){return this});r9.of=function(){var t=arguments,e=t.length,r=0;return new r9(function(){return r>=e?{done:!0}:{done:!1,value:t[r++]}})};r9.empty=function(){var t=new r9(function(){return{done:!0}});return t};r9.fromSequence=function(t){var e=0,r=t.length;return new r9(function(){return e>=r?{done:!0}:{done:!1,value:t[e++]}})};r9.is=function(t){return t instanceof r9?!0:typeof t=="object"&&t!==null&&typeof t.next=="function"};jyt.exports=r9});var Kyt=T((U2i,zyt)=>{var Yyt=Ibe(),_Wr=H$(),DWr=sle(),Wyt=vbe(),SWr=function(t){return Math.max(1,Math.ceil(t*1.5))},bWr=function(t){var e=Wyt.getPointerArray(t);return new e(t)};function Ss(t,e){if(arguments.length<1)throw new Error("mnemonist/vector: expecting at least a byte array constructor.");var r=e||0,n=SWr,i=0,a=!1;typeof e=="object"&&(r=e.initialCapacity||0,i=e.initialLength||0,n=e.policy||n,a=e.factory===!0),this.factory=a?t:null,this.ArrayClass=t,this.length=i,this.capacity=Math.max(i,r),this.policy=n,this.array=new t(this.capacity)}Ss.prototype.set=function(t,e){if(this.length<t)throw new Error("Vector("+this.ArrayClass.name+").set: index out of bounds.");return this.array[t]=e,this};Ss.prototype.get=function(t){if(!(this.length<t))return this.array[t]};Ss.prototype.applyPolicy=function(t){var e=this.policy(t||this.capacity);if(typeof e!="number"||e<0)throw new Error("mnemonist/vector.applyPolicy: policy returned an invalid value (expecting a positive integer).");if(e<=this.capacity)throw new Error("mnemonist/vector.applyPolicy: policy returned a less or equal capacity to allocate.");return e};Ss.prototype.reallocate=function(t){if(t===this.capacity)return this;var e=this.array;if(t<this.length&&(this.length=t),t>this.capacity)if(this.factory===null?this.array=new this.ArrayClass(t):this.array=this.factory(t),Wyt.isTypedArray(this.array))this.array.set(e,0);else for(var r=0,n=this.length;r<n;r++)this.array[r]=e[r];else this.array=e.slice(0,t);return this.capacity=t,this};Ss.prototype.grow=function(t){var e;if(typeof t=="number"){if(this.capacity>=t)return this;for(e=this.capacity;e<t;)e=this.applyPolicy(e);return this.reallocate(e),this}return e=this.applyPolicy(),this.reallocate(e),this};Ss.prototype.resize=function(t){return t===this.length?this:t<this.length?(this.length=t,this):(this.length=t,this.reallocate(t),this)};Ss.prototype.push=function(t){return this.capacity===this.length&&this.grow(),this.array[this.length++]=t,this.length};Ss.prototype.pop=function(){if(this.length!==0)return this.array[--this.length]};Ss.prototype.values=function(){var t=this.array,e=this.length,r=0;return new Yyt(function(){if(r>=e)return{done:!0};var n=t[r];return r++,{value:n,done:!1}})};Ss.prototype.entries=function(){var t=this.array,e=this.length,r=0;return new Yyt(function(){if(r>=e)return{done:!0};var n=t[r];return{value:[r++,n],done:!1}})};typeof Symbol<"u"&&(Ss.prototype[Symbol.iterator]=Ss.prototype.values);Ss.prototype.inspect=function(){var t=this.array.slice(0,this.length);return t.type=this.array.constructor.name,t.items=this.length,t.capacity=this.capacity,Object.defineProperty(t,"constructor",{value:Ss,enumerable:!1}),t};typeof Symbol<"u"&&(Ss.prototype[Symbol.for("nodejs.util.inspect.custom")]=Ss.prototype.inspect);Ss.from=function(t,e,r){if(arguments.length<3&&(r=DWr.guessLength(t),typeof r!="number"))throw new Error("mnemonist/vector.from: could not guess iterable length. Please provide desired capacity as last argument.");var n=new Ss(e,r);return _Wr(t,function(i){n.push(i)}),n};function n9(t){var e=function(n){Ss.call(this,t,n)};for(var r in Ss.prototype)Ss.prototype.hasOwnProperty(r)&&(e.prototype[r]=Ss.prototype[r]);return e.from=function(n,i){return Ss.from(n,t,i)},typeof Symbol<"u"&&(e.prototype[Symbol.iterator]=e.prototype.values),e}Ss.Int8Vector=n9(Int8Array);Ss.Uint8Vector=n9(Uint8Array);Ss.Uint8ClampedVector=n9(Uint8ClampedArray);Ss.Int16Vector=n9(Int16Array);Ss.Uint16Vector=n9(Uint16Array);Ss.Int32Vector=n9(Int32Array);Ss.Uint32Vector=n9(Uint32Array);Ss.Float32Vector=n9(Float32Array);Ss.Float64Vector=n9(Float64Array);Ss.PointerVector=n9(bWr);zyt.exports=Ss});var Zyt=T((H2i,Xyt)=>{var Tbe=sle(),Jyt=Ibe();function Wc(t,e){if(arguments.length<2)throw new Error("mnemonist/fixed-deque: expecting an Array class and a capacity.");if(typeof e!="number"||e<=0)throw new Error("mnemonist/fixed-deque: `capacity` should be a positive number.");this.ArrayClass=t,this.capacity=e,this.items=new t(this.capacity),this.clear()}Wc.prototype.clear=function(){this.start=0,this.size=0};Wc.prototype.push=function(t){if(this.size===this.capacity)throw new Error("mnemonist/fixed-deque.push: deque capacity ("+this.capacity+") exceeded!");var e=this.start+this.size;return e>=this.capacity&&(e-=this.capacity),this.items[e]=t,++this.size};Wc.prototype.unshift=function(t){if(this.size===this.capacity)throw new Error("mnemonist/fixed-deque.unshift: deque capacity ("+this.capacity+") exceeded!");var e=this.start-1;return this.start===0&&(e=this.capacity-1),this.items[e]=t,this.start=e,++this.size};Wc.prototype.pop=function(){if(this.size!==0){this.size--;var t=this.start+this.size;return t>=this.capacity&&(t-=this.capacity),this.items[t]}};Wc.prototype.shift=function(){if(this.size!==0){var t=this.start;return this.size--,this.start++,this.start===this.capacity&&(this.start=0),this.items[t]}};Wc.prototype.peekFirst=function(){if(this.size!==0)return this.items[this.start]};Wc.prototype.peekLast=function(){if(this.size!==0){var t=this.start+this.size-1;return t>=this.capacity&&(t-=this.capacity),this.items[t]}};Wc.prototype.get=function(t){if(!(this.size===0||t>=this.capacity))return t=this.start+t,t>=this.capacity&&(t-=this.capacity),this.items[t]};Wc.prototype.forEach=function(t,e){e=arguments.length>1?e:this;for(var r=this.capacity,n=this.size,i=this.start,a=0;a<n;)t.call(e,this.items[i],a,this),i++,a++,i===r&&(i=0)};Wc.prototype.toArray=function(){var t=this.start+this.size;if(t<this.capacity)return this.items.slice(this.start,t);for(var e=new this.ArrayClass(this.size),r=this.capacity,n=this.size,i=this.start,a=0;a<n;)e[a]=this.items[i],i++,a++,i===r&&(i=0);return e};Wc.prototype.values=function(){var t=this.items,e=this.capacity,r=this.size,n=this.start,i=0;return new Jyt(function(){if(i>=r)return{done:!0};var a=t[n];return n++,i++,n===e&&(n=0),{value:a,done:!1}})};Wc.prototype.entries=function(){var t=this.items,e=this.capacity,r=this.size,n=this.start,i=0;return new Jyt(function(){if(i>=r)return{done:!0};var a=t[n];return n++,n===e&&(n=0),{value:[i++,a],done:!1}})};typeof Symbol<"u"&&(Wc.prototype[Symbol.iterator]=Wc.prototype.values);Wc.prototype.inspect=function(){var t=this.toArray();return t.type=this.ArrayClass.name,t.capacity=this.capacity,Object.defineProperty(t,"constructor",{value:Wc,enumerable:!1}),t};typeof Symbol<"u"&&(Wc.prototype[Symbol.for("nodejs.util.inspect.custom")]=Wc.prototype.inspect);Wc.from=function(t,e,r){if(arguments.length<3&&(r=Tbe.guessLength(t),typeof r!="number"))throw new Error("mnemonist/fixed-deque.from: could not guess iterable length. Please provide desired capacity as last argument.");var n=new Wc(e,r);if(Tbe.isArrayLike(t)){var i,a;for(i=0,a=t.length;i<a;i++)n.items[i]=t[i];return n.size=a,n}return Tbe.forEach(t,function(s){n.push(s)}),n};Xyt.exports=Wc});var xbe,Bbe,evt,uE,Rbe,G2i,V2i,q2i,$2i,j2i,Y2i,W2i,z2i,K2i,J2i,X2i,Z2i,egi,tgi,rgi,tvt=Oe(()=>{xbe=Ve(Oyt(),1),Bbe=Ve(Uyt(),1),evt=Ve($yt(),1),uE=Ve(Kyt(),1),Rbe=Ve(Zyt(),1),G2i=xbe.default.MinFibonacciHeap,V2i=xbe.default.MaxFibonacciHeap,q2i=Bbe.default.MinHeap,$2i=Bbe.default.MaxHeap,j2i=evt.default.GeneralizedSuffixArray,Y2i=uE.default.Uint8Vector,W2i=uE.default.Uint8ClampedVector,z2i=uE.default.Int8Vector,K2i=uE.default.Uint16Vector,J2i=uE.default.Int16Vector,X2i=uE.default.Uint32Vector,Z2i=uE.default.Int32Vector,egi=uE.default.Float32Vector,tgi=uE.default.Float64Vector,rgi=uE.default.PointerVector});var rvt,q$,nvt=Oe(()=>{"use strict";rvt="d3d7099f",q$="0.1.8"});import*as ivt from"node:os";import*as DT from"node:child_process";function pv(t){switch(t){case cr.Devin:return{displayName:"Devin"};case cr.Replit:return{displayName:"Replit"};case cr.VSCode:return{displayName:"VS Code"};case cr.Cursor:return{displayName:"Cursor"};case cr.CloudShell:return{displayName:"Cloud Shell"};case cr.Codespaces:return{displayName:"GitHub Codespaces"};case cr.FirebaseStudio:return{displayName:"Firebase Studio"};case cr.Trae:return{displayName:"Trae"};case cr.IntelliJ:return{displayName:"IntelliJ IDEA"};case cr.WebStorm:return{displayName:"WebStorm"};case cr.PyCharm:return{displayName:"PyCharm"};case cr.PhpStorm:return{displayName:"PhpStorm"};case cr.RubyMine:return{displayName:"RubyMine"};case cr.CLion:return{displayName:"CLion"};case cr.GoLand:return{displayName:"GoLand"};case cr.DataGrip:return{displayName:"DataGrip"};case cr.Rider:return{displayName:"Rider"};case cr.AndroidStudio:return{displayName:"Android Studio"};default:return t}}function cle(){if(!!process.env.JETBRAINS_IDE||!!process.env.IDEA_INITIAL_DIRECTORY||!!process.env.JETBRAINS_CLIENT_ID||(process.env.TERMINAL_EMULATOR||"").toLowerCase().includes("jetbrains")){let e=process.env.JETBRAINS_CLIENT_ID?.toLowerCase();if(e){if(e.includes("webstorm"))return cr.WebStorm;if(e.includes("pycharm"))return cr.PyCharm;if(e.includes("phpstorm"))return cr.PhpStorm;if(e.includes("rubymine"))return cr.RubyMine;if(e.includes("clion"))return cr.CLion;if(e.includes("goland"))return cr.GoLand;if(e.includes("datagrip"))return cr.DataGrip;if(e.includes("rider"))return cr.Rider;if(e.includes("studio"))return cr.AndroidStudio;if(e.includes("idea"))return cr.IntelliJ}try{let r=ivt.platform(),n=r==="win32"?0:1,i=process.pid;for(let s=0;s<32;s++){let o;try{if(r==="win32")try{let u=DT.execSync(`powershell -Command "(Get-WmiObject -Query 'SELECT ParentProcessId FROM Win32_Process WHERE ProcessId = ${i}').ParentProcessId"`,{stdio:["ignore","pipe","ignore"]}).toString().trim().split(/\r?\n/).filter(c=>c.trim()!=="");if(u.length>0){let c=u[u.length-1],d=parseInt(c,10);o=Number.isNaN(d)?n:d}else{let d=DT.execSync(`wmic process where "ProcessId=${i}" get ParentProcessId /value`,{stdio:["ignore","pipe","ignore"]}).toString().match(/ParentProcessId=(\d+)/);o=d?parseInt(d[1],10):0}}catch{let u=DT.execSync(`wmic process where "ProcessId=${i}" get ParentProcessId /value`,{stdio:["ignore","pipe","ignore"]}).toString().match(/ParentProcessId=(\d+)/);o=u?parseInt(u[1],10):0}else{let l=DT.execSync(`ps -o ppid= -p ${i}`,{stdio:["ignore","pipe","ignore"]}).toString().trim(),u=parseInt(l,10);o=Number.isNaN(u)?n:u}}catch{break}if(o===n||o<=0)break;i=o}let a="";try{r==="win32"?a=(DT.execSync(`wmic process where "ProcessId=${i}" get Name /value`,{stdio:["ignore","pipe","ignore"]}).toString().match(/Name=([^\r\n]+)/)?.[1]??"").toLowerCase():a=DT.execSync(`ps -o comm= -p ${i}`,{stdio:["ignore","pipe","ignore"]}).toString().trim().toLowerCase()}catch{a=""}if(a.includes("webstorm"))return cr.WebStorm;if(a.includes("pycharm"))return cr.PyCharm;if(a.includes("phpstorm"))return cr.PhpStorm;if(a.includes("rubymine"))return cr.RubyMine;if(a.includes("clion"))return cr.CLion;if(a.includes("goland"))return cr.GoLand;if(a.includes("datagrip"))return cr.DataGrip;if(a.includes("rider"))return cr.Rider;if(a.includes("studio"))return cr.AndroidStudio;if(a.includes("idea"))return cr.IntelliJ}catch{}return cr.IntelliJ}if(process.env.TERM_PROGRAM==="vscode")return process.env.__COG_BASHRC_SOURCED?cr.Devin:process.env.REPLIT_USER?cr.Replit:process.env.CURSOR_TRACE_ID?cr.Cursor:process.env.CODESPACES?cr.Codespaces:process.env.EDITOR_IN_CLOUD_SHELL||process.env.CLOUD_SHELL?cr.CloudShell:process.env.TERM_PRODUCT==="Trae"?cr.Trae:process.env.FIREBASE_DEPLOY_AGENT||process.env.MONOSPACE_ENV?cr.FirebaseStudio:cr.VSCode}var cr,$$=Oe(()=>{"use strict";(function(t){t.Devin="devin",t.Replit="replit",t.VSCode="vscode",t.Cursor="cursor",t.CloudShell="cloudshell",t.Codespaces="codespaces",t.FirebaseStudio="firebasestudio",t.Trae="trae",t.IntelliJ="intellij",t.WebStorm="webstorm",t.PyCharm="pycharm",t.PhpStorm="phpstorm",t.RubyMine="rubymine",t.CLion="clion",t.GoLand="goland",t.DataGrip="datagrip",t.Rider="rider",t.AndroidStudio="androidstudio"})(cr||(cr={}))});function UWr(){return process.env.SURFACE?process.env.SURFACE:process.env.GITHUB_SHA?"GitHub":process.env.TERM_PROGRAM==="vscode"?cle()||cr.VSCode:"SURFACE_NOT_SET"}function VWr(t){let e=Eyt(),r=UWr(),n=[{koda_cli_key:Or.KODA_CLI_GOOGLE_ACCOUNTS_COUNT,value:`${e}`},{koda_cli_key:Or.KODA_CLI_SURFACE,value:r}];return[...t,...n]}function qWr(t,e,r){let n=typeof e?.event_name=="string"?e.event_name:"unknown_event",i=Array.isArray(e?.event_metadata)?e.event_metadata:[],a=YWr(i);typeof e?.application=="number"&&(a.application=e.application),typeof e?.console_type=="string"&&(a.consoleType=e.console_type);let s=a.sessionId,o;typeof s=="string"?o=s.trim().length>0?s:void 0:typeof s=="number"&&(o=s.toString()),o=o??r?.getSessionId(),s!==void 0&&delete a.sessionId,typeof e?.client_install_id=="string"&&(a.clientInstallId=e.client_install_id);let{ts:l,date:u}=jWr(t.event_time_ms),c=typeof e?.client_email=="string"?e.client_email:typeof e?.client_install_id=="string"?e.client_install_id:void 0;return a.eventTimeMs=t.event_time_ms,a.extensionVersion=q$,{ts:l,date:u,user_id:c,session_id:o,os:$Wr(),extensionVersion:q$,event:n,properties:a}}function $Wr(){return`${process.platform}-${process.arch}`}function jWr(t){let e=new Date(t),r=e.getFullYear(),n=tD(e.getMonth()+1,2),i=tD(e.getDate(),2),a=tD(e.getHours(),2),s=tD(e.getMinutes(),2),o=tD(e.getSeconds(),2),l=tD(e.getMilliseconds(),3),u=e.getTimezoneOffset(),c=Math.abs(u),d=tD(Math.floor(c/60),2),h=tD(c%60,2),f=u<=0?"+":"-";return{ts:`${r}-${n}-${i} ${a}:${s}:${o}.${l} ${f} ${d}${h}`,date:`${r}-${n}-${i}`}}function tD(t,e){return t.toString().padStart(e,"0")}function YWr(t){let e={};for(let r of t)if(Array.isArray(r))for(let n of r){if(!n||n.value===void 0)continue;let i=WWr(n.koda_cli_key),a=KWr(n.value);e[i]=a}return e}function WWr(t){let e=typeof t=="number"?Or[t]??t.toString():t??"unknown";if(typeof e!="string")return"unknown";if(!e.startsWith("KODA_CLI_"))return e;let r=e.replace(/^KODA_CLI_/,"");return zWr(r)}function zWr(t){return t.toLowerCase().split("_").filter(Boolean).map((e,r)=>r===0?e:e.charAt(0).toUpperCase()+e.slice(1)).join("")}function KWr(t){let e=t.trim();if(!e)return"";try{let r=JSON.parse(e);return r===null||typeof r=="string"||typeof r=="number"||typeof r=="boolean"?r:JSON.stringify(r)}catch{return/^\d+(?:\.\d+)?$/.test(e)?Number(e):e==="true"||e==="false"?e==="true":t}}var avt,wWr,IWr,TWr,xWr,BWr,RWr,NWr,OWr,FWr,MWr,LWr,PWr,QWr,kWr,HWr,GWr,dle,ple,ac,j$=Oe(()=>{"use strict";avt=Ve(dL(),1);p_();cyt();obe();mbe();_yt();tvt();nvt();$$();wWr="start_session",IWr="new_prompt",TWr="tool_call",xWr="api_request",BWr="api_response",RWr="api_error",NWr="end_session",OWr="flash_fallback",FWr="loop_detected",MWr="next_speaker_check",LWr="slash_command",PWr="malformed_json_response",QWr="ide_connection",kWr="kitty_sequence_overflow";HWr="https://telemetry.kodacode.ru/log",GWr=1e3*60,dle=1e3,ple=100,ac=class t{static instance;config;events;lastFlushTime=Date.now();flushing=!1;pendingFlush=!1;constructor(e){this.config=e,this.events=new Rbe.default(Array,dle)}static getInstance(e){if(!(e===void 0||!e?.getUsageStatisticsEnabled()))return t.instance||(t.instance=new t(e)),t.instance}static clearInstance(){t.instance=void 0}enqueueLogEvent(e){try{let r=this.events.size>=dle;r&&this.events.shift(),this.events.push([{event_time_ms:Date.now(),source_extension_json:Zoe(e)}]),r&&this.config?.getDebugMode()&&console.debug(`ClearcutLogger: Dropped old event to prevent memory leak (queue size: ${this.events.size})`)}catch(r){this.config?.getDebugMode()&&console.error("ClearcutLogger: Failed to enqueue log event.",r)}}createLogEvent(e,r){let n=ile();r=VWr(r);let i={console_type:"KODA_CLI",application:102,event_name:e,event_metadata:[r]};return n?i.client_email=n:i.client_install_id=Cyt(),i}flushIfNeeded(){Date.now()-this.lastFlushTime<GWr||this.flushToClearcut().catch(e=>{console.debug("Error flushing telemetry events:",e)})}async flushToClearcut(){if(this.flushing){this.config?.getDebugMode()&&console.debug("ClearcutLogger: Flush already in progress, marking pending flush."),this.pendingFlush=!0;return}this.flushing=!0,this.config?.getDebugMode()&&console.log("Flushing log events to telemetry endpoint.");let e=this.events.toArray();if(this.events.clear(),e.length===0){this.flushing=!1;return}let r=[],n=0,i;try{i=this.getProxyAgent()}catch(s){this.config?.getDebugMode()&&console.error("ClearcutLogger: Invalid proxy configuration.",s),i=void 0}let a=`koda-cli/${q$}`;for(let s of e)for(let o of s){let l;try{let u=JSON.parse(o.source_extension_json);l=qWr(o,u,this.config)}catch(u){this.config?.getDebugMode()&&console.error("ClearcutLogger: Failed to parse log event.",u),r.push([o]);continue}if(!l){r.push([o]);continue}try{let u=await fetch(HWr,{method:"POST",body:JSON.stringify(l),headers:{"Content-Type":"application/json","User-Agent":a},...i?{agent:i}:{}});if(!u.ok){this.config?.getDebugMode()&&console.error(`Error flushing log event: HTTP ${u.status}: ${u.statusText}`),r.push([o]);continue}n++}catch(u){this.config?.getDebugMode()&&console.error("Error flushing log event:",u),r.push([o])}}r.length>0?this.requeueFailedEvents(r):n>0&&(this.lastFlushTime=Date.now()),this.flushing=!1,this.pendingFlush&&(this.pendingFlush=!1,this.flushToClearcut().catch(s=>{this.config?.getDebugMode()&&console.debug("Error in pending flush to telemetry endpoint:",s)}))}logStartSessionEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_START_SESSION_MODEL,value:e.model},{koda_cli_key:Or.KODA_CLI_SESSION_ID,value:this.config?.getSessionId()??""},{koda_cli_key:Or.KODA_CLI_START_SESSION_EMBEDDING_MODEL,value:e.embedding_model},{koda_cli_key:Or.KODA_CLI_START_SESSION_SANDBOX,value:e.sandbox_enabled.toString()},{koda_cli_key:Or.KODA_CLI_START_SESSION_CORE_TOOLS,value:e.core_tools_enabled},{koda_cli_key:Or.KODA_CLI_START_SESSION_APPROVAL_MODE,value:e.approval_mode},{koda_cli_key:Or.KODA_CLI_START_SESSION_API_KEY_ENABLED,value:e.api_key_enabled.toString()},{koda_cli_key:Or.KODA_CLI_START_SESSION_VERTEX_API_ENABLED,value:e.vertex_ai_enabled.toString()},{koda_cli_key:Or.KODA_CLI_START_SESSION_DEBUG_MODE_ENABLED,value:e.debug_enabled.toString()},{koda_cli_key:Or.KODA_CLI_START_SESSION_VERTEX_API_ENABLED,value:e.vertex_ai_enabled.toString()},{koda_cli_key:Or.KODA_CLI_START_SESSION_MCP_SERVERS,value:e.mcp_servers},{koda_cli_key:Or.KODA_CLI_START_SESSION_VERTEX_API_ENABLED,value:e.vertex_ai_enabled.toString()},{koda_cli_key:Or.KODA_CLI_START_SESSION_TELEMETRY_ENABLED,value:e.telemetry_enabled.toString()},{koda_cli_key:Or.KODA_CLI_START_SESSION_TELEMETRY_LOG_USER_PROMPTS_ENABLED,value:e.telemetry_log_user_prompts_enabled.toString()},{koda_cli_key:Or.KODA_CLI_VERSION,value:q$},{koda_cli_key:Or.KODA_CLI_GIT_COMMIT_HASH,value:rvt}];this.enqueueLogEvent(this.createLogEvent(wWr,r)),this.flushToClearcut().catch(n=>{console.debug("Error flushing telemetry events:",n)})}logNewPromptEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_USER_PROMPT_LENGTH,value:JSON.stringify(e.prompt_length)},{koda_cli_key:Or.KODA_CLI_SESSION_ID,value:this.config?.getSessionId()??""},{koda_cli_key:Or.KODA_CLI_PROMPT_ID,value:JSON.stringify(e.prompt_id)},{koda_cli_key:Or.KODA_CLI_AUTH_TYPE,value:JSON.stringify(e.auth_type)}];this.enqueueLogEvent(this.createLogEvent(IWr,r)),this.flushIfNeeded()}logToolCallEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_TOOL_CALL_NAME,value:JSON.stringify(e.function_name)},{koda_cli_key:Or.KODA_CLI_PROMPT_ID,value:JSON.stringify(e.prompt_id)},{koda_cli_key:Or.KODA_CLI_TOOL_CALL_DECISION,value:JSON.stringify(e.decision)},{koda_cli_key:Or.KODA_CLI_TOOL_CALL_SUCCESS,value:JSON.stringify(e.success)},{koda_cli_key:Or.KODA_CLI_TOOL_CALL_DURATION_MS,value:JSON.stringify(e.duration_ms)},{koda_cli_key:Or.KODA_CLI_TOOL_ERROR_MESSAGE,value:JSON.stringify(e.error)},{koda_cli_key:Or.KODA_CLI_TOOL_CALL_ERROR_TYPE,value:JSON.stringify(e.error_type)}];if(e.metadata){let i={ai_added_lines:Or.KODA_CLI_AI_ADDED_LINES,ai_removed_lines:Or.KODA_CLI_AI_REMOVED_LINES,user_added_lines:Or.KODA_CLI_USER_ADDED_LINES,user_removed_lines:Or.KODA_CLI_USER_REMOVED_LINES};for(let[a,s]of Object.entries(i))e.metadata[a]!==void 0&&r.push({koda_cli_key:s,value:JSON.stringify(e.metadata[a])})}let n=this.createLogEvent(TWr,r);this.enqueueLogEvent(n),this.flushIfNeeded()}logApiRequestEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_API_REQUEST_MODEL,value:JSON.stringify(e.model)},{koda_cli_key:Or.KODA_CLI_PROMPT_ID,value:JSON.stringify(e.prompt_id)}];this.enqueueLogEvent(this.createLogEvent(xWr,r)),this.flushIfNeeded()}logApiResponseEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_API_RESPONSE_MODEL,value:JSON.stringify(e.model)},{koda_cli_key:Or.KODA_CLI_PROMPT_ID,value:JSON.stringify(e.prompt_id)},{koda_cli_key:Or.KODA_CLI_API_RESPONSE_STATUS_CODE,value:JSON.stringify(e.status_code)},{koda_cli_key:Or.KODA_CLI_API_RESPONSE_DURATION_MS,value:JSON.stringify(e.duration_ms)},{koda_cli_key:Or.KODA_CLI_API_ERROR_MESSAGE,value:JSON.stringify(e.error)},{koda_cli_key:Or.KODA_CLI_API_RESPONSE_INPUT_TOKEN_COUNT,value:JSON.stringify(e.input_token_count)},{koda_cli_key:Or.KODA_CLI_API_RESPONSE_OUTPUT_TOKEN_COUNT,value:JSON.stringify(e.output_token_count)},{koda_cli_key:Or.KODA_CLI_API_RESPONSE_CACHED_TOKEN_COUNT,value:JSON.stringify(e.cached_content_token_count)},{koda_cli_key:Or.KODA_CLI_API_RESPONSE_THINKING_TOKEN_COUNT,value:JSON.stringify(e.thoughts_token_count)},{koda_cli_key:Or.KODA_CLI_API_RESPONSE_TOOL_TOKEN_COUNT,value:JSON.stringify(e.tool_token_count)},{koda_cli_key:Or.KODA_CLI_AUTH_TYPE,value:JSON.stringify(e.auth_type)}];this.enqueueLogEvent(this.createLogEvent(BWr,r)),this.flushIfNeeded()}logApiErrorEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_API_ERROR_MODEL,value:JSON.stringify(e.model)},{koda_cli_key:Or.KODA_CLI_PROMPT_ID,value:JSON.stringify(e.prompt_id)},{koda_cli_key:Or.KODA_CLI_API_ERROR_TYPE,value:JSON.stringify(e.error_type)},{koda_cli_key:Or.KODA_CLI_API_ERROR_STATUS_CODE,value:JSON.stringify(e.status_code)},{koda_cli_key:Or.KODA_CLI_API_ERROR_DURATION_MS,value:JSON.stringify(e.duration_ms)},{koda_cli_key:Or.KODA_CLI_AUTH_TYPE,value:JSON.stringify(e.auth_type)}];this.enqueueLogEvent(this.createLogEvent(RWr,r)),this.flushIfNeeded()}logFlashFallbackEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_AUTH_TYPE,value:JSON.stringify(e.auth_type)},{koda_cli_key:Or.KODA_CLI_SESSION_ID,value:this.config?.getSessionId()??""}];this.enqueueLogEvent(this.createLogEvent(OWr,r)),this.flushToClearcut().catch(n=>{console.debug("Error flushing to Clearcut:",n)})}logLoopDetectedEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_PROMPT_ID,value:JSON.stringify(e.prompt_id)},{koda_cli_key:Or.KODA_CLI_LOOP_DETECTED_TYPE,value:JSON.stringify(e.loop_type)}];this.enqueueLogEvent(this.createLogEvent(FWr,r)),this.flushIfNeeded()}logNextSpeakerCheck(e){let r=[{koda_cli_key:Or.KODA_CLI_PROMPT_ID,value:JSON.stringify(e.prompt_id)},{koda_cli_key:Or.KODA_CLI_RESPONSE_FINISH_REASON,value:JSON.stringify(e.finish_reason)},{koda_cli_key:Or.KODA_CLI_NEXT_SPEAKER_CHECK_RESULT,value:JSON.stringify(e.result)},{koda_cli_key:Or.KODA_CLI_SESSION_ID,value:this.config?.getSessionId()??""}];this.enqueueLogEvent(this.createLogEvent(MWr,r)),this.flushIfNeeded()}logSlashCommandEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_SLASH_COMMAND_NAME,value:JSON.stringify(e.command)}];e.subcommand&&r.push({koda_cli_key:Or.KODA_CLI_SLASH_COMMAND_SUBCOMMAND,value:JSON.stringify(e.subcommand)}),e.status&&r.push({koda_cli_key:Or.KODA_CLI_SLASH_COMMAND_STATUS,value:JSON.stringify(e.status)}),this.enqueueLogEvent(this.createLogEvent(LWr,r)),this.flushIfNeeded()}logMalformedJsonResponseEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_MALFORMED_JSON_RESPONSE_MODEL,value:JSON.stringify(e.model)}];this.enqueueLogEvent(this.createLogEvent(PWr,r)),this.flushIfNeeded()}logIdeConnectionEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_IDE_CONNECTION_TYPE,value:JSON.stringify(e.connection_type)}];this.enqueueLogEvent(this.createLogEvent(QWr,r)),this.flushIfNeeded()}logKittySequenceOverflowEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_KITTY_SEQUENCE_LENGTH,value:e.sequence_length.toString()},{koda_cli_key:Or.KODA_CLI_KITTY_TRUNCATED_SEQUENCE,value:e.truncated_sequence}];this.enqueueLogEvent(this.createLogEvent(kWr,r)),this.flushIfNeeded()}logEndSessionEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_SESSION_ID,value:e?.session_id?.toString()??""}];this.enqueueLogEvent(this.createLogEvent(NWr,r)),this.flushToClearcut().catch(n=>{console.debug("Error flushing to Clearcut:",n)})}getProxyAgent(){let e=this.config?.getProxy();if(e){if(e.startsWith("http"))return new avt.HttpsProxyAgent(e);throw new Error("Unsupported proxy type")}}shutdown(){let e=new WO(this.config);this.logEndSessionEvent(e)}requeueFailedEvents(e){let r=e.slice(-ple);e.length>ple&&this.config?.getDebugMode()&&console.warn(`ClearcutLogger: Dropping ${e.length-ple} events due to retry queue limit. Total events: ${e.length}, keeping: ${ple}`);let n=dle-this.events.size,i=Math.min(r.length,n);if(i===0){this.config?.getDebugMode()&&console.debug(`ClearcutLogger: No events re-queued (queue size: ${this.events.size})`);return}let a=r.slice(r.length-i);for(let s=a.length-1;s>=0;s--)this.events.unshift(a[s]);for(;this.events.size>dle;)this.events.pop();this.config?.getDebugMode()&&console.debug(`ClearcutLogger: Re-queued ${i} events for retry (queue size: ${this.events.size})`)}}});import*as svt from"node:fs";var ST,ovt,Y$,fle,mle,hle,lvt=Oe(()=>{"use strict";ST=Ve(Dn(),1),ovt=Ve(YI(),1);Y$=class{writeStream;constructor(e){this.writeStream=svt.createWriteStream(e,{flags:"a"})}serialize(e){return JSON.stringify(e,null,2)+`
337
+ `);let{connect:u,buffered:c}=await l;if(e.emit("proxyConnect",u),this.emit("proxyConnect",u,e),u.statusCode===200)return e.once("socket",$Yr),r.secureEndpoint?(P$("Upgrading socket connection to TLS"),ayt.connect({...oyt(syt(r),"host","path","port"),socket:i})):i;i.destroy();let d=new Joe.Socket({writable:!1});return d.readable=!0,e.once("socket",h=>{P$("Replaying proxy buffer for failed request"),(0,UYr.default)(h.listenerCount("data")>0),h.push(c),h.push(null)}),d}};Xoe.protocols=["http","https"];kg.HttpsProxyAgent=Xoe;function $Yr(t){t.resume()}function oyt(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}});var Or,cyt=Oe(()=>{"use strict";(function(t){t[t.KODA_CLI_KEY_UNKNOWN=0]="KODA_CLI_KEY_UNKNOWN",t[t.KODA_CLI_START_SESSION_MODEL=1]="KODA_CLI_START_SESSION_MODEL",t[t.KODA_CLI_START_SESSION_EMBEDDING_MODEL=2]="KODA_CLI_START_SESSION_EMBEDDING_MODEL",t[t.KODA_CLI_START_SESSION_SANDBOX=3]="KODA_CLI_START_SESSION_SANDBOX",t[t.KODA_CLI_START_SESSION_CORE_TOOLS=4]="KODA_CLI_START_SESSION_CORE_TOOLS",t[t.KODA_CLI_START_SESSION_APPROVAL_MODE=5]="KODA_CLI_START_SESSION_APPROVAL_MODE",t[t.KODA_CLI_START_SESSION_API_KEY_ENABLED=6]="KODA_CLI_START_SESSION_API_KEY_ENABLED",t[t.KODA_CLI_START_SESSION_VERTEX_API_ENABLED=7]="KODA_CLI_START_SESSION_VERTEX_API_ENABLED",t[t.KODA_CLI_START_SESSION_DEBUG_MODE_ENABLED=8]="KODA_CLI_START_SESSION_DEBUG_MODE_ENABLED",t[t.KODA_CLI_START_SESSION_MCP_SERVERS=9]="KODA_CLI_START_SESSION_MCP_SERVERS",t[t.KODA_CLI_START_SESSION_TELEMETRY_ENABLED=10]="KODA_CLI_START_SESSION_TELEMETRY_ENABLED",t[t.KODA_CLI_START_SESSION_TELEMETRY_LOG_USER_PROMPTS_ENABLED=11]="KODA_CLI_START_SESSION_TELEMETRY_LOG_USER_PROMPTS_ENABLED",t[t.KODA_CLI_START_SESSION_RESPECT_GITIGNORE=12]="KODA_CLI_START_SESSION_RESPECT_GITIGNORE",t[t.KODA_CLI_USER_PROMPT_LENGTH=13]="KODA_CLI_USER_PROMPT_LENGTH",t[t.KODA_CLI_TOOL_CALL_NAME=14]="KODA_CLI_TOOL_CALL_NAME",t[t.KODA_CLI_TOOL_CALL_DECISION=15]="KODA_CLI_TOOL_CALL_DECISION",t[t.KODA_CLI_TOOL_CALL_SUCCESS=16]="KODA_CLI_TOOL_CALL_SUCCESS",t[t.KODA_CLI_TOOL_CALL_DURATION_MS=17]="KODA_CLI_TOOL_CALL_DURATION_MS",t[t.KODA_CLI_TOOL_ERROR_MESSAGE=18]="KODA_CLI_TOOL_ERROR_MESSAGE",t[t.KODA_CLI_TOOL_CALL_ERROR_TYPE=19]="KODA_CLI_TOOL_CALL_ERROR_TYPE",t[t.KODA_CLI_API_REQUEST_MODEL=20]="KODA_CLI_API_REQUEST_MODEL",t[t.KODA_CLI_API_RESPONSE_MODEL=21]="KODA_CLI_API_RESPONSE_MODEL",t[t.KODA_CLI_API_RESPONSE_STATUS_CODE=22]="KODA_CLI_API_RESPONSE_STATUS_CODE",t[t.KODA_CLI_API_RESPONSE_DURATION_MS=23]="KODA_CLI_API_RESPONSE_DURATION_MS",t[t.KODA_CLI_API_ERROR_MESSAGE=24]="KODA_CLI_API_ERROR_MESSAGE",t[t.KODA_CLI_API_RESPONSE_INPUT_TOKEN_COUNT=25]="KODA_CLI_API_RESPONSE_INPUT_TOKEN_COUNT",t[t.KODA_CLI_API_RESPONSE_OUTPUT_TOKEN_COUNT=26]="KODA_CLI_API_RESPONSE_OUTPUT_TOKEN_COUNT",t[t.KODA_CLI_API_RESPONSE_CACHED_TOKEN_COUNT=27]="KODA_CLI_API_RESPONSE_CACHED_TOKEN_COUNT",t[t.KODA_CLI_API_RESPONSE_THINKING_TOKEN_COUNT=28]="KODA_CLI_API_RESPONSE_THINKING_TOKEN_COUNT",t[t.KODA_CLI_API_RESPONSE_TOOL_TOKEN_COUNT=29]="KODA_CLI_API_RESPONSE_TOOL_TOKEN_COUNT",t[t.KODA_CLI_API_ERROR_MODEL=30]="KODA_CLI_API_ERROR_MODEL",t[t.KODA_CLI_API_ERROR_TYPE=31]="KODA_CLI_API_ERROR_TYPE",t[t.KODA_CLI_API_ERROR_STATUS_CODE=32]="KODA_CLI_API_ERROR_STATUS_CODE",t[t.KODA_CLI_API_ERROR_DURATION_MS=33]="KODA_CLI_API_ERROR_DURATION_MS",t[t.KODA_CLI_END_SESSION_ID=34]="KODA_CLI_END_SESSION_ID",t[t.KODA_CLI_PROMPT_ID=35]="KODA_CLI_PROMPT_ID",t[t.KODA_CLI_AUTH_TYPE=36]="KODA_CLI_AUTH_TYPE",t[t.KODA_CLI_GOOGLE_ACCOUNTS_COUNT=37]="KODA_CLI_GOOGLE_ACCOUNTS_COUNT",t[t.KODA_CLI_SURFACE=39]="KODA_CLI_SURFACE",t[t.KODA_CLI_SESSION_ID=40]="KODA_CLI_SESSION_ID",t[t.KODA_CLI_VERSION=54]="KODA_CLI_VERSION",t[t.KODA_CLI_GIT_COMMIT_HASH=55]="KODA_CLI_GIT_COMMIT_HASH",t[t.KODA_CLI_LOOP_DETECTED_TYPE=38]="KODA_CLI_LOOP_DETECTED_TYPE",t[t.KODA_CLI_SLASH_COMMAND_NAME=41]="KODA_CLI_SLASH_COMMAND_NAME",t[t.KODA_CLI_SLASH_COMMAND_SUBCOMMAND=42]="KODA_CLI_SLASH_COMMAND_SUBCOMMAND",t[t.KODA_CLI_SLASH_COMMAND_STATUS=51]="KODA_CLI_SLASH_COMMAND_STATUS",t[t.KODA_CLI_RESPONSE_FINISH_REASON=43]="KODA_CLI_RESPONSE_FINISH_REASON",t[t.KODA_CLI_NEXT_SPEAKER_CHECK_RESULT=44]="KODA_CLI_NEXT_SPEAKER_CHECK_RESULT",t[t.KODA_CLI_MALFORMED_JSON_RESPONSE_MODEL=45]="KODA_CLI_MALFORMED_JSON_RESPONSE_MODEL",t[t.KODA_CLI_IDE_CONNECTION_TYPE=46]="KODA_CLI_IDE_CONNECTION_TYPE",t[t.KODA_CLI_AI_ADDED_LINES=47]="KODA_CLI_AI_ADDED_LINES",t[t.KODA_CLI_AI_REMOVED_LINES=48]="KODA_CLI_AI_REMOVED_LINES",t[t.KODA_CLI_USER_ADDED_LINES=49]="KODA_CLI_USER_ADDED_LINES",t[t.KODA_CLI_USER_REMOVED_LINES=50]="KODA_CLI_USER_REMOVED_LINES",t[t.KODA_CLI_KITTY_TRUNCATED_SEQUENCE=52]="KODA_CLI_KITTY_TRUNCATED_SEQUENCE",t[t.KODA_CLI_KITTY_SEQUENCE_LENGTH=53]="KODA_CLI_KITTY_SEQUENCE_LENGTH"})(Or||(Or={}))});function Zoe(t,e){let r=new WeakSet;return JSON.stringify(t,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular]";r.add(i)}return i},e)}var obe=Oe(()=>{"use strict";});import Z8 from"node:path";import ele from"os";import*as dyt from"crypto";function CT(t){let e=ele.homedir();return t.startsWith(e)?t.replace(e,"~"):t}function Qd(t,e=35){if(t.length<=e)return t;let n=Z8.parse(t).root,i=Z8.sep,s=t.substring(n.length).split(i).filter(f=>f!=="");if(s.length<=1){let f=Math.floor((e-3)/2);if(f<=0)return t.substring(0,e-3)+"...";let E=t.substring(0,f),y=t.substring(t.length-f);return`${E}...${y}`}let o=s[0],l=s[s.length-1],u=n+o,c=[],d=i.length+l.length;for(let f=s.length-2;f>=0;f--){let E=s[f],y=d+i.length+E.length;if(y<=e)c.unshift(E),d=y;else break}let h=c.join(i)+i+l;return d>e?h:(h=u+i+h,h.length>e?"..."+h.substring(h.length-e-3):h)}function e0(t,e){let r=Z8.resolve(t),n=Z8.resolve(e);return Z8.relative(n,r)||"."}function cbe(t){let e="";for(let r=0;r<t.length;r++){let n=t[r],i=0;for(let s=r-1;s>=0&&t[s]==="\\";s--)i++;!(i%2===1)&&ube.test(n)?e+="\\"+n:e+=n}return e}function Q$(t){return t.replace(new RegExp(`\\\\([${ube.source.slice(1,-1)}])`,"g"),"$1")}function tle(t){return dyt.createHash("sha256").update(t).digest("hex")}function cv(t){let e=tle(t);return Z8.join(ele.homedir(),Ug,jYr,e)}function dbe(){return Z8.join(ele.homedir(),Ug,pyt)}function pbe(t){return Z8.join(t,Ug,pyt)}function k$(t,e){let n=ele.platform()==="win32"?Z8.win32:Z8,i=n.relative(t,e);return!i.startsWith(`..${n.sep}`)&&i!==".."&&!n.isAbsolute(i)}var Ug,lbe,jYr,pyt,ube,ef=Oe(()=>{"use strict";Ug=".kodacli",lbe="google_accounts.json",jYr="tmp",pyt="commands",ube=/[ \t()[\]{};|*?$`'"#&<>!~]/});import fyt from"node:path";import{promises as rle,existsSync as fbe,readFileSync as myt}from"node:fs";import*as hyt from"os";function nle(){return fyt.join(hyt.homedir(),Ug,lbe)}async function Ayt(t){try{let e=await rle.readFile(t,"utf-8");return e.trim()?JSON.parse(e):{active:null,old:[]}}catch(e){return e instanceof Error&&"code"in e&&e.code==="ENOENT"?{active:null,old:[]}:(console.debug("Could not parse accounts file, starting fresh.",e),{active:null,old:[]})}}async function gyt(t){let e=nle();await rle.mkdir(fyt.dirname(e),{recursive:!0});let r=await Ayt(e);r.active&&r.active!==t&&(r.old.includes(r.active)||r.old.push(r.active)),r.old=r.old.filter(n=>n!==t),r.active=t,await rle.writeFile(e,JSON.stringify(r,null,2),"utf-8")}function ile(){try{let t=nle();if(fbe(t)){let e=myt(t,"utf-8").trim();return e?JSON.parse(e).active:null}return null}catch(t){return console.debug("Error reading cached Google Account:",t),null}}function Eyt(){try{let t=nle();if(!fbe(t))return 0;let e=myt(t,"utf-8").trim();if(!e)return 0;let r=JSON.parse(e),n=r.old.length;return r.active&&n++,n}catch(t){return console.debug("Error reading lifetime Google Accounts:",t),0}}async function yyt(){let t=nle();if(!fbe(t))return;let e=await Ayt(t);e.active&&(e.old.includes(e.active)||e.old.push(e.active),e.active=null),await rle.writeFile(t,JSON.stringify(e,null,2),"utf-8")}var mbe=Oe(()=>{"use strict";ef();});import*as vyt from"os";import*as dv from"fs";import*as gbe from"path";import{randomUUID as YYr}from"crypto";function zYr(){dv.existsSync(hbe)||dv.mkdirSync(hbe,{recursive:!0})}function KYr(){return dv.existsSync(Abe)&&dv.readFileSync(Abe,"utf-8").trim()||null}function JYr(t){dv.writeFileSync(Abe,t,"utf-8")}function Cyt(){try{zYr();let t=KYr();return t||(t=YYr(),JYr(t)),t}catch(t){return console.error("Error accessing installation ID file, generating ephemeral ID:",t),"123456789"}}var WYr,hbe,Abe,_yt=Oe(()=>{"use strict";ef();WYr=vyt.homedir()??"",hbe=gbe.join(WYr,Ug),Abe=gbe.join(hbe,"installation_id")});var Ebe=T(U$=>{var XYr=function(t,e){return t<e?-1:t>e?1:0},ZYr=function(t,e){return t<e?1:t>e?-1:0};function eWr(t){return function(e,r){return t(r,e)}}function tWr(t){return t===2?function(e,r){return e[0]<r[0]?-1:e[0]>r[0]?1:e[1]<r[1]?-1:e[1]>r[1]?1:0}:function(e,r){for(var n=0;n<t;){if(e[n]<r[n])return-1;if(e[n]>r[n])return 1;n++}return 0}}U$.DEFAULT_COMPARATOR=XYr;U$.DEFAULT_REVERSE_COMPARATOR=ZYr;U$.reverseComparator=eWr;U$.createTupleComparator=tWr});var Dyt=T(ybe=>{ybe.ARRAY_BUFFER_SUPPORT=typeof ArrayBuffer<"u";ybe.SYMBOL_SUPPORT=typeof Symbol<"u"});var H$=T((O2i,byt)=>{var Syt=Dyt(),rWr=Syt.ARRAY_BUFFER_SUPPORT,nWr=Syt.SYMBOL_SUPPORT;byt.exports=function(e,r){var n,i,a,s,o;if(!e)throw new Error("obliterator/forEach: invalid iterable.");if(typeof r!="function")throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(e)||rWr&&ArrayBuffer.isView(e)||typeof e=="string"||e.toString()==="[object Arguments]"){for(a=0,s=e.length;a<s;a++)r(e[a],a);return}if(typeof e.forEach=="function"){e.forEach(r);return}if(nWr&&Symbol.iterator in e&&typeof e.next!="function"&&(e=e[Symbol.iterator]()),typeof e.next=="function"){for(n=e,a=0;o=n.next(),o.done!==!0;)r(o.value,a),a++;return}for(i in e)e.hasOwnProperty(i)&&r(e[i],i)}});var Oyt=T((F2i,Nyt)=>{var wyt=Ebe(),Iyt=H$(),Tyt=wyt.DEFAULT_COMPARATOR,iWr=wyt.reverseComparator;function dm(t){if(this.clear(),this.comparator=t||Tyt,typeof this.comparator!="function")throw new Error("mnemonist/FibonacciHeap.constructor: given comparator should be a function.")}dm.prototype.clear=function(){this.root=null,this.min=null,this.size=0};function aWr(t){return{item:t,degree:0}}function xyt(t,e){t.root?(e.right=t.root.right,e.left=t.root,t.root.right.left=e,t.root.right=e):t.root=e}dm.prototype.push=function(t){var e=aWr(t);return e.left=e,e.right=e,xyt(this,e),(!this.min||this.comparator(e.item,this.min.item)<=0)&&(this.min=e),++this.size};dm.prototype.peek=function(){return this.min?this.min.item:void 0};function Byt(t){for(var e=[],r=t,n=!1;!(r===t&&n);)r===t&&(n=!0),e.push(r),r=r.right;return e}function Ryt(t,e){t.root===e&&(t.root=e.right),e.left.right=e.right,e.right.left=e.left}function sWr(t,e){t.child?(e.right=t.child.right,e.left=t.child,t.child.right.left=e,t.child.right=e):t.child=e}function oWr(t,e,r){Ryt(t,e),e.left=e,e.right=e,sWr(r,e),r.degree++,e.parent=r}function lWr(t){var e=new Array(t.size),r=Byt(t.root),n,i,a,s,o,l;for(n=0,i=r.length;n<i;n++){for(a=r[n],o=a.degree;e[o];)s=e[o],t.comparator(a.item,s.item)>0&&(l=a,a=s,s=l),oWr(t,s,a),e[o]=null,o++;e[o]=a}for(n=0;n<t.size;n++)e[n]&&t.comparator(e[n].item,t.min.item)<=0&&(t.min=e[n])}dm.prototype.pop=function(){if(this.size){var t=this.min;if(t.child){var e=Byt(t.child),r,n,i;for(n=0,i=e.length;n<i;n++)r=e[n],xyt(this,r),delete r.parent}return Ryt(this,t),t===t.right?(this.min=null,this.root=null):(this.min=t.right,lWr(this)),this.size--,t.item}};dm.prototype.inspect=function(){var t={size:this.size};return this.min&&"item"in this.min&&(t.top=this.min.item),Object.defineProperty(t,"constructor",{value:dm,enumerable:!1}),t};typeof Symbol<"u"&&(dm.prototype[Symbol.for("nodejs.util.inspect.custom")]=dm.prototype.inspect);function ale(t){if(this.clear(),this.comparator=t||Tyt,typeof this.comparator!="function")throw new Error("mnemonist/FibonacciHeap.constructor: given comparator should be a function.");this.comparator=iWr(this.comparator)}ale.prototype=dm.prototype;dm.from=function(t,e){var r=new dm(e);return Iyt(t,function(n){r.push(n)}),r};ale.from=function(t,e){var r=new ale(e);return Iyt(t,function(n){r.push(n)}),r};dm.MinFibonacciHeap=dm;dm.MaxFibonacciHeap=ale;Nyt.exports=dm});var vbe=T(e9=>{var uWr=Math.pow(2,8)-1,cWr=Math.pow(2,16)-1,dWr=Math.pow(2,32)-1,pWr=Math.pow(2,7)-1,fWr=Math.pow(2,15)-1,mWr=Math.pow(2,31)-1;e9.getPointerArray=function(t){var e=t-1;if(e<=uWr)return Uint8Array;if(e<=cWr)return Uint16Array;if(e<=dWr)return Uint32Array;throw new Error("mnemonist: Pointer Array of size > 4294967295 is not supported.")};e9.getSignedPointerArray=function(t){var e=t-1;return e<=pWr?Int8Array:e<=fWr?Int16Array:e<=mWr?Int32Array:Float64Array};e9.getNumberType=function(t){return t===(t|0)?Math.sign(t)===-1?t<=127&&t>=-128?Int8Array:t<=32767&&t>=-32768?Int16Array:Int32Array:t<=255?Uint8Array:t<=65535?Uint16Array:Uint32Array:Float64Array};var hWr={Uint8Array:1,Int8Array:2,Uint16Array:3,Int16Array:4,Uint32Array:5,Int32Array:6,Float32Array:7,Float64Array:8};e9.getMinimalRepresentation=function(t,e){var r=null,n=0,i,a,s,o,l;for(o=0,l=t.length;o<l;o++)s=e?e(t[o]):t[o],a=e9.getNumberType(s),i=hWr[a.name],i>n&&(n=i,r=a);return r};e9.isTypedArray=function(t){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView(t)};e9.concat=function(){var t=0,e,r,n;for(e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var i=new arguments[0].constructor(t);for(e=0,r=0;e<n;e++)i.set(arguments[e],r),r+=arguments[e].length;return i};e9.indices=function(t){for(var e=e9.getPointerArray(t),r=new e(t),n=0;n<t;n++)r[n]=n;return r}});var sle=T(G$=>{var Fyt=H$(),Myt=vbe();function AWr(t){return Array.isArray(t)||Myt.isTypedArray(t)}function Cbe(t){if(typeof t.length=="number")return t.length;if(typeof t.size=="number")return t.size}function gWr(t){var e=Cbe(t),r=typeof e=="number"?new Array(e):[],n=0;return Fyt(t,function(i){r[n++]=i}),r}function EWr(t){var e=Cbe(t),r=typeof e=="number"?Myt.getPointerArray(e):Array,n=typeof e=="number"?new Array(e):[],i=typeof e=="number"?new r(e):[],a=0;return Fyt(t,function(s){n[a]=s,i[a]=a++}),[n,i]}G$.isArrayLike=AWr;G$.guessLength=Cbe;G$.toArray=gWr;G$.toArrayWithIndices=EWr});var Uyt=T((P2i,kyt)=>{var ole=H$(),Lyt=Ebe(),t9=sle(),ule=Lyt.DEFAULT_COMPARATOR,_be=Lyt.reverseComparator;function Dbe(t,e,r,n){for(var i=e[n],a,s;n>r;){if(a=n-1>>1,s=e[a],t(i,s)<0){e[n]=s,n=a;continue}break}e[n]=i}function V$(t,e,r){for(var n=e.length,i=r,a=e[r],s=2*r+1,o;s<n;)o=s+1,o<n&&t(e[s],e[o])>=0&&(s=o),e[r]=e[s],r=s,s=2*r+1;e[r]=a,Dbe(t,e,i,r)}function Pyt(t,e,r){e.push(r),Dbe(t,e,0,e.length-1)}function Sbe(t,e){var r=e.pop();if(e.length!==0){var n=e[0];return e[0]=r,V$(t,e,0),n}return r}function pL(t,e,r){if(e.length===0)throw new Error("mnemonist/heap.replace: cannot pop an empty heap.");var n=e[0];return e[0]=r,V$(t,e,0),n}function Qyt(t,e,r){var n;return e.length!==0&&t(e[0],r)<0&&(n=e[0],e[0]=r,r=n,V$(t,e,0)),r}function _T(t,e){for(var r=e.length,n=r>>1,i=n;--i>=0;)V$(t,e,i)}function bbe(t,e){for(var r=e.length,n=0,i=new Array(r);n<r;)i[n++]=Sbe(t,e);return i}function yWr(t,e,r){arguments.length===2&&(r=e,e=t,t=ule);var n=_be(t),i,a,s,o=1/0,l;if(e===1){if(t9.isArrayLike(r)){for(i=0,a=r.length;i<a;i++)s=r[i],(o===1/0||t(s,o)<0)&&(o=s);return l=new r.constructor(1),l[0]=o,l}return ole(r,function(c){(o===1/0||t(c,o)<0)&&(o=c)}),[o]}if(t9.isArrayLike(r)){if(e>=r.length)return r.slice().sort(t);for(l=r.slice(0,e),_T(n,l),i=e,a=r.length;i<a;i++)n(r[i],l[0])>0&&pL(n,l,r[i]);return l.sort(t)}var u=t9.guessLength(r);return u!==null&&u<e&&(e=u),l=new Array(e),i=0,ole(r,function(c){i<e?l[i]=c:(i===e&&_T(n,l),n(c,l[0])>0&&pL(n,l,c)),i++}),l.length>i&&(l.length=i),l.sort(t)}function vWr(t,e,r){arguments.length===2&&(r=e,e=t,t=ule);var n=_be(t),i,a,s,o=-1/0,l;if(e===1){if(t9.isArrayLike(r)){for(i=0,a=r.length;i<a;i++)s=r[i],(o===-1/0||t(s,o)>0)&&(o=s);return l=new r.constructor(1),l[0]=o,l}return ole(r,function(c){(o===-1/0||t(c,o)>0)&&(o=c)}),[o]}if(t9.isArrayLike(r)){if(e>=r.length)return r.slice().sort(n);for(l=r.slice(0,e),_T(t,l),i=e,a=r.length;i<a;i++)t(r[i],l[0])>0&&pL(t,l,r[i]);return l.sort(n)}var u=t9.guessLength(r);return u!==null&&u<e&&(e=u),l=new Array(e),i=0,ole(r,function(c){i<e?l[i]=c:(i===e&&_T(t,l),t(c,l[0])>0&&pL(t,l,c)),i++}),l.length>i&&(l.length=i),l.sort(n)}function Ro(t){if(this.clear(),this.comparator=t||ule,typeof this.comparator!="function")throw new Error("mnemonist/Heap.constructor: given comparator should be a function.")}Ro.prototype.clear=function(){this.items=[],this.size=0};Ro.prototype.push=function(t){return Pyt(this.comparator,this.items,t),++this.size};Ro.prototype.peek=function(){return this.items[0]};Ro.prototype.pop=function(){return this.size!==0&&this.size--,Sbe(this.comparator,this.items)};Ro.prototype.replace=function(t){return pL(this.comparator,this.items,t)};Ro.prototype.pushpop=function(t){return Qyt(this.comparator,this.items,t)};Ro.prototype.consume=function(){return this.size=0,bbe(this.comparator,this.items)};Ro.prototype.toArray=function(){return bbe(this.comparator,this.items.slice())};Ro.prototype.inspect=function(){var t=this.toArray();return Object.defineProperty(t,"constructor",{value:Ro,enumerable:!1}),t};typeof Symbol<"u"&&(Ro.prototype[Symbol.for("nodejs.util.inspect.custom")]=Ro.prototype.inspect);function lle(t){if(this.clear(),this.comparator=t||ule,typeof this.comparator!="function")throw new Error("mnemonist/MaxHeap.constructor: given comparator should be a function.");this.comparator=_be(this.comparator)}lle.prototype=Ro.prototype;Ro.from=function(t,e){var r=new Ro(e),n;return t9.isArrayLike(t)?n=t.slice():n=t9.toArray(t),_T(r.comparator,n),r.items=n,r.size=n.length,r};lle.from=function(t,e){var r=new lle(e),n;return t9.isArrayLike(t)?n=t.slice():n=t9.toArray(t),_T(r.comparator,n),r.items=n,r.size=n.length,r};Ro.siftUp=V$;Ro.siftDown=Dbe;Ro.push=Pyt;Ro.pop=Sbe;Ro.replace=pL;Ro.pushpop=Qyt;Ro.heapify=_T;Ro.consume=bbe;Ro.nsmallest=yWr;Ro.nlargest=vWr;Ro.MinHeap=Ro;Ro.MaxHeap=lle;kyt.exports=Ro});var $yt=T((Q2i,qyt)=>{var Hyt="";function Gyt(t,e,r){for(var n=e.length,i=[],a=n,s=-1,o,l=0,u;a--;)s=Math.max(t[e[a]+r],s);for(u=s>>24&&32||s>>16&&24||s>>8&&16||8;l<u;l+=4){for(a=16;a--;)i[a]=[];for(a=n;a--;)i[t[e[a]+r]>>l&15].push(e[a]);for(o=0;o<16;o++)for(s=i[o].length;s--;)e[++a]=i[o][s]}}function CWr(t,e,r,n){return t[r]-t[n]||(r%3===2?t[r+1]-t[n+1]||e[r+2]-e[n+2]:e[r+1]-e[n+1])}function wbe(t,e){var r=[],n=[],i=2*e/3|0,a=e-i,s=i+1>>1,o=i,l=0,u,c=[],d=[];if(e===1)return[0];for(;o--;)r[o]=(o*3>>1)+1;for(o=3;o--;)Gyt(t,r,o);for(l=n[(r[0]/3|0)+(r[0]%3===1?0:s)]=1,o=1;o<i;o++)(t[r[o]]!==t[r[o-1]]||t[r[o]+1]!==t[r[o-1]+1]||t[r[o]+2]!==t[r[o-1]+2])&&l++,n[(r[o]/3|0)+(r[o]%3===1?0:s)]=l;if(l<i)for(n=wbe(n,i),o=i;o--;)r[o]=n[o]<s?n[o]*3+1:(n[o]-s)*3+2;for(o=i;o--;)c[r[o]]=o;for(c[e]=-1,c[e+1]=-2,n=e%3===1?[e-1]:[],o=0;o<i;o++)r[o]%3===1&&n.push(r[o]-1);for(Gyt(t,n,0),o=0,l=0,u=0;o<i&&l<a;)d[u++]=CWr(t,c,r[o],n[l])<0?r[o++]:n[l++];for(;o<i;)d[u++]=r[o++];for(;l<a;)d[u++]=n[l++];return d}function Vyt(t){var e=t.length,r=e%3,n=new Array(e+r),i,a;if(typeof t!="string"){var s=Object.create(null);for(a=0;a<e;a++)s[t[a]]||(s[t[a]]=!0);var o=Object.create(null),l=Object.keys(s).sort();for(a=0,i=l.length;a<i;a++)o[l[a]]=a+1;for(a=0;a<e;a++)n[a]=o[t[a]]}else for(a=0;a<e;a++)n[a]=t.charCodeAt(a);for(a=e;a<e+r;a++)n[a]=0;return n}function Z_(t){this.hasArbitrarySequence=typeof t!="string",this.string=t,this.length=t.length,this.array=wbe(Vyt(t),this.length)}Z_.prototype.toString=function(){return this.array.join(",")};Z_.prototype.toJSON=function(){return this.array};Z_.prototype.inspect=function(){for(var t=new Array(this.length),e=0;e<this.length;e++)t[e]=this.string.slice(this.array[e]);return Object.defineProperty(t,"constructor",{value:Z_,enumerable:!1}),t};typeof Symbol<"u"&&(Z_.prototype[Symbol.for("nodejs.util.inspect.custom")]=Z_.prototype.inspect);function eD(t){if(this.hasArbitrarySequence=typeof t[0]!="string",this.size=t.length,this.hasArbitrarySequence){this.text=[];for(var e=0,r=this.size;e<r;e++)this.text.push.apply(this.text,t[e]),e<r-1&&this.text.push(Hyt)}else this.text=t.join(Hyt);this.firstLength=t[0].length,this.length=this.text.length,this.array=wbe(Vyt(this.text),this.length)}eD.prototype.longestCommonSubsequence=function(){var t=this.hasArbitrarySequence?[]:"",e,r,n,i,a;for(r=1;r<this.length;r++)if(i=this.array[r],a=this.array[r-1],!(i<this.firstLength&&a<this.firstLength)&&!(i>this.firstLength&&a>this.firstLength)){for(e=Math.min(this.length-i,this.length-a),n=0;n<e;n++)if(this.text[i+n]!==this.text[a+n]){e=n;break}e>t.length&&(t=this.text.slice(i,i+e))}return t};eD.prototype.toString=function(){return this.array.join(",")};eD.prototype.toJSON=function(){return this.array};eD.prototype.inspect=function(){for(var t=new Array(this.length),e=0;e<this.length;e++)t[e]=this.text.slice(this.array[e]);return Object.defineProperty(t,"constructor",{value:eD,enumerable:!1}),t};typeof Symbol<"u"&&(eD.prototype[Symbol.for("nodejs.util.inspect.custom")]=eD.prototype.inspect);Z_.GeneralizedSuffixArray=eD;qyt.exports=Z_});var Ibe=T((k2i,jyt)=>{function r9(t){if(typeof t!="function")throw new Error("obliterator/iterator: expecting a function!");this.next=t}typeof Symbol<"u"&&(r9.prototype[Symbol.iterator]=function(){return this});r9.of=function(){var t=arguments,e=t.length,r=0;return new r9(function(){return r>=e?{done:!0}:{done:!1,value:t[r++]}})};r9.empty=function(){var t=new r9(function(){return{done:!0}});return t};r9.fromSequence=function(t){var e=0,r=t.length;return new r9(function(){return e>=r?{done:!0}:{done:!1,value:t[e++]}})};r9.is=function(t){return t instanceof r9?!0:typeof t=="object"&&t!==null&&typeof t.next=="function"};jyt.exports=r9});var Kyt=T((U2i,zyt)=>{var Yyt=Ibe(),_Wr=H$(),DWr=sle(),Wyt=vbe(),SWr=function(t){return Math.max(1,Math.ceil(t*1.5))},bWr=function(t){var e=Wyt.getPointerArray(t);return new e(t)};function Ss(t,e){if(arguments.length<1)throw new Error("mnemonist/vector: expecting at least a byte array constructor.");var r=e||0,n=SWr,i=0,a=!1;typeof e=="object"&&(r=e.initialCapacity||0,i=e.initialLength||0,n=e.policy||n,a=e.factory===!0),this.factory=a?t:null,this.ArrayClass=t,this.length=i,this.capacity=Math.max(i,r),this.policy=n,this.array=new t(this.capacity)}Ss.prototype.set=function(t,e){if(this.length<t)throw new Error("Vector("+this.ArrayClass.name+").set: index out of bounds.");return this.array[t]=e,this};Ss.prototype.get=function(t){if(!(this.length<t))return this.array[t]};Ss.prototype.applyPolicy=function(t){var e=this.policy(t||this.capacity);if(typeof e!="number"||e<0)throw new Error("mnemonist/vector.applyPolicy: policy returned an invalid value (expecting a positive integer).");if(e<=this.capacity)throw new Error("mnemonist/vector.applyPolicy: policy returned a less or equal capacity to allocate.");return e};Ss.prototype.reallocate=function(t){if(t===this.capacity)return this;var e=this.array;if(t<this.length&&(this.length=t),t>this.capacity)if(this.factory===null?this.array=new this.ArrayClass(t):this.array=this.factory(t),Wyt.isTypedArray(this.array))this.array.set(e,0);else for(var r=0,n=this.length;r<n;r++)this.array[r]=e[r];else this.array=e.slice(0,t);return this.capacity=t,this};Ss.prototype.grow=function(t){var e;if(typeof t=="number"){if(this.capacity>=t)return this;for(e=this.capacity;e<t;)e=this.applyPolicy(e);return this.reallocate(e),this}return e=this.applyPolicy(),this.reallocate(e),this};Ss.prototype.resize=function(t){return t===this.length?this:t<this.length?(this.length=t,this):(this.length=t,this.reallocate(t),this)};Ss.prototype.push=function(t){return this.capacity===this.length&&this.grow(),this.array[this.length++]=t,this.length};Ss.prototype.pop=function(){if(this.length!==0)return this.array[--this.length]};Ss.prototype.values=function(){var t=this.array,e=this.length,r=0;return new Yyt(function(){if(r>=e)return{done:!0};var n=t[r];return r++,{value:n,done:!1}})};Ss.prototype.entries=function(){var t=this.array,e=this.length,r=0;return new Yyt(function(){if(r>=e)return{done:!0};var n=t[r];return{value:[r++,n],done:!1}})};typeof Symbol<"u"&&(Ss.prototype[Symbol.iterator]=Ss.prototype.values);Ss.prototype.inspect=function(){var t=this.array.slice(0,this.length);return t.type=this.array.constructor.name,t.items=this.length,t.capacity=this.capacity,Object.defineProperty(t,"constructor",{value:Ss,enumerable:!1}),t};typeof Symbol<"u"&&(Ss.prototype[Symbol.for("nodejs.util.inspect.custom")]=Ss.prototype.inspect);Ss.from=function(t,e,r){if(arguments.length<3&&(r=DWr.guessLength(t),typeof r!="number"))throw new Error("mnemonist/vector.from: could not guess iterable length. Please provide desired capacity as last argument.");var n=new Ss(e,r);return _Wr(t,function(i){n.push(i)}),n};function n9(t){var e=function(n){Ss.call(this,t,n)};for(var r in Ss.prototype)Ss.prototype.hasOwnProperty(r)&&(e.prototype[r]=Ss.prototype[r]);return e.from=function(n,i){return Ss.from(n,t,i)},typeof Symbol<"u"&&(e.prototype[Symbol.iterator]=e.prototype.values),e}Ss.Int8Vector=n9(Int8Array);Ss.Uint8Vector=n9(Uint8Array);Ss.Uint8ClampedVector=n9(Uint8ClampedArray);Ss.Int16Vector=n9(Int16Array);Ss.Uint16Vector=n9(Uint16Array);Ss.Int32Vector=n9(Int32Array);Ss.Uint32Vector=n9(Uint32Array);Ss.Float32Vector=n9(Float32Array);Ss.Float64Vector=n9(Float64Array);Ss.PointerVector=n9(bWr);zyt.exports=Ss});var Zyt=T((H2i,Xyt)=>{var Tbe=sle(),Jyt=Ibe();function Wc(t,e){if(arguments.length<2)throw new Error("mnemonist/fixed-deque: expecting an Array class and a capacity.");if(typeof e!="number"||e<=0)throw new Error("mnemonist/fixed-deque: `capacity` should be a positive number.");this.ArrayClass=t,this.capacity=e,this.items=new t(this.capacity),this.clear()}Wc.prototype.clear=function(){this.start=0,this.size=0};Wc.prototype.push=function(t){if(this.size===this.capacity)throw new Error("mnemonist/fixed-deque.push: deque capacity ("+this.capacity+") exceeded!");var e=this.start+this.size;return e>=this.capacity&&(e-=this.capacity),this.items[e]=t,++this.size};Wc.prototype.unshift=function(t){if(this.size===this.capacity)throw new Error("mnemonist/fixed-deque.unshift: deque capacity ("+this.capacity+") exceeded!");var e=this.start-1;return this.start===0&&(e=this.capacity-1),this.items[e]=t,this.start=e,++this.size};Wc.prototype.pop=function(){if(this.size!==0){this.size--;var t=this.start+this.size;return t>=this.capacity&&(t-=this.capacity),this.items[t]}};Wc.prototype.shift=function(){if(this.size!==0){var t=this.start;return this.size--,this.start++,this.start===this.capacity&&(this.start=0),this.items[t]}};Wc.prototype.peekFirst=function(){if(this.size!==0)return this.items[this.start]};Wc.prototype.peekLast=function(){if(this.size!==0){var t=this.start+this.size-1;return t>=this.capacity&&(t-=this.capacity),this.items[t]}};Wc.prototype.get=function(t){if(!(this.size===0||t>=this.capacity))return t=this.start+t,t>=this.capacity&&(t-=this.capacity),this.items[t]};Wc.prototype.forEach=function(t,e){e=arguments.length>1?e:this;for(var r=this.capacity,n=this.size,i=this.start,a=0;a<n;)t.call(e,this.items[i],a,this),i++,a++,i===r&&(i=0)};Wc.prototype.toArray=function(){var t=this.start+this.size;if(t<this.capacity)return this.items.slice(this.start,t);for(var e=new this.ArrayClass(this.size),r=this.capacity,n=this.size,i=this.start,a=0;a<n;)e[a]=this.items[i],i++,a++,i===r&&(i=0);return e};Wc.prototype.values=function(){var t=this.items,e=this.capacity,r=this.size,n=this.start,i=0;return new Jyt(function(){if(i>=r)return{done:!0};var a=t[n];return n++,i++,n===e&&(n=0),{value:a,done:!1}})};Wc.prototype.entries=function(){var t=this.items,e=this.capacity,r=this.size,n=this.start,i=0;return new Jyt(function(){if(i>=r)return{done:!0};var a=t[n];return n++,n===e&&(n=0),{value:[i++,a],done:!1}})};typeof Symbol<"u"&&(Wc.prototype[Symbol.iterator]=Wc.prototype.values);Wc.prototype.inspect=function(){var t=this.toArray();return t.type=this.ArrayClass.name,t.capacity=this.capacity,Object.defineProperty(t,"constructor",{value:Wc,enumerable:!1}),t};typeof Symbol<"u"&&(Wc.prototype[Symbol.for("nodejs.util.inspect.custom")]=Wc.prototype.inspect);Wc.from=function(t,e,r){if(arguments.length<3&&(r=Tbe.guessLength(t),typeof r!="number"))throw new Error("mnemonist/fixed-deque.from: could not guess iterable length. Please provide desired capacity as last argument.");var n=new Wc(e,r);if(Tbe.isArrayLike(t)){var i,a;for(i=0,a=t.length;i<a;i++)n.items[i]=t[i];return n.size=a,n}return Tbe.forEach(t,function(s){n.push(s)}),n};Xyt.exports=Wc});var xbe,Bbe,evt,uE,Rbe,G2i,V2i,q2i,$2i,j2i,Y2i,W2i,z2i,K2i,J2i,X2i,Z2i,egi,tgi,rgi,tvt=Oe(()=>{xbe=Ve(Oyt(),1),Bbe=Ve(Uyt(),1),evt=Ve($yt(),1),uE=Ve(Kyt(),1),Rbe=Ve(Zyt(),1),G2i=xbe.default.MinFibonacciHeap,V2i=xbe.default.MaxFibonacciHeap,q2i=Bbe.default.MinHeap,$2i=Bbe.default.MaxHeap,j2i=evt.default.GeneralizedSuffixArray,Y2i=uE.default.Uint8Vector,W2i=uE.default.Uint8ClampedVector,z2i=uE.default.Int8Vector,K2i=uE.default.Uint16Vector,J2i=uE.default.Int16Vector,X2i=uE.default.Uint32Vector,Z2i=uE.default.Int32Vector,egi=uE.default.Float32Vector,tgi=uE.default.Float64Vector,rgi=uE.default.PointerVector});var rvt,q$,nvt=Oe(()=>{"use strict";rvt="d573c51c",q$="0.1.9"});import*as ivt from"node:os";import*as DT from"node:child_process";function pv(t){switch(t){case cr.Devin:return{displayName:"Devin"};case cr.Replit:return{displayName:"Replit"};case cr.VSCode:return{displayName:"VS Code"};case cr.Cursor:return{displayName:"Cursor"};case cr.CloudShell:return{displayName:"Cloud Shell"};case cr.Codespaces:return{displayName:"GitHub Codespaces"};case cr.FirebaseStudio:return{displayName:"Firebase Studio"};case cr.Trae:return{displayName:"Trae"};case cr.IntelliJ:return{displayName:"IntelliJ IDEA"};case cr.WebStorm:return{displayName:"WebStorm"};case cr.PyCharm:return{displayName:"PyCharm"};case cr.PhpStorm:return{displayName:"PhpStorm"};case cr.RubyMine:return{displayName:"RubyMine"};case cr.CLion:return{displayName:"CLion"};case cr.GoLand:return{displayName:"GoLand"};case cr.DataGrip:return{displayName:"DataGrip"};case cr.Rider:return{displayName:"Rider"};case cr.AndroidStudio:return{displayName:"Android Studio"};default:return t}}function cle(){if(!!process.env.JETBRAINS_IDE||!!process.env.IDEA_INITIAL_DIRECTORY||!!process.env.JETBRAINS_CLIENT_ID||(process.env.TERMINAL_EMULATOR||"").toLowerCase().includes("jetbrains")){let e=process.env.JETBRAINS_CLIENT_ID?.toLowerCase();if(e){if(e.includes("webstorm"))return cr.WebStorm;if(e.includes("pycharm"))return cr.PyCharm;if(e.includes("phpstorm"))return cr.PhpStorm;if(e.includes("rubymine"))return cr.RubyMine;if(e.includes("clion"))return cr.CLion;if(e.includes("goland"))return cr.GoLand;if(e.includes("datagrip"))return cr.DataGrip;if(e.includes("rider"))return cr.Rider;if(e.includes("studio"))return cr.AndroidStudio;if(e.includes("idea"))return cr.IntelliJ}try{let r=ivt.platform(),n=r==="win32"?0:1,i=process.pid;for(let s=0;s<32;s++){let o;try{if(r==="win32")try{let u=DT.execSync(`powershell -Command "(Get-WmiObject -Query 'SELECT ParentProcessId FROM Win32_Process WHERE ProcessId = ${i}').ParentProcessId"`,{stdio:["ignore","pipe","ignore"]}).toString().trim().split(/\r?\n/).filter(c=>c.trim()!=="");if(u.length>0){let c=u[u.length-1],d=parseInt(c,10);o=Number.isNaN(d)?n:d}else{let d=DT.execSync(`wmic process where "ProcessId=${i}" get ParentProcessId /value`,{stdio:["ignore","pipe","ignore"]}).toString().match(/ParentProcessId=(\d+)/);o=d?parseInt(d[1],10):0}}catch{let u=DT.execSync(`wmic process where "ProcessId=${i}" get ParentProcessId /value`,{stdio:["ignore","pipe","ignore"]}).toString().match(/ParentProcessId=(\d+)/);o=u?parseInt(u[1],10):0}else{let l=DT.execSync(`ps -o ppid= -p ${i}`,{stdio:["ignore","pipe","ignore"]}).toString().trim(),u=parseInt(l,10);o=Number.isNaN(u)?n:u}}catch{break}if(o===n||o<=0)break;i=o}let a="";try{r==="win32"?a=(DT.execSync(`wmic process where "ProcessId=${i}" get Name /value`,{stdio:["ignore","pipe","ignore"]}).toString().match(/Name=([^\r\n]+)/)?.[1]??"").toLowerCase():a=DT.execSync(`ps -o comm= -p ${i}`,{stdio:["ignore","pipe","ignore"]}).toString().trim().toLowerCase()}catch{a=""}if(a.includes("webstorm"))return cr.WebStorm;if(a.includes("pycharm"))return cr.PyCharm;if(a.includes("phpstorm"))return cr.PhpStorm;if(a.includes("rubymine"))return cr.RubyMine;if(a.includes("clion"))return cr.CLion;if(a.includes("goland"))return cr.GoLand;if(a.includes("datagrip"))return cr.DataGrip;if(a.includes("rider"))return cr.Rider;if(a.includes("studio"))return cr.AndroidStudio;if(a.includes("idea"))return cr.IntelliJ}catch{}return cr.IntelliJ}if(process.env.TERM_PROGRAM==="vscode")return process.env.__COG_BASHRC_SOURCED?cr.Devin:process.env.REPLIT_USER?cr.Replit:process.env.CURSOR_TRACE_ID?cr.Cursor:process.env.CODESPACES?cr.Codespaces:process.env.EDITOR_IN_CLOUD_SHELL||process.env.CLOUD_SHELL?cr.CloudShell:process.env.TERM_PRODUCT==="Trae"?cr.Trae:process.env.FIREBASE_DEPLOY_AGENT||process.env.MONOSPACE_ENV?cr.FirebaseStudio:cr.VSCode}var cr,$$=Oe(()=>{"use strict";(function(t){t.Devin="devin",t.Replit="replit",t.VSCode="vscode",t.Cursor="cursor",t.CloudShell="cloudshell",t.Codespaces="codespaces",t.FirebaseStudio="firebasestudio",t.Trae="trae",t.IntelliJ="intellij",t.WebStorm="webstorm",t.PyCharm="pycharm",t.PhpStorm="phpstorm",t.RubyMine="rubymine",t.CLion="clion",t.GoLand="goland",t.DataGrip="datagrip",t.Rider="rider",t.AndroidStudio="androidstudio"})(cr||(cr={}))});function UWr(){return process.env.SURFACE?process.env.SURFACE:process.env.GITHUB_SHA?"GitHub":process.env.TERM_PROGRAM==="vscode"?cle()||cr.VSCode:"SURFACE_NOT_SET"}function VWr(t){let e=Eyt(),r=UWr(),n=[{koda_cli_key:Or.KODA_CLI_GOOGLE_ACCOUNTS_COUNT,value:`${e}`},{koda_cli_key:Or.KODA_CLI_SURFACE,value:r}];return[...t,...n]}function qWr(t,e,r){let n=typeof e?.event_name=="string"?e.event_name:"unknown_event",i=Array.isArray(e?.event_metadata)?e.event_metadata:[],a=YWr(i);typeof e?.application=="number"&&(a.application=e.application),typeof e?.console_type=="string"&&(a.consoleType=e.console_type);let s=a.sessionId,o;typeof s=="string"?o=s.trim().length>0?s:void 0:typeof s=="number"&&(o=s.toString()),o=o??r?.getSessionId(),s!==void 0&&delete a.sessionId,typeof e?.client_install_id=="string"&&(a.clientInstallId=e.client_install_id);let{ts:l,date:u}=jWr(t.event_time_ms),c=typeof e?.client_email=="string"?e.client_email:typeof e?.client_install_id=="string"?e.client_install_id:void 0;return a.eventTimeMs=t.event_time_ms,a.extensionVersion=q$,{ts:l,date:u,user_id:c,session_id:o,os:$Wr(),extensionVersion:q$,event:n,properties:a}}function $Wr(){return`${process.platform}-${process.arch}`}function jWr(t){let e=new Date(t),r=e.getFullYear(),n=tD(e.getMonth()+1,2),i=tD(e.getDate(),2),a=tD(e.getHours(),2),s=tD(e.getMinutes(),2),o=tD(e.getSeconds(),2),l=tD(e.getMilliseconds(),3),u=e.getTimezoneOffset(),c=Math.abs(u),d=tD(Math.floor(c/60),2),h=tD(c%60,2),f=u<=0?"+":"-";return{ts:`${r}-${n}-${i} ${a}:${s}:${o}.${l} ${f} ${d}${h}`,date:`${r}-${n}-${i}`}}function tD(t,e){return t.toString().padStart(e,"0")}function YWr(t){let e={};for(let r of t)if(Array.isArray(r))for(let n of r){if(!n||n.value===void 0)continue;let i=WWr(n.koda_cli_key),a=KWr(n.value);e[i]=a}return e}function WWr(t){let e=typeof t=="number"?Or[t]??t.toString():t??"unknown";if(typeof e!="string")return"unknown";if(!e.startsWith("KODA_CLI_"))return e;let r=e.replace(/^KODA_CLI_/,"");return zWr(r)}function zWr(t){return t.toLowerCase().split("_").filter(Boolean).map((e,r)=>r===0?e:e.charAt(0).toUpperCase()+e.slice(1)).join("")}function KWr(t){let e=t.trim();if(!e)return"";try{let r=JSON.parse(e);return r===null||typeof r=="string"||typeof r=="number"||typeof r=="boolean"?r:JSON.stringify(r)}catch{return/^\d+(?:\.\d+)?$/.test(e)?Number(e):e==="true"||e==="false"?e==="true":t}}var avt,wWr,IWr,TWr,xWr,BWr,RWr,NWr,OWr,FWr,MWr,LWr,PWr,QWr,kWr,HWr,GWr,dle,ple,ac,j$=Oe(()=>{"use strict";avt=Ve(dL(),1);p_();cyt();obe();mbe();_yt();tvt();nvt();$$();wWr="start_session",IWr="new_prompt",TWr="tool_call",xWr="api_request",BWr="api_response",RWr="api_error",NWr="end_session",OWr="flash_fallback",FWr="loop_detected",MWr="next_speaker_check",LWr="slash_command",PWr="malformed_json_response",QWr="ide_connection",kWr="kitty_sequence_overflow";HWr="https://telemetry.kodacode.ru/log",GWr=1e3*60,dle=1e3,ple=100,ac=class t{static instance;config;events;lastFlushTime=Date.now();flushing=!1;pendingFlush=!1;constructor(e){this.config=e,this.events=new Rbe.default(Array,dle)}static getInstance(e){if(!(e===void 0||!e?.getUsageStatisticsEnabled()))return t.instance||(t.instance=new t(e)),t.instance}static clearInstance(){t.instance=void 0}enqueueLogEvent(e){try{let r=this.events.size>=dle;r&&this.events.shift(),this.events.push([{event_time_ms:Date.now(),source_extension_json:Zoe(e)}]),r&&this.config?.getDebugMode()&&console.debug(`ClearcutLogger: Dropped old event to prevent memory leak (queue size: ${this.events.size})`)}catch(r){this.config?.getDebugMode()&&console.error("ClearcutLogger: Failed to enqueue log event.",r)}}createLogEvent(e,r){let n=ile();r=VWr(r);let i={console_type:"KODA_CLI",application:102,event_name:e,event_metadata:[r]};return n?i.client_email=n:i.client_install_id=Cyt(),i}flushIfNeeded(){Date.now()-this.lastFlushTime<GWr||this.flushToClearcut().catch(e=>{console.debug("Error flushing telemetry events:",e)})}async flushToClearcut(){if(this.flushing){this.config?.getDebugMode()&&console.debug("ClearcutLogger: Flush already in progress, marking pending flush."),this.pendingFlush=!0;return}this.flushing=!0,this.config?.getDebugMode()&&console.log("Flushing log events to telemetry endpoint.");let e=this.events.toArray();if(this.events.clear(),e.length===0){this.flushing=!1;return}let r=[],n=0,i;try{i=this.getProxyAgent()}catch(s){this.config?.getDebugMode()&&console.error("ClearcutLogger: Invalid proxy configuration.",s),i=void 0}let a=`koda-cli/${q$}`;for(let s of e)for(let o of s){let l;try{let u=JSON.parse(o.source_extension_json);l=qWr(o,u,this.config)}catch(u){this.config?.getDebugMode()&&console.error("ClearcutLogger: Failed to parse log event.",u),r.push([o]);continue}if(!l){r.push([o]);continue}try{let u=await fetch(HWr,{method:"POST",body:JSON.stringify(l),headers:{"Content-Type":"application/json","User-Agent":a},...i?{agent:i}:{}});if(!u.ok){this.config?.getDebugMode()&&console.error(`Error flushing log event: HTTP ${u.status}: ${u.statusText}`),r.push([o]);continue}n++}catch(u){this.config?.getDebugMode()&&console.error("Error flushing log event:",u),r.push([o])}}r.length>0?this.requeueFailedEvents(r):n>0&&(this.lastFlushTime=Date.now()),this.flushing=!1,this.pendingFlush&&(this.pendingFlush=!1,this.flushToClearcut().catch(s=>{this.config?.getDebugMode()&&console.debug("Error in pending flush to telemetry endpoint:",s)}))}logStartSessionEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_START_SESSION_MODEL,value:e.model},{koda_cli_key:Or.KODA_CLI_SESSION_ID,value:this.config?.getSessionId()??""},{koda_cli_key:Or.KODA_CLI_START_SESSION_EMBEDDING_MODEL,value:e.embedding_model},{koda_cli_key:Or.KODA_CLI_START_SESSION_SANDBOX,value:e.sandbox_enabled.toString()},{koda_cli_key:Or.KODA_CLI_START_SESSION_CORE_TOOLS,value:e.core_tools_enabled},{koda_cli_key:Or.KODA_CLI_START_SESSION_APPROVAL_MODE,value:e.approval_mode},{koda_cli_key:Or.KODA_CLI_START_SESSION_API_KEY_ENABLED,value:e.api_key_enabled.toString()},{koda_cli_key:Or.KODA_CLI_START_SESSION_VERTEX_API_ENABLED,value:e.vertex_ai_enabled.toString()},{koda_cli_key:Or.KODA_CLI_START_SESSION_DEBUG_MODE_ENABLED,value:e.debug_enabled.toString()},{koda_cli_key:Or.KODA_CLI_START_SESSION_VERTEX_API_ENABLED,value:e.vertex_ai_enabled.toString()},{koda_cli_key:Or.KODA_CLI_START_SESSION_MCP_SERVERS,value:e.mcp_servers},{koda_cli_key:Or.KODA_CLI_START_SESSION_VERTEX_API_ENABLED,value:e.vertex_ai_enabled.toString()},{koda_cli_key:Or.KODA_CLI_START_SESSION_TELEMETRY_ENABLED,value:e.telemetry_enabled.toString()},{koda_cli_key:Or.KODA_CLI_START_SESSION_TELEMETRY_LOG_USER_PROMPTS_ENABLED,value:e.telemetry_log_user_prompts_enabled.toString()},{koda_cli_key:Or.KODA_CLI_VERSION,value:q$},{koda_cli_key:Or.KODA_CLI_GIT_COMMIT_HASH,value:rvt}];this.enqueueLogEvent(this.createLogEvent(wWr,r)),this.flushToClearcut().catch(n=>{console.debug("Error flushing telemetry events:",n)})}logNewPromptEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_USER_PROMPT_LENGTH,value:JSON.stringify(e.prompt_length)},{koda_cli_key:Or.KODA_CLI_SESSION_ID,value:this.config?.getSessionId()??""},{koda_cli_key:Or.KODA_CLI_PROMPT_ID,value:JSON.stringify(e.prompt_id)},{koda_cli_key:Or.KODA_CLI_AUTH_TYPE,value:JSON.stringify(e.auth_type)}];this.enqueueLogEvent(this.createLogEvent(IWr,r)),this.flushIfNeeded()}logToolCallEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_TOOL_CALL_NAME,value:JSON.stringify(e.function_name)},{koda_cli_key:Or.KODA_CLI_PROMPT_ID,value:JSON.stringify(e.prompt_id)},{koda_cli_key:Or.KODA_CLI_TOOL_CALL_DECISION,value:JSON.stringify(e.decision)},{koda_cli_key:Or.KODA_CLI_TOOL_CALL_SUCCESS,value:JSON.stringify(e.success)},{koda_cli_key:Or.KODA_CLI_TOOL_CALL_DURATION_MS,value:JSON.stringify(e.duration_ms)},{koda_cli_key:Or.KODA_CLI_TOOL_ERROR_MESSAGE,value:JSON.stringify(e.error)},{koda_cli_key:Or.KODA_CLI_TOOL_CALL_ERROR_TYPE,value:JSON.stringify(e.error_type)}];if(e.metadata){let i={ai_added_lines:Or.KODA_CLI_AI_ADDED_LINES,ai_removed_lines:Or.KODA_CLI_AI_REMOVED_LINES,user_added_lines:Or.KODA_CLI_USER_ADDED_LINES,user_removed_lines:Or.KODA_CLI_USER_REMOVED_LINES};for(let[a,s]of Object.entries(i))e.metadata[a]!==void 0&&r.push({koda_cli_key:s,value:JSON.stringify(e.metadata[a])})}let n=this.createLogEvent(TWr,r);this.enqueueLogEvent(n),this.flushIfNeeded()}logApiRequestEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_API_REQUEST_MODEL,value:JSON.stringify(e.model)},{koda_cli_key:Or.KODA_CLI_PROMPT_ID,value:JSON.stringify(e.prompt_id)}];this.enqueueLogEvent(this.createLogEvent(xWr,r)),this.flushIfNeeded()}logApiResponseEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_API_RESPONSE_MODEL,value:JSON.stringify(e.model)},{koda_cli_key:Or.KODA_CLI_PROMPT_ID,value:JSON.stringify(e.prompt_id)},{koda_cli_key:Or.KODA_CLI_API_RESPONSE_STATUS_CODE,value:JSON.stringify(e.status_code)},{koda_cli_key:Or.KODA_CLI_API_RESPONSE_DURATION_MS,value:JSON.stringify(e.duration_ms)},{koda_cli_key:Or.KODA_CLI_API_ERROR_MESSAGE,value:JSON.stringify(e.error)},{koda_cli_key:Or.KODA_CLI_API_RESPONSE_INPUT_TOKEN_COUNT,value:JSON.stringify(e.input_token_count)},{koda_cli_key:Or.KODA_CLI_API_RESPONSE_OUTPUT_TOKEN_COUNT,value:JSON.stringify(e.output_token_count)},{koda_cli_key:Or.KODA_CLI_API_RESPONSE_CACHED_TOKEN_COUNT,value:JSON.stringify(e.cached_content_token_count)},{koda_cli_key:Or.KODA_CLI_API_RESPONSE_THINKING_TOKEN_COUNT,value:JSON.stringify(e.thoughts_token_count)},{koda_cli_key:Or.KODA_CLI_API_RESPONSE_TOOL_TOKEN_COUNT,value:JSON.stringify(e.tool_token_count)},{koda_cli_key:Or.KODA_CLI_AUTH_TYPE,value:JSON.stringify(e.auth_type)}];this.enqueueLogEvent(this.createLogEvent(BWr,r)),this.flushIfNeeded()}logApiErrorEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_API_ERROR_MODEL,value:JSON.stringify(e.model)},{koda_cli_key:Or.KODA_CLI_PROMPT_ID,value:JSON.stringify(e.prompt_id)},{koda_cli_key:Or.KODA_CLI_API_ERROR_TYPE,value:JSON.stringify(e.error_type)},{koda_cli_key:Or.KODA_CLI_API_ERROR_STATUS_CODE,value:JSON.stringify(e.status_code)},{koda_cli_key:Or.KODA_CLI_API_ERROR_DURATION_MS,value:JSON.stringify(e.duration_ms)},{koda_cli_key:Or.KODA_CLI_AUTH_TYPE,value:JSON.stringify(e.auth_type)}];this.enqueueLogEvent(this.createLogEvent(RWr,r)),this.flushIfNeeded()}logFlashFallbackEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_AUTH_TYPE,value:JSON.stringify(e.auth_type)},{koda_cli_key:Or.KODA_CLI_SESSION_ID,value:this.config?.getSessionId()??""}];this.enqueueLogEvent(this.createLogEvent(OWr,r)),this.flushToClearcut().catch(n=>{console.debug("Error flushing to Clearcut:",n)})}logLoopDetectedEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_PROMPT_ID,value:JSON.stringify(e.prompt_id)},{koda_cli_key:Or.KODA_CLI_LOOP_DETECTED_TYPE,value:JSON.stringify(e.loop_type)}];this.enqueueLogEvent(this.createLogEvent(FWr,r)),this.flushIfNeeded()}logNextSpeakerCheck(e){let r=[{koda_cli_key:Or.KODA_CLI_PROMPT_ID,value:JSON.stringify(e.prompt_id)},{koda_cli_key:Or.KODA_CLI_RESPONSE_FINISH_REASON,value:JSON.stringify(e.finish_reason)},{koda_cli_key:Or.KODA_CLI_NEXT_SPEAKER_CHECK_RESULT,value:JSON.stringify(e.result)},{koda_cli_key:Or.KODA_CLI_SESSION_ID,value:this.config?.getSessionId()??""}];this.enqueueLogEvent(this.createLogEvent(MWr,r)),this.flushIfNeeded()}logSlashCommandEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_SLASH_COMMAND_NAME,value:JSON.stringify(e.command)}];e.subcommand&&r.push({koda_cli_key:Or.KODA_CLI_SLASH_COMMAND_SUBCOMMAND,value:JSON.stringify(e.subcommand)}),e.status&&r.push({koda_cli_key:Or.KODA_CLI_SLASH_COMMAND_STATUS,value:JSON.stringify(e.status)}),this.enqueueLogEvent(this.createLogEvent(LWr,r)),this.flushIfNeeded()}logMalformedJsonResponseEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_MALFORMED_JSON_RESPONSE_MODEL,value:JSON.stringify(e.model)}];this.enqueueLogEvent(this.createLogEvent(PWr,r)),this.flushIfNeeded()}logIdeConnectionEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_IDE_CONNECTION_TYPE,value:JSON.stringify(e.connection_type)}];this.enqueueLogEvent(this.createLogEvent(QWr,r)),this.flushIfNeeded()}logKittySequenceOverflowEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_KITTY_SEQUENCE_LENGTH,value:e.sequence_length.toString()},{koda_cli_key:Or.KODA_CLI_KITTY_TRUNCATED_SEQUENCE,value:e.truncated_sequence}];this.enqueueLogEvent(this.createLogEvent(kWr,r)),this.flushIfNeeded()}logEndSessionEvent(e){let r=[{koda_cli_key:Or.KODA_CLI_SESSION_ID,value:e?.session_id?.toString()??""}];this.enqueueLogEvent(this.createLogEvent(NWr,r)),this.flushToClearcut().catch(n=>{console.debug("Error flushing to Clearcut:",n)})}getProxyAgent(){let e=this.config?.getProxy();if(e){if(e.startsWith("http"))return new avt.HttpsProxyAgent(e);throw new Error("Unsupported proxy type")}}shutdown(){let e=new WO(this.config);this.logEndSessionEvent(e)}requeueFailedEvents(e){let r=e.slice(-ple);e.length>ple&&this.config?.getDebugMode()&&console.warn(`ClearcutLogger: Dropping ${e.length-ple} events due to retry queue limit. Total events: ${e.length}, keeping: ${ple}`);let n=dle-this.events.size,i=Math.min(r.length,n);if(i===0){this.config?.getDebugMode()&&console.debug(`ClearcutLogger: No events re-queued (queue size: ${this.events.size})`);return}let a=r.slice(r.length-i);for(let s=a.length-1;s>=0;s--)this.events.unshift(a[s]);for(;this.events.size>dle;)this.events.pop();this.config?.getDebugMode()&&console.debug(`ClearcutLogger: Re-queued ${i} events for retry (queue size: ${this.events.size})`)}}});import*as svt from"node:fs";var ST,ovt,Y$,fle,mle,hle,lvt=Oe(()=>{"use strict";ST=Ve(Dn(),1),ovt=Ve(YI(),1);Y$=class{writeStream;constructor(e){this.writeStream=svt.createWriteStream(e,{flags:"a"})}serialize(e){return JSON.stringify(e,null,2)+`
338
338
  `}shutdown(){return new Promise(e=>{this.writeStream.end(e)})}},fle=class extends Y${export(e,r){let n=e.map(i=>this.serialize(i)).join("");this.writeStream.write(n,i=>{r({code:i?ST.ExportResultCode.FAILED:ST.ExportResultCode.SUCCESS,error:i||void 0})})}},mle=class extends Y${export(e,r){let n=e.map(i=>this.serialize(i)).join("");this.writeStream.write(n,i=>{r({code:i?ST.ExportResultCode.FAILED:ST.ExportResultCode.SUCCESS,error:i||void 0})})}},hle=class extends Y${export(e,r){let n=this.serialize(e);this.writeStream.write(n,i=>{r({code:i?ST.ExportResultCode.FAILED:ST.ExportResultCode.SUCCESS,error:i||void 0})})}getPreferredAggregationTemporality(){return ovt.AggregationTemporality.CUMULATIVE}async forceFlush(){return Promise.resolve()}}});function tf(){return W$}function JWr(t){if(!t)return;let e=t.replace(/^["']|["']$/g,"");try{return new URL(e).origin}catch(r){dF.error("Invalid OTLP endpoint URL provided:",e,r);return}}function vle(t){if(W$||!t.getTelemetryEnabled())return;let e=new fvt.Resource({[Nbe.SemanticResourceAttributes.SERVICE_NAME]:W1,[Nbe.SemanticResourceAttributes.SERVICE_VERSION]:process.version,"session.id":t.getSessionId()}),r=t.getTelemetryOtlpEndpoint(),n=JWr(r),i=!!n,a=t.getTelemetryOutfile(),s=i?new uvt.OTLPTraceExporter({url:n,compression:Ale.CompressionAlgorithm.GZIP}):a?new fle(a):new Ele.ConsoleSpanExporter,o=i?new cvt.OTLPLogExporter({url:n,compression:Ale.CompressionAlgorithm.GZIP}):a?new mle(a):new yle.ConsoleLogRecordExporter,l=i?new fL.PeriodicExportingMetricReader({exporter:new dvt.OTLPMetricExporter({url:n,compression:Ale.CompressionAlgorithm.GZIP}),exportIntervalMillis:1e4}):a?new fL.PeriodicExportingMetricReader({exporter:new hle(a),exportIntervalMillis:1e4}):new fL.PeriodicExportingMetricReader({exporter:new fL.ConsoleMetricExporter,exportIntervalMillis:1e4});gle=new pvt.NodeSDK({resource:e,spanProcessors:[new Ele.BatchSpanProcessor(s)],logRecordProcessor:new yle.BatchLogRecordProcessor(o),metricReader:l,instrumentations:[new mvt.HttpInstrumentation]});try{gle.start(),t.getDebugMode()&&console.log("OpenTelemetry SDK started successfully."),W$=!0,Ect(t)}catch(u){console.error("Error starting OpenTelemetry SDK:",u)}process.on("SIGTERM",()=>{mL(t)}),process.on("SIGINT",()=>{mL(t)})}async function mL(t){if(!(!W$||!gle))try{ac.getInstance()?.shutdown(),await gle.shutdown(),t.getDebugMode()&&console.log("OpenTelemetry SDK shut down successfully.")}catch(e){console.error("Error shutting down SDK:",e)}finally{W$=!1}}var uvt,cvt,dvt,Ale,pvt,Nbe,fvt,Ele,yle,fL,mvt,gle,W$,Obe=Oe(()=>{"use strict";Er();uvt=Ve(t_e(),1),cvt=Ve(GAt(),1),dvt=Ve(XAt(),1),Ale=Ve(Yy(),1),pvt=Ve(K8t(),1),Nbe=Ve(Y1(),1),fvt=Ve(H_(),1),Ele=Ve(l$(),1),yle=Ve(zae(),1),fL=Ve(YI(),1),mvt=Ve(K5t(),1);cV();fF();j$();lvt();dF.setLogger(new rte,up.INFO);W$=!1});import{EventEmitter as XWr}from"events";var ZWr,ezr,Cle,kA,Fbe=Oe(()=>{"use strict";cV();Yee();ZWr=()=>({api:{totalRequests:0,totalErrors:0,totalLatencyMs:0},tokens:{prompt:0,candidates:0,total:0,cached:0,thoughts:0,tool:0}}),ezr=()=>({models:{},tools:{totalCalls:0,totalSuccess:0,totalFail:0,totalDurationMs:0,totalDecisions:{[j1.ACCEPT]:0,[j1.REJECT]:0,[j1.MODIFY]:0,[j1.AUTO_ACCEPT]:0},byName:{}}}),Cle=class extends XWr{#e=ezr();#t=0;addEvent(e){switch(e["event.name"]){case uV:this.processApiResponse(e);break;case lV:this.processApiError(e);break;case oV:this.processToolCall(e);break;default:return}this.emit("update",{metrics:this.#e,lastPromptTokenCount:this.#t})}getMetrics(){return this.#e}getLastPromptTokenCount(){return this.#t}resetLastPromptTokenCount(){this.#t=0,this.emit("update",{metrics:this.#e,lastPromptTokenCount:this.#t})}getOrCreateModelMetrics(e){return this.#e.models[e]||(this.#e.models[e]=ZWr()),this.#e.models[e]}processApiResponse(e){let r=this.getOrCreateModelMetrics(e.model);r.api.totalRequests++,r.api.totalLatencyMs+=e.duration_ms,r.tokens.prompt+=e.input_token_count,r.tokens.candidates+=e.output_token_count,r.tokens.total+=e.total_token_count,r.tokens.cached+=e.cached_content_token_count,r.tokens.thoughts+=e.thoughts_token_count,r.tokens.tool+=e.tool_token_count,this.#t=e.input_token_count}processApiError(e){let r=this.getOrCreateModelMetrics(e.model);r.api.totalRequests++,r.api.totalErrors++,r.api.totalLatencyMs+=e.duration_ms}processToolCall(e){let{tools:r}=this.#e;r.totalCalls++,r.totalDurationMs+=e.duration_ms,e.success?r.totalSuccess++:r.totalFail++,r.byName[e.function_name]||(r.byName[e.function_name]={count:0,success:0,fail:0,durationMs:0,decisions:{[j1.ACCEPT]:0,[j1.REJECT]:0,[j1.MODIFY]:0,[j1.AUTO_ACCEPT]:0}});let n=r.byName[e.function_name];n.count++,n.durationMs+=e.duration_ms,e.success?n.success++:n.fail++,e.decision&&(r.totalDecisions[e.decision]++,n.decisions[e.decision]++)}},kA=new Cle});function Hg(t){return{"session.id":t.getSessionId()}}function hvt(t,e){if(ac.getInstance(t)?.logStartSessionEvent(e),!tf())return;let r={...Hg(t),"event.name":eut,"event.timestamp":new Date().toISOString(),model:e.model,embedding_model:e.embedding_model,sandbox_enabled:e.sandbox_enabled,core_tools_enabled:e.core_tools_enabled,approval_mode:e.approval_mode,api_key_enabled:e.api_key_enabled,vertex_ai_enabled:e.vertex_ai_enabled,log_user_prompts_enabled:e.telemetry_log_user_prompts_enabled,file_filtering_respect_git_ignore:e.file_filtering_respect_git_ignore,debug_mode:e.debug_enabled,mcp_servers:e.mcp_servers},n=UA.logs.getLogger(W1),i={body:"CLI configuration loaded.",attributes:r};n.emit(i)}function hL(t,e){if(ac.getInstance(t)?.logNewPromptEvent(e),!tf())return;let r={...Hg(t),"event.name":Xlt,"event.timestamp":new Date().toISOString(),prompt_length:e.prompt_length};tzr(t)&&(r.prompt=e.prompt);let n=UA.logs.getLogger(W1),i={body:`User prompt. Length: ${e.prompt_length}.`,attributes:r};n.emit(i)}function cE(t,e){let r={...e,"event.name":oV,"event.timestamp":new Date().toISOString()};if(kA.addEvent(r),ac.getInstance(t)?.logToolCallEvent(e),!tf())return;let n={...Hg(t),...e,"event.name":oV,"event.timestamp":new Date().toISOString(),function_args:Zoe(e.function_args,2)};e.error&&(n["error.message"]=e.error,e.error_type&&(n["error.type"]=e.error_type));let i=UA.logs.getLogger(W1),a={body:`Tool call: ${e.function_name}${e.decision?`. Decision: ${e.decision}`:""}. Success: ${e.success}. Duration: ${e.duration_ms}ms.`,attributes:n};i.emit(a),yct(t,e.function_name,e.duration_ms,e.success,e.decision)}function _le(t,e){if(ac.getInstance(t)?.logApiRequestEvent(e),!tf())return;let r={...Hg(t),...e,"event.name":Zlt,"event.timestamp":new Date().toISOString()},n=UA.logs.getLogger(W1),i={body:`API request to ${e.model}.`,attributes:r};n.emit(i)}function Dle(t,e){if(ac.getInstance(t)?.logFlashFallbackEvent(e),!tf())return;let r={...Hg(t),...e,"event.name":tut,"event.timestamp":new Date().toISOString()},n=UA.logs.getLogger(W1),i={body:"Switching to flash as Fallback.",attributes:r};n.emit(i)}function Sle(t,e){let r={...e,"event.name":lV,"event.timestamp":new Date().toISOString()};if(kA.addEvent(r),ac.getInstance(t)?.logApiErrorEvent(e),!tf())return;let n={...Hg(t),...e,"event.name":lV,"event.timestamp":new Date().toISOString(),"error.message":e.error,model_name:e.model,duration:e.duration_ms};e.error_type&&(n["error.type"]=e.error_type),typeof e.status_code=="number"&&(n[Mbe.SemanticAttributes.HTTP_STATUS_CODE]=e.status_code);let i=UA.logs.getLogger(W1),a={body:`API error for ${e.model}. Error: ${e.error}. Duration: ${e.duration_ms}ms.`,attributes:n};i.emit(a),Cct(t,e.model,e.duration_ms,e.status_code,e.error_type)}function ble(t,e){let r={...e,"event.name":uV,"event.timestamp":new Date().toISOString()};if(kA.addEvent(r),ac.getInstance(t)?.logApiResponseEvent(e),!tf())return;let n={...Hg(t),...e,"event.name":uV,"event.timestamp":new Date().toISOString()};e.response_text&&(n.response_text=e.response_text),e.error?n["error.message"]=e.error:e.status_code&&typeof e.status_code=="number"&&(n[Mbe.SemanticAttributes.HTTP_STATUS_CODE]=e.status_code);let i=UA.logs.getLogger(W1),a={body:`API response from ${e.model}. Status: ${e.status_code||"N/A"}. Duration: ${e.duration_ms}ms.`,attributes:n};i.emit(a),vct(t,e.model,e.duration_ms,e.status_code,e.error),pF(t,e.model,e.input_token_count,"input"),pF(t,e.model,e.output_token_count,"output"),pF(t,e.model,e.cached_content_token_count,"cache"),pF(t,e.model,e.thoughts_token_count,"thought"),pF(t,e.model,e.tool_token_count,"tool")}function wle(t,e){if(ac.getInstance(t)?.logLoopDetectedEvent(e),!tf())return;let r={...Hg(t),...e},n=UA.logs.getLogger(W1),i={body:`Loop detected. Type: ${e.loop_type}.`,attributes:r};n.emit(i)}function Avt(t,e){if(ac.getInstance(t)?.logNextSpeakerCheck(e),!tf())return;let r={...Hg(t),...e,"event.name":rut},n=UA.logs.getLogger(W1),i={body:"Next speaker check.",attributes:r};n.emit(i)}function z$(t,e){if(ac.getInstance(t)?.logSlashCommandEvent(e),!tf())return;let r={...Hg(t),...e,"event.name":nut},n=UA.logs.getLogger(W1),i={body:`Slash command: ${e.command}.`,attributes:r};n.emit(i)}function AL(t,e){if(ac.getInstance(t)?.logIdeConnectionEvent(e),!tf())return;let r={...Hg(t),...e,"event.name":iut},n=UA.logs.getLogger(W1),i={body:`Ide connection. Type: ${e.connection_type}.`,attributes:r};n.emit(i)}function Ile(t,e){if(ac.getInstance(t)?.logKittySequenceOverflowEvent(e),!tf())return;let r={...Hg(t),...e},n=UA.logs.getLogger(W1),i={body:`Kitty sequence buffer overflow: ${e.sequence_length} bytes`,attributes:r};n.emit(i)}var UA,Mbe,tzr,bT=Oe(()=>{"use strict";UA=Ve(sF(),1),Mbe=Ve(Y1(),1);cV();fF();Obe();Fbe();j$();obe();tzr=t=>t.getTelemetryLogPromptsEnabled()});var wT=T((Ogi,Svt)=>{"use strict";var Tle=Object.prototype.hasOwnProperty,Dvt=Object.prototype.toString,gvt=Object.defineProperty,Evt=Object.getOwnPropertyDescriptor,yvt=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Dvt.call(e)==="[object Array]"},vvt=function(e){if(!e||Dvt.call(e)!=="[object Object]")return!1;var r=Tle.call(e,"constructor"),n=e.constructor&&e.constructor.prototype&&Tle.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!n)return!1;var i;for(i in e);return typeof i>"u"||Tle.call(e,i)},Cvt=function(e,r){gvt&&r.name==="__proto__"?gvt(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},_vt=function(e,r){if(r==="__proto__")if(Tle.call(e,r)){if(Evt)return Evt(e,r).value}else return;return e[r]};Svt.exports=function t(){var e,r,n,i,a,s,o=arguments[0],l=1,u=arguments.length,c=!1;for(typeof o=="boolean"&&(c=o,o=arguments[1]||{},l=2),(o==null||typeof o!="object"&&typeof o!="function")&&(o={});l<u;++l)if(e=arguments[l],e!=null)for(r in e)n=_vt(o,r),i=_vt(e,r),o!==i&&(c&&i&&(vvt(i)||(a=yvt(i)))?(a?(a=!1,s=n&&yvt(n)?n:[]):s=n&&vvt(n)?n:{},Cvt(o,{name:r,newValue:t(c,s,i)})):typeof i<"u"&&Cvt(o,{name:r,newValue:i}));return o}});var Ivt=T((Fgi,wvt)=>{"use strict";var sc={};wvt.exports=sc;function bvt(t){return t<0?-1:1}function rzr(t){return t%1===.5&&(t&1)===0?Math.floor(t):Math.round(t)}function rD(t,e){e.unsigned||--t;let r=e.unsigned?0:-Math.pow(2,t),n=Math.pow(2,t)-1,i=e.moduloBitLength?Math.pow(2,e.moduloBitLength):Math.pow(2,t),a=e.moduloBitLength?Math.pow(2,e.moduloBitLength-1):Math.pow(2,t-1);return function(s,o){o||(o={});let l=+s;if(o.enforceRange){if(!Number.isFinite(l))throw new TypeError("Argument is not a finite number");if(l=bvt(l)*Math.floor(Math.abs(l)),l<r||l>n)throw new TypeError("Argument is not in byte range");return l}if(!isNaN(l)&&o.clamp)return l=rzr(l),l<r&&(l=r),l>n&&(l=n),l;if(!Number.isFinite(l)||l===0)return 0;if(l=bvt(l)*Math.floor(Math.abs(l)),l=l%i,!e.unsigned&&l>=a)return l-i;if(e.unsigned){if(l<0)l+=i;else if(l===-0)return 0}return l}}sc.void=function(){};sc.boolean=function(t){return!!t};sc.byte=rD(8,{unsigned:!1});sc.octet=rD(8,{unsigned:!0});sc.short=rD(16,{unsigned:!1});sc["unsigned short"]=rD(16,{unsigned:!0});sc.long=rD(32,{unsigned:!1});sc["unsigned long"]=rD(32,{unsigned:!0});sc["long long"]=rD(32,{unsigned:!1,moduloBitLength:64});sc["unsigned long long"]=rD(32,{unsigned:!0,moduloBitLength:64});sc.double=function(t){let e=+t;if(!Number.isFinite(e))throw new TypeError("Argument is not a finite floating-point value");return e};sc["unrestricted double"]=function(t){let e=+t;if(isNaN(e))throw new TypeError("Argument is NaN");return e};sc.float=sc.double;sc["unrestricted float"]=sc["unrestricted double"];sc.DOMString=function(t,e){return e||(e={}),e.treatNullAsEmptyString&&t===null?"":String(t)};sc.ByteString=function(t,e){let r=String(t),n;for(let i=0;(n=r.codePointAt(i))!==void 0;++i)if(n>255)throw new TypeError("Argument is not a valid bytestring");return r};sc.USVString=function(t){let e=String(t),r=e.length,n=[];for(let i=0;i<r;++i){let a=e.charCodeAt(i);if(a<55296||a>57343)n.push(String.fromCodePoint(a));else if(56320<=a&&a<=57343)n.push(String.fromCodePoint(65533));else if(i===r-1)n.push(String.fromCodePoint(65533));else{let s=e.charCodeAt(i+1);if(56320<=s&&s<=57343){let o=a&1023,l=s&1023;n.push(String.fromCodePoint(65536+1024*o+l)),++i}else n.push(String.fromCodePoint(65533))}}return n.join("")};sc.Date=function(t,e){if(!(t instanceof Date))throw new TypeError("Argument is not a Date object");if(!isNaN(t))return t};sc.RegExp=function(t,e){return t instanceof RegExp||(t=new RegExp(t)),t}});var Tvt=T((Mgi,nD)=>{"use strict";nD.exports.mixin=function(e,r){let n=Object.getOwnPropertyNames(r);for(let i=0;i<n.length;++i)Object.defineProperty(e,n[i],Object.getOwnPropertyDescriptor(r,n[i]))};nD.exports.wrapperSymbol=Symbol("wrapper");nD.exports.implSymbol=Symbol("impl");nD.exports.wrapperForImpl=function(t){return t[nD.exports.wrapperSymbol]};nD.exports.implForWrapper=function(t){return t[nD.exports.implSymbol]}});var xvt=T((Lgi,nzr)=>{nzr.exports=[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1e3,1e3],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6e3],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8e3,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8e3]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9e3],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[3e4]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13e3,13e3],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43e3,43e3],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64e3,64e3],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66e3,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[12e4,12e4],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128e3,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23e3]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149e3]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32e3]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195e3,195e3],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[4e4]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918e3,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]});var Mvt=T((Pgi,Ble)=>{"use strict";var Rvt=Ie("punycode"),Bvt=xvt(),gL={TRANSITIONAL:0,NONTRANSITIONAL:1};function Nvt(t){return t.split("\0").map(function(e){return e.normalize("NFC")}).join("\0")}function Ovt(t){for(var e=0,r=Bvt.length-1;e<=r;){var n=Math.floor((e+r)/2),i=Bvt[n];if(i[0][0]<=t&&i[0][1]>=t)return i;i[0][0]>t?r=n-1:e=n+1}return null}var izr=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function Fvt(t){return t.replace(izr,"_").length}function azr(t,e,r){for(var n=!1,i="",a=Fvt(t),s=0;s<a;++s){var o=t.codePointAt(s),l=Ovt(o);switch(l[1]){case"disallowed":n=!0,i+=String.fromCodePoint(o);break;case"ignored":break;case"mapped":i+=String.fromCodePoint.apply(String,l[2]);break;case"deviation":r===gL.TRANSITIONAL?i+=String.fromCodePoint.apply(String,l[2]):i+=String.fromCodePoint(o);break;case"valid":i+=String.fromCodePoint(o);break;case"disallowed_STD3_mapped":e?(n=!0,i+=String.fromCodePoint(o)):i+=String.fromCodePoint.apply(String,l[2]);break;case"disallowed_STD3_valid":e&&(n=!0),i+=String.fromCodePoint(o);break}}return{string:i,error:n}}var szr=/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/;function ozr(t,e){t.substr(0,4)==="xn--"&&(t=Rvt.toUnicode(t),e=gL.NONTRANSITIONAL);var r=!1;(Nvt(t)!==t||t[3]==="-"&&t[4]==="-"||t[0]==="-"||t[t.length-1]==="-"||t.indexOf(".")!==-1||t.search(szr)===0)&&(r=!0);for(var n=Fvt(t),i=0;i<n;++i){var a=Ovt(t.codePointAt(i));if(xle===gL.TRANSITIONAL&&a[1]!=="valid"||xle===gL.NONTRANSITIONAL&&a[1]!=="valid"&&a[1]!=="deviation"){r=!0;break}}return{label:t,error:r}}function xle(t,e,r){var n=azr(t,e,r);n.string=Nvt(n.string);for(var i=n.string.split("."),a=0;a<i.length;++a)try{var s=ozr(i[a]);i[a]=s.label,n.error=n.error||s.error}catch{n.error=!0}return{string:i.join("."),error:n.error}}Ble.exports.toASCII=function(t,e,r,n){var i=xle(t,e,r),a=i.string.split(".");if(a=a.map(function(l){try{return Rvt.toASCII(l)}catch{return i.error=!0,l}}),n){var s=a.slice(0,a.length-1).join(".").length;(s.length>253||s.length===0)&&(i.error=!0);for(var o=0;o<a.length;++o)if(a.length>63||a.length===0){i.error=!0;break}}return i.error?null:a.join(".")};Ble.exports.toUnicode=function(t,e){var r=xle(t,e,gL.NONTRANSITIONAL);return{domain:r.string,error:r.error}};Ble.exports.PROCESSING_OPTIONS=gL});var i9=T((Qgi,HA)=>{"use strict";var EL=Ie("punycode"),Lvt=Mvt(),Uvt={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443},Pa=Symbol("failure");function Pvt(t){return EL.ucs2.decode(t).length}function Qvt(t,e){let r=t[e];return isNaN(r)?void 0:String.fromCodePoint(r)}function K$(t){return t>=48&&t<=57}function J$(t){return t>=65&&t<=90||t>=97&&t<=122}function lzr(t){return J$(t)||K$(t)}function dE(t){return K$(t)||t>=65&&t<=70||t>=97&&t<=102}function kvt(t){return t==="."||t.toLowerCase()==="%2e"}function uzr(t){return t=t.toLowerCase(),t===".."||t==="%2e."||t===".%2e"||t==="%2e%2e"}function czr(t,e){return J$(t)&&(e===58||e===124)}function Hvt(t){return t.length===2&&J$(t.codePointAt(0))&&(t[1]===":"||t[1]==="|")}function dzr(t){return t.length===2&&J$(t.codePointAt(0))&&t[1]===":"}function pzr(t){return t.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function fzr(t){return t.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function Lbe(t){return Uvt[t]!==void 0}function fp(t){return Lbe(t.scheme)}function mzr(t){return Uvt[t]}function Gvt(t){let e=t.toString(16).toUpperCase();return e.length===1&&(e="0"+e),"%"+e}function hzr(t){let e=new Buffer(t),r="";for(let n=0;n<e.length;++n)r+=Gvt(e[n]);return r}function Azr(t){let e=new Buffer(t),r=[];for(let n=0;n<e.length;++n)e[n]!==37?r.push(e[n]):e[n]===37&&dE(e[n+1])&&dE(e[n+2])?(r.push(parseInt(e.slice(n+1,n+3).toString(),16)),n+=2):r.push(e[n]);return new Buffer(r).toString()}function Rle(t){return t<=31||t>126}var gzr=new Set([32,34,35,60,62,63,96,123,125]);function Vvt(t){return Rle(t)||gzr.has(t)}var Ezr=new Set([47,58,59,61,64,91,92,93,94,124]);function Qbe(t){return Vvt(t)||Ezr.has(t)}function IT(t,e){let r=String.fromCodePoint(t);return e(t)?hzr(r):r}function yzr(t){let e=10;return t.length>=2&&t.charAt(0)==="0"&&t.charAt(1).toLowerCase()==="x"?(t=t.substring(2),e=16):t.length>=2&&t.charAt(0)==="0"&&(t=t.substring(1),e=8),t===""?0:(e===10?/[^0-9]/:e===16?/[^0-9A-Fa-f]/:/[^0-7]/).test(t)?Pa:parseInt(t,e)}function vzr(t){let e=t.split(".");if(e[e.length-1]===""&&e.length>1&&e.pop(),e.length>4)return t;let r=[];for(let a of e){if(a==="")return t;let s=yzr(a);if(s===Pa)return t;r.push(s)}for(let a=0;a<r.length-1;++a)if(r[a]>255)return Pa;if(r[r.length-1]>=Math.pow(256,5-r.length))return Pa;let n=r.pop(),i=0;for(let a of r)n+=a*Math.pow(256,3-i),++i;return n}function Czr(t){let e="",r=t;for(let n=1;n<=4;++n)e=String(r%256)+e,n!==4&&(e="."+e),r=Math.floor(r/256);return e}function _zr(t){let e=[0,0,0,0,0,0,0,0],r=0,n=null,i=0;if(t=EL.ucs2.decode(t),t[i]===58){if(t[i+1]!==58)return Pa;i+=2,++r,n=r}for(;i<t.length;){if(r===8)return Pa;if(t[i]===58){if(n!==null)return Pa;++i,++r,n=r;continue}let a=0,s=0;for(;s<4&&dE(t[i]);)a=a*16+parseInt(Qvt(t,i),16),++i,++s;if(t[i]===46){if(s===0||(i-=s,r>6))return Pa;let o=0;for(;t[i]!==void 0;){let l=null;if(o>0)if(t[i]===46&&o<4)++i;else return Pa;if(!K$(t[i]))return Pa;for(;K$(t[i]);){let u=parseInt(Qvt(t,i));if(l===null)l=u;else{if(l===0)return Pa;l=l*10+u}if(l>255)return Pa;++i}e[r]=e[r]*256+l,++o,(o===2||o===4)&&++r}if(o!==4)return Pa;break}else if(t[i]===58){if(++i,t[i]===void 0)return Pa}else if(t[i]!==void 0)return Pa;e[r]=a,++r}if(n!==null){let a=r-n;for(r=7;r!==0&&a>0;){let s=e[n+a-1];e[n+a-1]=e[r],e[r]=s,--r,--a}}else if(n===null&&r!==8)return Pa;return e}function Dzr(t){let e="",n=bzr(t).idx,i=!1;for(let a=0;a<=7;++a)if(!(i&&t[a]===0)){if(i&&(i=!1),n===a){e+=a===0?"::":":",i=!0;continue}e+=t[a].toString(16),a!==7&&(e+=":")}return e}function Pbe(t,e){if(t[0]==="[")return t[t.length-1]!=="]"?Pa:_zr(t.substring(1,t.length-1));if(!e)return Szr(t);let r=Azr(t),n=Lvt.toASCII(r,!1,Lvt.PROCESSING_OPTIONS.NONTRANSITIONAL,!1);if(n===null||pzr(n))return Pa;let i=vzr(n);return typeof i=="number"||i===Pa?i:n}function Szr(t){if(fzr(t))return Pa;let e="",r=EL.ucs2.decode(t);for(let n=0;n<r.length;++n)e+=IT(r[n],Rle);return e}function bzr(t){let e=null,r=1,n=null,i=0;for(let a=0;a<t.length;++a)t[a]!==0?(i>r&&(e=n,r=i),n=null,i=0):(n===null&&(n=a),++i);return i>r&&(e=n,r=i),{idx:e,len:r}}function kbe(t){return typeof t=="number"?Czr(t):t instanceof Array?"["+Dzr(t)+"]":t}function wzr(t){return t.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function Izr(t){return t.replace(/\u0009|\u000A|\u000D/g,"")}function qvt(t){let e=t.path;e.length!==0&&(t.scheme==="file"&&e.length===1&&xzr(e[0])||e.pop())}function $vt(t){return t.username!==""||t.password!==""}function Tzr(t){return t.host===null||t.host===""||t.cannotBeABaseURL||t.scheme==="file"}function xzr(t){return/^[A-Za-z]:$/.test(t)}function oc(t,e,r,n,i){if(this.pointer=0,this.input=t,this.base=e||null,this.encodingOverride=r||"utf-8",this.stateOverride=i,this.url=n,this.failure=!1,this.parseError=!1,!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:!1};let s=wzr(this.input);s!==this.input&&(this.parseError=!0),this.input=s}let a=Izr(this.input);for(a!==this.input&&(this.parseError=!0),this.input=a,this.state=i||"scheme start",this.buffer="",this.atFlag=!1,this.arrFlag=!1,this.passwordTokenSeenFlag=!1,this.input=EL.ucs2.decode(this.input);this.pointer<=this.input.length;++this.pointer){let s=this.input[this.pointer],o=isNaN(s)?void 0:String.fromCodePoint(s),l=this["parse "+this.state](s,o);if(l){if(l===Pa){this.failure=!0;break}}else break}}oc.prototype["parse scheme start"]=function(e,r){if(J$(e))this.buffer+=r.toLowerCase(),this.state="scheme";else if(!this.stateOverride)this.state="no scheme",--this.pointer;else return this.parseError=!0,Pa;return!0};oc.prototype["parse scheme"]=function(e,r){if(lzr(e)||e===43||e===45||e===46)this.buffer+=r.toLowerCase();else if(e===58){if(this.stateOverride&&(fp(this.url)&&!Lbe(this.buffer)||!fp(this.url)&&Lbe(this.buffer)||($vt(this.url)||this.url.port!==null)&&this.buffer==="file"||this.url.scheme==="file"&&(this.url.host===""||this.url.host===null))||(this.url.scheme=this.buffer,this.buffer="",this.stateOverride))return!1;this.url.scheme==="file"?((this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47)&&(this.parseError=!0),this.state="file"):fp(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme?this.state="special relative or authority":fp(this.url)?this.state="special authority slashes":this.input[this.pointer+1]===47?(this.state="path or authority",++this.pointer):(this.url.cannotBeABaseURL=!0,this.url.path.push(""),this.state="cannot-be-a-base-URL path")}else if(!this.stateOverride)this.buffer="",this.state="no scheme",this.pointer=-1;else return this.parseError=!0,Pa;return!0};oc.prototype["parse no scheme"]=function(e){return this.base===null||this.base.cannotBeABaseURL&&e!==35?Pa:(this.base.cannotBeABaseURL&&e===35?(this.url.scheme=this.base.scheme,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.url.cannotBeABaseURL=!0,this.state="fragment"):this.base.scheme==="file"?(this.state="file",--this.pointer):(this.state="relative",--this.pointer),!0)};oc.prototype["parse special relative or authority"]=function(e){return e===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="relative",--this.pointer),!0};oc.prototype["parse path or authority"]=function(e){return e===47?this.state="authority":(this.state="path",--this.pointer),!0};oc.prototype["parse relative"]=function(e){return this.url.scheme=this.base.scheme,isNaN(e)?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query):e===47?this.state="relative slash":e===63?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):e===35?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):fp(this.url)&&e===92?(this.parseError=!0,this.state="relative slash"):(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(0,this.base.path.length-1),this.state="path",--this.pointer),!0};oc.prototype["parse relative slash"]=function(e){return fp(this.url)&&(e===47||e===92)?(e===92&&(this.parseError=!0),this.state="special authority ignore slashes"):e===47?this.state="authority":(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.state="path",--this.pointer),!0};oc.prototype["parse special authority slashes"]=function(e){return e===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="special authority ignore slashes",--this.pointer),!0};oc.prototype["parse special authority ignore slashes"]=function(e){return e!==47&&e!==92?(this.state="authority",--this.pointer):this.parseError=!0,!0};oc.prototype["parse authority"]=function(e,r){if(e===64){this.parseError=!0,this.atFlag&&(this.buffer="%40"+this.buffer),this.atFlag=!0;let n=Pvt(this.buffer);for(let i=0;i<n;++i){let a=this.buffer.codePointAt(i);if(a===58&&!this.passwordTokenSeenFlag){this.passwordTokenSeenFlag=!0;continue}let s=IT(a,Qbe);this.passwordTokenSeenFlag?this.url.password+=s:this.url.username+=s}this.buffer=""}else if(isNaN(e)||e===47||e===63||e===35||fp(this.url)&&e===92){if(this.atFlag&&this.buffer==="")return this.parseError=!0,Pa;this.pointer-=Pvt(this.buffer)+1,this.buffer="",this.state="host"}else this.buffer+=r;return!0};oc.prototype["parse hostname"]=oc.prototype["parse host"]=function(e,r){if(this.stateOverride&&this.url.scheme==="file")--this.pointer,this.state="file host";else if(e===58&&!this.arrFlag){if(this.buffer==="")return this.parseError=!0,Pa;let n=Pbe(this.buffer,fp(this.url));if(n===Pa)return Pa;if(this.url.host=n,this.buffer="",this.state="port",this.stateOverride==="hostname")return!1}else if(isNaN(e)||e===47||e===63||e===35||fp(this.url)&&e===92){if(--this.pointer,fp(this.url)&&this.buffer==="")return this.parseError=!0,Pa;if(this.stateOverride&&this.buffer===""&&($vt(this.url)||this.url.port!==null))return this.parseError=!0,!1;let n=Pbe(this.buffer,fp(this.url));if(n===Pa)return Pa;if(this.url.host=n,this.buffer="",this.state="path start",this.stateOverride)return!1}else e===91?this.arrFlag=!0:e===93&&(this.arrFlag=!1),this.buffer+=r;return!0};oc.prototype["parse port"]=function(e,r){if(K$(e))this.buffer+=r;else if(isNaN(e)||e===47||e===63||e===35||fp(this.url)&&e===92||this.stateOverride){if(this.buffer!==""){let n=parseInt(this.buffer);if(n>Math.pow(2,16)-1)return this.parseError=!0,Pa;this.url.port=n===mzr(this.url.scheme)?null:n,this.buffer=""}if(this.stateOverride)return!1;this.state="path start",--this.pointer}else return this.parseError=!0,Pa;return!0};var Bzr=new Set([47,92,63,35]);oc.prototype["parse file"]=function(e){return this.url.scheme="file",e===47||e===92?(e===92&&(this.parseError=!0),this.state="file slash"):this.base!==null&&this.base.scheme==="file"?isNaN(e)?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query):e===63?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):e===35?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):(this.input.length-this.pointer-1===0||!czr(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!Bzr.has(this.input[this.pointer+2])?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),qvt(this.url)):this.parseError=!0,this.state="path",--this.pointer):(this.state="path",--this.pointer),!0};oc.prototype["parse file slash"]=function(e){return e===47||e===92?(e===92&&(this.parseError=!0),this.state="file host"):(this.base!==null&&this.base.scheme==="file"&&(dzr(this.base.path[0])?this.url.path.push(this.base.path[0]):this.url.host=this.base.host),this.state="path",--this.pointer),!0};oc.prototype["parse file host"]=function(e,r){if(isNaN(e)||e===47||e===92||e===63||e===35)if(--this.pointer,!this.stateOverride&&Hvt(this.buffer))this.parseError=!0,this.state="path";else if(this.buffer===""){if(this.url.host="",this.stateOverride)return!1;this.state="path start"}else{let n=Pbe(this.buffer,fp(this.url));if(n===Pa)return Pa;if(n==="localhost"&&(n=""),this.url.host=n,this.stateOverride)return!1;this.buffer="",this.state="path start"}else this.buffer+=r;return!0};oc.prototype["parse path start"]=function(e){return fp(this.url)?(e===92&&(this.parseError=!0),this.state="path",e!==47&&e!==92&&--this.pointer):!this.stateOverride&&e===63?(this.url.query="",this.state="query"):!this.stateOverride&&e===35?(this.url.fragment="",this.state="fragment"):e!==void 0&&(this.state="path",e!==47&&--this.pointer),!0};oc.prototype["parse path"]=function(e){if(isNaN(e)||e===47||fp(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(fp(this.url)&&e===92&&(this.parseError=!0),uzr(this.buffer)?(qvt(this.url),e!==47&&!(fp(this.url)&&e===92)&&this.url.path.push("")):kvt(this.buffer)&&e!==47&&!(fp(this.url)&&e===92)?this.url.path.push(""):kvt(this.buffer)||(this.url.scheme==="file"&&this.url.path.length===0&&Hvt(this.buffer)&&(this.url.host!==""&&this.url.host!==null&&(this.parseError=!0,this.url.host=""),this.buffer=this.buffer[0]+":"),this.url.path.push(this.buffer)),this.buffer="",this.url.scheme==="file"&&(e===void 0||e===63||e===35))for(;this.url.path.length>1&&this.url.path[0]==="";)this.parseError=!0,this.url.path.shift();e===63&&(this.url.query="",this.state="query"),e===35&&(this.url.fragment="",this.state="fragment")}else e===37&&(!dE(this.input[this.pointer+1])||!dE(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=IT(e,Vvt);return!0};oc.prototype["parse cannot-be-a-base-URL path"]=function(e){return e===63?(this.url.query="",this.state="query"):e===35?(this.url.fragment="",this.state="fragment"):(!isNaN(e)&&e!==37&&(this.parseError=!0),e===37&&(!dE(this.input[this.pointer+1])||!dE(this.input[this.pointer+2]))&&(this.parseError=!0),isNaN(e)||(this.url.path[0]=this.url.path[0]+IT(e,Rle))),!0};oc.prototype["parse query"]=function(e,r){if(isNaN(e)||!this.stateOverride&&e===35){(!fp(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss")&&(this.encodingOverride="utf-8");let n=new Buffer(this.buffer);for(let i=0;i<n.length;++i)n[i]<33||n[i]>126||n[i]===34||n[i]===35||n[i]===60||n[i]===62?this.url.query+=Gvt(n[i]):this.url.query+=String.fromCodePoint(n[i]);this.buffer="",e===35&&(this.url.fragment="",this.state="fragment")}else e===37&&(!dE(this.input[this.pointer+1])||!dE(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=r;return!0};oc.prototype["parse fragment"]=function(e){return isNaN(e)||(e===0?this.parseError=!0:(e===37&&(!dE(this.input[this.pointer+1])||!dE(this.input[this.pointer+2]))&&(this.parseError=!0),this.url.fragment+=IT(e,Rle))),!0};function Rzr(t,e){let r=t.scheme+":";if(t.host!==null?(r+="//",(t.username!==""||t.password!=="")&&(r+=t.username,t.password!==""&&(r+=":"+t.password),r+="@"),r+=kbe(t.host),t.port!==null&&(r+=":"+t.port)):t.host===null&&t.scheme==="file"&&(r+="//"),t.cannotBeABaseURL)r+=t.path[0];else for(let n of t.path)r+="/"+n;return t.query!==null&&(r+="?"+t.query),!e&&t.fragment!==null&&(r+="#"+t.fragment),r}function Nzr(t){let e=t.scheme+"://";return e+=kbe(t.host),t.port!==null&&(e+=":"+t.port),e}HA.exports.serializeURL=Rzr;HA.exports.serializeURLOrigin=function(t){switch(t.scheme){case"blob":try{return HA.exports.serializeURLOrigin(HA.exports.parseURL(t.path[0]))}catch{return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return Nzr({scheme:t.scheme,host:t.host,port:t.port});case"file":return"file://";default:return"null"}};HA.exports.basicURLParse=function(t,e){e===void 0&&(e={});let r=new oc(t,e.baseURL,e.encodingOverride,e.url,e.stateOverride);return r.failure?"failure":r.url};HA.exports.setTheUsername=function(t,e){t.username="";let r=EL.ucs2.decode(e);for(let n=0;n<r.length;++n)t.username+=IT(r[n],Qbe)};HA.exports.setThePassword=function(t,e){t.password="";let r=EL.ucs2.decode(e);for(let n=0;n<r.length;++n)t.password+=IT(r[n],Qbe)};HA.exports.serializeHost=kbe;HA.exports.cannotHaveAUsernamePasswordPort=Tzr;HA.exports.serializeInteger=function(t){return String(t)};HA.exports.parseURL=function(t,e){return e===void 0&&(e={}),HA.exports.basicURLParse(t,{baseURL:e.baseURL,encodingOverride:e.encodingOverride})}});var Yvt=T(jvt=>{"use strict";var lc=i9();jvt.implementation=class{constructor(e){let r=e[0],n=e[1],i=null;if(n!==void 0&&(i=lc.basicURLParse(n),i==="failure"))throw new TypeError("Invalid base URL");let a=lc.basicURLParse(r,{baseURL:i});if(a==="failure")throw new TypeError("Invalid URL");this._url=a}get href(){return lc.serializeURL(this._url)}set href(e){let r=lc.basicURLParse(e);if(r==="failure")throw new TypeError("Invalid URL");this._url=r}get origin(){return lc.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){lc.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){lc.cannotHaveAUsernamePasswordPort(this._url)||lc.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){lc.cannotHaveAUsernamePasswordPort(this._url)||lc.setThePassword(this._url,e)}get host(){let e=this._url;return e.host===null?"":e.port===null?lc.serializeHost(e.host):lc.serializeHost(e.host)+":"+lc.serializeInteger(e.port)}set host(e){this._url.cannotBeABaseURL||lc.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){return this._url.host===null?"":lc.serializeHost(this._url.host)}set hostname(e){this._url.cannotBeABaseURL||lc.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){return this._url.port===null?"":lc.serializeInteger(this._url.port)}set port(e){lc.cannotHaveAUsernamePasswordPort(this._url)||(e===""?this._url.port=null:lc.basicURLParse(e,{url:this._url,stateOverride:"port"}))}get pathname(){return this._url.cannotBeABaseURL?this._url.path[0]:this._url.path.length===0?"":"/"+this._url.path.join("/")}set pathname(e){this._url.cannotBeABaseURL||(this._url.path=[],lc.basicURLParse(e,{url:this._url,stateOverride:"path start"}))}get search(){return this._url.query===null||this._url.query===""?"":"?"+this._url.query}set search(e){let r=this._url;if(e===""){r.query=null;return}let n=e[0]==="?"?e.substring(1):e;r.query="",lc.basicURLParse(n,{url:r,stateOverride:"query"})}get hash(){return this._url.fragment===null||this._url.fragment===""?"":"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}let r=e[0]==="#"?e.substring(1):e;this._url.fragment="",lc.basicURLParse(r,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}});var Kvt=T((Hgi,X$)=>{"use strict";var Gg=Ivt(),zvt=Tvt(),Wvt=Yvt(),il=zvt.implSymbol;function e1(t){if(!this||this[il]||!(this instanceof e1))throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");let e=[];for(let r=0;r<arguments.length&&r<2;++r)e[r]=arguments[r];e[0]=Gg.USVString(e[0]),e[1]!==void 0&&(e[1]=Gg.USVString(e[1])),X$.exports.setup(this,e)}e1.prototype.toJSON=function(){if(!this||!X$.exports.is(this))throw new TypeError("Illegal invocation");let e=[];for(let r=0;r<arguments.length&&r<0;++r)e[r]=arguments[r];return this[il].toJSON.apply(this[il],e)};Object.defineProperty(e1.prototype,"href",{get(){return this[il].href},set(t){t=Gg.USVString(t),this[il].href=t},enumerable:!0,configurable:!0});e1.prototype.toString=function(){if(!this||!X$.exports.is(this))throw new TypeError("Illegal invocation");return this.href};Object.defineProperty(e1.prototype,"origin",{get(){return this[il].origin},enumerable:!0,configurable:!0});Object.defineProperty(e1.prototype,"protocol",{get(){return this[il].protocol},set(t){t=Gg.USVString(t),this[il].protocol=t},enumerable:!0,configurable:!0});Object.defineProperty(e1.prototype,"username",{get(){return this[il].username},set(t){t=Gg.USVString(t),this[il].username=t},enumerable:!0,configurable:!0});Object.defineProperty(e1.prototype,"password",{get(){return this[il].password},set(t){t=Gg.USVString(t),this[il].password=t},enumerable:!0,configurable:!0});Object.defineProperty(e1.prototype,"host",{get(){return this[il].host},set(t){t=Gg.USVString(t),this[il].host=t},enumerable:!0,configurable:!0});Object.defineProperty(e1.prototype,"hostname",{get(){return this[il].hostname},set(t){t=Gg.USVString(t),this[il].hostname=t},enumerable:!0,configurable:!0});Object.defineProperty(e1.prototype,"port",{get(){return this[il].port},set(t){t=Gg.USVString(t),this[il].port=t},enumerable:!0,configurable:!0});Object.defineProperty(e1.prototype,"pathname",{get(){return this[il].pathname},set(t){t=Gg.USVString(t),this[il].pathname=t},enumerable:!0,configurable:!0});Object.defineProperty(e1.prototype,"search",{get(){return this[il].search},set(t){t=Gg.USVString(t),this[il].search=t},enumerable:!0,configurable:!0});Object.defineProperty(e1.prototype,"hash",{get(){return this[il].hash},set(t){t=Gg.USVString(t),this[il].hash=t},enumerable:!0,configurable:!0});X$.exports={is(t){return!!t&&t[il]instanceof Wvt.implementation},create(t,e){let r=Object.create(e1.prototype);return this.setup(r,t,e),r},setup(t,e,r){r||(r={}),r.wrapper=t,t[il]=new Wvt.implementation(e,r),t[il][zvt.wrapperSymbol]=t},interface:e1,expose:{Window:{URL:e1},Worker:{URL:e1}}}});var Jvt=T(a9=>{"use strict";a9.URL=Kvt().interface;a9.serializeURL=i9().serializeURL;a9.serializeURLOrigin=i9().serializeURLOrigin;a9.basicURLParse=i9().basicURLParse;a9.setTheUsername=i9().setTheUsername;a9.setThePassword=i9().setThePassword;a9.serializeHost=i9().serializeHost;a9.serializeInteger=i9().serializeInteger;a9.parseURL=i9().parseURL});var u7t=T((fE,l7t)=>{"use strict";Object.defineProperty(fE,"__esModule",{value:!0});function _L(t){return t&&typeof t=="object"&&"default"in t?t.default:t}var pE=_L(Ie("stream")),t7t=_L(Ie("http")),Ole=_L(Ie("url")),r7t=_L(Jvt()),Ozr=_L(Ie("https")),TT=_L(Ie("zlib")),Fzr=pE.Readable,fv=Symbol("buffer"),Ube=Symbol("type"),ej=class t{constructor(){this[Ube]="";let e=arguments[0],r=arguments[1],n=[],i=0;if(e){let s=e,o=Number(s.length);for(let l=0;l<o;l++){let u=s[l],c;u instanceof Buffer?c=u:ArrayBuffer.isView(u)?c=Buffer.from(u.buffer,u.byteOffset,u.byteLength):u instanceof ArrayBuffer?c=Buffer.from(u):u instanceof t?c=u[fv]:c=Buffer.from(typeof u=="string"?u:String(u)),i+=c.length,n.push(c)}}this[fv]=Buffer.concat(n);let a=r&&r.type!==void 0&&String(r.type).toLowerCase();a&&!/[^\u0020-\u007E]/.test(a)&&(this[Ube]=a)}get size(){return this[fv].length}get type(){return this[Ube]}text(){return Promise.resolve(this[fv].toString())}arrayBuffer(){let e=this[fv],r=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);return Promise.resolve(r)}stream(){let e=new Fzr;return e._read=function(){},e.push(this[fv]),e.push(null),e}toString(){return"[object Blob]"}slice(){let e=this.size,r=arguments[0],n=arguments[1],i,a;r===void 0?i=0:r<0?i=Math.max(e+r,0):i=Math.min(r,e),n===void 0?a=e:n<0?a=Math.max(e+n,0):a=Math.min(n,e);let s=Math.max(a-i,0),l=this[fv].slice(i,i+s),u=new t([],{type:arguments[2]});return u[fv]=l,u}};Object.defineProperties(ej.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Object.defineProperty(ej.prototype,Symbol.toStringTag,{value:"Blob",writable:!1,enumerable:!1,configurable:!0});function rf(t,e,r){Error.call(this,t),this.message=t,this.type=e,r&&(this.code=this.errno=r.code),Error.captureStackTrace(this,this.constructor)}rf.prototype=Object.create(Error.prototype);rf.prototype.constructor=rf;rf.prototype.name="FetchError";var qbe;try{qbe=Ie("encoding").convert}catch{}var hv=Symbol("Body internals"),Xvt=pE.PassThrough;function t1(t){var e=this,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=r.size;let i=n===void 0?0:n;var a=r.timeout;let s=a===void 0?0:a;t==null?t=null:n7t(t)?t=Buffer.from(t.toString()):rj(t)||Buffer.isBuffer(t)||(Object.prototype.toString.call(t)==="[object ArrayBuffer]"?t=Buffer.from(t):ArrayBuffer.isView(t)?t=Buffer.from(t.buffer,t.byteOffset,t.byteLength):t instanceof pE||(t=Buffer.from(String(t)))),this[hv]={body:t,disturbed:!1,error:null},this.size=i,this.timeout=s,t instanceof pE&&t.on("error",function(o){let l=o.name==="AbortError"?o:new rf(`Invalid response body while trying to fetch ${e.url}: ${o.message}`,"system",o);e[hv].error=l})}t1.prototype={get body(){return this[hv].body},get bodyUsed(){return this[hv].disturbed},arrayBuffer(){return yL.call(this).then(function(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)})},blob(){let t=this.headers&&this.headers.get("content-type")||"";return yL.call(this).then(function(e){return Object.assign(new ej([],{type:t.toLowerCase()}),{[fv]:e})})},json(){var t=this;return yL.call(this).then(function(e){try{return JSON.parse(e.toString())}catch(r){return t1.Promise.reject(new rf(`invalid json response body at ${t.url} reason: ${r.message}`,"invalid-json"))}})},text(){return yL.call(this).then(function(t){return t.toString()})},buffer(){return yL.call(this)},textConverted(){var t=this;return yL.call(this).then(function(e){return Mzr(e,t.headers)})}};Object.defineProperties(t1.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0}});t1.mixIn=function(t){for(let e of Object.getOwnPropertyNames(t1.prototype))if(!(e in t)){let r=Object.getOwnPropertyDescriptor(t1.prototype,e);Object.defineProperty(t,e,r)}};function yL(){var t=this;if(this[hv].disturbed)return t1.Promise.reject(new TypeError(`body used already for: ${this.url}`));if(this[hv].disturbed=!0,this[hv].error)return t1.Promise.reject(this[hv].error);let e=this.body;if(e===null)return t1.Promise.resolve(Buffer.alloc(0));if(rj(e)&&(e=e.stream()),Buffer.isBuffer(e))return t1.Promise.resolve(e);if(!(e instanceof pE))return t1.Promise.resolve(Buffer.alloc(0));let r=[],n=0,i=!1;return new t1.Promise(function(a,s){let o;t.timeout&&(o=setTimeout(function(){i=!0,s(new rf(`Response timeout while trying to fetch ${t.url} (over ${t.timeout}ms)`,"body-timeout"))},t.timeout)),e.on("error",function(l){l.name==="AbortError"?(i=!0,s(l)):s(new rf(`Invalid response body while trying to fetch ${t.url}: ${l.message}`,"system",l))}),e.on("data",function(l){if(!(i||l===null)){if(t.size&&n+l.length>t.size){i=!0,s(new rf(`content size at ${t.url} over limit: ${t.size}`,"max-size"));return}n+=l.length,r.push(l)}}),e.on("end",function(){if(!i){clearTimeout(o);try{a(Buffer.concat(r,n))}catch(l){s(new rf(`Could not create Buffer from response body for ${t.url}: ${l.message}`,"system",l))}}})})}function Mzr(t,e){if(typeof qbe!="function")throw new Error("The package `encoding` must be installed to use the textConverted() function");let r=e.get("content-type"),n="utf-8",i,a;return r&&(i=/charset=([^;]*)/i.exec(r)),a=t.slice(0,1024).toString(),!i&&a&&(i=/<meta.+?charset=(['"])(.+?)\1/i.exec(a)),!i&&a&&(i=/<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(a),i||(i=/<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(a),i&&i.pop()),i&&(i=/charset=(.*)/i.exec(i.pop()))),!i&&a&&(i=/<\?xml.+?encoding=(['"])(.+?)\1/i.exec(a)),i&&(n=i.pop(),(n==="gb2312"||n==="gbk")&&(n="gb18030")),qbe(t,"UTF-8",n).toString()}function n7t(t){return typeof t!="object"||typeof t.append!="function"||typeof t.delete!="function"||typeof t.get!="function"||typeof t.getAll!="function"||typeof t.has!="function"||typeof t.set!="function"?!1:t.constructor.name==="URLSearchParams"||Object.prototype.toString.call(t)==="[object URLSearchParams]"||typeof t.sort=="function"}function rj(t){return typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&typeof t.constructor=="function"&&typeof t.constructor.name=="string"&&/^(Blob|File)$/.test(t.constructor.name)&&/^(Blob|File)$/.test(t[Symbol.toStringTag])}function i7t(t){let e,r,n=t.body;if(t.bodyUsed)throw new Error("cannot clone body after it is used");return n instanceof pE&&typeof n.getBoundary!="function"&&(e=new Xvt,r=new Xvt,n.pipe(e),n.pipe(r),t[hv].body=e,n=r),n}function a7t(t){return t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":n7t(t)?"application/x-www-form-urlencoded;charset=UTF-8":rj(t)?t.type||null:Buffer.isBuffer(t)||Object.prototype.toString.call(t)==="[object ArrayBuffer]"||ArrayBuffer.isView(t)?null:typeof t.getBoundary=="function"?`multipart/form-data;boundary=${t.getBoundary()}`:t instanceof pE?null:"text/plain;charset=UTF-8"}function s7t(t){let e=t.body;return e===null?0:rj(e)?e.size:Buffer.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&(e._lengthRetrievers&&e._lengthRetrievers.length==0||e.hasKnownLength&&e.hasKnownLength())?e.getLengthSync():null}function Lzr(t,e){let r=e.body;r===null?t.end():rj(r)?r.stream().pipe(t):Buffer.isBuffer(r)?(t.write(r),t.end()):r.pipe(t)}t1.Promise=global.Promise;var o7t=/[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/,$be=/[^\t\x20-\x7e\x80-\xff]/;function Z$(t){if(t=`${t}`,o7t.test(t)||t==="")throw new TypeError(`${t} is not a legal HTTP header name`)}function Zvt(t){if(t=`${t}`,$be.test(t))throw new TypeError(`${t} is not a legal HTTP header value`)}function vL(t,e){e=e.toLowerCase();for(let r in t)if(r.toLowerCase()===e)return r}var zc=Symbol("map"),qg=class t{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:void 0;if(this[zc]=Object.create(null),e instanceof t){let r=e.raw(),n=Object.keys(r);for(let i of n)for(let a of r[i])this.append(i,a);return}if(e!=null)if(typeof e=="object"){let r=e[Symbol.iterator];if(r!=null){if(typeof r!="function")throw new TypeError("Header pairs must be iterable");let n=[];for(let i of e){if(typeof i!="object"||typeof i[Symbol.iterator]!="function")throw new TypeError("Each header pair must be iterable");n.push(Array.from(i))}for(let i of n){if(i.length!==2)throw new TypeError("Each header pair must be a name/value tuple");this.append(i[0],i[1])}}else for(let n of Object.keys(e)){let i=e[n];this.append(n,i)}}else throw new TypeError("Provided initializer must be an object")}get(e){e=`${e}`,Z$(e);let r=vL(this[zc],e);return r===void 0?null:this[zc][r].join(", ")}forEach(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,n=jbe(this),i=0;for(;i<n.length;){var a=n[i];let s=a[0],o=a[1];e.call(r,o,s,this),n=jbe(this),i++}}set(e,r){e=`${e}`,r=`${r}`,Z$(e),Zvt(r);let n=vL(this[zc],e);this[zc][n!==void 0?n:e]=[r]}append(e,r){e=`${e}`,r=`${r}`,Z$(e),Zvt(r);let n=vL(this[zc],e);n!==void 0?this[zc][n].push(r):this[zc][e]=[r]}has(e){return e=`${e}`,Z$(e),vL(this[zc],e)!==void 0}delete(e){e=`${e}`,Z$(e);let r=vL(this[zc],e);r!==void 0&&delete this[zc][r]}raw(){return this[zc]}keys(){return Hbe(this,"key")}values(){return Hbe(this,"value")}[Symbol.iterator](){return Hbe(this,"key+value")}};qg.prototype.entries=qg.prototype[Symbol.iterator];Object.defineProperty(qg.prototype,Symbol.toStringTag,{value:"Headers",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(qg.prototype,{get:{enumerable:!0},forEach:{enumerable:!0},set:{enumerable:!0},append:{enumerable:!0},has:{enumerable:!0},delete:{enumerable:!0},keys:{enumerable:!0},values:{enumerable:!0},entries:{enumerable:!0}});function jbe(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"key+value";return Object.keys(t[zc]).sort().map(e==="key"?function(n){return n.toLowerCase()}:e==="value"?function(n){return t[zc][n].join(", ")}:function(n){return[n.toLowerCase(),t[zc][n].join(", ")]})}var Ybe=Symbol("internal");function Hbe(t,e){let r=Object.create(Wbe);return r[Ybe]={target:t,kind:e,index:0},r}var Wbe=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==Wbe)throw new TypeError("Value of `this` is not a HeadersIterator");var t=this[Ybe];let e=t.target,r=t.kind,n=t.index,i=jbe(e,r),a=i.length;return n>=a?{value:void 0,done:!0}:(this[Ybe].index=n+1,{value:i[n],done:!1})}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(Wbe,Symbol.toStringTag,{value:"HeadersIterator",writable:!1,enumerable:!1,configurable:!0});function Pzr(t){let e=Object.assign({__proto__:null},t[zc]),r=vL(t[zc],"Host");return r!==void 0&&(e[r]=e[r][0]),e}function Qzr(t){let e=new qg;for(let r of Object.keys(t))if(!o7t.test(r))if(Array.isArray(t[r]))for(let n of t[r])$be.test(n)||(e[zc][r]===void 0?e[zc][r]=[n]:e[zc][r].push(n));else $be.test(t[r])||(e[zc][r]=[t[r]]);return e}var iD=Symbol("Response internals"),kzr=t7t.STATUS_CODES,Vg=class t{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};t1.call(this,e,r);let n=r.status||200,i=new qg(r.headers);if(e!=null&&!i.has("Content-Type")){let a=a7t(e);a&&i.append("Content-Type",a)}this[iD]={url:r.url,status:n,statusText:r.statusText||kzr[n],headers:i,counter:r.counter}}get url(){return this[iD].url||""}get status(){return this[iD].status}get ok(){return this[iD].status>=200&&this[iD].status<300}get redirected(){return this[iD].counter>0}get statusText(){return this[iD].statusText}get headers(){return this[iD].headers}clone(){return new t(i7t(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}};t1.mixIn(Vg.prototype);Object.defineProperties(Vg.prototype,{url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}});Object.defineProperty(Vg.prototype,Symbol.toStringTag,{value:"Response",writable:!1,enumerable:!1,configurable:!0});var mv=Symbol("Request internals"),Uzr=Ole.URL||r7t.URL,Hzr=Ole.parse,Gzr=Ole.format;function Gbe(t){return/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(t)&&(t=new Uzr(t).toString()),Hzr(t)}var Vzr="destroy"in pE.Readable.prototype;function Nle(t){return typeof t=="object"&&typeof t[mv]=="object"}function qzr(t){let e=t&&typeof t=="object"&&Object.getPrototypeOf(t);return!!(e&&e.constructor.name==="AbortSignal")}var sD=class t{constructor(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n;Nle(e)?n=Gbe(e.url):(e&&e.href?n=Gbe(e.href):n=Gbe(`${e}`),e={});let i=r.method||e.method||"GET";if(i=i.toUpperCase(),(r.body!=null||Nle(e)&&e.body!==null)&&(i==="GET"||i==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let a=r.body!=null?r.body:Nle(e)&&e.body!==null?i7t(e):null;t1.call(this,a,{timeout:r.timeout||e.timeout||0,size:r.size||e.size||0});let s=new qg(r.headers||e.headers||{});if(a!=null&&!s.has("Content-Type")){let l=a7t(a);l&&s.append("Content-Type",l)}let o=Nle(e)?e.signal:null;if("signal"in r&&(o=r.signal),o!=null&&!qzr(o))throw new TypeError("Expected signal to be an instanceof AbortSignal");this[mv]={method:i,redirect:r.redirect||e.redirect||"follow",headers:s,parsedURL:n,signal:o},this.follow=r.follow!==void 0?r.follow:e.follow!==void 0?e.follow:20,this.compress=r.compress!==void 0?r.compress:e.compress!==void 0?e.compress:!0,this.counter=r.counter||e.counter||0,this.agent=r.agent||e.agent}get method(){return this[mv].method}get url(){return Gzr(this[mv].parsedURL)}get headers(){return this[mv].headers}get redirect(){return this[mv].redirect}get signal(){return this[mv].signal}clone(){return new t(this)}};t1.mixIn(sD.prototype);Object.defineProperty(sD.prototype,Symbol.toStringTag,{value:"Request",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(sD.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0}});function $zr(t){let e=t[mv].parsedURL,r=new qg(t[mv].headers);if(r.has("Accept")||r.set("Accept","*/*"),!e.protocol||!e.hostname)throw new TypeError("Only absolute URLs are supported");if(!/^https?:$/.test(e.protocol))throw new TypeError("Only HTTP(S) protocols are supported");if(t.signal&&t.body instanceof pE.Readable&&!Vzr)throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");let n=null;if(t.body==null&&/^(POST|PUT)$/i.test(t.method)&&(n="0"),t.body!=null){let a=s7t(t);typeof a=="number"&&(n=String(a))}n&&r.set("Content-Length",n),r.has("User-Agent")||r.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"),t.compress&&!r.has("Accept-Encoding")&&r.set("Accept-Encoding","gzip,deflate");let i=t.agent;return typeof i=="function"&&(i=i(e)),Object.assign({},e,{method:t.method,headers:Pzr(r),agent:i})}function CL(t){Error.call(this,t),this.type="aborted",this.message=t,Error.captureStackTrace(this,this.constructor)}CL.prototype=Object.create(Error.prototype);CL.prototype.constructor=CL;CL.prototype.name="AbortError";var tj=Ole.URL||r7t.URL,e7t=pE.PassThrough,jzr=function(e,r){let n=new tj(r).hostname,i=new tj(e).hostname;return n===i||n[n.length-i.length-1]==="."&&n.endsWith(i)},Yzr=function(e,r){let n=new tj(r).protocol,i=new tj(e).protocol;return n===i};function aD(t,e){if(!aD.Promise)throw new Error("native promise missing, set fetch.Promise to your favorite alternative");return t1.Promise=aD.Promise,new aD.Promise(function(r,n){let i=new sD(t,e),a=$zr(i),s=(a.protocol==="https:"?Ozr:t7t).request,o=i.signal,l=null,u=function(){let y=new CL("The user aborted a request.");n(y),i.body&&i.body instanceof pE.Readable&&Vbe(i.body,y),!(!l||!l.body)&&l.body.emit("error",y)};if(o&&o.aborted){u();return}let c=function(){u(),f()},d=s(a),h;o&&o.addEventListener("abort",c);function f(){d.abort(),o&&o.removeEventListener("abort",c),clearTimeout(h)}i.timeout&&d.once("socket",function(E){h=setTimeout(function(){n(new rf(`network timeout at: ${i.url}`,"request-timeout")),f()},i.timeout)}),d.on("error",function(E){n(new rf(`request to ${i.url} failed, reason: ${E.message}`,"system",E)),l&&l.body&&Vbe(l.body,E),f()}),Wzr(d,function(E){o&&o.aborted||l&&l.body&&Vbe(l.body,E)}),parseInt(process.version.substring(1))<14&&d.on("socket",function(E){E.addListener("close",function(y){let g=E.listenerCount("data")>0;if(l&&g&&!y&&!(o&&o.aborted)){let C=new Error("Premature close");C.code="ERR_STREAM_PREMATURE_CLOSE",l.body.emit("error",C)}})}),d.on("response",function(E){clearTimeout(h);let y=Qzr(E.headers);if(aD.isRedirect(E.statusCode)){let w=y.get("Location"),N=null;try{N=w===null?null:new tj(w,i.url).toString()}catch{if(i.redirect!=="manual"){n(new rf(`uri requested responds with an invalid redirect URL: ${w}`,"invalid-redirect")),f();return}}switch(i.redirect){case"error":n(new rf(`uri requested responds with a redirect, redirect mode is set to error: ${i.url}`,"no-redirect")),f();return;case"manual":if(N!==null)try{y.set("Location",N)}catch(U){n(U)}break;case"follow":if(N===null)break;if(i.counter>=i.follow){n(new rf(`maximum redirect reached at: ${i.url}`,"max-redirect")),f();return}let M={headers:new qg(i.headers),follow:i.follow,counter:i.counter+1,agent:i.agent,compress:i.compress,method:i.method,body:i.body,signal:i.signal,timeout:i.timeout,size:i.size};if(!jzr(i.url,N)||!Yzr(i.url,N))for(let U of["authorization","www-authenticate","cookie","cookie2"])M.headers.delete(U);if(E.statusCode!==303&&i.body&&s7t(i)===null){n(new rf("Cannot follow redirect with body being a readable stream","unsupported-redirect")),f();return}(E.statusCode===303||(E.statusCode===301||E.statusCode===302)&&i.method==="POST")&&(M.method="GET",M.body=void 0,M.headers.delete("content-length")),r(aD(new sD(N,M))),f();return}}E.once("end",function(){o&&o.removeEventListener("abort",c)});let g=E.pipe(new e7t),C={url:i.url,status:E.statusCode,statusText:E.statusMessage,headers:y,size:i.size,timeout:i.timeout,counter:i.counter},D=y.get("Content-Encoding");if(!i.compress||i.method==="HEAD"||D===null||E.statusCode===204||E.statusCode===304){l=new Vg(g,C),r(l);return}let S={flush:TT.Z_SYNC_FLUSH,finishFlush:TT.Z_SYNC_FLUSH};if(D=="gzip"||D=="x-gzip"){g=g.pipe(TT.createGunzip(S)),l=new Vg(g,C),r(l);return}if(D=="deflate"||D=="x-deflate"){let w=E.pipe(new e7t);w.once("data",function(N){(N[0]&15)===8?g=g.pipe(TT.createInflate()):g=g.pipe(TT.createInflateRaw()),l=new Vg(g,C),r(l)}),w.on("end",function(){l||(l=new Vg(g,C),r(l))});return}if(D=="br"&&typeof TT.createBrotliDecompress=="function"){g=g.pipe(TT.createBrotliDecompress()),l=new Vg(g,C),r(l);return}l=new Vg(g,C),r(l)}),Lzr(d,i)})}function Wzr(t,e){let r;t.on("socket",function(n){r=n}),t.on("response",function(n){let i=n.headers;i["transfer-encoding"]==="chunked"&&!i["content-length"]&&n.once("close",function(a){if(r&&r.listenerCount("data")>0&&!a){let o=new Error("Premature close");o.code="ERR_STREAM_PREMATURE_CLOSE",e(o)}})})}function Vbe(t,e){t.destroy?t.destroy(e):(t.emit("error",e),t.end())}aD.isRedirect=function(t){return t===301||t===302||t===303||t===307||t===308};aD.Promise=global.Promise;l7t.exports=fE=aD;Object.defineProperty(fE,"__esModule",{value:!0});fE.default=fE;fE.Headers=qg;fE.Request=sD;fE.Response=Vg;fE.FetchError=rf;fE.AbortError=CL});var Fle=T((Vgi,c7t)=>{"use strict";var s9=t=>t!==null&&typeof t=="object"&&typeof t.pipe=="function";s9.writable=t=>s9(t)&&t.writable!==!1&&typeof t._write=="function"&&typeof t._writableState=="object";s9.readable=t=>s9(t)&&t.readable!==!1&&typeof t._read=="function"&&typeof t._readableState=="object";s9.duplex=t=>s9.writable(t)&&s9.readable(t);s9.transform=t=>s9.duplex(t)&&typeof t._transform=="function";c7t.exports=s9});var d7t=T((qgi,zzr)=>{zzr.exports={name:"gaxios",version:"6.7.1",description:"A simple common HTTP client specifically for Google APIs and services.",main:"build/src/index.js",types:"build/src/index.d.ts",files:["build/src"],scripts:{lint:"gts check",test:"c8 mocha build/test","presystem-test":"npm run compile","system-test":"mocha build/system-test --timeout 80000",compile:"tsc -p .",fix:"gts fix",prepare:"npm run compile",pretest:"npm run compile",webpack:"webpack","prebrowser-test":"npm run compile","browser-test":"node build/browser-test/browser-test-runner.js",docs:"compodoc src/","docs-test":"linkinator docs","predocs-test":"npm run docs","samples-test":"cd samples/ && npm link ../ && npm test && cd ../",prelint:"cd samples; npm link ../; npm install",clean:"gts clean",precompile:"gts clean"},repository:"googleapis/gaxios",keywords:["google"],engines:{node:">=14"},author:"Google, LLC",license:"Apache-2.0",devDependencies:{"@babel/plugin-proposal-private-methods":"^7.18.6","@compodoc/compodoc":"1.1.19","@types/cors":"^2.8.6","@types/express":"^4.16.1","@types/extend":"^3.0.1","@types/mocha":"^9.0.0","@types/multiparty":"0.0.36","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^20.0.0","@types/node-fetch":"^2.5.7","@types/sinon":"^17.0.0","@types/tmp":"0.2.6","@types/uuid":"^10.0.0","abort-controller":"^3.0.0",assert:"^2.0.0",browserify:"^17.0.0",c8:"^8.0.0",cheerio:"1.0.0-rc.10",cors:"^2.8.5",execa:"^5.0.0",express:"^4.16.4","form-data":"^4.0.0",gts:"^5.0.0","is-docker":"^2.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-remap-coverage":"^0.1.5","karma-sourcemap-loader":"^0.4.0","karma-webpack":"5.0.0",linkinator:"^3.0.0",mocha:"^8.0.0",multiparty:"^4.2.1",mv:"^2.1.1",ncp:"^2.0.0",nock:"^13.0.0","null-loader":"^4.0.0",puppeteer:"^19.0.0",sinon:"^18.0.0","stream-browserify":"^3.0.0",tmp:"0.2.3","ts-loader":"^8.0.0",typescript:"^5.1.6",webpack:"^5.35.0","webpack-cli":"^4.0.0"},dependencies:{extend:"^3.0.2","https-proxy-agent":"^7.0.1","is-stream":"^2.0.0","node-fetch":"^2.6.9",uuid:"^9.0.1"}}});var p7t=T(Mle=>{"use strict";Object.defineProperty(Mle,"__esModule",{value:!0});Mle.pkg=void 0;Mle.pkg=d7t()});var Jbe=T($g=>{"use strict";var Kzr=$g&&$g.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},f7t;Object.defineProperty($g,"__esModule",{value:!0});$g.GaxiosError=$g.GAXIOS_ERROR_SYMBOL=void 0;$g.defaultErrorRedactor=h7t;var Jzr=Ie("url"),zbe=p7t(),m7t=Kzr(wT());$g.GAXIOS_ERROR_SYMBOL=Symbol.for(`${zbe.pkg.name}-gaxios-error`);var Kbe=class t extends Error{static[(f7t=$g.GAXIOS_ERROR_SYMBOL,Symbol.hasInstance)](e){return e&&typeof e=="object"&&$g.GAXIOS_ERROR_SYMBOL in e&&e[$g.GAXIOS_ERROR_SYMBOL]===zbe.pkg.version?!0:Function.prototype[Symbol.hasInstance].call(t,e)}constructor(e,r,n,i){var a;if(super(e),this.config=r,this.response=n,this.error=i,this[f7t]=zbe.pkg.version,this.config=(0,m7t.default)(!0,{},r),this.response&&(this.response.config=(0,m7t.default)(!0,{},this.response.config)),this.response){try{this.response.data=Xzr(this.config.responseType,(a=this.response)===null||a===void 0?void 0:a.data)}catch{}this.status=this.response.status}i&&"code"in i&&i.code&&(this.code=i.code),r.errorRedactor&&r.errorRedactor({config:this.config,response:this.response})}};$g.GaxiosError=Kbe;function Xzr(t,e){switch(t){case"stream":return e;case"json":return JSON.parse(JSON.stringify(e));case"arraybuffer":return JSON.parse(Buffer.from(e).toString("utf8"));case"blob":return JSON.parse(e.text());default:return e}}function h7t(t){let e="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function r(a){if(a)for(let s of Object.keys(a))/^authentication$/i.test(s)&&(a[s]=e),/^authorization$/i.test(s)&&(a[s]=e),/secret/i.test(s)&&(a[s]=e)}function n(a,s){if(typeof a=="object"&&a!==null&&typeof a[s]=="string"){let o=a[s];(/grant_type=/i.test(o)||/assertion=/i.test(o)||/secret/i.test(o))&&(a[s]=e)}}function i(a){typeof a=="object"&&a!==null&&("grant_type"in a&&(a.grant_type=e),"assertion"in a&&(a.assertion=e),"client_secret"in a&&(a.client_secret=e))}if(t.config){r(t.config.headers),n(t.config,"data"),i(t.config.data),n(t.config,"body"),i(t.config.body);try{let a=new Jzr.URL("",t.config.url);a.searchParams.has("token")&&a.searchParams.set("token",e),a.searchParams.has("client_secret")&&a.searchParams.set("client_secret",e),t.config.url=a.toString()}catch{}}return t.response&&(h7t({config:t.response.config}),r(t.response.headers),n(t.response,"data"),i(t.response.data)),t}});var g7t=T(Xbe=>{"use strict";Object.defineProperty(Xbe,"__esModule",{value:!0});Xbe.getRetryConfig=Zzr;async function Zzr(t){let e=A7t(t);if(!t||!t.config||!e&&!t.config.retry)return{shouldRetry:!1};e=e||{},e.currentRetryAttempt=e.currentRetryAttempt||0,e.retry=e.retry===void 0||e.retry===null?3:e.retry,e.httpMethodsToRetry=e.httpMethodsToRetry||["GET","HEAD","PUT","OPTIONS","DELETE"],e.noResponseRetries=e.noResponseRetries===void 0||e.noResponseRetries===null?2:e.noResponseRetries,e.retryDelayMultiplier=e.retryDelayMultiplier?e.retryDelayMultiplier:2,e.timeOfFirstRequest=e.timeOfFirstRequest?e.timeOfFirstRequest:Date.now(),e.totalTimeout=e.totalTimeout?e.totalTimeout:Number.MAX_SAFE_INTEGER,e.maxRetryDelay=e.maxRetryDelay?e.maxRetryDelay:Number.MAX_SAFE_INTEGER;let r=[[100,199],[408,408],[429,429],[500,599]];if(e.statusCodesToRetry=e.statusCodesToRetry||r,t.config.retryConfig=e,!await(e.shouldRetry||eKr)(t))return{shouldRetry:!1,config:t.config};let i=tKr(e);t.config.retryConfig.currentRetryAttempt+=1;let a=e.retryBackoff?e.retryBackoff(t,i):new Promise(s=>{setTimeout(s,i)});return e.onRetryAttempt&&e.onRetryAttempt(t),await a,{shouldRetry:!0,config:t.config}}function eKr(t){var e;let r=A7t(t);if(t.name==="AbortError"||((e=t.error)===null||e===void 0?void 0:e.name)==="AbortError"||!r||r.retry===0||!t.response&&(r.currentRetryAttempt||0)>=r.noResponseRetries||!t.config.method||r.httpMethodsToRetry.indexOf(t.config.method.toUpperCase())<0)return!1;if(t.response&&t.response.status){let n=!1;for(let[i,a]of r.statusCodesToRetry){let s=t.response.status;if(s>=i&&s<=a){n=!0;break}}if(!n)return!1}return r.currentRetryAttempt=r.currentRetryAttempt||0,!(r.currentRetryAttempt>=r.retry)}function A7t(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function tKr(t){var e;let n=(t.currentRetryAttempt?0:(e=t.retryDelay)!==null&&e!==void 0?e:100)+(Math.pow(t.retryDelayMultiplier,t.currentRetryAttempt)-1)/2*1e3,i=t.totalTimeout-(Date.now()-t.timeOfFirstRequest);return Math.min(n,i,t.maxRetryDelay)}});import rKr from"crypto";function nj(){return Lle>Ple.length-16&&(rKr.randomFillSync(Ple),Lle=0),Ple.slice(Lle,Lle+=16)}var Ple,Lle,Zbe=Oe(()=>{Ple=new Uint8Array(256),Lle=Ple.length});var E7t,y7t=Oe(()=>{E7t=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i});function nKr(t){return typeof t=="string"&&E7t.test(t)}var oD,ij=Oe(()=>{y7t();oD=nKr});function xT(t,e=0){return nf[t[e+0]]+nf[t[e+1]]+nf[t[e+2]]+nf[t[e+3]]+"-"+nf[t[e+4]]+nf[t[e+5]]+"-"+nf[t[e+6]]+nf[t[e+7]]+"-"+nf[t[e+8]]+nf[t[e+9]]+"-"+nf[t[e+10]]+nf[t[e+11]]+nf[t[e+12]]+nf[t[e+13]]+nf[t[e+14]]+nf[t[e+15]]}function iKr(t,e=0){let r=xT(t,e);if(!oD(r))throw TypeError("Stringified UUID is invalid");return r}var nf,v7t,aj=Oe(()=>{ij();nf=[];for(let t=0;t<256;++t)nf.push((t+256).toString(16).slice(1));v7t=iKr});function aKr(t,e,r){let n=e&&r||0,i=e||new Array(16);t=t||{};let a=t.node||C7t,s=t.clockseq!==void 0?t.clockseq:ewe;if(a==null||s==null){let h=t.random||(t.rng||nj)();a==null&&(a=C7t=[h[0]|1,h[1],h[2],h[3],h[4],h[5]]),s==null&&(s=ewe=(h[6]<<8|h[7])&16383)}let o=t.msecs!==void 0?t.msecs:Date.now(),l=t.nsecs!==void 0?t.nsecs:rwe+1,u=o-twe+(l-rwe)/1e4;if(u<0&&t.clockseq===void 0&&(s=s+1&16383),(u<0||o>twe)&&t.nsecs===void 0&&(l=0),l>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");twe=o,rwe=l,ewe=s,o+=122192928e5;let c=((o&268435455)*1e4+l)%4294967296;i[n++]=c>>>24&255,i[n++]=c>>>16&255,i[n++]=c>>>8&255,i[n++]=c&255;let d=o/4294967296*1e4&268435455;i[n++]=d>>>8&255,i[n++]=d&255,i[n++]=d>>>24&15|16,i[n++]=d>>>16&255,i[n++]=s>>>8|128,i[n++]=s&255;for(let h=0;h<6;++h)i[n+h]=a[h];return e||xT(i)}var C7t,ewe,twe,rwe,_7t,D7t=Oe(()=>{Zbe();aj();twe=0,rwe=0;_7t=aKr});function sKr(t){if(!oD(t))throw TypeError("Invalid UUID");let e,r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=e&255,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=e&255,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=e&255,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=e&255,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=e&255,r}var Qle,nwe=Oe(()=>{ij();Qle=sKr});function oKr(t){t=unescape(encodeURIComponent(t));let e=[];for(let r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e}function sj(t,e,r){function n(i,a,s,o){var l;if(typeof i=="string"&&(i=oKr(i)),typeof a=="string"&&(a=Qle(a)),((l=a)===null||l===void 0?void 0:l.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let u=new Uint8Array(16+i.length);if(u.set(a),u.set(i,a.length),u=r(u),u[6]=u[6]&15|e,u[8]=u[8]&63|128,s){o=o||0;for(let c=0;c<16;++c)s[o+c]=u[c];return s}return xT(u)}try{n.name=t}catch{}return n.DNS=lKr,n.URL=uKr,n}var lKr,uKr,iwe=Oe(()=>{aj();nwe();lKr="6ba7b810-9dad-11d1-80b4-00c04fd430c8",uKr="6ba7b811-9dad-11d1-80b4-00c04fd430c8"});import cKr from"crypto";function dKr(t){return Array.isArray(t)?t=Buffer.from(t):typeof t=="string"&&(t=Buffer.from(t,"utf8")),cKr.createHash("md5").update(t).digest()}var S7t,b7t=Oe(()=>{S7t=dKr});var pKr,w7t,I7t=Oe(()=>{iwe();b7t();pKr=sj("v3",48,S7t),w7t=pKr});import fKr from"crypto";var awe,T7t=Oe(()=>{awe={randomUUID:fKr.randomUUID}});function mKr(t,e,r){if(awe.randomUUID&&!e&&!t)return awe.randomUUID();t=t||{};let n=t.random||(t.rng||nj)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){r=r||0;for(let i=0;i<16;++i)e[r+i]=n[i];return e}return xT(n)}var x7t,B7t=Oe(()=>{T7t();Zbe();aj();x7t=mKr});import hKr from"crypto";function AKr(t){return Array.isArray(t)?t=Buffer.from(t):typeof t=="string"&&(t=Buffer.from(t,"utf8")),hKr.createHash("sha1").update(t).digest()}var R7t,N7t=Oe(()=>{R7t=AKr});var gKr,O7t,F7t=Oe(()=>{iwe();N7t();gKr=sj("v5",80,R7t),O7t=gKr});var M7t,L7t=Oe(()=>{M7t="00000000-0000-0000-0000-000000000000"});function EKr(t){if(!oD(t))throw TypeError("Invalid UUID");return parseInt(t.slice(14,15),16)}var P7t,Q7t=Oe(()=>{ij();P7t=EKr});var kle={};gO(kle,{NIL:()=>M7t,parse:()=>Qle,stringify:()=>v7t,v1:()=>_7t,v3:()=>w7t,v4:()=>x7t,v5:()=>O7t,validate:()=>oD,version:()=>P7t});var Ule=Oe(()=>{D7t();I7t();B7t();F7t();L7t();Q7t();ij();aj();nwe()});var owe=T(Hle=>{"use strict";Object.defineProperty(Hle,"__esModule",{value:!0});Hle.GaxiosInterceptorManager=void 0;var swe=class extends Set{};Hle.GaxiosInterceptorManager=swe});var z7t=T(t0=>{"use strict";var yKr=t0&&t0.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),vKr=t0&&t0.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),CKr=t0&&t0.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&yKr(e,t,r);return vKr(e,t),e},RT=t0&&t0.__classPrivateFieldGet||function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},_Kr=t0&&t0.__classPrivateFieldSet||function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},$le=t0&&t0.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},DL,BT,k7t,$7t,j7t,Y7t,Gle,U7t;Object.defineProperty(t0,"__esModule",{value:!0});t0.Gaxios=void 0;var DKr=$le(wT()),SKr=Ie("https"),bKr=$le(u7t()),wKr=$le(Ie("querystring")),IKr=$le(Fle()),H7t=Ie("url"),Vle=Jbe(),TKr=g7t(),G7t=Ie("stream"),xKr=(Ule(),yr(kle)),V7t=owe(),BKr=NKr()?window.fetch:bKr.default;function RKr(){return typeof window<"u"&&!!window}function NKr(){return RKr()&&!!window.fetch}function OKr(){return typeof Buffer<"u"}function q7t(t,e){return!!W7t(t,e)}function W7t(t,e){e=e.toLowerCase();for(let r of Object.keys(t?.headers||{}))if(e===r.toLowerCase())return t.headers[r]}var qle=class{constructor(e){DL.add(this),this.agentCache=new Map,this.defaults=e||{},this.interceptors={request:new V7t.GaxiosInterceptorManager,response:new V7t.GaxiosInterceptorManager}}async request(e={}){return e=await RT(this,DL,"m",Y7t).call(this,e),e=await RT(this,DL,"m",$7t).call(this,e),RT(this,DL,"m",j7t).call(this,this._request(e))}async _defaultAdapter(e){let n=await(e.fetchImplementation||BKr)(e.url,e),i=await this.getResponseData(e,n);return this.translateResponse(e,n,i)}async _request(e={}){var r;try{let n;if(e.adapter?n=await e.adapter(e,this._defaultAdapter.bind(this)):n=await this._defaultAdapter(e),!e.validateStatus(n.status)){if(e.responseType==="stream"){let i="";await new Promise(a=>{(n?.data).on("data",s=>{i+=s}),(n?.data).on("end",a)}),n.data=i}throw new Vle.GaxiosError(`Request failed with status code ${n.status}`,e,n)}return n}catch(n){let i=n instanceof Vle.GaxiosError?n:new Vle.GaxiosError(n.message,e,void 0,n),{shouldRetry:a,config:s}=await(0,TKr.getRetryConfig)(i);if(a&&s)return i.config.retryConfig.currentRetryAttempt=s.retryConfig.currentRetryAttempt,e.retryConfig=(r=i.config)===null||r===void 0?void 0:r.retryConfig,this._request(e);throw i}}async getResponseData(e,r){switch(e.responseType){case"stream":return r.body;case"json":{let n=await r.text();try{n=JSON.parse(n)}catch{}return n}case"arraybuffer":return r.arrayBuffer();case"blob":return r.blob();case"text":return r.text();default:return this.getResponseDataFromContentType(r)}}validateStatus(e){return e>=200&&e<300}paramsSerializer(e){return wKr.default.stringify(e)}translateResponse(e,r,n){let i={};return r.headers.forEach((a,s)=>{i[s]=a}),{config:e,data:n,headers:i,status:r.status,statusText:r.statusText,request:{responseURL:r.url}}}async getResponseDataFromContentType(e){let r=e.headers.get("Content-Type");if(r===null)return e.text();if(r=r.toLowerCase(),r.includes("application/json")){let n=await e.text();try{n=JSON.parse(n)}catch{}return n}else return r.match(/^text\//)?e.text():e.blob()}async*getMultipartRequest(e,r){let n=`--${r}--`;for(let i of e){let a=i.headers["Content-Type"]||"application/octet-stream";yield`--${r}\r
339
339
  Content-Type: ${a}\r
340
340
  \r
@@ -394,7 +394,7 @@ you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
394
394
  new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
395
395
 
396
396
  https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
397
- `);super({baseURL:s.baseURL,timeout:s.timeout??6e5,httpAgent:s.httpAgent,maxRetries:s.maxRetries,fetch:s.fetch}),this.completions=new Ax(this),this.chat=new Vv(this),this.embeddings=new Ex(this),this.files=new WD(this),this.images=new bx(this),this.audio=new x9(this),this.moderations=new Ix(this),this.models=new JD(this),this.fineTuning=new KA(this),this.graders=new KD(this),this.vectorStores=new JA(this),this.beta=new PE(this),this.batches=new GD(this),this.uploads=new tS(this),this.responses=new eS(this),this.evals=new F9(this),this.containers=new O9(this),this._options=s,this.apiKey=r,this.organization=n,this.project=i}defaultQuery(){return this._options.defaultQuery}defaultHeaders(e){return{...super.defaultHeaders(e),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project,...this._options.defaultHeaders}}authHeaders(e){return{Authorization:`Bearer ${this.apiKey}`}}stringifyQuery(e){return kTe(e,{arrayFormat:"brackets"})}};PBt=Ii;Ii.OpenAI=PBt;Ii.DEFAULT_TIMEOUT=6e5;Ii.OpenAIError=An;Ii.APIError=Ep;Ii.APIConnectionError=QD;Ii.APIConnectionTimeoutError=kD;Ii.APIUserAbortError=Hd;Ii.NotFoundError=wY;Ii.ConflictError=IY;Ii.RateLimitError=xY;Ii.BadRequestError=DY;Ii.AuthenticationError=SY;Ii.InternalServerError=BY;Ii.PermissionDeniedError=bY;Ii.UnprocessableEntityError=TY;Ii.toFile=uBe;Ii.fileFromPath=mce;Ii.Completions=Ax;Ii.Chat=Vv;Ii.ChatCompletionsPage=HD;Ii.Embeddings=Ex;Ii.Files=WD;Ii.FileObjectsPage=Cx;Ii.Images=bx;Ii.Audio=x9;Ii.Moderations=Ix;Ii.Models=JD;Ii.ModelsPage=wx;Ii.FineTuning=KA;Ii.Graders=KD;Ii.VectorStores=JA;Ii.VectorStoresPage=Tx;Ii.VectorStoreSearchResponsesPage=xx;Ii.Beta=PE;Ii.Batches=GD;Ii.BatchesPage=ux;Ii.Uploads=tS;Ii.Responses=eS;Ii.Evals=F9;Ii.EvalListResponsesPage=vx;Ii.Containers=O9;Ii.ContainerListResponsesPage=gx;QBt=Ii});import*as Vde from"node:fs";import UBt from"node:path";import $sn from"node:os";function sQ(t){t.include_reasoning=!1;let e=t.extra_body,r=QE(e)?{...e}:{},n=QE(r.reasoning)?r.reasoning:void 0;return r.reasoning={...n??{},exclude:!0},r.include_reasoning=!1,t.extra_body=r,t}function HBt(t){return!t||t.indexOf("<think")===-1?t:t.replace(/<think>[\s\S]*?<\/think>\s*/g,"").replace(/<\/?think>/g,"")}function QE(t){return typeof t=="object"&&t!==null}function Ude(t){return typeof t=="string"?t:void 0}function jsn(t){return Array.isArray(t)?t.map(e=>typeof e=="string"?{text:e}:e):typeof t=="string"?[{text:t}]:[t]}function Hde(t){return!t||t.length===0?"":t.map(e=>{if(e.text)return e.text;if(e.functionResponse?.response){let r=e.functionResponse.response;if(typeof r.output=="string")return r.output;try{return JSON.stringify(r)}catch{return""}}return""}).join("")}function VBt(t){return Array.isArray(t)?t.map(e=>Array.isArray(e)?{role:"user",parts:jsn(e)}:typeof e=="string"?{role:"user",parts:[{text:e}]}:"parts"in e?e:{role:"user",parts:[e]}):typeof t=="string"?[{role:"user",parts:[{text:t}]}]:"parts"in t?[t]:[{role:"user",parts:[t]}]}function Ysn(t){let e=t.role==="model"?"assistant":"user",r=(t.parts||[]).filter(o=>o.functionResponse),n=(t.parts||[]).filter(o=>o.functionCall),i=(t.parts||[]).filter(o=>!o.functionResponse&&!o.functionCall),a=Hde(i),s=[];if(n.length>0){let o=n.map((l,u)=>{let c=l.functionCall;if(!c||!c.name)return;let d="{}";if(c.args&&typeof c.args=="object")try{d=JSON.stringify(c.args)}catch{d="{}"}return{id:c.id||`${c.name}-${u}`,type:"function",function:{name:c.name,arguments:d}}}).filter(Boolean);(o.length>0||a)&&s.push({role:e,content:a||"",...o.length>0?{tool_calls:o}:{}})}else a&&s.push({role:e,content:a});for(let o of r){let l=o.functionResponse,u=(()=>{let c=l.response;if(!c)return"";if(typeof c.output=="string")return c.output;try{return JSON.stringify(c)}catch{return""}})();l.id&&s.push({role:"tool",tool_call_id:l.id,content:u})}return s.length===0&&s.push({role:e,content:""}),s}function zY(t,e){let r=VBt(t),n=e?[{role:"system",content:typeof e=="string"?e:Hde(e.parts)}]:[],i=r.flatMap(Ysn);return[...n,...i]}function Wsn(t){return typeof t=="object"&&t!==null&&"functionDeclarations"in t&&Array.isArray(t.functionDeclarations)}function TRe(t){if(!t)return;let e=[];for(let r of t){let n=Wsn(r)?r.functionDeclarations:void 0;if(Array.isArray(n))for(let i of n)i?.name&&e.push({type:"function",function:{name:i.name,description:i.description,parameters:i.parametersJsonSchema??i.parameters}})}return e.length?e:void 0}function xRe(t){let r=t.choices?.[0]?.message,n=r?.tool_calls?r.tool_calls.map(d=>({id:d.id,name:d.function.name,args:(()=>{try{let h=JSON.parse(d.function.arguments||"{}");return h&&typeof h=="object"?h:{}}catch{return{}}})()})):void 0,i=d=>{let h="";for(let f of d)QE(f)&&(typeof f.text=="string"?h+=f.text:typeof f.output_text=="string"?h+=String(f.output_text):typeof f.content=="string"&&(h+=String(f.content)));return h},a="";if(typeof r?.content=="string"?a=r.content:Array.isArray(r?.content)&&(a=i(r.content)),!a||a.trim()===""){let d=r,h=d?.parsed??d?.json??void 0;if(h&&typeof h=="object")try{a=JSON.stringify(h)}catch{}}if((!a||a.trim()==="")&&Array.isArray(r?.tool_calls)&&r.tool_calls.length){let d=r.tool_calls[0]?.function?.arguments;typeof d=="string"&&(a=d)}let s=(n??[]).map(d=>({functionCall:{name:d.name,args:d.args,id:d.id}})),o=[];a&&o.push({text:a}),s.length>0&&o.push(...s);let l=[{content:{role:"model",parts:o}}],u=GBt(t.usage),c={candidates:l,...u?{usageMetadata:u}:{}};return c.functionCalls=n,c}var GBt,Gde,qBt=Oe(()=>{"use strict";G4();kBt();GBt=t=>{if(t)return{promptTokenCount:t.prompt_tokens??0,candidatesTokenCount:t.completion_tokens??0}};Gde=class{apiBase;apiKey;githubToken;httpOptions;openai;authType;constructor(e={}){let n=e.apiBase||process.env.KODA_API_BASE||"https://api.kodacode.ru/dev/v1";this.apiBase=n.endsWith("/")?n:`${n}/`,this.apiKey=e.apiKey||process.env.KODA_API_KEY,this.githubToken=process.env.KODA_GITHUB_TOKEN||process.env.GITHUB_TOKEN,this.httpOptions=e.httpOptions,this.authType=e.authType,this.loadTokensFromDiskSync()}shouldOmitAuthHeader(){return this.isKodaHost(this.apiBase)?this.apiKey||this.githubToken?!1:process.env.KODA_FORCE_AUTH!=="true":!1}isKodaHost(e){try{let r=new URL(e).hostname;return r==="api.kodacode.ru"||r.endsWith(".kodacode.ru")}catch{return!1}}loadTokensFromDiskSync(){try{let e=process.env.XDG_CONFIG_HOME||UBt.join($sn.homedir(),".config"),r=UBt.join(e,"koda","credentials.json");if(!Vde.existsSync(r))return;let n=Vde.readFileSync(r,"utf-8"),i=JSON.parse(n);!this.apiKey&&typeof i.kodaApiKey=="string"&&i.kodaApiKey&&(this.apiKey=i.kodaApiKey,process.env.KODA_API_KEY||(process.env.KODA_API_KEY=i.kodaApiKey)),!this.githubToken&&typeof i.githubToken=="string"&&i.githubToken&&(this.githubToken=i.githubToken,process.env.KODA_GITHUB_TOKEN||(process.env.KODA_GITHUB_TOKEN=i.githubToken),process.env.GITHUB_TOKEN||(process.env.GITHUB_TOKEN=i.githubToken))}catch{}}async generateContent(e,r){let n=e.config?.systemInstruction,i=typeof n=="string"||n&&typeof n=="object"&&"parts"in n?n:n?{role:"user",parts:[n]}:void 0,a=e.config,s=a?.maxOutputTokens??a?.maxTokens??4e3,o=sQ({model:e.model,messages:zY(e.contents,i),temperature:e.config?.temperature??null,top_p:e.config?.topP??null,stream:!1,max_tokens:s});try{let u=TRe(e.config?.tools);u&&u.length&&(o.tools=u,o.tool_choice||="auto")}catch{}if(["KodaChat","KodaEdit","KodaApply"].includes(e.model)){let u=[...o.messages].reverse().find(c=>c.role==="user");u&&typeof u.content=="string"&&(u.content+=`
397
+ `);super({baseURL:s.baseURL,timeout:s.timeout??6e5,httpAgent:s.httpAgent,maxRetries:s.maxRetries,fetch:s.fetch}),this.completions=new Ax(this),this.chat=new Vv(this),this.embeddings=new Ex(this),this.files=new WD(this),this.images=new bx(this),this.audio=new x9(this),this.moderations=new Ix(this),this.models=new JD(this),this.fineTuning=new KA(this),this.graders=new KD(this),this.vectorStores=new JA(this),this.beta=new PE(this),this.batches=new GD(this),this.uploads=new tS(this),this.responses=new eS(this),this.evals=new F9(this),this.containers=new O9(this),this._options=s,this.apiKey=r,this.organization=n,this.project=i}defaultQuery(){return this._options.defaultQuery}defaultHeaders(e){return{...super.defaultHeaders(e),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project,...this._options.defaultHeaders}}authHeaders(e){return{Authorization:`Bearer ${this.apiKey}`}}stringifyQuery(e){return kTe(e,{arrayFormat:"brackets"})}};PBt=Ii;Ii.OpenAI=PBt;Ii.DEFAULT_TIMEOUT=6e5;Ii.OpenAIError=An;Ii.APIError=Ep;Ii.APIConnectionError=QD;Ii.APIConnectionTimeoutError=kD;Ii.APIUserAbortError=Hd;Ii.NotFoundError=wY;Ii.ConflictError=IY;Ii.RateLimitError=xY;Ii.BadRequestError=DY;Ii.AuthenticationError=SY;Ii.InternalServerError=BY;Ii.PermissionDeniedError=bY;Ii.UnprocessableEntityError=TY;Ii.toFile=uBe;Ii.fileFromPath=mce;Ii.Completions=Ax;Ii.Chat=Vv;Ii.ChatCompletionsPage=HD;Ii.Embeddings=Ex;Ii.Files=WD;Ii.FileObjectsPage=Cx;Ii.Images=bx;Ii.Audio=x9;Ii.Moderations=Ix;Ii.Models=JD;Ii.ModelsPage=wx;Ii.FineTuning=KA;Ii.Graders=KD;Ii.VectorStores=JA;Ii.VectorStoresPage=Tx;Ii.VectorStoreSearchResponsesPage=xx;Ii.Beta=PE;Ii.Batches=GD;Ii.BatchesPage=ux;Ii.Uploads=tS;Ii.Responses=eS;Ii.Evals=F9;Ii.EvalListResponsesPage=vx;Ii.Containers=O9;Ii.ContainerListResponsesPage=gx;QBt=Ii});import*as Vde from"node:fs";import UBt from"node:path";import $sn from"node:os";function sQ(t){t.include_reasoning=!1;let e=t.extra_body,r=QE(e)?{...e}:{},n=QE(r.reasoning)?r.reasoning:void 0;return r.reasoning={...n??{},exclude:!0},r.include_reasoning=!1,t.extra_body=r,t}function HBt(t){return!t||t.indexOf("<think")===-1?t:t.replace(/<think>[\s\S]*?<\/think>\s*/g,"").replace(/<\/?think>/g,"")}function QE(t){return typeof t=="object"&&t!==null}function Ude(t){return typeof t=="string"?t:void 0}function jsn(t){return Array.isArray(t)?t.map(e=>typeof e=="string"?{text:e}:e):typeof t=="string"?[{text:t}]:[t]}function Hde(t){return!t||t.length===0?"":t.map(e=>{if(e.text)return e.text;if(e.functionResponse?.response){let r=e.functionResponse.response;if(typeof r.output=="string")return r.output;try{return JSON.stringify(r)}catch{return""}}return""}).join("")}function VBt(t){return Array.isArray(t)?t.map(e=>Array.isArray(e)?{role:"user",parts:jsn(e)}:typeof e=="string"?{role:"user",parts:[{text:e}]}:"parts"in e?e:{role:"user",parts:[e]}):typeof t=="string"?[{role:"user",parts:[{text:t}]}]:"parts"in t?[t]:[{role:"user",parts:[t]}]}function Ysn(t){let e=t.role==="model"?"assistant":"user",r=(t.parts||[]).filter(o=>o.functionResponse),n=(t.parts||[]).filter(o=>o.functionCall),i=(t.parts||[]).filter(o=>!o.functionResponse&&!o.functionCall),a=Hde(i),s=[];if(n.length>0){let o=n.map((l,u)=>{let c=l.functionCall;if(!c||!c.name)return;let d="{}";if(c.args&&typeof c.args=="object")try{d=JSON.stringify(c.args)}catch{d="{}"}return{id:c.id||`${c.name}-${u}`,type:"function",function:{name:c.name,arguments:d}}}).filter(Boolean);(o.length>0||a)&&s.push({role:e,content:a||"",...o.length>0?{tool_calls:o}:{}})}else a&&s.push({role:e,content:a});for(let o of r){let l=o.functionResponse,u=(()=>{let c=l.response;if(!c)return"";if(typeof c.output=="string")return c.output;try{return JSON.stringify(c)}catch{return""}})();l.id&&s.push({role:"tool",tool_call_id:l.id,content:u})}return s.length===0&&s.push({role:e,content:""}),s}function zY(t,e){let r=VBt(t),n=e?[{role:"system",content:typeof e=="string"?e:Hde(e.parts)}]:[],i=r.flatMap(Ysn);return[...n,...i]}function Wsn(t){return typeof t=="object"&&t!==null&&"functionDeclarations"in t&&Array.isArray(t.functionDeclarations)}function TRe(t){if(!t)return;let e=[];for(let r of t){let n=Wsn(r)?r.functionDeclarations:void 0;if(Array.isArray(n))for(let i of n)i?.name&&e.push({type:"function",function:{name:i.name,description:i.description,parameters:i.parametersJsonSchema??i.parameters}})}return e.length?e:void 0}function xRe(t){let r=t.choices?.[0]?.message,n=r?.tool_calls?r.tool_calls.map(d=>({id:d.id,name:d.function.name,args:(()=>{try{let h=JSON.parse(d.function.arguments||"{}");return h&&typeof h=="object"?h:{}}catch{return{}}})()})):void 0,i=d=>{let h="";for(let f of d)QE(f)&&(typeof f.text=="string"?h+=f.text:typeof f.output_text=="string"?h+=String(f.output_text):typeof f.content=="string"&&(h+=String(f.content)));return h},a="";if(typeof r?.content=="string"?a=r.content:Array.isArray(r?.content)&&(a=i(r.content)),!a||a.trim()===""){let d=r,h=d?.parsed??d?.json??void 0;if(h&&typeof h=="object")try{a=JSON.stringify(h)}catch{}}if((!a||a.trim()==="")&&Array.isArray(r?.tool_calls)&&r.tool_calls.length){let d=r.tool_calls[0]?.function?.arguments;typeof d=="string"&&(a=d)}let s=(n??[]).map(d=>({functionCall:{name:d.name,args:d.args,id:d.id}})),o=[];a&&o.push({text:a}),s.length>0&&o.push(...s);let l=[{content:{role:"model",parts:o}}],u=GBt(t.usage),c={candidates:l,...u?{usageMetadata:u}:{}};return c.functionCalls=n,c}var GBt,Gde,qBt=Oe(()=>{"use strict";G4();kBt();GBt=t=>{if(t)return{promptTokenCount:t.prompt_tokens??0,candidatesTokenCount:t.completion_tokens??0}};Gde=class{apiBase;apiKey;githubToken;httpOptions;openai;authType;constructor(e={}){let n=e.apiBase||process.env.KODA_API_BASE||"https://api.kodacode.ru/v1";this.apiBase=n.endsWith("/")?n:`${n}/`,this.apiKey=e.apiKey||process.env.KODA_API_KEY,this.githubToken=process.env.KODA_GITHUB_TOKEN||process.env.GITHUB_TOKEN,this.httpOptions=e.httpOptions,this.authType=e.authType,this.loadTokensFromDiskSync()}shouldOmitAuthHeader(){return this.isKodaHost(this.apiBase)?this.apiKey||this.githubToken?!1:process.env.KODA_FORCE_AUTH!=="true":!1}isKodaHost(e){try{let r=new URL(e).hostname;return r==="api.kodacode.ru"||r.endsWith(".kodacode.ru")}catch{return!1}}loadTokensFromDiskSync(){try{let e=process.env.XDG_CONFIG_HOME||UBt.join($sn.homedir(),".config"),r=UBt.join(e,"koda","credentials.json");if(!Vde.existsSync(r))return;let n=Vde.readFileSync(r,"utf-8"),i=JSON.parse(n);!this.apiKey&&typeof i.kodaApiKey=="string"&&i.kodaApiKey&&(this.apiKey=i.kodaApiKey,process.env.KODA_API_KEY||(process.env.KODA_API_KEY=i.kodaApiKey)),!this.githubToken&&typeof i.githubToken=="string"&&i.githubToken&&(this.githubToken=i.githubToken,process.env.KODA_GITHUB_TOKEN||(process.env.KODA_GITHUB_TOKEN=i.githubToken),process.env.GITHUB_TOKEN||(process.env.GITHUB_TOKEN=i.githubToken))}catch{}}async generateContent(e,r){let n=e.config?.systemInstruction,i=typeof n=="string"||n&&typeof n=="object"&&"parts"in n?n:n?{role:"user",parts:[n]}:void 0,a=e.config,s=a?.maxOutputTokens??a?.maxTokens??4e3,o=sQ({model:e.model,messages:zY(e.contents,i),temperature:e.config?.temperature??null,top_p:e.config?.topP??null,stream:!1,max_tokens:s});try{let u=TRe(e.config?.tools);u&&u.length&&(o.tools=u,o.tool_choice||="auto")}catch{}if(["KodaChat","KodaEdit","KodaApply"].includes(e.model)){let u=[...o.messages].reverse().find(c=>c.role==="user");u&&typeof u.content=="string"&&(u.content+=`
398
398
  /no_think`)}try{let c=e.config,d=c?.response_format;if(d&&typeof d=="object")o.response_format=d;else{let h=c?.responseJsonSchema,f=c?.responseMimeType;h&&typeof h=="object"?o.response_format={type:"json_schema",json_schema:{name:"koda_structured",schema:h,strict:!0}}:f==="application/json"&&(o.response_format={type:"json_object"})}}catch(u){console.warn("Failed to process response format parameters:",u)}let l=this.getOpenAI();try{let u=await l.chat.completions.create(o);return xRe(u)}catch(u){let c=E=>{if(typeof E=="string")return E;if(QE(E)){let y=Ude(E.message),g=QE(E.error)?Ude(E.error.message):void 0,C=QE(E.response)?E.response:void 0,D=C&&QE(C.data)?C.data:void 0,S=D?Ude(D.message):void 0,w=D&&QE(D.error)?Ude(D.error.message):void 0;return y||g||S||w||""}return""},d=c(u).toLowerCase();if(d.includes("response_format")&&(d.includes("unavailable")||d.includes("unsupported")||d.includes("invalid"))){if(o.response_format?.type==="json_schema")try{let g=sQ({...o,response_format:{type:"json_object"}}),C=await l.chat.completions.create(g);return xRe(C)}catch(g){let C=c(g).toLowerCase();if(!(C.includes("response_format")&&(C.includes("unavailable")||C.includes("unsupported")||C.includes("invalid"))))throw g}if(!!(e.config?.responseJsonSchema||e.config?.responseMimeType==="application/json")){let g=typeof i=="string"?i:i?Hde(i.parts):"",C=e.config.responseJsonSchema,D=C?`Return only a valid JSON object that strictly matches this JSON Schema. No extra text, no code fences. Schema:
399
399
  ${JSON.stringify(C)}`:"Return only a valid JSON object. No extra text, no code fences.",S=[g,D].filter(Boolean).join(`
400
400
 
@@ -850,7 +850,7 @@ Sources:
850
850
  ${E.join(`
851
851
  `)}`)}let y=l;return console.debug(`[WebFetchTool] Formatted tool response for prompt "${r}:
852
852
 
853
- ":`,y),{llmContent:y,returnDisplay:"Content processed from prompt."}}catch(o){let l=`Error processing web content for prompt "${r.substring(0,50)}...": ${sr(o)}`;return console.error(l,o),{llmContent:`Error: ${l}`,returnDisplay:`Error: ${l}`}}}},eJ=class t extends xo{config;static Name="web_fetch";constructor(e){super(t.Name,"WebFetch","Processes content from URL(s), including local and private network addresses (e.g., localhost), embedded in a prompt. Include up to 20 URLs and instructions (e.g., summarize, extract specific data) directly in the 'prompt' parameter.",Bo.Fetch,{properties:{prompt:{description:'A comprehensive prompt that includes the URL(s) (up to 20) to fetch and specific instructions on how to process their content (e.g., "Summarize https://example.com/article and extract key points from https://another.com/data"). Must contain as least one URL starting with http:// or https://.',type:"string"}},required:["prompt"],type:"object"}),this.config=e;let r=e.getProxy();r&&(0,Kme.setGlobalDispatcher)(new Kme.ProxyAgent(r))}validateToolParams(e){let r=ql.validate(this.schema.parametersJsonSchema,e);return r||(!e.prompt||e.prompt.trim()===""?"The 'prompt' parameter cannot be empty and must contain URL(s) and instructions.":!e.prompt.includes("http://")&&!e.prompt.includes("https://")?"The 'prompt' must contain at least one valid URL (starting with http:// or https://).":null)}createInvocation(e){return new yHe(this.config,e)}}});var Jme,MKt=Oe(()=>{"use strict";Jme=class{apiKey;baseUrl;constructor(e,r="https://google.serper.dev"){this.apiKey=e,this.baseUrl=r}buildAdvancedQuery(e){let r=e.q.trim().replace(/\s+/g," ");if(e.site&&(r+=` site:${e.site}`),e.filetype&&(r+=` filetype:${e.filetype}`),e.inurl&&(r+=` inurl:${e.inurl}`),e.intitle&&(r+=` intitle:${e.intitle}`),e.related&&(r+=` related:${e.related}`),e.cache&&(r+=` cache:${e.cache}`),e.before&&(r+=` before:${e.before}`),e.after&&(r+=` after:${e.after}`),e.exact&&(r+=` "${e.exact}"`),e.exclude&&(r+=e.exclude.split(",").map(n=>` -${n.trim()}`).join("")),e.or){let n=e.or.split(",").map(i=>i.trim()).join(" OR ");r+=` (${n})`}return r.trim()}async search(e,r){let n=this.buildAdvancedQuery(e),i={...e,q:n},a=await fetch(this.baseUrl,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify(i),signal:r});if(!a.ok){let s=await a.text();throw new Error(`Serper API error: ${a.status} ${a.statusText} - ${s}`)}return await a.json()}}});var tJ,LKt=Oe(()=>{"use strict";tJ=class t{static ghAuthToken;static setupGhAuthToken(e){t.ghAuthToken=e}static async getConfig(){let r=process.env.KODA_WEB_SEARCH_BASE_URL||"https://api.kodacode.ru/dev/web_search",n=t.ghAuthToken||process.env.KODA_GITHUB_TOKEN||process.env.GITHUB_TOKEN||"";if(!n)throw new Error("Web search requires Koda to be authenticated to Github");return{apiKey:n,baseUrl:r,language:process.env.KODA_WEB_SEARCH_LANGUAGE||"ru",location:process.env.KODA_WEB_SEARCH_LOCATION||"ru",numResults:1}}}});var CHe,rJ,_He=Oe(()=>{"use strict";ZA();$1();ed();MKt();LKt();CHe=class extends rl{constructor(e){super(e)}getDescription(){return`Searching the web for: "${this.params.query}"`}async execute(e){try{let r=await tJ.getConfig(),n=new Jme(r.apiKey,r.baseUrl),i={q:this.params.query,num:r.numResults??1,gl:r.location??"us",hl:r.language??"en"},s=(await n.search(i,e)).organic??[];if(s.length===0)return{llmContent:`No search results found for query: "${this.params.query}"`,returnDisplay:"No information found.",results:[]};let o=this.formatResults(s),l=o.map((u,c)=>`${`Search Result ${c+1}`}
853
+ ":`,y),{llmContent:y,returnDisplay:"Content processed from prompt."}}catch(o){let l=`Error processing web content for prompt "${r.substring(0,50)}...": ${sr(o)}`;return console.error(l,o),{llmContent:`Error: ${l}`,returnDisplay:`Error: ${l}`}}}},eJ=class t extends xo{config;static Name="web_fetch";constructor(e){super(t.Name,"WebFetch","Processes content from URL(s), including local and private network addresses (e.g., localhost), embedded in a prompt. Include up to 20 URLs and instructions (e.g., summarize, extract specific data) directly in the 'prompt' parameter.",Bo.Fetch,{properties:{prompt:{description:'A comprehensive prompt that includes the URL(s) (up to 20) to fetch and specific instructions on how to process their content (e.g., "Summarize https://example.com/article and extract key points from https://another.com/data"). Must contain as least one URL starting with http:// or https://.',type:"string"}},required:["prompt"],type:"object"}),this.config=e;let r=e.getProxy();r&&(0,Kme.setGlobalDispatcher)(new Kme.ProxyAgent(r))}validateToolParams(e){let r=ql.validate(this.schema.parametersJsonSchema,e);return r||(!e.prompt||e.prompt.trim()===""?"The 'prompt' parameter cannot be empty and must contain URL(s) and instructions.":!e.prompt.includes("http://")&&!e.prompt.includes("https://")?"The 'prompt' must contain at least one valid URL (starting with http:// or https://).":null)}createInvocation(e){return new yHe(this.config,e)}}});var Jme,MKt=Oe(()=>{"use strict";Jme=class{apiKey;baseUrl;constructor(e,r="https://google.serper.dev"){this.apiKey=e,this.baseUrl=r}buildAdvancedQuery(e){let r=e.q.trim().replace(/\s+/g," ");if(e.site&&(r+=` site:${e.site}`),e.filetype&&(r+=` filetype:${e.filetype}`),e.inurl&&(r+=` inurl:${e.inurl}`),e.intitle&&(r+=` intitle:${e.intitle}`),e.related&&(r+=` related:${e.related}`),e.cache&&(r+=` cache:${e.cache}`),e.before&&(r+=` before:${e.before}`),e.after&&(r+=` after:${e.after}`),e.exact&&(r+=` "${e.exact}"`),e.exclude&&(r+=e.exclude.split(",").map(n=>` -${n.trim()}`).join("")),e.or){let n=e.or.split(",").map(i=>i.trim()).join(" OR ");r+=` (${n})`}return r.trim()}async search(e,r){let n=this.buildAdvancedQuery(e),i={...e,q:n},a=await fetch(this.baseUrl,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify(i),signal:r});if(!a.ok){let s=await a.text();throw new Error(`Serper API error: ${a.status} ${a.statusText} - ${s}`)}return await a.json()}}});var tJ,LKt=Oe(()=>{"use strict";tJ=class t{static ghAuthToken;static setupGhAuthToken(e){t.ghAuthToken=e}static async getConfig(){let r=process.env.KODA_WEB_SEARCH_BASE_URL||"https://api.kodacode.ru/web_search",n=t.ghAuthToken||process.env.KODA_GITHUB_TOKEN||process.env.GITHUB_TOKEN||"";if(!n)throw new Error("Web search requires Koda to be authenticated to Github");return{apiKey:n,baseUrl:r,language:process.env.KODA_WEB_SEARCH_LANGUAGE||"ru",location:process.env.KODA_WEB_SEARCH_LOCATION||"ru",numResults:1}}}});var CHe,rJ,_He=Oe(()=>{"use strict";ZA();$1();ed();MKt();LKt();CHe=class extends rl{constructor(e){super(e)}getDescription(){return`Searching the web for: "${this.params.query}"`}async execute(e){try{let r=await tJ.getConfig(),n=new Jme(r.apiKey,r.baseUrl),i={q:this.params.query,num:r.numResults??1,gl:r.location??"us",hl:r.language??"en"},s=(await n.search(i,e)).organic??[];if(s.length===0)return{llmContent:`No search results found for query: "${this.params.query}"`,returnDisplay:"No information found.",results:[]};let o=this.formatResults(s),l=o.map((u,c)=>`${`Search Result ${c+1}`}
854
854
  Title: ${u.title}
855
855
  URL: ${u.url}
856
856
  Snippet: ${u.snippet}`).join(`
@@ -1416,7 +1416,7 @@ ${t}`:t}var nJt=Oe(()=>{"use strict";});function iJt(t,e){if(e<=0||e>=1)throw ne
1416
1416
  email = gemini-cli@google.com
1417
1417
  [commit]
1418
1418
  gpgsign = false
1419
- `);let i=OGe(e);await i.checkIsRepo(mJ.IS_REPO_ROOT)||(await i.init(!1,{"--initial-branch":"main"}),await i.commit("Initial commit",{"--allow-empty":null}));let s=lb.join(this.projectRoot,".gitignore"),o=lb.join(e,".gitignore"),l="";try{l=await uR.readFile(s,"utf-8")}catch(u){if(Ns(u)&&u.code!=="ENOENT")throw u}await uR.writeFile(o,l)}get shadowGitRepository(){let e=this.getHistoryDir();return OGe(this.projectRoot).env({GIT_DIR:lb.join(e,".git"),GIT_WORK_TREE:this.projectRoot,HOME:e,XDG_CONFIG_HOME:e})}async getCurrentCommitHash(){return(await this.shadowGitRepository.raw("rev-parse","HEAD")).trim()}async createFileSnapshot(e){let r=this.shadowGitRepository;return await r.add("."),(await r.commit(e)).commit}async restoreProjectFromSnapshot(e){let r=this.shadowGitRepository;await r.raw(["restore","--source",e,"."]),await r.clean("f",["-d"])}}});var XZt,Nhe,Ohe,Fhe,MGe=Oe(()=>{"use strict";Obe();bT();p_();Er();XZt=Ve(Y1(),1);Fbe();(function(t){t.GCP="gcp",t.LOCAL="local"})(Nhe||(Nhe={}));Ohe=Nhe.LOCAL,Fhe="http://localhost:4317"});function LGe(){let t=["www-browser"],e=process.env.BROWSER;if(e&&t.includes(e)||process.env.CI||process.env.DEBIAN_FRONTEND==="noninteractive")return!1;let r=!!process.env.SSH_CONNECTION;return!(process.platform==="linux"&&!["DISPLAY","WAYLAND_DISPLAY","MIR_SOCKET"].some(a=>!!process.env[a])||r&&process.platform!=="linux")}var PGe=Oe(()=>{"use strict";});function ZZt(t){if(t){let n=t.trim();return n.endsWith("/")?n.slice(0,-1):n}let r=process.env.KODA_DEFAULT_API_BASE||process.env.KODA_API_BASE||(!0?"https://api.kodacode.ru/dev/v1":"https://api.kodacode.ru/v1");return r.endsWith("/")?r.slice(0,-1):r}function eer(t){try{let e=new URL(t).hostname;if(e==="api.kodacode.ru"||e.endsWith(".kodacode.ru"))return process.env.KODA_FORCE_AUTH!=="true"}catch{}return!1}async function mU(t){let e=ZZt(t?.baseUrl),r=`${e}/models`,n={Accept:"application/json","Accept-Encoding":"identity"},i=eer(e),a=t?.apiKey||process.env.KODA_API_KEY||process.env.KODA_GITHUB_TOKEN||process.env.GITHUB_TOKEN;!i&&a&&(n.Authorization=`Bearer ${a}`);let s=await fetch(r,{headers:n});if(!s.ok)throw new Error(`Failed to list models: ${s.status} ${s.statusText}`);let o=await s.json(),l=Array.isArray(o.data)?o.data:[],u=Array.isArray(o.koda_data)?o.koda_data:[],d=[...t?.includeDefaults===!1?[]:rNn.map(h=>{if(!h.id)return h;let f=h.id.toLowerCase(),E=u.find(y=>{if(!nNn(y))return!1;let g=y.id;return typeof g=="string"&&g.toLowerCase()===f});return E&&typeof E.context_length=="number"?{...h,context_length:E.context_length}:h}),...l].map(h=>h?.id).filter(h=>typeof h=="string"&&h.length>0);return Array.from(new Set(d)).sort((h,f)=>h.localeCompare(f))}function nNn(t){if(!t)return!1;let e=(t.id??"").toLowerCase(),r=(t.owned_by??"").toLowerCase();return e.includes("koda")||r==="koda"}async function Mhe(){let t=ZZt(),e=`${t}/models`,r={Accept:"application/json","Accept-Encoding":"identity"},n=eer(t),i=process.env.KODA_API_KEY||process.env.KODA_GITHUB_TOKEN||process.env.GITHUB_TOKEN;!n&&i&&(r.Authorization=`Bearer ${i}`);try{let a=await fetch(e,{headers:r});if(!a.ok){console.warn(`Failed to fetch model context lengths: ${a.status} ${a.statusText}`),sJ([{id:"KodaAgent",context_length:122e3}]);return}let s=await a.json(),o=Array.isArray(s.data)?s.data:[],l=Array.isArray(s.koda_data)?s.koda_data:[];l.some(c=>c.id&&c.id.toLowerCase()==="kodaagent")||l.push({id:"KodaAgent",owned_by:"z-ai",context_length:122e3}),sJ([...o,...l])}catch(a){console.warn("Error fetching model context lengths from API:",a),sJ([{id:"KodaAgent",context_length:122e3}])}}var rNn,Lhe=Oe(()=>{"use strict";ihe();rNn=[{id:"KodaAgent",owned_by:"z-ai",context_length:122e3}]});import*as O7 from"fs";import*as F7 from"path";var Phe,ter=Oe(()=>{"use strict";ed();Phe=class{directories=new Set;initialDirectories;constructor(e,r=[]){this.addDirectory(e);for(let n of r)this.addDirectory(n);this.initialDirectories=new Set(this.directories)}addDirectory(e,r=process.cwd()){this.directories.add(this.resolveAndValidateDir(e,r))}resolveAndValidateDir(e,r=process.cwd()){let n=F7.isAbsolute(e)?e:F7.resolve(r,e);if(!O7.existsSync(n))throw new Error(`Directory does not exist: ${n}`);if(!O7.statSync(n).isDirectory())throw new Error(`Path is not a directory: ${n}`);return O7.realpathSync(n)}getDirectories(){return Array.from(this.directories)}getInitialDirectories(){return Array.from(this.initialDirectories)}setDirectories(e){this.directories.clear();for(let r of e)this.addDirectory(r)}isPathWithinWorkspace(e){try{let r=this.fullyResolvedPath(e);for(let n of this.directories)if(this.isPathWithinRoot(r,n))return!0;return!1}catch{return!1}}fullyResolvedPath(e){try{return O7.realpathSync(e)}catch(r){if(Ns(r)&&r.code==="ENOENT"&&r.path&&!this.isFileSymlink(r.path))return r.path;throw r}}isPathWithinRoot(e,r){let n=F7.relative(r,e);return!n.startsWith(`..${F7.sep}`)&&n!==".."&&!F7.isAbsolute(n)}isFileSymlink(e){try{return!O7.readlinkSync(e).endsWith("/")}catch{return!1}}}});import*as Qhe from"node:path";import rer from"node:process";var qa,hU,lB,CJ,hW,cR,HE=Oe(()=>{"use strict";G4();$Bt();tOe();B1e();GQ();mz();Z1e();xz();Sfe();Sz();vHe();bz();yB();_He();OHe();GHe();FGe();ef();MGe();Jw();j$();PGe();Lhe();Cz();bT();p_();ter();(function(t){t.DEFAULT="default",t.AUTO_EDIT="autoEdit",t.YOLO="yolo"})(qa||(qa={}));hU={respectGitIgnore:!1,respectKodaIgnore:!0},lB={respectGitIgnore:!0,respectKodaIgnore:!0},CJ=class{command;args;env;cwd;url;httpUrl;headers;tcp;timeout;trust;description;includeTools;excludeTools;extensionName;oauth;authProviderType;constructor(e,r,n,i,a,s,o,l,u,c,d,h,f,E,y,g){this.command=e,this.args=r,this.env=n,this.cwd=i,this.url=a,this.httpUrl=s,this.headers=o,this.tcp=l,this.timeout=u,this.trust=c,this.description=d,this.includeTools=h,this.excludeTools=f,this.extensionName=E,this.oauth=y,this.authProviderType=g}};(function(t){t.DYNAMIC_DISCOVERY="dynamic_discovery",t.GOOGLE_CREDENTIALS="google_credentials"})(hW||(hW={}));cR=class{toolRegistry;promptRegistry;sessionId;contentGeneratorConfig;embeddingModel;sandbox;targetDir;workspaceContext;debugMode;question;fullContext;coreTools;excludeTools;toolDiscoveryCommand;toolCallCommand;mcpServerCommand;mcpServers;userMemory;geminiMdFileCount;approvalMode;showMemoryUsage;accessibility;telemetrySettings;usageStatisticsEnabled;geminiClient;fileFiltering;fileDiscoveryService=null;gitService=void 0;checkpointing;proxy;cwd;bugCommand;model;extensionContextFilePaths;noBrowser;folderTrustFeature;folderTrust;ideMode;ideClient;inFallbackMode=!1;maxSessionTurns;listExtensions;_extensions;_blockedMcpServers;flashFallbackHandler;quotaErrorOccurred=!1;summarizeToolOutput;experimentalZedIntegration=!1;loadMemoryFromIncludeDirectories=!1;chatCompression;interactive;trustedFolder;initialized=!1;constructor(e){this.sessionId=e.sessionId,this.embeddingModel=e.embeddingModel??jO,this.sandbox=e.sandbox,this.targetDir=Qhe.resolve(e.targetDir),this.workspaceContext=new Phe(this.targetDir,e.includeDirectories??[]),this.debugMode=e.debugMode,this.question=e.question,this.fullContext=e.fullContext??!1,this.coreTools=e.coreTools,this.excludeTools=e.excludeTools,this.toolDiscoveryCommand=e.toolDiscoveryCommand,this.toolCallCommand=e.toolCallCommand,this.mcpServerCommand=e.mcpServerCommand,this.mcpServers=e.mcpServers,this.userMemory=e.userMemory??"",this.geminiMdFileCount=e.geminiMdFileCount??0,this.approvalMode=e.approvalMode??qa.DEFAULT,this.showMemoryUsage=e.showMemoryUsage??!1,this.accessibility=e.accessibility??{},this.telemetrySettings={enabled:e.telemetry?.enabled??!1,target:e.telemetry?.target??Ohe,otlpEndpoint:e.telemetry?.otlpEndpoint??Fhe,logPrompts:e.telemetry?.logPrompts??!0,outfile:e.telemetry?.outfile},this.usageStatisticsEnabled=e.usageStatisticsEnabled??!0,this.fileFiltering={respectGitIgnore:e.fileFiltering?.respectGitIgnore??!0,respectKodaIgnore:e.fileFiltering?.respectKodaIgnore??!0,enableRecursiveFileSearch:e.fileFiltering?.enableRecursiveFileSearch??!0},this.checkpointing=e.checkpointing??!1,this.proxy=e.proxy,this.cwd=e.cwd??rer.cwd(),this.fileDiscoveryService=e.fileDiscoveryService??null,this.bugCommand=e.bugCommand,this.model=e.model,this.extensionContextFilePaths=e.extensionContextFilePaths??[],this.maxSessionTurns=e.maxSessionTurns??-1,this.experimentalZedIntegration=e.experimentalZedIntegration??!1,this.listExtensions=e.listExtensions??!1,this._extensions=e.extensions??[],this._blockedMcpServers=e.blockedMcpServers??[],this.noBrowser=e.noBrowser??!1,this.summarizeToolOutput=e.summarizeToolOutput,this.folderTrustFeature=e.folderTrustFeature??!1,this.folderTrust=e.folderTrust??!1,this.ideMode=e.ideMode??!1,this.ideClient=vz.getInstance(),this.loadMemoryFromIncludeDirectories=e.loadMemoryFromIncludeDirectories??!1,this.chatCompression=e.chatCompression,this.interactive=e.interactive??!1,this.trustedFolder=e.trustedFolder,e.contextFileName&&gB(e.contextFileName),this.telemetrySettings.enabled&&vle(this),this.getUsageStatisticsEnabled()?ac.getInstance(this)?.logStartSessionEvent(new YO(this)):console.log("Data collection is disabled.")}async initialize(){if(this.initialized)throw Error("Config was already initialized");this.initialized=!0,this.getFileService(),this.getCheckpointingEnabled()&&await this.getGitService(),await Mhe(),this.promptRegistry=new qde,this.toolRegistry=await this.createToolRegistry()}async refreshAuth(e){let r=[];this.geminiClient&&this.geminiClient.isInitialized()&&(r=this.geminiClient.getHistory());let n=BRe(this,e),i=new uJ(this);await i.initialize(n);let a=this.contentGeneratorConfig?.authType===ln.LOGIN_WITH_GITHUB&&e===ln.LOGIN_WITH_GITHUB;this.contentGeneratorConfig=n,this.geminiClient=i,r.length>0&&this.geminiClient.setHistory(r,{stripThoughts:a}),this.inFallbackMode=!1}getSessionId(){return this.sessionId}shouldLoadMemoryFromIncludeDirectories(){return this.loadMemoryFromIncludeDirectories}getContentGeneratorConfig(){return this.contentGeneratorConfig}getModel(){let e=this.contentGeneratorConfig?.model||this.model;return typeof e=="object"&&e!==null&&"name"in e?e.name||this.model:e}setModel(e){typeof e=="object"&&e!==null&&"name"in e&&(e=e.name),this.contentGeneratorConfig&&(this.contentGeneratorConfig.model=e)}isInFallbackMode(){return this.inFallbackMode}setFallbackMode(e){this.inFallbackMode=e}setFlashFallbackHandler(e){this.flashFallbackHandler=e}getMaxSessionTurns(){return this.maxSessionTurns}setQuotaErrorOccurred(e){this.quotaErrorOccurred=e}getQuotaErrorOccurred(){return this.quotaErrorOccurred}getEmbeddingModel(){return this.embeddingModel}getSandbox(){return this.sandbox}isRestrictiveSandbox(){let e=this.getSandbox(),r=rer.env.SEATBELT_PROFILE;return!!e&&e.command==="sandbox-exec"&&!!r&&r.startsWith("restrictive-")}getTargetDir(){return this.targetDir}getProjectRoot(){return this.targetDir}getWorkspaceContext(){return this.workspaceContext}getToolRegistry(){return Promise.resolve(this.toolRegistry)}getPromptRegistry(){return this.promptRegistry}getDebugMode(){return this.debugMode}getQuestion(){return this.question}getFullContext(){return this.fullContext}getCoreTools(){return this.coreTools}getExcludeTools(){return this.excludeTools}getToolDiscoveryCommand(){return this.toolDiscoveryCommand}getToolCallCommand(){return this.toolCallCommand}getMcpServerCommand(){return this.mcpServerCommand}getMcpServers(){return this.mcpServers}getUserMemory(){return this.userMemory}setUserMemory(e){this.userMemory=e}getGeminiMdFileCount(){return this.geminiMdFileCount}setGeminiMdFileCount(e){this.geminiMdFileCount=e}getApprovalMode(){return this.approvalMode}setApprovalMode(e){this.approvalMode=e}getShowMemoryUsage(){return this.showMemoryUsage}getAccessibility(){return this.accessibility}getTelemetryEnabled(){return this.telemetrySettings.enabled??!1}getTelemetryLogPromptsEnabled(){return this.telemetrySettings.logPrompts??!0}getTelemetryOtlpEndpoint(){return this.telemetrySettings.otlpEndpoint??Fhe}getTelemetryTarget(){return this.telemetrySettings.target??Ohe}getTelemetryOutfile(){return this.telemetrySettings.outfile}getGeminiClient(){return this.geminiClient}getGeminiDir(){return Qhe.join(this.targetDir,Ph)}getProjectTempDir(){return cv(this.getProjectRoot())}getEnableRecursiveFileSearch(){return this.fileFiltering.enableRecursiveFileSearch}getFileFilteringRespectGitIgnore(){return this.fileFiltering.respectGitIgnore}getFileFilteringRespectKodaIgnore(){return this.fileFiltering.respectKodaIgnore}getFileFilteringOptions(){return{respectGitIgnore:this.fileFiltering.respectGitIgnore,respectKodaIgnore:this.fileFiltering.respectKodaIgnore}}getCheckpointingEnabled(){return this.checkpointing}getProxy(){return this.proxy}getWorkingDir(){return this.cwd}getBugCommand(){return this.bugCommand}getFileService(){return this.fileDiscoveryService||(this.fileDiscoveryService=new iR(this.targetDir)),this.fileDiscoveryService}getUsageStatisticsEnabled(){return this.usageStatisticsEnabled}getExtensionContextFilePaths(){return this.extensionContextFilePaths}getExperimentalZedIntegration(){return this.experimentalZedIntegration}getListExtensions(){return this.listExtensions}getExtensions(){return this._extensions}getBlockedMcpServers(){return this._blockedMcpServers}getNoBrowser(){return this.noBrowser}isBrowserLaunchSuppressed(){return this.getNoBrowser()||!LGe()}getSummarizeToolOutputConfig(){return this.summarizeToolOutput}getIdeMode(){return this.ideMode}getFolderTrustFeature(){return this.folderTrustFeature}getFolderTrust(){return this.folderTrust}isTrustedFolder(){return this.trustedFolder}setIdeMode(e){this.ideMode=e}async setIdeModeAndSyncConnection(e){this.ideMode=e,e?(await this.ideClient.connect(),AL(this,new d_(c_.SESSION))):await this.ideClient.disconnect()}getIdeClient(){return this.ideClient}getChatCompression(){return this.chatCompression}isInteractive(){return this.interactive}async getGitService(){return this.gitService||(this.gitService=new N7(this.targetDir),await this.gitService.initialize()),this.gitService}async createToolRegistry(){let e=new gW(this),r=(n,...i)=>{let a=n.name,s=n.Name||a,o=this.getCoreTools(),l=this.getExcludeTools(),u=!1;o===void 0?u=!0:u=o.some(c=>c===a||c===s||c.startsWith(`${a}(`)||c.startsWith(`${s}(`)),(l?.includes(a)||l?.includes(s))&&(u=!1),u&&e.registerTool(new n(...i))};return r(IS,this),r(ul,this),r(_6,this),r(Lh,this),r(h0,this),r(yc,this),r(eJ,this),r(Qh,this),r(pl,this),r(u7),r(rJ,this),await e.discoverAllTools(),e}}});import khe from"node:path";import{promises as m2}from"node:fs";function ner(t){return encodeURIComponent(t)}function pR(t){try{return decodeURIComponent(t)}catch{return t.replace(/%([0-9A-F]{2})/g,(r,n)=>String.fromCharCode(parseInt(n,16)))}}var iNn,AU,dR,ier=Oe(()=>{"use strict";ef();iNn="logs.json";(function(t){t.USER="user"})(AU||(AU={}));dR=class{geminiDir;logFilePath;sessionId;messageId=0;initialized=!1;logs=[];constructor(e){this.sessionId=e}async _readLogFile(){if(!this.logFilePath)throw new Error("Log file path not set during read attempt.");try{let e=await m2.readFile(this.logFilePath,"utf-8"),r=JSON.parse(e);return Array.isArray(r)?r.filter(n=>typeof n.sessionId=="string"&&typeof n.messageId=="number"&&typeof n.timestamp=="string"&&typeof n.type=="string"&&typeof n.message=="string"):(console.debug(`Log file at ${this.logFilePath} is not a valid JSON array. Starting with empty logs.`),await this._backupCorruptedLogFile("malformed_array"),[])}catch(e){if(e.code==="ENOENT")return[];if(e instanceof SyntaxError)return console.debug(`Invalid JSON in log file ${this.logFilePath}. Backing up and starting fresh.`,e),await this._backupCorruptedLogFile("invalid_json"),[];throw console.debug(`Failed to read or parse log file ${this.logFilePath}:`,e),e}}async _backupCorruptedLogFile(e){if(!this.logFilePath)return;let r=`${this.logFilePath}.${e}.${Date.now()}.bak`;try{await m2.rename(this.logFilePath,r),console.debug(`Backed up corrupted log file to ${r}`)}catch{}}async initialize(){if(!this.initialized){this.geminiDir=cv(process.cwd()),this.logFilePath=khe.join(this.geminiDir,iNn);try{await m2.mkdir(this.geminiDir,{recursive:!0});let e=!0;try{await m2.access(this.logFilePath)}catch{e=!1}this.logs=await this._readLogFile(),!e&&this.logs.length===0&&await m2.writeFile(this.logFilePath,"[]","utf-8");let r=this.logs.filter(n=>n.sessionId===this.sessionId);this.messageId=r.length>0?Math.max(...r.map(n=>n.messageId))+1:0,this.initialized=!0}catch(e){console.error("Failed to initialize logger:",e),this.initialized=!1}}}async _updateLogFile(e){if(!this.logFilePath)throw console.debug("Log file path not set. Cannot persist log entry."),new Error("Log file path not set during update attempt.");let r;try{r=await this._readLogFile()}catch(s){throw console.debug("Critical error reading log file before append:",s),s}let n=r.filter(s=>s.sessionId===e.sessionId),i=n.length>0?Math.max(...n.map(s=>s.messageId))+1:0;if(e.messageId=i,r.some(s=>s.sessionId===e.sessionId&&s.messageId===e.messageId&&s.timestamp===e.timestamp&&s.message===e.message))return console.debug(`Duplicate log entry detected and skipped: session ${e.sessionId}, messageId ${e.messageId}`),this.logs=r,null;r.push(e);try{return await m2.writeFile(this.logFilePath,JSON.stringify(r,null,2),"utf-8"),this.logs=r,e}catch(s){throw console.debug("Error writing to log file:",s),s}}async getPreviousUserMessages(){return this.initialized?this.logs.filter(e=>e.type===AU.USER).sort((e,r)=>{let n=new Date(e.timestamp).getTime();return new Date(r.timestamp).getTime()-n}).map(e=>e.message):[]}async logMessage(e,r){if(!this.initialized||this.sessionId===void 0){console.debug("Logger not initialized or session ID missing. Cannot log message.");return}let n={sessionId:this.sessionId,messageId:this.messageId,type:e,message:r,timestamp:new Date().toISOString()};try{let i=await this._updateLogFile(n);i&&(this.messageId=i.messageId+1)}catch{}}_checkpointPath(e){if(!e.length)throw new Error("No checkpoint tag specified.");if(!this.geminiDir)throw new Error("Checkpoint file path not set.");let r=ner(e);return khe.join(this.geminiDir,`checkpoint-${r}.json`)}async _getCheckpointPath(e){let r=this._checkpointPath(e);try{return await m2.access(r),r}catch(i){if(i.code!=="ENOENT")throw i}let n=khe.join(this.geminiDir,`checkpoint-${e}.json`);try{return await m2.access(n),n}catch(i){if(i.code!=="ENOENT")throw i}return r}async saveCheckpoint(e,r){if(!this.initialized){console.error("Logger not initialized or checkpoint file path not set. Cannot save a checkpoint.");return}let n=this._checkpointPath(r);try{await m2.writeFile(n,JSON.stringify(e,null,2),"utf-8")}catch(i){console.error("Error writing to checkpoint file:",i)}}async loadCheckpoint(e){if(!this.initialized)return console.error("Logger not initialized or checkpoint file path not set. Cannot load checkpoint."),[];let r=await this._getCheckpointPath(e);try{let n=await m2.readFile(r,"utf-8"),i=JSON.parse(n);return Array.isArray(i)?i:(console.warn(`Checkpoint file at ${r} is not a valid JSON array. Returning empty checkpoint.`),[])}catch(n){return n.code==="ENOENT"?[]:(console.error(`Failed to read or parse checkpoint file ${r}:`,n),[])}}async deleteCheckpoint(e){if(!this.initialized||!this.geminiDir)return console.error("Logger not initialized or checkpoint file path not set. Cannot delete checkpoint."),!1;let r=!1,n=this._checkpointPath(e);try{await m2.unlink(n),r=!0}catch(a){if(a.code!=="ENOENT")throw console.error(`Failed to delete checkpoint file ${n}:`,a),a}let i=khe.join(this.geminiDir,`checkpoint-${e}.json`);if(n!==i)try{await m2.unlink(i),r=!0}catch(a){if(a.code!=="ENOENT")throw console.error(`Failed to delete checkpoint file ${i}:`,a),a}return r}async checkpointExists(e){if(!this.initialized)throw new Error("Logger not initialized. Cannot check for checkpoint existence.");let r;try{return r=await this._getCheckpointPath(e),await m2.access(r),!0}catch(n){if(n.code==="ENOENT")return!1;throw console.error(`Failed to check checkpoint existence for ${r??`path for tag "${e}"`}:`,n),n}}close(){this.initialized=!1,this.logFilePath=void 0,this.logs=[],this.sessionId=void 0,this.messageId=0}}});function aNn(t){return pfe(t,{verbose:!0})}var aer=Oe(()=>{"use strict";GMe();});import{execSync as ser,spawn as sNn}from"child_process";function oer(t){return["vscode","vscodium","windsurf","cursor","vim","neovim","zed","emacs","intellij","webstorm","pycharm","phpstorm","rubymine","clion","goland","datagrip","rider","androidstudio"].includes(t)}function ler(t){try{return ser(process.platform==="win32"?`where.exe ${t}`:`command -v ${t}`,{stdio:"ignore"}),!0}catch{return!1}}function gU(t){let e=uer[t];return(process.platform==="win32"?e.win32:e.default).some(n=>ler(n))}function EU(t){let e=!process.env.SANDBOX;return["vscode","vscodium","windsurf","cursor","zed","intellij","webstorm","pycharm","phpstorm","rubymine","clion","goland","datagrip","rider","androidstudio"].includes(t)?e:!0}function _J(t){return t&&oer(t)?gU(t)&&EU(t):!1}function cer(t,e,r){if(!oer(r))return null;let n=uer[r],i=process.platform==="win32"?n.win32:n.default,a=i.slice(0,-1).find(s=>ler(s))||i[i.length-1];switch(r){case"vscode":case"vscodium":case"windsurf":case"cursor":case"zed":return{command:a,args:["--wait","--diff",t,e]};case"intellij":case"webstorm":case"pycharm":case"phpstorm":case"rubymine":case"clion":case"goland":case"datagrip":case"rider":case"androidstudio":return{command:a,args:["--wait","--diff",t,e]};case"vim":case"neovim":return{command:a,args:["-d","-i","NONE","-c","wincmd h | set readonly | wincmd l","-c","highlight DiffAdd cterm=bold ctermbg=22 guibg=#005f00 | highlight DiffChange cterm=bold ctermbg=24 guibg=#005f87 | highlight DiffText ctermbg=21 guibg=#0000af | highlight DiffDelete ctermbg=52 guibg=#5f0000","-c","set showtabline=2 | set tabline=[Instructions]\\ :wqa(save\\ &\\ quit)\\ \\|\\ i/esc(toggle\\ edit\\ mode)","-c","wincmd h | setlocal statusline=OLD\\ FILE","-c","wincmd l | setlocal statusline=%#StatusBold#NEW\\ FILE\\ :wqa(save\\ &\\ quit)\\ \\|\\ i/esc(toggle\\ edit\\ mode)","-c","autocmd WinClosed * wqa",t,e]};case"emacs":return{command:"emacs",args:["--eval",`(ediff "${t}" "${e}")`]};default:return null}}async function QGe(t,e,r,n){let i=cer(t,e,r);if(!i){console.error("No diff tool available. Install a supported editor.");return}try{switch(r){case"vscode":case"vscodium":case"windsurf":case"cursor":case"zed":case"intellij":case"webstorm":case"pycharm":case"phpstorm":case"rubymine":case"clion":case"goland":case"datagrip":case"rider":case"androidstudio":return new Promise((a,s)=>{let o=sNn(i.command,i.args,{stdio:"inherit",shell:!0});o.on("close",l=>{l===0?a():s(new Error(`${r} exited with code ${l}`))}),o.on("error",l=>{s(l)})});case"vim":case"emacs":case"neovim":{let a=process.platform==="win32"?`${i.command} ${i.args.join(" ")}`:`${i.command} ${i.args.map(s=>`"${s}"`).join(" ")}`;try{ser(a,{stdio:"inherit",encoding:"utf8"})}catch(s){console.error("Error in onEditorClose callback:",s)}finally{n()}break}default:throw new Error(`Unsupported editor: ${r}`)}}catch(a){console.error(a)}}var uer,kGe=Oe(()=>{"use strict";uer={vscode:{win32:["code.cmd"],default:["code"]},vscodium:{win32:["codium.cmd"],default:["codium"]},windsurf:{win32:["windsurf"],default:["windsurf"]},cursor:{win32:["cursor"],default:["cursor"]},vim:{win32:["vim"],default:["vim"]},neovim:{win32:["nvim"],default:["nvim"]},zed:{win32:["zed"],default:["zed","zeditor"]},emacs:{win32:["emacs.exe"],default:["emacs"]},intellij:{win32:["idea64.exe"],default:["idea"]},webstorm:{win32:["webstorm64.exe"],default:["webstorm"]},pycharm:{win32:["pycharm64.exe"],default:["pycharm"]},phpstorm:{win32:["phpstorm64.exe"],default:["phpstorm"]},rubymine:{win32:["rubymine64.exe"],default:["rubymine"]},clion:{win32:["clion64.exe"],default:["clion"]},goland:{win32:["goland64.exe"],default:["goland"]},datagrip:{win32:["datagrip64.exe"],default:["datagrip"]},rider:{win32:["rider64.exe"],default:["rider"]},androidstudio:{win32:["studio64.exe"],default:["studio"]}}});import oNn from"os";import yU from"path";import ub from"fs";function UGe(t){return"getModifyContext"in t}function lNn(t,e,r){let n=oNn.tmpdir(),i=yU.join(n,"gemini-cli-tool-modify-diffs");ub.existsSync(i)||ub.mkdirSync(i,{recursive:!0});let a=yU.extname(r),s=yU.basename(r,a),o=Date.now(),l=yU.join(i,`gemini-cli-modify-${s}-old-${o}${a}`),u=yU.join(i,`gemini-cli-modify-${s}-new-${o}${a}`);return ub.writeFileSync(l,t,"utf8"),ub.writeFileSync(u,e,"utf8"),{oldPath:l,newPath:u}}function uNn(t,e,r,n){let i="",a="";try{i=ub.readFileSync(t,"utf8")}catch(l){if(!Ns(l)||l.code!=="ENOENT")throw l;i=""}try{a=ub.readFileSync(e,"utf8")}catch(l){if(!Ns(l)||l.code!=="ENOENT")throw l;a=""}let s=n.createUpdatedParams(i,a,r),o=D6(yU.basename(n.getFilePath(r)),i,a,"Current","Proposed",S6);return{updatedParams:s,updatedDiff:o}}function cNn(t,e){try{ub.unlinkSync(t)}catch{console.error(`Error deleting temp diff file: ${t}`)}try{ub.unlinkSync(e)}catch{console.error(`Error deleting temp diff file: ${e}`)}}async function der(t,e,r,n,i){let a=await e.getCurrentContent(t),s=await e.getProposedContent(t),{oldPath:o,newPath:l}=lNn(a,s,e.getFilePath(t));try{return await QGe(o,l,r,i),uNn(o,l,t,e)}finally{cNn(o,l)}}var per=Oe(()=>{"use strict";kGe();fB();yz();ed();});function vU(t,e,r){return{functionResponse:{id:t,name:e,response:{output:r}}}}function _U(t,e,r){let n=Array.isArray(r)&&r.length===1?r[0]:r;if(typeof n=="string")return vU(e,t,n);if(Array.isArray(n))return[vU(e,t,"Tool execution succeeded."),...n];if(n.functionResponse){if(n.functionResponse.response?.content){let i=fUt(n.functionResponse.response.content)||"";return vU(e,t,i)}return n}if(n.inlineData||n.fileData){let i=n.inlineData?.mimeType||n.fileData?.mimeType||"unknown";return[vU(e,t,`Binary content of type ${i} was processed.`),n]}return n.text!==void 0?vU(e,t,n.text):vU(e,t,"Tool execution succeeded.")}var CU,DJ,HGe=Oe(()=>{"use strict";Uhe();Lz();per();fB();CU=(t,e,r)=>({callId:t.callId,error:e,responseParts:{functionResponse:{id:t.callId,name:t.name,response:{error:e.message}}},resultDisplay:e.message,errorType:r}),DJ=class{toolRegistry;toolCalls=[];outputUpdateHandler;onAllToolCallsComplete;onToolCallsUpdate;getPreferredEditor;config;getTerminalSize;onEditorClose;isFinalizingToolCalls=!1;isScheduling=!1;requestQueue=[];constructor(e){this.config=e.config,this.toolRegistry=e.toolRegistry,this.outputUpdateHandler=e.outputUpdateHandler,this.onAllToolCallsComplete=e.onAllToolCallsComplete,this.onToolCallsUpdate=e.onToolCallsUpdate,this.getPreferredEditor=e.getPreferredEditor,this.getTerminalSize=e.getTerminalSize,this.onEditorClose=e.onEditorClose}setStatusInternal(e,r,n){this.toolCalls=this.toolCalls.map(i=>{if(i.request.callId!==e||i.status==="success"||i.status==="error"||i.status==="cancelled")return i;let a=i.startTime,s=i.tool,o=i.invocation,l=i.outcome;switch(r){case"success":{let u=a?Date.now()-a:void 0;return{request:i.request,tool:s,invocation:o,status:"success",response:n,durationMs:u,outcome:l}}case"error":{let u=a?Date.now()-a:void 0;return{request:i.request,status:"error",tool:s,response:n,durationMs:u,outcome:l}}case"awaiting_approval":return{request:i.request,tool:s,status:"awaiting_approval",confirmationDetails:n,startTime:a,outcome:l,invocation:o};case"scheduled":return{request:i.request,tool:s,status:"scheduled",startTime:a,outcome:l,invocation:o};case"cancelled":{let u=a?Date.now()-a:void 0,c;if(i.status==="awaiting_approval"){let d=i;d.confirmationDetails.type==="edit"&&(c={fileDiff:d.confirmationDetails.fileDiff,fileName:d.confirmationDetails.fileName,originalContent:d.confirmationDetails.originalContent,newContent:d.confirmationDetails.newContent})}return{request:i.request,tool:s,invocation:o,status:"cancelled",response:{callId:i.request.callId,responseParts:{functionResponse:{id:i.request.callId,name:i.request.name,response:{error:`[Operation Cancelled] Reason: ${n}`}}},resultDisplay:c,error:void 0,errorType:void 0},durationMs:u,outcome:l}}case"validating":return{request:i.request,tool:s,status:"validating",startTime:a,outcome:l,invocation:o};case"executing":return{request:i.request,tool:s,status:"executing",startTime:a,outcome:l,invocation:o};default:return r}}),this.notifyToolCallsUpdate(),this.checkAndNotifyCompletion()}setArgsInternal(e,r){this.toolCalls=this.toolCalls.map(n=>{if(n.request.callId!==e||n.status==="error")return n;let i=this.buildInvocation(n.tool,r);if(i instanceof Error){let a=CU(n.request,i,ms.INVALID_TOOL_PARAMS);return{request:{...n.request,args:r},status:"error",tool:n.tool,response:a}}return{...n,request:{...n.request,args:r},invocation:i}})}isRunning(){return this.isFinalizingToolCalls||this.toolCalls.some(e=>e.status==="executing"||e.status==="awaiting_approval")}buildInvocation(e,r){try{return e.build(r)}catch(n){return n instanceof Error?n:new Error(String(n))}}schedule(e,r){return this.isRunning()||this.isScheduling?new Promise((n,i)=>{let a=()=>{let s=this.requestQueue.findIndex(o=>o.request===e);s>-1&&(this.requestQueue.splice(s,1),i(new Error("Tool call cancelled while in queue.")))};r.addEventListener("abort",a,{once:!0}),this.requestQueue.push({request:e,signal:r,resolve:()=>{r.removeEventListener("abort",a),n()},reject:s=>{r.removeEventListener("abort",a),i(s)}})}):this._schedule(e,r)}async _schedule(e,r){this.isScheduling=!0;try{if(this.isRunning())throw new Error("Cannot schedule new tool calls while other tool calls are actively running (executing or awaiting approval).");let n=Array.isArray(e)?e:[e],i=await this.toolRegistry,a=n.map(s=>{let o=i.getTool(s.name);if(!o)return{status:"error",request:s,response:CU(s,new Error(`Tool "${s.name}" not found in registry.`),ms.TOOL_NOT_REGISTERED),durationMs:0};let l=this.buildInvocation(o,s.args);return l instanceof Error?{status:"error",request:s,tool:o,response:CU(s,l,ms.INVALID_TOOL_PARAMS),durationMs:0}:{status:"validating",request:s,tool:o,invocation:l,startTime:Date.now()}});this.toolCalls=this.toolCalls.concat(a),this.notifyToolCallsUpdate();for(let s of a){if(s.status!=="validating")continue;let{request:o,invocation:l}=s;try{if(this.config.getApprovalMode()===qa.YOLO)this.setToolCallOutcome(o.callId,Br.ProceedAlways),this.setStatusInternal(o.callId,"scheduled");else{let u=await l.shouldConfirmExecute(r);if(u){u.type==="edit"&&u.ideConfirmation&&u.ideConfirmation.then(h=>{h.status==="accepted"?this.handleConfirmationResponse(o.callId,u.onConfirm,Br.ProceedOnce,r):this.handleConfirmationResponse(o.callId,u.onConfirm,Br.Cancel,r)});let c=u.onConfirm,d={...u,onConfirm:(h,f)=>this.handleConfirmationResponse(o.callId,c,h,r,f)};this.setStatusInternal(o.callId,"awaiting_approval",d)}else this.setToolCallOutcome(o.callId,Br.ProceedAlways),this.setStatusInternal(o.callId,"scheduled")}}catch(u){this.setStatusInternal(o.callId,"error",CU(o,u instanceof Error?u:new Error(String(u)),ms.UNHANDLED_EXCEPTION))}}this.attemptExecutionOfScheduledCalls(r),this.checkAndNotifyCompletion()}finally{this.isScheduling=!1}}async handleConfirmationResponse(e,r,n,i,a){let s=this.toolCalls.find(o=>o.request.callId===e&&o.status==="awaiting_approval");if(s&&s.status==="awaiting_approval"&&await r(n),this.setToolCallOutcome(e,n),n===Br.Cancel||i.aborted)this.setStatusInternal(e,"cancelled","User did not allow tool call");else if(n===Br.ModifyWithEditor){let o=s;if(UGe(o.tool)){let l=o.tool.getModifyContext(i),u=this.getPreferredEditor();if(!u)return;this.setStatusInternal(e,"awaiting_approval",{...o.confirmationDetails,isModifying:!0});let{updatedParams:c,updatedDiff:d}=await der(o.request.args,l,u,i,this.onEditorClose);this.setArgsInternal(e,c),this.setStatusInternal(e,"awaiting_approval",{...o.confirmationDetails,fileDiff:d,isModifying:!1})}}else a?.newContent&&s&&await this._applyInlineModify(s,a,i),this.setStatusInternal(e,"scheduled");this.attemptExecutionOfScheduledCalls(i)}async _applyInlineModify(e,r,n){if(e.confirmationDetails.type!=="edit"||!UGe(e.tool))return;let i=e.tool.getModifyContext(n),a=await i.getCurrentContent(e.request.args),s=i.createUpdatedParams(a,r.newContent,e.request.args),o=D6(i.getFilePath(e.request.args),a,r.newContent,"Current","Proposed");this.setArgsInternal(e.request.callId,s),this.setStatusInternal(e.request.callId,"awaiting_approval",{...e.confirmationDetails,fileDiff:o})}attemptExecutionOfScheduledCalls(e){this.toolCalls.every(n=>n.status==="scheduled"||n.status==="cancelled"||n.status==="success"||n.status==="error")&&this.toolCalls.filter(i=>i.status==="scheduled").forEach(i=>{if(i.status!=="scheduled")return;let a=i,{callId:s,name:o}=a.request,l=a.invocation;this.setStatusInternal(s,"executing");let u=a.tool.canUpdateOutput&&this.outputUpdateHandler?d=>{this.outputUpdateHandler&&this.outputUpdateHandler(s,d),this.toolCalls=this.toolCalls.map(h=>h.request.callId===s&&h.status==="executing"?{...h,liveOutput:d}:h),this.notifyToolCallsUpdate()}:void 0,c=this.getTerminalSize();l.execute(e,u,c.columns,c.rows).then(async d=>{if(e.aborted){this.setStatusInternal(s,"cancelled","User cancelled tool execution.");return}if(d.error===void 0){let h=_U(o,s,d.llmContent),f={callId:s,responseParts:h,resultDisplay:d.returnDisplay,error:void 0,errorType:void 0};this.setStatusInternal(s,"success",f)}else{let h=new Error(d.error.message),f=CU(a.request,h,d.error.type);this.setStatusInternal(s,"error",f)}}).catch(d=>{this.setStatusInternal(s,"error",CU(a.request,d instanceof Error?d:new Error(String(d)),ms.UNHANDLED_EXCEPTION))})})}async checkAndNotifyCompletion(){let e=this.toolCalls.every(r=>r.status==="success"||r.status==="error"||r.status==="cancelled");if(this.toolCalls.length>0&&e){let r=[...this.toolCalls];this.toolCalls=[];for(let n of r)cE(this.config,new KO(n));if(this.onAllToolCallsComplete&&(this.isFinalizingToolCalls=!0,await this.onAllToolCallsComplete(r),this.isFinalizingToolCalls=!1),this.notifyToolCallsUpdate(),this.requestQueue.length>0){let n=this.requestQueue.shift();this._schedule(n.request,n.signal).then(n.resolve).catch(n.reject)}}}notifyToolCallsUpdate(){this.onToolCallsUpdate&&this.onToolCallsUpdate([...this.toolCalls])}setToolCallOutcome(e,r){this.toolCalls=this.toolCalls.map(n=>n.request.callId!==e?n:{...n,outcome:r})}}});async function GGe(t,e,r,n){let i=r.getTool(e.name),a=Date.now();if(!i){let s=new Error(`Tool "${e.name}" not found in registry.`),o=Date.now()-a;return cE(t,{"event.name":"tool_call","event.timestamp":new Date().toISOString(),function_name:e.name,function_args:e.args,duration_ms:o,success:!1,error:s.message,prompt_id:e.prompt_id}),{callId:e.callId,responseParts:[{functionResponse:{id:e.callId,name:e.name,response:{error:s.message}}}],resultDisplay:s.message,error:s,errorType:ms.TOOL_NOT_REGISTERED}}try{let s=n??new AbortController().signal,o=await i.buildAndExecute(e.args,s),l=o.llmContent,u=o.returnDisplay,c={};if(o.error===void 0&&typeof u=="object"&&u!==null&&"diffStat"in u){let f=u.diffStat;f&&(c={ai_added_lines:f.ai_added_lines,ai_removed_lines:f.ai_removed_lines,user_added_lines:f.user_added_lines,user_removed_lines:f.user_removed_lines})}let d=Date.now()-a;cE(t,{"event.name":"tool_call","event.timestamp":new Date().toISOString(),function_name:e.name,function_args:e.args,duration_ms:d,success:o.error===void 0,error:o.error===void 0?void 0:o.error.message,error_type:o.error===void 0?void 0:o.error.type,prompt_id:e.prompt_id,metadata:c,decision:j1.AUTO_ACCEPT});let h=_U(e.name,e.callId,l);return{callId:e.callId,responseParts:h,resultDisplay:u,error:o.error===void 0?void 0:new Error(o.error.message),errorType:o.error===void 0?void 0:o.error.type}}catch(s){let o=s instanceof Error?s:new Error(String(s)),l=Date.now()-a;return cE(t,{"event.name":"tool_call","event.timestamp":new Date().toISOString(),function_name:e.name,function_args:e.args,duration_ms:l,success:!1,error:o.message,error_type:ms.UNHANDLED_EXCEPTION,prompt_id:e.prompt_id}),{callId:e.callId,responseParts:[{functionResponse:{id:e.callId,name:e.name,response:{error:o.message}}}],resultDisplay:o.message,error:o,errorType:ms.UNHANDLED_EXCEPTION}}}var fer=Oe(()=>{"use strict";Uhe();HGe();Yee();});import mer from"node:fs";function dNn(){try{return mer.statSync("/.dockerenv"),!0}catch{return!1}}function pNn(){try{return mer.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function qGe(){return VGe===void 0&&(VGe=dNn()||pNn()),VGe}var VGe,her=Oe(()=>{});import fNn from"node:fs";function DU(){return $Ge===void 0&&($Ge=mNn()||qGe()),$Ge}var $Ge,mNn,jGe=Oe(()=>{her();mNn=()=>{try{return fNn.statSync("/run/.containerenv"),!0}catch{return!1}}});import ger from"node:process";import hNn from"node:os";import ANn from"node:fs";var Aer,SU,Eer=Oe(()=>{jGe();Aer=()=>{if(ger.platform!=="linux")return!1;if(hNn.release().toLowerCase().includes("microsoft"))return!DU();try{return ANn.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!DU():!1}catch{return!1}},SU=ger.env.__IS_WSL_TEST__?Aer:Aer()});function fR(t,e,r){let n=i=>Object.defineProperty(t,e,{value:i,enumerable:!0,writable:!0});return Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get(){let i=r();return n(i),i},set(i){n(i)}}),t}var yer=Oe(()=>{});import{promisify as gNn}from"node:util";import ENn from"node:process";import{execFile as yNn}from"node:child_process";async function YGe(){if(ENn.platform!=="darwin")throw new Error("macOS only");let{stdout:t}=await vNn("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]);return/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(t)?.groups.id??"com.apple.Safari"}var vNn,ver=Oe(()=>{vNn=gNn(yNn)});import CNn from"node:process";import{promisify as _Nn}from"node:util";import{execFile as DNn,execFileSync as vLi}from"node:child_process";async function Cer(t,{humanReadableOutput:e=!0}={}){if(CNn.platform!=="darwin")throw new Error("macOS only");let r=e?[]:["-ss"],{stdout:n}=await SNn("osascript",["-e",t,r]);return n.trim()}var SNn,_er=Oe(()=>{SNn=_Nn(DNn)});async function WGe(t){return Cer(`tell application "Finder" to set app_path to application file id "${t}" as string
1419
+ `);let i=OGe(e);await i.checkIsRepo(mJ.IS_REPO_ROOT)||(await i.init(!1,{"--initial-branch":"main"}),await i.commit("Initial commit",{"--allow-empty":null}));let s=lb.join(this.projectRoot,".gitignore"),o=lb.join(e,".gitignore"),l="";try{l=await uR.readFile(s,"utf-8")}catch(u){if(Ns(u)&&u.code!=="ENOENT")throw u}await uR.writeFile(o,l)}get shadowGitRepository(){let e=this.getHistoryDir();return OGe(this.projectRoot).env({GIT_DIR:lb.join(e,".git"),GIT_WORK_TREE:this.projectRoot,HOME:e,XDG_CONFIG_HOME:e})}async getCurrentCommitHash(){return(await this.shadowGitRepository.raw("rev-parse","HEAD")).trim()}async createFileSnapshot(e){let r=this.shadowGitRepository;return await r.add("."),(await r.commit(e)).commit}async restoreProjectFromSnapshot(e){let r=this.shadowGitRepository;await r.raw(["restore","--source",e,"."]),await r.clean("f",["-d"])}}});var XZt,Nhe,Ohe,Fhe,MGe=Oe(()=>{"use strict";Obe();bT();p_();Er();XZt=Ve(Y1(),1);Fbe();(function(t){t.GCP="gcp",t.LOCAL="local"})(Nhe||(Nhe={}));Ohe=Nhe.LOCAL,Fhe="http://localhost:4317"});function LGe(){let t=["www-browser"],e=process.env.BROWSER;if(e&&t.includes(e)||process.env.CI||process.env.DEBIAN_FRONTEND==="noninteractive")return!1;let r=!!process.env.SSH_CONNECTION;return!(process.platform==="linux"&&!["DISPLAY","WAYLAND_DISPLAY","MIR_SOCKET"].some(a=>!!process.env[a])||r&&process.platform!=="linux")}var PGe=Oe(()=>{"use strict";});function ZZt(t){if(t){let n=t.trim();return n.endsWith("/")?n.slice(0,-1):n}let r=process.env.KODA_DEFAULT_API_BASE||process.env.KODA_API_BASE||(!1?"https://api.kodacode.ru/dev/v1":"https://api.kodacode.ru/v1");return r.endsWith("/")?r.slice(0,-1):r}function eer(t){try{let e=new URL(t).hostname;if(e==="api.kodacode.ru"||e.endsWith(".kodacode.ru"))return process.env.KODA_FORCE_AUTH!=="true"}catch{}return!1}async function mU(t){let e=ZZt(t?.baseUrl),r=`${e}/models`,n={Accept:"application/json","Accept-Encoding":"identity"},i=eer(e),a=t?.apiKey||process.env.KODA_API_KEY||process.env.KODA_GITHUB_TOKEN||process.env.GITHUB_TOKEN;!i&&a&&(n.Authorization=`Bearer ${a}`);let s=await fetch(r,{headers:n});if(!s.ok)throw new Error(`Failed to list models: ${s.status} ${s.statusText}`);let o=await s.json(),l=Array.isArray(o.data)?o.data:[],u=Array.isArray(o.koda_data)?o.koda_data:[],d=[...t?.includeDefaults===!1?[]:rNn.map(h=>{if(!h.id)return h;let f=h.id.toLowerCase(),E=u.find(y=>{if(!nNn(y))return!1;let g=y.id;return typeof g=="string"&&g.toLowerCase()===f});return E&&typeof E.context_length=="number"?{...h,context_length:E.context_length}:h}),...l].map(h=>h?.id).filter(h=>typeof h=="string"&&h.length>0);return Array.from(new Set(d)).sort((h,f)=>h.localeCompare(f))}function nNn(t){if(!t)return!1;let e=(t.id??"").toLowerCase(),r=(t.owned_by??"").toLowerCase();return e.includes("koda")||r==="koda"}async function Mhe(){let t=ZZt(),e=`${t}/models`,r={Accept:"application/json","Accept-Encoding":"identity"},n=eer(t),i=process.env.KODA_API_KEY||process.env.KODA_GITHUB_TOKEN||process.env.GITHUB_TOKEN;!n&&i&&(r.Authorization=`Bearer ${i}`);try{let a=await fetch(e,{headers:r});if(!a.ok){console.warn(`Failed to fetch model context lengths: ${a.status} ${a.statusText}`),sJ([{id:"KodaAgent",context_length:122e3}]);return}let s=await a.json(),o=Array.isArray(s.data)?s.data:[],l=Array.isArray(s.koda_data)?s.koda_data:[];l.some(c=>c.id&&c.id.toLowerCase()==="kodaagent")||l.push({id:"KodaAgent",owned_by:"z-ai",context_length:122e3}),sJ([...o,...l])}catch(a){console.warn("Error fetching model context lengths from API:",a),sJ([{id:"KodaAgent",context_length:122e3}])}}var rNn,Lhe=Oe(()=>{"use strict";ihe();rNn=[{id:"KodaAgent",owned_by:"z-ai",context_length:122e3}]});import*as O7 from"fs";import*as F7 from"path";var Phe,ter=Oe(()=>{"use strict";ed();Phe=class{directories=new Set;initialDirectories;constructor(e,r=[]){this.addDirectory(e);for(let n of r)this.addDirectory(n);this.initialDirectories=new Set(this.directories)}addDirectory(e,r=process.cwd()){this.directories.add(this.resolveAndValidateDir(e,r))}resolveAndValidateDir(e,r=process.cwd()){let n=F7.isAbsolute(e)?e:F7.resolve(r,e);if(!O7.existsSync(n))throw new Error(`Directory does not exist: ${n}`);if(!O7.statSync(n).isDirectory())throw new Error(`Path is not a directory: ${n}`);return O7.realpathSync(n)}getDirectories(){return Array.from(this.directories)}getInitialDirectories(){return Array.from(this.initialDirectories)}setDirectories(e){this.directories.clear();for(let r of e)this.addDirectory(r)}isPathWithinWorkspace(e){try{let r=this.fullyResolvedPath(e);for(let n of this.directories)if(this.isPathWithinRoot(r,n))return!0;return!1}catch{return!1}}fullyResolvedPath(e){try{return O7.realpathSync(e)}catch(r){if(Ns(r)&&r.code==="ENOENT"&&r.path&&!this.isFileSymlink(r.path))return r.path;throw r}}isPathWithinRoot(e,r){let n=F7.relative(r,e);return!n.startsWith(`..${F7.sep}`)&&n!==".."&&!F7.isAbsolute(n)}isFileSymlink(e){try{return!O7.readlinkSync(e).endsWith("/")}catch{return!1}}}});import*as Qhe from"node:path";import rer from"node:process";var qa,hU,lB,CJ,hW,cR,HE=Oe(()=>{"use strict";G4();$Bt();tOe();B1e();GQ();mz();Z1e();xz();Sfe();Sz();vHe();bz();yB();_He();OHe();GHe();FGe();ef();MGe();Jw();j$();PGe();Lhe();Cz();bT();p_();ter();(function(t){t.DEFAULT="default",t.AUTO_EDIT="autoEdit",t.YOLO="yolo"})(qa||(qa={}));hU={respectGitIgnore:!1,respectKodaIgnore:!0},lB={respectGitIgnore:!0,respectKodaIgnore:!0},CJ=class{command;args;env;cwd;url;httpUrl;headers;tcp;timeout;trust;description;includeTools;excludeTools;extensionName;oauth;authProviderType;constructor(e,r,n,i,a,s,o,l,u,c,d,h,f,E,y,g){this.command=e,this.args=r,this.env=n,this.cwd=i,this.url=a,this.httpUrl=s,this.headers=o,this.tcp=l,this.timeout=u,this.trust=c,this.description=d,this.includeTools=h,this.excludeTools=f,this.extensionName=E,this.oauth=y,this.authProviderType=g}};(function(t){t.DYNAMIC_DISCOVERY="dynamic_discovery",t.GOOGLE_CREDENTIALS="google_credentials"})(hW||(hW={}));cR=class{toolRegistry;promptRegistry;sessionId;contentGeneratorConfig;embeddingModel;sandbox;targetDir;workspaceContext;debugMode;question;fullContext;coreTools;excludeTools;toolDiscoveryCommand;toolCallCommand;mcpServerCommand;mcpServers;userMemory;geminiMdFileCount;approvalMode;showMemoryUsage;accessibility;telemetrySettings;usageStatisticsEnabled;geminiClient;fileFiltering;fileDiscoveryService=null;gitService=void 0;checkpointing;proxy;cwd;bugCommand;model;extensionContextFilePaths;noBrowser;folderTrustFeature;folderTrust;ideMode;ideClient;inFallbackMode=!1;maxSessionTurns;listExtensions;_extensions;_blockedMcpServers;flashFallbackHandler;quotaErrorOccurred=!1;summarizeToolOutput;experimentalZedIntegration=!1;loadMemoryFromIncludeDirectories=!1;chatCompression;interactive;trustedFolder;initialized=!1;constructor(e){this.sessionId=e.sessionId,this.embeddingModel=e.embeddingModel??jO,this.sandbox=e.sandbox,this.targetDir=Qhe.resolve(e.targetDir),this.workspaceContext=new Phe(this.targetDir,e.includeDirectories??[]),this.debugMode=e.debugMode,this.question=e.question,this.fullContext=e.fullContext??!1,this.coreTools=e.coreTools,this.excludeTools=e.excludeTools,this.toolDiscoveryCommand=e.toolDiscoveryCommand,this.toolCallCommand=e.toolCallCommand,this.mcpServerCommand=e.mcpServerCommand,this.mcpServers=e.mcpServers,this.userMemory=e.userMemory??"",this.geminiMdFileCount=e.geminiMdFileCount??0,this.approvalMode=e.approvalMode??qa.DEFAULT,this.showMemoryUsage=e.showMemoryUsage??!1,this.accessibility=e.accessibility??{},this.telemetrySettings={enabled:e.telemetry?.enabled??!1,target:e.telemetry?.target??Ohe,otlpEndpoint:e.telemetry?.otlpEndpoint??Fhe,logPrompts:e.telemetry?.logPrompts??!0,outfile:e.telemetry?.outfile},this.usageStatisticsEnabled=e.usageStatisticsEnabled??!0,this.fileFiltering={respectGitIgnore:e.fileFiltering?.respectGitIgnore??!0,respectKodaIgnore:e.fileFiltering?.respectKodaIgnore??!0,enableRecursiveFileSearch:e.fileFiltering?.enableRecursiveFileSearch??!0},this.checkpointing=e.checkpointing??!1,this.proxy=e.proxy,this.cwd=e.cwd??rer.cwd(),this.fileDiscoveryService=e.fileDiscoveryService??null,this.bugCommand=e.bugCommand,this.model=e.model,this.extensionContextFilePaths=e.extensionContextFilePaths??[],this.maxSessionTurns=e.maxSessionTurns??-1,this.experimentalZedIntegration=e.experimentalZedIntegration??!1,this.listExtensions=e.listExtensions??!1,this._extensions=e.extensions??[],this._blockedMcpServers=e.blockedMcpServers??[],this.noBrowser=e.noBrowser??!1,this.summarizeToolOutput=e.summarizeToolOutput,this.folderTrustFeature=e.folderTrustFeature??!1,this.folderTrust=e.folderTrust??!1,this.ideMode=e.ideMode??!1,this.ideClient=vz.getInstance(),this.loadMemoryFromIncludeDirectories=e.loadMemoryFromIncludeDirectories??!1,this.chatCompression=e.chatCompression,this.interactive=e.interactive??!1,this.trustedFolder=e.trustedFolder,e.contextFileName&&gB(e.contextFileName),this.telemetrySettings.enabled&&vle(this),this.getUsageStatisticsEnabled()?ac.getInstance(this)?.logStartSessionEvent(new YO(this)):console.log("Data collection is disabled.")}async initialize(){if(this.initialized)throw Error("Config was already initialized");this.initialized=!0,this.getFileService(),this.getCheckpointingEnabled()&&await this.getGitService(),await Mhe(),this.promptRegistry=new qde,this.toolRegistry=await this.createToolRegistry()}async refreshAuth(e){let r=[];this.geminiClient&&this.geminiClient.isInitialized()&&(r=this.geminiClient.getHistory());let n=BRe(this,e),i=new uJ(this);await i.initialize(n);let a=this.contentGeneratorConfig?.authType===ln.LOGIN_WITH_GITHUB&&e===ln.LOGIN_WITH_GITHUB;this.contentGeneratorConfig=n,this.geminiClient=i,r.length>0&&this.geminiClient.setHistory(r,{stripThoughts:a}),this.inFallbackMode=!1}getSessionId(){return this.sessionId}shouldLoadMemoryFromIncludeDirectories(){return this.loadMemoryFromIncludeDirectories}getContentGeneratorConfig(){return this.contentGeneratorConfig}getModel(){let e=this.contentGeneratorConfig?.model||this.model;return typeof e=="object"&&e!==null&&"name"in e?e.name||this.model:e}setModel(e){typeof e=="object"&&e!==null&&"name"in e&&(e=e.name),this.contentGeneratorConfig&&(this.contentGeneratorConfig.model=e)}isInFallbackMode(){return this.inFallbackMode}setFallbackMode(e){this.inFallbackMode=e}setFlashFallbackHandler(e){this.flashFallbackHandler=e}getMaxSessionTurns(){return this.maxSessionTurns}setQuotaErrorOccurred(e){this.quotaErrorOccurred=e}getQuotaErrorOccurred(){return this.quotaErrorOccurred}getEmbeddingModel(){return this.embeddingModel}getSandbox(){return this.sandbox}isRestrictiveSandbox(){let e=this.getSandbox(),r=rer.env.SEATBELT_PROFILE;return!!e&&e.command==="sandbox-exec"&&!!r&&r.startsWith("restrictive-")}getTargetDir(){return this.targetDir}getProjectRoot(){return this.targetDir}getWorkspaceContext(){return this.workspaceContext}getToolRegistry(){return Promise.resolve(this.toolRegistry)}getPromptRegistry(){return this.promptRegistry}getDebugMode(){return this.debugMode}getQuestion(){return this.question}getFullContext(){return this.fullContext}getCoreTools(){return this.coreTools}getExcludeTools(){return this.excludeTools}getToolDiscoveryCommand(){return this.toolDiscoveryCommand}getToolCallCommand(){return this.toolCallCommand}getMcpServerCommand(){return this.mcpServerCommand}getMcpServers(){return this.mcpServers}getUserMemory(){return this.userMemory}setUserMemory(e){this.userMemory=e}getGeminiMdFileCount(){return this.geminiMdFileCount}setGeminiMdFileCount(e){this.geminiMdFileCount=e}getApprovalMode(){return this.approvalMode}setApprovalMode(e){this.approvalMode=e}getShowMemoryUsage(){return this.showMemoryUsage}getAccessibility(){return this.accessibility}getTelemetryEnabled(){return this.telemetrySettings.enabled??!1}getTelemetryLogPromptsEnabled(){return this.telemetrySettings.logPrompts??!0}getTelemetryOtlpEndpoint(){return this.telemetrySettings.otlpEndpoint??Fhe}getTelemetryTarget(){return this.telemetrySettings.target??Ohe}getTelemetryOutfile(){return this.telemetrySettings.outfile}getGeminiClient(){return this.geminiClient}getGeminiDir(){return Qhe.join(this.targetDir,Ph)}getProjectTempDir(){return cv(this.getProjectRoot())}getEnableRecursiveFileSearch(){return this.fileFiltering.enableRecursiveFileSearch}getFileFilteringRespectGitIgnore(){return this.fileFiltering.respectGitIgnore}getFileFilteringRespectKodaIgnore(){return this.fileFiltering.respectKodaIgnore}getFileFilteringOptions(){return{respectGitIgnore:this.fileFiltering.respectGitIgnore,respectKodaIgnore:this.fileFiltering.respectKodaIgnore}}getCheckpointingEnabled(){return this.checkpointing}getProxy(){return this.proxy}getWorkingDir(){return this.cwd}getBugCommand(){return this.bugCommand}getFileService(){return this.fileDiscoveryService||(this.fileDiscoveryService=new iR(this.targetDir)),this.fileDiscoveryService}getUsageStatisticsEnabled(){return this.usageStatisticsEnabled}getExtensionContextFilePaths(){return this.extensionContextFilePaths}getExperimentalZedIntegration(){return this.experimentalZedIntegration}getListExtensions(){return this.listExtensions}getExtensions(){return this._extensions}getBlockedMcpServers(){return this._blockedMcpServers}getNoBrowser(){return this.noBrowser}isBrowserLaunchSuppressed(){return this.getNoBrowser()||!LGe()}getSummarizeToolOutputConfig(){return this.summarizeToolOutput}getIdeMode(){return this.ideMode}getFolderTrustFeature(){return this.folderTrustFeature}getFolderTrust(){return this.folderTrust}isTrustedFolder(){return this.trustedFolder}setIdeMode(e){this.ideMode=e}async setIdeModeAndSyncConnection(e){this.ideMode=e,e?(await this.ideClient.connect(),AL(this,new d_(c_.SESSION))):await this.ideClient.disconnect()}getIdeClient(){return this.ideClient}getChatCompression(){return this.chatCompression}isInteractive(){return this.interactive}async getGitService(){return this.gitService||(this.gitService=new N7(this.targetDir),await this.gitService.initialize()),this.gitService}async createToolRegistry(){let e=new gW(this),r=(n,...i)=>{let a=n.name,s=n.Name||a,o=this.getCoreTools(),l=this.getExcludeTools(),u=!1;o===void 0?u=!0:u=o.some(c=>c===a||c===s||c.startsWith(`${a}(`)||c.startsWith(`${s}(`)),(l?.includes(a)||l?.includes(s))&&(u=!1),u&&e.registerTool(new n(...i))};return r(IS,this),r(ul,this),r(_6,this),r(Lh,this),r(h0,this),r(yc,this),r(eJ,this),r(Qh,this),r(pl,this),r(u7),r(rJ,this),await e.discoverAllTools(),e}}});import khe from"node:path";import{promises as m2}from"node:fs";function ner(t){return encodeURIComponent(t)}function pR(t){try{return decodeURIComponent(t)}catch{return t.replace(/%([0-9A-F]{2})/g,(r,n)=>String.fromCharCode(parseInt(n,16)))}}var iNn,AU,dR,ier=Oe(()=>{"use strict";ef();iNn="logs.json";(function(t){t.USER="user"})(AU||(AU={}));dR=class{geminiDir;logFilePath;sessionId;messageId=0;initialized=!1;logs=[];constructor(e){this.sessionId=e}async _readLogFile(){if(!this.logFilePath)throw new Error("Log file path not set during read attempt.");try{let e=await m2.readFile(this.logFilePath,"utf-8"),r=JSON.parse(e);return Array.isArray(r)?r.filter(n=>typeof n.sessionId=="string"&&typeof n.messageId=="number"&&typeof n.timestamp=="string"&&typeof n.type=="string"&&typeof n.message=="string"):(console.debug(`Log file at ${this.logFilePath} is not a valid JSON array. Starting with empty logs.`),await this._backupCorruptedLogFile("malformed_array"),[])}catch(e){if(e.code==="ENOENT")return[];if(e instanceof SyntaxError)return console.debug(`Invalid JSON in log file ${this.logFilePath}. Backing up and starting fresh.`,e),await this._backupCorruptedLogFile("invalid_json"),[];throw console.debug(`Failed to read or parse log file ${this.logFilePath}:`,e),e}}async _backupCorruptedLogFile(e){if(!this.logFilePath)return;let r=`${this.logFilePath}.${e}.${Date.now()}.bak`;try{await m2.rename(this.logFilePath,r),console.debug(`Backed up corrupted log file to ${r}`)}catch{}}async initialize(){if(!this.initialized){this.geminiDir=cv(process.cwd()),this.logFilePath=khe.join(this.geminiDir,iNn);try{await m2.mkdir(this.geminiDir,{recursive:!0});let e=!0;try{await m2.access(this.logFilePath)}catch{e=!1}this.logs=await this._readLogFile(),!e&&this.logs.length===0&&await m2.writeFile(this.logFilePath,"[]","utf-8");let r=this.logs.filter(n=>n.sessionId===this.sessionId);this.messageId=r.length>0?Math.max(...r.map(n=>n.messageId))+1:0,this.initialized=!0}catch(e){console.error("Failed to initialize logger:",e),this.initialized=!1}}}async _updateLogFile(e){if(!this.logFilePath)throw console.debug("Log file path not set. Cannot persist log entry."),new Error("Log file path not set during update attempt.");let r;try{r=await this._readLogFile()}catch(s){throw console.debug("Critical error reading log file before append:",s),s}let n=r.filter(s=>s.sessionId===e.sessionId),i=n.length>0?Math.max(...n.map(s=>s.messageId))+1:0;if(e.messageId=i,r.some(s=>s.sessionId===e.sessionId&&s.messageId===e.messageId&&s.timestamp===e.timestamp&&s.message===e.message))return console.debug(`Duplicate log entry detected and skipped: session ${e.sessionId}, messageId ${e.messageId}`),this.logs=r,null;r.push(e);try{return await m2.writeFile(this.logFilePath,JSON.stringify(r,null,2),"utf-8"),this.logs=r,e}catch(s){throw console.debug("Error writing to log file:",s),s}}async getPreviousUserMessages(){return this.initialized?this.logs.filter(e=>e.type===AU.USER).sort((e,r)=>{let n=new Date(e.timestamp).getTime();return new Date(r.timestamp).getTime()-n}).map(e=>e.message):[]}async logMessage(e,r){if(!this.initialized||this.sessionId===void 0){console.debug("Logger not initialized or session ID missing. Cannot log message.");return}let n={sessionId:this.sessionId,messageId:this.messageId,type:e,message:r,timestamp:new Date().toISOString()};try{let i=await this._updateLogFile(n);i&&(this.messageId=i.messageId+1)}catch{}}_checkpointPath(e){if(!e.length)throw new Error("No checkpoint tag specified.");if(!this.geminiDir)throw new Error("Checkpoint file path not set.");let r=ner(e);return khe.join(this.geminiDir,`checkpoint-${r}.json`)}async _getCheckpointPath(e){let r=this._checkpointPath(e);try{return await m2.access(r),r}catch(i){if(i.code!=="ENOENT")throw i}let n=khe.join(this.geminiDir,`checkpoint-${e}.json`);try{return await m2.access(n),n}catch(i){if(i.code!=="ENOENT")throw i}return r}async saveCheckpoint(e,r){if(!this.initialized){console.error("Logger not initialized or checkpoint file path not set. Cannot save a checkpoint.");return}let n=this._checkpointPath(r);try{await m2.writeFile(n,JSON.stringify(e,null,2),"utf-8")}catch(i){console.error("Error writing to checkpoint file:",i)}}async loadCheckpoint(e){if(!this.initialized)return console.error("Logger not initialized or checkpoint file path not set. Cannot load checkpoint."),[];let r=await this._getCheckpointPath(e);try{let n=await m2.readFile(r,"utf-8"),i=JSON.parse(n);return Array.isArray(i)?i:(console.warn(`Checkpoint file at ${r} is not a valid JSON array. Returning empty checkpoint.`),[])}catch(n){return n.code==="ENOENT"?[]:(console.error(`Failed to read or parse checkpoint file ${r}:`,n),[])}}async deleteCheckpoint(e){if(!this.initialized||!this.geminiDir)return console.error("Logger not initialized or checkpoint file path not set. Cannot delete checkpoint."),!1;let r=!1,n=this._checkpointPath(e);try{await m2.unlink(n),r=!0}catch(a){if(a.code!=="ENOENT")throw console.error(`Failed to delete checkpoint file ${n}:`,a),a}let i=khe.join(this.geminiDir,`checkpoint-${e}.json`);if(n!==i)try{await m2.unlink(i),r=!0}catch(a){if(a.code!=="ENOENT")throw console.error(`Failed to delete checkpoint file ${i}:`,a),a}return r}async checkpointExists(e){if(!this.initialized)throw new Error("Logger not initialized. Cannot check for checkpoint existence.");let r;try{return r=await this._getCheckpointPath(e),await m2.access(r),!0}catch(n){if(n.code==="ENOENT")return!1;throw console.error(`Failed to check checkpoint existence for ${r??`path for tag "${e}"`}:`,n),n}}close(){this.initialized=!1,this.logFilePath=void 0,this.logs=[],this.sessionId=void 0,this.messageId=0}}});function aNn(t){return pfe(t,{verbose:!0})}var aer=Oe(()=>{"use strict";GMe();});import{execSync as ser,spawn as sNn}from"child_process";function oer(t){return["vscode","vscodium","windsurf","cursor","vim","neovim","zed","emacs","intellij","webstorm","pycharm","phpstorm","rubymine","clion","goland","datagrip","rider","androidstudio"].includes(t)}function ler(t){try{return ser(process.platform==="win32"?`where.exe ${t}`:`command -v ${t}`,{stdio:"ignore"}),!0}catch{return!1}}function gU(t){let e=uer[t];return(process.platform==="win32"?e.win32:e.default).some(n=>ler(n))}function EU(t){let e=!process.env.SANDBOX;return["vscode","vscodium","windsurf","cursor","zed","intellij","webstorm","pycharm","phpstorm","rubymine","clion","goland","datagrip","rider","androidstudio"].includes(t)?e:!0}function _J(t){return t&&oer(t)?gU(t)&&EU(t):!1}function cer(t,e,r){if(!oer(r))return null;let n=uer[r],i=process.platform==="win32"?n.win32:n.default,a=i.slice(0,-1).find(s=>ler(s))||i[i.length-1];switch(r){case"vscode":case"vscodium":case"windsurf":case"cursor":case"zed":return{command:a,args:["--wait","--diff",t,e]};case"intellij":case"webstorm":case"pycharm":case"phpstorm":case"rubymine":case"clion":case"goland":case"datagrip":case"rider":case"androidstudio":return{command:a,args:["--wait","--diff",t,e]};case"vim":case"neovim":return{command:a,args:["-d","-i","NONE","-c","wincmd h | set readonly | wincmd l","-c","highlight DiffAdd cterm=bold ctermbg=22 guibg=#005f00 | highlight DiffChange cterm=bold ctermbg=24 guibg=#005f87 | highlight DiffText ctermbg=21 guibg=#0000af | highlight DiffDelete ctermbg=52 guibg=#5f0000","-c","set showtabline=2 | set tabline=[Instructions]\\ :wqa(save\\ &\\ quit)\\ \\|\\ i/esc(toggle\\ edit\\ mode)","-c","wincmd h | setlocal statusline=OLD\\ FILE","-c","wincmd l | setlocal statusline=%#StatusBold#NEW\\ FILE\\ :wqa(save\\ &\\ quit)\\ \\|\\ i/esc(toggle\\ edit\\ mode)","-c","autocmd WinClosed * wqa",t,e]};case"emacs":return{command:"emacs",args:["--eval",`(ediff "${t}" "${e}")`]};default:return null}}async function QGe(t,e,r,n){let i=cer(t,e,r);if(!i){console.error("No diff tool available. Install a supported editor.");return}try{switch(r){case"vscode":case"vscodium":case"windsurf":case"cursor":case"zed":case"intellij":case"webstorm":case"pycharm":case"phpstorm":case"rubymine":case"clion":case"goland":case"datagrip":case"rider":case"androidstudio":return new Promise((a,s)=>{let o=sNn(i.command,i.args,{stdio:"inherit",shell:!0});o.on("close",l=>{l===0?a():s(new Error(`${r} exited with code ${l}`))}),o.on("error",l=>{s(l)})});case"vim":case"emacs":case"neovim":{let a=process.platform==="win32"?`${i.command} ${i.args.join(" ")}`:`${i.command} ${i.args.map(s=>`"${s}"`).join(" ")}`;try{ser(a,{stdio:"inherit",encoding:"utf8"})}catch(s){console.error("Error in onEditorClose callback:",s)}finally{n()}break}default:throw new Error(`Unsupported editor: ${r}`)}}catch(a){console.error(a)}}var uer,kGe=Oe(()=>{"use strict";uer={vscode:{win32:["code.cmd"],default:["code"]},vscodium:{win32:["codium.cmd"],default:["codium"]},windsurf:{win32:["windsurf"],default:["windsurf"]},cursor:{win32:["cursor"],default:["cursor"]},vim:{win32:["vim"],default:["vim"]},neovim:{win32:["nvim"],default:["nvim"]},zed:{win32:["zed"],default:["zed","zeditor"]},emacs:{win32:["emacs.exe"],default:["emacs"]},intellij:{win32:["idea64.exe"],default:["idea"]},webstorm:{win32:["webstorm64.exe"],default:["webstorm"]},pycharm:{win32:["pycharm64.exe"],default:["pycharm"]},phpstorm:{win32:["phpstorm64.exe"],default:["phpstorm"]},rubymine:{win32:["rubymine64.exe"],default:["rubymine"]},clion:{win32:["clion64.exe"],default:["clion"]},goland:{win32:["goland64.exe"],default:["goland"]},datagrip:{win32:["datagrip64.exe"],default:["datagrip"]},rider:{win32:["rider64.exe"],default:["rider"]},androidstudio:{win32:["studio64.exe"],default:["studio"]}}});import oNn from"os";import yU from"path";import ub from"fs";function UGe(t){return"getModifyContext"in t}function lNn(t,e,r){let n=oNn.tmpdir(),i=yU.join(n,"gemini-cli-tool-modify-diffs");ub.existsSync(i)||ub.mkdirSync(i,{recursive:!0});let a=yU.extname(r),s=yU.basename(r,a),o=Date.now(),l=yU.join(i,`gemini-cli-modify-${s}-old-${o}${a}`),u=yU.join(i,`gemini-cli-modify-${s}-new-${o}${a}`);return ub.writeFileSync(l,t,"utf8"),ub.writeFileSync(u,e,"utf8"),{oldPath:l,newPath:u}}function uNn(t,e,r,n){let i="",a="";try{i=ub.readFileSync(t,"utf8")}catch(l){if(!Ns(l)||l.code!=="ENOENT")throw l;i=""}try{a=ub.readFileSync(e,"utf8")}catch(l){if(!Ns(l)||l.code!=="ENOENT")throw l;a=""}let s=n.createUpdatedParams(i,a,r),o=D6(yU.basename(n.getFilePath(r)),i,a,"Current","Proposed",S6);return{updatedParams:s,updatedDiff:o}}function cNn(t,e){try{ub.unlinkSync(t)}catch{console.error(`Error deleting temp diff file: ${t}`)}try{ub.unlinkSync(e)}catch{console.error(`Error deleting temp diff file: ${e}`)}}async function der(t,e,r,n,i){let a=await e.getCurrentContent(t),s=await e.getProposedContent(t),{oldPath:o,newPath:l}=lNn(a,s,e.getFilePath(t));try{return await QGe(o,l,r,i),uNn(o,l,t,e)}finally{cNn(o,l)}}var per=Oe(()=>{"use strict";kGe();fB();yz();ed();});function vU(t,e,r){return{functionResponse:{id:t,name:e,response:{output:r}}}}function _U(t,e,r){let n=Array.isArray(r)&&r.length===1?r[0]:r;if(typeof n=="string")return vU(e,t,n);if(Array.isArray(n))return[vU(e,t,"Tool execution succeeded."),...n];if(n.functionResponse){if(n.functionResponse.response?.content){let i=fUt(n.functionResponse.response.content)||"";return vU(e,t,i)}return n}if(n.inlineData||n.fileData){let i=n.inlineData?.mimeType||n.fileData?.mimeType||"unknown";return[vU(e,t,`Binary content of type ${i} was processed.`),n]}return n.text!==void 0?vU(e,t,n.text):vU(e,t,"Tool execution succeeded.")}var CU,DJ,HGe=Oe(()=>{"use strict";Uhe();Lz();per();fB();CU=(t,e,r)=>({callId:t.callId,error:e,responseParts:{functionResponse:{id:t.callId,name:t.name,response:{error:e.message}}},resultDisplay:e.message,errorType:r}),DJ=class{toolRegistry;toolCalls=[];outputUpdateHandler;onAllToolCallsComplete;onToolCallsUpdate;getPreferredEditor;config;getTerminalSize;onEditorClose;isFinalizingToolCalls=!1;isScheduling=!1;requestQueue=[];constructor(e){this.config=e.config,this.toolRegistry=e.toolRegistry,this.outputUpdateHandler=e.outputUpdateHandler,this.onAllToolCallsComplete=e.onAllToolCallsComplete,this.onToolCallsUpdate=e.onToolCallsUpdate,this.getPreferredEditor=e.getPreferredEditor,this.getTerminalSize=e.getTerminalSize,this.onEditorClose=e.onEditorClose}setStatusInternal(e,r,n){this.toolCalls=this.toolCalls.map(i=>{if(i.request.callId!==e||i.status==="success"||i.status==="error"||i.status==="cancelled")return i;let a=i.startTime,s=i.tool,o=i.invocation,l=i.outcome;switch(r){case"success":{let u=a?Date.now()-a:void 0;return{request:i.request,tool:s,invocation:o,status:"success",response:n,durationMs:u,outcome:l}}case"error":{let u=a?Date.now()-a:void 0;return{request:i.request,status:"error",tool:s,response:n,durationMs:u,outcome:l}}case"awaiting_approval":return{request:i.request,tool:s,status:"awaiting_approval",confirmationDetails:n,startTime:a,outcome:l,invocation:o};case"scheduled":return{request:i.request,tool:s,status:"scheduled",startTime:a,outcome:l,invocation:o};case"cancelled":{let u=a?Date.now()-a:void 0,c;if(i.status==="awaiting_approval"){let d=i;d.confirmationDetails.type==="edit"&&(c={fileDiff:d.confirmationDetails.fileDiff,fileName:d.confirmationDetails.fileName,originalContent:d.confirmationDetails.originalContent,newContent:d.confirmationDetails.newContent})}return{request:i.request,tool:s,invocation:o,status:"cancelled",response:{callId:i.request.callId,responseParts:{functionResponse:{id:i.request.callId,name:i.request.name,response:{error:`[Operation Cancelled] Reason: ${n}`}}},resultDisplay:c,error:void 0,errorType:void 0},durationMs:u,outcome:l}}case"validating":return{request:i.request,tool:s,status:"validating",startTime:a,outcome:l,invocation:o};case"executing":return{request:i.request,tool:s,status:"executing",startTime:a,outcome:l,invocation:o};default:return r}}),this.notifyToolCallsUpdate(),this.checkAndNotifyCompletion()}setArgsInternal(e,r){this.toolCalls=this.toolCalls.map(n=>{if(n.request.callId!==e||n.status==="error")return n;let i=this.buildInvocation(n.tool,r);if(i instanceof Error){let a=CU(n.request,i,ms.INVALID_TOOL_PARAMS);return{request:{...n.request,args:r},status:"error",tool:n.tool,response:a}}return{...n,request:{...n.request,args:r},invocation:i}})}isRunning(){return this.isFinalizingToolCalls||this.toolCalls.some(e=>e.status==="executing"||e.status==="awaiting_approval")}buildInvocation(e,r){try{return e.build(r)}catch(n){return n instanceof Error?n:new Error(String(n))}}schedule(e,r){return this.isRunning()||this.isScheduling?new Promise((n,i)=>{let a=()=>{let s=this.requestQueue.findIndex(o=>o.request===e);s>-1&&(this.requestQueue.splice(s,1),i(new Error("Tool call cancelled while in queue.")))};r.addEventListener("abort",a,{once:!0}),this.requestQueue.push({request:e,signal:r,resolve:()=>{r.removeEventListener("abort",a),n()},reject:s=>{r.removeEventListener("abort",a),i(s)}})}):this._schedule(e,r)}async _schedule(e,r){this.isScheduling=!0;try{if(this.isRunning())throw new Error("Cannot schedule new tool calls while other tool calls are actively running (executing or awaiting approval).");let n=Array.isArray(e)?e:[e],i=await this.toolRegistry,a=n.map(s=>{let o=i.getTool(s.name);if(!o)return{status:"error",request:s,response:CU(s,new Error(`Tool "${s.name}" not found in registry.`),ms.TOOL_NOT_REGISTERED),durationMs:0};let l=this.buildInvocation(o,s.args);return l instanceof Error?{status:"error",request:s,tool:o,response:CU(s,l,ms.INVALID_TOOL_PARAMS),durationMs:0}:{status:"validating",request:s,tool:o,invocation:l,startTime:Date.now()}});this.toolCalls=this.toolCalls.concat(a),this.notifyToolCallsUpdate();for(let s of a){if(s.status!=="validating")continue;let{request:o,invocation:l}=s;try{if(this.config.getApprovalMode()===qa.YOLO)this.setToolCallOutcome(o.callId,Br.ProceedAlways),this.setStatusInternal(o.callId,"scheduled");else{let u=await l.shouldConfirmExecute(r);if(u){u.type==="edit"&&u.ideConfirmation&&u.ideConfirmation.then(h=>{h.status==="accepted"?this.handleConfirmationResponse(o.callId,u.onConfirm,Br.ProceedOnce,r):this.handleConfirmationResponse(o.callId,u.onConfirm,Br.Cancel,r)});let c=u.onConfirm,d={...u,onConfirm:(h,f)=>this.handleConfirmationResponse(o.callId,c,h,r,f)};this.setStatusInternal(o.callId,"awaiting_approval",d)}else this.setToolCallOutcome(o.callId,Br.ProceedAlways),this.setStatusInternal(o.callId,"scheduled")}}catch(u){this.setStatusInternal(o.callId,"error",CU(o,u instanceof Error?u:new Error(String(u)),ms.UNHANDLED_EXCEPTION))}}this.attemptExecutionOfScheduledCalls(r),this.checkAndNotifyCompletion()}finally{this.isScheduling=!1}}async handleConfirmationResponse(e,r,n,i,a){let s=this.toolCalls.find(o=>o.request.callId===e&&o.status==="awaiting_approval");if(s&&s.status==="awaiting_approval"&&await r(n),this.setToolCallOutcome(e,n),n===Br.Cancel||i.aborted)this.setStatusInternal(e,"cancelled","User did not allow tool call");else if(n===Br.ModifyWithEditor){let o=s;if(UGe(o.tool)){let l=o.tool.getModifyContext(i),u=this.getPreferredEditor();if(!u)return;this.setStatusInternal(e,"awaiting_approval",{...o.confirmationDetails,isModifying:!0});let{updatedParams:c,updatedDiff:d}=await der(o.request.args,l,u,i,this.onEditorClose);this.setArgsInternal(e,c),this.setStatusInternal(e,"awaiting_approval",{...o.confirmationDetails,fileDiff:d,isModifying:!1})}}else a?.newContent&&s&&await this._applyInlineModify(s,a,i),this.setStatusInternal(e,"scheduled");this.attemptExecutionOfScheduledCalls(i)}async _applyInlineModify(e,r,n){if(e.confirmationDetails.type!=="edit"||!UGe(e.tool))return;let i=e.tool.getModifyContext(n),a=await i.getCurrentContent(e.request.args),s=i.createUpdatedParams(a,r.newContent,e.request.args),o=D6(i.getFilePath(e.request.args),a,r.newContent,"Current","Proposed");this.setArgsInternal(e.request.callId,s),this.setStatusInternal(e.request.callId,"awaiting_approval",{...e.confirmationDetails,fileDiff:o})}attemptExecutionOfScheduledCalls(e){this.toolCalls.every(n=>n.status==="scheduled"||n.status==="cancelled"||n.status==="success"||n.status==="error")&&this.toolCalls.filter(i=>i.status==="scheduled").forEach(i=>{if(i.status!=="scheduled")return;let a=i,{callId:s,name:o}=a.request,l=a.invocation;this.setStatusInternal(s,"executing");let u=a.tool.canUpdateOutput&&this.outputUpdateHandler?d=>{this.outputUpdateHandler&&this.outputUpdateHandler(s,d),this.toolCalls=this.toolCalls.map(h=>h.request.callId===s&&h.status==="executing"?{...h,liveOutput:d}:h),this.notifyToolCallsUpdate()}:void 0,c=this.getTerminalSize();l.execute(e,u,c.columns,c.rows).then(async d=>{if(e.aborted){this.setStatusInternal(s,"cancelled","User cancelled tool execution.");return}if(d.error===void 0){let h=_U(o,s,d.llmContent),f={callId:s,responseParts:h,resultDisplay:d.returnDisplay,error:void 0,errorType:void 0};this.setStatusInternal(s,"success",f)}else{let h=new Error(d.error.message),f=CU(a.request,h,d.error.type);this.setStatusInternal(s,"error",f)}}).catch(d=>{this.setStatusInternal(s,"error",CU(a.request,d instanceof Error?d:new Error(String(d)),ms.UNHANDLED_EXCEPTION))})})}async checkAndNotifyCompletion(){let e=this.toolCalls.every(r=>r.status==="success"||r.status==="error"||r.status==="cancelled");if(this.toolCalls.length>0&&e){let r=[...this.toolCalls];this.toolCalls=[];for(let n of r)cE(this.config,new KO(n));if(this.onAllToolCallsComplete&&(this.isFinalizingToolCalls=!0,await this.onAllToolCallsComplete(r),this.isFinalizingToolCalls=!1),this.notifyToolCallsUpdate(),this.requestQueue.length>0){let n=this.requestQueue.shift();this._schedule(n.request,n.signal).then(n.resolve).catch(n.reject)}}}notifyToolCallsUpdate(){this.onToolCallsUpdate&&this.onToolCallsUpdate([...this.toolCalls])}setToolCallOutcome(e,r){this.toolCalls=this.toolCalls.map(n=>n.request.callId!==e?n:{...n,outcome:r})}}});async function GGe(t,e,r,n){let i=r.getTool(e.name),a=Date.now();if(!i){let s=new Error(`Tool "${e.name}" not found in registry.`),o=Date.now()-a;return cE(t,{"event.name":"tool_call","event.timestamp":new Date().toISOString(),function_name:e.name,function_args:e.args,duration_ms:o,success:!1,error:s.message,prompt_id:e.prompt_id}),{callId:e.callId,responseParts:[{functionResponse:{id:e.callId,name:e.name,response:{error:s.message}}}],resultDisplay:s.message,error:s,errorType:ms.TOOL_NOT_REGISTERED}}try{let s=n??new AbortController().signal,o=await i.buildAndExecute(e.args,s),l=o.llmContent,u=o.returnDisplay,c={};if(o.error===void 0&&typeof u=="object"&&u!==null&&"diffStat"in u){let f=u.diffStat;f&&(c={ai_added_lines:f.ai_added_lines,ai_removed_lines:f.ai_removed_lines,user_added_lines:f.user_added_lines,user_removed_lines:f.user_removed_lines})}let d=Date.now()-a;cE(t,{"event.name":"tool_call","event.timestamp":new Date().toISOString(),function_name:e.name,function_args:e.args,duration_ms:d,success:o.error===void 0,error:o.error===void 0?void 0:o.error.message,error_type:o.error===void 0?void 0:o.error.type,prompt_id:e.prompt_id,metadata:c,decision:j1.AUTO_ACCEPT});let h=_U(e.name,e.callId,l);return{callId:e.callId,responseParts:h,resultDisplay:u,error:o.error===void 0?void 0:new Error(o.error.message),errorType:o.error===void 0?void 0:o.error.type}}catch(s){let o=s instanceof Error?s:new Error(String(s)),l=Date.now()-a;return cE(t,{"event.name":"tool_call","event.timestamp":new Date().toISOString(),function_name:e.name,function_args:e.args,duration_ms:l,success:!1,error:o.message,error_type:ms.UNHANDLED_EXCEPTION,prompt_id:e.prompt_id}),{callId:e.callId,responseParts:[{functionResponse:{id:e.callId,name:e.name,response:{error:o.message}}}],resultDisplay:o.message,error:o,errorType:ms.UNHANDLED_EXCEPTION}}}var fer=Oe(()=>{"use strict";Uhe();HGe();Yee();});import mer from"node:fs";function dNn(){try{return mer.statSync("/.dockerenv"),!0}catch{return!1}}function pNn(){try{return mer.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function qGe(){return VGe===void 0&&(VGe=dNn()||pNn()),VGe}var VGe,her=Oe(()=>{});import fNn from"node:fs";function DU(){return $Ge===void 0&&($Ge=mNn()||qGe()),$Ge}var $Ge,mNn,jGe=Oe(()=>{her();mNn=()=>{try{return fNn.statSync("/run/.containerenv"),!0}catch{return!1}}});import ger from"node:process";import hNn from"node:os";import ANn from"node:fs";var Aer,SU,Eer=Oe(()=>{jGe();Aer=()=>{if(ger.platform!=="linux")return!1;if(hNn.release().toLowerCase().includes("microsoft"))return!DU();try{return ANn.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!DU():!1}catch{return!1}},SU=ger.env.__IS_WSL_TEST__?Aer:Aer()});function fR(t,e,r){let n=i=>Object.defineProperty(t,e,{value:i,enumerable:!0,writable:!0});return Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get(){let i=r();return n(i),i},set(i){n(i)}}),t}var yer=Oe(()=>{});import{promisify as gNn}from"node:util";import ENn from"node:process";import{execFile as yNn}from"node:child_process";async function YGe(){if(ENn.platform!=="darwin")throw new Error("macOS only");let{stdout:t}=await vNn("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]);return/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(t)?.groups.id??"com.apple.Safari"}var vNn,ver=Oe(()=>{vNn=gNn(yNn)});import CNn from"node:process";import{promisify as _Nn}from"node:util";import{execFile as DNn,execFileSync as vLi}from"node:child_process";async function Cer(t,{humanReadableOutput:e=!0}={}){if(CNn.platform!=="darwin")throw new Error("macOS only");let r=e?[]:["-ss"],{stdout:n}=await SNn("osascript",["-e",t,r]);return n.trim()}var SNn,_er=Oe(()=>{SNn=_Nn(DNn)});async function WGe(t){return Cer(`tell application "Finder" to set app_path to application file id "${t}" as string
1420
1420
  tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}var Der=Oe(()=>{_er()});import{promisify as bNn}from"node:util";import{execFile as wNn}from"node:child_process";async function zGe(t=INn){let{stdout:e}=await t("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),r=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(e);if(!r)throw new Hhe(`Cannot find Windows browser in stdout: ${JSON.stringify(e)}`);let{id:n}=r.groups,i=TNn[n];if(!i)throw new Hhe(`Unknown browser ID: ${n}`);return i}var INn,TNn,Hhe,Ser=Oe(()=>{INn=bNn(wNn),TNn={AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},MSEdgeDHTML:{name:"Edge",id:"com.microsoft.edge"},MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"}},Hhe=class extends Error{}});import{promisify as xNn}from"node:util";import KGe from"node:process";import{execFile as BNn}from"node:child_process";async function JGe(){if(KGe.platform==="darwin"){let t=await YGe();return{name:await WGe(t),id:t}}if(KGe.platform==="linux"){let{stdout:t}=await RNn("xdg-mime",["query","default","x-scheme-handler/http"]),e=t.trim();return{name:NNn(e.replace(/.desktop$/,"").replace("-"," ")),id:e}}if(KGe.platform==="win32")return zGe();throw new Error("Only macOS, Linux, and Windows are supported")}var RNn,NNn,ber=Oe(()=>{ver();Der();Ser();RNn=xNn(BNn),NNn=t=>t.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,e=>e.toUpperCase())});import Ghe from"node:process";import{Buffer as Ber}from"node:buffer";import Rer from"node:path";import{fileURLToPath as ONn}from"node:url";import FNn from"node:util";import Ner from"node:child_process";import XGe,{constants as Oer}from"node:fs/promises";async function PNn(){let t=await Fer(),r=Ber.from('(Get-ItemProperty -Path "HKCU:\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice").ProgId',"utf16le").toString("base64"),{stdout:n}=await MNn(t,["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand",r],{encoding:"utf8"}),i=n.trim(),a={ChromeHTML:"com.google.chrome",MSEdgeHTM:"com.microsoft.edge",FirefoxURL:"org.mozilla.firefox"};return a[i]?{id:a[i]}:{}}function xer(t){if(typeof t=="string"||Array.isArray(t))return t;let{[Ier]:e}=t;if(!e)throw new Error(`${Ier} is not supported`);return e}function eVe({[bU]:t},{wsl:e}){if(e&&SU)return xer(e);if(!t)throw new Error(`${bU} is not supported`);return xer(t)}var MNn,ZGe,wer,bU,Ier,LNn,Fer,Ter,Vhe,QNn,wU,h5,IU=Oe(()=>{Eer();yer();ber();jGe();MNn=FNn.promisify(Ner.execFile),ZGe=Rer.dirname(ONn(import.meta.url)),wer=Rer.join(ZGe,"xdg-open"),{platform:bU,arch:Ier}=Ghe,LNn=(()=>{let t="/mnt/",e;return async function(){if(e)return e;let r="/etc/wsl.conf",n=!1;try{await XGe.access(r,Oer.F_OK),n=!0}catch{}if(!n)return t;let i=await XGe.readFile(r,{encoding:"utf8"}),a=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(i);return a?(e=a.groups.mountPoint.trim(),e=e.endsWith("/")?e:`${e}/`,e):t}})(),Fer=async()=>`${await LNn()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`;Ter=async(t,e)=>{let r;for(let n of t)try{return await e(n)}catch(i){r=i}throw r},Vhe=async t=>{if(t={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...t},Array.isArray(t.app))return Ter(t.app,o=>Vhe({...t,app:o}));let{name:e,arguments:r=[]}=t.app??{};if(r=[...r],Array.isArray(e))return Ter(e,o=>Vhe({...t,app:{name:o,arguments:r}}));if(e==="browser"||e==="browserPrivate"){let o={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge"},l={chrome:"--incognito",firefox:"--private-window",edge:"--inPrivate"},u=SU?await PNn():await JGe();if(u.id in o){let c=o[u.id];return e==="browserPrivate"&&r.push(l[c]),Vhe({...t,app:{name:wU[c],arguments:r}})}throw new Error(`${u.name} is not supported as a default browser`)}let n,i=[],a={};if(bU==="darwin")n="open",t.wait&&i.push("--wait-apps"),t.background&&i.push("--background"),t.newInstance&&i.push("--new"),e&&i.push("-a",e);else if(bU==="win32"||SU&&!DU()&&!e){n=SU?await Fer():`${Ghe.env.SYSTEMROOT||Ghe.env.windir||"C:\\Windows"}\\System32\\WindowsPowerShell\\v1.0\\powershell`,i.push("-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"),SU||(a.windowsVerbatimArguments=!0);let o=["Start"];t.wait&&o.push("-Wait"),e?(o.push(`"\`"${e}\`""`),t.target&&r.push(t.target)):t.target&&o.push(`"${t.target}"`),r.length>0&&(r=r.map(l=>`"\`"${l}\`""`),o.push("-ArgumentList",r.join(","))),t.target=Ber.from(o.join(" "),"utf16le").toString("base64")}else{if(e)n=e;else{let o=!ZGe||ZGe==="/",l=!1;try{await XGe.access(wer,Oer.X_OK),l=!0}catch{}n=Ghe.versions.electron??(bU==="android"||o||!l)?"xdg-open":wer}r.length>0&&i.push(...r),t.wait||(a.stdio="ignore",a.detached=!0)}bU==="darwin"&&r.length>0&&i.push("--args",...r),t.target&&i.push(t.target);let s=Ner.spawn(n,i,a);return t.wait?new Promise((o,l)=>{s.once("error",l),s.once("close",u=>{if(!t.allowNonzeroExitCode&&u>0){l(new Error(`Exited with code ${u}`));return}o(s)})}):(s.unref(),s)},QNn=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a `target`");return Vhe({...e,target:t})};wU={};fR(wU,"chrome",()=>eVe({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));fR(wU,"firefox",()=>eVe({darwin:"firefox",win32:"C:\\Program Files\\Mozilla Firefox\\firefox.exe",linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));fR(wU,"edge",()=>eVe({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));fR(wU,"browser",()=>"browser");fR(wU,"browserPrivate",()=>"browserPrivate");h5=QNn});import*as Ler from"http";import kNn from"url";import Per from"crypto";import*as Qer from"net";import ker from"node:path";import{promises as qhe}from"node:fs";import*as Uer from"os";import UNn from"node:readline";async function nVe(t,e){let r=new TU.OAuth2Client({clientId:HNn,clientSecret:GNn,transporterOptions:{proxy:e.getProxy()}});if(process.env.GOOGLE_GENAI_USE_GCA&&process.env.GOOGLE_CLOUD_ACCESS_TOKEN)return r.setCredentials({access_token:process.env.GOOGLE_CLOUD_ACCESS_TOKEN}),await rVe(r),r;if(r.on("tokens",async n=>{await WNn(n)}),await YNn(r)){if(!ile())try{await rVe(r)}catch{}return console.log("Loaded cached credentials."),r}if(t===ln.LOGIN_WITH_GITHUB)try{console.log("Attempting to authenticate via Cloud Shell VM's ADC.");let n=new TU.Compute({});return await n.getAccessToken(),console.log("Authentication successful."),n}catch(n){throw new Error(`Could not authenticate using Cloud Shell credentials. Please select a different authentication method or ensure you are in a properly configured environment. Error: ${sr(n)}`)}if(e.isBrowserLaunchSuppressed()){let n=!1,i=2;for(let a=0;!n&&a<i;a++)n=await $Nn(r),n||console.error(`
1421
1421
  Failed to authenticate with user code.`,a===i-1?"":`Retrying...
1422
1422
  `);n||process.exit(1)}else{let n=await jNn(r);console.log(`
@@ -1841,13 +1841,13 @@ Do NOT use this tool:
1841
1841
  \u26A1 \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 /auth, \u0447\u0442\u043E\u0431\u044B \u043D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0434\u0440\u0443\u0433\u043E\u0439 \u0442\u043E\u043A\u0435\u043D \u0434\u043E\u0441\u0442\u0443\u043F\u0430 \u0438 \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C.`,freeDefault:`\u26A1 \u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u044E\u0441\u044C \u0441 {currentModel} \u043D\u0430 {fallbackModel} \u0434\u043E \u043A\u043E\u043D\u0446\u0430 \u0441\u0435\u0441\u0441\u0438\u0438: \u0442\u0435\u043A\u0443\u0449\u0430\u044F \u043C\u043E\u0434\u0435\u043B\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430.
1842
1842
  \u26A1 \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 /auth, \u0447\u0442\u043E\u0431\u044B \u043D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0434\u0440\u0443\u0433\u043E\u0439 \u0442\u043E\u043A\u0435\u043D \u0434\u043E\u0441\u0442\u0443\u043F\u0430 \u0438 \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C.`},trial:{footerLabel:"\u043F\u0440\u043E\u0431\u043D\u044B\u0435 \u0437\u0430\u043F\u0440\u043E\u0441\u044B {used}{limitPart}",limitReached:`\u26A1 \u0412\u044B \u0438\u0437\u0440\u0430\u0441\u0445\u043E\u0434\u043E\u0432\u0430\u043B\u0438 \u0432\u0441\u0435 \u043F\u0440\u043E\u0431\u043D\u044B\u0435 \u0437\u0430\u043F\u0440\u043E\u0441\u044B Koda.
1843
1843
  \u26A1 \u0417\u0430\u043F\u0440\u043E\u0441\u044B \u0431\u0443\u0434\u0443\u0442 \u043F\u0440\u0438\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u044B \u0434\u043E \u0441\u0431\u0440\u043E\u0441\u0430 \u043B\u0438\u043C\u0438\u0442\u0430.
1844
- \u26A1 \u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u043F\u043E\u0441\u0442\u043E\u044F\u043D\u043D\u044B\u0439 \u0434\u043E\u0441\u0442\u0443\u043F \u0447\u0435\u0440\u0435\u0437 /auth \u0438\u043B\u0438 \u043E\u0444\u043E\u0440\u043C\u0438\u0442\u0435 \u0442\u0430\u0440\u0438\u0444: https://kodacode.ru `},auth:{reauthRequired:"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u043F\u043E\u0432\u0442\u043E\u0440\u043D\u0430\u044F \u0430\u0443\u0442\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F",timeout:"\u0412\u0440\u0435\u043C\u044F \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u044F \u0430\u0443\u0442\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u0438 \u0438\u0441\u0442\u0435\u043A\u043B\u043E. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0435 \u0440\u0430\u0437."},prompts:{pressCtrlCAgain:"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 Ctrl+C \u0435\u0449\u0435 \u0440\u0430\u0437, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u0439\u0442\u0438.",pressCtrlDAgain:"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 Ctrl+D \u0435\u0449\u0435 \u0440\u0430\u0437, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u0439\u0442\u0438.",pressEscAgain:"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 Esc \u0435\u0449\u0435 \u0440\u0430\u0437, \u0447\u0442\u043E\u0431\u044B \u043E\u0447\u0438\u0441\u0442\u0438\u0442\u044C."},extensions:{noActive:"\u041D\u0435\u0442 \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0445 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u0439.",activeTitle:"\u0410\u043A\u0442\u0438\u0432\u043D\u044B\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F:"},placeholders:{vim:" \u041D\u0430\u0436\u043C\u0438\u0442\u0435 'i' \u0434\u043B\u044F \u0440\u0435\u0436\u0438\u043C\u0430 INSERT \u0438 'Esc' \u0434\u043B\u044F \u0440\u0435\u0436\u0438\u043C\u0430 NORMAL.",default:" \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0438\u043B\u0438 @\u043F\u0443\u0442\u044C/\u043A/\u0444\u0430\u0439\u043B\u0443"},confirmation:{yes:"\u0414\u0430",no:"\u041D\u0435\u0442"},toolConfirmation:{modifyInProgress:"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0432 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435: ",saveAndCloseExternalEditor:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u0435 \u0438 \u0437\u0430\u043A\u0440\u043E\u0439\u0442\u0435 \u0432\u043D\u0435\u0448\u043D\u0438\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C",applyThisChange:"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u044D\u0442\u043E \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435?",yesAllowOnce:"\u0414\u0430, \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u043E\u0434\u0438\u043D \u0440\u0430\u0437",yesAllowAlways:"\u0414\u0430, \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0432\u0441\u0435\u0433\u0434\u0430",noEsc:"\u041D\u0435\u0442 (esc)",modifyWithExternalEditor:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u043E \u0432\u043D\u0435\u0448\u043D\u0435\u043C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435",noSuggestChanges:"\u041D\u0435\u0442, \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F (esc)",allowExecutionOf:"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435: '{command}'?",doYouWantToProceed:"\u0412\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C?",urlsToFetch:"URL-\u0430\u0434\u0440\u0435\u0441\u0430 \u0434\u043B\u044F \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F:",allowExecutionOfMcpTool:'\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430 MCP "{toolName}" \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 "{serverName}"?',yesAlwaysAllowToolFromServer:'\u0414\u0430, \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0442\u044C \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 "{toolName}" \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 "{serverName}"',yesAlwaysAllowAllToolsFromServer:'\u0414\u0430, \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0442\u044C \u0432\u0441\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 "{serverName}"'},init:{error:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0438: {error}",checkConfig:"\u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 API-\u043A\u043B\u044E\u0447 \u0438 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E."}}},bnr={en:FLn,ru:MLn},Aqe=class{currentLanguage;constructor(e){let r=e?.language;r==="en"||r==="ru"?this.currentLanguage=r:this.currentLanguage="en"}setLanguage(e){this.currentLanguage=e}getLanguage(){return this.currentLanguage}t(e,r){let n=e.split("."),i=bnr[this.currentLanguage],a=!0;for(let s of n)if(typeof i=="object"&&i!==null&&s in i)i=i[s];else{a=!1;break}if(a&&typeof i=="string"){if(r){let s=i;for(let[o,l]of Object.entries(r))s=s.replace(new RegExp(`{${o}}`,"g"),String(l));return s}return i}if(this.currentLanguage!=="en"){let s=bnr.en,o=!0;for(let l of n)if(typeof s=="object"&&s!==null&&l in s)s=s[l];else{o=!1;break}if(o&&typeof s=="string"){if(r){let l=s;for(let[u,c]of Object.entries(r))l=l.replace(new RegExp(`{${u}}`,"g"),String(c));return l}return s}}return e}},De=new Aqe;function LLn(t){let e=[];for(let r of t)Array.isArray(r)?e.push(...r):e.push(r);return e}var Inr=(t,e,r,n,i,a,s,o,l,u,c,d,h,f)=>{(0,Ys.useEffect)(()=>{(async()=>{try{let Ae=await n.getToolRegistry(),te={},H=["search_file_content","list_directory","glob","google_web_search","save_memory","run_shell_command"];for(let ge of H){let xe=`toolDescriptions.${ge}`,He=De.t(xe);He&&He!==xe&&(te[ge]=He)}Object.keys(te).length>0&&Ae.updateToolDescriptions(te)}catch(Ae){console.error("Error updating tool descriptions:",Ae)}})()},[n]);let[E,y]=(0,Ys.useState)(null),g=(0,Ys.useRef)(null),C=(0,Ys.useRef)(!1),[D,S]=(0,Ys.useState)(!1),[w,N]=(0,Ys.useState)(null),[M,U]=Anr(null),k=(0,Ys.useRef)(new Set),{startNewPrompt:B,getPromptCount:q}=U6(),W=RAe(),re=(0,Ys.useMemo)(()=>{if(n.getProjectRoot())return new N7(n.getProjectRoot())},[n]),[$,R,Q]=gnr(async Y=>{Y.length>0&&(r(fqe(Y),Date.now()),await le(Y))},n,U,o,h),J=(0,Ys.useMemo)(()=>$.length?fqe($):void 0,[$]),ae=(0,Ys.useRef)(!1),fe=(0,Ys.useCallback)(async Y=>{S(!0),await Y,S(!1)},[]),{handleShellCommand:K}=dnr(r,U,fe,i,n,t),ne=(0,Ys.useMemo)(()=>$.some(Y=>Y.status==="awaiting_approval")?"waiting_for_confirmation":D||$.some(Y=>Y.status==="executing"||Y.status==="scheduled"||Y.status==="validating"||(Y.status==="success"||Y.status==="error"||Y.status==="cancelled")&&!Y.responseSubmittedToGemini)?"responding":"idle",[D,$]),he=(0,Ys.useMemo)(()=>{let Y=["awaiting_approval","executing","validating","scheduled","success","error","cancelled"];for(let Ae of Y){let te=$.find(H=>H.status===Ae);if(te)return te}return null},[$]),Ee=(0,Ys.useMemo)(()=>{if(he){let Y=he.tool?.displayName??he.request.name,te=("invocation"in he?he.invocation:void 0)?.getDescription?.(),H=typeof te=="string"?te.trim():"",ge=H.length>0,He={awaiting_approval:{withDescription:"loading.activity.awaitingApproval.withDescription",withoutDescription:"loading.activity.awaitingApproval.withoutDescription"},executing:{withDescription:"loading.activity.executing.withDescription",withoutDescription:"loading.activity.executing.withoutDescription"},validating:{withDescription:"loading.activity.validating.withDescription",withoutDescription:"loading.activity.validating.withoutDescription"},scheduled:{withDescription:"loading.activity.scheduled.withDescription",withoutDescription:"loading.activity.scheduled.withoutDescription"},success:{withDescription:"loading.activity.success.withDescription",withoutDescription:"loading.activity.success.withoutDescription"},error:{withDescription:"loading.activity.error.withDescription",withoutDescription:"loading.activity.error.withoutDescription"},cancelled:{withDescription:"loading.activity.cancelled.withDescription",withoutDescription:"loading.activity.cancelled.withoutDescription"}}[he.status];if(!He)return null;let mt=ge?He.withDescription:He.withoutDescription,xt={tool:Y};ge&&(xt.description=H);let Yt=`loading.activity.tool.${he.request.name}.${he.status}`,ht=ge?`${Yt}.withDescription`:`${Yt}.withoutDescription`,vt=De.t(ht,xt);return vt!==ht?vt:De.t(mt,xt)}return ne==="responding"?De.t("loading.activity.processingResponse"):ne==="waiting_for_confirmation"?De.t("loading.activity.awaitingUserConfirmation"):null},[he,ne]),pe=(0,Ys.useCallback)(()=>{ne==="responding"&&(C.current||(C.current=!0,g.current?.abort(),M.current&&r(M.current,Date.now()),r({type:"info",text:De.t("app.requestCancelled")},Date.now()),U(null),f(),S(!1)))},[ne,r,U,f,M]);ts(Y=>{Y.name==="escape"&&pe()},{isActive:ne==="responding"});let _e=(0,Ys.useCallback)(async(Y,Ae,te,H)=>{if(C.current)return{queryToSend:null,shouldProceed:!1};if(typeof Y=="string"&&Y.trim().length===0)return{queryToSend:null,shouldProceed:!1};let ge=null;if(typeof Y=="string"){let xe=Y.trim();hL(n,new zO(xe.length,H,n.getContentGeneratorConfig()?.authType,xe)),i(`User query: '${xe}'`),await W?.logMessage(AU.USER,xe);let He=await a(xe);if(He)switch(He.type){case"schedule_tool":{let{toolName:mt,toolArgs:xt}=He,Yt={callId:`${mt}-${Date.now()}-${Math.random().toString(16).slice(2)}`,name:mt,args:xt,isClientInitiated:!0,prompt_id:H};return R([Yt],te),{queryToSend:null,shouldProceed:!1}}case"submit_prompt":return ge=He.content,{queryToSend:ge,shouldProceed:!0};case"handled":return{queryToSend:null,shouldProceed:!1};default:{let mt=He;throw new Error(`Unhandled slash command result type: ${mt}`)}}if(s&&K(xe,te))return{queryToSend:null,shouldProceed:!1};if(anr(xe)){let mt=await fnr({query:xe,config:n,addItem:r,onDebugMessage:i,messageId:Ae,signal:te});if(!mt.shouldProceed)return{queryToSend:null,shouldProceed:!1};ge=mt.processedQuery}else r({type:"user",text:xe},Ae),ge=xe}else ge=Y;return ge===null?(i("Query processing resulted in null, not sending to Gemini."),{queryToSend:null,shouldProceed:!1}):{queryToSend:ge,shouldProceed:!0}},[n,r,i,K,a,W,s,R]),Se=(0,Ys.useCallback)((Y,Ae,te)=>{if(C.current)return"";let H=Ae+Y;M.current?.type!=="gemini"&&M.current?.type!=="gemini_content"&&(M.current&&r(M.current,te),U({type:"gemini",text:""}),H=Y);let ge=hnr(H);if(ge===H.length)U(xe=>({type:xe?.type,text:H}));else{let xe=H.substring(0,ge),He=H.substring(ge);r({type:M.current?.type,text:xe},te),U({type:"gemini_content",text:He}),H=He}return H},[r,M,U]),se=(0,Ys.useCallback)(Y=>{if(!C.current){if(M.current){if(M.current.type==="tool_group"){let Ae=M.current.tools.map(H=>H.status==="Pending"||H.status==="Confirming"||H.status==="Executing"?{...H,status:"Canceled"}:H),te={...M.current,tools:Ae};r(te,Y)}else r(M.current,Y);U(null)}r({type:"info",text:"User cancelled the request."},Y),S(!1),N(null)}},[r,M,U,N]),ve=(0,Ys.useCallback)((Y,Ae)=>{M.current&&(r(M.current,Ae),U(null)),r({type:"error",text:MU(Y.error,n.getContentGeneratorConfig()?.authType,void 0,n.getModel(),Od)},Ae),N(null)},[r,M,U,n,N]),X=(0,Ys.useCallback)((Y,Ae)=>{let te=Y.value,ge={[a0.FINISH_REASON_UNSPECIFIED]:void 0,[a0.STOP]:void 0,[a0.MAX_TOKENS]:"Response truncated due to token limits.",[a0.SAFETY]:"Response stopped due to safety reasons.",[a0.RECITATION]:"Response stopped due to recitation policy.",[a0.LANGUAGE]:"Response stopped due to unsupported language.",[a0.BLOCKLIST]:"Response stopped due to forbidden terms.",[a0.PROHIBITED_CONTENT]:"Response stopped due to prohibited content.",[a0.SPII]:"Response stopped due to sensitive personally identifiable information.",[a0.OTHER]:"Response stopped for other reasons.",[a0.MALFORMED_FUNCTION_CALL]:"Response stopped due to malformed function call.",[a0.IMAGE_SAFETY]:"Response stopped due to image safety violations.",[a0.UNEXPECTED_TOOL_CALL]:"Response stopped due to unexpected tool call."}[te];ge&&r({type:"info",text:`\u26A0\uFE0F ${ge}`},Ae)},[r]),ee=(0,Ys.useCallback)(Y=>r({type:"info",text:`IMPORTANT: This conversation approached the input token limit for ${n.getModel()}. A compressed context will be sent for future messages (compressed from: ${Y?.originalTokenCount??"unknown"} to ${Y?.newTokenCount??"unknown"} tokens).`},Date.now()),[r,n]),ie=(0,Ys.useCallback)(()=>r({type:"info",text:`The session has reached the maximum number of turns: ${n.getMaxSessionTurns()}. Please update this limit in your setting.json file.`},Date.now()),[r,n]),me=(0,Ys.useCallback)(()=>{r({type:"info",text:"A potential loop was detected. This can happen due to repetitive tool calls or other model behavior. The request has been halted."},Date.now())},[r]),ue=(0,Ys.useCallback)(async(Y,Ae,te)=>{let H="",ge=[];for await(let xe of Y)switch(xe.type){case $s.Thought:N(xe.value);break;case $s.Content:H=Se(xe.value,H,Ae);break;case $s.ToolCallRequest:ge.push(xe.value);break;case $s.UserCancelled:se(Ae);break;case $s.Error:ve(xe.value,Ae);break;case $s.ChatCompressed:ee(xe.value);break;case $s.ToolCallConfirmation:case $s.ToolCallResponse:break;case $s.MaxSessionTurns:ie();break;case $s.Finished:X(xe,Ae);break;case $s.LoopDetected:ae.current=!0;break;default:return xe}return ge.length>0&&R(ge,te),0},[Se,se,ve,R,ee,X,ie]),Ce=(0,Ys.useCallback)(async(Y,Ae,te)=>{if((ne==="responding"||ne==="waiting_for_confirmation")&&!Ae?.isContinuation)return;let H=Date.now();Ae?.isContinuation||(d(!1),n.setQuotaErrorOccurred(!1)),g.current=new AbortController;let ge=g.current.signal;C.current=!1,te||(te=n.getSessionId()+"########"+q());let{queryToSend:xe,shouldProceed:He}=await _e(Y,H,ge,te);if(!(!He||xe===null)){Ae?.isContinuation||(B(),N(null)),S(!0),y(null);try{let mt=t.sendMessageStream(xe,ge,te);if(await ue(mt,H,ge)===1)return;M.current&&(r(M.current,H),U(null)),ae.current&&(ae.current=!1,me())}catch(mt){mt instanceof ES?l():(!Ns(mt)||mt.name!=="AbortError")&&r({type:"error",text:MU(sr(mt)||"Unknown error",n.getContentGeneratorConfig()?.authType,void 0,n.getModel(),Od)},H)}finally{S(!1)}}},[ne,d,_e,ue,M,r,U,y,t,l,n,B,q,me]),le=(0,Ys.useCallback)(async Y=>{if(D)return;let Ae=Y.filter(Yt=>Yt.status==="success"||Yt.status==="error"||Yt.status==="cancelled"?Yt.response?.responseParts!==void 0:!1),te=Ae.filter(Yt=>Yt.request.isClientInitiated);te.length>0&&Q(te.map(Yt=>Yt.request.callId));let H=Ae.filter(Yt=>Yt.request.name==="save_memory"&&Yt.status==="success"&&!k.current.has(Yt.request.callId));H.length>0&&(u(),H.forEach(Yt=>k.current.add(Yt.request.callId)));let ge=Ae.filter(Yt=>!Yt.request.isClientInitiated);if(ge.length===0)return;if(ge.every(Yt=>Yt.status==="cancelled")){if(t){let ht=ge.flatMap(Ut=>Ut.response.responseParts),vt=[];for(let Ut of ht)Array.isArray(Ut)?vt.push(...Ut):typeof Ut=="string"?vt.push({text:Ut}):vt.push(Ut);t.addHistory({role:"user",parts:vt})}let Yt=ge.map(ht=>ht.request.callId);Q(Yt);return}let He=ge.map(Yt=>Yt.response.responseParts),mt=ge.map(Yt=>Yt.request.callId),xt=ge.map(Yt=>Yt.request.prompt_id);Q(mt),!c&&Ce(LLn(He),{isContinuation:!0},xt[0])},[D,Ce,Q,t,u,c]),G=[M.current,J].filter(Y=>Y!=null);return(0,Ys.useEffect)(()=>{(async()=>{if(!n.getCheckpointingEnabled())return;let Ae=$.filter(te=>(te.request.name==="replace"||te.request.name==="write_file")&&te.status==="awaiting_approval");if(Ae.length>0){let te=n.getProjectTempDir()?gqe.join(n.getProjectTempDir(),"checkpoints"):void 0;if(!te)return;try{await wnr.mkdir(te,{recursive:!0})}catch(H){if(!Ns(H)||H.code!=="EEXIST"){i(`Failed to create checkpoint directory: ${sr(H)}`);return}}for(let H of Ae){let ge=H.request.args.file_path;if(!ge){i(`Skipping restorable tool call due to missing file_path: ${H.request.name}`);continue}try{let xe=await re?.createFileSnapshot(`Snapshot for ${H.request.name}`);if(xe||(xe=await re?.getCurrentCommitHash()),!xe){i(`Failed to create snapshot for ${ge}. Skipping restorable tool call.`);continue}let He=new Date().toISOString().replace(/:/g,"-").replace(/\./g,"_"),mt=H.request.name,xt=gqe.basename(ge),Yt=`${He}-${xt}-${mt}.json`,ht=await t?.getHistory(),vt=gqe.join(te,Yt);await wnr.writeFile(vt,JSON.stringify({history:e,clientHistory:ht,toolCall:{name:H.request.name,args:H.request.args},commitHash:xe,filePath:ge},null,2))}catch(xe){i(`Failed to write restorable tool call file: ${sr(xe)}`)}}}})()},[$,n,i,re,e,t]),{streamingState:ne,submitQuery:Ce,initError:E,pendingHistoryItems:G,thought:w,cancelOngoingRequest:pe,activeActivity:Ee}};var hb=Ve(lr(),1);var Tnr=(t,e)=>{let[r,n]=(0,hb.useState)(0),i=(0,hb.useRef)(null),a=(0,hb.useRef)(e),s=(0,hb.useRef)(t);return(0,hb.useEffect)(()=>{let o=!1;return a.current!==e&&(o=!0,a.current=e),s.current===!1&&t&&(o=!0),o&&n(0),s.current=t,t?(i.current&&clearInterval(i.current),i.current=setInterval(()=>{n(l=>l+1)},1e3)):i.current&&(clearInterval(i.current),i.current=null),()=>{i.current&&(clearInterval(i.current),i.current=null)}},[t,e]),r};var Ab=Ve(lr(),1);var PLn=5e3;function QLn(){return["Generating responses with 110% accuracy","Reticulating splines...","Consulting the Oracle...","Waking up the AI overlords...","Booting up consciousness...","Calibrating neural pathways...","Compiling ideas into thoughts...","Loading witty loading messages...","Calculating the meaning of life...","Sharpening the algorithms...","Preparing digital magic tricks...","Downloading more RAM...","Compressing algorithms...","Decompressing responses...","Rearranging the bits...","Initializing the response factory...","Assembling the knowledge engine...","Polishing the AI gemstones...","Warming up the neural networks...","Fine-tuning the intelligence...","Loading AI with coffee...","Preparing your AI-powered response...","Consulting the digital encyclopedia...","Generating thoughts with 99.9% confidence"]}function xnr(t,e){let r=(0,Ab.useMemo)(()=>QLn(),[]),[n,i]=(0,Ab.useState)(()=>r[0]??"Loading..."),a=(0,Ab.useCallback)(()=>{if(r.length===0)return"Loading...";let s=Math.floor(Math.random()*r.length);return r[s]},[r]);return(0,Ab.useEffect)(()=>{let s=null;if(e)i("Waiting for user confirmation...");else if(t){let o=a();i(o),s=setInterval(()=>{i(l=>{let u=r.indexOf(l);if(u===-1)return r[0];let c=(u+1)%r.length;return r[c]})},PLn)}else i(r[0]);return()=>{s&&clearInterval(s)}},[t,e,a,r]),n}var vR=Ve(lr(),1);var Bnr=(t,e)=>{let[r,n]=(0,vR.useState)(0),i=t==="responding",a=Tnr(i,r),s=t==="responding",o=t==="waiting_for_confirmation",l=xnr(s,o),u=e&&t!=="idle"?e:l,[c,d]=(0,vR.useState)(0),h=(0,vR.useRef)(null);return(0,vR.useEffect)(()=>{h.current==="waiting_for_confirmation"&&t==="responding"?(n(f=>f+1),d(0)):t==="idle"&&h.current==="responding"?(n(f=>f+1),d(0)):t==="waiting_for_confirmation"&&d(a),h.current=t},[t,a]),{elapsedTime:t==="waiting_for_confirmation"?c:a,currentLoadingPhrase:u}};var G7=Ve(lr(),1);var Rnr={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",blanchedalmond:"#ffebcd",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",whitesmoke:"#f5f5f5",yellowgreen:"#9acd32"},kLn=new Set(["black","red","green","yellow","blue","cyan","magenta","white","gray","grey","blackbright","redbright","greenbright","yellowbright","bluebright","cyanbright","magentabright","whitebright"]);function Nnr(t){let e=t.toLowerCase();if(e.startsWith("#"))return/^#[0-9A-Fa-f]{3}([0-9A-Fa-f]{3})?$/.test(t)?e:void 0;if(kLn.has(e))return e;if(Rnr[e])return Rnr[e];console.warn(`[ColorUtils] Could not resolve color "${t}" to an Ink-compatible format.`)}var mi={type:"light",Background:"#FAFAFA",Foreground:"#3C3C43",LightBlue:"#89BDCD",AccentBlue:"#3B82F6",AccentPurple:"#8B5CF6",AccentCyan:"#06B6D4",AccentGreen:"#3CA84B",AccentYellow:"#D5A40A",AccentRed:"#DD4C4C",DiffAdded:"#C6EAD8",DiffRemoved:"#FFCCCC",Comment:"#008000",Gray:"#97a0b0",GradientColors:["#4796E4","#847ACE","#C3677F"]},Pn={type:"dark",Background:"#1E1E2E",Foreground:"#CDD6F4",LightBlue:"#ADD8E6",AccentBlue:"#89B4FA",AccentPurple:"#CBA6F7",AccentCyan:"#89DCEB",AccentGreen:"#A6E3A1",AccentYellow:"#F9E2AF",AccentRed:"#F38BA8",DiffAdded:"#28350B",DiffRemoved:"#430000",Comment:"#6C7086",Gray:"#6C7086",GradientColors:["#8b20c5ff","#e4b424ff","#C3677F"]},_0={type:"ansi",Background:"black",Foreground:"white",LightBlue:"blue",AccentBlue:"blue",AccentPurple:"magenta",AccentCyan:"cyan",AccentGreen:"green",AccentYellow:"yellow",AccentRed:"red",DiffAdded:"green",DiffRemoved:"red",Comment:"gray",Gray:"gray"},oo=class t{constructor(e,r,n,i,a){this.name=e;this.type=r;this.colors=i;this.semanticColors=a;this._colorMap=Object.freeze(this._buildColorMap(n));let s=n.hljs?.color;this.defaultColor=(s?t._resolveColor(s):void 0)??""}defaultColor;_colorMap;getInkColor(e){return this._colorMap[e]}static _resolveColor(e){return Nnr(e)}_buildColorMap(e){let r={};for(let n in e){if(!n.startsWith("hljs-")&&n!=="hljs")continue;let i=e[n];if(i?.color){let a=t._resolveColor(i.color);a!==void 0&&(r[n]=a)}}return r}};function Onr(t){let e={type:"custom",Background:t.background?.primary??t.Background??"",Foreground:t.text?.primary??t.Foreground??"",LightBlue:t.text?.link??t.LightBlue??"",AccentBlue:t.text?.link??t.AccentBlue??"",AccentPurple:t.text?.accent??t.AccentPurple??"",AccentCyan:t.text?.link??t.AccentCyan??"",AccentGreen:t.status?.success??t.AccentGreen??"",AccentYellow:t.status?.warning??t.AccentYellow??"",AccentRed:t.status?.error??t.AccentRed??"",DiffAdded:t.background?.diff?.added??t.DiffAdded??"",DiffRemoved:t.background?.diff?.removed??t.DiffRemoved??"",Comment:t.ui?.comment??t.Comment??"",Gray:t.text?.secondary??t.Gray??"",GradientColors:t.ui?.gradient??t.GradientColors},r={hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:e.Background,color:e.Foreground},"hljs-keyword":{color:e.AccentBlue},"hljs-literal":{color:e.AccentBlue},"hljs-symbol":{color:e.AccentBlue},"hljs-name":{color:e.AccentBlue},"hljs-link":{color:e.AccentBlue,textDecoration:"underline"},"hljs-built_in":{color:e.AccentCyan},"hljs-type":{color:e.AccentCyan},"hljs-number":{color:e.AccentGreen},"hljs-class":{color:e.AccentGreen},"hljs-string":{color:e.AccentYellow},"hljs-meta-string":{color:e.AccentYellow},"hljs-regexp":{color:e.AccentRed},"hljs-template-tag":{color:e.AccentRed},"hljs-subst":{color:e.Foreground},"hljs-function":{color:e.Foreground},"hljs-title":{color:e.Foreground},"hljs-params":{color:e.Foreground},"hljs-formula":{color:e.Foreground},"hljs-comment":{color:e.Comment,fontStyle:"italic"},"hljs-quote":{color:e.Comment,fontStyle:"italic"},"hljs-doctag":{color:e.Comment},"hljs-meta":{color:e.Gray},"hljs-meta-keyword":{color:e.Gray},"hljs-tag":{color:e.Gray},"hljs-variable":{color:e.AccentPurple},"hljs-template-variable":{color:e.AccentPurple},"hljs-attr":{color:e.LightBlue},"hljs-attribute":{color:e.LightBlue},"hljs-builtin-name":{color:e.LightBlue},"hljs-section":{color:e.AccentYellow},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"},"hljs-bullet":{color:e.AccentYellow},"hljs-selector-tag":{color:e.AccentYellow},"hljs-selector-id":{color:e.AccentYellow},"hljs-selector-class":{color:e.AccentYellow},"hljs-selector-attr":{color:e.AccentYellow},"hljs-selector-pseudo":{color:e.AccentYellow},"hljs-addition":{backgroundColor:e.AccentGreen,display:"inline-block",width:"100%"},"hljs-deletion":{backgroundColor:e.AccentRed,display:"inline-block",width:"100%"}},n={text:{primary:e.Foreground,secondary:e.Gray,link:e.AccentBlue,accent:e.AccentPurple},background:{primary:e.Background,diff:{added:e.DiffAdded,removed:e.DiffRemoved}},border:{default:e.Gray,focused:e.AccentBlue},ui:{comment:e.Comment,symbol:e.Gray,gradient:e.GradientColors},status:{error:e.AccentRed,success:e.AccentGreen,warning:e.AccentYellow}};return new oo(t.name,"custom",r,e,n)}function Fnr(t){return t.name&&!ULn(t.name)?{isValid:!1,error:`Invalid theme name: ${t.name}`}:{isValid:!0}}function ULn(t){return t.trim().length>0&&t.trim().length<=50}var H6={text:{primary:mi.Foreground,secondary:mi.Gray,link:mi.AccentBlue,accent:mi.AccentPurple},background:{primary:mi.Background,diff:{added:mi.DiffAdded,removed:mi.DiffRemoved}},border:{default:mi.Gray,focused:mi.AccentBlue},ui:{comment:mi.Comment,symbol:mi.Gray,gradient:mi.GradientColors},status:{error:mi.AccentRed,success:mi.AccentGreen,warning:mi.AccentYellow}},Xh={text:{primary:Pn.Foreground,secondary:Pn.Gray,link:Pn.AccentBlue,accent:Pn.AccentPurple},background:{primary:Pn.Background,diff:{added:Pn.DiffAdded,removed:Pn.DiffRemoved}},border:{default:Pn.Gray,focused:Pn.AccentBlue},ui:{comment:Pn.Comment,symbol:Pn.Gray,gradient:Pn.GradientColors},status:{error:Pn.AccentRed,success:Pn.AccentGreen,warning:Pn.AccentYellow}},cGi={text:{primary:_0.Foreground,secondary:_0.Gray,link:_0.AccentBlue,accent:_0.AccentPurple},background:{primary:_0.Background,diff:{added:_0.DiffAdded,removed:_0.DiffRemoved}},border:{default:_0.Gray,focused:_0.AccentBlue},ui:{comment:_0.Comment,symbol:_0.Gray,gradient:_0.GradientColors},status:{error:_0.AccentRed,success:_0.AccentGreen,warning:_0.AccentYellow}};var Gu={type:"dark",Background:"#0b0e14",Foreground:"#bfbdb6",LightBlue:"#59C2FF",AccentBlue:"#39BAE6",AccentPurple:"#D2A6FF",AccentCyan:"#95E6CB",AccentGreen:"#AAD94C",AccentYellow:"#FFB454",AccentRed:"#F26D78",DiffAdded:"#293022",DiffRemoved:"#3D1215",Comment:"#646A71",Gray:"#3D4149",GradientColors:["#FFB454","#F26D78"]},Mnr=new oo("Ayu","dark",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:Gu.Background,color:Gu.Foreground},"hljs-keyword":{color:Gu.AccentYellow},"hljs-literal":{color:Gu.AccentPurple},"hljs-symbol":{color:Gu.AccentCyan},"hljs-name":{color:Gu.LightBlue},"hljs-link":{color:Gu.AccentBlue},"hljs-function .hljs-keyword":{color:Gu.AccentYellow},"hljs-subst":{color:Gu.Foreground},"hljs-string":{color:Gu.AccentGreen},"hljs-title":{color:Gu.AccentYellow},"hljs-type":{color:Gu.AccentBlue},"hljs-attribute":{color:Gu.AccentYellow},"hljs-bullet":{color:Gu.AccentYellow},"hljs-addition":{color:Gu.AccentGreen},"hljs-variable":{color:Gu.Foreground},"hljs-template-tag":{color:Gu.AccentYellow},"hljs-template-variable":{color:Gu.AccentYellow},"hljs-comment":{color:Gu.Comment,fontStyle:"italic"},"hljs-quote":{color:Gu.AccentCyan,fontStyle:"italic"},"hljs-deletion":{color:Gu.AccentRed},"hljs-meta":{color:Gu.AccentYellow},"hljs-doctag":{fontWeight:"bold"},"hljs-strong":{fontWeight:"bold"},"hljs-emphasis":{fontStyle:"italic"}},Gu,Xh);var Ws={type:"light",Background:"#f8f9fa",Foreground:"#5c6166",LightBlue:"#55b4d4",AccentBlue:"#399ee6",AccentPurple:"#a37acc",AccentCyan:"#4cbf99",AccentGreen:"#86b300",AccentYellow:"#f2ae49",AccentRed:"#f07171",DiffAdded:"#C6EAD8",DiffRemoved:"#FFCCCC",Comment:"#ABADB1",Gray:"#a6aaaf",GradientColors:["#399ee6","#86b300"]},Lnr=new oo("Ayu Light","light",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:Ws.Background,color:Ws.Foreground},"hljs-comment":{color:Ws.Comment,fontStyle:"italic"},"hljs-quote":{color:Ws.AccentCyan,fontStyle:"italic"},"hljs-string":{color:Ws.AccentGreen},"hljs-constant":{color:Ws.AccentCyan},"hljs-number":{color:Ws.AccentPurple},"hljs-keyword":{color:Ws.AccentYellow},"hljs-selector-tag":{color:Ws.AccentYellow},"hljs-attribute":{color:Ws.AccentYellow},"hljs-variable":{color:Ws.Foreground},"hljs-variable.language":{color:Ws.LightBlue,fontStyle:"italic"},"hljs-title":{color:Ws.AccentBlue},"hljs-section":{color:Ws.AccentGreen,fontWeight:"bold"},"hljs-type":{color:Ws.LightBlue},"hljs-class .hljs-title":{color:Ws.AccentBlue},"hljs-tag":{color:Ws.LightBlue},"hljs-name":{color:Ws.AccentBlue},"hljs-builtin-name":{color:Ws.AccentYellow},"hljs-meta":{color:Ws.AccentYellow},"hljs-symbol":{color:Ws.AccentRed},"hljs-bullet":{color:Ws.AccentYellow},"hljs-regexp":{color:Ws.AccentCyan},"hljs-link":{color:Ws.LightBlue},"hljs-deletion":{color:Ws.AccentRed},"hljs-addition":{color:Ws.AccentGreen},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"},"hljs-literal":{color:Ws.AccentCyan},"hljs-built_in":{color:Ws.AccentRed},"hljs-doctag":{color:Ws.AccentRed},"hljs-template-variable":{color:Ws.AccentCyan},"hljs-selector-id":{color:Ws.AccentRed}},Ws,H6);var As={type:"dark",Background:"#282c34",Foreground:"#abb2bf",LightBlue:"#61aeee",AccentBlue:"#61aeee",AccentPurple:"#c678dd",AccentCyan:"#56b6c2",AccentGreen:"#98c379",AccentYellow:"#e6c07b",AccentRed:"#e06c75",DiffAdded:"#39544E",DiffRemoved:"#562B2F",Comment:"#5c6370",Gray:"#5c6370",GradientColors:["#61aeee","#98c379"]},Pnr=new oo("Atom One","dark",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",color:As.Foreground,background:As.Background},"hljs-comment":{color:As.Comment,fontStyle:"italic"},"hljs-quote":{color:As.Comment,fontStyle:"italic"},"hljs-doctag":{color:As.AccentPurple},"hljs-keyword":{color:As.AccentPurple},"hljs-formula":{color:As.AccentPurple},"hljs-section":{color:As.AccentRed},"hljs-name":{color:As.AccentRed},"hljs-selector-tag":{color:As.AccentRed},"hljs-deletion":{color:As.AccentRed},"hljs-subst":{color:As.AccentRed},"hljs-literal":{color:As.AccentCyan},"hljs-string":{color:As.AccentGreen},"hljs-regexp":{color:As.AccentGreen},"hljs-addition":{color:As.AccentGreen},"hljs-attribute":{color:As.AccentGreen},"hljs-meta-string":{color:As.AccentGreen},"hljs-built_in":{color:As.AccentYellow},"hljs-class .hljs-title":{color:As.AccentYellow},"hljs-attr":{color:As.AccentYellow},"hljs-variable":{color:As.AccentYellow},"hljs-template-variable":{color:As.AccentYellow},"hljs-type":{color:As.AccentYellow},"hljs-selector-class":{color:As.AccentYellow},"hljs-selector-attr":{color:As.AccentYellow},"hljs-selector-pseudo":{color:As.AccentYellow},"hljs-number":{color:As.AccentYellow},"hljs-symbol":{color:As.AccentBlue},"hljs-bullet":{color:As.AccentBlue},"hljs-link":{color:As.AccentBlue,textDecoration:"underline"},"hljs-meta":{color:As.AccentBlue},"hljs-selector-id":{color:As.AccentBlue},"hljs-title":{color:As.AccentBlue},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"}},As,Xh);var Yl={type:"dark",Background:"#282a36",Foreground:"#f8f8f2",LightBlue:"#8be9fd",AccentBlue:"#8be9fd",AccentPurple:"#ff79c6",AccentCyan:"#8be9fd",AccentGreen:"#50fa7b",AccentYellow:"#f1fa8c",AccentRed:"#ff5555",DiffAdded:"#11431d",DiffRemoved:"#6e1818",Comment:"#6272a4",Gray:"#6272a4",GradientColors:["#ff79c6","#8be9fd"]},Qnr=new oo("Dracula","dark",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:Yl.Background,color:Yl.Foreground},"hljs-keyword":{color:Yl.AccentBlue,fontWeight:"bold"},"hljs-selector-tag":{color:Yl.AccentBlue,fontWeight:"bold"},"hljs-literal":{color:Yl.AccentBlue,fontWeight:"bold"},"hljs-section":{color:Yl.AccentBlue,fontWeight:"bold"},"hljs-link":{color:Yl.AccentBlue},"hljs-function .hljs-keyword":{color:Yl.AccentPurple},"hljs-subst":{color:Yl.Foreground},"hljs-string":{color:Yl.AccentYellow},"hljs-title":{color:Yl.AccentYellow,fontWeight:"bold"},"hljs-name":{color:Yl.AccentYellow,fontWeight:"bold"},"hljs-type":{color:Yl.AccentYellow,fontWeight:"bold"},"hljs-attribute":{color:Yl.AccentYellow},"hljs-symbol":{color:Yl.AccentYellow},"hljs-bullet":{color:Yl.AccentYellow},"hljs-addition":{color:Yl.AccentGreen},"hljs-variable":{color:Yl.AccentYellow},"hljs-template-tag":{color:Yl.AccentYellow},"hljs-template-variable":{color:Yl.AccentYellow},"hljs-comment":{color:Yl.Comment},"hljs-quote":{color:Yl.Comment},"hljs-deletion":{color:Yl.AccentRed},"hljs-meta":{color:Yl.Comment},"hljs-doctag":{fontWeight:"bold"},"hljs-strong":{fontWeight:"bold"},"hljs-emphasis":{fontStyle:"italic"}},Yl,Xh);var zs={type:"dark",Background:"#24292e",Foreground:"#d1d5da",LightBlue:"#79B8FF",AccentBlue:"#79B8FF",AccentPurple:"#B392F0",AccentCyan:"#9ECBFF",AccentGreen:"#85E89D",AccentYellow:"#FFAB70",AccentRed:"#F97583",DiffAdded:"#3C4636",DiffRemoved:"#502125",Comment:"#6A737D",Gray:"#6A737D",GradientColors:["#79B8FF","#85E89D"]},knr=new oo("GitHub","dark",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",color:zs.Foreground,background:zs.Background},"hljs-comment":{color:zs.Comment,fontStyle:"italic"},"hljs-quote":{color:zs.Comment,fontStyle:"italic"},"hljs-keyword":{color:zs.AccentRed,fontWeight:"bold"},"hljs-selector-tag":{color:zs.AccentRed,fontWeight:"bold"},"hljs-subst":{color:zs.Foreground},"hljs-number":{color:zs.LightBlue},"hljs-literal":{color:zs.LightBlue},"hljs-variable":{color:zs.AccentYellow},"hljs-template-variable":{color:zs.AccentYellow},"hljs-tag .hljs-attr":{color:zs.AccentYellow},"hljs-string":{color:zs.AccentCyan},"hljs-doctag":{color:zs.AccentCyan},"hljs-title":{color:zs.AccentPurple,fontWeight:"bold"},"hljs-section":{color:zs.AccentPurple,fontWeight:"bold"},"hljs-selector-id":{color:zs.AccentPurple,fontWeight:"bold"},"hljs-type":{color:zs.AccentGreen,fontWeight:"bold"},"hljs-class .hljs-title":{color:zs.AccentGreen,fontWeight:"bold"},"hljs-tag":{color:zs.AccentGreen},"hljs-name":{color:zs.AccentGreen},"hljs-attribute":{color:zs.LightBlue},"hljs-regexp":{color:zs.AccentCyan},"hljs-link":{color:zs.AccentCyan},"hljs-symbol":{color:zs.AccentPurple},"hljs-bullet":{color:zs.AccentPurple},"hljs-built_in":{color:zs.LightBlue},"hljs-builtin-name":{color:zs.LightBlue},"hljs-meta":{color:zs.LightBlue,fontWeight:"bold"},"hljs-deletion":{background:"#86181D",color:zs.AccentRed},"hljs-addition":{background:"#144620",color:zs.AccentGreen},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"}},zs,Xh);var yo={type:"light",Background:"#f8f8f8",Foreground:"#24292E",LightBlue:"#0086b3",AccentBlue:"#458",AccentPurple:"#900",AccentCyan:"#009926",AccentGreen:"#008080",AccentYellow:"#990073",AccentRed:"#d14",DiffAdded:"#C6EAD8",DiffRemoved:"#FFCCCC",Comment:"#998",Gray:"#999",GradientColors:["#458","#008080"]},Unr=new oo("GitHub Light","light",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",color:yo.Foreground,background:yo.Background},"hljs-comment":{color:yo.Comment,fontStyle:"italic"},"hljs-quote":{color:yo.Comment,fontStyle:"italic"},"hljs-keyword":{color:yo.Foreground,fontWeight:"bold"},"hljs-selector-tag":{color:yo.Foreground,fontWeight:"bold"},"hljs-subst":{color:yo.Foreground,fontWeight:"normal"},"hljs-number":{color:yo.AccentGreen},"hljs-literal":{color:yo.AccentGreen},"hljs-variable":{color:yo.AccentGreen},"hljs-template-variable":{color:yo.AccentGreen},"hljs-tag .hljs-attr":{color:yo.AccentGreen},"hljs-string":{color:yo.AccentRed},"hljs-doctag":{color:yo.AccentRed},"hljs-title":{color:yo.AccentPurple,fontWeight:"bold"},"hljs-section":{color:yo.AccentPurple,fontWeight:"bold"},"hljs-selector-id":{color:yo.AccentPurple,fontWeight:"bold"},"hljs-type":{color:yo.AccentBlue,fontWeight:"bold"},"hljs-class .hljs-title":{color:yo.AccentBlue,fontWeight:"bold"},"hljs-tag":{color:yo.AccentBlue,fontWeight:"normal"},"hljs-name":{color:yo.AccentBlue,fontWeight:"normal"},"hljs-attribute":{color:yo.AccentBlue,fontWeight:"normal"},"hljs-regexp":{color:yo.AccentCyan},"hljs-link":{color:yo.AccentCyan},"hljs-symbol":{color:yo.AccentYellow},"hljs-bullet":{color:yo.AccentYellow},"hljs-built_in":{color:yo.LightBlue},"hljs-builtin-name":{color:yo.LightBlue},"hljs-meta":{color:yo.Gray,fontWeight:"bold"},"hljs-deletion":{background:"#fdd"},"hljs-addition":{background:"#dfd"},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"}},yo,H6);var Ks={type:"light",Background:"white",Foreground:"#444",LightBlue:"#066",AccentBlue:"#008",AccentPurple:"#606",AccentCyan:"#066",AccentGreen:"#080",AccentYellow:"#660",AccentRed:"#800",DiffAdded:"#C6EAD8",DiffRemoved:"#FEDEDE",Comment:"#5f6368",Gray:mi.Gray,GradientColors:["#066","#606"]},Hnr=new oo("Google Code","light",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:Ks.Background,color:Ks.Foreground},"hljs-comment":{color:Ks.AccentRed},"hljs-quote":{color:Ks.AccentRed},"hljs-keyword":{color:Ks.AccentBlue},"hljs-selector-tag":{color:Ks.AccentBlue},"hljs-section":{color:Ks.AccentBlue},"hljs-title":{color:Ks.AccentPurple},"hljs-name":{color:Ks.AccentBlue},"hljs-variable":{color:Ks.AccentYellow},"hljs-template-variable":{color:Ks.AccentYellow},"hljs-string":{color:Ks.AccentGreen},"hljs-selector-attr":{color:Ks.AccentGreen},"hljs-selector-pseudo":{color:Ks.AccentGreen},"hljs-regexp":{color:Ks.AccentGreen},"hljs-literal":{color:Ks.AccentCyan},"hljs-symbol":{color:Ks.AccentCyan},"hljs-bullet":{color:Ks.AccentCyan},"hljs-meta":{color:Ks.AccentCyan},"hljs-number":{color:Ks.AccentCyan},"hljs-link":{color:Ks.AccentCyan},"hljs-doctag":{color:Ks.AccentPurple,fontWeight:"bold"},"hljs-type":{color:Ks.AccentPurple},"hljs-attr":{color:Ks.AccentPurple},"hljs-built_in":{color:Ks.AccentPurple},"hljs-builtin-name":{color:Ks.AccentPurple},"hljs-params":{color:Ks.AccentPurple},"hljs-attribute":{color:Ks.Foreground},"hljs-subst":{color:Ks.Foreground},"hljs-formula":{backgroundColor:"#eee",fontStyle:"italic"},"hljs-selector-id":{color:Ks.AccentYellow},"hljs-selector-class":{color:Ks.AccentYellow},"hljs-addition":{backgroundColor:"#baeeba"},"hljs-deletion":{backgroundColor:"#ffc8bd"},"hljs-strong":{fontWeight:"bold"},"hljs-emphasis":{fontStyle:"italic"}},Ks,H6);var VJ=new oo("Default Light","light",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:mi.Background,color:mi.Foreground},"hljs-comment":{color:mi.Comment},"hljs-quote":{color:mi.Comment},"hljs-variable":{color:mi.Foreground},"hljs-keyword":{color:mi.AccentBlue},"hljs-selector-tag":{color:mi.AccentBlue},"hljs-built_in":{color:mi.AccentBlue},"hljs-name":{color:mi.AccentBlue},"hljs-tag":{color:mi.AccentBlue},"hljs-string":{color:mi.AccentRed},"hljs-title":{color:mi.AccentRed},"hljs-section":{color:mi.AccentRed},"hljs-attribute":{color:mi.AccentRed},"hljs-literal":{color:mi.AccentRed},"hljs-template-tag":{color:mi.AccentRed},"hljs-template-variable":{color:mi.AccentRed},"hljs-type":{color:mi.AccentRed},"hljs-addition":{color:mi.AccentGreen},"hljs-deletion":{color:mi.AccentRed},"hljs-selector-attr":{color:mi.AccentCyan},"hljs-selector-pseudo":{color:mi.AccentCyan},"hljs-meta":{color:mi.AccentCyan},"hljs-doctag":{color:mi.Gray},"hljs-attr":{color:mi.AccentRed},"hljs-symbol":{color:mi.AccentCyan},"hljs-bullet":{color:mi.AccentCyan},"hljs-link":{color:mi.AccentCyan},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"}},mi,H6);var qU=new oo("Default","dark",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:Pn.Background,color:Pn.Foreground},"hljs-keyword":{color:Pn.AccentBlue},"hljs-literal":{color:Pn.AccentBlue},"hljs-symbol":{color:Pn.AccentBlue},"hljs-name":{color:Pn.AccentBlue},"hljs-link":{color:Pn.AccentBlue,textDecoration:"underline"},"hljs-built_in":{color:Pn.AccentCyan},"hljs-type":{color:Pn.AccentCyan},"hljs-number":{color:Pn.AccentGreen},"hljs-class":{color:Pn.AccentGreen},"hljs-string":{color:Pn.AccentYellow},"hljs-meta-string":{color:Pn.AccentYellow},"hljs-regexp":{color:Pn.AccentRed},"hljs-template-tag":{color:Pn.AccentRed},"hljs-subst":{color:Pn.Foreground},"hljs-function":{color:Pn.Foreground},"hljs-title":{color:Pn.Foreground},"hljs-params":{color:Pn.Foreground},"hljs-formula":{color:Pn.Foreground},"hljs-comment":{color:Pn.Comment,fontStyle:"italic"},"hljs-quote":{color:Pn.Comment,fontStyle:"italic"},"hljs-doctag":{color:Pn.Comment},"hljs-meta":{color:Pn.Gray},"hljs-meta-keyword":{color:Pn.Gray},"hljs-tag":{color:Pn.Gray},"hljs-variable":{color:Pn.AccentPurple},"hljs-template-variable":{color:Pn.AccentPurple},"hljs-attr":{color:Pn.LightBlue},"hljs-attribute":{color:Pn.LightBlue},"hljs-builtin-name":{color:Pn.LightBlue},"hljs-section":{color:Pn.AccentYellow},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"},"hljs-bullet":{color:Pn.AccentYellow},"hljs-selector-tag":{color:Pn.AccentYellow},"hljs-selector-id":{color:Pn.AccentYellow},"hljs-selector-class":{color:Pn.AccentYellow},"hljs-selector-attr":{color:Pn.AccentYellow},"hljs-selector-pseudo":{color:Pn.AccentYellow},"hljs-addition":{backgroundColor:"#144212",display:"inline-block",width:"100%"},"hljs-deletion":{backgroundColor:"#600",display:"inline-block",width:"100%"}},Pn,Xh);var Bi={type:"dark",Background:"#2d2b57",Foreground:"#e3dfff",LightBlue:"#847ace",AccentBlue:"#a599e9",AccentPurple:"#ac65ff",AccentCyan:"#a1feff",AccentGreen:"#A5FF90",AccentYellow:"#fad000",AccentRed:"#ff628c",DiffAdded:"#383E45",DiffRemoved:"#572244",Comment:"#B362FF",Gray:"#726c86",GradientColors:["#4d21fc","#847ace","#ff628c"]},Sp={AccentYellowAlt:"#f8d000",AccentOrange:"#fb9e00",AccentPink:"#fa658d",AccentLightPurple:"#c991ff",AccentDarkPurple:"#6943ff",AccentTeal:"#2ee2fa"},Gnr=new oo("Shades Of Purple","dark",{hljs:{display:"block",overflowX:"auto",background:Bi.Background,color:Bi.Foreground},"hljs-title":{color:Bi.AccentYellow,fontWeight:"normal"},"hljs-name":{color:Bi.AccentCyan,fontWeight:"normal"},"hljs-tag":{color:Bi.Foreground},"hljs-attr":{color:Sp.AccentYellowAlt,fontStyle:"italic"},"hljs-built_in":{color:Sp.AccentOrange},"hljs-selector-tag":{color:Sp.AccentOrange,fontWeight:"normal"},"hljs-section":{color:Sp.AccentOrange},"hljs-keyword":{color:Sp.AccentOrange,fontWeight:"normal"},"hljs-subst":{color:Bi.Foreground},"hljs-string":{color:Bi.AccentGreen},"hljs-attribute":{color:Bi.AccentGreen},"hljs-symbol":{color:Bi.AccentGreen},"hljs-bullet":{color:Bi.AccentGreen},"hljs-addition":{color:Bi.AccentGreen},"hljs-code":{color:Bi.AccentGreen},"hljs-regexp":{color:Bi.AccentGreen},"hljs-selector-class":{color:Bi.AccentGreen},"hljs-selector-attr":{color:Bi.AccentGreen},"hljs-selector-pseudo":{color:Bi.AccentGreen},"hljs-template-tag":{color:Bi.AccentGreen},"hljs-quote":{color:Bi.AccentGreen},"hljs-deletion":{color:Bi.AccentRed},"hljs-meta":{color:Sp.AccentOrange},"hljs-meta-string":{color:Sp.AccentOrange},"hljs-comment":{color:Bi.AccentPurple},"hljs-literal":{color:Sp.AccentPink,fontWeight:"normal"},"hljs-number":{color:Sp.AccentPink},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"},"hljs-diff":{color:Bi.Foreground},"hljs-meta.hljs-diff":{color:Bi.AccentBlue},"hljs-ln":{color:Bi.Gray},"hljs-type":{color:Bi.AccentYellow,fontWeight:"normal"},"hljs-variable":{color:Bi.AccentYellow},"hljs-template-variable":{color:Bi.AccentGreen},"hljs-function .hljs-keyword":{color:Sp.AccentOrange},"hljs-link":{color:Bi.LightBlue},"hljs-doctag":{fontWeight:"bold"},"hljs-params":{color:Sp.AccentLightPurple,fontStyle:"italic"},"hljs-class":{color:Bi.AccentCyan,fontWeight:"bold"},"hljs-function":{color:Bi.AccentCyan},"hljs-property":{color:Bi.AccentBlue},"hljs-operator":{color:Sp.AccentDarkPurple},"hljs-punctuation":{color:Bi.Gray},"hljs-selector-id":{color:Bi.AccentYellow,fontWeight:"bold"},"hljs-char":{color:Bi.AccentGreen},"hljs-escape":{color:Sp.AccentPink,fontWeight:"bold"},"hljs-meta-keyword":{color:Sp.AccentOrange,fontWeight:"bold"},"hljs-builtin-name":{color:Sp.AccentTeal},"hljs-module":{color:Bi.AccentCyan},"hljs-namespace":{color:Bi.LightBlue},"hljs-important":{color:Bi.AccentRed,fontWeight:"bold"},"hljs-formula":{color:Bi.AccentCyan,fontStyle:"italic"},"hljs-decorator":{color:Sp.AccentTeal,fontWeight:"bold"},"hljs-symbol.ruby":{color:Sp.AccentPink},"hljs-keyword.sql":{color:Sp.AccentOrange,textTransform:"uppercase"},"hljs-section.markdown":{color:Bi.AccentYellow,fontWeight:"bold"},"hljs-attr.json":{color:Bi.AccentCyan},"hljs-tag .hljs-name":{color:Bi.AccentRed},"hljs-tag .hljs-attr":{color:Sp.AccentYellowAlt},"hljs.hljs-line-numbers":{borderRight:`1px solid ${Bi.Gray}`},"hljs.hljs-line-numbers .hljs-ln-numbers":{color:Bi.Gray,paddingRight:"1em"},"hljs.hljs-line-numbers .hljs-ln-code":{paddingLeft:"1em"},"hljs::selection":{background:Bi.AccentBlue+"40"},"hljs ::-moz-selection":{background:Bi.AccentBlue+"40"},"hljs .hljs-highlight":{background:Bi.AccentPurple+"20",display:"block",width:"100%"}},Bi,Xh);var Is={type:"light",Background:"#fff",Foreground:"#444",LightBlue:"#0E0EFF",AccentBlue:"#1c00cf",AccentPurple:"#aa0d91",AccentCyan:"#3F6E74",AccentGreen:"#007400",AccentYellow:"#836C28",AccentRed:"#c41a16",DiffAdded:"#C6EAD8",DiffRemoved:"#FEDEDE",Comment:"#007400",Gray:"#c0c0c0",GradientColors:["#1c00cf","#007400"]},Vnr=new oo("Xcode","light",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:Is.Background,color:Is.Foreground},"xml .hljs-meta":{color:Is.Gray},"hljs-comment":{color:Is.Comment},"hljs-quote":{color:Is.Comment},"hljs-tag":{color:Is.AccentPurple},"hljs-attribute":{color:Is.AccentPurple},"hljs-keyword":{color:Is.AccentPurple},"hljs-selector-tag":{color:Is.AccentPurple},"hljs-literal":{color:Is.AccentPurple},"hljs-name":{color:Is.AccentPurple},"hljs-variable":{color:Is.AccentCyan},"hljs-template-variable":{color:Is.AccentCyan},"hljs-code":{color:Is.AccentRed},"hljs-string":{color:Is.AccentRed},"hljs-meta-string":{color:Is.AccentRed},"hljs-regexp":{color:Is.LightBlue},"hljs-link":{color:Is.LightBlue},"hljs-title":{color:Is.AccentBlue},"hljs-symbol":{color:Is.AccentBlue},"hljs-bullet":{color:Is.AccentBlue},"hljs-number":{color:Is.AccentBlue},"hljs-section":{color:Is.AccentYellow},"hljs-meta":{color:Is.AccentYellow},"hljs-class .hljs-title":{color:Is.AccentPurple},"hljs-type":{color:Is.AccentPurple},"hljs-built_in":{color:Is.AccentPurple},"hljs-builtin-name":{color:Is.AccentPurple},"hljs-params":{color:Is.AccentPurple},"hljs-attr":{color:Is.AccentYellow},"hljs-subst":{color:Is.Foreground},"hljs-formula":{backgroundColor:"#eee",fontStyle:"italic"},"hljs-addition":{backgroundColor:"#baeeba"},"hljs-deletion":{backgroundColor:"#ffc8bd"},"hljs-selector-id":{color:Is.AccentYellow},"hljs-selector-class":{color:Is.AccentYellow},"hljs-doctag":{fontWeight:"bold"},"hljs-strong":{fontWeight:"bold"},"hljs-emphasis":{fontStyle:"italic"}},Is,H6);var HLn={type:"dark",Background:"black",Foreground:"white",LightBlue:"bluebright",AccentBlue:"blue",AccentPurple:"magenta",AccentCyan:"cyan",AccentGreen:"green",AccentYellow:"yellow",AccentRed:"red",DiffAdded:"#003300",DiffRemoved:"#4D0000",Comment:"gray",Gray:"gray",GradientColors:["cyan","green"]},qnr=new oo("ANSI","dark",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:"black",color:"white"},"hljs-keyword":{color:"blue"},"hljs-literal":{color:"blue"},"hljs-symbol":{color:"blue"},"hljs-name":{color:"blue"},"hljs-link":{color:"blue"},"hljs-built_in":{color:"cyan"},"hljs-type":{color:"cyan"},"hljs-number":{color:"green"},"hljs-class":{color:"green"},"hljs-string":{color:"yellow"},"hljs-meta-string":{color:"yellow"},"hljs-regexp":{color:"red"},"hljs-template-tag":{color:"red"},"hljs-subst":{color:"white"},"hljs-function":{color:"white"},"hljs-title":{color:"white"},"hljs-params":{color:"white"},"hljs-formula":{color:"white"},"hljs-comment":{color:"green"},"hljs-quote":{color:"green"},"hljs-doctag":{color:"green"},"hljs-meta":{color:"gray"},"hljs-meta-keyword":{color:"gray"},"hljs-tag":{color:"gray"},"hljs-variable":{color:"magenta"},"hljs-template-variable":{color:"magenta"},"hljs-attr":{color:"bluebright"},"hljs-attribute":{color:"bluebright"},"hljs-builtin-name":{color:"bluebright"},"hljs-section":{color:"yellow"},"hljs-emphasis":{},"hljs-strong":{},"hljs-bullet":{color:"yellow"},"hljs-selector-tag":{color:"yellow"},"hljs-selector-id":{color:"yellow"},"hljs-selector-class":{color:"yellow"},"hljs-selector-attr":{color:"yellow"},"hljs-selector-pseudo":{color:"yellow"}},HLn,Xh);var GLn={type:"light",Background:"white",Foreground:"#444",LightBlue:"blue",AccentBlue:"blue",AccentPurple:"purple",AccentCyan:"cyan",AccentGreen:"green",AccentYellow:"orange",AccentRed:"red",DiffAdded:"#E5F2E5",DiffRemoved:"#FFE5E5",Comment:"gray",Gray:"gray",GradientColors:["blue","green"]},$nr=new oo("ANSI Light","light",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:"white",color:"black"},"hljs-keyword":{color:"blue"},"hljs-literal":{color:"blue"},"hljs-symbol":{color:"blue"},"hljs-name":{color:"blue"},"hljs-link":{color:"blue"},"hljs-built_in":{color:"cyan"},"hljs-type":{color:"cyan"},"hljs-number":{color:"green"},"hljs-class":{color:"green"},"hljs-string":{color:"red"},"hljs-meta-string":{color:"red"},"hljs-regexp":{color:"magenta"},"hljs-template-tag":{color:"magenta"},"hljs-subst":{color:"black"},"hljs-function":{color:"black"},"hljs-title":{color:"black"},"hljs-params":{color:"black"},"hljs-formula":{color:"black"},"hljs-comment":{color:"gray"},"hljs-quote":{color:"gray"},"hljs-doctag":{color:"gray"},"hljs-meta":{color:"gray"},"hljs-meta-keyword":{color:"gray"},"hljs-tag":{color:"gray"},"hljs-variable":{color:"purple"},"hljs-template-variable":{color:"purple"},"hljs-attr":{color:"blue"},"hljs-attribute":{color:"blue"},"hljs-builtin-name":{color:"blue"},"hljs-section":{color:"orange"},"hljs-bullet":{color:"orange"},"hljs-selector-tag":{color:"orange"},"hljs-selector-id":{color:"orange"},"hljs-selector-class":{color:"orange"},"hljs-selector-attr":{color:"orange"},"hljs-selector-pseudo":{color:"orange"}},GLn,H6);var VLn={type:"ansi",Background:"",Foreground:"",LightBlue:"",AccentBlue:"",AccentPurple:"",AccentCyan:"",AccentGreen:"",AccentYellow:"",AccentRed:"",DiffAdded:"",DiffRemoved:"",Comment:"",Gray:""},qLn={text:{primary:"",secondary:"",link:"",accent:""},background:{primary:"",diff:{added:"",removed:""}},border:{default:"",focused:""},ui:{comment:"",symbol:"",gradient:[]},status:{error:"",success:"",warning:""}},jnr=new oo("NoColor","dark",{hljs:{display:"block",overflowX:"auto",padding:"0.5em"},"hljs-keyword":{},"hljs-literal":{},"hljs-symbol":{},"hljs-name":{},"hljs-link":{textDecoration:"underline"},"hljs-built_in":{},"hljs-type":{},"hljs-number":{},"hljs-class":{},"hljs-string":{},"hljs-meta-string":{},"hljs-regexp":{},"hljs-template-tag":{},"hljs-subst":{},"hljs-function":{},"hljs-title":{},"hljs-params":{},"hljs-formula":{},"hljs-comment":{fontStyle:"italic"},"hljs-quote":{fontStyle:"italic"},"hljs-doctag":{},"hljs-meta":{},"hljs-meta-keyword":{},"hljs-tag":{},"hljs-variable":{},"hljs-template-variable":{},"hljs-attr":{},"hljs-attribute":{},"hljs-builtin-name":{},"hljs-section":{},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"},"hljs-bullet":{},"hljs-selector-tag":{},"hljs-selector-id":{},"hljs-selector-class":{},"hljs-selector-attr":{},"hljs-selector-pseudo":{},"hljs-addition":{display:"inline-block",width:"100%"},"hljs-deletion":{display:"inline-block",width:"100%"}},VLn,qLn);import $Ln from"node:process";var H7=qU,Eqe=class{availableThemes;activeTheme;customThemes=new Map;constructor(){this.availableThemes=[Mnr,Lnr,Pnr,Qnr,VJ,qU,knr,Unr,Hnr,Gnr,Vnr,qnr,$nr],this.activeTheme=H7}loadCustomThemes(e){if(this.customThemes.clear(),!!e){for(let[r,n]of Object.entries(e)){let i=Fnr(n);if(i.isValid){i.warning&&console.warn(`Theme "${r}": ${i.warning}`);let a={...H7.colors,...n,name:n.name||r,type:"custom"};try{let s=Onr(a);this.customThemes.set(r,s)}catch(s){console.warn(`Failed to load custom theme "${r}":`,s)}}else console.warn(`Invalid custom theme "${r}": ${i.error}`)}this.activeTheme&&this.activeTheme.type==="custom"&&this.customThemes.has(this.activeTheme.name)&&(this.activeTheme=this.customThemes.get(this.activeTheme.name))}}setActiveTheme(e){let r=this.findThemeByName(e);return r?(this.activeTheme=r,!0):!1}getActiveTheme(){return $Ln.env.NO_COLOR?jnr:((!this.activeTheme||!this.findThemeByName(this.activeTheme.name))&&(this.activeTheme=H7),this.activeTheme)}getSemanticColors(){return this.getActiveTheme().semanticColors}getCustomThemeNames(){return Array.from(this.customThemes.keys())}isCustomTheme(e){return this.customThemes.has(e)}getAvailableThemes(){let e=this.availableThemes.map(a=>({name:a.name,type:a.type,isCustom:!1})),r=Array.from(this.customThemes.values()).map(a=>({name:a.name,type:a.type,isCustom:!0}));return[...e,...r].sort((a,s)=>{let o=u=>{switch(u){case"dark":return 1;case"light":return 2;case"ansi":return 3;case"custom":return 4;default:return 5}},l=o(a.type)-o(s.type);return l!==0?l:a.name.localeCompare(s.name)})}getTheme(e){return this.findThemeByName(e)}findThemeByName(e){if(!e)return H7;let r=this.availableThemes.find(n=>n.name===e);return r||this.customThemes.get(e)}},rs=new Eqe;import jLn from"node:process";var Ynr=(t,e,r)=>{let[n,i]=(0,G7.useState)(!1);(0,G7.useEffect)(()=>{let u=t.merged.theme;u&&!rs.findThemeByName(u)?(i(!0),e(`Theme "${u}" not found.`)):e(null)},[t.merged.theme,e]);let a=(0,G7.useCallback)(()=>{if(jLn.env.NO_COLOR){r({type:"info",text:"Theme configuration unavailable due to NO_COLOR env variable."},Date.now());return}i(!0)},[r]),s=(0,G7.useCallback)(u=>{rs.setActiveTheme(u)?e(null):(i(!0),e(`Theme "${u}" not found.`))},[e]),o=(0,G7.useCallback)(u=>{s(u)},[s]),l=(0,G7.useCallback)((u,c)=>{try{let d={...t.user.settings.customThemes||{},...t.workspace.settings.customThemes||{}},h=rs.findThemeByName(u),f=u&&d[u];if(!h&&!f){e(`Theme "${u}" not found in selected scope.`),i(!0);return}t.setValue(c,"theme",u),t.merged.customThemes&&rs.loadCustomThemes(t.merged.customThemes),s(t.merged.theme),e(null)}finally{i(!1)}},[s,t,e]);return{isThemeDialogOpen:n,openThemeDialog:a,handleThemeSelect:l,handleThemeHighlight:o}};var zl=Ve(lr(),1);Hn();var Sqe=Ve(eir(),1);Hn();var $J=Ve(_qe(),1);import*as Wl from"fs";import*as Im from"path";import{homedir as UAe,platform as nir}from"os";var q7=".kodacli",bqe=Im.join(UAe(),q7),kAe=Im.join(bqe,"settings.json"),fPn=["DEBUG","DEBUG_MODE"];function mPn(){return process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH?process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH:nir()==="darwin"?"/Library/Application Support/GeminiCli/settings.json":nir()==="win32"?"C:\\ProgramData\\gemini-cli\\settings.json":"/etc/gemini-cli/settings.json"}function iir(t){return Im.join(t,q7,"settings.json")}var gf=(n=>(n.User="User",n.Workspace="Workspace",n.System="System",n))(gf||{}),Dqe=class{constructor(e,r,n,i){this.system=e,this.user=r,this.workspace=n,this.errors=i,this._merged=this.computeMergedSettings()}system;user;workspace;errors;_merged;get merged(){return this._merged}computeMergedSettings(){let e=this.system.settings,r=this.user.settings,n=this.workspace.settings,{folderTrust:i,...a}=n;return{...r,...a,...e,customThemes:{...r.customThemes||{},...n.customThemes||{},...e.customThemes||{}},mcpServers:{...r.mcpServers||{},...n.mcpServers||{},...e.mcpServers||{}},includeDirectories:[...e.includeDirectories||[],...r.includeDirectories||[],...n.includeDirectories||[]],chatCompression:{...e.chatCompression||{},...r.chatCompression||{},...n.chatCompression||{}}}}forScope(e){switch(e){case"User":return this.user;case"Workspace":return this.workspace;case"System":return this.system;default:throw new Error(`Invalid scope: ${e}`)}}setValue(e,r,n){let i=this.forScope(e);i.settings[r]=n,this._merged=this.computeMergedSettings(),EPn(i)}};function hPn(t){let e=/\$(?:(\w+)|{([^}]+)})/g;return t.replace(e,(r,n,i)=>{let a=n||i;return process&&process.env&&typeof process.env[a]=="string"?process.env[a]:r})}function jU(t){if(t==null||typeof t=="boolean"||typeof t=="number")return t;if(typeof t=="string")return hPn(t);if(Array.isArray(t))return t.map(e=>jU(e));if(typeof t=="object"){let e={...t};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(e[r]=jU(e[r]));return e}return t}function APn(t){let e=Im.resolve(t);for(;;){let r=Im.join(e,Ph,".env");if(Wl.existsSync(r))return r;let n=Im.join(e,".env");if(Wl.existsSync(n))return n;let i=Im.dirname(e);if(i===e||!i){let a=Im.join(UAe(),Ph,".env");if(Wl.existsSync(a))return a;let s=Im.join(UAe(),".env");return Wl.existsSync(s)?s:null}e=i}}function gPn(t){if(t&&Wl.existsSync(t)){let e=Wl.readFileSync(t),r=Sqe.parse(e);r.GOOGLE_CLOUD_PROJECT?process.env.GOOGLE_CLOUD_PROJECT=r.GOOGLE_CLOUD_PROJECT:process.env.GOOGLE_CLOUD_PROJECT="cloudshell-gca"}else process.env.GOOGLE_CLOUD_PROJECT="cloudshell-gca"}function wqe(t){let e=APn(process.cwd());process.env.CLOUD_SHELL==="true"&&gPn(e);let r=t;if(!r){let n=iir(process.cwd());try{if(Wl.existsSync(n)){let i=Wl.readFileSync(n,"utf-8"),a=JSON.parse((0,$J.default)(i));r=jU(a)}}catch{}}if(e)try{let n=Wl.readFileSync(e,"utf-8"),i=Sqe.parse(n),a=r?.excludedProjectEnvVars||fPn,s=!e.includes(Ph);for(let o in i)if(Object.hasOwn(i,o)){if(s&&a.includes(o))continue;Object.hasOwn(process.env,o)||(process.env[o]=i[o])}}catch{}}function D5(t){let e={},r={},n={},i=[],a=mPn(),s=Im.resolve(t),o=Im.resolve(UAe()),l=s;try{l=Wl.realpathSync(s)}catch{}let u=Wl.realpathSync(o),c=iir(t);try{if(Wl.existsSync(a)){let E=Wl.readFileSync(a,"utf-8"),y=JSON.parse((0,$J.default)(E));e=jU(y)}}catch(E){i.push({message:sr(E),path:a})}try{if(Wl.existsSync(kAe)){let E=Wl.readFileSync(kAe,"utf-8"),y=JSON.parse((0,$J.default)(E));r=jU(y),r.theme&&r.theme==="VS"?r.theme=VJ.name:r.theme&&r.theme==="VS2015"&&(r.theme=qU.name)}}catch(E){i.push({message:sr(E),path:kAe})}if(l!==u)try{if(Wl.existsSync(c)){let E=Wl.readFileSync(c,"utf-8"),y=JSON.parse((0,$J.default)(E));n=jU(y),n.theme&&n.theme==="VS"?n.theme=VJ.name:n.theme&&n.theme==="VS2015"&&(n.theme=qU.name)}}catch(E){i.push({message:sr(E),path:c})}let d=new Dqe({path:a,settings:e},{path:kAe,settings:r},{path:c,settings:n},i),f=d.merged.chatCompression?.contextPercentageThreshold;return f!=null&&(typeof f!="number"||f<0||f>1)&&(console.warn(`Invalid value for chatCompression.contextPercentageThreshold: "${f}". Please use a value between 0 and 1. Using default compression settings.`),delete d.merged.chatCompression),wqe(d.merged),d}function EPn(t){try{let e=Im.dirname(t.path);Wl.existsSync(e)||Wl.mkdirSync(e,{recursive:!0}),Wl.writeFileSync(t.path,JSON.stringify(t.settings,null,2),"utf-8")}catch(e){console.error("Error saving user settings file:",e)}}Hn();async function HAe(){try{if(!process.env.KODA_API_KEY){let t=await tqe();t&&(process.env.KODA_API_KEY=t)}}catch{}try{if(!process.env.KODA_GITHUB_TOKEN&&!process.env.GITHUB_TOKEN){let t=await eqe();t&&(process.env.KODA_GITHUB_TOKEN=t,process.env.GITHUB_TOKEN||(process.env.GITHUB_TOKEN=t))}}catch{}}function YU(){return[process.env.KODA_API_KEY,process.env.KODA_GITHUB_TOKEN,process.env.GITHUB_TOKEN].some(e=>typeof e=="string"&&e.trim().length>0)}Hn();var Iqe="https://api.openai.com/v1",gb=null;function yPn(){return"https://api.kodacode.ru/dev/v1"}function Tqe(t){let e=(t||Iqe).trim();if(!/^https?:\/\//i.test(e))throw new Error("Base URL must start with http:// or https://");try{let r=new URL(e);return r.pathname=r.pathname.replace(/\/+$/,""),r.pathname.endsWith("/responses")&&(r.pathname=r.pathname.replace(/\/responses$/,"")),r.toString().replace(/\/+$/,"")}catch{return e.replace(/\/+$/,"")}}async function WU(){let t=await nqe();return Object.fromEntries(Object.entries(t).map(([e,r])=>[e,{model:e,...r}]))}async function air(t){let e=Tqe(t.baseUrl);await rqe(t.model,{apiKey:t.apiKey,baseUrl:e})}async function xqe(t){await iqe(t)}async function sir(t,e){return mU({baseUrl:Tqe(t),apiKey:e,includeDefaults:!1})}async function GAe(t){let r=(await WU())[t];if(!r)return null;gb||(gb={baseUrl:process.env.KODA_API_BASE,apiKey:process.env.KODA_API_KEY,openAiKey:process.env.OPENAI_API_KEY,defaultBaseUrl:process.env.KODA_DEFAULT_API_BASE});let n=gb.baseUrl||gb.defaultBaseUrl||yPn();process.env.KODA_DEFAULT_API_BASE=n;let i=Tqe(r.baseUrl);return process.env.KODA_API_BASE=i,process.env.KODA_API_KEY=r.apiKey,process.env.OPENAI_API_KEY=r.apiKey,{...r,baseUrl:i}}async function VAe(){if(gb){let{baseUrl:t,apiKey:e,openAiKey:r,defaultBaseUrl:n}=gb;gb=null,t?process.env.KODA_API_BASE=t:delete process.env.KODA_API_BASE,e?process.env.KODA_API_KEY=e:delete process.env.KODA_API_KEY,r?process.env.OPENAI_API_KEY=r:delete process.env.OPENAI_API_KEY,n?process.env.KODA_DEFAULT_API_BASE=n:delete process.env.KODA_DEFAULT_API_BASE;return}delete process.env.KODA_API_BASE,delete process.env.KODA_API_KEY,delete process.env.OPENAI_API_KEY,await HAe()}async function oir(t){if(t){let e=await GAe(t);if(e)return e}return gb&&await VAe(),null}var lir="__add_custom_model__";function uir(t,e){let[r,n]=(0,zl.useState)(!1),[i,a]=(0,zl.useState)(!1),[s,o]=(0,zl.useState)([]),[l,u]=(0,zl.useState)([]),[c,d]=(0,zl.useState)(!1),[h,f]=(0,zl.useState)(null),[E,y]=(0,zl.useState)(null),[g,C]=(0,zl.useState)(null),[D,S]=(0,zl.useState)(!1),[w,N]=(0,zl.useState)({}),[M,U]=(0,zl.useState)(null),[k,B]=(0,zl.useState)("add"),[q,W]=(0,zl.useState)(null),[re,$]=(0,zl.useState)(null),R=(0,zl.useCallback)((pe,_e)=>{let Se=new Set,se=[];for(let ve of pe){if(Se.has(ve))continue;Se.add(ve);let X=!!_e[ve];se.push({value:ve,label:X?De.t("app.modelDialog.customModelLabel",{model:ve}):ve,source:X?"custom":"builtin"})}for(let ve of Object.values(_e))Se.has(ve.model)||(Se.add(ve.model),se.push({value:ve.model,label:De.t("app.modelDialog.customModelLabel",{model:ve.model}),source:"custom"}));return se.push({value:lir,label:De.t("app.modelDialog.addCustomModelAction"),source:"action"}),se},[]),Q=(0,zl.useCallback)((pe,_e)=>{o(R(_e??l,pe))},[l,R]),J=(0,zl.useCallback)(()=>{n(!0),a(!1),d(!0),f(null),y(null),C(null);let pe=!!(e.merged.selectedAuthType&&e.merged.selectedAuthType!==ln.WITHOUT_AUTH&&YU());(async()=>{try{let[_e,Se]=await Promise.all([WU(),pe?mU():Promise.resolve(["KodaAgent"])]);N(_e);let se=t.getModel()||lp,ve=!!_e[se];!pe&&!ve&&se!=="KodaAgent"&&(y(De.t("app.modelDialog.kodaAuthRequired")),t.setModel("KodaAgent"),e.setValue("User","model","KodaAgent"),se="KodaAgent",ve=!1);let X=new Set;se&&!ve&&X.add(se);for(let ie of Se)X.add(ie);let ee=Array.from(X);u(ee),o(R(ee,_e)),U(ve?se:null)}catch(_e){f(_e?.message||De.t("app.modelDialog.loadError"));let Se=t.getModel()||lp,se=await WU().catch(()=>({})),X=!!se[Se]?[]:[Se];u(X),o(R(X,se))}finally{d(!1)}})()},[R,t,e]),ae=(0,zl.useCallback)(()=>n(!1),[]),fe=(0,zl.useCallback)((pe,_e)=>{if(!pe){n(!1);return}if(pe===lir){n(!1),C(null),B("add"),W(null),$(null),a(!0);return}let Se=!!(e.merged.selectedAuthType&&e.merged.selectedAuthType!==ln.WITHOUT_AUTH&&YU()),se=!!w[pe];(async()=>{try{if(!Se&&!se&&pe!=="KodaAgent"){y(De.t("app.modelDialog.kodaAuthRequired")),e.setValue(_e,"model","KodaAgent"),t.setModel("KodaAgent"),n(!1);return}se?(await GAe(pe),U(pe)):M&&(await VAe(),U(null)),e.setValue(_e,"model",pe),t.setModel(pe),(se||M)&&await t.refreshAuth(e.merged.selectedAuthType??ln.WITHOUT_AUTH)}catch(ve){f(ve?.message||De.t("app.modelDialog.switchError"))}finally{n(!1)}})()},[M,t,w,e]),K=(0,zl.useCallback)((pe,_e)=>{let Se=w[pe];Se&&(C(null),f(null),B("edit"),W({model:pe,baseUrl:Se.baseUrl,apiKey:Se.apiKey}),$(pe),n(!1),a(!0))},[w]),ne=(0,zl.useCallback)((pe,_e)=>{if(!w[pe])return;f(null),C(null);let se=!!(e.merged.selectedAuthType&&e.merged.selectedAuthType!==ln.WITHOUT_AUTH&&YU());(async()=>{try{let X=(t.getModel()||lp)===pe,ee=s.findIndex(Ce=>Ce.value===pe);await xqe(pe);let ie=await WU();N(ie);let me=l,ue=null;if(X){if(await VAe(),U(null),ue=se?lp:"KodaAgent",se&&!l.includes(lp)){let Ce=s.slice(ee+1).find(G=>G.source==="builtin"),le=s.slice(0,Math.max(0,ee)).reverse().find(G=>G.source==="builtin");ue=Ce?.value||le?.value||ue}ue&&!me.includes(ue)&&(me=[ue,...me],u(me))}Q(ie,me),X&&ue&&(e.setValue(_e,"model",ue),t.setModel(ue),await t.refreshAuth(e.merged.selectedAuthType??ln.WITHOUT_AUTH))}catch(ve){f(ve?.message||De.t("app.modelDialog.deleteError"))}})()},[l,t,w,s,Q,e]),he=(0,zl.useCallback)(pe=>{let _e=re,Se=!!_e;S(!0),C(null),(async()=>{try{let se=pe.model.trim();if(!se)throw new Error(De.t("app.customModel.validationMissingId"));let ve=!Se||t.getModel()===_e,X=null;try{if(X=await sir(pe.baseUrl,pe.apiKey),X.length>0&&!X.includes(se))throw new Error(De.t("app.customModel.modelNotFound",{modelId:se}))}catch(ie){console.warn("[custom model] Unable to verify /models endpoint:",ie?.message||ie)}await air({...pe,model:se}),Se&&_e&&_e!==se&&await xqe(_e);let ee=await WU();N(ee),Q(ee),ve&&(await GAe(se),e.setValue("User","model",se),t.setModel(se),U(se),await t.refreshAuth(e.merged.selectedAuthType??ln.WITHOUT_AUTH)),a(!1),B("add"),W(null),$(null)}catch(se){C(se?.message||(Se?De.t("app.customModel.saveErrorEdit"):De.t("app.customModel.saveErrorAdd")))}finally{S(!1)}})()},[t,re,Q,e]),Ee=(0,zl.useCallback)(()=>{a(!1),C(null),B("add"),W(null),$(null)},[]);return{isModelDialogOpen:r,isCustomModelDialogOpen:i,openModelDialog:J,closeModelDialog:ae,models:s,loading:c,error:h,unauthorizedUserError:E,customModelError:g,customModelBusy:D,customModelDraft:q,customModelDialogMode:k,handleModelSelect:fe,handleCustomModelEdit:K,handleCustomModelDelete:ne,handleCustomModelSubmit:he,handleCustomModelCancel:Ee}}var l3=Ve(lr(),1);Hn();IU();import vPn from"node:os";import Bqe from"node:path";import{promises as Rqe}from"node:fs";async function CPn(t,e){if(!e)try{(await h5(t)).on("error",()=>{})}catch{}}var _Pn="https://github.com/login/device/code",DPn="https://github.com/login/oauth/access_token";async function SPn(t,e){let r=await fetch(_Pn,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_id:t,scope:e.join(" ")})});if(!r.ok)throw new Error(`GitHub device code failed: ${r.status} ${r.statusText}`);return await r.json()}async function bPn(t,e,r){let n=Math.max(5,r)*1e3;for(;;){await new Promise(s=>setTimeout(s,n));let i=await fetch(DPn,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_id:e,device_code:t,grant_type:"urn:ietf:params:oauth:grant-type:device_code"})});if(!i.ok)throw new Error(`GitHub token poll failed: ${i.status} ${i.statusText}`);let a=await i.json();if("access_token"in a)return a.access_token;switch(a.error){case"authorization_pending":break;case"slow_down":n+=5e3;break;case"access_denied":throw new Error("User denied access.");case"expired_token":throw new Error("Device code expired. Please retry login.");default:throw new Error(`OAuth error: ${a.error}${a.error_description?` - ${a.error_description}`:""}`)}}}function cir(){let t=process.env.XDG_CONFIG_HOME||Bqe.join(vPn.homedir(),".config");return Bqe.join(t,"koda")}var dir=Bqe.join(cir(),"credentials.json");async function pir(){try{let t=await Rqe.readFile(dir,"utf-8"),e=JSON.parse(t);return e&&typeof e=="object"?e:{}}catch{return{}}}async function fir(t){await Rqe.mkdir(cir(),{recursive:!0}),await Rqe.writeFile(dir,JSON.stringify(t,null,2),{mode:384})}async function wPn(t){let e=await pir();e.githubToken=t,await fir(e)}async function IPn(t){let e=await pir();e.kodaApiKey=t,await fir(e)}async function TPn(t){let e=process.env.KODA_GITHUB_EXCHANGE_URL;if(!e)return null;try{let r=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${t}`},body:JSON.stringify({})});if(!r.ok)throw new Error(`Exchange failed: ${r.status} ${r.statusText}`);let n=await r.json();return typeof n.apiKey=="string"&&n.apiKey.length>0?n.apiKey:null}catch(r){return console.warn("GitHub token exchange failed:",r),null}}async function qAe(t,e){let r="Ov23li5pZhE4aeH5fTSE";if(!r)throw new Error("GITHUB_CLIENT_ID is not set. Create a GitHub OAuth App and set GITHUB_CLIENT_ID.");let n=(process.env.GITHUB_SCOPES||"read:user user:email").split(/\s+/),{device_code:i,user_code:a,verification_uri:s,interval:o=5}=await SPn(r,n);try{e?.(s,a)}catch{}console.log(`
1844
+ \u26A1 \u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u043F\u043E\u0441\u0442\u043E\u044F\u043D\u043D\u044B\u0439 \u0434\u043E\u0441\u0442\u0443\u043F \u0447\u0435\u0440\u0435\u0437 /auth \u0438\u043B\u0438 \u043E\u0444\u043E\u0440\u043C\u0438\u0442\u0435 \u0442\u0430\u0440\u0438\u0444: https://kodacode.ru `},auth:{reauthRequired:"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u043F\u043E\u0432\u0442\u043E\u0440\u043D\u0430\u044F \u0430\u0443\u0442\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F",timeout:"\u0412\u0440\u0435\u043C\u044F \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u044F \u0430\u0443\u0442\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u0438 \u0438\u0441\u0442\u0435\u043A\u043B\u043E. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0435 \u0440\u0430\u0437."},prompts:{pressCtrlCAgain:"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 Ctrl+C \u0435\u0449\u0435 \u0440\u0430\u0437, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u0439\u0442\u0438.",pressCtrlDAgain:"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 Ctrl+D \u0435\u0449\u0435 \u0440\u0430\u0437, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u0439\u0442\u0438.",pressEscAgain:"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 Esc \u0435\u0449\u0435 \u0440\u0430\u0437, \u0447\u0442\u043E\u0431\u044B \u043E\u0447\u0438\u0441\u0442\u0438\u0442\u044C."},extensions:{noActive:"\u041D\u0435\u0442 \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0445 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u0439.",activeTitle:"\u0410\u043A\u0442\u0438\u0432\u043D\u044B\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F:"},placeholders:{vim:" \u041D\u0430\u0436\u043C\u0438\u0442\u0435 'i' \u0434\u043B\u044F \u0440\u0435\u0436\u0438\u043C\u0430 INSERT \u0438 'Esc' \u0434\u043B\u044F \u0440\u0435\u0436\u0438\u043C\u0430 NORMAL.",default:" \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0438\u043B\u0438 @\u043F\u0443\u0442\u044C/\u043A/\u0444\u0430\u0439\u043B\u0443"},confirmation:{yes:"\u0414\u0430",no:"\u041D\u0435\u0442"},toolConfirmation:{modifyInProgress:"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0432 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435: ",saveAndCloseExternalEditor:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u0435 \u0438 \u0437\u0430\u043A\u0440\u043E\u0439\u0442\u0435 \u0432\u043D\u0435\u0448\u043D\u0438\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C",applyThisChange:"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u044D\u0442\u043E \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435?",yesAllowOnce:"\u0414\u0430, \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u043E\u0434\u0438\u043D \u0440\u0430\u0437",yesAllowAlways:"\u0414\u0430, \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0432\u0441\u0435\u0433\u0434\u0430",noEsc:"\u041D\u0435\u0442 (esc)",modifyWithExternalEditor:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u043E \u0432\u043D\u0435\u0448\u043D\u0435\u043C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435",noSuggestChanges:"\u041D\u0435\u0442, \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F (esc)",allowExecutionOf:"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435: '{command}'?",doYouWantToProceed:"\u0412\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C?",urlsToFetch:"URL-\u0430\u0434\u0440\u0435\u0441\u0430 \u0434\u043B\u044F \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F:",allowExecutionOfMcpTool:'\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430 MCP "{toolName}" \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 "{serverName}"?',yesAlwaysAllowToolFromServer:'\u0414\u0430, \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0442\u044C \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 "{toolName}" \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 "{serverName}"',yesAlwaysAllowAllToolsFromServer:'\u0414\u0430, \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0442\u044C \u0432\u0441\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 "{serverName}"'},init:{error:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0438: {error}",checkConfig:"\u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 API-\u043A\u043B\u044E\u0447 \u0438 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E."}}},bnr={en:FLn,ru:MLn},Aqe=class{currentLanguage;constructor(e){let r=e?.language;r==="en"||r==="ru"?this.currentLanguage=r:this.currentLanguage="en"}setLanguage(e){this.currentLanguage=e}getLanguage(){return this.currentLanguage}t(e,r){let n=e.split("."),i=bnr[this.currentLanguage],a=!0;for(let s of n)if(typeof i=="object"&&i!==null&&s in i)i=i[s];else{a=!1;break}if(a&&typeof i=="string"){if(r){let s=i;for(let[o,l]of Object.entries(r))s=s.replace(new RegExp(`{${o}}`,"g"),String(l));return s}return i}if(this.currentLanguage!=="en"){let s=bnr.en,o=!0;for(let l of n)if(typeof s=="object"&&s!==null&&l in s)s=s[l];else{o=!1;break}if(o&&typeof s=="string"){if(r){let l=s;for(let[u,c]of Object.entries(r))l=l.replace(new RegExp(`{${u}}`,"g"),String(c));return l}return s}}return e}},De=new Aqe;function LLn(t){let e=[];for(let r of t)Array.isArray(r)?e.push(...r):e.push(r);return e}var Inr=(t,e,r,n,i,a,s,o,l,u,c,d,h,f)=>{(0,Ys.useEffect)(()=>{(async()=>{try{let Ae=await n.getToolRegistry(),te={},H=["search_file_content","list_directory","glob","google_web_search","save_memory","run_shell_command"];for(let ge of H){let xe=`toolDescriptions.${ge}`,He=De.t(xe);He&&He!==xe&&(te[ge]=He)}Object.keys(te).length>0&&Ae.updateToolDescriptions(te)}catch(Ae){console.error("Error updating tool descriptions:",Ae)}})()},[n]);let[E,y]=(0,Ys.useState)(null),g=(0,Ys.useRef)(null),C=(0,Ys.useRef)(!1),[D,S]=(0,Ys.useState)(!1),[w,N]=(0,Ys.useState)(null),[M,U]=Anr(null),k=(0,Ys.useRef)(new Set),{startNewPrompt:B,getPromptCount:q}=U6(),W=RAe(),re=(0,Ys.useMemo)(()=>{if(n.getProjectRoot())return new N7(n.getProjectRoot())},[n]),[$,R,Q]=gnr(async Y=>{Y.length>0&&(r(fqe(Y),Date.now()),await le(Y))},n,U,o,h),J=(0,Ys.useMemo)(()=>$.length?fqe($):void 0,[$]),ae=(0,Ys.useRef)(!1),fe=(0,Ys.useCallback)(async Y=>{S(!0),await Y,S(!1)},[]),{handleShellCommand:K}=dnr(r,U,fe,i,n,t),ne=(0,Ys.useMemo)(()=>$.some(Y=>Y.status==="awaiting_approval")?"waiting_for_confirmation":D||$.some(Y=>Y.status==="executing"||Y.status==="scheduled"||Y.status==="validating"||(Y.status==="success"||Y.status==="error"||Y.status==="cancelled")&&!Y.responseSubmittedToGemini)?"responding":"idle",[D,$]),he=(0,Ys.useMemo)(()=>{let Y=["awaiting_approval","executing","validating","scheduled","success","error","cancelled"];for(let Ae of Y){let te=$.find(H=>H.status===Ae);if(te)return te}return null},[$]),Ee=(0,Ys.useMemo)(()=>{if(he){let Y=he.tool?.displayName??he.request.name,te=("invocation"in he?he.invocation:void 0)?.getDescription?.(),H=typeof te=="string"?te.trim():"",ge=H.length>0,He={awaiting_approval:{withDescription:"loading.activity.awaitingApproval.withDescription",withoutDescription:"loading.activity.awaitingApproval.withoutDescription"},executing:{withDescription:"loading.activity.executing.withDescription",withoutDescription:"loading.activity.executing.withoutDescription"},validating:{withDescription:"loading.activity.validating.withDescription",withoutDescription:"loading.activity.validating.withoutDescription"},scheduled:{withDescription:"loading.activity.scheduled.withDescription",withoutDescription:"loading.activity.scheduled.withoutDescription"},success:{withDescription:"loading.activity.success.withDescription",withoutDescription:"loading.activity.success.withoutDescription"},error:{withDescription:"loading.activity.error.withDescription",withoutDescription:"loading.activity.error.withoutDescription"},cancelled:{withDescription:"loading.activity.cancelled.withDescription",withoutDescription:"loading.activity.cancelled.withoutDescription"}}[he.status];if(!He)return null;let mt=ge?He.withDescription:He.withoutDescription,xt={tool:Y};ge&&(xt.description=H);let Yt=`loading.activity.tool.${he.request.name}.${he.status}`,ht=ge?`${Yt}.withDescription`:`${Yt}.withoutDescription`,vt=De.t(ht,xt);return vt!==ht?vt:De.t(mt,xt)}return ne==="responding"?De.t("loading.activity.processingResponse"):ne==="waiting_for_confirmation"?De.t("loading.activity.awaitingUserConfirmation"):null},[he,ne]),pe=(0,Ys.useCallback)(()=>{ne==="responding"&&(C.current||(C.current=!0,g.current?.abort(),M.current&&r(M.current,Date.now()),r({type:"info",text:De.t("app.requestCancelled")},Date.now()),U(null),f(),S(!1)))},[ne,r,U,f,M]);ts(Y=>{Y.name==="escape"&&pe()},{isActive:ne==="responding"});let _e=(0,Ys.useCallback)(async(Y,Ae,te,H)=>{if(C.current)return{queryToSend:null,shouldProceed:!1};if(typeof Y=="string"&&Y.trim().length===0)return{queryToSend:null,shouldProceed:!1};let ge=null;if(typeof Y=="string"){let xe=Y.trim();hL(n,new zO(xe.length,H,n.getContentGeneratorConfig()?.authType,xe)),i(`User query: '${xe}'`),await W?.logMessage(AU.USER,xe);let He=await a(xe);if(He)switch(He.type){case"schedule_tool":{let{toolName:mt,toolArgs:xt}=He,Yt={callId:`${mt}-${Date.now()}-${Math.random().toString(16).slice(2)}`,name:mt,args:xt,isClientInitiated:!0,prompt_id:H};return R([Yt],te),{queryToSend:null,shouldProceed:!1}}case"submit_prompt":return ge=He.content,{queryToSend:ge,shouldProceed:!0};case"handled":return{queryToSend:null,shouldProceed:!1};default:{let mt=He;throw new Error(`Unhandled slash command result type: ${mt}`)}}if(s&&K(xe,te))return{queryToSend:null,shouldProceed:!1};if(anr(xe)){let mt=await fnr({query:xe,config:n,addItem:r,onDebugMessage:i,messageId:Ae,signal:te});if(!mt.shouldProceed)return{queryToSend:null,shouldProceed:!1};ge=mt.processedQuery}else r({type:"user",text:xe},Ae),ge=xe}else ge=Y;return ge===null?(i("Query processing resulted in null, not sending to Gemini."),{queryToSend:null,shouldProceed:!1}):{queryToSend:ge,shouldProceed:!0}},[n,r,i,K,a,W,s,R]),Se=(0,Ys.useCallback)((Y,Ae,te)=>{if(C.current)return"";let H=Ae+Y;M.current?.type!=="gemini"&&M.current?.type!=="gemini_content"&&(M.current&&r(M.current,te),U({type:"gemini",text:""}),H=Y);let ge=hnr(H);if(ge===H.length)U(xe=>({type:xe?.type,text:H}));else{let xe=H.substring(0,ge),He=H.substring(ge);r({type:M.current?.type,text:xe},te),U({type:"gemini_content",text:He}),H=He}return H},[r,M,U]),se=(0,Ys.useCallback)(Y=>{if(!C.current){if(M.current){if(M.current.type==="tool_group"){let Ae=M.current.tools.map(H=>H.status==="Pending"||H.status==="Confirming"||H.status==="Executing"?{...H,status:"Canceled"}:H),te={...M.current,tools:Ae};r(te,Y)}else r(M.current,Y);U(null)}r({type:"info",text:"User cancelled the request."},Y),S(!1),N(null)}},[r,M,U,N]),ve=(0,Ys.useCallback)((Y,Ae)=>{M.current&&(r(M.current,Ae),U(null)),r({type:"error",text:MU(Y.error,n.getContentGeneratorConfig()?.authType,void 0,n.getModel(),Od)},Ae),N(null)},[r,M,U,n,N]),X=(0,Ys.useCallback)((Y,Ae)=>{let te=Y.value,ge={[a0.FINISH_REASON_UNSPECIFIED]:void 0,[a0.STOP]:void 0,[a0.MAX_TOKENS]:"Response truncated due to token limits.",[a0.SAFETY]:"Response stopped due to safety reasons.",[a0.RECITATION]:"Response stopped due to recitation policy.",[a0.LANGUAGE]:"Response stopped due to unsupported language.",[a0.BLOCKLIST]:"Response stopped due to forbidden terms.",[a0.PROHIBITED_CONTENT]:"Response stopped due to prohibited content.",[a0.SPII]:"Response stopped due to sensitive personally identifiable information.",[a0.OTHER]:"Response stopped for other reasons.",[a0.MALFORMED_FUNCTION_CALL]:"Response stopped due to malformed function call.",[a0.IMAGE_SAFETY]:"Response stopped due to image safety violations.",[a0.UNEXPECTED_TOOL_CALL]:"Response stopped due to unexpected tool call."}[te];ge&&r({type:"info",text:`\u26A0\uFE0F ${ge}`},Ae)},[r]),ee=(0,Ys.useCallback)(Y=>r({type:"info",text:`IMPORTANT: This conversation approached the input token limit for ${n.getModel()}. A compressed context will be sent for future messages (compressed from: ${Y?.originalTokenCount??"unknown"} to ${Y?.newTokenCount??"unknown"} tokens).`},Date.now()),[r,n]),ie=(0,Ys.useCallback)(()=>r({type:"info",text:`The session has reached the maximum number of turns: ${n.getMaxSessionTurns()}. Please update this limit in your setting.json file.`},Date.now()),[r,n]),me=(0,Ys.useCallback)(()=>{r({type:"info",text:"A potential loop was detected. This can happen due to repetitive tool calls or other model behavior. The request has been halted."},Date.now())},[r]),ue=(0,Ys.useCallback)(async(Y,Ae,te)=>{let H="",ge=[];for await(let xe of Y)switch(xe.type){case $s.Thought:N(xe.value);break;case $s.Content:H=Se(xe.value,H,Ae);break;case $s.ToolCallRequest:ge.push(xe.value);break;case $s.UserCancelled:se(Ae);break;case $s.Error:ve(xe.value,Ae);break;case $s.ChatCompressed:ee(xe.value);break;case $s.ToolCallConfirmation:case $s.ToolCallResponse:break;case $s.MaxSessionTurns:ie();break;case $s.Finished:X(xe,Ae);break;case $s.LoopDetected:ae.current=!0;break;default:return xe}return ge.length>0&&R(ge,te),0},[Se,se,ve,R,ee,X,ie]),Ce=(0,Ys.useCallback)(async(Y,Ae,te)=>{if((ne==="responding"||ne==="waiting_for_confirmation")&&!Ae?.isContinuation)return;let H=Date.now();Ae?.isContinuation||(d(!1),n.setQuotaErrorOccurred(!1)),g.current=new AbortController;let ge=g.current.signal;C.current=!1,te||(te=n.getSessionId()+"########"+q());let{queryToSend:xe,shouldProceed:He}=await _e(Y,H,ge,te);if(!(!He||xe===null)){Ae?.isContinuation||(B(),N(null)),S(!0),y(null);try{let mt=t.sendMessageStream(xe,ge,te);if(await ue(mt,H,ge)===1)return;M.current&&(r(M.current,H),U(null)),ae.current&&(ae.current=!1,me())}catch(mt){mt instanceof ES?l():(!Ns(mt)||mt.name!=="AbortError")&&r({type:"error",text:MU(sr(mt)||"Unknown error",n.getContentGeneratorConfig()?.authType,void 0,n.getModel(),Od)},H)}finally{S(!1)}}},[ne,d,_e,ue,M,r,U,y,t,l,n,B,q,me]),le=(0,Ys.useCallback)(async Y=>{if(D)return;let Ae=Y.filter(Yt=>Yt.status==="success"||Yt.status==="error"||Yt.status==="cancelled"?Yt.response?.responseParts!==void 0:!1),te=Ae.filter(Yt=>Yt.request.isClientInitiated);te.length>0&&Q(te.map(Yt=>Yt.request.callId));let H=Ae.filter(Yt=>Yt.request.name==="save_memory"&&Yt.status==="success"&&!k.current.has(Yt.request.callId));H.length>0&&(u(),H.forEach(Yt=>k.current.add(Yt.request.callId)));let ge=Ae.filter(Yt=>!Yt.request.isClientInitiated);if(ge.length===0)return;if(ge.every(Yt=>Yt.status==="cancelled")){if(t){let ht=ge.flatMap(Ut=>Ut.response.responseParts),vt=[];for(let Ut of ht)Array.isArray(Ut)?vt.push(...Ut):typeof Ut=="string"?vt.push({text:Ut}):vt.push(Ut);t.addHistory({role:"user",parts:vt})}let Yt=ge.map(ht=>ht.request.callId);Q(Yt);return}let He=ge.map(Yt=>Yt.response.responseParts),mt=ge.map(Yt=>Yt.request.callId),xt=ge.map(Yt=>Yt.request.prompt_id);Q(mt),!c&&Ce(LLn(He),{isContinuation:!0},xt[0])},[D,Ce,Q,t,u,c]),G=[M.current,J].filter(Y=>Y!=null);return(0,Ys.useEffect)(()=>{(async()=>{if(!n.getCheckpointingEnabled())return;let Ae=$.filter(te=>(te.request.name==="replace"||te.request.name==="write_file")&&te.status==="awaiting_approval");if(Ae.length>0){let te=n.getProjectTempDir()?gqe.join(n.getProjectTempDir(),"checkpoints"):void 0;if(!te)return;try{await wnr.mkdir(te,{recursive:!0})}catch(H){if(!Ns(H)||H.code!=="EEXIST"){i(`Failed to create checkpoint directory: ${sr(H)}`);return}}for(let H of Ae){let ge=H.request.args.file_path;if(!ge){i(`Skipping restorable tool call due to missing file_path: ${H.request.name}`);continue}try{let xe=await re?.createFileSnapshot(`Snapshot for ${H.request.name}`);if(xe||(xe=await re?.getCurrentCommitHash()),!xe){i(`Failed to create snapshot for ${ge}. Skipping restorable tool call.`);continue}let He=new Date().toISOString().replace(/:/g,"-").replace(/\./g,"_"),mt=H.request.name,xt=gqe.basename(ge),Yt=`${He}-${xt}-${mt}.json`,ht=await t?.getHistory(),vt=gqe.join(te,Yt);await wnr.writeFile(vt,JSON.stringify({history:e,clientHistory:ht,toolCall:{name:H.request.name,args:H.request.args},commitHash:xe,filePath:ge},null,2))}catch(xe){i(`Failed to write restorable tool call file: ${sr(xe)}`)}}}})()},[$,n,i,re,e,t]),{streamingState:ne,submitQuery:Ce,initError:E,pendingHistoryItems:G,thought:w,cancelOngoingRequest:pe,activeActivity:Ee}};var hb=Ve(lr(),1);var Tnr=(t,e)=>{let[r,n]=(0,hb.useState)(0),i=(0,hb.useRef)(null),a=(0,hb.useRef)(e),s=(0,hb.useRef)(t);return(0,hb.useEffect)(()=>{let o=!1;return a.current!==e&&(o=!0,a.current=e),s.current===!1&&t&&(o=!0),o&&n(0),s.current=t,t?(i.current&&clearInterval(i.current),i.current=setInterval(()=>{n(l=>l+1)},1e3)):i.current&&(clearInterval(i.current),i.current=null),()=>{i.current&&(clearInterval(i.current),i.current=null)}},[t,e]),r};var Ab=Ve(lr(),1);var PLn=5e3;function QLn(){return["Generating responses with 110% accuracy","Reticulating splines...","Consulting the Oracle...","Waking up the AI overlords...","Booting up consciousness...","Calibrating neural pathways...","Compiling ideas into thoughts...","Loading witty loading messages...","Calculating the meaning of life...","Sharpening the algorithms...","Preparing digital magic tricks...","Downloading more RAM...","Compressing algorithms...","Decompressing responses...","Rearranging the bits...","Initializing the response factory...","Assembling the knowledge engine...","Polishing the AI gemstones...","Warming up the neural networks...","Fine-tuning the intelligence...","Loading AI with coffee...","Preparing your AI-powered response...","Consulting the digital encyclopedia...","Generating thoughts with 99.9% confidence"]}function xnr(t,e){let r=(0,Ab.useMemo)(()=>QLn(),[]),[n,i]=(0,Ab.useState)(()=>r[0]??"Loading..."),a=(0,Ab.useCallback)(()=>{if(r.length===0)return"Loading...";let s=Math.floor(Math.random()*r.length);return r[s]},[r]);return(0,Ab.useEffect)(()=>{let s=null;if(e)i("Waiting for user confirmation...");else if(t){let o=a();i(o),s=setInterval(()=>{i(l=>{let u=r.indexOf(l);if(u===-1)return r[0];let c=(u+1)%r.length;return r[c]})},PLn)}else i(r[0]);return()=>{s&&clearInterval(s)}},[t,e,a,r]),n}var vR=Ve(lr(),1);var Bnr=(t,e)=>{let[r,n]=(0,vR.useState)(0),i=t==="responding",a=Tnr(i,r),s=t==="responding",o=t==="waiting_for_confirmation",l=xnr(s,o),u=e&&t!=="idle"?e:l,[c,d]=(0,vR.useState)(0),h=(0,vR.useRef)(null);return(0,vR.useEffect)(()=>{h.current==="waiting_for_confirmation"&&t==="responding"?(n(f=>f+1),d(0)):t==="idle"&&h.current==="responding"?(n(f=>f+1),d(0)):t==="waiting_for_confirmation"&&d(a),h.current=t},[t,a]),{elapsedTime:t==="waiting_for_confirmation"?c:a,currentLoadingPhrase:u}};var G7=Ve(lr(),1);var Rnr={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",blanchedalmond:"#ffebcd",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",whitesmoke:"#f5f5f5",yellowgreen:"#9acd32"},kLn=new Set(["black","red","green","yellow","blue","cyan","magenta","white","gray","grey","blackbright","redbright","greenbright","yellowbright","bluebright","cyanbright","magentabright","whitebright"]);function Nnr(t){let e=t.toLowerCase();if(e.startsWith("#"))return/^#[0-9A-Fa-f]{3}([0-9A-Fa-f]{3})?$/.test(t)?e:void 0;if(kLn.has(e))return e;if(Rnr[e])return Rnr[e];console.warn(`[ColorUtils] Could not resolve color "${t}" to an Ink-compatible format.`)}var mi={type:"light",Background:"#FAFAFA",Foreground:"#3C3C43",LightBlue:"#89BDCD",AccentBlue:"#3B82F6",AccentPurple:"#8B5CF6",AccentCyan:"#06B6D4",AccentGreen:"#3CA84B",AccentYellow:"#D5A40A",AccentRed:"#DD4C4C",DiffAdded:"#C6EAD8",DiffRemoved:"#FFCCCC",Comment:"#008000",Gray:"#97a0b0",GradientColors:["#4796E4","#847ACE","#C3677F"]},Pn={type:"dark",Background:"#1E1E2E",Foreground:"#CDD6F4",LightBlue:"#ADD8E6",AccentBlue:"#89B4FA",AccentPurple:"#CBA6F7",AccentCyan:"#89DCEB",AccentGreen:"#A6E3A1",AccentYellow:"#F9E2AF",AccentRed:"#F38BA8",DiffAdded:"#28350B",DiffRemoved:"#430000",Comment:"#6C7086",Gray:"#6C7086",GradientColors:["#8b20c5ff","#e4b424ff","#C3677F"]},_0={type:"ansi",Background:"black",Foreground:"white",LightBlue:"blue",AccentBlue:"blue",AccentPurple:"magenta",AccentCyan:"cyan",AccentGreen:"green",AccentYellow:"yellow",AccentRed:"red",DiffAdded:"green",DiffRemoved:"red",Comment:"gray",Gray:"gray"},oo=class t{constructor(e,r,n,i,a){this.name=e;this.type=r;this.colors=i;this.semanticColors=a;this._colorMap=Object.freeze(this._buildColorMap(n));let s=n.hljs?.color;this.defaultColor=(s?t._resolveColor(s):void 0)??""}defaultColor;_colorMap;getInkColor(e){return this._colorMap[e]}static _resolveColor(e){return Nnr(e)}_buildColorMap(e){let r={};for(let n in e){if(!n.startsWith("hljs-")&&n!=="hljs")continue;let i=e[n];if(i?.color){let a=t._resolveColor(i.color);a!==void 0&&(r[n]=a)}}return r}};function Onr(t){let e={type:"custom",Background:t.background?.primary??t.Background??"",Foreground:t.text?.primary??t.Foreground??"",LightBlue:t.text?.link??t.LightBlue??"",AccentBlue:t.text?.link??t.AccentBlue??"",AccentPurple:t.text?.accent??t.AccentPurple??"",AccentCyan:t.text?.link??t.AccentCyan??"",AccentGreen:t.status?.success??t.AccentGreen??"",AccentYellow:t.status?.warning??t.AccentYellow??"",AccentRed:t.status?.error??t.AccentRed??"",DiffAdded:t.background?.diff?.added??t.DiffAdded??"",DiffRemoved:t.background?.diff?.removed??t.DiffRemoved??"",Comment:t.ui?.comment??t.Comment??"",Gray:t.text?.secondary??t.Gray??"",GradientColors:t.ui?.gradient??t.GradientColors},r={hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:e.Background,color:e.Foreground},"hljs-keyword":{color:e.AccentBlue},"hljs-literal":{color:e.AccentBlue},"hljs-symbol":{color:e.AccentBlue},"hljs-name":{color:e.AccentBlue},"hljs-link":{color:e.AccentBlue,textDecoration:"underline"},"hljs-built_in":{color:e.AccentCyan},"hljs-type":{color:e.AccentCyan},"hljs-number":{color:e.AccentGreen},"hljs-class":{color:e.AccentGreen},"hljs-string":{color:e.AccentYellow},"hljs-meta-string":{color:e.AccentYellow},"hljs-regexp":{color:e.AccentRed},"hljs-template-tag":{color:e.AccentRed},"hljs-subst":{color:e.Foreground},"hljs-function":{color:e.Foreground},"hljs-title":{color:e.Foreground},"hljs-params":{color:e.Foreground},"hljs-formula":{color:e.Foreground},"hljs-comment":{color:e.Comment,fontStyle:"italic"},"hljs-quote":{color:e.Comment,fontStyle:"italic"},"hljs-doctag":{color:e.Comment},"hljs-meta":{color:e.Gray},"hljs-meta-keyword":{color:e.Gray},"hljs-tag":{color:e.Gray},"hljs-variable":{color:e.AccentPurple},"hljs-template-variable":{color:e.AccentPurple},"hljs-attr":{color:e.LightBlue},"hljs-attribute":{color:e.LightBlue},"hljs-builtin-name":{color:e.LightBlue},"hljs-section":{color:e.AccentYellow},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"},"hljs-bullet":{color:e.AccentYellow},"hljs-selector-tag":{color:e.AccentYellow},"hljs-selector-id":{color:e.AccentYellow},"hljs-selector-class":{color:e.AccentYellow},"hljs-selector-attr":{color:e.AccentYellow},"hljs-selector-pseudo":{color:e.AccentYellow},"hljs-addition":{backgroundColor:e.AccentGreen,display:"inline-block",width:"100%"},"hljs-deletion":{backgroundColor:e.AccentRed,display:"inline-block",width:"100%"}},n={text:{primary:e.Foreground,secondary:e.Gray,link:e.AccentBlue,accent:e.AccentPurple},background:{primary:e.Background,diff:{added:e.DiffAdded,removed:e.DiffRemoved}},border:{default:e.Gray,focused:e.AccentBlue},ui:{comment:e.Comment,symbol:e.Gray,gradient:e.GradientColors},status:{error:e.AccentRed,success:e.AccentGreen,warning:e.AccentYellow}};return new oo(t.name,"custom",r,e,n)}function Fnr(t){return t.name&&!ULn(t.name)?{isValid:!1,error:`Invalid theme name: ${t.name}`}:{isValid:!0}}function ULn(t){return t.trim().length>0&&t.trim().length<=50}var H6={text:{primary:mi.Foreground,secondary:mi.Gray,link:mi.AccentBlue,accent:mi.AccentPurple},background:{primary:mi.Background,diff:{added:mi.DiffAdded,removed:mi.DiffRemoved}},border:{default:mi.Gray,focused:mi.AccentBlue},ui:{comment:mi.Comment,symbol:mi.Gray,gradient:mi.GradientColors},status:{error:mi.AccentRed,success:mi.AccentGreen,warning:mi.AccentYellow}},Xh={text:{primary:Pn.Foreground,secondary:Pn.Gray,link:Pn.AccentBlue,accent:Pn.AccentPurple},background:{primary:Pn.Background,diff:{added:Pn.DiffAdded,removed:Pn.DiffRemoved}},border:{default:Pn.Gray,focused:Pn.AccentBlue},ui:{comment:Pn.Comment,symbol:Pn.Gray,gradient:Pn.GradientColors},status:{error:Pn.AccentRed,success:Pn.AccentGreen,warning:Pn.AccentYellow}},cGi={text:{primary:_0.Foreground,secondary:_0.Gray,link:_0.AccentBlue,accent:_0.AccentPurple},background:{primary:_0.Background,diff:{added:_0.DiffAdded,removed:_0.DiffRemoved}},border:{default:_0.Gray,focused:_0.AccentBlue},ui:{comment:_0.Comment,symbol:_0.Gray,gradient:_0.GradientColors},status:{error:_0.AccentRed,success:_0.AccentGreen,warning:_0.AccentYellow}};var Gu={type:"dark",Background:"#0b0e14",Foreground:"#bfbdb6",LightBlue:"#59C2FF",AccentBlue:"#39BAE6",AccentPurple:"#D2A6FF",AccentCyan:"#95E6CB",AccentGreen:"#AAD94C",AccentYellow:"#FFB454",AccentRed:"#F26D78",DiffAdded:"#293022",DiffRemoved:"#3D1215",Comment:"#646A71",Gray:"#3D4149",GradientColors:["#FFB454","#F26D78"]},Mnr=new oo("Ayu","dark",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:Gu.Background,color:Gu.Foreground},"hljs-keyword":{color:Gu.AccentYellow},"hljs-literal":{color:Gu.AccentPurple},"hljs-symbol":{color:Gu.AccentCyan},"hljs-name":{color:Gu.LightBlue},"hljs-link":{color:Gu.AccentBlue},"hljs-function .hljs-keyword":{color:Gu.AccentYellow},"hljs-subst":{color:Gu.Foreground},"hljs-string":{color:Gu.AccentGreen},"hljs-title":{color:Gu.AccentYellow},"hljs-type":{color:Gu.AccentBlue},"hljs-attribute":{color:Gu.AccentYellow},"hljs-bullet":{color:Gu.AccentYellow},"hljs-addition":{color:Gu.AccentGreen},"hljs-variable":{color:Gu.Foreground},"hljs-template-tag":{color:Gu.AccentYellow},"hljs-template-variable":{color:Gu.AccentYellow},"hljs-comment":{color:Gu.Comment,fontStyle:"italic"},"hljs-quote":{color:Gu.AccentCyan,fontStyle:"italic"},"hljs-deletion":{color:Gu.AccentRed},"hljs-meta":{color:Gu.AccentYellow},"hljs-doctag":{fontWeight:"bold"},"hljs-strong":{fontWeight:"bold"},"hljs-emphasis":{fontStyle:"italic"}},Gu,Xh);var Ws={type:"light",Background:"#f8f9fa",Foreground:"#5c6166",LightBlue:"#55b4d4",AccentBlue:"#399ee6",AccentPurple:"#a37acc",AccentCyan:"#4cbf99",AccentGreen:"#86b300",AccentYellow:"#f2ae49",AccentRed:"#f07171",DiffAdded:"#C6EAD8",DiffRemoved:"#FFCCCC",Comment:"#ABADB1",Gray:"#a6aaaf",GradientColors:["#399ee6","#86b300"]},Lnr=new oo("Ayu Light","light",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:Ws.Background,color:Ws.Foreground},"hljs-comment":{color:Ws.Comment,fontStyle:"italic"},"hljs-quote":{color:Ws.AccentCyan,fontStyle:"italic"},"hljs-string":{color:Ws.AccentGreen},"hljs-constant":{color:Ws.AccentCyan},"hljs-number":{color:Ws.AccentPurple},"hljs-keyword":{color:Ws.AccentYellow},"hljs-selector-tag":{color:Ws.AccentYellow},"hljs-attribute":{color:Ws.AccentYellow},"hljs-variable":{color:Ws.Foreground},"hljs-variable.language":{color:Ws.LightBlue,fontStyle:"italic"},"hljs-title":{color:Ws.AccentBlue},"hljs-section":{color:Ws.AccentGreen,fontWeight:"bold"},"hljs-type":{color:Ws.LightBlue},"hljs-class .hljs-title":{color:Ws.AccentBlue},"hljs-tag":{color:Ws.LightBlue},"hljs-name":{color:Ws.AccentBlue},"hljs-builtin-name":{color:Ws.AccentYellow},"hljs-meta":{color:Ws.AccentYellow},"hljs-symbol":{color:Ws.AccentRed},"hljs-bullet":{color:Ws.AccentYellow},"hljs-regexp":{color:Ws.AccentCyan},"hljs-link":{color:Ws.LightBlue},"hljs-deletion":{color:Ws.AccentRed},"hljs-addition":{color:Ws.AccentGreen},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"},"hljs-literal":{color:Ws.AccentCyan},"hljs-built_in":{color:Ws.AccentRed},"hljs-doctag":{color:Ws.AccentRed},"hljs-template-variable":{color:Ws.AccentCyan},"hljs-selector-id":{color:Ws.AccentRed}},Ws,H6);var As={type:"dark",Background:"#282c34",Foreground:"#abb2bf",LightBlue:"#61aeee",AccentBlue:"#61aeee",AccentPurple:"#c678dd",AccentCyan:"#56b6c2",AccentGreen:"#98c379",AccentYellow:"#e6c07b",AccentRed:"#e06c75",DiffAdded:"#39544E",DiffRemoved:"#562B2F",Comment:"#5c6370",Gray:"#5c6370",GradientColors:["#61aeee","#98c379"]},Pnr=new oo("Atom One","dark",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",color:As.Foreground,background:As.Background},"hljs-comment":{color:As.Comment,fontStyle:"italic"},"hljs-quote":{color:As.Comment,fontStyle:"italic"},"hljs-doctag":{color:As.AccentPurple},"hljs-keyword":{color:As.AccentPurple},"hljs-formula":{color:As.AccentPurple},"hljs-section":{color:As.AccentRed},"hljs-name":{color:As.AccentRed},"hljs-selector-tag":{color:As.AccentRed},"hljs-deletion":{color:As.AccentRed},"hljs-subst":{color:As.AccentRed},"hljs-literal":{color:As.AccentCyan},"hljs-string":{color:As.AccentGreen},"hljs-regexp":{color:As.AccentGreen},"hljs-addition":{color:As.AccentGreen},"hljs-attribute":{color:As.AccentGreen},"hljs-meta-string":{color:As.AccentGreen},"hljs-built_in":{color:As.AccentYellow},"hljs-class .hljs-title":{color:As.AccentYellow},"hljs-attr":{color:As.AccentYellow},"hljs-variable":{color:As.AccentYellow},"hljs-template-variable":{color:As.AccentYellow},"hljs-type":{color:As.AccentYellow},"hljs-selector-class":{color:As.AccentYellow},"hljs-selector-attr":{color:As.AccentYellow},"hljs-selector-pseudo":{color:As.AccentYellow},"hljs-number":{color:As.AccentYellow},"hljs-symbol":{color:As.AccentBlue},"hljs-bullet":{color:As.AccentBlue},"hljs-link":{color:As.AccentBlue,textDecoration:"underline"},"hljs-meta":{color:As.AccentBlue},"hljs-selector-id":{color:As.AccentBlue},"hljs-title":{color:As.AccentBlue},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"}},As,Xh);var Yl={type:"dark",Background:"#282a36",Foreground:"#f8f8f2",LightBlue:"#8be9fd",AccentBlue:"#8be9fd",AccentPurple:"#ff79c6",AccentCyan:"#8be9fd",AccentGreen:"#50fa7b",AccentYellow:"#f1fa8c",AccentRed:"#ff5555",DiffAdded:"#11431d",DiffRemoved:"#6e1818",Comment:"#6272a4",Gray:"#6272a4",GradientColors:["#ff79c6","#8be9fd"]},Qnr=new oo("Dracula","dark",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:Yl.Background,color:Yl.Foreground},"hljs-keyword":{color:Yl.AccentBlue,fontWeight:"bold"},"hljs-selector-tag":{color:Yl.AccentBlue,fontWeight:"bold"},"hljs-literal":{color:Yl.AccentBlue,fontWeight:"bold"},"hljs-section":{color:Yl.AccentBlue,fontWeight:"bold"},"hljs-link":{color:Yl.AccentBlue},"hljs-function .hljs-keyword":{color:Yl.AccentPurple},"hljs-subst":{color:Yl.Foreground},"hljs-string":{color:Yl.AccentYellow},"hljs-title":{color:Yl.AccentYellow,fontWeight:"bold"},"hljs-name":{color:Yl.AccentYellow,fontWeight:"bold"},"hljs-type":{color:Yl.AccentYellow,fontWeight:"bold"},"hljs-attribute":{color:Yl.AccentYellow},"hljs-symbol":{color:Yl.AccentYellow},"hljs-bullet":{color:Yl.AccentYellow},"hljs-addition":{color:Yl.AccentGreen},"hljs-variable":{color:Yl.AccentYellow},"hljs-template-tag":{color:Yl.AccentYellow},"hljs-template-variable":{color:Yl.AccentYellow},"hljs-comment":{color:Yl.Comment},"hljs-quote":{color:Yl.Comment},"hljs-deletion":{color:Yl.AccentRed},"hljs-meta":{color:Yl.Comment},"hljs-doctag":{fontWeight:"bold"},"hljs-strong":{fontWeight:"bold"},"hljs-emphasis":{fontStyle:"italic"}},Yl,Xh);var zs={type:"dark",Background:"#24292e",Foreground:"#d1d5da",LightBlue:"#79B8FF",AccentBlue:"#79B8FF",AccentPurple:"#B392F0",AccentCyan:"#9ECBFF",AccentGreen:"#85E89D",AccentYellow:"#FFAB70",AccentRed:"#F97583",DiffAdded:"#3C4636",DiffRemoved:"#502125",Comment:"#6A737D",Gray:"#6A737D",GradientColors:["#79B8FF","#85E89D"]},knr=new oo("GitHub","dark",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",color:zs.Foreground,background:zs.Background},"hljs-comment":{color:zs.Comment,fontStyle:"italic"},"hljs-quote":{color:zs.Comment,fontStyle:"italic"},"hljs-keyword":{color:zs.AccentRed,fontWeight:"bold"},"hljs-selector-tag":{color:zs.AccentRed,fontWeight:"bold"},"hljs-subst":{color:zs.Foreground},"hljs-number":{color:zs.LightBlue},"hljs-literal":{color:zs.LightBlue},"hljs-variable":{color:zs.AccentYellow},"hljs-template-variable":{color:zs.AccentYellow},"hljs-tag .hljs-attr":{color:zs.AccentYellow},"hljs-string":{color:zs.AccentCyan},"hljs-doctag":{color:zs.AccentCyan},"hljs-title":{color:zs.AccentPurple,fontWeight:"bold"},"hljs-section":{color:zs.AccentPurple,fontWeight:"bold"},"hljs-selector-id":{color:zs.AccentPurple,fontWeight:"bold"},"hljs-type":{color:zs.AccentGreen,fontWeight:"bold"},"hljs-class .hljs-title":{color:zs.AccentGreen,fontWeight:"bold"},"hljs-tag":{color:zs.AccentGreen},"hljs-name":{color:zs.AccentGreen},"hljs-attribute":{color:zs.LightBlue},"hljs-regexp":{color:zs.AccentCyan},"hljs-link":{color:zs.AccentCyan},"hljs-symbol":{color:zs.AccentPurple},"hljs-bullet":{color:zs.AccentPurple},"hljs-built_in":{color:zs.LightBlue},"hljs-builtin-name":{color:zs.LightBlue},"hljs-meta":{color:zs.LightBlue,fontWeight:"bold"},"hljs-deletion":{background:"#86181D",color:zs.AccentRed},"hljs-addition":{background:"#144620",color:zs.AccentGreen},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"}},zs,Xh);var yo={type:"light",Background:"#f8f8f8",Foreground:"#24292E",LightBlue:"#0086b3",AccentBlue:"#458",AccentPurple:"#900",AccentCyan:"#009926",AccentGreen:"#008080",AccentYellow:"#990073",AccentRed:"#d14",DiffAdded:"#C6EAD8",DiffRemoved:"#FFCCCC",Comment:"#998",Gray:"#999",GradientColors:["#458","#008080"]},Unr=new oo("GitHub Light","light",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",color:yo.Foreground,background:yo.Background},"hljs-comment":{color:yo.Comment,fontStyle:"italic"},"hljs-quote":{color:yo.Comment,fontStyle:"italic"},"hljs-keyword":{color:yo.Foreground,fontWeight:"bold"},"hljs-selector-tag":{color:yo.Foreground,fontWeight:"bold"},"hljs-subst":{color:yo.Foreground,fontWeight:"normal"},"hljs-number":{color:yo.AccentGreen},"hljs-literal":{color:yo.AccentGreen},"hljs-variable":{color:yo.AccentGreen},"hljs-template-variable":{color:yo.AccentGreen},"hljs-tag .hljs-attr":{color:yo.AccentGreen},"hljs-string":{color:yo.AccentRed},"hljs-doctag":{color:yo.AccentRed},"hljs-title":{color:yo.AccentPurple,fontWeight:"bold"},"hljs-section":{color:yo.AccentPurple,fontWeight:"bold"},"hljs-selector-id":{color:yo.AccentPurple,fontWeight:"bold"},"hljs-type":{color:yo.AccentBlue,fontWeight:"bold"},"hljs-class .hljs-title":{color:yo.AccentBlue,fontWeight:"bold"},"hljs-tag":{color:yo.AccentBlue,fontWeight:"normal"},"hljs-name":{color:yo.AccentBlue,fontWeight:"normal"},"hljs-attribute":{color:yo.AccentBlue,fontWeight:"normal"},"hljs-regexp":{color:yo.AccentCyan},"hljs-link":{color:yo.AccentCyan},"hljs-symbol":{color:yo.AccentYellow},"hljs-bullet":{color:yo.AccentYellow},"hljs-built_in":{color:yo.LightBlue},"hljs-builtin-name":{color:yo.LightBlue},"hljs-meta":{color:yo.Gray,fontWeight:"bold"},"hljs-deletion":{background:"#fdd"},"hljs-addition":{background:"#dfd"},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"}},yo,H6);var Ks={type:"light",Background:"white",Foreground:"#444",LightBlue:"#066",AccentBlue:"#008",AccentPurple:"#606",AccentCyan:"#066",AccentGreen:"#080",AccentYellow:"#660",AccentRed:"#800",DiffAdded:"#C6EAD8",DiffRemoved:"#FEDEDE",Comment:"#5f6368",Gray:mi.Gray,GradientColors:["#066","#606"]},Hnr=new oo("Google Code","light",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:Ks.Background,color:Ks.Foreground},"hljs-comment":{color:Ks.AccentRed},"hljs-quote":{color:Ks.AccentRed},"hljs-keyword":{color:Ks.AccentBlue},"hljs-selector-tag":{color:Ks.AccentBlue},"hljs-section":{color:Ks.AccentBlue},"hljs-title":{color:Ks.AccentPurple},"hljs-name":{color:Ks.AccentBlue},"hljs-variable":{color:Ks.AccentYellow},"hljs-template-variable":{color:Ks.AccentYellow},"hljs-string":{color:Ks.AccentGreen},"hljs-selector-attr":{color:Ks.AccentGreen},"hljs-selector-pseudo":{color:Ks.AccentGreen},"hljs-regexp":{color:Ks.AccentGreen},"hljs-literal":{color:Ks.AccentCyan},"hljs-symbol":{color:Ks.AccentCyan},"hljs-bullet":{color:Ks.AccentCyan},"hljs-meta":{color:Ks.AccentCyan},"hljs-number":{color:Ks.AccentCyan},"hljs-link":{color:Ks.AccentCyan},"hljs-doctag":{color:Ks.AccentPurple,fontWeight:"bold"},"hljs-type":{color:Ks.AccentPurple},"hljs-attr":{color:Ks.AccentPurple},"hljs-built_in":{color:Ks.AccentPurple},"hljs-builtin-name":{color:Ks.AccentPurple},"hljs-params":{color:Ks.AccentPurple},"hljs-attribute":{color:Ks.Foreground},"hljs-subst":{color:Ks.Foreground},"hljs-formula":{backgroundColor:"#eee",fontStyle:"italic"},"hljs-selector-id":{color:Ks.AccentYellow},"hljs-selector-class":{color:Ks.AccentYellow},"hljs-addition":{backgroundColor:"#baeeba"},"hljs-deletion":{backgroundColor:"#ffc8bd"},"hljs-strong":{fontWeight:"bold"},"hljs-emphasis":{fontStyle:"italic"}},Ks,H6);var VJ=new oo("Default Light","light",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:mi.Background,color:mi.Foreground},"hljs-comment":{color:mi.Comment},"hljs-quote":{color:mi.Comment},"hljs-variable":{color:mi.Foreground},"hljs-keyword":{color:mi.AccentBlue},"hljs-selector-tag":{color:mi.AccentBlue},"hljs-built_in":{color:mi.AccentBlue},"hljs-name":{color:mi.AccentBlue},"hljs-tag":{color:mi.AccentBlue},"hljs-string":{color:mi.AccentRed},"hljs-title":{color:mi.AccentRed},"hljs-section":{color:mi.AccentRed},"hljs-attribute":{color:mi.AccentRed},"hljs-literal":{color:mi.AccentRed},"hljs-template-tag":{color:mi.AccentRed},"hljs-template-variable":{color:mi.AccentRed},"hljs-type":{color:mi.AccentRed},"hljs-addition":{color:mi.AccentGreen},"hljs-deletion":{color:mi.AccentRed},"hljs-selector-attr":{color:mi.AccentCyan},"hljs-selector-pseudo":{color:mi.AccentCyan},"hljs-meta":{color:mi.AccentCyan},"hljs-doctag":{color:mi.Gray},"hljs-attr":{color:mi.AccentRed},"hljs-symbol":{color:mi.AccentCyan},"hljs-bullet":{color:mi.AccentCyan},"hljs-link":{color:mi.AccentCyan},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"}},mi,H6);var qU=new oo("Default","dark",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:Pn.Background,color:Pn.Foreground},"hljs-keyword":{color:Pn.AccentBlue},"hljs-literal":{color:Pn.AccentBlue},"hljs-symbol":{color:Pn.AccentBlue},"hljs-name":{color:Pn.AccentBlue},"hljs-link":{color:Pn.AccentBlue,textDecoration:"underline"},"hljs-built_in":{color:Pn.AccentCyan},"hljs-type":{color:Pn.AccentCyan},"hljs-number":{color:Pn.AccentGreen},"hljs-class":{color:Pn.AccentGreen},"hljs-string":{color:Pn.AccentYellow},"hljs-meta-string":{color:Pn.AccentYellow},"hljs-regexp":{color:Pn.AccentRed},"hljs-template-tag":{color:Pn.AccentRed},"hljs-subst":{color:Pn.Foreground},"hljs-function":{color:Pn.Foreground},"hljs-title":{color:Pn.Foreground},"hljs-params":{color:Pn.Foreground},"hljs-formula":{color:Pn.Foreground},"hljs-comment":{color:Pn.Comment,fontStyle:"italic"},"hljs-quote":{color:Pn.Comment,fontStyle:"italic"},"hljs-doctag":{color:Pn.Comment},"hljs-meta":{color:Pn.Gray},"hljs-meta-keyword":{color:Pn.Gray},"hljs-tag":{color:Pn.Gray},"hljs-variable":{color:Pn.AccentPurple},"hljs-template-variable":{color:Pn.AccentPurple},"hljs-attr":{color:Pn.LightBlue},"hljs-attribute":{color:Pn.LightBlue},"hljs-builtin-name":{color:Pn.LightBlue},"hljs-section":{color:Pn.AccentYellow},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"},"hljs-bullet":{color:Pn.AccentYellow},"hljs-selector-tag":{color:Pn.AccentYellow},"hljs-selector-id":{color:Pn.AccentYellow},"hljs-selector-class":{color:Pn.AccentYellow},"hljs-selector-attr":{color:Pn.AccentYellow},"hljs-selector-pseudo":{color:Pn.AccentYellow},"hljs-addition":{backgroundColor:"#144212",display:"inline-block",width:"100%"},"hljs-deletion":{backgroundColor:"#600",display:"inline-block",width:"100%"}},Pn,Xh);var Bi={type:"dark",Background:"#2d2b57",Foreground:"#e3dfff",LightBlue:"#847ace",AccentBlue:"#a599e9",AccentPurple:"#ac65ff",AccentCyan:"#a1feff",AccentGreen:"#A5FF90",AccentYellow:"#fad000",AccentRed:"#ff628c",DiffAdded:"#383E45",DiffRemoved:"#572244",Comment:"#B362FF",Gray:"#726c86",GradientColors:["#4d21fc","#847ace","#ff628c"]},Sp={AccentYellowAlt:"#f8d000",AccentOrange:"#fb9e00",AccentPink:"#fa658d",AccentLightPurple:"#c991ff",AccentDarkPurple:"#6943ff",AccentTeal:"#2ee2fa"},Gnr=new oo("Shades Of Purple","dark",{hljs:{display:"block",overflowX:"auto",background:Bi.Background,color:Bi.Foreground},"hljs-title":{color:Bi.AccentYellow,fontWeight:"normal"},"hljs-name":{color:Bi.AccentCyan,fontWeight:"normal"},"hljs-tag":{color:Bi.Foreground},"hljs-attr":{color:Sp.AccentYellowAlt,fontStyle:"italic"},"hljs-built_in":{color:Sp.AccentOrange},"hljs-selector-tag":{color:Sp.AccentOrange,fontWeight:"normal"},"hljs-section":{color:Sp.AccentOrange},"hljs-keyword":{color:Sp.AccentOrange,fontWeight:"normal"},"hljs-subst":{color:Bi.Foreground},"hljs-string":{color:Bi.AccentGreen},"hljs-attribute":{color:Bi.AccentGreen},"hljs-symbol":{color:Bi.AccentGreen},"hljs-bullet":{color:Bi.AccentGreen},"hljs-addition":{color:Bi.AccentGreen},"hljs-code":{color:Bi.AccentGreen},"hljs-regexp":{color:Bi.AccentGreen},"hljs-selector-class":{color:Bi.AccentGreen},"hljs-selector-attr":{color:Bi.AccentGreen},"hljs-selector-pseudo":{color:Bi.AccentGreen},"hljs-template-tag":{color:Bi.AccentGreen},"hljs-quote":{color:Bi.AccentGreen},"hljs-deletion":{color:Bi.AccentRed},"hljs-meta":{color:Sp.AccentOrange},"hljs-meta-string":{color:Sp.AccentOrange},"hljs-comment":{color:Bi.AccentPurple},"hljs-literal":{color:Sp.AccentPink,fontWeight:"normal"},"hljs-number":{color:Sp.AccentPink},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"},"hljs-diff":{color:Bi.Foreground},"hljs-meta.hljs-diff":{color:Bi.AccentBlue},"hljs-ln":{color:Bi.Gray},"hljs-type":{color:Bi.AccentYellow,fontWeight:"normal"},"hljs-variable":{color:Bi.AccentYellow},"hljs-template-variable":{color:Bi.AccentGreen},"hljs-function .hljs-keyword":{color:Sp.AccentOrange},"hljs-link":{color:Bi.LightBlue},"hljs-doctag":{fontWeight:"bold"},"hljs-params":{color:Sp.AccentLightPurple,fontStyle:"italic"},"hljs-class":{color:Bi.AccentCyan,fontWeight:"bold"},"hljs-function":{color:Bi.AccentCyan},"hljs-property":{color:Bi.AccentBlue},"hljs-operator":{color:Sp.AccentDarkPurple},"hljs-punctuation":{color:Bi.Gray},"hljs-selector-id":{color:Bi.AccentYellow,fontWeight:"bold"},"hljs-char":{color:Bi.AccentGreen},"hljs-escape":{color:Sp.AccentPink,fontWeight:"bold"},"hljs-meta-keyword":{color:Sp.AccentOrange,fontWeight:"bold"},"hljs-builtin-name":{color:Sp.AccentTeal},"hljs-module":{color:Bi.AccentCyan},"hljs-namespace":{color:Bi.LightBlue},"hljs-important":{color:Bi.AccentRed,fontWeight:"bold"},"hljs-formula":{color:Bi.AccentCyan,fontStyle:"italic"},"hljs-decorator":{color:Sp.AccentTeal,fontWeight:"bold"},"hljs-symbol.ruby":{color:Sp.AccentPink},"hljs-keyword.sql":{color:Sp.AccentOrange,textTransform:"uppercase"},"hljs-section.markdown":{color:Bi.AccentYellow,fontWeight:"bold"},"hljs-attr.json":{color:Bi.AccentCyan},"hljs-tag .hljs-name":{color:Bi.AccentRed},"hljs-tag .hljs-attr":{color:Sp.AccentYellowAlt},"hljs.hljs-line-numbers":{borderRight:`1px solid ${Bi.Gray}`},"hljs.hljs-line-numbers .hljs-ln-numbers":{color:Bi.Gray,paddingRight:"1em"},"hljs.hljs-line-numbers .hljs-ln-code":{paddingLeft:"1em"},"hljs::selection":{background:Bi.AccentBlue+"40"},"hljs ::-moz-selection":{background:Bi.AccentBlue+"40"},"hljs .hljs-highlight":{background:Bi.AccentPurple+"20",display:"block",width:"100%"}},Bi,Xh);var Is={type:"light",Background:"#fff",Foreground:"#444",LightBlue:"#0E0EFF",AccentBlue:"#1c00cf",AccentPurple:"#aa0d91",AccentCyan:"#3F6E74",AccentGreen:"#007400",AccentYellow:"#836C28",AccentRed:"#c41a16",DiffAdded:"#C6EAD8",DiffRemoved:"#FEDEDE",Comment:"#007400",Gray:"#c0c0c0",GradientColors:["#1c00cf","#007400"]},Vnr=new oo("Xcode","light",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:Is.Background,color:Is.Foreground},"xml .hljs-meta":{color:Is.Gray},"hljs-comment":{color:Is.Comment},"hljs-quote":{color:Is.Comment},"hljs-tag":{color:Is.AccentPurple},"hljs-attribute":{color:Is.AccentPurple},"hljs-keyword":{color:Is.AccentPurple},"hljs-selector-tag":{color:Is.AccentPurple},"hljs-literal":{color:Is.AccentPurple},"hljs-name":{color:Is.AccentPurple},"hljs-variable":{color:Is.AccentCyan},"hljs-template-variable":{color:Is.AccentCyan},"hljs-code":{color:Is.AccentRed},"hljs-string":{color:Is.AccentRed},"hljs-meta-string":{color:Is.AccentRed},"hljs-regexp":{color:Is.LightBlue},"hljs-link":{color:Is.LightBlue},"hljs-title":{color:Is.AccentBlue},"hljs-symbol":{color:Is.AccentBlue},"hljs-bullet":{color:Is.AccentBlue},"hljs-number":{color:Is.AccentBlue},"hljs-section":{color:Is.AccentYellow},"hljs-meta":{color:Is.AccentYellow},"hljs-class .hljs-title":{color:Is.AccentPurple},"hljs-type":{color:Is.AccentPurple},"hljs-built_in":{color:Is.AccentPurple},"hljs-builtin-name":{color:Is.AccentPurple},"hljs-params":{color:Is.AccentPurple},"hljs-attr":{color:Is.AccentYellow},"hljs-subst":{color:Is.Foreground},"hljs-formula":{backgroundColor:"#eee",fontStyle:"italic"},"hljs-addition":{backgroundColor:"#baeeba"},"hljs-deletion":{backgroundColor:"#ffc8bd"},"hljs-selector-id":{color:Is.AccentYellow},"hljs-selector-class":{color:Is.AccentYellow},"hljs-doctag":{fontWeight:"bold"},"hljs-strong":{fontWeight:"bold"},"hljs-emphasis":{fontStyle:"italic"}},Is,H6);var HLn={type:"dark",Background:"black",Foreground:"white",LightBlue:"bluebright",AccentBlue:"blue",AccentPurple:"magenta",AccentCyan:"cyan",AccentGreen:"green",AccentYellow:"yellow",AccentRed:"red",DiffAdded:"#003300",DiffRemoved:"#4D0000",Comment:"gray",Gray:"gray",GradientColors:["cyan","green"]},qnr=new oo("ANSI","dark",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:"black",color:"white"},"hljs-keyword":{color:"blue"},"hljs-literal":{color:"blue"},"hljs-symbol":{color:"blue"},"hljs-name":{color:"blue"},"hljs-link":{color:"blue"},"hljs-built_in":{color:"cyan"},"hljs-type":{color:"cyan"},"hljs-number":{color:"green"},"hljs-class":{color:"green"},"hljs-string":{color:"yellow"},"hljs-meta-string":{color:"yellow"},"hljs-regexp":{color:"red"},"hljs-template-tag":{color:"red"},"hljs-subst":{color:"white"},"hljs-function":{color:"white"},"hljs-title":{color:"white"},"hljs-params":{color:"white"},"hljs-formula":{color:"white"},"hljs-comment":{color:"green"},"hljs-quote":{color:"green"},"hljs-doctag":{color:"green"},"hljs-meta":{color:"gray"},"hljs-meta-keyword":{color:"gray"},"hljs-tag":{color:"gray"},"hljs-variable":{color:"magenta"},"hljs-template-variable":{color:"magenta"},"hljs-attr":{color:"bluebright"},"hljs-attribute":{color:"bluebright"},"hljs-builtin-name":{color:"bluebright"},"hljs-section":{color:"yellow"},"hljs-emphasis":{},"hljs-strong":{},"hljs-bullet":{color:"yellow"},"hljs-selector-tag":{color:"yellow"},"hljs-selector-id":{color:"yellow"},"hljs-selector-class":{color:"yellow"},"hljs-selector-attr":{color:"yellow"},"hljs-selector-pseudo":{color:"yellow"}},HLn,Xh);var GLn={type:"light",Background:"white",Foreground:"#444",LightBlue:"blue",AccentBlue:"blue",AccentPurple:"purple",AccentCyan:"cyan",AccentGreen:"green",AccentYellow:"orange",AccentRed:"red",DiffAdded:"#E5F2E5",DiffRemoved:"#FFE5E5",Comment:"gray",Gray:"gray",GradientColors:["blue","green"]},$nr=new oo("ANSI Light","light",{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:"white",color:"black"},"hljs-keyword":{color:"blue"},"hljs-literal":{color:"blue"},"hljs-symbol":{color:"blue"},"hljs-name":{color:"blue"},"hljs-link":{color:"blue"},"hljs-built_in":{color:"cyan"},"hljs-type":{color:"cyan"},"hljs-number":{color:"green"},"hljs-class":{color:"green"},"hljs-string":{color:"red"},"hljs-meta-string":{color:"red"},"hljs-regexp":{color:"magenta"},"hljs-template-tag":{color:"magenta"},"hljs-subst":{color:"black"},"hljs-function":{color:"black"},"hljs-title":{color:"black"},"hljs-params":{color:"black"},"hljs-formula":{color:"black"},"hljs-comment":{color:"gray"},"hljs-quote":{color:"gray"},"hljs-doctag":{color:"gray"},"hljs-meta":{color:"gray"},"hljs-meta-keyword":{color:"gray"},"hljs-tag":{color:"gray"},"hljs-variable":{color:"purple"},"hljs-template-variable":{color:"purple"},"hljs-attr":{color:"blue"},"hljs-attribute":{color:"blue"},"hljs-builtin-name":{color:"blue"},"hljs-section":{color:"orange"},"hljs-bullet":{color:"orange"},"hljs-selector-tag":{color:"orange"},"hljs-selector-id":{color:"orange"},"hljs-selector-class":{color:"orange"},"hljs-selector-attr":{color:"orange"},"hljs-selector-pseudo":{color:"orange"}},GLn,H6);var VLn={type:"ansi",Background:"",Foreground:"",LightBlue:"",AccentBlue:"",AccentPurple:"",AccentCyan:"",AccentGreen:"",AccentYellow:"",AccentRed:"",DiffAdded:"",DiffRemoved:"",Comment:"",Gray:""},qLn={text:{primary:"",secondary:"",link:"",accent:""},background:{primary:"",diff:{added:"",removed:""}},border:{default:"",focused:""},ui:{comment:"",symbol:"",gradient:[]},status:{error:"",success:"",warning:""}},jnr=new oo("NoColor","dark",{hljs:{display:"block",overflowX:"auto",padding:"0.5em"},"hljs-keyword":{},"hljs-literal":{},"hljs-symbol":{},"hljs-name":{},"hljs-link":{textDecoration:"underline"},"hljs-built_in":{},"hljs-type":{},"hljs-number":{},"hljs-class":{},"hljs-string":{},"hljs-meta-string":{},"hljs-regexp":{},"hljs-template-tag":{},"hljs-subst":{},"hljs-function":{},"hljs-title":{},"hljs-params":{},"hljs-formula":{},"hljs-comment":{fontStyle:"italic"},"hljs-quote":{fontStyle:"italic"},"hljs-doctag":{},"hljs-meta":{},"hljs-meta-keyword":{},"hljs-tag":{},"hljs-variable":{},"hljs-template-variable":{},"hljs-attr":{},"hljs-attribute":{},"hljs-builtin-name":{},"hljs-section":{},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"},"hljs-bullet":{},"hljs-selector-tag":{},"hljs-selector-id":{},"hljs-selector-class":{},"hljs-selector-attr":{},"hljs-selector-pseudo":{},"hljs-addition":{display:"inline-block",width:"100%"},"hljs-deletion":{display:"inline-block",width:"100%"}},VLn,qLn);import $Ln from"node:process";var H7=qU,Eqe=class{availableThemes;activeTheme;customThemes=new Map;constructor(){this.availableThemes=[Mnr,Lnr,Pnr,Qnr,VJ,qU,knr,Unr,Hnr,Gnr,Vnr,qnr,$nr],this.activeTheme=H7}loadCustomThemes(e){if(this.customThemes.clear(),!!e){for(let[r,n]of Object.entries(e)){let i=Fnr(n);if(i.isValid){i.warning&&console.warn(`Theme "${r}": ${i.warning}`);let a={...H7.colors,...n,name:n.name||r,type:"custom"};try{let s=Onr(a);this.customThemes.set(r,s)}catch(s){console.warn(`Failed to load custom theme "${r}":`,s)}}else console.warn(`Invalid custom theme "${r}": ${i.error}`)}this.activeTheme&&this.activeTheme.type==="custom"&&this.customThemes.has(this.activeTheme.name)&&(this.activeTheme=this.customThemes.get(this.activeTheme.name))}}setActiveTheme(e){let r=this.findThemeByName(e);return r?(this.activeTheme=r,!0):!1}getActiveTheme(){return $Ln.env.NO_COLOR?jnr:((!this.activeTheme||!this.findThemeByName(this.activeTheme.name))&&(this.activeTheme=H7),this.activeTheme)}getSemanticColors(){return this.getActiveTheme().semanticColors}getCustomThemeNames(){return Array.from(this.customThemes.keys())}isCustomTheme(e){return this.customThemes.has(e)}getAvailableThemes(){let e=this.availableThemes.map(a=>({name:a.name,type:a.type,isCustom:!1})),r=Array.from(this.customThemes.values()).map(a=>({name:a.name,type:a.type,isCustom:!0}));return[...e,...r].sort((a,s)=>{let o=u=>{switch(u){case"dark":return 1;case"light":return 2;case"ansi":return 3;case"custom":return 4;default:return 5}},l=o(a.type)-o(s.type);return l!==0?l:a.name.localeCompare(s.name)})}getTheme(e){return this.findThemeByName(e)}findThemeByName(e){if(!e)return H7;let r=this.availableThemes.find(n=>n.name===e);return r||this.customThemes.get(e)}},rs=new Eqe;import jLn from"node:process";var Ynr=(t,e,r)=>{let[n,i]=(0,G7.useState)(!1);(0,G7.useEffect)(()=>{let u=t.merged.theme;u&&!rs.findThemeByName(u)?(i(!0),e(`Theme "${u}" not found.`)):e(null)},[t.merged.theme,e]);let a=(0,G7.useCallback)(()=>{if(jLn.env.NO_COLOR){r({type:"info",text:"Theme configuration unavailable due to NO_COLOR env variable."},Date.now());return}i(!0)},[r]),s=(0,G7.useCallback)(u=>{rs.setActiveTheme(u)?e(null):(i(!0),e(`Theme "${u}" not found.`))},[e]),o=(0,G7.useCallback)(u=>{s(u)},[s]),l=(0,G7.useCallback)((u,c)=>{try{let d={...t.user.settings.customThemes||{},...t.workspace.settings.customThemes||{}},h=rs.findThemeByName(u),f=u&&d[u];if(!h&&!f){e(`Theme "${u}" not found in selected scope.`),i(!0);return}t.setValue(c,"theme",u),t.merged.customThemes&&rs.loadCustomThemes(t.merged.customThemes),s(t.merged.theme),e(null)}finally{i(!1)}},[s,t,e]);return{isThemeDialogOpen:n,openThemeDialog:a,handleThemeSelect:l,handleThemeHighlight:o}};var zl=Ve(lr(),1);Hn();var Sqe=Ve(eir(),1);Hn();var $J=Ve(_qe(),1);import*as Wl from"fs";import*as Im from"path";import{homedir as UAe,platform as nir}from"os";var q7=".kodacli",bqe=Im.join(UAe(),q7),kAe=Im.join(bqe,"settings.json"),fPn=["DEBUG","DEBUG_MODE"];function mPn(){return process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH?process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH:nir()==="darwin"?"/Library/Application Support/GeminiCli/settings.json":nir()==="win32"?"C:\\ProgramData\\gemini-cli\\settings.json":"/etc/gemini-cli/settings.json"}function iir(t){return Im.join(t,q7,"settings.json")}var gf=(n=>(n.User="User",n.Workspace="Workspace",n.System="System",n))(gf||{}),Dqe=class{constructor(e,r,n,i){this.system=e,this.user=r,this.workspace=n,this.errors=i,this._merged=this.computeMergedSettings()}system;user;workspace;errors;_merged;get merged(){return this._merged}computeMergedSettings(){let e=this.system.settings,r=this.user.settings,n=this.workspace.settings,{folderTrust:i,...a}=n;return{...r,...a,...e,customThemes:{...r.customThemes||{},...n.customThemes||{},...e.customThemes||{}},mcpServers:{...r.mcpServers||{},...n.mcpServers||{},...e.mcpServers||{}},includeDirectories:[...e.includeDirectories||[],...r.includeDirectories||[],...n.includeDirectories||[]],chatCompression:{...e.chatCompression||{},...r.chatCompression||{},...n.chatCompression||{}}}}forScope(e){switch(e){case"User":return this.user;case"Workspace":return this.workspace;case"System":return this.system;default:throw new Error(`Invalid scope: ${e}`)}}setValue(e,r,n){let i=this.forScope(e);i.settings[r]=n,this._merged=this.computeMergedSettings(),EPn(i)}};function hPn(t){let e=/\$(?:(\w+)|{([^}]+)})/g;return t.replace(e,(r,n,i)=>{let a=n||i;return process&&process.env&&typeof process.env[a]=="string"?process.env[a]:r})}function jU(t){if(t==null||typeof t=="boolean"||typeof t=="number")return t;if(typeof t=="string")return hPn(t);if(Array.isArray(t))return t.map(e=>jU(e));if(typeof t=="object"){let e={...t};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(e[r]=jU(e[r]));return e}return t}function APn(t){let e=Im.resolve(t);for(;;){let r=Im.join(e,Ph,".env");if(Wl.existsSync(r))return r;let n=Im.join(e,".env");if(Wl.existsSync(n))return n;let i=Im.dirname(e);if(i===e||!i){let a=Im.join(UAe(),Ph,".env");if(Wl.existsSync(a))return a;let s=Im.join(UAe(),".env");return Wl.existsSync(s)?s:null}e=i}}function gPn(t){if(t&&Wl.existsSync(t)){let e=Wl.readFileSync(t),r=Sqe.parse(e);r.GOOGLE_CLOUD_PROJECT?process.env.GOOGLE_CLOUD_PROJECT=r.GOOGLE_CLOUD_PROJECT:process.env.GOOGLE_CLOUD_PROJECT="cloudshell-gca"}else process.env.GOOGLE_CLOUD_PROJECT="cloudshell-gca"}function wqe(t){let e=APn(process.cwd());process.env.CLOUD_SHELL==="true"&&gPn(e);let r=t;if(!r){let n=iir(process.cwd());try{if(Wl.existsSync(n)){let i=Wl.readFileSync(n,"utf-8"),a=JSON.parse((0,$J.default)(i));r=jU(a)}}catch{}}if(e)try{let n=Wl.readFileSync(e,"utf-8"),i=Sqe.parse(n),a=r?.excludedProjectEnvVars||fPn,s=!e.includes(Ph);for(let o in i)if(Object.hasOwn(i,o)){if(s&&a.includes(o))continue;Object.hasOwn(process.env,o)||(process.env[o]=i[o])}}catch{}}function D5(t){let e={},r={},n={},i=[],a=mPn(),s=Im.resolve(t),o=Im.resolve(UAe()),l=s;try{l=Wl.realpathSync(s)}catch{}let u=Wl.realpathSync(o),c=iir(t);try{if(Wl.existsSync(a)){let E=Wl.readFileSync(a,"utf-8"),y=JSON.parse((0,$J.default)(E));e=jU(y)}}catch(E){i.push({message:sr(E),path:a})}try{if(Wl.existsSync(kAe)){let E=Wl.readFileSync(kAe,"utf-8"),y=JSON.parse((0,$J.default)(E));r=jU(y),r.theme&&r.theme==="VS"?r.theme=VJ.name:r.theme&&r.theme==="VS2015"&&(r.theme=qU.name)}}catch(E){i.push({message:sr(E),path:kAe})}if(l!==u)try{if(Wl.existsSync(c)){let E=Wl.readFileSync(c,"utf-8"),y=JSON.parse((0,$J.default)(E));n=jU(y),n.theme&&n.theme==="VS"?n.theme=VJ.name:n.theme&&n.theme==="VS2015"&&(n.theme=qU.name)}}catch(E){i.push({message:sr(E),path:c})}let d=new Dqe({path:a,settings:e},{path:kAe,settings:r},{path:c,settings:n},i),f=d.merged.chatCompression?.contextPercentageThreshold;return f!=null&&(typeof f!="number"||f<0||f>1)&&(console.warn(`Invalid value for chatCompression.contextPercentageThreshold: "${f}". Please use a value between 0 and 1. Using default compression settings.`),delete d.merged.chatCompression),wqe(d.merged),d}function EPn(t){try{let e=Im.dirname(t.path);Wl.existsSync(e)||Wl.mkdirSync(e,{recursive:!0}),Wl.writeFileSync(t.path,JSON.stringify(t.settings,null,2),"utf-8")}catch(e){console.error("Error saving user settings file:",e)}}Hn();async function HAe(){try{if(!process.env.KODA_API_KEY){let t=await tqe();t&&(process.env.KODA_API_KEY=t)}}catch{}try{if(!process.env.KODA_GITHUB_TOKEN&&!process.env.GITHUB_TOKEN){let t=await eqe();t&&(process.env.KODA_GITHUB_TOKEN=t,process.env.GITHUB_TOKEN||(process.env.GITHUB_TOKEN=t))}}catch{}}function YU(){return[process.env.KODA_API_KEY,process.env.KODA_GITHUB_TOKEN,process.env.GITHUB_TOKEN].some(e=>typeof e=="string"&&e.trim().length>0)}Hn();var Iqe="https://api.openai.com/v1",gb=null;function yPn(){return"https://api.kodacode.ru/v1"}function Tqe(t){let e=(t||Iqe).trim();if(!/^https?:\/\//i.test(e))throw new Error("Base URL must start with http:// or https://");try{let r=new URL(e);return r.pathname=r.pathname.replace(/\/+$/,""),r.pathname.endsWith("/responses")&&(r.pathname=r.pathname.replace(/\/responses$/,"")),r.toString().replace(/\/+$/,"")}catch{return e.replace(/\/+$/,"")}}async function WU(){let t=await nqe();return Object.fromEntries(Object.entries(t).map(([e,r])=>[e,{model:e,...r}]))}async function air(t){let e=Tqe(t.baseUrl);await rqe(t.model,{apiKey:t.apiKey,baseUrl:e})}async function xqe(t){await iqe(t)}async function sir(t,e){return mU({baseUrl:Tqe(t),apiKey:e,includeDefaults:!1})}async function GAe(t){let r=(await WU())[t];if(!r)return null;gb||(gb={baseUrl:process.env.KODA_API_BASE,apiKey:process.env.KODA_API_KEY,openAiKey:process.env.OPENAI_API_KEY,defaultBaseUrl:process.env.KODA_DEFAULT_API_BASE});let n=gb.baseUrl||gb.defaultBaseUrl||yPn();process.env.KODA_DEFAULT_API_BASE=n;let i=Tqe(r.baseUrl);return process.env.KODA_API_BASE=i,process.env.KODA_API_KEY=r.apiKey,process.env.OPENAI_API_KEY=r.apiKey,{...r,baseUrl:i}}async function VAe(){if(gb){let{baseUrl:t,apiKey:e,openAiKey:r,defaultBaseUrl:n}=gb;gb=null,t?process.env.KODA_API_BASE=t:delete process.env.KODA_API_BASE,e?process.env.KODA_API_KEY=e:delete process.env.KODA_API_KEY,r?process.env.OPENAI_API_KEY=r:delete process.env.OPENAI_API_KEY,n?process.env.KODA_DEFAULT_API_BASE=n:delete process.env.KODA_DEFAULT_API_BASE;return}delete process.env.KODA_API_BASE,delete process.env.KODA_API_KEY,delete process.env.OPENAI_API_KEY,await HAe()}async function oir(t){if(t){let e=await GAe(t);if(e)return e}return gb&&await VAe(),null}var lir="__add_custom_model__";function uir(t,e){let[r,n]=(0,zl.useState)(!1),[i,a]=(0,zl.useState)(!1),[s,o]=(0,zl.useState)([]),[l,u]=(0,zl.useState)([]),[c,d]=(0,zl.useState)(!1),[h,f]=(0,zl.useState)(null),[E,y]=(0,zl.useState)(null),[g,C]=(0,zl.useState)(null),[D,S]=(0,zl.useState)(!1),[w,N]=(0,zl.useState)({}),[M,U]=(0,zl.useState)(null),[k,B]=(0,zl.useState)("add"),[q,W]=(0,zl.useState)(null),[re,$]=(0,zl.useState)(null),R=(0,zl.useCallback)((pe,_e)=>{let Se=new Set,se=[];for(let ve of pe){if(Se.has(ve))continue;Se.add(ve);let X=!!_e[ve];se.push({value:ve,label:X?De.t("app.modelDialog.customModelLabel",{model:ve}):ve,source:X?"custom":"builtin"})}for(let ve of Object.values(_e))Se.has(ve.model)||(Se.add(ve.model),se.push({value:ve.model,label:De.t("app.modelDialog.customModelLabel",{model:ve.model}),source:"custom"}));return se.push({value:lir,label:De.t("app.modelDialog.addCustomModelAction"),source:"action"}),se},[]),Q=(0,zl.useCallback)((pe,_e)=>{o(R(_e??l,pe))},[l,R]),J=(0,zl.useCallback)(()=>{n(!0),a(!1),d(!0),f(null),y(null),C(null);let pe=!!(e.merged.selectedAuthType&&e.merged.selectedAuthType!==ln.WITHOUT_AUTH&&YU());(async()=>{try{let[_e,Se]=await Promise.all([WU(),pe?mU():Promise.resolve(["KodaAgent"])]);N(_e);let se=t.getModel()||lp,ve=!!_e[se];!pe&&!ve&&se!=="KodaAgent"&&(y(De.t("app.modelDialog.kodaAuthRequired")),t.setModel("KodaAgent"),e.setValue("User","model","KodaAgent"),se="KodaAgent",ve=!1);let X=new Set;se&&!ve&&X.add(se);for(let ie of Se)X.add(ie);let ee=Array.from(X);u(ee),o(R(ee,_e)),U(ve?se:null)}catch(_e){f(_e?.message||De.t("app.modelDialog.loadError"));let Se=t.getModel()||lp,se=await WU().catch(()=>({})),X=!!se[Se]?[]:[Se];u(X),o(R(X,se))}finally{d(!1)}})()},[R,t,e]),ae=(0,zl.useCallback)(()=>n(!1),[]),fe=(0,zl.useCallback)((pe,_e)=>{if(!pe){n(!1);return}if(pe===lir){n(!1),C(null),B("add"),W(null),$(null),a(!0);return}let Se=!!(e.merged.selectedAuthType&&e.merged.selectedAuthType!==ln.WITHOUT_AUTH&&YU()),se=!!w[pe];(async()=>{try{if(!Se&&!se&&pe!=="KodaAgent"){y(De.t("app.modelDialog.kodaAuthRequired")),e.setValue(_e,"model","KodaAgent"),t.setModel("KodaAgent"),n(!1);return}se?(await GAe(pe),U(pe)):M&&(await VAe(),U(null)),e.setValue(_e,"model",pe),t.setModel(pe),(se||M)&&await t.refreshAuth(e.merged.selectedAuthType??ln.WITHOUT_AUTH)}catch(ve){f(ve?.message||De.t("app.modelDialog.switchError"))}finally{n(!1)}})()},[M,t,w,e]),K=(0,zl.useCallback)((pe,_e)=>{let Se=w[pe];Se&&(C(null),f(null),B("edit"),W({model:pe,baseUrl:Se.baseUrl,apiKey:Se.apiKey}),$(pe),n(!1),a(!0))},[w]),ne=(0,zl.useCallback)((pe,_e)=>{if(!w[pe])return;f(null),C(null);let se=!!(e.merged.selectedAuthType&&e.merged.selectedAuthType!==ln.WITHOUT_AUTH&&YU());(async()=>{try{let X=(t.getModel()||lp)===pe,ee=s.findIndex(Ce=>Ce.value===pe);await xqe(pe);let ie=await WU();N(ie);let me=l,ue=null;if(X){if(await VAe(),U(null),ue=se?lp:"KodaAgent",se&&!l.includes(lp)){let Ce=s.slice(ee+1).find(G=>G.source==="builtin"),le=s.slice(0,Math.max(0,ee)).reverse().find(G=>G.source==="builtin");ue=Ce?.value||le?.value||ue}ue&&!me.includes(ue)&&(me=[ue,...me],u(me))}Q(ie,me),X&&ue&&(e.setValue(_e,"model",ue),t.setModel(ue),await t.refreshAuth(e.merged.selectedAuthType??ln.WITHOUT_AUTH))}catch(ve){f(ve?.message||De.t("app.modelDialog.deleteError"))}})()},[l,t,w,s,Q,e]),he=(0,zl.useCallback)(pe=>{let _e=re,Se=!!_e;S(!0),C(null),(async()=>{try{let se=pe.model.trim();if(!se)throw new Error(De.t("app.customModel.validationMissingId"));let ve=!Se||t.getModel()===_e,X=null;try{if(X=await sir(pe.baseUrl,pe.apiKey),X.length>0&&!X.includes(se))throw new Error(De.t("app.customModel.modelNotFound",{modelId:se}))}catch(ie){console.warn("[custom model] Unable to verify /models endpoint:",ie?.message||ie)}await air({...pe,model:se}),Se&&_e&&_e!==se&&await xqe(_e);let ee=await WU();N(ee),Q(ee),ve&&(await GAe(se),e.setValue("User","model",se),t.setModel(se),U(se),await t.refreshAuth(e.merged.selectedAuthType??ln.WITHOUT_AUTH)),a(!1),B("add"),W(null),$(null)}catch(se){C(se?.message||(Se?De.t("app.customModel.saveErrorEdit"):De.t("app.customModel.saveErrorAdd")))}finally{S(!1)}})()},[t,re,Q,e]),Ee=(0,zl.useCallback)(()=>{a(!1),C(null),B("add"),W(null),$(null)},[]);return{isModelDialogOpen:r,isCustomModelDialogOpen:i,openModelDialog:J,closeModelDialog:ae,models:s,loading:c,error:h,unauthorizedUserError:E,customModelError:g,customModelBusy:D,customModelDraft:q,customModelDialogMode:k,handleModelSelect:fe,handleCustomModelEdit:K,handleCustomModelDelete:ne,handleCustomModelSubmit:he,handleCustomModelCancel:Ee}}var l3=Ve(lr(),1);Hn();IU();import vPn from"node:os";import Bqe from"node:path";import{promises as Rqe}from"node:fs";async function CPn(t,e){if(!e)try{(await h5(t)).on("error",()=>{})}catch{}}var _Pn="https://github.com/login/device/code",DPn="https://github.com/login/oauth/access_token";async function SPn(t,e){let r=await fetch(_Pn,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_id:t,scope:e.join(" ")})});if(!r.ok)throw new Error(`GitHub device code failed: ${r.status} ${r.statusText}`);return await r.json()}async function bPn(t,e,r){let n=Math.max(5,r)*1e3;for(;;){await new Promise(s=>setTimeout(s,n));let i=await fetch(DPn,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_id:e,device_code:t,grant_type:"urn:ietf:params:oauth:grant-type:device_code"})});if(!i.ok)throw new Error(`GitHub token poll failed: ${i.status} ${i.statusText}`);let a=await i.json();if("access_token"in a)return a.access_token;switch(a.error){case"authorization_pending":break;case"slow_down":n+=5e3;break;case"access_denied":throw new Error("User denied access.");case"expired_token":throw new Error("Device code expired. Please retry login.");default:throw new Error(`OAuth error: ${a.error}${a.error_description?` - ${a.error_description}`:""}`)}}}function cir(){let t=process.env.XDG_CONFIG_HOME||Bqe.join(vPn.homedir(),".config");return Bqe.join(t,"koda")}var dir=Bqe.join(cir(),"credentials.json");async function pir(){try{let t=await Rqe.readFile(dir,"utf-8"),e=JSON.parse(t);return e&&typeof e=="object"?e:{}}catch{return{}}}async function fir(t){await Rqe.mkdir(cir(),{recursive:!0}),await Rqe.writeFile(dir,JSON.stringify(t,null,2),{mode:384})}async function wPn(t){let e=await pir();e.githubToken=t,await fir(e)}async function IPn(t){let e=await pir();e.kodaApiKey=t,await fir(e)}async function TPn(t){let e=process.env.KODA_GITHUB_EXCHANGE_URL;if(!e)return null;try{let r=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${t}`},body:JSON.stringify({})});if(!r.ok)throw new Error(`Exchange failed: ${r.status} ${r.statusText}`);let n=await r.json();return typeof n.apiKey=="string"&&n.apiKey.length>0?n.apiKey:null}catch(r){return console.warn("GitHub token exchange failed:",r),null}}async function qAe(t,e){let r="Ov23li5pZhE4aeH5fTSE";if(!r)throw new Error("GITHUB_CLIENT_ID is not set. Create a GitHub OAuth App and set GITHUB_CLIENT_ID.");let n=(process.env.GITHUB_SCOPES||"read:user user:email").split(/\s+/),{device_code:i,user_code:a,verification_uri:s,interval:o=5}=await SPn(r,n);try{e?.(s,a)}catch{}console.log(`
1845
1845
  GitHub Login`),console.log(`Open: ${s}`),console.log(`Code: ${a}
1846
1846
  `),await CPn(s,t.isBrowserLaunchSuppressed());let l=await bPn(i,r,o);await wPn(l),process.env.KODA_GITHUB_TOKEN=l,process.env.GITHUB_TOKEN=process.env.GITHUB_TOKEN||l;let u=await TPn(l);u&&(process.env.KODA_API_KEY=u,await IPn(u)),console.log("GitHub authentication successful.")}var mir=(t,e,r)=>{let[n,i]=(0,l3.useState)(t.merged.selectedAuthType===void 0),a=(0,l3.useCallback)(()=>{i(!0)},[]),[s,o]=(0,l3.useState)(!1),[l,u]=(0,l3.useState)(void 0),[c,d]=(0,l3.useState)(void 0);(0,l3.useEffect)(()=>{(async()=>{let y=t.merged.selectedAuthType;if(!n){if(!y){try{await r.refreshAuth(void 0),console.log("Proceeding without authentication.")}catch(g){e(`Failed to initialize. Message: ${sr(g)}`),a()}return}try{o(!0),await r.refreshAuth(y),console.log(`Authenticated via "${y}".`)}catch(g){e(`Failed to login. Message: ${sr(g)}`),a()}finally{o(!1)}}})()},[n,t,r,e,a]);let h=(0,l3.useCallback)(async(E,y)=>{if(E){if(await SJ(),E===ln.LOGIN_WITH_GITHUB){o(!0),u(void 0),d(void 0);try{await qAe(r,(g,C)=>{u(g),d(C)})}catch(g){o(!1),e(`Failed to login with GitHub. Message: ${sr(g)}`);return}o(!1)}t.setValue(y,"selectedAuthType",E)}else t.setValue(y,"selectedAuthType",void 0);i(!1),e(null)},[t,e,r]),f=(0,l3.useCallback)(()=>{o(!1)},[]);return{isAuthDialogOpen:n,openAuthDialog:a,handleAuthSelect:h,isAuthenticating:s,cancelAuthentication:f,verificationUri:l,userCode:c}};var _R=Ve(lr(),1);var ke={get type(){return rs.getActiveTheme().colors.type},get Foreground(){return rs.getActiveTheme().colors.Foreground},get Background(){return rs.getActiveTheme().colors.Background},get LightBlue(){return rs.getActiveTheme().colors.LightBlue},get AccentBlue(){return rs.getActiveTheme().colors.AccentBlue},get AccentPurple(){return rs.getActiveTheme().colors.AccentPurple},get AccentCyan(){return rs.getActiveTheme().colors.AccentCyan},get AccentGreen(){return rs.getActiveTheme().colors.AccentGreen},get AccentYellow(){return rs.getActiveTheme().colors.AccentYellow},get AccentRed(){return rs.getActiveTheme().colors.AccentRed},get DiffAdded(){return rs.getActiveTheme().colors.DiffAdded},get DiffRemoved(){return rs.getActiveTheme().colors.DiffRemoved},get Comment(){return rs.getActiveTheme().colors.Comment},get Gray(){return rs.getActiveTheme().colors.Gray},get GradientColors(){return rs.getActiveTheme().colors.GradientColors}};var $7=Ve(lr(),1);var g2=Ve(Lt(),1);function Kl({items:t,initialIndex:e=0,onSelect:r,onHighlight:n,isFocused:i=!0,showScrollArrows:a=!1,maxItemsToShow:s=10,showNumbers:o=!0}){let[l,u]=(0,$7.useState)(e),[c,d]=(0,$7.useState)(0),[h,f]=(0,$7.useState)(""),E=(0,$7.useRef)(null);(0,$7.useEffect)(()=>{let g=Math.max(0,Math.min(l-s+1,t.length-s));l<c?d(l):l>=c+s&&d(g)},[l,t.length,c,s]),(0,$7.useEffect)(()=>()=>{E.current&&clearTimeout(E.current)},[]),ts(g=>{let{sequence:C,name:D}=g,S=o&&/^[0-9]$/.test(C);if(!S&&E.current&&(clearTimeout(E.current),f("")),D==="k"||D==="up"){let w=l>0?l-1:t.length-1;u(w),n?.(t[w].value);return}if(D==="j"||D==="down"){let w=l<t.length-1?l+1:0;u(w),n?.(t[w].value);return}if(D==="return"){r(t[l].value);return}if(S){E.current&&clearTimeout(E.current);let w=h+C;f(w);let N=Number.parseInt(w,10)-1;if(w==="0"){E.current=setTimeout(()=>f(""),350);return}if(N>=0&&N<t.length){let M=t[N];u(N),n?.(M.value),Number.parseInt(w+"0",10)>t.length?(r(M.value),f("")):E.current=setTimeout(()=>{r(M.value),f("")},350)}else f("")}},{isActive:!!(i&&t.length>0)});let y=t.slice(c,c+s);return(0,g2.jsxs)(Le,{flexDirection:"column",children:[a&&(0,g2.jsx)(be,{color:c>0?ke.Foreground:ke.Gray,children:"\u25B2"}),y.map((g,C)=>{let D=c+C,S=l===D,w=ke.Foreground,N=ke.Foreground;S?(w=ke.AccentGreen,N=ke.AccentGreen):g.disabled&&(w=ke.Gray,N=ke.Gray),o||(N=ke.Gray);let M=String(t.length).length,U=`${String(D+1).padStart(M)}.`;return(0,g2.jsxs)(Le,{alignItems:"center",children:[(0,g2.jsx)(Le,{minWidth:2,flexShrink:0,children:(0,g2.jsx)(be,{color:S?ke.AccentGreen:ke.Foreground,children:S?"\u25CF":" "})}),(0,g2.jsx)(Le,{marginRight:1,flexShrink:0,minWidth:U.length,children:(0,g2.jsx)(be,{color:N,children:U})}),g.themeNameDisplay&&g.themeTypeDisplay?(0,g2.jsxs)(be,{color:w,wrap:"truncate",children:[g.themeNameDisplay," ",(0,g2.jsx)(be,{color:ke.Gray,children:g.themeTypeDisplay})]}):(0,g2.jsx)(be,{color:w,wrap:"truncate",children:g.label})]},g.label)}),a&&(0,g2.jsx)(be,{color:c+s<t.length?ke.Foreground:ke.Gray,children:"\u25BC"})]})}var CR=Ve(Lt(),1);var hir=({onSelect:t})=>{ts(r=>{r.name==="escape"&&t("do_not_trust")},{isActive:!0});let e=[{label:"Trust folder",value:"trust_folder"},{label:"Trust parent folder",value:"trust_parent"},{label:"Don't trust (esc)",value:"do_not_trust"}];return(0,CR.jsxs)(Le,{flexDirection:"column",borderStyle:"round",borderColor:ke.AccentYellow,padding:1,width:"100%",marginLeft:1,children:[(0,CR.jsxs)(Le,{flexDirection:"column",marginBottom:1,children:[(0,CR.jsx)(be,{bold:!0,children:"Do you trust this folder?"}),(0,CR.jsx)(be,{children:"Trusting a folder allows Gemini to execute commands it suggests. This is a security feature to prevent accidental execution in untrusted directories."})]}),(0,CR.jsx)(Kl,{items:e,onSelect:t,isFocused:!0})]})};Hn();var Air=Ve(_qe(),1);import*as Y7 from"fs";import*as j7 from"path";import{homedir as xPn}from"os";var BPn="trustedFolders.json",RPn=".kodacli",NPn=j7.join(xPn(),RPn),OPn=j7.join(NPn,BPn);var Nqe=class{constructor(e,r){this.user=e;this.errors=r}get rules(){return Object.entries(this.user.config).map(([e,r])=>({path:e,trustLevel:r}))}setValue(e,r){this.user.config[e]=r,FPn(this.user)}};function Oqe(){let t=[],e={},r=OPn;try{if(Y7.existsSync(r)){let n=Y7.readFileSync(r,"utf-8"),i=JSON.parse((0,Air.default)(n));i&&Object.assign(e,i)}}catch(n){t.push({message:sr(n),path:r})}return new Nqe({path:r,config:e},t)}function FPn(t){try{let e=j7.dirname(t.path);Y7.existsSync(e)||Y7.mkdirSync(e,{recursive:!0}),Y7.writeFileSync(t.path,JSON.stringify(t.config,null,2),"utf-8")}catch(e){console.error("Error saving trusted folders file:",e)}}function jJ(t){let e=t.folderTrustFeature??!1,r=t.folderTrust??!0;if(!(e&&r))return!0;let{rules:i,errors:a}=Oqe();if(a.length>0)for(let u of a)console.error(`Error loading trusted folders config from ${u.path}: ${u.message}`);let s=[],o=[];for(let u of i)switch(u.trustLevel){case"TRUST_FOLDER":s.push(u.path);break;case"TRUST_PARENT":s.push(j7.dirname(u.path));break;case"DO_NOT_TRUST":o.push(u.path);break;default:break}let l=process.cwd();for(let u of s)if(WW(l,u))return!0;for(let u of o)if(j7.normalize(l)===j7.normalize(u))return!1}import*as gir from"process";var Eir=(t,e)=>{let[r,n]=(0,_R.useState)(void 0),[i,a]=(0,_R.useState)(!1),{folderTrust:s,folderTrustFeature:o}=t.merged;(0,_R.useEffect)(()=>{let u=jJ({folderTrust:s,folderTrustFeature:o});n(u),a(u===void 0),e(u)},[e,s,o]);let l=(0,_R.useCallback)(u=>{let c=Oqe(),d=gir.cwd(),h;switch(u){case"trust_folder":h="TRUST_FOLDER";break;case"trust_parent":h="TRUST_PARENT";break;case"do_not_trust":h="DO_NOT_TRUST";break;default:return}c.setValue(d,h);let f=jJ({folderTrust:s,folderTrustFeature:o});n(f),a(!1),e(f)},[e,s,o]);return{isTrusted:r,isFolderTrustDialogOpen:i,handleFolderTrustSelect:l}};var zU=Ve(lr(),1);Hn();var yir=(t,e,r)=>{let[n,i]=(0,zU.useState)(!1),a=(0,zU.useCallback)(()=>{i(!0)},[]),s=(0,zU.useCallback)((l,u)=>{if(!(l&&(!gU(l)||!EU(l))))try{t.setValue(u,"preferredEditor",l),r({type:"info",text:`Editor preference ${l?`set to "${l}"`:"cleared"} in ${u} settings.`},Date.now()),e(null),i(!1)}catch(c){e(`Failed to set editor preference: ${c}`)}},[t,e,r]),o=(0,zU.useCallback)(()=>{i(!1)},[]);return{isEditorDialogOpen:n,openEditorDialog:a,handleEditorSelect:s,exitEditorDialog:o}};var y1=Ve(lr(),1);Hn();import BUn from"node:process";Hn();import{promises as MPn}from"fs";import{join as LPn}from"path";var Fqe=[];function KU(t){Fqe.push(t)}async function vir(){for(let t of Fqe)try{await t()}catch{}Fqe.length=0}async function Cir(){let t=cv(process.cwd()),e=LPn(t,"checkpoints");try{await MPn.rm(e,{recursive:!0,force:!0})}catch{}}var $Ae=class t{constructor(e){this.commands=e}static async create(e,r){let n=await Promise.allSettled(e.map(o=>o.loadCommands(r))),i=[];for(let o of n)o.status==="fulfilled"?i.push(...o.value):console.debug("A command loader failed:",o.reason);let a=new Map;for(let o of i){let l=o.name;if(o.extensionName&&a.has(o.name)){let u=`${o.extensionName}.${o.name}`,c=1;for(;a.has(u);)u=`${o.extensionName}.${o.name}${c}`,c++;l=u}a.set(l,{...o,name:l})}let s=Object.freeze(Array.from(a.values()));return new t(s)}getCommands(){return this.commands}};import Pkn from"node:path";import PPn from"node:process";import QPn from"node:fs/promises";import{fileURLToPath as kPn}from"node:url";import JU from"node:path";var _ir=t=>t instanceof URL?kPn(t):t;async function Dir(t,{cwd:e=PPn.cwd(),type:r="file",stopAt:n}={}){let i=JU.resolve(_ir(e)??""),{root:a}=JU.parse(i);n=JU.resolve(i,_ir(n??a));let s=JU.isAbsolute(t);for(;i;){let o=s?t:JU.join(i,t);try{let l=await QPn.stat(o);if(r==="file"&&l.isFile()||r==="directory"&&l.isDirectory())return o}catch{}if(i===n||i===a)break;i=JU.dirname(i)}}import Okn from"node:fs/promises";import Fkn from"node:path";var Wir=Ve(Yir(),1);function sQn(t,e){let r=e===0?-1:t.lastIndexOf(`
1847
1847
  `,e-1);return{line:r===-1?0:t.slice(0,r+1).match(/\n/g).length,column:e-r-1}}function Hqe(t,e,{oneBased:r=!1}={}){if(typeof t!="string")throw new TypeError("Text parameter should be a string");if(!Number.isInteger(e))throw new TypeError("Index parameter should be an integer");if(e<0||e>t.length)throw new RangeError("Index out of bounds");let n=sQn(t,e);return r?{line:n.line+1,column:n.column+1}:n}var oQn=t=>`\\u{${t.codePointAt(0).toString(16)}}`,Gqe=class t extends Error{name="JSONError";fileName;#e;#t;#r;#n;#a;constructor(e){if(typeof e=="string")super(),this.#r=e;else{let{jsonParseError:r,fileName:n,input:i}=e;super(void 0,{cause:r}),this.#e=i,this.#t=r,this.fileName=n}Error.captureStackTrace?.(this,t)}get message(){this.#r??=`${uQn(this.#t.message)}${this.#e===""?" while parsing empty string":""}`;let{codeFrame:e}=this;return`${this.#r}${this.fileName?` in ${this.fileName}`:""}${e?`
1848
1848
 
1849
1849
  ${e}
1850
- `:""}`}set message(e){this.#r=e}#i(e){if(!this.#t)return;let r=this.#e,n=lQn(r,this.#t.message);if(n)return(0,Wir.codeFrameColumns)(r,{start:n},{highlightCode:e})}get codeFrame(){return this.#n??=this.#i(!0),this.#n}get rawCodeFrame(){return this.#a??=this.#i(!1),this.#a}},lQn=(t,e)=>{let r=e.match(/in JSON at position (?<index>\d+)(?: \(line (?<line>\d+) column (?<column>\d+)\))?$/);if(!r)return;let{index:n,line:i,column:a}=r.groups;return i&&a?{line:Number(i),column:Number(a)}:Hqe(t,Number(n),{oneBased:!0})},uQn=t=>t.replace(/(?<=^Unexpected token )(?<quote>')?(.)\k<quote>/,(e,r,n)=>`"${n}"(${oQn(n)})`);function Vqe(t,e,r){typeof e=="string"&&(r=e,e=void 0);try{return JSON.parse(t,e)}catch(n){throw new Gqe({jsonParseError:n,fileName:r,input:t})}}var dsr=Ve(usr(),1);import{fileURLToPath as Nkn}from"node:url";function csr(t){return t instanceof URL?Nkn(t):t}var Mkn=t=>Fkn.resolve(csr(t)??".","package.json"),Lkn=(t,e)=>{let r=typeof t=="string"?Vqe(t):t;return e&&(0,dsr.default)(r),r};async function psr({cwd:t,normalize:e=!0}={}){let r=await Okn.readFile(Mkn(t),"utf8");return Lkn(r,e)}async function fsr(t){let e=await Dir("package.json",t);if(e)return{packageJson:await psr({...t,cwd:Pkn.dirname(e)}),path:e}}import{fileURLToPath as Qkn}from"url";import kkn from"path";var Ukn=Qkn(import.meta.url),Hkn=kkn.dirname(Ukn),a2e;async function tH(){if(a2e)return a2e;let t=await fsr({cwd:Hkn});if(t)return a2e=t.packageJson,a2e}async function Cb(){let t=await tH();return"0.1.8"}import SR from"node:process";var msr={name:"about",description:()=>De.t("commandDescriptions.about"),kind:"built-in",action:async t=>{let e=SR.platform,r="no sandbox";SR.env.SANDBOX&&SR.env.SANDBOX!=="sandbox-exec"?r=SR.env.SANDBOX:SR.env.SANDBOX==="sandbox-exec"&&(r=`sandbox-exec (${SR.env.SEATBELT_PROFILE||"unknown"})`);let n=t.services.config?.getModel()||"Unknown",i=await Cb(),a=t.services.settings.merged.selectedAuthType||"",s=SR.env.GOOGLE_CLOUD_PROJECT||"",o={type:"about",cliVersion:i,osVersion:e,sandboxEnv:r,modelVersion:n,selectedAuthType:a,gcpProject:s};t.ui.addItem(o,Date.now())}};var hsr={name:"auth",description:()=>De.t("commandDescriptions.auth"),kind:"built-in",action:(t,e)=>({type:"dialog",dialog:"auth"})};IU();import _b from"node:process";var rH="d3d7099f";Hn();var Asr={name:"bug",description:()=>De.t("commandDescriptions.bug"),kind:"built-in",action:async(t,e)=>{let r=(e||"").trim(),{config:n}=t.services,i=`${_b.platform} ${_b.version}`,a="no sandbox";_b.env.SANDBOX&&_b.env.SANDBOX!=="sandbox-exec"?a=_b.env.SANDBOX.replace(/^gemini-(?:code-)?/,""):_b.env.SANDBOX==="sandbox-exec"&&(a=`sandbox-exec (${_b.env.SEATBELT_PROFILE||"unknown"})`);let s=n?.getModel()||"Unknown",o=await Cb(),l=QU(_b.memoryUsage().rss),u=`* **CLI Version:** ${o}
1850
+ `:""}`}set message(e){this.#r=e}#i(e){if(!this.#t)return;let r=this.#e,n=lQn(r,this.#t.message);if(n)return(0,Wir.codeFrameColumns)(r,{start:n},{highlightCode:e})}get codeFrame(){return this.#n??=this.#i(!0),this.#n}get rawCodeFrame(){return this.#a??=this.#i(!1),this.#a}},lQn=(t,e)=>{let r=e.match(/in JSON at position (?<index>\d+)(?: \(line (?<line>\d+) column (?<column>\d+)\))?$/);if(!r)return;let{index:n,line:i,column:a}=r.groups;return i&&a?{line:Number(i),column:Number(a)}:Hqe(t,Number(n),{oneBased:!0})},uQn=t=>t.replace(/(?<=^Unexpected token )(?<quote>')?(.)\k<quote>/,(e,r,n)=>`"${n}"(${oQn(n)})`);function Vqe(t,e,r){typeof e=="string"&&(r=e,e=void 0);try{return JSON.parse(t,e)}catch(n){throw new Gqe({jsonParseError:n,fileName:r,input:t})}}var dsr=Ve(usr(),1);import{fileURLToPath as Nkn}from"node:url";function csr(t){return t instanceof URL?Nkn(t):t}var Mkn=t=>Fkn.resolve(csr(t)??".","package.json"),Lkn=(t,e)=>{let r=typeof t=="string"?Vqe(t):t;return e&&(0,dsr.default)(r),r};async function psr({cwd:t,normalize:e=!0}={}){let r=await Okn.readFile(Mkn(t),"utf8");return Lkn(r,e)}async function fsr(t){let e=await Dir("package.json",t);if(e)return{packageJson:await psr({...t,cwd:Pkn.dirname(e)}),path:e}}import{fileURLToPath as Qkn}from"url";import kkn from"path";var Ukn=Qkn(import.meta.url),Hkn=kkn.dirname(Ukn),a2e;async function tH(){if(a2e)return a2e;let t=await fsr({cwd:Hkn});if(t)return a2e=t.packageJson,a2e}async function Cb(){let t=await tH();return"0.1.10"}import SR from"node:process";var msr={name:"about",description:()=>De.t("commandDescriptions.about"),kind:"built-in",action:async t=>{let e=SR.platform,r="no sandbox";SR.env.SANDBOX&&SR.env.SANDBOX!=="sandbox-exec"?r=SR.env.SANDBOX:SR.env.SANDBOX==="sandbox-exec"&&(r=`sandbox-exec (${SR.env.SEATBELT_PROFILE||"unknown"})`);let n=t.services.config?.getModel()||"Unknown",i=await Cb(),a=t.services.settings.merged.selectedAuthType||"",s=SR.env.GOOGLE_CLOUD_PROJECT||"",o={type:"about",cliVersion:i,osVersion:e,sandboxEnv:r,modelVersion:n,selectedAuthType:a,gcpProject:s};t.ui.addItem(o,Date.now())}};var hsr={name:"auth",description:()=>De.t("commandDescriptions.auth"),kind:"built-in",action:(t,e)=>({type:"dialog",dialog:"auth"})};IU();import _b from"node:process";var rH="d573c51c";Hn();var Asr={name:"bug",description:()=>De.t("commandDescriptions.bug"),kind:"built-in",action:async(t,e)=>{let r=(e||"").trim(),{config:n}=t.services,i=`${_b.platform} ${_b.version}`,a="no sandbox";_b.env.SANDBOX&&_b.env.SANDBOX!=="sandbox-exec"?a=_b.env.SANDBOX.replace(/^gemini-(?:code-)?/,""):_b.env.SANDBOX==="sandbox-exec"&&(a=`sandbox-exec (${_b.env.SEATBELT_PROFILE||"unknown"})`);let s=n?.getModel()||"Unknown",o=await Cb(),l=QU(_b.memoryUsage().rss),u=`* **CLI Version:** ${o}
1851
1851
  * **Git Commit:** ${rH}
1852
1852
  * **Session ID:** ${C5}
1853
1853
  * **Operating System:** ${i}
@@ -2033,7 +2033,7 @@ Koda CLI - Launch an interactive CLI, use -p/--prompt for non-interactive mode`)
2033
2033
  `),a=/^ *(#{1,4}) +(.*)/,s=/^ *(`{3,}|~{3,}) *(\w*?) *$/,o=/^([ \t]*)([-*+]) +(.*)/,l=/^([ \t]*)(\d+)\. +(.*)/,u=/^ *([-*_] *){3,} *$/,c=/^\s*\|(.+)\|\s*$/,d=/^\s*\|?\s*(:?-+:?)\s*(\|\s*(:?-+:?)\s*)+\|?\s*$/,h=[],f=!1,E=!0,y=[],g=null,C="",D=!1,S=[],w=[];function N(M){M&&(h.push(M),E=!1)}return i.forEach((M,U)=>{let k=`line-${U}`;if(f){let J=M.match(s);J&&J[1].startsWith(C[0])&&J[1].length>=C.length?(N((0,Ai.jsx)(efr,{content:y,lang:g,isPending:e,availableTerminalHeight:r,terminalWidth:n},k)),f=!1,y=[],g=null,C=""):y.push(M);return}let B=M.match(s),q=M.match(a),W=M.match(o),re=M.match(l),$=M.match(u),R=M.match(c),Q=M.match(d);if(B)f=!0,C=B[1],g=B[2]||null;else if(R&&!D)U+1<i.length&&i[U+1].match(d)?(D=!0,w=R[1].split("|").map(J=>J.trim()),S=[]):N((0,Ai.jsx)(Le,{children:(0,Ai.jsx)(be,{wrap:"wrap",children:(0,Ai.jsx)(I2,{text:M})})},k));else if(!(D&&Q))if(D&&R){let J=R[1].split("|").map(ae=>ae.trim());for(;J.length<w.length;)J.push("");J.length>w.length&&(J.length=w.length),S.push(J)}else if(D&&!R)w.length>0&&S.length>0&&N((0,Ai.jsx)(rfr,{headers:w,rows:S,terminalWidth:n},`table-${h.length}`)),D=!1,S=[],w=[],M.trim().length>0&&N((0,Ai.jsx)(Le,{children:(0,Ai.jsx)(be,{wrap:"wrap",children:(0,Ai.jsx)(I2,{text:M})})},k));else if($)N((0,Ai.jsx)(Le,{children:(0,Ai.jsx)(be,{dimColor:!0,children:"---"})},k));else if(q){let J=q[1].length,ae=q[2],fe=null;switch(J){case 1:fe=(0,Ai.jsx)(be,{bold:!0,color:ke.AccentCyan,children:(0,Ai.jsx)(I2,{text:ae})});break;case 2:fe=(0,Ai.jsx)(be,{bold:!0,color:ke.AccentBlue,children:(0,Ai.jsx)(I2,{text:ae})});break;case 3:fe=(0,Ai.jsx)(be,{bold:!0,children:(0,Ai.jsx)(I2,{text:ae})});break;case 4:fe=(0,Ai.jsx)(be,{italic:!0,color:ke.Gray,children:(0,Ai.jsx)(I2,{text:ae})});break;default:fe=(0,Ai.jsx)(be,{children:(0,Ai.jsx)(I2,{text:ae})});break}fe&&N((0,Ai.jsx)(Le,{children:fe},k))}else if(W){let J=W[1],ae=W[2],fe=W[3];N((0,Ai.jsx)(tfr,{itemText:fe,type:"ul",marker:ae,leadingWhitespace:J},k))}else if(re){let J=re[1],ae=re[2],fe=re[3];N((0,Ai.jsx)(tfr,{itemText:fe,type:"ol",marker:ae,leadingWhitespace:J},k))}else M.trim().length===0&&!f?E||(h.push((0,Ai.jsx)(Le,{height:U$n},`spacer-${U}`)),E=!0):N((0,Ai.jsx)(Le,{children:(0,Ai.jsx)(be,{wrap:"wrap",children:(0,Ai.jsx)(I2,{text:M})})},k))}),f&&N((0,Ai.jsx)(efr,{content:y,lang:g,isPending:e,availableTerminalHeight:r,terminalWidth:n},"line-eof")),D&&w.length>0&&S.length>0&&N((0,Ai.jsx)(rfr,{headers:w,rows:S,terminalWidth:n},`table-${h.length}`)),(0,Ai.jsx)(Ai.Fragment,{children:h})},q$n=({content:t,lang:e,isPending:r,availableTerminalHeight:n,terminalWidth:i})=>{let a=Z1r(),s=1,o=2;if(r&&n!==void 0){let c=Math.max(0,n-o);if(t.length>c){if(c<s)return(0,Ai.jsx)(Le,{paddingLeft:PX,children:(0,Ai.jsx)(be,{color:ke.Gray,children:"... code is being written ..."})});let d=t.slice(0,c),h=MR(d.join(`
2034
2034
  `),e,n,i-PX,void 0,a);return(0,Ai.jsxs)(Le,{paddingLeft:PX,flexDirection:"column",children:[h,(0,Ai.jsx)(be,{color:ke.Gray,children:"... generating more ..."})]})}}let l=t.join(`
2035
2035
  `),u=MR(l,e,n,i-PX,void 0,a);return(0,Ai.jsx)(Le,{paddingLeft:PX,flexDirection:"column",width:i,flexShrink:0,children:u})},efr=QX.default.memo(q$n),$$n=({itemText:t,type:e,marker:r,leadingWhitespace:n=""})=>{let i=e==="ol"?`${r}. `:`${r} `,a=i.length,s=n.length;return(0,Ai.jsxs)(Le,{paddingLeft:s+H$n,flexDirection:"row",children:[(0,Ai.jsx)(Le,{width:a,children:(0,Ai.jsx)(be,{children:i})}),(0,Ai.jsx)(Le,{flexGrow:G$n,children:(0,Ai.jsx)(be,{wrap:"wrap",children:(0,Ai.jsx)(I2,{text:t})})})]})},tfr=QX.default.memo($$n),j$n=({headers:t,rows:e,terminalWidth:r})=>(0,Ai.jsx)(X1r,{headers:t,rows:e,terminalWidth:r}),rfr=QX.default.memo(j$n),RH=QX.default.memo(V$n);var zR=Ve(Lt(),1);var nfr=({text:t,isPending:e,availableTerminalHeight:r,terminalWidth:n})=>{let i="\u276F ",a=i.length;return(0,zR.jsxs)(Le,{flexDirection:"row",children:[(0,zR.jsx)(Le,{width:a,children:(0,zR.jsx)(be,{color:ke.AccentPurple,children:i})}),(0,zR.jsx)(Le,{flexGrow:1,flexDirection:"column",children:(0,zR.jsx)(RH,{text:t,isPending:e,availableTerminalHeight:r,terminalWidth:n})})]})};var KR=Ve(Lt(),1);var ifr=({text:t})=>{let e="\u2139 ",r=e.length;return(0,KR.jsxs)(Le,{flexDirection:"row",marginTop:1,children:[(0,KR.jsx)(Le,{width:r,children:(0,KR.jsx)(be,{color:ke.AccentYellow,children:e})}),(0,KR.jsx)(Le,{flexGrow:1,children:(0,KR.jsx)(be,{wrap:"wrap",color:ke.AccentYellow,children:t})})]})};var JR=Ve(Lt(),1);var afr=({text:t})=>{let e="\u2715 ",r=e.length;return(0,JR.jsxs)(Le,{flexDirection:"row",marginBottom:1,children:[(0,JR.jsx)(Le,{width:r,children:(0,JR.jsx)(be,{color:ke.AccentRed,children:e})}),(0,JR.jsx)(Le,{flexGrow:1,children:(0,JR.jsx)(be,{wrap:"wrap",color:ke.AccentRed,children:t})})]})};var dfr=Ve(lr(),1);var ofr=Ve(lr(),1);var ml=Ve(Lt(),1);var Y$n=1,W$n=5,lfr=3,z$n=2,sfr=1e6,ufr=({name:t,description:e,resultDisplay:r,status:n,availableTerminalHeight:i,terminalWidth:a,emphasis:s="medium",renderOutputAsMarkdown:o=!0})=>{let l=i?Math.max(i-Y$n-W$n,z$n+1):void 0;l&&(o=!1);let u=a-3;return typeof r=="string"&&r.length>sfr&&(r="..."+r.slice(-sfr)),(0,ml.jsxs)(Le,{paddingX:1,paddingY:0,flexDirection:"column",children:[(0,ml.jsxs)(Le,{minHeight:1,children:[(0,ml.jsx)(K$n,{status:n}),(0,ml.jsx)(J$n,{name:t,status:n,description:e,emphasis:s}),s==="high"&&(0,ml.jsx)(X$n,{})]}),r&&(0,ml.jsx)(Le,{paddingLeft:lfr,width:"100%",marginTop:1,children:(0,ml.jsxs)(Le,{flexDirection:"column",children:[typeof r=="string"&&o&&(0,ml.jsx)(Le,{flexDirection:"column",children:(0,ml.jsx)(RH,{text:r,isPending:!1,availableTerminalHeight:l,terminalWidth:u})}),typeof r=="string"&&!o&&(0,ml.jsx)(d3,{maxHeight:l,maxWidth:u,children:(0,ml.jsx)(Le,{children:(0,ml.jsx)(be,{wrap:"wrap",children:r})})}),typeof r!="string"&&(0,ml.jsx)(yH,{diffContent:r.fileDiff,filename:r.fileName,availableTerminalHeight:l,terminalWidth:u})]})})]})},K$n=({status:t})=>(0,ml.jsxs)(Le,{minWidth:lfr,children:[t==="Pending"&&(0,ml.jsx)(be,{color:ke.AccentGreen,children:"o"}),t==="Executing"&&(0,ml.jsx)(Y2e,{spinnerType:"toggle",nonRespondingDisplay:"\u22B7"}),t==="Success"&&(0,ml.jsx)(be,{color:ke.AccentGreen,children:"\u2714"}),t==="Confirming"&&(0,ml.jsx)(be,{color:ke.AccentYellow,children:"?"}),t==="Canceled"&&(0,ml.jsx)(be,{color:ke.AccentYellow,bold:!0,children:"-"}),t==="Error"&&(0,ml.jsx)(be,{color:ke.AccentRed,bold:!0,children:"x"})]}),J$n=({name:t,description:e,status:r,emphasis:n})=>{let i=ofr.default.useMemo(()=>{switch(n){case"high":return ke.Foreground;case"medium":return ke.Foreground;case"low":return ke.Gray;default:return n}},[n]);return(0,ml.jsx)(Le,{children:(0,ml.jsxs)(be,{wrap:"truncate-end",strikethrough:r==="Canceled",children:[(0,ml.jsx)(be,{color:i,bold:!0,children:t})," ",(0,ml.jsx)(be,{color:ke.Gray,children:e})]})})},X$n=()=>(0,ml.jsxs)(be,{color:ke.Foreground,wrap:"truncate",children:[" ","\u2190"]});Hn();var Xl=Ve(Lt(),1);var cfr=({confirmationDetails:t,config:e,isFocused:r=!0,availableTerminalHeight:n,terminalWidth:i})=>{let{onConfirm:a}=t,s=i-2,o=async f=>{if(t.type==="edit"){let E=e?.getIdeClient();if(e?.getIdeMode()){let y=f===Br.Cancel?"rejected":"accepted";await E?.resolveDiffFromCli(t.filePath,y)}}a(f)};ts(f=>{r&&(f.name==="escape"||f.ctrl&&f.name==="c")&&o(Br.Cancel)},{isActive:r});let l=f=>o(f),u=null,c,d=new Array;function h(){if(d.length===0)throw new Error("Options not provided for confirmation message");if(n===void 0)return;let f=2,E=1,y=1,g=1,C=d.length,D=f+E+y+g+C;return Math.max(n-D,1)}if(t.type==="edit"){if(t.isModifying)return(0,Xl.jsxs)(Le,{minWidth:"90%",borderStyle:"round",borderColor:ke.Gray,justifyContent:"space-around",padding:1,overflow:"hidden",children:[(0,Xl.jsx)(be,{children:De.t("app.toolConfirmation.modifyInProgress")}),(0,Xl.jsx)(be,{color:ke.AccentGreen,children:De.t("app.toolConfirmation.saveAndCloseExternalEditor")})]});c=De.t("app.toolConfirmation.applyThisChange"),d.push({label:De.t("app.toolConfirmation.yesAllowOnce"),value:Br.ProceedOnce},{label:De.t("app.toolConfirmation.yesAllowAlways"),value:Br.ProceedAlways}),e?.getIdeMode()?d.push({label:De.t("app.toolConfirmation.noEsc"),value:Br.Cancel}):(d.push({label:De.t("app.toolConfirmation.modifyWithExternalEditor"),value:Br.ModifyWithEditor}),d.push({label:De.t("app.toolConfirmation.noSuggestChanges"),value:Br.Cancel})),u=(0,Xl.jsx)(yH,{diffContent:t.fileDiff,filename:t.fileName,availableTerminalHeight:h(),terminalWidth:s})}else if(t.type==="exec"){let f=t;c=De.t("app.toolConfirmation.allowExecutionOf",{command:f.rootCommand}),d.push({label:De.t("app.toolConfirmation.yesAllowOnce"),value:Br.ProceedOnce},{label:De.t("app.toolConfirmation.yesAllowAlways"),value:Br.ProceedAlways},{label:De.t("app.toolConfirmation.noSuggestChanges"),value:Br.Cancel});let E=h();E!==void 0&&(E-=2),u=(0,Xl.jsx)(Le,{flexDirection:"column",children:(0,Xl.jsx)(Le,{paddingX:1,marginLeft:1,children:(0,Xl.jsx)(d3,{maxHeight:E,maxWidth:Math.max(s-4,1),children:(0,Xl.jsx)(Le,{children:(0,Xl.jsx)(be,{color:ke.AccentCyan,children:f.command})})})})})}else if(t.type==="info"){let f=t,E=f.urls&&!(f.urls.length===1&&f.urls[0]===f.prompt);c=De.t("app.toolConfirmation.doYouWantToProceed"),d.push({label:De.t("app.toolConfirmation.yesAllowOnce"),value:Br.ProceedOnce},{label:De.t("app.toolConfirmation.yesAllowAlways"),value:Br.ProceedAlways},{label:De.t("app.toolConfirmation.noSuggestChanges"),value:Br.Cancel}),u=(0,Xl.jsxs)(Le,{flexDirection:"column",paddingX:1,marginLeft:1,children:[(0,Xl.jsx)(be,{color:ke.AccentCyan,children:f.prompt}),E&&f.urls&&f.urls.length>0&&(0,Xl.jsxs)(Le,{flexDirection:"column",marginTop:1,children:[(0,Xl.jsxs)(be,{children:[De.t("app.toolConfirmation.urlsToFetch"),":"]}),f.urls.map(y=>(0,Xl.jsxs)(be,{children:[" - ",y]},y))]})]})}else{let f=t;u=(0,Xl.jsxs)(Le,{flexDirection:"column",paddingX:1,marginLeft:1,children:[(0,Xl.jsxs)(be,{color:ke.AccentCyan,children:["MCP Server: ",f.serverName]}),(0,Xl.jsxs)(be,{color:ke.AccentCyan,children:["Tool: ",f.toolName]})]}),c=De.t("app.toolConfirmation.allowExecutionOfMcpTool",{toolName:f.toolName,serverName:f.serverName}),d.push({label:De.t("app.toolConfirmation.yesAllowOnce"),value:Br.ProceedOnce},{label:De.t("app.toolConfirmation.yesAlwaysAllowToolFromServer",{toolName:f.toolName,serverName:f.serverName}),value:Br.ProceedAlwaysTool},{label:De.t("app.toolConfirmation.yesAlwaysAllowAllToolsFromServer",{serverName:f.serverName}),value:Br.ProceedAlwaysServer},{label:De.t("app.toolConfirmation.noSuggestChanges"),value:Br.Cancel})}return(0,Xl.jsxs)(Le,{flexDirection:"column",padding:1,width:s,children:[(0,Xl.jsx)(Le,{flexGrow:1,flexShrink:1,overflow:"hidden",marginBottom:1,children:u}),(0,Xl.jsx)(Le,{marginBottom:1,flexShrink:0,children:(0,Xl.jsx)(be,{wrap:"truncate",children:c})}),(0,Xl.jsx)(Le,{flexShrink:0,children:(0,Xl.jsx)(Kl,{items:d,onSelect:l,isFocused:r})})]})};var XR=Ve(Lt(),1);var pfr=({toolCalls:t,availableTerminalHeight:e,terminalWidth:r,config:n,isFocused:i=!0})=>{let a=!t.every(E=>E.status==="Success"),s=t.some(E=>E.name===TAe),o=a||s?ke.AccentYellow:ke.Gray,l=3,u=r-4,c=(0,dfr.useMemo)(()=>t.find(E=>E.status==="Confirming"),[t]),d=0;for(let E of t)E.resultDisplay!==void 0&&E.resultDisplay!==""&&d++;let h=t.length-d,f=e?Math.max(Math.floor((e-l-h)/Math.max(1,d)),1):void 0;return(0,XR.jsx)(Le,{flexDirection:"column",borderStyle:"round",width:"100%",marginLeft:1,borderDimColor:a,borderColor:o,children:t.map(E=>{let y=c?.callId===E.callId;return(0,XR.jsxs)(Le,{flexDirection:"column",minHeight:1,children:[(0,XR.jsx)(Le,{flexDirection:"row",alignItems:"center",children:(0,XR.jsx)(ufr,{callId:E.callId,name:E.name,description:E.description,resultDisplay:E.resultDisplay,status:E.status,confirmationDetails:E.confirmationDetails,availableTerminalHeight:f,terminalWidth:u,emphasis:y?"high":c?"low":"medium",renderOutputAsMarkdown:E.renderOutputAsMarkdown})}),E.status==="Confirming"&&y&&E.confirmationDetails&&(0,XR.jsx)(cfr,{confirmationDetails:E.confirmationDetails,config:n,isFocused:i,availableTerminalHeight:f,terminalWidth:u})]},E.callId)})})};var QYe=Ve(Lt(),1);var ffr=({text:t,isPending:e,availableTerminalHeight:r,terminalWidth:n})=>{let a="\u2726 ".length;return(0,QYe.jsx)(Le,{flexDirection:"column",paddingLeft:a,children:(0,QYe.jsx)(RH,{text:t,isPending:e,availableTerminalHeight:r,terminalWidth:n})})};var Mb=Ve(Lt(),1);var mfr=({compression:t})=>{let e=t.isPending?De.t("app.compression.compressing"):De.t("app.compression.compressed",{original:t.originalTokenCount??"unknown",new:t.newTokenCount??"unknown"});return(0,Mb.jsxs)(Le,{flexDirection:"row",children:[(0,Mb.jsx)(Le,{marginRight:1,children:t.isPending?(0,Mb.jsx)(pH,{type:"dots"}):(0,Mb.jsx)(be,{color:ke.AccentPurple,children:"\u2726"})}),(0,Mb.jsx)(Le,{children:(0,Mb.jsx)(be,{color:t.isPending?ke.AccentPurple:ke.AccentGreen,children:e})})]})};var ya=Ve(Lt(),1);var hfr=({cliVersion:t,osVersion:e,sandboxEnv:r,modelVersion:n,selectedAuthType:i,gcpProject:a})=>(0,ya.jsxs)(Le,{borderStyle:"round",borderColor:ke.Gray,flexDirection:"column",padding:1,marginY:1,width:"100%",children:[(0,ya.jsx)(Le,{marginBottom:1,children:(0,ya.jsx)(be,{bold:!0,color:ke.AccentPurple,children:De.t("app.about.title")})}),(0,ya.jsxs)(Le,{flexDirection:"row",children:[(0,ya.jsx)(Le,{width:"35%",children:(0,ya.jsx)(be,{bold:!0,color:ke.LightBlue,children:De.t("app.about.cliVersion")})}),(0,ya.jsx)(Le,{children:(0,ya.jsx)(be,{children:t})})]}),rH&&!["N/A"].includes(rH)&&(0,ya.jsxs)(Le,{flexDirection:"row",children:[(0,ya.jsx)(Le,{width:"35%",children:(0,ya.jsx)(be,{bold:!0,color:ke.LightBlue,children:De.t("app.about.gitCommit")})}),(0,ya.jsx)(Le,{children:(0,ya.jsx)(be,{children:rH})})]}),(0,ya.jsxs)(Le,{flexDirection:"row",children:[(0,ya.jsx)(Le,{width:"35%",children:(0,ya.jsx)(be,{bold:!0,color:ke.LightBlue,children:De.t("app.about.model")})}),(0,ya.jsx)(Le,{children:(0,ya.jsx)(be,{children:n})})]}),(0,ya.jsxs)(Le,{flexDirection:"row",children:[(0,ya.jsx)(Le,{width:"35%",children:(0,ya.jsx)(be,{bold:!0,color:ke.LightBlue,children:De.t("app.about.sandbox")})}),(0,ya.jsx)(Le,{children:(0,ya.jsx)(be,{children:r})})]}),(0,ya.jsxs)(Le,{flexDirection:"row",children:[(0,ya.jsx)(Le,{width:"35%",children:(0,ya.jsx)(be,{bold:!0,color:ke.LightBlue,children:De.t("app.about.os")})}),(0,ya.jsx)(Le,{children:(0,ya.jsx)(be,{children:e})})]}),(0,ya.jsxs)(Le,{flexDirection:"row",children:[(0,ya.jsx)(Le,{width:"35%",children:(0,ya.jsx)(be,{bold:!0,color:ke.LightBlue,children:De.t("app.about.authMethod")})}),(0,ya.jsx)(Le,{children:(0,ya.jsx)(be,{children:i.startsWith("oauth")?"OAuth":i})})]}),a&&(0,ya.jsxs)(Le,{flexDirection:"row",children:[(0,ya.jsx)(Le,{width:"35%",children:(0,ya.jsx)(be,{bold:!0,color:ke.LightBlue,children:De.t("app.about.gcpProject")})}),(0,ya.jsx)(Le,{children:(0,ya.jsx)(be,{children:a})})]})]});var Zge=95,e6e=85,t6e=75,r6e=45;var NH=(t,e,r={})=>t>=e.green?ke.AccentGreen:t>=e.yellow?ke.AccentYellow:r.defaultColor||ke.AccentRed;function Afr(t){return t.api.totalRequests===0?0:t.api.totalErrors/t.api.totalRequests*100}function gfr(t){return t.api.totalRequests===0?0:t.api.totalLatencyMs/t.api.totalRequests}function Efr(t){return t.tokens.prompt===0?0:t.tokens.cached/t.tokens.prompt*100}var yfr=t=>{let{models:e,tools:r}=t,n=Object.values(e).reduce((E,y)=>E+y.api.totalLatencyMs,0),i=r.totalDurationMs,a=n+i,s=a>0?n/a*100:0,o=a>0?i/a*100:0,l=Object.values(e).reduce((E,y)=>E+y.tokens.cached,0),u=Object.values(e).reduce((E,y)=>E+y.tokens.prompt,0),c=u>0?l/u*100:0,d=r.totalDecisions.accept+r.totalDecisions.reject+r.totalDecisions.modify,h=r.totalCalls>0?r.totalSuccess/r.totalCalls*100:0,f=d>0?r.totalDecisions.accept/d*100:0;return{totalApiTime:n,totalToolTime:i,agentActiveTime:a,apiTimePercent:s,toolTimePercent:o,cacheEfficiency:c,totalDecisions:d,successRate:h,agreementRate:f,totalCachedTokens:l,totalPromptTokens:u}};var nn=Ve(Lt(),1);var OH=({title:t,children:e})=>(0,nn.jsxs)(Le,{children:[(0,nn.jsx)(Le,{width:28,children:(0,nn.jsx)(be,{color:ke.LightBlue,children:t})}),e]}),vfr=({title:t,children:e})=>(0,nn.jsxs)(Le,{paddingLeft:2,children:[(0,nn.jsx)(Le,{width:26,children:(0,nn.jsxs)(be,{children:["\xBB ",t]})}),e]}),Cfr=({title:t,children:e})=>(0,nn.jsxs)(Le,{flexDirection:"column",width:"100%",marginBottom:1,children:[(0,nn.jsx)(be,{bold:!0,children:t}),e]}),Z$n=({models:t,totalCachedTokens:e,cacheEfficiency:r})=>(0,nn.jsxs)(Le,{flexDirection:"column",marginTop:1,children:[(0,nn.jsxs)(Le,{children:[(0,nn.jsx)(Le,{width:25,children:(0,nn.jsx)(be,{bold:!0,children:De.t("statsDisplay.modelUsage")})}),(0,nn.jsx)(Le,{width:8,justifyContent:"flex-end",children:(0,nn.jsx)(be,{bold:!0,children:De.t("statsDisplay.requests")})}),(0,nn.jsx)(Le,{width:18,justifyContent:"flex-end",children:(0,nn.jsx)(be,{bold:!0,children:De.t("statsDisplay.inputTokens")})}),(0,nn.jsx)(Le,{width:18,justifyContent:"flex-end",children:(0,nn.jsx)(be,{bold:!0,children:De.t("statsDisplay.outputTokens")})})]}),(0,nn.jsx)(Le,{borderStyle:"round",borderBottom:!0,borderTop:!1,borderLeft:!1,borderRight:!1,width:69}),Object.entries(t).map(([o,l])=>(0,nn.jsxs)(Le,{children:[(0,nn.jsx)(Le,{width:25,children:(0,nn.jsx)(be,{children:o.replace("-001","")})}),(0,nn.jsx)(Le,{width:8,justifyContent:"flex-end",children:(0,nn.jsx)(be,{children:l.api.totalRequests})}),(0,nn.jsx)(Le,{width:18,justifyContent:"flex-end",children:(0,nn.jsx)(be,{color:ke.AccentYellow,children:l.tokens.prompt.toLocaleString()})}),(0,nn.jsx)(Le,{width:18,justifyContent:"flex-end",children:(0,nn.jsx)(be,{color:ke.AccentYellow,children:l.tokens.candidates.toLocaleString()})})]},o)),r>0&&(0,nn.jsxs)(Le,{flexDirection:"column",marginTop:1,children:[(0,nn.jsxs)(be,{children:[(0,nn.jsx)(be,{color:ke.AccentGreen,children:De.t("statsDisplay.savingsHighlight")})," ",De.t("statsDisplay.savingsDetail",{tokens:e.toLocaleString(),percent:r.toFixed(1)})]}),(0,nn.jsx)(Le,{height:1}),(0,nn.jsxs)(be,{color:ke.Gray,children:["\xBB"," ",De.t("statsDisplay.tipFullStats",{command:"`/stats model`"})]})]})]}),n6e=({duration:t,title:e})=>{let{stats:r}=U6(),{metrics:n}=r,{models:i,tools:a}=n,s=yfr(n),o={green:Zge,yellow:e6e},l={green:t6e,yellow:r6e},u=NH(s.successRate,o),c=NH(s.agreementRate,l),d=()=>e?ke.GradientColors&&ke.GradientColors.length>0?(0,nn.jsx)(TR,{colors:ke.GradientColors,children:(0,nn.jsx)(be,{bold:!0,children:e})}):(0,nn.jsx)(be,{bold:!0,color:ke.AccentPurple,children:e}):(0,nn.jsx)(be,{bold:!0,color:ke.AccentPurple,children:De.t("statsDisplay.sessionStats")});return(0,nn.jsxs)(Le,{borderStyle:"round",borderColor:ke.Gray,flexDirection:"column",paddingY:1,paddingX:2,children:[d(),(0,nn.jsx)(Le,{height:1}),(0,nn.jsxs)(Cfr,{title:De.t("statsDisplay.interactionSummary"),children:[(0,nn.jsx)(OH,{title:De.t("statsDisplay.sessionId"),children:(0,nn.jsx)(be,{children:r.sessionId})}),(0,nn.jsx)(OH,{title:De.t("statsDisplay.toolCalls"),children:(0,nn.jsxs)(be,{children:[a.totalCalls," ("," ",(0,nn.jsxs)(be,{color:ke.AccentGreen,children:["\u2714 ",a.totalSuccess]})," ",(0,nn.jsxs)(be,{color:ke.AccentRed,children:["\u2716 ",a.totalFail]})," )"]})}),(0,nn.jsx)(OH,{title:De.t("statsDisplay.successRate"),children:(0,nn.jsxs)(be,{color:u,children:[s.successRate.toFixed(1),"%"]})}),s.totalDecisions>0&&(0,nn.jsx)(OH,{title:De.t("statsDisplay.userAgreement"),children:(0,nn.jsxs)(be,{color:c,children:[s.agreementRate.toFixed(1),"%"," ",(0,nn.jsx)(be,{color:ke.Gray,children:De.t("statsDisplay.userAgreementReviewed",{count:s.totalDecisions})})]})})]}),(0,nn.jsxs)(Cfr,{title:De.t("statsDisplay.performance"),children:[(0,nn.jsx)(OH,{title:De.t("statsDisplay.wallTime"),children:(0,nn.jsx)(be,{children:t})}),(0,nn.jsx)(OH,{title:De.t("statsDisplay.agentActive"),children:(0,nn.jsx)(be,{children:Jh(s.agentActiveTime)})}),(0,nn.jsx)(vfr,{title:De.t("statsDisplay.apiTime"),children:(0,nn.jsxs)(be,{children:[Jh(s.totalApiTime)," ",(0,nn.jsxs)(be,{color:ke.Gray,children:["(",s.apiTimePercent.toFixed(1),"%)"]})]})}),(0,nn.jsx)(vfr,{title:De.t("statsDisplay.toolTime"),children:(0,nn.jsxs)(be,{children:[Jh(s.totalToolTime)," ",(0,nn.jsxs)(be,{color:ke.Gray,children:["(",s.toolTimePercent.toFixed(1),"%)"]})]})})]}),Object.keys(i).length>0&&(0,nn.jsx)(Z$n,{models:i,totalCachedTokens:s.totalCachedTokens,cacheEfficiency:s.cacheEfficiency})]})};var Ps=Ve(Lt(),1);var _fr=28,Dfr=22,y3=({title:t,values:e,isSubtle:r=!1,isSection:n=!1})=>(0,Ps.jsxs)(Le,{children:[(0,Ps.jsx)(Le,{width:_fr,children:(0,Ps.jsx)(be,{bold:n,color:n?void 0:ke.LightBlue,children:r?` \u21B3 ${t}`:t})}),e.map((i,a)=>(0,Ps.jsx)(Le,{width:Dfr,children:(0,Ps.jsx)(be,{children:i})},a))]}),Sfr=()=>{let{stats:t}=U6(),{models:e}=t.metrics,r=Object.entries(e).filter(([,l])=>l.api.totalRequests>0);if(r.length===0)return(0,Ps.jsx)(Le,{borderStyle:"round",borderColor:ke.Gray,paddingY:1,paddingX:2,children:(0,Ps.jsx)(be,{children:De.t("app.stats.noApiCalls")})});let n=r.map(([l])=>l),i=l=>r.map(([,u])=>l(u)),a=r.some(([,l])=>l.tokens.thoughts>0),s=r.some(([,l])=>l.tokens.tool>0),o=r.some(([,l])=>l.tokens.cached>0);return(0,Ps.jsxs)(Le,{borderStyle:"round",borderColor:ke.Gray,flexDirection:"column",paddingY:1,paddingX:2,children:[(0,Ps.jsx)(be,{bold:!0,color:ke.AccentPurple,children:De.t("app.stats.modelStats")}),(0,Ps.jsx)(Le,{height:1}),(0,Ps.jsxs)(Le,{children:[(0,Ps.jsx)(Le,{width:_fr,children:(0,Ps.jsx)(be,{bold:!0,children:De.t("app.stats.metric")})}),n.map(l=>(0,Ps.jsx)(Le,{width:Dfr,children:(0,Ps.jsx)(be,{bold:!0,children:l})},l))]}),(0,Ps.jsx)(Le,{borderStyle:"single",borderBottom:!0,borderTop:!1,borderLeft:!1,borderRight:!1}),(0,Ps.jsx)(y3,{title:De.t("app.stats.api"),values:[],isSection:!0}),(0,Ps.jsx)(y3,{title:De.t("app.stats.requests"),values:i(l=>l.api.totalRequests.toLocaleString())}),(0,Ps.jsx)(y3,{title:De.t("app.stats.errors"),values:i(l=>{let u=Afr(l);return(0,Ps.jsxs)(be,{color:l.api.totalErrors>0?ke.AccentRed:ke.Foreground,children:[l.api.totalErrors.toLocaleString()," (",u.toFixed(1),"%)"]})})}),(0,Ps.jsx)(y3,{title:De.t("app.stats.avgLatency"),values:i(l=>{let u=gfr(l);return Jh(u)})}),(0,Ps.jsx)(Le,{height:1}),(0,Ps.jsx)(y3,{title:De.t("app.stats.tokens"),values:[],isSection:!0}),(0,Ps.jsx)(y3,{title:De.t("app.stats.total"),values:i(l=>(0,Ps.jsx)(be,{color:ke.AccentYellow,children:l.tokens.total.toLocaleString()}))}),(0,Ps.jsx)(y3,{title:De.t("app.stats.prompt"),isSubtle:!0,values:i(l=>l.tokens.prompt.toLocaleString())}),o&&(0,Ps.jsx)(y3,{title:De.t("app.stats.cached"),isSubtle:!0,values:i(l=>{let u=Efr(l);return(0,Ps.jsxs)(be,{color:ke.AccentGreen,children:[l.tokens.cached.toLocaleString()," (",u.toFixed(1),"%)"]})})}),a&&(0,Ps.jsx)(y3,{title:De.t("app.stats.thoughts"),isSubtle:!0,values:i(l=>l.tokens.thoughts.toLocaleString())}),s&&(0,Ps.jsx)(y3,{title:De.t("app.stats.tool"),isSubtle:!0,values:i(l=>l.tokens.tool.toLocaleString())}),(0,Ps.jsx)(y3,{title:De.t("app.stats.output"),isSubtle:!0,values:i(l=>l.tokens.candidates.toLocaleString())})]})};var Gn=Ve(Lt(),1);var ZR=25,eN=8,tN=15,rN=15,ejn=({name:t,stats:e})=>{let r=e.count>0?e.success/e.count*100:0,n=e.count>0?e.durationMs/e.count:0,i=NH(r,{green:Zge,yellow:e6e});return(0,Gn.jsxs)(Le,{children:[(0,Gn.jsx)(Le,{width:ZR,children:(0,Gn.jsx)(be,{color:ke.LightBlue,children:t})}),(0,Gn.jsx)(Le,{width:eN,justifyContent:"flex-end",children:(0,Gn.jsx)(be,{children:e.count})}),(0,Gn.jsx)(Le,{width:tN,justifyContent:"flex-end",children:(0,Gn.jsxs)(be,{color:i,children:[r.toFixed(1),"%"]})}),(0,Gn.jsx)(Le,{width:rN,justifyContent:"flex-end",children:(0,Gn.jsx)(be,{children:Jh(n)})})]})},bfr=()=>{let{stats:t}=U6(),{tools:e}=t.metrics,r=Object.entries(e.byName).filter(([,o])=>o.count>0);if(r.length===0)return(0,Gn.jsx)(Le,{borderStyle:"round",borderColor:ke.Gray,paddingY:1,paddingX:2,children:(0,Gn.jsx)(be,{children:De.t("app.stats.noToolCalls")})});let n=Object.values(e.byName).reduce((o,l)=>(o.accept+=l.decisions.accept,o.reject+=l.decisions.reject,o.modify+=l.decisions.modify,o),{accept:0,reject:0,modify:0}),i=n.accept+n.reject+n.modify,a=i>0?n.accept/i*100:0,s=NH(a,{green:t6e,yellow:r6e});return(0,Gn.jsxs)(Le,{borderStyle:"round",borderColor:ke.Gray,flexDirection:"column",paddingY:1,paddingX:2,width:70,children:[(0,Gn.jsx)(be,{bold:!0,color:ke.AccentPurple,children:De.t("app.stats.toolStats")}),(0,Gn.jsx)(Le,{height:1}),(0,Gn.jsxs)(Le,{children:[(0,Gn.jsx)(Le,{width:ZR,children:(0,Gn.jsx)(be,{bold:!0,children:De.t("app.stats.toolName")})}),(0,Gn.jsx)(Le,{width:eN,justifyContent:"flex-end",children:(0,Gn.jsx)(be,{bold:!0,children:De.t("app.stats.calls")})}),(0,Gn.jsx)(Le,{width:tN,justifyContent:"flex-end",children:(0,Gn.jsx)(be,{bold:!0,children:De.t("app.stats.successRate")})}),(0,Gn.jsx)(Le,{width:rN,justifyContent:"flex-end",children:(0,Gn.jsx)(be,{bold:!0,children:De.t("app.stats.avgDuration")})})]}),(0,Gn.jsx)(Le,{borderStyle:"single",borderBottom:!0,borderTop:!1,borderLeft:!1,borderRight:!1,width:"100%"}),r.map(([o,l])=>(0,Gn.jsx)(ejn,{name:o,stats:l},o)),(0,Gn.jsx)(Le,{height:1}),(0,Gn.jsx)(be,{bold:!0,children:De.t("app.stats.userDecisionSummary")}),(0,Gn.jsxs)(Le,{children:[(0,Gn.jsx)(Le,{width:ZR+eN+tN,children:(0,Gn.jsxs)(be,{color:ke.LightBlue,children:[De.t("app.stats.totalReviewed"),":"]})}),(0,Gn.jsx)(Le,{width:rN,justifyContent:"flex-end",children:(0,Gn.jsx)(be,{children:i})})]}),(0,Gn.jsxs)(Le,{children:[(0,Gn.jsx)(Le,{width:ZR+eN+tN,children:(0,Gn.jsxs)(be,{children:[" \xBB ",De.t("app.stats.accepted"),":"]})}),(0,Gn.jsx)(Le,{width:rN,justifyContent:"flex-end",children:(0,Gn.jsx)(be,{color:ke.AccentGreen,children:n.accept})})]}),(0,Gn.jsxs)(Le,{children:[(0,Gn.jsx)(Le,{width:ZR+eN+tN,children:(0,Gn.jsxs)(be,{children:[" \xBB ",De.t("app.stats.rejected"),":"]})}),(0,Gn.jsx)(Le,{width:rN,justifyContent:"flex-end",children:(0,Gn.jsx)(be,{color:ke.AccentRed,children:n.reject})})]}),(0,Gn.jsxs)(Le,{children:[(0,Gn.jsx)(Le,{width:ZR+eN+tN,children:(0,Gn.jsxs)(be,{children:[" \xBB ",De.t("app.stats.modified"),":"]})}),(0,Gn.jsx)(Le,{width:rN,justifyContent:"flex-end",children:(0,Gn.jsx)(be,{color:ke.AccentYellow,children:n.modify})})]}),(0,Gn.jsx)(Le,{borderStyle:"single",borderBottom:!0,borderTop:!1,borderLeft:!1,borderRight:!1,width:"100%"}),(0,Gn.jsxs)(Le,{children:[(0,Gn.jsx)(Le,{width:ZR+eN+tN,children:(0,Gn.jsxs)(be,{children:[" ",De.t("app.stats.overallAgreementRate"),":"]})}),(0,Gn.jsx)(Le,{width:rN,justifyContent:"flex-end",children:(0,Gn.jsx)(be,{bold:!0,color:i>0?s:void 0,children:i>0?`${a.toFixed(1)}%`:"--"})})]})]})};var Ifr=Ve(Lt(),1);var wfr=({duration:t})=>(0,Ifr.jsx)(n6e,{title:De.t("sessionSummary.poweringDown"),duration:t});var ca=Ve(Lt(),1);var Tfr=({commands:t})=>(0,ca.jsxs)(Le,{flexDirection:"column",marginBottom:1,borderColor:ke.Gray,borderStyle:"round",padding:1,children:[(0,ca.jsx)(be,{bold:!0,color:ke.Foreground,children:De.t("help.basics")}),(0,ca.jsxs)(be,{color:ke.Foreground,children:[(0,ca.jsx)(be,{bold:!0,color:ke.AccentPurple,children:De.t("help.addContext")}),": ",De.t("help.addContextDescription",{at:"@",example:"@src/myFile.ts"})]}),(0,ca.jsxs)(be,{color:ke.Foreground,children:[(0,ca.jsx)(be,{bold:!0,color:ke.AccentPurple,children:De.t("help.shellMode")}),": ",De.t("help.shellModeDescription",{exclamation:"!",example:"!npm run start",naturalLanguage:De.t("help.shellModeNaturalLanguageExample")})]}),(0,ca.jsx)(Le,{height:1}),(0,ca.jsx)(be,{bold:!0,color:ke.Foreground,children:De.t("help.commands")}),t.filter(e=>e.description).map(e=>(0,ca.jsxs)(Le,{flexDirection:"column",children:[(0,ca.jsxs)(be,{color:ke.Foreground,children:[(0,ca.jsxs)(be,{bold:!0,color:ke.AccentPurple,children:[" ","/",e.name]}),e.description&&" - "+(typeof e.description=="function"?e.description():e.description)]}),e.subCommands&&e.subCommands.map(r=>(0,ca.jsxs)(be,{color:ke.Foreground,children:[(0,ca.jsxs)(be,{bold:!0,color:ke.AccentPurple,children:[" ",r.name]}),r.description&&" - "+(typeof r.description=="function"?r.description():r.description)]},r.name))]},e.name)),(0,ca.jsxs)(be,{color:ke.Foreground,children:[(0,ca.jsxs)(be,{bold:!0,color:ke.AccentPurple,children:[" ","!"," "]}),"- ",De.t("help.shellCommand")]}),(0,ca.jsx)(Le,{height:1}),(0,ca.jsx)(be,{bold:!0,color:ke.Foreground,children:De.t("help.shortcuts")}),(0,ca.jsxs)(be,{color:ke.Foreground,children:[(0,ca.jsx)(be,{bold:!0,color:ke.AccentPurple,children:"Alt+Left/Right"})," ","- ",De.t("help.jumpWords")]}),(0,ca.jsxs)(be,{color:ke.Foreground,children:[(0,ca.jsx)(be,{bold:!0,color:ke.AccentPurple,children:"Ctrl+C"})," ","- ",De.t("help.quitApp")]}),(0,ca.jsxs)(be,{color:ke.Foreground,children:[(0,ca.jsx)(be,{bold:!0,color:ke.AccentPurple,children:process.platform==="win32"?"Ctrl+Enter":"Ctrl+J"})," ",process.platform==="linux"?"- "+De.t("help.newLineLinux"):"- "+De.t("help.newLine")]}),(0,ca.jsxs)(be,{color:ke.Foreground,children:[(0,ca.jsx)(be,{bold:!0,color:ke.AccentPurple,children:"Ctrl+L"})," ","- ",De.t("help.clearScreen")]}),(0,ca.jsxs)(be,{color:ke.Foreground,children:[(0,ca.jsx)(be,{bold:!0,color:ke.AccentPurple,children:process.platform==="darwin"?"Ctrl+X / Meta+Enter":"Ctrl+X"})," ","- ",De.t("help.openEditor")]}),(0,ca.jsxs)(be,{color:ke.Foreground,children:[(0,ca.jsx)(be,{bold:!0,color:ke.AccentPurple,children:"Ctrl+Y"})," ","- ",De.t("help.toggleYolo")]}),(0,ca.jsxs)(be,{color:ke.Foreground,children:[(0,ca.jsx)(be,{bold:!0,color:ke.AccentPurple,children:"Enter"})," ","- ",De.t("help.sendMessage")]}),(0,ca.jsxs)(be,{color:ke.Foreground,children:[(0,ca.jsx)(be,{bold:!0,color:ke.AccentPurple,children:"Esc"})," ","- ",De.t("help.cancelOperation")]}),(0,ca.jsxs)(be,{color:ke.Foreground,children:[(0,ca.jsx)(be,{bold:!0,color:ke.AccentPurple,children:"Shift+Tab"})," ","- ",De.t("help.autoAcceptEdits")]}),(0,ca.jsxs)(be,{color:ke.Foreground,children:[(0,ca.jsx)(be,{bold:!0,color:ke.AccentPurple,children:"Up/Down"})," ","- ",De.t("help.cycleHistory")]}),(0,ca.jsx)(Le,{height:1}),(0,ca.jsx)(be,{color:ke.Foreground,children:De.t("help.fullList",{file:"docs/keyboard-shortcuts.md"})})]});var Cf=Ve(Lt(),1);var i6e=({item:t,availableTerminalHeight:e,terminalWidth:r,isPending:n,config:i,commands:a,isFocused:s=!0})=>(0,Cf.jsxs)(Le,{flexDirection:"column",children:[t.type==="user"&&(0,Cf.jsx)(Y1r,{text:t.text}),t.type==="user_shell"&&(0,Cf.jsx)(W1r,{text:t.text}),t.type==="gemini"&&(0,Cf.jsx)(nfr,{text:t.text,isPending:n,availableTerminalHeight:e,terminalWidth:r}),t.type==="gemini_content"&&(0,Cf.jsx)(ffr,{text:t.text,isPending:n,availableTerminalHeight:e,terminalWidth:r}),t.type==="info"&&(0,Cf.jsx)(ifr,{text:t.text}),t.type==="error"&&(0,Cf.jsx)(afr,{text:t.text}),t.type==="about"&&(0,Cf.jsx)(hfr,{cliVersion:t.cliVersion,osVersion:t.osVersion,sandboxEnv:t.sandboxEnv,modelVersion:t.modelVersion,selectedAuthType:t.selectedAuthType,gcpProject:t.gcpProject}),t.type==="help"&&a&&(0,Cf.jsx)(Tfr,{commands:a}),t.type==="stats"&&(0,Cf.jsx)(n6e,{duration:t.duration}),t.type==="model_stats"&&(0,Cf.jsx)(Sfr,{}),t.type==="tool_stats"&&(0,Cf.jsx)(bfr,{}),t.type==="quit"&&(0,Cf.jsx)(wfr,{duration:t.duration}),t.type==="tool_group"&&(0,Cf.jsx)(pfr,{toolCalls:t.tools,groupId:t.id,availableTerminalHeight:e,terminalWidth:r,config:i,isFocused:s}),t.type==="compression"&&(0,Cf.jsx)(mfr,{compression:t.compression})]},t.id);var Lb=Ve(Lt(),1);var xfr=({geminiMdFileCount:t,contextFileNames:e,mcpServers:r,blockedMcpServers:n,showToolDescriptions:i,ideContext:a})=>{let{columns:s}=gg(),o=Sb(s),l=Object.keys(r||{}).length,u=n?.length||0,c=a?.workspaceState?.openFiles?.length??0;if(t===0&&l===0&&u===0&&c===0)return(0,Lb.jsx)(be,{children:" "});let d=(()=>{if(c===0)return"";let y=c===1?De.t("contextSummary.openFile"):De.t("contextSummary.openFiles");return`${c} ${y} (${De.t("contextSummary.viewOpenFiles")})`})(),h=(()=>{if(t===0)return"";let g=new Set(e).size<2?e[0]:"context",C=t===1?De.t("contextSummary.contextFile"):De.t("contextSummary.contextFiles");return`${t} ${g} ${C}`})(),f=(()=>{if(l===0&&u===0)return"";let y=[];if(l>0){let C=l===1?De.t("contextSummary.mcpServer"):De.t("contextSummary.mcpServers");y.push(`${l} ${C}`)}if(u>0){let C=`${u} ${De.t("contextSummary.blockedMcpServer")}`;if(l===0){let D=u===1?De.t("contextSummary.mcpServer"):De.t("contextSummary.mcpServers");C+=` ${D}`}y.push(C)}let g=y.join(", ");return r&&Object.keys(r).length>0&&(i?g+=` (${De.t("contextSummary.toggleMcp")})`:g+=` (${De.t("contextSummary.viewMcp")})`),g})(),E=[d,h,f].filter(Boolean);return o?(0,Lb.jsxs)(Le,{flexDirection:"column",children:[(0,Lb.jsx)(be,{color:ke.Gray,children:De.t("contextSummary.using")}),E.map((y,g)=>(0,Lb.jsxs)(be,{color:ke.Gray,children:[" ","- ",y]},g))]}):(0,Lb.jsx)(Le,{children:(0,Lb.jsxs)(be,{color:ke.Gray,children:[De.t("contextSummary.using")," ",E.join(" | ")]})})};var P5=Ve(lr(),1);function Bfr(){let[t,e]=(0,P5.useState)([]),r=(0,P5.useRef)(0),n=(0,P5.useCallback)(l=>(r.current+=1,l+r.current),[]),i=(0,P5.useCallback)(l=>{e(l)},[]),a=(0,P5.useCallback)((l,u)=>{let c=n(u),d={...l,id:c};return e(h=>{if(h.length>0){let f=h[h.length-1];if(f.type==="user"&&d.type==="user"&&f.text===d.text)return h}return[...h,d]}),c},[n]),s=(0,P5.useCallback)((l,u)=>{e(c=>c.map(d=>{if(d.id===l){let h=typeof u=="function"?u(d):u;return{...d,...h}}return d}))},[]),o=(0,P5.useCallback)(()=>{e([]),r.current=0},[]);return{history:t,addItem:a,updateItem:s,clearItems:o,loadHistory:i}}Hn();import VYe from"node:process";Hn();var Pb=Ve(Lt(),1);function Rfr({ide:t,onComplete:e}){ts(o=>{o.name==="escape"&&e({userSelection:"no",isExtensionPreInstalled:!1})},{isActive:!0});let{displayName:r}=pv(t),i=!!(process.env.KODA_CLI_IDE_SERVER_PORT??process.env.GEMINI_CLI_IDE_SERVER_PORT)&&!!process.env.GEMINI_CLI_IDE_WORKSPACE_PATH&&!!process.env.KODA_CLI_IDE_WORKSPACE_PATH,a=[{label:"Yes",value:{userSelection:"yes",isExtensionPreInstalled:i}},{label:"No (esc)",value:{userSelection:"no",isExtensionPreInstalled:i}},{label:"No, don't ask again",value:{userSelection:"dismiss",isExtensionPreInstalled:i}}],s=i?`If you select Yes, the CLI will have access to your open files and display diffs directly in ${r??"your editor"}.`:`If you select Yes, we'll install an extension that allows the CLI to access your open files and display diffs directly in ${r??"your editor"}.`;return(0,Pb.jsxs)(Le,{flexDirection:"column",borderStyle:"round",borderColor:"yellow",padding:1,width:"100%",marginLeft:1,children:[(0,Pb.jsxs)(Le,{marginBottom:1,flexDirection:"column",children:[(0,Pb.jsxs)(be,{children:[(0,Pb.jsx)(be,{color:"yellow",children:"> "}),`Do you want to connect ${r??"your"} editor to Koda CLI?`]}),(0,Pb.jsx)(be,{dimColor:!0,children:s})]}),(0,Pb.jsx)(Kl,{items:a,onSelect:e})]})}var FH=Ve(lr(),1);import{exec as Nfr}from"node:child_process";import Ofr from"node:fs";import tjn from"node:fs/promises";import rjn from"path";function Ffr(t){let[e,r]=(0,FH.useState)(void 0),n=(0,FH.useCallback)(()=>Nfr("git rev-parse --abbrev-ref HEAD",{cwd:t},(i,a,s)=>{if(i){r(void 0);return}let o=a.toString().trim();o&&o!=="HEAD"?r(o):Nfr("git rev-parse --short HEAD",{cwd:t},(l,u,c)=>{if(l){r(void 0);return}r(u.toString().trim())})}),[t,r]);return(0,FH.useEffect)(()=>{n();let i=rjn.join(t,".git","logs","HEAD"),a;return(async()=>{try{await tjn.access(i,Ofr.constants.F_OK),a=Ofr.watch(i,o=>{(o==="change"||o==="rename")&&n()})}catch{}})(),()=>{a?.close()}},[t,n]),e}var Mfr=Ve(lr(),1);var njn="\x1B[?2004h",ijn="\x1B[?2004l",Lfr=()=>{let t=()=>{process.stdout.write(ijn)};(0,Mfr.useEffect)(()=>(process.stdout.write(njn),process.on("exit",t),process.on("SIGINT",t),process.on("SIGTERM",t),()=>{t(),process.removeListener("exit",t),process.removeListener("SIGINT",t),process.removeListener("SIGTERM",t)}),[])};var v3=Ve(lr(),1);var kfr=Ve(Lt(),1);var Pfr=(0,v3.createContext)(void 0),Qfr=({children:t,settings:e})=>{let r=e.merged.vimMode??!1,[n,i]=(0,v3.useState)(r),[a,s]=(0,v3.useState)(r?"NORMAL":"INSERT");(0,v3.useEffect)(()=>{let u=e.merged.vimMode??!1;i(u),u&&s("NORMAL")},[e.merged.vimMode]);let o=(0,v3.useCallback)(async()=>{let u=!n;return i(u),u&&s("NORMAL"),await e.setValue("User","vimMode",u),u},[n,e]),l={vimEnabled:n,vimMode:a,toggleVimEnabled:o,setVimMode:s};return(0,kfr.jsx)(Pfr.Provider,{value:l,children:t})},MH=()=>{let t=(0,v3.useContext)(Pfr);if(t===void 0)throw new Error("useVimMode must be used within a VimModeProvider");return t};var T2=Ve(lr(),1);var ajn=10,sjn=1,ojn=/^[1-9]$/,Oa={DELETE_WORD_FORWARD:"dw",DELETE_WORD_BACKWARD:"db",DELETE_WORD_END:"de",CHANGE_WORD_FORWARD:"cw",CHANGE_WORD_BACKWARD:"cb",CHANGE_WORD_END:"ce",DELETE_CHAR:"x",DELETE_LINE:"dd",CHANGE_LINE:"cc",DELETE_TO_EOL:"D",CHANGE_TO_EOL:"C",CHANGE_MOVEMENT:{LEFT:"ch",DOWN:"cj",UP:"ck",RIGHT:"cl"}},Ufr=()=>({count:0,pendingOperator:null}),ljn={mode:"NORMAL",count:0,pendingOperator:null,lastCommand:null},ujn=(t,e)=>{switch(e.type){case"SET_MODE":return{...t,mode:e.mode};case"SET_COUNT":return{...t,count:e.count};case"INCREMENT_COUNT":return{...t,count:t.count*ajn+e.digit};case"CLEAR_COUNT":return{...t,count:0};case"SET_PENDING_OPERATOR":return{...t,pendingOperator:e.operator};case"SET_LAST_COMMAND":return{...t,lastCommand:e.command};case"CLEAR_PENDING_STATES":return{...t,...Ufr()};case"ESCAPE_TO_NORMAL":return{...t,...Ufr()};default:return t}};function Hfr(t,e){let{vimEnabled:r,vimMode:n,setVimMode:i}=MH(),[a,s]=(0,T2.useReducer)(ujn,ljn);(0,T2.useEffect)(()=>{s({type:"SET_MODE",mode:n})},[n]);let o=(0,T2.useCallback)(y=>{i(y),s({type:"SET_MODE",mode:y})},[i]),l=(0,T2.useCallback)(()=>a.count||sjn,[a.count]),u=(0,T2.useCallback)((y,g)=>{switch(y){case Oa.DELETE_WORD_FORWARD:{t.vimDeleteWordForward(g);break}case Oa.DELETE_WORD_BACKWARD:{t.vimDeleteWordBackward(g);break}case Oa.DELETE_WORD_END:{t.vimDeleteWordEnd(g);break}case Oa.CHANGE_WORD_FORWARD:{t.vimChangeWordForward(g),o("INSERT");break}case Oa.CHANGE_WORD_BACKWARD:{t.vimChangeWordBackward(g),o("INSERT");break}case Oa.CHANGE_WORD_END:{t.vimChangeWordEnd(g),o("INSERT");break}case Oa.DELETE_CHAR:{t.vimDeleteChar(g);break}case Oa.DELETE_LINE:{t.vimDeleteLine(g);break}case Oa.CHANGE_LINE:{t.vimChangeLine(g),o("INSERT");break}case Oa.CHANGE_MOVEMENT.LEFT:case Oa.CHANGE_MOVEMENT.DOWN:case Oa.CHANGE_MOVEMENT.UP:case Oa.CHANGE_MOVEMENT.RIGHT:{let D={[Oa.CHANGE_MOVEMENT.LEFT]:"h",[Oa.CHANGE_MOVEMENT.DOWN]:"j",[Oa.CHANGE_MOVEMENT.UP]:"k",[Oa.CHANGE_MOVEMENT.RIGHT]:"l"}[y];D&&(t.vimChangeMovement(D,g),o("INSERT"));break}case Oa.DELETE_TO_EOL:{t.vimDeleteToEndOfLine();break}case Oa.CHANGE_TO_EOL:{t.vimChangeToEndOfLine(),o("INSERT");break}default:return!1}return!0},[t,o]),c=(0,T2.useCallback)(y=>{if(y.name==="escape")return t.vimEscapeInsertMode(),s({type:"ESCAPE_TO_NORMAL"}),o("NORMAL"),!0;if(y.name==="tab"||y.name==="return"&&!y.ctrl||y.name==="up"||y.name==="down"||y.ctrl&&y.name==="r"||y.ctrl&&y.name==="v"||y.sequence==="!"&&t.text.length===0)return!1;if(y.name==="return"&&!y.ctrl&&!y.meta){if(t.text.trim()&&e){let g=t.text;return t.setText(""),e(g),!0}return!0}return t.handleInput(y),!0},[t,s,o,e]),d=(0,T2.useCallback)(y=>({name:y.name||"",sequence:y.sequence||"",ctrl:y.ctrl||!1,meta:y.meta||!1,shift:y.shift||!1,paste:y.paste||!1}),[]),h=(0,T2.useCallback)(y=>{let g=l();s({type:"CLEAR_COUNT"}),t.vimChangeMovement(y,g),o("INSERT");let C={h:Oa.CHANGE_MOVEMENT.LEFT,j:Oa.CHANGE_MOVEMENT.DOWN,k:Oa.CHANGE_MOVEMENT.UP,l:Oa.CHANGE_MOVEMENT.RIGHT};return s({type:"SET_LAST_COMMAND",command:{type:C[y],count:g}}),s({type:"SET_PENDING_OPERATOR",operator:null}),!0},[l,s,t,o]),f=(0,T2.useCallback)((y,g)=>{let C=l(),S={d:{w:Oa.DELETE_WORD_FORWARD,b:Oa.DELETE_WORD_BACKWARD,e:Oa.DELETE_WORD_END},c:{w:Oa.CHANGE_WORD_FORWARD,b:Oa.CHANGE_WORD_BACKWARD,e:Oa.CHANGE_WORD_END}}[y][g];return u(S,C),s({type:"SET_LAST_COMMAND",command:{type:S,count:C}}),s({type:"CLEAR_COUNT"}),s({type:"SET_PENDING_OPERATOR",operator:null}),!0},[l,u,s]),E=(0,T2.useCallback)(y=>{if(!r)return!1;let g;try{g=d(y)}catch(C){return console.warn("Malformed key input in vim mode:",y,C),!1}if(a.mode==="INSERT")return c(g);if(a.mode==="NORMAL"){if(g.name==="escape")return a.pendingOperator?(s({type:"CLEAR_PENDING_STATES"}),!0):!1;if(ojn.test(g.sequence)||g.sequence==="0"&&a.count>0)return s({type:"INCREMENT_COUNT",digit:parseInt(g.sequence,10)}),!0;let C=l();switch(g.sequence){case"h":return a.pendingOperator==="c"?h("h"):(t.vimMoveLeft(C),s({type:"CLEAR_COUNT"}),!0);case"j":return a.pendingOperator==="c"?h("j"):(t.vimMoveDown(C),s({type:"CLEAR_COUNT"}),!0);case"k":return a.pendingOperator==="c"?h("k"):(t.vimMoveUp(C),s({type:"CLEAR_COUNT"}),!0);case"l":return a.pendingOperator==="c"?h("l"):(t.vimMoveRight(C),s({type:"CLEAR_COUNT"}),!0);case"w":return a.pendingOperator==="d"?f("d","w"):a.pendingOperator==="c"?f("c","w"):(t.vimMoveWordForward(C),s({type:"CLEAR_COUNT"}),!0);case"b":return a.pendingOperator==="d"?f("d","b"):a.pendingOperator==="c"?f("c","b"):(t.vimMoveWordBackward(C),s({type:"CLEAR_COUNT"}),!0);case"e":return a.pendingOperator==="d"?f("d","e"):a.pendingOperator==="c"?f("c","e"):(t.vimMoveWordEnd(C),s({type:"CLEAR_COUNT"}),!0);case"x":return t.vimDeleteChar(C),s({type:"SET_LAST_COMMAND",command:{type:Oa.DELETE_CHAR,count:C}}),s({type:"CLEAR_COUNT"}),!0;case"i":return t.vimInsertAtCursor(),o("INSERT"),s({type:"CLEAR_COUNT"}),!0;case"a":return t.vimAppendAtCursor(),o("INSERT"),s({type:"CLEAR_COUNT"}),!0;case"o":return t.vimOpenLineBelow(),o("INSERT"),s({type:"CLEAR_COUNT"}),!0;case"O":return t.vimOpenLineAbove(),o("INSERT"),s({type:"CLEAR_COUNT"}),!0;case"0":return t.vimMoveToLineStart(),s({type:"CLEAR_COUNT"}),!0;case"$":return t.vimMoveToLineEnd(),s({type:"CLEAR_COUNT"}),!0;case"^":return t.vimMoveToFirstNonWhitespace(),s({type:"CLEAR_COUNT"}),!0;case"g":return a.pendingOperator==="g"?(t.vimMoveToFirstLine(),s({type:"SET_PENDING_OPERATOR",operator:null})):s({type:"SET_PENDING_OPERATOR",operator:"g"}),s({type:"CLEAR_COUNT"}),!0;case"G":return a.count>0?t.vimMoveToLine(a.count):t.vimMoveToLastLine(),s({type:"CLEAR_COUNT"}),!0;case"I":return t.vimInsertAtLineStart(),o("INSERT"),s({type:"CLEAR_COUNT"}),!0;case"A":return t.vimAppendAtLineEnd(),o("INSERT"),s({type:"CLEAR_COUNT"}),!0;case"d":{if(a.pendingOperator==="d"){let D=l();u(Oa.DELETE_LINE,D),s({type:"SET_LAST_COMMAND",command:{type:Oa.DELETE_LINE,count:D}}),s({type:"CLEAR_COUNT"}),s({type:"SET_PENDING_OPERATOR",operator:null})}else s({type:"SET_PENDING_OPERATOR",operator:"d"});return!0}case"c":{if(a.pendingOperator==="c"){let D=l();u(Oa.CHANGE_LINE,D),s({type:"SET_LAST_COMMAND",command:{type:Oa.CHANGE_LINE,count:D}}),s({type:"CLEAR_COUNT"}),s({type:"SET_PENDING_OPERATOR",operator:null})}else s({type:"SET_PENDING_OPERATOR",operator:"c"});return!0}case"D":return u(Oa.DELETE_TO_EOL,1),s({type:"SET_LAST_COMMAND",command:{type:Oa.DELETE_TO_EOL,count:1}}),s({type:"CLEAR_COUNT"}),!0;case"C":return u(Oa.CHANGE_TO_EOL,1),s({type:"SET_LAST_COMMAND",command:{type:Oa.CHANGE_TO_EOL,count:1}}),s({type:"CLEAR_COUNT"}),!0;case".":{if(a.lastCommand){let D=a.lastCommand;u(D.type,D.count)}return s({type:"CLEAR_COUNT"}),!0}default:return g.name==="left"?a.pendingOperator==="c"?h("h"):(t.vimMoveLeft(C),s({type:"CLEAR_COUNT"}),!0):g.name==="down"?a.pendingOperator==="c"?h("j"):(t.vimMoveDown(C),s({type:"CLEAR_COUNT"}),!0):g.name==="up"?a.pendingOperator==="c"?h("k"):(t.vimMoveUp(C),s({type:"CLEAR_COUNT"}),!0):g.name==="right"?a.pendingOperator==="c"?h("l"):(t.vimMoveRight(C),s({type:"CLEAR_COUNT"}),!0):(s({type:"CLEAR_PENDING_STATES"}),!0)}}return!1},[r,d,c,a.mode,a.count,a.pendingOperator,a.lastCommand,s,l,h,f,t,u,o]);return{mode:a.mode,vimModeEnabled:r,handleInput:E}}import*as u6e from"fs";var kYe=Ve(Lt(),1);var Gfr=({message:t})=>(0,kYe.jsx)(Le,{borderStyle:"round",borderColor:ke.AccentYellow,paddingX:1,marginY:1,children:(0,kYe.jsx)(be,{color:ke.AccentYellow,children:t})});Hn();var UYe=Ve(Lt(),1);var a6e=({constrainHeight:t})=>{let e=cdr(),r=cH();return e===void 0||e.overflowingIds.size===0||!t||!(r==="idle"||r==="waiting_for_confirmation")?null:(0,UYe.jsx)(Le,{children:(0,UYe.jsx)(be,{color:ke.Gray,wrap:"truncate",children:"Press ctrl-s to show more lines"})})};Hn();var LH=Ve(lr(),1);Hn();var qfr=t=>{let[e,r]=(0,LH.useState)({isLoading:!0});(0,LH.useEffect)(()=>{(async()=>{r({isLoading:!0});try{let a=Vfr(t);if(await cjn(a)!==zh.FREE){r({isLoading:!1,isFreeTier:!1});return}let o=await djn(a);r({isLoading:!1,isFreeTier:!0,dataCollectionOptIn:o})}catch(a){r({isLoading:!1,error:a instanceof Error?a.message:String(a)})}})()},[t]);let n=(0,LH.useCallback)(async i=>{try{let a=Vfr(t),s=await pjn(a,i);r({isLoading:!1,isFreeTier:!0,dataCollectionOptIn:s})}catch(a){r({isLoading:!1,error:a instanceof Error?a.message:String(a)})}},[t]);return{privacyState:e,updateDataCollectionOptIn:n}};function Vfr(t){let e=t.getGeminiClient().getContentGenerator();if(e instanceof M7){if(!e.projectId)throw new Error("Oauth not being used")}else throw new Error("Oauth not being used");return e}async function cjn(t){let e=await t.loadCodeAssist({cloudaicompanionProject:t.projectId,metadata:{ideType:"IDE_UNSPECIFIED",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI",duetProject:t.projectId}});if(!e.currentTier)throw new Error("User does not have a current tier");return e.currentTier.id}async function djn(t){try{return(await t.getCodeAssistGlobalUserSetting()).freeTierDataCollectionOptin}catch(e){if(e&&typeof e=="object"&&"response"in e&&e.response?.status===404)return!0;throw e}}async function pjn(t,e){return(await t.setCodeAssistGlobalUserSetting({cloudaicompanionProject:t.projectId,freeTierDataCollectionOptin:e})).freeTierDataCollectionOptin}var Rm=Ve(Lt(),1);var $fr=({onExit:t})=>(ts(e=>{e.name==="escape"&&t()},{isActive:!0}),(0,Rm.jsxs)(Le,{flexDirection:"column",marginBottom:1,children:[(0,Rm.jsx)(be,{bold:!0,color:ke.AccentPurple,children:"Vertex AI Notice"}),(0,Rm.jsx)(TA,{}),(0,Rm.jsxs)(be,{children:["Service Specific Terms",(0,Rm.jsx)(be,{color:ke.AccentBlue,children:"[1]"})," are incorporated into the agreement under which Google has agreed to provide Google Cloud Platform",(0,Rm.jsx)(be,{color:ke.AccentGreen,children:"[2]"})," to Customer (the \u201CAgreement\u201D). If the Agreement authorizes the resale or supply of Google Cloud Platform under a Google Cloud partner or reseller program, then except for in the section entitled \u201CPartner-Specific Terms\u201D, all references to Customer in the Service Specific Terms mean Partner or Reseller (as applicable), and all references to Customer Data in the Service Specific Terms mean Partner Data. Capitalized terms used but not defined in the Service Specific Terms have the meaning given to them in the Agreement."]}),(0,Rm.jsx)(TA,{}),(0,Rm.jsxs)(be,{children:[(0,Rm.jsx)(be,{color:ke.AccentBlue,children:"[1]"})," ","https://cloud.google.com/terms/service-terms"]}),(0,Rm.jsxs)(be,{children:[(0,Rm.jsx)(be,{color:ke.AccentGreen,children:"[2]"})," ","https://cloud.google.com/terms/services"]}),(0,Rm.jsx)(TA,{}),(0,Rm.jsx)(be,{color:ke.Gray,children:"Press Esc to exit."})]}));var Zl=Ve(Lt(),1);var jfr=({config:t,onExit:e})=>{let{privacyState:r,updateDataCollectionOptIn:n}=qfr(t);if(ts(a=>{r.error&&a.name==="escape"&&e()},{isActive:!0}),r.isLoading)return(0,Zl.jsx)(be,{color:ke.Gray,children:"Loading..."});if(r.error)return(0,Zl.jsxs)(Le,{flexDirection:"column",marginY:1,children:[(0,Zl.jsxs)(be,{color:ke.AccentRed,children:["Error loading Opt-in settings: ",r.error]}),(0,Zl.jsx)(be,{color:ke.Gray,children:"Press Esc to exit."})]});if(r.isFreeTier===!1)return(0,Zl.jsx)($fr,{onExit:e});let i=[{label:"Yes",value:!0},{label:"No",value:!1}];return(0,Zl.jsxs)(Le,{flexDirection:"column",marginY:1,children:[(0,Zl.jsx)(be,{bold:!0,color:ke.AccentPurple,children:"Gemini Code Assist for Individuals Privacy Notice"}),(0,Zl.jsx)(TA,{}),(0,Zl.jsxs)(be,{children:["This notice and our Privacy Policy",(0,Zl.jsx)(be,{color:ke.AccentBlue,children:"[1]"})," describe how Gemini Code Assist handles your data. Please read them carefully."]}),(0,Zl.jsx)(TA,{}),(0,Zl.jsx)(be,{children:"When you use Gemini Code Assist for individuals with Gemini CLI, Google collects your prompts, related code, generated output, code edits, related feature usage information, and your feedback to provide, improve, and develop Google products and services and machine learning technologies."}),(0,Zl.jsx)(TA,{}),(0,Zl.jsx)(be,{children:"To help with quality and improve our products (such as generative machine-learning models), human reviewers may read, annotate, and process the data collected above. We take steps to protect your privacy as part of this process. This includes disconnecting the data from your Google Account before reviewers see or annotate it, and storing those disconnected copies for up to 18 months. Please don't submit confidential information or any data you wouldn't want a reviewer to see or Google to use to improve our products, services and machine-learning technologies."}),(0,Zl.jsx)(TA,{}),(0,Zl.jsxs)(Le,{flexDirection:"column",children:[(0,Zl.jsx)(be,{children:"Allow Google to use this data to develop and improve our products?"}),(0,Zl.jsx)(Kl,{items:i,initialIndex:r.dataCollectionOptIn?0:1,onSelect:a=>{n(a),r.error||e()}})]}),(0,Zl.jsx)(TA,{}),(0,Zl.jsxs)(be,{children:[(0,Zl.jsx)(be,{color:ke.AccentBlue,children:"[1]"})," ","https://policies.google.com/privacy"]}),(0,Zl.jsx)(TA,{}),(0,Zl.jsx)(be,{color:ke.Gray,children:"Press Enter to choose an option and exit."})]})};var s6e=Ve(Lt(),1);var fjn=({config:t,onExit:e})=>{switch(t.getContentGeneratorConfig()?.authType){case ln.LOGIN_WITH_GITHUB:return(0,s6e.jsx)(jfr,{config:t,onExit:e});case ln.WITHOUT_AUTH:default:return null}},Yfr=({onExit:t,config:e})=>(0,s6e.jsx)(Le,{borderStyle:"round",padding:1,flexDirection:"column",children:(0,s6e.jsx)(fjn,{config:e,onExit:t})});var kX=Ve(lr(),1);function Wfr(){let[t,e]=(0,kX.useState)(!1),r=(0,kX.useCallback)(()=>{e(!0)},[]),n=(0,kX.useCallback)(()=>{e(!1)},[]);return{isSettingsDialogOpen:t,openSettingsDialog:r,closeSettingsDialog:n}}var b0=Ve(lr(),1);var HYe=Ve(lr(),1);var Wd=Ve(Lt(),1);function zfr({settings:t,selectedScope:e,onSave:r,isActive:n=!1,onToggle:i}){let a=t.forScope(e).settings.language||"ru",[s,o]=(0,HYe.useState)(!1),[l,u]=(0,HYe.useState)(a||"ru");tV((y,g)=>{s?y==="1"?d("en"):y==="2"?d("ru"):g.escape&&o(!1):n&&(g.return||y===" ")&&c()});let c=()=>{i&&i(),o(!0)},d=y=>{u(y),t.setValue(e,"language",y),De.setLanguage(y),o(!1),r()},h=vH("language"),f=t.forScope(e).settings.language||"ru",E=f==="en"?"English":f==="ru"?"Russian":f;return s?(0,Wd.jsxs)(Le,{flexDirection:"column",children:[(0,Wd.jsx)(be,{bold:!0,color:ke.Foreground,children:De.t("languageSetting.selectLanguage")}),(0,Wd.jsxs)(Le,{flexDirection:"row",alignItems:"center",children:[(0,Wd.jsx)(Le,{minWidth:2,flexShrink:0,children:(0,Wd.jsx)(be,{color:l==="en"?ke.AccentGreen:ke.Gray,children:l==="en"?"\u25CF":"\u25CB"})}),(0,Wd.jsxs)(be,{color:l==="en"?ke.AccentGreen:ke.Foreground,children:[De.t("languageSetting.english")," (",De.t("languageSetting.pressToSelect",{key:"1"}),")"]})]}),(0,Wd.jsxs)(Le,{flexDirection:"row",alignItems:"center",children:[(0,Wd.jsx)(Le,{minWidth:2,flexShrink:0,children:(0,Wd.jsx)(be,{color:l==="ru"?ke.AccentGreen:ke.Gray,children:l==="ru"?"\u25CF":"\u25CB"})}),(0,Wd.jsxs)(be,{color:l==="ru"?ke.AccentGreen:ke.Foreground,children:[De.t("languageSetting.russian")," (",De.t("languageSetting.pressToSelect",{key:"2"}),")"]})]}),(0,Wd.jsx)(be,{color:ke.Gray,children:De.t("languageSetting.pressEscToCancel")})]}):(0,Wd.jsxs)(Le,{flexDirection:"row",alignItems:"center",children:[(0,Wd.jsx)(Le,{minWidth:2,flexShrink:0,children:(0,Wd.jsx)(be,{color:n?ke.AccentGreen:ke.Gray,children:n?"\u25CF":""})}),(0,Wd.jsx)(Le,{minWidth:50,children:(0,Wd.jsxs)(be,{color:n?ke.AccentGreen:ke.Foreground,children:[h?.labelKey?De.t(h.labelKey):De.t(h?.label||"Language")," ","(",De.t("languageSetting.pressEnterToChange"),")"]})}),(0,Wd.jsx)(Le,{minWidth:3}),(0,Wd.jsxs)(be,{color:ke.Foreground,children:[E," \u25BC"]})]})}var Jo=Ve(Lt(),1);var o6e=8;function Kfr({settings:t,onSelect:e,onRestartRequest:r}){let{vimEnabled:n,toggleVimEnabled:i}=MH(),[a,s]=(0,b0.useState)("settings"),[o,l]=(0,b0.useState)("User"),[u,c]=(0,b0.useState)(0),[d,h]=(0,b0.useState)(0),[f,E]=(0,b0.useState)(!1),[y,g]=(0,b0.useState)(()=>structuredClone(t.forScope(o).settings)),[C,D]=(0,b0.useState)(new Set),[S,w]=(0,b0.useState)(new Map),[N,M]=(0,b0.useState)(new Set);(0,b0.useEffect)(()=>{g(structuredClone(t.forScope(o).settings)),N.size===0&&E(!1)},[o,t,N]),(0,b0.useEffect)(()=>{C.size>0&&g(Q=>{let J={...Q};return C.forEach(ae=>{let fe=S.get(ae);fe!==void 0&&(J=xb(ae,fe,J))}),J})},[o,C,S,t]);let k=Edr().map(J=>{let ae=vge(J,y,{}),fe=vH(J);return{label:fe?.labelKey?De.t(fe.labelKey):De.t(fe?.label||J),value:J,checked:ae,toggle:()=>{let K=!ae;if(g(ne=>xb(J,K,ne)),_X(J))w(ne=>{let he=new Map(ne);return he.set(J,K),he}),D(ne=>{let he=new Set(ne).add(J),Ee=Dje(he);return console.log("[DEBUG SettingsDialog] Modified settings:",Array.from(he),"Needs restart:",Ee),Ee&&(E(!0),M(pe=>new Set(pe).add(J))),he});else{let ne=new Set([J]),he=xb(J,K,{});console.log(`[DEBUG SettingsDialog] Saving ${J} immediately with value:`,K),_ge(ne,he,t,o),J==="vimMode"&&K!==n&&i().catch(pe=>{console.error("Failed to toggle vim mode:",pe)});let Ee=new Set(C);D(pe=>{let _e=new Set(pe);return _e.delete(J),_e}),w(pe=>{let _e=new Map(pe);return _e.delete(J),_e}),M(pe=>{let _e=new Set(pe);return _e.delete(J),_e}),g(pe=>{let _e=structuredClone(t.forScope(o).settings);return Ee.forEach(Se=>{if(Se!==J){let se=S.get(Se);se!==void 0&&(_e=xb(Se,se,_e))}}),_e})}}}}),B=CH(),q=Q=>{l(Q)},W=Q=>{q(Q),s("settings")},re=k.slice(d,d+o6e),$=!0,R=!0;return ts(Q=>{let{name:J,ctrl:ae}=Q;if(J==="tab"&&s(fe=>fe==="settings"?"scope":"settings"),a==="settings"){if(J==="up"||J==="k"){let fe=u>0?u-1:k.length-1;c(fe),fe===k.length-1?h(Math.max(0,k.length-o6e)):fe<d&&h(fe)}else if(J==="down"||J==="j"){let fe=u<k.length-1?u+1:0;c(fe),fe===0?h(0):fe>=d+o6e&&h(fe-o6e+1)}else if(J==="return"||J==="space")k[u]?.toggle();else if(ae&&(J==="c"||J==="l")){let fe=k[u];if(fe){let K=vX(fe.value),ne=typeof K=="boolean"?K:!1;if(g(he=>xb(fe.value,ne,he)),D(he=>{let Ee=new Set(he);return Ee.delete(fe.value),Ee}),M(he=>{let Ee=new Set(he);return Ee.delete(fe.value),Ee}),!_X(fe.value)){let he=new Set([fe.value]),Ee=xb(fe.value,ne,{});_ge(he,Ee,t,o)}}}}if(f&&J==="r"){let fe=vdr(C),K=new Set(fe);K.size>0&&_ge(K,y,t,o),E(!1),M(new Set),r&&r()}J==="escape"&&e(void 0,o)},{isActive:!0}),(0,Jo.jsx)(Le,{borderStyle:"round",borderColor:ke.Gray,flexDirection:"row",padding:1,width:"100%",height:"100%",children:(0,Jo.jsxs)(Le,{flexDirection:"column",flexGrow:1,children:[(0,Jo.jsx)(be,{bold:!0,color:ke.AccentBlue,children:De.t("app.settings.title")}),(0,Jo.jsx)(Le,{height:1}),$&&(0,Jo.jsx)(be,{color:ke.Gray,children:"\u25B2"}),re.map((Q,J)=>{let ae=a==="settings"&&u===J+d,fe=t.forScope(o).settings,K=t.merged,ne=Cdr(Q.value,fe,K,C,y),he=_dr(Q.value,fe),Ee=Dge(Q.value,o,t);return Q.value==="language"?(0,Jo.jsxs)(b0.default.Fragment,{children:[(0,Jo.jsx)(zfr,{settings:t,selectedScope:o,isActive:ae,onToggle:Q.toggle,onSave:()=>{D(pe=>{let _e=new Set(pe).add("language");return Dje(_e)&&(E(!0),M(se=>new Set(se).add("language"))),_e})}}),(0,Jo.jsx)(Le,{height:1})]},Q.value):(0,Jo.jsxs)(b0.default.Fragment,{children:[(0,Jo.jsxs)(Le,{flexDirection:"row",alignItems:"center",children:[(0,Jo.jsx)(Le,{minWidth:2,flexShrink:0,children:(0,Jo.jsx)(be,{color:ae?ke.AccentGreen:ke.Gray,children:ae?"\u25CF":""})}),(0,Jo.jsx)(Le,{minWidth:50,children:(0,Jo.jsxs)(be,{color:ae?ke.AccentGreen:ke.Foreground,children:[Q.label,Ee&&(0,Jo.jsxs)(be,{color:ke.Gray,children:[" ",Ee]})]})}),(0,Jo.jsx)(Le,{minWidth:3}),(0,Jo.jsx)(be,{color:ae?ke.AccentGreen:he?ke.Gray:ke.Foreground,children:ne})]}),(0,Jo.jsx)(Le,{height:1})]},Q.value)}),R&&(0,Jo.jsx)(be,{color:ke.Gray,children:"\u25BC"}),(0,Jo.jsx)(Le,{height:1}),(0,Jo.jsxs)(Le,{marginTop:1,flexDirection:"column",children:[(0,Jo.jsxs)(be,{bold:a==="scope",wrap:"truncate",children:[a==="scope"?"> ":" ",De.t("app.settings.applyTo")]}),(0,Jo.jsx)(Kl,{items:B,initialIndex:0,onSelect:W,onHighlight:q,isFocused:a==="scope",showNumbers:a==="scope"})]}),(0,Jo.jsx)(Le,{height:1}),(0,Jo.jsx)(be,{color:ke.Gray,children:De.t("app.settings.enterSelectTabFocus")}),f&&(0,Jo.jsx)(be,{color:ke.AccentYellow,children:De.t("app.settings.restartRequired")})]})})}Hn();import*as PH from"fs";import*as l6e from"path";function Jfr(t,e){let r=process.argv[1];if(!r)return{packageManager:"unknown",isGlobal:!1};try{let n=PH.realpathSync(r).replace(/\\/g,"/"),i=t?.replace(/\\/g,"/");if(Mh(process.cwd())&&i&&n.startsWith(i)&&!n.includes("/node_modules/"))return{packageManager:"unknown",isGlobal:!1,updateMessage:De.t("installationInfo.gitClone")};if(n.includes("/.npm/_npx")||n.includes("/npm/_npx"))return{packageManager:"npx",isGlobal:!1,updateMessage:De.t("installationInfo.npx")};if(n.includes("/.pnpm/_pnpx"))return{packageManager:"pnpx",isGlobal:!1,updateMessage:De.t("installationInfo.pnpx")};if(i&&n.startsWith(`${i}/node_modules`)){let o="npm";return PH.existsSync(l6e.join(t,"yarn.lock"))?o="yarn":PH.existsSync(l6e.join(t,"pnpm-lock.yaml"))?o="pnpm":PH.existsSync(l6e.join(t,"bun.lockb"))&&(o="bun"),{packageManager:o,isGlobal:!1,updateMessage:De.t("installationInfo.local")}}let s="npm install -g @kodadev/koda-cli@latest";return{packageManager:"npm",isGlobal:!0,updateCommand:s,updateMessage:e?De.t("installationInfo.manualUpdate",{command:s}):De.t("installationInfo.autoUpdate",{packageManager:"npm"})}}catch(n){return console.log(n),{packageManager:"unknown",isGlobal:!1}}}import{EventEmitter as mjn}from"events";var x2=new mjn;import{spawn as hjn}from"child_process";var Xfr=hjn;function Zfr(t,e,r,n=Xfr){if(!t||e.merged.disableUpdateNag)return;let i=Jfr(r,e.merged.disableAutoUpdate??!1),a=t.message;if(i.updateMessage&&(a+=`
2036
- ${i.updateMessage}`),x2.emit("update-received",{message:a}),!i.updateCommand||e.merged.disableAutoUpdate)return;let s=t.update.latest.includes("nightly"),o=i.updateCommand.replace("@latest",s?"@nightly":`@${t.update.latest}`),l=n(o,{stdio:"pipe",shell:!0}),u="";return l.stderr.on("data",c=>{u+=c.toString()}),l.on("close",c=>{c===0?x2.emit("update-success",{message:De.t("autoUpdate.success")}):x2.emit("update-failed",{message:De.t("autoUpdate.failedWithCommand",{command:o,stderr:u.trim()})})}),l.on("error",c=>{x2.emit("update-failed",{message:De.t("autoUpdate.failedWithError",{error:c.message})})}),l}function e0r(t,e){let r=!1,n=o=>{e(o);let l=o.message;setTimeout(()=>{r||t({type:"info",text:l},Date.now()),e(null)},6e4)},i=()=>{e(null),t({type:"error",text:De.t("autoUpdate.failedShort")},Date.now())},a=()=>{r=!0,e(null),t({type:"info",text:De.t("autoUpdate.success")},Date.now())},s=o=>{t({type:"info",text:o.message},Date.now())};return x2.on("update-received",n),x2.on("update-failed",i),x2.on("update-success",a),x2.on("update-info",s),()=>{x2.off("update-received",n),x2.off("update-failed",i),x2.off("update-success",a),x2.off("update-info",s)}}import{EventEmitter as Ajn}from"events";var Qb=new Ajn;import gjn from"node:os";import t0r from"node:path";import{promises as Ejn}from"node:fs";async function yjn(){try{let t=process.env.XDG_CONFIG_HOME||t0r.join(gjn.homedir(),".config"),e=t0r.join(t,"koda","credentials.json"),r=await Ejn.readFile(e,"utf-8"),n=JSON.parse(r);return(typeof n.githubToken=="string"?n.githubToken:"")||null}catch{return null}}function vjn(){return`${process.env.KODA_API_BASE||"https://api.kodacode.ru/dev/"}/ftc`}async function GYe(){let t=process.env.KODA_GITHUB_TOKEN||process.env.GITHUB_TOKEN||null;if(t||(t=await yjn()),!t)return null;let e=vjn(),r={Accept:"application/json","Accept-Encoding":"identity","Content-Type":"application/json",Authorization:`Bearer ${t}`};try{let n=await fetch(e,{method:"POST",headers:r,body:JSON.stringify({ghAuthToken:t})});if(!n.ok)return null;let i=await n.json(),a=Number(i.count??0),s=Number(i.limit??0);if(!Number.isFinite(a)||!Number.isFinite(s))return null;let o=Math.max(0,a);return{count:o,limit:s,remaining:s-o}}catch{return null}}var _r=Ve(Lt(),1);var _jn=1e3,r0r=t=>(0,_r.jsx)(_nr,{children:(0,_r.jsx)(Qfr,{settings:t.settings,children:(0,_r.jsx)(Djn,{...t})})}),Djn=({config:t,settings:e,startupWarnings:r=[],version:n})=>{let i=Snr();Lfr();let[a,s]=(0,Dr.useState)(null),{stdout:o}=rV(),l=n.includes("nightly"),{history:u,addItem:c,clearItems:d,loadHistory:h}=Bfr(),[f,E]=(0,Dr.useState)(!1),y=t.getIdeClient().getCurrentIde();(0,Dr.useEffect)(()=>{KU(()=>t.getIdeClient().disconnect())},[t]);let g=y&&!t.getIdeMode()&&!e.merged.hasSeenIdeIntegrationNudge&&!f;(0,Dr.useEffect)(()=>e0r(c,s),[c]);let{consoleMessages:C,handleNewMessage:D,clearConsoleMessages:S}=xor();(0,Dr.useEffect)(()=>{let Gt=new L5({onNewMessage:D,debugMode:t.getDebugMode()});Gt.patch(),KU(Gt.cleanup)},[D,t]);let{stats:w}=U6(),[N,M]=(0,Dr.useState)(!1),[U,k]=(0,Dr.useState)(0),B=(0,Dr.useCallback)(()=>{o.write(Ry.clearTerminal),k(Gt=>Gt+1)},[k,o]),[q,W]=(0,Dr.useState)(0),[re,$]=(0,Dr.useState)(""),[R,Q]=(0,Dr.useState)(null),[J,ae]=(0,Dr.useState)(null),[fe,K]=(0,Dr.useState)(null),[ne,he]=(0,Dr.useState)(0),[Ee,pe]=(0,Dr.useState)(!1),[_e,Se]=(0,Dr.useState)(t.isTrustedFolder()),[se,ve]=(0,Dr.useState)(t.getModel()),[X,ee]=(0,Dr.useState)(!1),[ie,me]=(0,Dr.useState)(!1),[ue,Ce]=(0,Dr.useState)(!1),[le,G]=(0,Dr.useState)(void 0),[Y,Ae]=(0,Dr.useState)(void 0),[te,H]=(0,Dr.useState)(!1),[ge,xe]=(0,Dr.useState)(null),He=(0,Dr.useRef)(null),[mt,xt]=(0,Dr.useState)(!1),Yt=(0,Dr.useRef)(null),ht=(0,Dr.useRef)(!1),[vt,Ut]=(0,Dr.useState)(!0),[dn,ei]=(0,Dr.useState)(!1),[gi,Di]=(0,Dr.useState)(!1),[Ca,Gi]=(0,Dr.useState)(void 0),[Be,rt]=(0,Dr.useState)(),[nt,Nt]=(0,Dr.useState)(!1),[mr,wr]=(0,Dr.useState)(!1);(0,Dr.useEffect)(()=>{let Gt=JE.subscribeToIdeContext(rt);return rt(JE.getIdeContext()),Gt},[]),(0,Dr.useEffect)(()=>{let Gt=()=>{me(!0),Ut(!1)};Qb.on("open-debug-console",Gt);let yi=ys=>{D({type:"error",content:String(ys),count:1})};return Qb.on("log-error",yi),()=>{Qb.off("open-debug-console",Gt),Qb.off("log-error",yi)}},[D]);let hr=(0,Dr.useCallback)(()=>{ei(!0)},[]),Pr=(0,Dr.useCallback)(Gt=>{if(!Gt){G(void 0),Ae(void 0),ht.current=!1;return}G(Gt.count),Ae(Gt.limit),Gt.limit>0&&Gt.count>=Gt.limit?ht.current||(c({type:"info",text:De.t("app.trial.limitReached")},Date.now()),ht.current=!0):ht.current=!1},[c,G,Ae]),Mr=(0,Dr.useCallback)(Gt=>{Nt(Gt)},[]),lo=(0,Dr.useRef)(!1),xl=(0,Dr.useMemo)(()=>C.filter(Gt=>Gt.type==="error").reduce((Gt,yi)=>Gt+yi.count,0),[C]),{isThemeDialogOpen:wc,openThemeDialog:Ad,handleThemeSelect:gd,handleThemeHighlight:wu}=Ynr(e,Q,c),{isSettingsDialogOpen:uo,openSettingsDialog:x1,closeSettingsDialog:B1}=Wfr(),{isModelDialogOpen:Ke,isCustomModelDialogOpen:$e,openModelDialog:ot,closeModelDialog:Ct,models:st,loading:fr,error:Qr,unauthorizedUserError:Wn,handleModelSelect:li,customModelError:ks,customModelBusy:Ei,customModelDraft:_a,customModelDialogMode:Ts,handleCustomModelEdit:yn,handleCustomModelDelete:Mi,handleCustomModelSubmit:Da,handleCustomModelCancel:da}=uir(t,e),{isFolderTrustDialogOpen:ju,handleFolderTrustSelect:_o}=Eir(e,Se),{isAuthDialogOpen:gs,openAuthDialog:Vn,handleAuthSelect:Xo,isAuthenticating:Li,cancelAuthentication:zn,verificationUri:Iu,userCode:co}=mir(e,ae,t);(0,Dr.useEffect)(()=>{if(e.merged.selectedAuthType&&!e.merged.useExternalAuth){let Gt=Bb(e.merged.selectedAuthType);Gt&&(ae(Gt),Vn())}},[e.merged.selectedAuthType,e.merged.useExternalAuth,Vn,ae]),(0,Dr.useEffect)(()=>{Li||Gi(t.getGeminiClient()?.getUserTier())},[t,Li]);let{isEditorDialogOpen:Ri,openEditorDialog:Tu,handleEditorSelect:Xs,exitEditorDialog:as}=yir(e,K,c),Mo=(0,Dr.useCallback)(()=>{pe(Gt=>!Gt)},[]),Re=(0,Dr.useCallback)(async()=>{c({type:"info",text:De.t("app.memory.refreshing")},Date.now());try{let{memoryContent:Gt,fileCount:yi}=await RYe(VYe.cwd(),e.merged.loadMemoryFromIncludeDirectories?t.getWorkspaceContext().getDirectories():[],t.getDebugMode(),t.getFileService(),e.merged,t.getExtensionContextFilePaths(),e.merged.memoryImportFormat||"tree",t.getFileFilteringOptions());t.setUserMemory(Gt),t.setGeminiMdFileCount(yi),W(yi);let ys=Gt.length>0?De.t("app.memory.refreshSuccess",{charCount:Gt.length,fileCount:yi}):De.t("app.memory.refreshSuccessEmpty");c({type:"info",text:ys},Date.now()),t.getDebugMode()&&console.log(`[DEBUG] Refreshed memory content in config: ${Gt.substring(0,200)}...`)}catch(Gt){let yi=sr(Gt);c({type:"error",text:De.t("app.memory.refreshError",{error:yi})},Date.now()),console.error("Error refreshing memory:",Gt)}},[t,c,e.merged]);(0,Dr.useEffect)(()=>{let Gt=()=>{let ys=t.getModel();ys!==se&&ve(ys)};Gt();let yi=setInterval(Gt,1e3);return()=>clearInterval(yi)},[t,se]),(0,Dr.useEffect)(()=>{(async()=>{try{let Gt=await GYe();Pr(Gt)}catch{Pr(null)}})()},[e.merged.selectedAuthType,se,Pr]),(0,Dr.useEffect)(()=>{let Gt=async(yi,ys,yd)=>{let Al;if(t.getContentGeneratorConfig().authType===ln.LOGIN_WITH_GITHUB){let gl=Ca===zh.LEGACY||Ca===zh.STANDARD;yd&&nb(yd)?gl?Al=De.t("app.flashFallback.proQuotaExceeded",{currentModel:yi,fallbackModel:ys}):Al=De.t("app.flashFallback.freeQuotaExceeded",{currentModel:yi,fallbackModel:ys}):yd&&nR(yd)?gl?Al=De.t("app.flashFallback.proGenericQuota",{currentModel:yi,fallbackModel:ys}):Al=De.t("app.flashFallback.freeGenericQuota",{currentModel:yi,fallbackModel:ys}):gl?Al=De.t("app.flashFallback.proDefault",{currentModel:yi,fallbackModel:ys}):Al=De.t("app.flashFallback.freeDefault",{currentModel:yi,fallbackModel:ys}),c({type:"info",text:Al},Date.now()),Di(!0),t.setQuotaErrorOccurred(!0)}return t.setModel(ys),t.setFallbackMode(!0),Dle(t,new eF(t.getContentGeneratorConfig().authType)),!1};t.setFlashFallbackHandler(Gt)},[t,c,Ca]);let{rows:Fe,columns:Xe}=gg(),lt=Sb(Xe),{stdin:Et,setRawMode:Rt}=v8(),$t=(0,Dr.useRef)(!0),zt=Math.max(20,Math.floor(Xe*.9)-3),Xt=Math.max(20,Math.floor(Xe*.8)),ar=(0,Dr.useCallback)(Gt=>{try{return u6e.existsSync(Gt)&&u6e.statSync(Gt).isFile()}catch{return!1}},[]),tn=(0,Dr.useCallback)(()=>{let Gt=e.merged.preferredEditor;if(!_J(Gt)){Tu();return}return Gt},[e,Tu]),Pi=(0,Dr.useCallback)(()=>{ae(De.t("app.auth.reauthRequired")),Vn()},[Vn,ae]),{vimEnabled:Es,vimMode:ui,toggleVimEnabled:Do}=MH(),{handleSlashCommand:Us,slashCommands:Ic,pendingHistoryItems:hl,commandContext:N2,shellConfirmationRequest:xp,confirmationRequest:Ed}=Ior(t,e,c,d,h,B,$,Ad,Vn,Tu,ot,Mo,xe,hr,x1,Do,wr,W),zd=uur({initialText:"",viewport:{height:10,width:zt},stdin:Et,setRawMode:Rt,isValidPath:ar,shellModeActive:X}),[Pm,Qm]=(0,Dr.useState)([]),xu=(0,Dr.useCallback)(()=>{let Gt=Pm.at(-1);Gt&&zd.setText(Gt)},[zd,Pm]),{streamingState:Yu,submitQuery:Tc,initError:Kd,pendingHistoryItems:Sf,thought:x0,cancelOngoingRequest:xc,activeActivity:Z6}=Inr(t.getGeminiClient(),u,c,t,$,Us,X,tn,Pi,Re,gi,Di,B,xu);(0,Dr.useEffect)(()=>{Yu==="idle"&&(async()=>{try{let Gt=await GYe();Gt&&Pr(Gt)}catch{}})()},[Yu,Pr]);let B0=(0,Dr.useCallback)(Gt=>{let yi=Gt.trim();yi.length>0&&Tc(yi)},[Tc]),e4=(0,Dr.useCallback)(Gt=>{Gt.userSelection==="yes"?(Gt.isExtensionPreInstalled?Us("/ide enable"):Us("/ide install"),e.setValue("User","hasSeenIdeIntegrationNudge",!0)):Gt.userSelection==="dismiss"&&e.setValue("User","hasSeenIdeIntegrationNudge",!0),E(!0)},[Us,e]),{handleInput:t4}=Hfr(zd,B0),Wu=[...hl];Wu.push(...Sf);let{elapsedTime:D3,currentLoadingPhrase:r4}=Bnr(Yu,Z6),O2=Tor({config:t}),S3=ige(),R1=(0,Dr.useCallback)((Gt,yi,ys)=>{Gt?(ys.current&&clearTimeout(ys.current),Us("/quit")):(yi(!0),ys.current=setTimeout(()=>{yi(!1),ys.current=null},_jn))},[Us]),km=(0,Dr.useCallback)(Gt=>{let yi=!1;if(vt||(yi=!0,Ut(!0)),ns.showErrorDetails(Gt))me(ys=>!ys);else if(ns.toggleToolDescriptions(Gt)){let ys=!ue;Ce(ys);let yd=t.getMcpServers();Object.keys(yd||{}).length>0&&Us(ys?"/mcp desc":"/mcp nodesc")}else if(ns.toggleIDEContextDetail(Gt)&&t.getIdeMode()&&Be)Us("/ide status");else if(ns.quit(Gt)){if(Li)return;te||xc?.(),R1(te,H,He)}else if(ns.exit(Gt)){if(zd.text.length>0)return;R1(mt,xt,Yt)}else ns.showMoreLines(Gt)&&!yi&&Ut(!1)},[vt,Ut,me,ue,Ce,t,Be,R1,te,H,He,zd.text.length,mt,xt,Yt,Us,Li,xc]);ts(km,{isActive:!0,kittyProtocolEnabled:S3.enabled,config:t}),(0,Dr.useEffect)(()=>{t&&W(t.getGeminiMdFileCount())},[t,t.getGeminiMdFileCount]);let Bc=RAe();(0,Dr.useEffect)(()=>{(async()=>{let yi=await Bc?.getPreviousUserMessages()||[],yd=[...u.filter(gl=>gl.type==="user"&&typeof gl.text=="string"&&gl.text.trim()!=="").map(gl=>gl.text).reverse(),...yi],Al=[];if(yd.length>0){Al.push(yd[0]);for(let gl=1;gl<yd.length;gl++)yd[gl]!==yd[gl-1]&&Al.push(yd[gl])}Qm(Al.reverse())})()},[u,Bc]);let F2=Yu==="idle"&&!Kd&&!mr,Bp=(0,Dr.useCallback)(()=>{d(),S(),console.clear(),B()},[d,S,B]),bf=(0,Dr.useRef)(null),n4=(0,Dr.useRef)(null);(0,Dr.useEffect)(()=>{if(bf.current){let Gt=P3e(bf.current);he(Gt.height)}},[Fe,C,ie]);let $5=3,b3=(0,Dr.useMemo)(()=>Fe-ne-$5,[Fe,ne]);(0,Dr.useEffect)(()=>{if($t.current){$t.current=!1;return}let Gt=setTimeout(()=>{M(!1),B()},300);return()=>{clearTimeout(Gt)}},[Xe,Fe,B]),(0,Dr.useEffect)(()=>{Yu==="idle"&&N&&(M(!1),B())},[Yu,B,N]);let M2=(0,Dr.useMemo)(()=>t.getDebugMode()?C:C.filter(Gt=>Gt.type!=="debug"),[C,t]),R0=Ffr(t.getTargetDir()),N0=(0,Dr.useMemo)(()=>{let Gt=e.merged.contextFileName;return Gt?Array.isArray(Gt)?Gt:[Gt]:MS()},[e.merged.contextFileName]),ci=(0,Dr.useMemo)(()=>t.getQuestion(),[t]),Kt=t.getGeminiClient();if((0,Dr.useEffect)(()=>{ci&&!lo.current&&!Li&&!gs&&!wc&&!Ri&&!dn&&Kt?.isInitialized?.()&&(Tc(ci),lo.current=!0)},[ci,Tc,Li,gs,wc,Ri,dn,Kt]),ge)return(0,_r.jsx)(Le,{flexDirection:"column",marginBottom:1,children:ge.map(Gt=>(0,_r.jsx)(i6e,{availableTerminalHeight:vt?b3:void 0,terminalWidth:Xe,item:Gt,isPending:!1,config:t},Gt.id))});let Rc=Math.floor(Xe*.9),Um=Math.floor(Math.max(Fe*.2,5)),ss=Math.max(Fe*4,100),Nc=Es?De.t("app.placeholders.vim"):De.t("app.placeholders.default");return(0,_r.jsx)(J$e.Provider,{value:Yu,children:(0,_r.jsxs)(Le,{flexDirection:"column",width:"90%",children:[(0,_r.jsx)(Gee,{items:[(0,_r.jsxs)(Le,{flexDirection:"column",children:[!e.merged.hideBanner&&(0,_r.jsx)(qlr,{version:n,nightly:l}),!e.merged.hideTips&&(0,_r.jsx)(j1r,{config:t})]},"header"),...u.map(Gt=>(0,_r.jsx)(i6e,{terminalWidth:Rc,availableTerminalHeight:ss,item:Gt,isPending:!1,config:t,commands:Ic},Gt.id))],children:Gt=>Gt},U),(0,_r.jsx)(Ege,{children:(0,_r.jsxs)(Le,{ref:n4,flexDirection:"column",children:[Wu.map((Gt,yi)=>(0,_r.jsx)(i6e,{availableTerminalHeight:vt?b3:void 0,terminalWidth:Rc,item:{...Gt,id:0},isPending:!0,config:t,isFocused:!Ri},yi)),(0,_r.jsx)(a6e,{constrainHeight:vt})]})}),(0,_r.jsxs)(Le,{flexDirection:"column",ref:bf,children:[a&&(0,_r.jsx)(Gfr,{message:a.message}),r.length>0&&(0,_r.jsx)(Le,{borderStyle:"round",borderColor:ke.AccentYellow,paddingX:1,marginY:1,flexDirection:"column",children:r.map((Gt,yi)=>(0,_r.jsx)(be,{color:ke.AccentYellow,children:Gt},yi))}),g&&y?(0,_r.jsx)(Rfr,{ide:y,onComplete:e4}):ju?(0,_r.jsx)(hir,{onSelect:_o}):xp?(0,_r.jsx)(Rdr,{request:xp}):Ed?(0,_r.jsxs)(Le,{flexDirection:"column",children:[Ed.prompt,(0,_r.jsx)(Le,{paddingY:1,children:(0,_r.jsx)(Kl,{items:[{label:De.t("app.confirmation.yes"),value:!0},{label:De.t("app.confirmation.no"),value:!1}],onSelect:Gt=>{Ed.onConfirm(Gt)}})})]}):wc?(0,_r.jsxs)(Le,{flexDirection:"column",children:[R&&(0,_r.jsx)(Le,{marginBottom:1,children:(0,_r.jsx)(be,{color:ke.AccentRed,children:R})}),(0,_r.jsx)(Ddr,{onSelect:gd,onHighlight:wu,settings:e,availableTerminalHeight:vt?Fe-$5:void 0,terminalWidth:Rc})]}):uo?(0,_r.jsx)(Le,{flexDirection:"column",children:(0,_r.jsx)(Kfr,{settings:e,onSelect:()=>B1(),onRestartRequest:()=>VYe.exit(0)})}):$e?(0,_r.jsx)(Le,{flexDirection:"column",children:(0,_r.jsx)(bdr,{onSubmit:Da,onCancel:da,error:ks,busy:Ei,initialValues:_a??void 0,mode:Ts})}):Ke?(0,_r.jsx)(Le,{flexDirection:"column",children:(0,_r.jsx)(Sdr,{settings:e,models:st,loading:fr,error:Qr,unauthorizedUserError:Wn,onSelect:li,onEdit:yn,onDelete:Mi,onExit:Ct})}):Li?(0,_r.jsxs)(_r.Fragment,{children:[(0,_r.jsx)(Tdr,{onTimeout:()=>{ae(De.t("app.auth.timeout")),zn(),Vn()},verificationUri:Iu,userCode:co}),ie&&(0,_r.jsx)(Ege,{children:(0,_r.jsxs)(Le,{flexDirection:"column",children:[(0,_r.jsx)(NYe,{messages:M2,maxHeight:vt?Um:void 0,width:zt}),(0,_r.jsx)(a6e,{constrainHeight:vt})]})})]}):gs?(0,_r.jsx)(Le,{flexDirection:"column",children:(0,_r.jsx)(Idr,{onSelect:Xo,settings:e,initialErrorMessage:J})}):Ri?(0,_r.jsxs)(Le,{flexDirection:"column",children:[fe&&(0,_r.jsx)(Le,{marginBottom:1,children:(0,_r.jsx)(be,{color:ke.AccentRed,children:fe})}),(0,_r.jsx)(Bdr,{onSelect:Xs,settings:e,onExit:as})]}):dn?(0,_r.jsx)(Yfr,{onExit:()=>ei(!1),config:t}):(0,_r.jsxs)(_r.Fragment,{children:[(0,_r.jsx)(Klr,{thought:Yu==="waiting_for_confirmation"||t.getAccessibility()?.disableLoadingPhrases?void 0:x0,currentLoadingPhrase:t.getAccessibility()?.disableLoadingPhrases?void 0:r4,elapsedTime:D3}),(0,_r.jsxs)(Le,{marginTop:1,justifyContent:"space-between",width:"100%",flexDirection:lt?"column":"row",alignItems:lt?"flex-start":"center",children:[(0,_r.jsxs)(Le,{children:[VYe.env.GEMINI_SYSTEM_MD&&(0,_r.jsx)(be,{color:ke.AccentRed,children:"|\u2310\u25A0_\u25A0| "}),te?(0,_r.jsx)(be,{color:ke.AccentYellow,children:De.t("app.prompts.pressCtrlCAgain")}):mt?(0,_r.jsx)(be,{color:ke.AccentYellow,children:De.t("app.prompts.pressCtrlDAgain")}):nt?(0,_r.jsx)(be,{color:ke.Gray,children:De.t("app.prompts.pressEscAgain")}):(0,_r.jsx)(xfr,{ideContext:Be,geminiMdFileCount:q,contextFileNames:N0,mcpServers:t.getMcpServers(),blockedMcpServers:t.getBlockedMcpServers(),showToolDescriptions:ue})]}),(0,_r.jsxs)(Le,{paddingTop:lt?1:0,children:[O2!==qa.DEFAULT&&!X&&(0,_r.jsx)(Jlr,{approvalMode:O2}),X&&(0,_r.jsx)(Xlr,{})]})]}),ie&&(0,_r.jsx)(Ege,{children:(0,_r.jsxs)(Le,{flexDirection:"column",children:[(0,_r.jsx)(NYe,{messages:M2,maxHeight:vt?Um:void 0,width:zt}),(0,_r.jsx)(a6e,{constrainHeight:vt})]})}),F2&&(0,_r.jsx)(wur,{buffer:zd,inputWidth:zt,suggestionsWidth:Xt,onSubmit:B0,userMessages:Pm,onClearScreen:Bp,config:t,slashCommands:Ic,commandContext:N2,shellModeActive:X,setShellModeActive:ee,onEscapePromptChange:Mr,focus:i,vimHandleInput:t4,placeholder:Nc})]}),Kd&&Yu!=="responding"&&(0,_r.jsx)(Le,{borderStyle:"round",borderColor:ke.AccentRed,paddingX:1,marginBottom:1,children:u.find(Gt=>Gt.type==="error"&&Gt.text?.includes(Kd))?.text?(0,_r.jsx)(be,{color:ke.AccentRed,children:u.find(Gt=>Gt.type==="error"&&Gt.text?.includes(Kd))?.text}):(0,_r.jsxs)(_r.Fragment,{children:[(0,_r.jsx)(be,{color:ke.AccentRed,children:De.t("app.init.error",{error:Kd})}),(0,_r.jsx)(be,{color:ke.AccentRed,children:De.t("app.init.checkConfig")})]})}),(0,_r.jsx)(Our,{model:se,targetDir:t.getTargetDir(),debugMode:t.getDebugMode(),branchName:R0,debugMessage:re,corgiMode:Ee,errorCount:xl,showErrorDetails:ie,showMemoryUsage:t.getDebugMode()||e.merged.showMemoryUsage||!1,promptTokenCount:w.lastPromptTokenCount,nightly:l,vimMode:Es?ui:void 0,isTrustedFolder:_e,trialRequestsUsed:le,trialRequestsLimit:Y})]})]})})};async function n0r(){return new Promise((e,r)=>{let n="",i=0;process.stdin.setEncoding("utf8");let a=()=>{let u;for(;(u=process.stdin.read())!==null;){if(i+u.length>8388608){let c=8388608-i;n+=u.slice(0,c),console.warn("Warning: stdin input truncated to 8388608 bytes."),process.stdin.destroy();break}n+=u,i+=u.length}},s=()=>{l(),e(n)},o=u=>{l(),r(u)},l=()=>{process.stdin.removeListener("readable",a),process.stdin.removeListener("end",s),process.stdin.removeListener("error",o)};process.stdin.on("readable",a),process.stdin.on("end",s),process.stdin.on("error",o)})}import{basename as mei}from"node:path";import hei from"node:v8";import Aei from"node:os";import gei from"node:dns";import{spawn as Eei}from"node:child_process";var UX=Ve(Lpe(),1);import{exec as Sjn,execSync as kb,spawn as QH}from"node:child_process";import C3 from"node:os";import Q5 from"node:path";import I1 from"node:fs";import{readFile as bjn}from"node:fs/promises";import{promisify as wjn}from"util";var qYe=wjn(Sjn);function oA(t){if(C3.platform()!=="win32")return t;let r=t.replace(/\\/g,"/").match(/^([A-Z]):\/(.*)/i);return r?`/${r[1].toLowerCase()}/${r[2]}`:t}var a0r="gemini-cli-sandbox",c6e="gemini-cli-sandbox",nN="gemini-cli-sandbox-proxy",Ijn=["permissive-open","permissive-closed","permissive-proxied","restrictive-open","restrictive-closed","restrictive-proxied"];async function Tjn(){let t=process.env.SANDBOX_SET_UID_GID?.toLowerCase().trim();if(t==="1"||t==="true")return!0;if(t==="0"||t==="false")return!1;if(C3.platform()==="linux")try{let e=await bjn("/etc/os-release","utf8");if(e.includes("ID=debian")||e.includes("ID=ubuntu")||e.match(/^ID_LIKE=.*debian.*/m)||e.match(/^ID_LIKE=.*ubuntu.*/m))return console.error("INFO: Defaulting to use current user UID/GID for Debian/Ubuntu-based Linux."),!0}catch{console.warn("Warning: Could not read /etc/os-release to auto-detect Debian/Ubuntu for UID/GID default.")}return!1}function xjn(t){let[e,r]=t.split(":"),n=e.split("/").at(-1)??"unknown-image";return r?`${n}-${r}`:n}function s0r(){return(process.env.SANDBOX_PORTS??"").split(",").filter(t=>t.trim()).map(t=>t.trim())}function Bjn(t){let e=C3.platform()==="win32",r=oA(t),n=[],i=e?";":":",a="";if(process.env.PATH){let d=process.env.PATH.split(i);for(let h of d){let f=oA(h);f.toLowerCase().startsWith(r.toLowerCase())&&(a+=`:${f}`)}}a&&n.push(`export PATH="$PATH${a}";`);let s="";if(process.env.PYTHONPATH){let d=process.env.PYTHONPATH.split(i);for(let h of d){let f=oA(h);f.toLowerCase().startsWith(r.toLowerCase())&&(s+=`:${f}`)}}s&&n.push(`export PYTHONPATH="$PYTHONPATH${s}";`);let o=Q5.join(q7,"sandbox.bashrc");I1.existsSync(o)&&n.push(`source ${oA(o)};`),s0r().forEach(d=>n.push(`socat TCP4-LISTEN:${d},bind=$(hostname -i),fork,reuseaddr TCP4:127.0.0.1:${d} 2> /dev/null &`));let l=process.argv.slice(2).map(d=>(0,UX.quote)([d])),u=process.env.NODE_ENV==="development"?process.env.DEBUG?"npm run debug --":"npm rebuild && npm run start --":process.env.DEBUG?`node --inspect-brk=0.0.0.0:${process.env.DEBUG_PORT||"9229"} $(which gemini)`:"gemini";return["bash","-c",[...n,u,...l].join(" ")]}async function o0r(t,e=[],r){let n=new L5({debugMode:r?.getDebugMode()||!!process.env.DEBUG,stderr:!0});n.patch();try{if(t.command==="sandbox-exec"){process.env.BUILD_SANDBOX&&(console.error("ERROR: cannot BUILD_SANDBOX when using macOS Seatbelt"),process.exit(1));let B=process.env.SEATBELT_PROFILE??="permissive-open",q=new URL(`sandbox-macos-${B}.sb`,import.meta.url).pathname;Ijn.includes(B)||(q=Q5.join(q7,`sandbox-macos-${B}.sb`)),I1.existsSync(q)||(console.error(`ERROR: missing macos seatbelt profile file '${q}'`),process.exit(1)),console.error(`using macos seatbelt (profile: ${B}) ...`);let W=[...process.env.DEBUG?["--inspect-brk"]:[],...e].join(" "),re=["-D",`TARGET_DIR=${I1.realpathSync(process.cwd())}`,"-D",`TMP_DIR=${I1.realpathSync(C3.tmpdir())}`,"-D",`HOME_DIR=${I1.realpathSync(C3.homedir())}`,"-D",`CACHE_DIR=${I1.realpathSync(kb("getconf DARWIN_USER_CACHE_DIR").toString().trim())}`],$=5,R=I1.realpathSync(r?.getTargetDir()||""),Q=[];if(r){let he=r.getWorkspaceContext().getDirectories();for(let Ee of he){let pe=I1.realpathSync(Ee);pe!==R&&Q.push(pe)}}for(let ne=0;ne<$;ne++){let he="/dev/null";ne<Q.length&&(he=Q[ne]),re.push("-D",`INCLUDE_DIR_${ne}=${he}`)}re.push("-f",q,"sh","-c",["SANDBOX=sandbox-exec",`NODE_OPTIONS="${W}"`,...process.argv.map(ne=>(0,UX.quote)([ne]))].join(" "));let J=process.env.GEMINI_SANDBOX_PROXY_COMMAND,ae,fe,K={...process.env};if(J){let ne=process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||"http://localhost:8877";K.HTTPS_PROXY=ne,K.https_proxy=ne,K.HTTP_PROXY=ne,K.http_proxy=ne;let he=process.env.NO_PROXY||process.env.no_proxy;he&&(K.NO_PROXY=he,K.no_proxy=he),ae=QH(J,{stdio:["ignore","pipe","pipe"],shell:!0,detached:!0});let Ee=()=>{console.log("stopping proxy ..."),ae?.pid&&process.kill(-ae.pid,"SIGTERM")};process.on("exit",Ee),process.on("SIGINT",Ee),process.on("SIGTERM",Ee),ae.stderr?.on("data",pe=>{console.error(pe.toString())}),ae.on("close",(pe,_e)=>{console.error(`ERROR: proxy command '${J}' exited with code ${pe}, signal ${_e}`),fe?.pid&&process.kill(-fe.pid,"SIGTERM"),process.exit(1)}),console.log("waiting for proxy to start ..."),await qYe("until timeout 0.25 curl -s http://localhost:8877; do sleep 0.25; done")}fe=QH(t.command,re,{stdio:"inherit"}),await new Promise(ne=>fe?.on("close",ne));return}console.error(`hopping into sandbox (command: ${t.command}) ...`);let i=I1.realpathSync(process.argv[1]),a=Q5.join(q7,"sandbox.Dockerfile"),s=I1.existsSync(a),o=t.image,l=Q5.resolve(process.cwd()),u=oA(l);if(process.env.BUILD_SANDBOX)if(!i.includes("gemini-cli/packages/"))console.error("ERROR: cannot build sandbox using installed gemini binary; run `npm link ./packages/cli` under gemini-cli repo to switch to linked binary."),process.exit(1);else{console.error("building sandbox ...");let B=i.split("/packages/")[0],q="",W=Q5.join(q7,"sandbox.Dockerfile");s&&(console.error(`using ${W} for sandbox`),q+=`-f ${Q5.resolve(W)} -i ${o}`),kb(`cd ${B} && node scripts/build_sandbox.js -s ${q}`,{stdio:"inherit",env:{...process.env,GEMINI_SANDBOX:t.command}})}await Njn(t.command,o)||(console.error(`ERROR: Sandbox image '${o}' is missing or could not be pulled. ${o===a0r?"Try running `npm run build:all` or `npm run build:sandbox` under the gemini-cli repo to build it locally, or check the image name and your network connection.":"Please check the image name, your network connection, or notify gemini-cli-dev@google.com if the issue persists."}`),process.exit(1));let c=["run","-i","--rm","--init","--workdir",u];if(process.env.SANDBOX_FLAGS){let B=(0,UX.parse)(process.env.SANDBOX_FLAGS,process.env).filter(q=>typeof q=="string");c.push(...B)}process.stdin.isTTY&&c.push("-t"),c.push("--volume",`${l}:${u}`);let d=bqe,h=oA(`/home/node/${q7}`);I1.existsSync(d)||I1.mkdirSync(d),c.push("--volume",`${d}:${h}`),h!==d&&c.push("--volume",`${d}:${oA(d)}`),c.push("--volume",`${C3.tmpdir()}:${oA(C3.tmpdir())}`);let f=Q5.join(C3.homedir(),".config","gcloud");if(I1.existsSync(f)&&c.push("--volume",`${f}:${oA(f)}:ro`),process.env.GOOGLE_APPLICATION_CREDENTIALS){let B=process.env.GOOGLE_APPLICATION_CREDENTIALS;I1.existsSync(B)&&(c.push("--volume",`${B}:${oA(B)}:ro`),c.push("--env",`GOOGLE_APPLICATION_CREDENTIALS=${oA(B)}`))}if(process.env.SANDBOX_MOUNTS){for(let B of process.env.SANDBOX_MOUNTS.split(","))if(B.trim()){let[q,W,re]=B.trim().split(":");W=W||q,re=re||"ro",B=`${q}:${W}:${re}`,Q5.isAbsolute(q)||(console.error(`ERROR: path '${q}' listed in SANDBOX_MOUNTS must be absolute`),process.exit(1)),I1.existsSync(q)||(console.error(`ERROR: missing mount path '${q}' listed in SANDBOX_MOUNTS`),process.exit(1)),console.error(`SANDBOX_MOUNTS: ${q} -> ${W} (${re})`),c.push("--volume",B)}}if(s0r().forEach(B=>c.push("--publish",`${B}:${B}`)),process.env.DEBUG){let B=process.env.DEBUG_PORT||"9229";c.push("--publish",`${B}:${B}`)}let E=process.env.GEMINI_SANDBOX_PROXY_COMMAND;if(E){let B=process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||"http://localhost:8877";B=B.replace("localhost",nN),B&&(c.push("--env",`HTTPS_PROXY=${B}`),c.push("--env",`https_proxy=${B}`),c.push("--env",`HTTP_PROXY=${B}`),c.push("--env",`http_proxy=${B}`));let q=process.env.NO_PROXY||process.env.no_proxy;q&&(c.push("--env",`NO_PROXY=${q}`),c.push("--env",`no_proxy=${q}`)),B&&(kb(`${t.command} network inspect ${c6e} || ${t.command} network create --internal ${c6e}`),c.push("--network",c6e),E&&kb(`${t.command} network inspect ${nN} || ${t.command} network create ${nN}`))}let y=xjn(o),g=0,C=kb(`${t.command} ps -a --format "{{.Names}}"`).toString().trim();for(;C.includes(`${y}-${g}`);)g++;let D=`${y}-${g}`;c.push("--name",D,"--hostname",D),process.env.KODA_API_KEY&&c.push("--env",`KODA_API_KEY=${process.env.KODA_API_KEY}`),process.env.GOOGLE_API_KEY&&c.push("--env",`GOOGLE_API_KEY=${process.env.GOOGLE_API_KEY}`),process.env.GOOGLE_GENAI_USE_VERTEXAI&&c.push("--env",`GOOGLE_GENAI_USE_VERTEXAI=${process.env.GOOGLE_GENAI_USE_VERTEXAI}`),process.env.GOOGLE_GENAI_USE_GCA&&c.push("--env",`GOOGLE_GENAI_USE_GCA=${process.env.GOOGLE_GENAI_USE_GCA}`),process.env.GOOGLE_CLOUD_PROJECT&&c.push("--env",`GOOGLE_CLOUD_PROJECT=${process.env.GOOGLE_CLOUD_PROJECT}`),process.env.GOOGLE_CLOUD_LOCATION&&c.push("--env",`GOOGLE_CLOUD_LOCATION=${process.env.GOOGLE_CLOUD_LOCATION}`),process.env.GEMINI_MODEL&&c.push("--env",`GEMINI_MODEL=${process.env.GEMINI_MODEL}`),process.env.KODA_RESPONSE_LANGUAGE&&c.push("--env",`KODA_RESPONSE_LANGUAGE=${process.env.KODA_RESPONSE_LANGUAGE}`),process.env.TERM&&c.push("--env",`TERM=${process.env.TERM}`),process.env.COLORTERM&&c.push("--env",`COLORTERM=${process.env.COLORTERM}`);for(let B of["KODA_CLI_IDE_SERVER_PORT","GEMINI_CLI_IDE_SERVER_PORT","GEMINI_CLI_IDE_WORKSPACE_PATH","TERM_PROGRAM"])process.env[B]&&c.push("--env",`${B}=${process.env[B]}`);if(process.env.VIRTUAL_ENV?.toLowerCase().startsWith(l.toLowerCase())){let B=Q5.resolve(q7,"sandbox.venv");I1.existsSync(B)||I1.mkdirSync(B,{recursive:!0}),c.push("--volume",`${B}:${oA(process.env.VIRTUAL_ENV)}`),c.push("--env",`VIRTUAL_ENV=${oA(process.env.VIRTUAL_ENV)}`)}if(process.env.SANDBOX_ENV)for(let B of process.env.SANDBOX_ENV.split(","))(B=B.trim())&&(B.includes("=")?(console.error(`SANDBOX_ENV: ${B}`),c.push("--env",B)):(console.error("ERROR: SANDBOX_ENV must be a comma-separated list of key=value pairs"),process.exit(1)));let S=process.env.NODE_OPTIONS||"",w=[...S?[S]:[],...e].join(" ");if(w.length>0&&c.push("--env",`NODE_OPTIONS="${w}"`),c.push("--env",`SANDBOX=${D}`),t.command==="podman"){let B=Q5.join(C3.tmpdir(),"empty_auth.json");I1.writeFileSync(B,"{}","utf-8"),c.push("--authfile",B)}let N="",M=Bjn(l);if(process.env.GEMINI_CLI_INTEGRATION_TEST==="true")c.push("--user","root"),N="--user root";else if(await Tjn()){c.push("--user","root");let B=kb("id -u").toString().trim(),q=kb("id -g").toString().trim(),W="gemini",re=oA(C3.homedir()),$=[`groupadd -f -g ${q} ${W}`,`id -u ${W} &>/dev/null || useradd -o -u ${B} -g ${q} -d ${re} -s /bin/bash ${W}`].join(" && "),Q=M[2].replace(/'/g,"'\\''"),J=`su -p ${W} -c '${Q}'`;M[2]=`${$} && ${J}`,N=`--user ${B}:${q}`,c.push("--env",`HOME=${C3.homedir()}`)}c.push(o),c.push(...M);let U,k;if(E){let B=`${t.command} run --rm --init ${N} --name ${nN} --network ${nN} -p 8877:8877 -v ${process.cwd()}:${l} --workdir ${l} ${o} ${E}`;U=QH(B,{stdio:["ignore","pipe","pipe"],shell:!0,detached:!0});let q=()=>{console.log("stopping proxy container ..."),kb(`${t.command} rm -f ${nN}`)};process.on("exit",q),process.on("SIGINT",q),process.on("SIGTERM",q),U.stderr?.on("data",W=>{console.error(W.toString().trim())}),U.on("close",(W,re)=>{console.error(`ERROR: proxy container command '${B}' exited with code ${W}, signal ${re}`),k?.pid&&process.kill(-k.pid,"SIGTERM"),process.exit(1)}),console.log("waiting for proxy to start ..."),await qYe("until timeout 0.25 curl -s http://localhost:8877; do sleep 0.25; done"),await qYe(`${t.command} network connect ${c6e} ${nN}`)}k=QH(t.command,c,{stdio:"inherit"}),k.on("error",B=>{console.error("Sandbox process error:",B)}),await new Promise(B=>{k?.on("close",(q,W)=>{q!==0&&console.log(`Sandbox process exited with code: ${q}, signal: ${W}`),B()})})}finally{n.cleanup()}}async function i0r(t,e){return new Promise(r=>{let i=QH(t,["images","-q",e]),a="";i.stdout&&i.stdout.on("data",s=>{a+=s.toString()}),i.on("error",s=>{console.warn(`Failed to start '${t}' command for image check: ${s.message}`),r(!1)}),i.on("close",s=>{r(a.trim()!=="")})})}async function Rjn(t,e){return console.info(`Attempting to pull image ${e} using ${t}...`),new Promise(r=>{let i=QH(t,["pull",e],{stdio:"pipe"}),a="",s=d=>{console.info(d.toString().trim())},o=d=>{a+=d.toString(),console.error(d.toString().trim())},l=d=>{console.warn(`Failed to start '${t} pull ${e}' command: ${d.message}`),c(),r(!1)},u=d=>{d===0?(console.info(`Successfully pulled image ${e}.`),c(),r(!0)):(console.warn(`Failed to pull image ${e}. '${t} pull ${e}' exited with code ${d}.`),a.trim(),c(),r(!1))},c=()=>{i.stdout&&i.stdout.removeListener("data",s),i.stderr&&i.stderr.removeListener("data",o),i.removeListener("error",l),i.removeListener("close",u),i.connected&&i.disconnect()};i.stdout&&i.stdout.on("data",s),i.stderr&&i.stderr.on("data",o),i.on("error",l),i.on("close",u)})}async function Njn(t,e){return console.info(`Checking for sandbox image: ${e}`),await i0r(t,e)?(console.info(`Sandbox image ${e} found locally.`),!0):(console.info(`Sandbox image ${e} not found locally.`),e===a0r?!1:await Rjn(t,e)?await i0r(t,e)?(console.info(`Sandbox image ${e} is now available after pulling.`),!0):(console.warn(`Sandbox image ${e} still not found after a pull attempt. This might indicate an issue with the image name or registry, or the pull command reported success but failed to make the image available.`),!1):(console.error(`Failed to obtain sandbox image ${e} after check and pull attempt.`),!1))}Hn();import $Ye from"fs/promises";import Ojn from"os";import{join as Fjn}from"node:path";var jYe=Fjn(Ojn.tmpdir(),"gemini-cli-warnings.txt");async function l0r(){try{await $Ye.access(jYe);let e=(await $Ye.readFile(jYe,"utf-8")).split(`
2036
+ ${i.updateMessage}`),x2.emit("update-received",{message:a}),!i.updateCommand||e.merged.disableAutoUpdate)return;let s=t.update.latest.includes("nightly"),o=i.updateCommand.replace("@latest",s?"@nightly":`@${t.update.latest}`),l=n(o,{stdio:"pipe",shell:!0}),u="";return l.stderr.on("data",c=>{u+=c.toString()}),l.on("close",c=>{c===0?x2.emit("update-success",{message:De.t("autoUpdate.success")}):x2.emit("update-failed",{message:De.t("autoUpdate.failedWithCommand",{command:o,stderr:u.trim()})})}),l.on("error",c=>{x2.emit("update-failed",{message:De.t("autoUpdate.failedWithError",{error:c.message})})}),l}function e0r(t,e){let r=!1,n=o=>{e(o);let l=o.message;setTimeout(()=>{r||t({type:"info",text:l},Date.now()),e(null)},6e4)},i=()=>{e(null),t({type:"error",text:De.t("autoUpdate.failedShort")},Date.now())},a=()=>{r=!0,e(null),t({type:"info",text:De.t("autoUpdate.success")},Date.now())},s=o=>{t({type:"info",text:o.message},Date.now())};return x2.on("update-received",n),x2.on("update-failed",i),x2.on("update-success",a),x2.on("update-info",s),()=>{x2.off("update-received",n),x2.off("update-failed",i),x2.off("update-success",a),x2.off("update-info",s)}}import{EventEmitter as Ajn}from"events";var Qb=new Ajn;import gjn from"node:os";import t0r from"node:path";import{promises as Ejn}from"node:fs";async function yjn(){try{let t=process.env.XDG_CONFIG_HOME||t0r.join(gjn.homedir(),".config"),e=t0r.join(t,"koda","credentials.json"),r=await Ejn.readFile(e,"utf-8"),n=JSON.parse(r);return(typeof n.githubToken=="string"?n.githubToken:"")||null}catch{return null}}function vjn(){return`${process.env.KODA_API_BASE||"https://api.kodacode.ru"}/ftc`}async function GYe(){let t=process.env.KODA_GITHUB_TOKEN||process.env.GITHUB_TOKEN||null;if(t||(t=await yjn()),!t)return null;let e=vjn(),r={Accept:"application/json","Accept-Encoding":"identity","Content-Type":"application/json",Authorization:`Bearer ${t}`};try{let n=await fetch(e,{method:"POST",headers:r,body:JSON.stringify({ghAuthToken:t})});if(!n.ok)return null;let i=await n.json(),a=Number(i.count??0),s=Number(i.limit??0);if(!Number.isFinite(a)||!Number.isFinite(s))return null;let o=Math.max(0,a);return{count:o,limit:s,remaining:s-o}}catch{return null}}var _r=Ve(Lt(),1);var _jn=1e3,r0r=t=>(0,_r.jsx)(_nr,{children:(0,_r.jsx)(Qfr,{settings:t.settings,children:(0,_r.jsx)(Djn,{...t})})}),Djn=({config:t,settings:e,startupWarnings:r=[],version:n})=>{let i=Snr();Lfr();let[a,s]=(0,Dr.useState)(null),{stdout:o}=rV(),l=n.includes("nightly"),{history:u,addItem:c,clearItems:d,loadHistory:h}=Bfr(),[f,E]=(0,Dr.useState)(!1),y=t.getIdeClient().getCurrentIde();(0,Dr.useEffect)(()=>{KU(()=>t.getIdeClient().disconnect())},[t]);let g=y&&!t.getIdeMode()&&!e.merged.hasSeenIdeIntegrationNudge&&!f;(0,Dr.useEffect)(()=>e0r(c,s),[c]);let{consoleMessages:C,handleNewMessage:D,clearConsoleMessages:S}=xor();(0,Dr.useEffect)(()=>{let Gt=new L5({onNewMessage:D,debugMode:t.getDebugMode()});Gt.patch(),KU(Gt.cleanup)},[D,t]);let{stats:w}=U6(),[N,M]=(0,Dr.useState)(!1),[U,k]=(0,Dr.useState)(0),B=(0,Dr.useCallback)(()=>{o.write(Ry.clearTerminal),k(Gt=>Gt+1)},[k,o]),[q,W]=(0,Dr.useState)(0),[re,$]=(0,Dr.useState)(""),[R,Q]=(0,Dr.useState)(null),[J,ae]=(0,Dr.useState)(null),[fe,K]=(0,Dr.useState)(null),[ne,he]=(0,Dr.useState)(0),[Ee,pe]=(0,Dr.useState)(!1),[_e,Se]=(0,Dr.useState)(t.isTrustedFolder()),[se,ve]=(0,Dr.useState)(t.getModel()),[X,ee]=(0,Dr.useState)(!1),[ie,me]=(0,Dr.useState)(!1),[ue,Ce]=(0,Dr.useState)(!1),[le,G]=(0,Dr.useState)(void 0),[Y,Ae]=(0,Dr.useState)(void 0),[te,H]=(0,Dr.useState)(!1),[ge,xe]=(0,Dr.useState)(null),He=(0,Dr.useRef)(null),[mt,xt]=(0,Dr.useState)(!1),Yt=(0,Dr.useRef)(null),ht=(0,Dr.useRef)(!1),[vt,Ut]=(0,Dr.useState)(!0),[dn,ei]=(0,Dr.useState)(!1),[gi,Di]=(0,Dr.useState)(!1),[Ca,Gi]=(0,Dr.useState)(void 0),[Be,rt]=(0,Dr.useState)(),[nt,Nt]=(0,Dr.useState)(!1),[mr,wr]=(0,Dr.useState)(!1);(0,Dr.useEffect)(()=>{let Gt=JE.subscribeToIdeContext(rt);return rt(JE.getIdeContext()),Gt},[]),(0,Dr.useEffect)(()=>{let Gt=()=>{me(!0),Ut(!1)};Qb.on("open-debug-console",Gt);let yi=ys=>{D({type:"error",content:String(ys),count:1})};return Qb.on("log-error",yi),()=>{Qb.off("open-debug-console",Gt),Qb.off("log-error",yi)}},[D]);let hr=(0,Dr.useCallback)(()=>{ei(!0)},[]),Pr=(0,Dr.useCallback)(Gt=>{if(!Gt){G(void 0),Ae(void 0),ht.current=!1;return}G(Gt.count),Ae(Gt.limit),Gt.limit>0&&Gt.count>=Gt.limit?ht.current||(c({type:"info",text:De.t("app.trial.limitReached")},Date.now()),ht.current=!0):ht.current=!1},[c,G,Ae]),Mr=(0,Dr.useCallback)(Gt=>{Nt(Gt)},[]),lo=(0,Dr.useRef)(!1),xl=(0,Dr.useMemo)(()=>C.filter(Gt=>Gt.type==="error").reduce((Gt,yi)=>Gt+yi.count,0),[C]),{isThemeDialogOpen:wc,openThemeDialog:Ad,handleThemeSelect:gd,handleThemeHighlight:wu}=Ynr(e,Q,c),{isSettingsDialogOpen:uo,openSettingsDialog:x1,closeSettingsDialog:B1}=Wfr(),{isModelDialogOpen:Ke,isCustomModelDialogOpen:$e,openModelDialog:ot,closeModelDialog:Ct,models:st,loading:fr,error:Qr,unauthorizedUserError:Wn,handleModelSelect:li,customModelError:ks,customModelBusy:Ei,customModelDraft:_a,customModelDialogMode:Ts,handleCustomModelEdit:yn,handleCustomModelDelete:Mi,handleCustomModelSubmit:Da,handleCustomModelCancel:da}=uir(t,e),{isFolderTrustDialogOpen:ju,handleFolderTrustSelect:_o}=Eir(e,Se),{isAuthDialogOpen:gs,openAuthDialog:Vn,handleAuthSelect:Xo,isAuthenticating:Li,cancelAuthentication:zn,verificationUri:Iu,userCode:co}=mir(e,ae,t);(0,Dr.useEffect)(()=>{if(e.merged.selectedAuthType&&!e.merged.useExternalAuth){let Gt=Bb(e.merged.selectedAuthType);Gt&&(ae(Gt),Vn())}},[e.merged.selectedAuthType,e.merged.useExternalAuth,Vn,ae]),(0,Dr.useEffect)(()=>{Li||Gi(t.getGeminiClient()?.getUserTier())},[t,Li]);let{isEditorDialogOpen:Ri,openEditorDialog:Tu,handleEditorSelect:Xs,exitEditorDialog:as}=yir(e,K,c),Mo=(0,Dr.useCallback)(()=>{pe(Gt=>!Gt)},[]),Re=(0,Dr.useCallback)(async()=>{c({type:"info",text:De.t("app.memory.refreshing")},Date.now());try{let{memoryContent:Gt,fileCount:yi}=await RYe(VYe.cwd(),e.merged.loadMemoryFromIncludeDirectories?t.getWorkspaceContext().getDirectories():[],t.getDebugMode(),t.getFileService(),e.merged,t.getExtensionContextFilePaths(),e.merged.memoryImportFormat||"tree",t.getFileFilteringOptions());t.setUserMemory(Gt),t.setGeminiMdFileCount(yi),W(yi);let ys=Gt.length>0?De.t("app.memory.refreshSuccess",{charCount:Gt.length,fileCount:yi}):De.t("app.memory.refreshSuccessEmpty");c({type:"info",text:ys},Date.now()),t.getDebugMode()&&console.log(`[DEBUG] Refreshed memory content in config: ${Gt.substring(0,200)}...`)}catch(Gt){let yi=sr(Gt);c({type:"error",text:De.t("app.memory.refreshError",{error:yi})},Date.now()),console.error("Error refreshing memory:",Gt)}},[t,c,e.merged]);(0,Dr.useEffect)(()=>{let Gt=()=>{let ys=t.getModel();ys!==se&&ve(ys)};Gt();let yi=setInterval(Gt,1e3);return()=>clearInterval(yi)},[t,se]),(0,Dr.useEffect)(()=>{(async()=>{try{let Gt=await GYe();Pr(Gt)}catch{Pr(null)}})()},[e.merged.selectedAuthType,se,Pr]),(0,Dr.useEffect)(()=>{let Gt=async(yi,ys,yd)=>{let Al;if(t.getContentGeneratorConfig().authType===ln.LOGIN_WITH_GITHUB){let gl=Ca===zh.LEGACY||Ca===zh.STANDARD;yd&&nb(yd)?gl?Al=De.t("app.flashFallback.proQuotaExceeded",{currentModel:yi,fallbackModel:ys}):Al=De.t("app.flashFallback.freeQuotaExceeded",{currentModel:yi,fallbackModel:ys}):yd&&nR(yd)?gl?Al=De.t("app.flashFallback.proGenericQuota",{currentModel:yi,fallbackModel:ys}):Al=De.t("app.flashFallback.freeGenericQuota",{currentModel:yi,fallbackModel:ys}):gl?Al=De.t("app.flashFallback.proDefault",{currentModel:yi,fallbackModel:ys}):Al=De.t("app.flashFallback.freeDefault",{currentModel:yi,fallbackModel:ys}),c({type:"info",text:Al},Date.now()),Di(!0),t.setQuotaErrorOccurred(!0)}return t.setModel(ys),t.setFallbackMode(!0),Dle(t,new eF(t.getContentGeneratorConfig().authType)),!1};t.setFlashFallbackHandler(Gt)},[t,c,Ca]);let{rows:Fe,columns:Xe}=gg(),lt=Sb(Xe),{stdin:Et,setRawMode:Rt}=v8(),$t=(0,Dr.useRef)(!0),zt=Math.max(20,Math.floor(Xe*.9)-3),Xt=Math.max(20,Math.floor(Xe*.8)),ar=(0,Dr.useCallback)(Gt=>{try{return u6e.existsSync(Gt)&&u6e.statSync(Gt).isFile()}catch{return!1}},[]),tn=(0,Dr.useCallback)(()=>{let Gt=e.merged.preferredEditor;if(!_J(Gt)){Tu();return}return Gt},[e,Tu]),Pi=(0,Dr.useCallback)(()=>{ae(De.t("app.auth.reauthRequired")),Vn()},[Vn,ae]),{vimEnabled:Es,vimMode:ui,toggleVimEnabled:Do}=MH(),{handleSlashCommand:Us,slashCommands:Ic,pendingHistoryItems:hl,commandContext:N2,shellConfirmationRequest:xp,confirmationRequest:Ed}=Ior(t,e,c,d,h,B,$,Ad,Vn,Tu,ot,Mo,xe,hr,x1,Do,wr,W),zd=uur({initialText:"",viewport:{height:10,width:zt},stdin:Et,setRawMode:Rt,isValidPath:ar,shellModeActive:X}),[Pm,Qm]=(0,Dr.useState)([]),xu=(0,Dr.useCallback)(()=>{let Gt=Pm.at(-1);Gt&&zd.setText(Gt)},[zd,Pm]),{streamingState:Yu,submitQuery:Tc,initError:Kd,pendingHistoryItems:Sf,thought:x0,cancelOngoingRequest:xc,activeActivity:Z6}=Inr(t.getGeminiClient(),u,c,t,$,Us,X,tn,Pi,Re,gi,Di,B,xu);(0,Dr.useEffect)(()=>{Yu==="idle"&&(async()=>{try{let Gt=await GYe();Gt&&Pr(Gt)}catch{}})()},[Yu,Pr]);let B0=(0,Dr.useCallback)(Gt=>{let yi=Gt.trim();yi.length>0&&Tc(yi)},[Tc]),e4=(0,Dr.useCallback)(Gt=>{Gt.userSelection==="yes"?(Gt.isExtensionPreInstalled?Us("/ide enable"):Us("/ide install"),e.setValue("User","hasSeenIdeIntegrationNudge",!0)):Gt.userSelection==="dismiss"&&e.setValue("User","hasSeenIdeIntegrationNudge",!0),E(!0)},[Us,e]),{handleInput:t4}=Hfr(zd,B0),Wu=[...hl];Wu.push(...Sf);let{elapsedTime:D3,currentLoadingPhrase:r4}=Bnr(Yu,Z6),O2=Tor({config:t}),S3=ige(),R1=(0,Dr.useCallback)((Gt,yi,ys)=>{Gt?(ys.current&&clearTimeout(ys.current),Us("/quit")):(yi(!0),ys.current=setTimeout(()=>{yi(!1),ys.current=null},_jn))},[Us]),km=(0,Dr.useCallback)(Gt=>{let yi=!1;if(vt||(yi=!0,Ut(!0)),ns.showErrorDetails(Gt))me(ys=>!ys);else if(ns.toggleToolDescriptions(Gt)){let ys=!ue;Ce(ys);let yd=t.getMcpServers();Object.keys(yd||{}).length>0&&Us(ys?"/mcp desc":"/mcp nodesc")}else if(ns.toggleIDEContextDetail(Gt)&&t.getIdeMode()&&Be)Us("/ide status");else if(ns.quit(Gt)){if(Li)return;te||xc?.(),R1(te,H,He)}else if(ns.exit(Gt)){if(zd.text.length>0)return;R1(mt,xt,Yt)}else ns.showMoreLines(Gt)&&!yi&&Ut(!1)},[vt,Ut,me,ue,Ce,t,Be,R1,te,H,He,zd.text.length,mt,xt,Yt,Us,Li,xc]);ts(km,{isActive:!0,kittyProtocolEnabled:S3.enabled,config:t}),(0,Dr.useEffect)(()=>{t&&W(t.getGeminiMdFileCount())},[t,t.getGeminiMdFileCount]);let Bc=RAe();(0,Dr.useEffect)(()=>{(async()=>{let yi=await Bc?.getPreviousUserMessages()||[],yd=[...u.filter(gl=>gl.type==="user"&&typeof gl.text=="string"&&gl.text.trim()!=="").map(gl=>gl.text).reverse(),...yi],Al=[];if(yd.length>0){Al.push(yd[0]);for(let gl=1;gl<yd.length;gl++)yd[gl]!==yd[gl-1]&&Al.push(yd[gl])}Qm(Al.reverse())})()},[u,Bc]);let F2=Yu==="idle"&&!Kd&&!mr,Bp=(0,Dr.useCallback)(()=>{d(),S(),console.clear(),B()},[d,S,B]),bf=(0,Dr.useRef)(null),n4=(0,Dr.useRef)(null);(0,Dr.useEffect)(()=>{if(bf.current){let Gt=P3e(bf.current);he(Gt.height)}},[Fe,C,ie]);let $5=3,b3=(0,Dr.useMemo)(()=>Fe-ne-$5,[Fe,ne]);(0,Dr.useEffect)(()=>{if($t.current){$t.current=!1;return}let Gt=setTimeout(()=>{M(!1),B()},300);return()=>{clearTimeout(Gt)}},[Xe,Fe,B]),(0,Dr.useEffect)(()=>{Yu==="idle"&&N&&(M(!1),B())},[Yu,B,N]);let M2=(0,Dr.useMemo)(()=>t.getDebugMode()?C:C.filter(Gt=>Gt.type!=="debug"),[C,t]),R0=Ffr(t.getTargetDir()),N0=(0,Dr.useMemo)(()=>{let Gt=e.merged.contextFileName;return Gt?Array.isArray(Gt)?Gt:[Gt]:MS()},[e.merged.contextFileName]),ci=(0,Dr.useMemo)(()=>t.getQuestion(),[t]),Kt=t.getGeminiClient();if((0,Dr.useEffect)(()=>{ci&&!lo.current&&!Li&&!gs&&!wc&&!Ri&&!dn&&Kt?.isInitialized?.()&&(Tc(ci),lo.current=!0)},[ci,Tc,Li,gs,wc,Ri,dn,Kt]),ge)return(0,_r.jsx)(Le,{flexDirection:"column",marginBottom:1,children:ge.map(Gt=>(0,_r.jsx)(i6e,{availableTerminalHeight:vt?b3:void 0,terminalWidth:Xe,item:Gt,isPending:!1,config:t},Gt.id))});let Rc=Math.floor(Xe*.9),Um=Math.floor(Math.max(Fe*.2,5)),ss=Math.max(Fe*4,100),Nc=Es?De.t("app.placeholders.vim"):De.t("app.placeholders.default");return(0,_r.jsx)(J$e.Provider,{value:Yu,children:(0,_r.jsxs)(Le,{flexDirection:"column",width:"90%",children:[(0,_r.jsx)(Gee,{items:[(0,_r.jsxs)(Le,{flexDirection:"column",children:[!e.merged.hideBanner&&(0,_r.jsx)(qlr,{version:n,nightly:l}),!e.merged.hideTips&&(0,_r.jsx)(j1r,{config:t})]},"header"),...u.map(Gt=>(0,_r.jsx)(i6e,{terminalWidth:Rc,availableTerminalHeight:ss,item:Gt,isPending:!1,config:t,commands:Ic},Gt.id))],children:Gt=>Gt},U),(0,_r.jsx)(Ege,{children:(0,_r.jsxs)(Le,{ref:n4,flexDirection:"column",children:[Wu.map((Gt,yi)=>(0,_r.jsx)(i6e,{availableTerminalHeight:vt?b3:void 0,terminalWidth:Rc,item:{...Gt,id:0},isPending:!0,config:t,isFocused:!Ri},yi)),(0,_r.jsx)(a6e,{constrainHeight:vt})]})}),(0,_r.jsxs)(Le,{flexDirection:"column",ref:bf,children:[a&&(0,_r.jsx)(Gfr,{message:a.message}),r.length>0&&(0,_r.jsx)(Le,{borderStyle:"round",borderColor:ke.AccentYellow,paddingX:1,marginY:1,flexDirection:"column",children:r.map((Gt,yi)=>(0,_r.jsx)(be,{color:ke.AccentYellow,children:Gt},yi))}),g&&y?(0,_r.jsx)(Rfr,{ide:y,onComplete:e4}):ju?(0,_r.jsx)(hir,{onSelect:_o}):xp?(0,_r.jsx)(Rdr,{request:xp}):Ed?(0,_r.jsxs)(Le,{flexDirection:"column",children:[Ed.prompt,(0,_r.jsx)(Le,{paddingY:1,children:(0,_r.jsx)(Kl,{items:[{label:De.t("app.confirmation.yes"),value:!0},{label:De.t("app.confirmation.no"),value:!1}],onSelect:Gt=>{Ed.onConfirm(Gt)}})})]}):wc?(0,_r.jsxs)(Le,{flexDirection:"column",children:[R&&(0,_r.jsx)(Le,{marginBottom:1,children:(0,_r.jsx)(be,{color:ke.AccentRed,children:R})}),(0,_r.jsx)(Ddr,{onSelect:gd,onHighlight:wu,settings:e,availableTerminalHeight:vt?Fe-$5:void 0,terminalWidth:Rc})]}):uo?(0,_r.jsx)(Le,{flexDirection:"column",children:(0,_r.jsx)(Kfr,{settings:e,onSelect:()=>B1(),onRestartRequest:()=>VYe.exit(0)})}):$e?(0,_r.jsx)(Le,{flexDirection:"column",children:(0,_r.jsx)(bdr,{onSubmit:Da,onCancel:da,error:ks,busy:Ei,initialValues:_a??void 0,mode:Ts})}):Ke?(0,_r.jsx)(Le,{flexDirection:"column",children:(0,_r.jsx)(Sdr,{settings:e,models:st,loading:fr,error:Qr,unauthorizedUserError:Wn,onSelect:li,onEdit:yn,onDelete:Mi,onExit:Ct})}):Li?(0,_r.jsxs)(_r.Fragment,{children:[(0,_r.jsx)(Tdr,{onTimeout:()=>{ae(De.t("app.auth.timeout")),zn(),Vn()},verificationUri:Iu,userCode:co}),ie&&(0,_r.jsx)(Ege,{children:(0,_r.jsxs)(Le,{flexDirection:"column",children:[(0,_r.jsx)(NYe,{messages:M2,maxHeight:vt?Um:void 0,width:zt}),(0,_r.jsx)(a6e,{constrainHeight:vt})]})})]}):gs?(0,_r.jsx)(Le,{flexDirection:"column",children:(0,_r.jsx)(Idr,{onSelect:Xo,settings:e,initialErrorMessage:J})}):Ri?(0,_r.jsxs)(Le,{flexDirection:"column",children:[fe&&(0,_r.jsx)(Le,{marginBottom:1,children:(0,_r.jsx)(be,{color:ke.AccentRed,children:fe})}),(0,_r.jsx)(Bdr,{onSelect:Xs,settings:e,onExit:as})]}):dn?(0,_r.jsx)(Yfr,{onExit:()=>ei(!1),config:t}):(0,_r.jsxs)(_r.Fragment,{children:[(0,_r.jsx)(Klr,{thought:Yu==="waiting_for_confirmation"||t.getAccessibility()?.disableLoadingPhrases?void 0:x0,currentLoadingPhrase:t.getAccessibility()?.disableLoadingPhrases?void 0:r4,elapsedTime:D3}),(0,_r.jsxs)(Le,{marginTop:1,justifyContent:"space-between",width:"100%",flexDirection:lt?"column":"row",alignItems:lt?"flex-start":"center",children:[(0,_r.jsxs)(Le,{children:[VYe.env.GEMINI_SYSTEM_MD&&(0,_r.jsx)(be,{color:ke.AccentRed,children:"|\u2310\u25A0_\u25A0| "}),te?(0,_r.jsx)(be,{color:ke.AccentYellow,children:De.t("app.prompts.pressCtrlCAgain")}):mt?(0,_r.jsx)(be,{color:ke.AccentYellow,children:De.t("app.prompts.pressCtrlDAgain")}):nt?(0,_r.jsx)(be,{color:ke.Gray,children:De.t("app.prompts.pressEscAgain")}):(0,_r.jsx)(xfr,{ideContext:Be,geminiMdFileCount:q,contextFileNames:N0,mcpServers:t.getMcpServers(),blockedMcpServers:t.getBlockedMcpServers(),showToolDescriptions:ue})]}),(0,_r.jsxs)(Le,{paddingTop:lt?1:0,children:[O2!==qa.DEFAULT&&!X&&(0,_r.jsx)(Jlr,{approvalMode:O2}),X&&(0,_r.jsx)(Xlr,{})]})]}),ie&&(0,_r.jsx)(Ege,{children:(0,_r.jsxs)(Le,{flexDirection:"column",children:[(0,_r.jsx)(NYe,{messages:M2,maxHeight:vt?Um:void 0,width:zt}),(0,_r.jsx)(a6e,{constrainHeight:vt})]})}),F2&&(0,_r.jsx)(wur,{buffer:zd,inputWidth:zt,suggestionsWidth:Xt,onSubmit:B0,userMessages:Pm,onClearScreen:Bp,config:t,slashCommands:Ic,commandContext:N2,shellModeActive:X,setShellModeActive:ee,onEscapePromptChange:Mr,focus:i,vimHandleInput:t4,placeholder:Nc})]}),Kd&&Yu!=="responding"&&(0,_r.jsx)(Le,{borderStyle:"round",borderColor:ke.AccentRed,paddingX:1,marginBottom:1,children:u.find(Gt=>Gt.type==="error"&&Gt.text?.includes(Kd))?.text?(0,_r.jsx)(be,{color:ke.AccentRed,children:u.find(Gt=>Gt.type==="error"&&Gt.text?.includes(Kd))?.text}):(0,_r.jsxs)(_r.Fragment,{children:[(0,_r.jsx)(be,{color:ke.AccentRed,children:De.t("app.init.error",{error:Kd})}),(0,_r.jsx)(be,{color:ke.AccentRed,children:De.t("app.init.checkConfig")})]})}),(0,_r.jsx)(Our,{model:se,targetDir:t.getTargetDir(),debugMode:t.getDebugMode(),branchName:R0,debugMessage:re,corgiMode:Ee,errorCount:xl,showErrorDetails:ie,showMemoryUsage:t.getDebugMode()||e.merged.showMemoryUsage||!1,promptTokenCount:w.lastPromptTokenCount,nightly:l,vimMode:Es?ui:void 0,isTrustedFolder:_e,trialRequestsUsed:le,trialRequestsLimit:Y})]})]})})};async function n0r(){return new Promise((e,r)=>{let n="",i=0;process.stdin.setEncoding("utf8");let a=()=>{let u;for(;(u=process.stdin.read())!==null;){if(i+u.length>8388608){let c=8388608-i;n+=u.slice(0,c),console.warn("Warning: stdin input truncated to 8388608 bytes."),process.stdin.destroy();break}n+=u,i+=u.length}},s=()=>{l(),e(n)},o=u=>{l(),r(u)},l=()=>{process.stdin.removeListener("readable",a),process.stdin.removeListener("end",s),process.stdin.removeListener("error",o)};process.stdin.on("readable",a),process.stdin.on("end",s),process.stdin.on("error",o)})}import{basename as mei}from"node:path";import hei from"node:v8";import Aei from"node:os";import gei from"node:dns";import{spawn as Eei}from"node:child_process";var UX=Ve(Lpe(),1);import{exec as Sjn,execSync as kb,spawn as QH}from"node:child_process";import C3 from"node:os";import Q5 from"node:path";import I1 from"node:fs";import{readFile as bjn}from"node:fs/promises";import{promisify as wjn}from"util";var qYe=wjn(Sjn);function oA(t){if(C3.platform()!=="win32")return t;let r=t.replace(/\\/g,"/").match(/^([A-Z]):\/(.*)/i);return r?`/${r[1].toLowerCase()}/${r[2]}`:t}var a0r="gemini-cli-sandbox",c6e="gemini-cli-sandbox",nN="gemini-cli-sandbox-proxy",Ijn=["permissive-open","permissive-closed","permissive-proxied","restrictive-open","restrictive-closed","restrictive-proxied"];async function Tjn(){let t=process.env.SANDBOX_SET_UID_GID?.toLowerCase().trim();if(t==="1"||t==="true")return!0;if(t==="0"||t==="false")return!1;if(C3.platform()==="linux")try{let e=await bjn("/etc/os-release","utf8");if(e.includes("ID=debian")||e.includes("ID=ubuntu")||e.match(/^ID_LIKE=.*debian.*/m)||e.match(/^ID_LIKE=.*ubuntu.*/m))return console.error("INFO: Defaulting to use current user UID/GID for Debian/Ubuntu-based Linux."),!0}catch{console.warn("Warning: Could not read /etc/os-release to auto-detect Debian/Ubuntu for UID/GID default.")}return!1}function xjn(t){let[e,r]=t.split(":"),n=e.split("/").at(-1)??"unknown-image";return r?`${n}-${r}`:n}function s0r(){return(process.env.SANDBOX_PORTS??"").split(",").filter(t=>t.trim()).map(t=>t.trim())}function Bjn(t){let e=C3.platform()==="win32",r=oA(t),n=[],i=e?";":":",a="";if(process.env.PATH){let d=process.env.PATH.split(i);for(let h of d){let f=oA(h);f.toLowerCase().startsWith(r.toLowerCase())&&(a+=`:${f}`)}}a&&n.push(`export PATH="$PATH${a}";`);let s="";if(process.env.PYTHONPATH){let d=process.env.PYTHONPATH.split(i);for(let h of d){let f=oA(h);f.toLowerCase().startsWith(r.toLowerCase())&&(s+=`:${f}`)}}s&&n.push(`export PYTHONPATH="$PYTHONPATH${s}";`);let o=Q5.join(q7,"sandbox.bashrc");I1.existsSync(o)&&n.push(`source ${oA(o)};`),s0r().forEach(d=>n.push(`socat TCP4-LISTEN:${d},bind=$(hostname -i),fork,reuseaddr TCP4:127.0.0.1:${d} 2> /dev/null &`));let l=process.argv.slice(2).map(d=>(0,UX.quote)([d])),u=process.env.NODE_ENV==="development"?process.env.DEBUG?"npm run debug --":"npm rebuild && npm run start --":process.env.DEBUG?`node --inspect-brk=0.0.0.0:${process.env.DEBUG_PORT||"9229"} $(which gemini)`:"gemini";return["bash","-c",[...n,u,...l].join(" ")]}async function o0r(t,e=[],r){let n=new L5({debugMode:r?.getDebugMode()||!!process.env.DEBUG,stderr:!0});n.patch();try{if(t.command==="sandbox-exec"){process.env.BUILD_SANDBOX&&(console.error("ERROR: cannot BUILD_SANDBOX when using macOS Seatbelt"),process.exit(1));let B=process.env.SEATBELT_PROFILE??="permissive-open",q=new URL(`sandbox-macos-${B}.sb`,import.meta.url).pathname;Ijn.includes(B)||(q=Q5.join(q7,`sandbox-macos-${B}.sb`)),I1.existsSync(q)||(console.error(`ERROR: missing macos seatbelt profile file '${q}'`),process.exit(1)),console.error(`using macos seatbelt (profile: ${B}) ...`);let W=[...process.env.DEBUG?["--inspect-brk"]:[],...e].join(" "),re=["-D",`TARGET_DIR=${I1.realpathSync(process.cwd())}`,"-D",`TMP_DIR=${I1.realpathSync(C3.tmpdir())}`,"-D",`HOME_DIR=${I1.realpathSync(C3.homedir())}`,"-D",`CACHE_DIR=${I1.realpathSync(kb("getconf DARWIN_USER_CACHE_DIR").toString().trim())}`],$=5,R=I1.realpathSync(r?.getTargetDir()||""),Q=[];if(r){let he=r.getWorkspaceContext().getDirectories();for(let Ee of he){let pe=I1.realpathSync(Ee);pe!==R&&Q.push(pe)}}for(let ne=0;ne<$;ne++){let he="/dev/null";ne<Q.length&&(he=Q[ne]),re.push("-D",`INCLUDE_DIR_${ne}=${he}`)}re.push("-f",q,"sh","-c",["SANDBOX=sandbox-exec",`NODE_OPTIONS="${W}"`,...process.argv.map(ne=>(0,UX.quote)([ne]))].join(" "));let J=process.env.GEMINI_SANDBOX_PROXY_COMMAND,ae,fe,K={...process.env};if(J){let ne=process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||"http://localhost:8877";K.HTTPS_PROXY=ne,K.https_proxy=ne,K.HTTP_PROXY=ne,K.http_proxy=ne;let he=process.env.NO_PROXY||process.env.no_proxy;he&&(K.NO_PROXY=he,K.no_proxy=he),ae=QH(J,{stdio:["ignore","pipe","pipe"],shell:!0,detached:!0});let Ee=()=>{console.log("stopping proxy ..."),ae?.pid&&process.kill(-ae.pid,"SIGTERM")};process.on("exit",Ee),process.on("SIGINT",Ee),process.on("SIGTERM",Ee),ae.stderr?.on("data",pe=>{console.error(pe.toString())}),ae.on("close",(pe,_e)=>{console.error(`ERROR: proxy command '${J}' exited with code ${pe}, signal ${_e}`),fe?.pid&&process.kill(-fe.pid,"SIGTERM"),process.exit(1)}),console.log("waiting for proxy to start ..."),await qYe("until timeout 0.25 curl -s http://localhost:8877; do sleep 0.25; done")}fe=QH(t.command,re,{stdio:"inherit"}),await new Promise(ne=>fe?.on("close",ne));return}console.error(`hopping into sandbox (command: ${t.command}) ...`);let i=I1.realpathSync(process.argv[1]),a=Q5.join(q7,"sandbox.Dockerfile"),s=I1.existsSync(a),o=t.image,l=Q5.resolve(process.cwd()),u=oA(l);if(process.env.BUILD_SANDBOX)if(!i.includes("gemini-cli/packages/"))console.error("ERROR: cannot build sandbox using installed gemini binary; run `npm link ./packages/cli` under gemini-cli repo to switch to linked binary."),process.exit(1);else{console.error("building sandbox ...");let B=i.split("/packages/")[0],q="",W=Q5.join(q7,"sandbox.Dockerfile");s&&(console.error(`using ${W} for sandbox`),q+=`-f ${Q5.resolve(W)} -i ${o}`),kb(`cd ${B} && node scripts/build_sandbox.js -s ${q}`,{stdio:"inherit",env:{...process.env,GEMINI_SANDBOX:t.command}})}await Njn(t.command,o)||(console.error(`ERROR: Sandbox image '${o}' is missing or could not be pulled. ${o===a0r?"Try running `npm run build:all` or `npm run build:sandbox` under the gemini-cli repo to build it locally, or check the image name and your network connection.":"Please check the image name, your network connection, or notify gemini-cli-dev@google.com if the issue persists."}`),process.exit(1));let c=["run","-i","--rm","--init","--workdir",u];if(process.env.SANDBOX_FLAGS){let B=(0,UX.parse)(process.env.SANDBOX_FLAGS,process.env).filter(q=>typeof q=="string");c.push(...B)}process.stdin.isTTY&&c.push("-t"),c.push("--volume",`${l}:${u}`);let d=bqe,h=oA(`/home/node/${q7}`);I1.existsSync(d)||I1.mkdirSync(d),c.push("--volume",`${d}:${h}`),h!==d&&c.push("--volume",`${d}:${oA(d)}`),c.push("--volume",`${C3.tmpdir()}:${oA(C3.tmpdir())}`);let f=Q5.join(C3.homedir(),".config","gcloud");if(I1.existsSync(f)&&c.push("--volume",`${f}:${oA(f)}:ro`),process.env.GOOGLE_APPLICATION_CREDENTIALS){let B=process.env.GOOGLE_APPLICATION_CREDENTIALS;I1.existsSync(B)&&(c.push("--volume",`${B}:${oA(B)}:ro`),c.push("--env",`GOOGLE_APPLICATION_CREDENTIALS=${oA(B)}`))}if(process.env.SANDBOX_MOUNTS){for(let B of process.env.SANDBOX_MOUNTS.split(","))if(B.trim()){let[q,W,re]=B.trim().split(":");W=W||q,re=re||"ro",B=`${q}:${W}:${re}`,Q5.isAbsolute(q)||(console.error(`ERROR: path '${q}' listed in SANDBOX_MOUNTS must be absolute`),process.exit(1)),I1.existsSync(q)||(console.error(`ERROR: missing mount path '${q}' listed in SANDBOX_MOUNTS`),process.exit(1)),console.error(`SANDBOX_MOUNTS: ${q} -> ${W} (${re})`),c.push("--volume",B)}}if(s0r().forEach(B=>c.push("--publish",`${B}:${B}`)),process.env.DEBUG){let B=process.env.DEBUG_PORT||"9229";c.push("--publish",`${B}:${B}`)}let E=process.env.GEMINI_SANDBOX_PROXY_COMMAND;if(E){let B=process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||"http://localhost:8877";B=B.replace("localhost",nN),B&&(c.push("--env",`HTTPS_PROXY=${B}`),c.push("--env",`https_proxy=${B}`),c.push("--env",`HTTP_PROXY=${B}`),c.push("--env",`http_proxy=${B}`));let q=process.env.NO_PROXY||process.env.no_proxy;q&&(c.push("--env",`NO_PROXY=${q}`),c.push("--env",`no_proxy=${q}`)),B&&(kb(`${t.command} network inspect ${c6e} || ${t.command} network create --internal ${c6e}`),c.push("--network",c6e),E&&kb(`${t.command} network inspect ${nN} || ${t.command} network create ${nN}`))}let y=xjn(o),g=0,C=kb(`${t.command} ps -a --format "{{.Names}}"`).toString().trim();for(;C.includes(`${y}-${g}`);)g++;let D=`${y}-${g}`;c.push("--name",D,"--hostname",D),process.env.KODA_API_KEY&&c.push("--env",`KODA_API_KEY=${process.env.KODA_API_KEY}`),process.env.GOOGLE_API_KEY&&c.push("--env",`GOOGLE_API_KEY=${process.env.GOOGLE_API_KEY}`),process.env.GOOGLE_GENAI_USE_VERTEXAI&&c.push("--env",`GOOGLE_GENAI_USE_VERTEXAI=${process.env.GOOGLE_GENAI_USE_VERTEXAI}`),process.env.GOOGLE_GENAI_USE_GCA&&c.push("--env",`GOOGLE_GENAI_USE_GCA=${process.env.GOOGLE_GENAI_USE_GCA}`),process.env.GOOGLE_CLOUD_PROJECT&&c.push("--env",`GOOGLE_CLOUD_PROJECT=${process.env.GOOGLE_CLOUD_PROJECT}`),process.env.GOOGLE_CLOUD_LOCATION&&c.push("--env",`GOOGLE_CLOUD_LOCATION=${process.env.GOOGLE_CLOUD_LOCATION}`),process.env.GEMINI_MODEL&&c.push("--env",`GEMINI_MODEL=${process.env.GEMINI_MODEL}`),process.env.KODA_RESPONSE_LANGUAGE&&c.push("--env",`KODA_RESPONSE_LANGUAGE=${process.env.KODA_RESPONSE_LANGUAGE}`),process.env.TERM&&c.push("--env",`TERM=${process.env.TERM}`),process.env.COLORTERM&&c.push("--env",`COLORTERM=${process.env.COLORTERM}`);for(let B of["KODA_CLI_IDE_SERVER_PORT","GEMINI_CLI_IDE_SERVER_PORT","GEMINI_CLI_IDE_WORKSPACE_PATH","TERM_PROGRAM"])process.env[B]&&c.push("--env",`${B}=${process.env[B]}`);if(process.env.VIRTUAL_ENV?.toLowerCase().startsWith(l.toLowerCase())){let B=Q5.resolve(q7,"sandbox.venv");I1.existsSync(B)||I1.mkdirSync(B,{recursive:!0}),c.push("--volume",`${B}:${oA(process.env.VIRTUAL_ENV)}`),c.push("--env",`VIRTUAL_ENV=${oA(process.env.VIRTUAL_ENV)}`)}if(process.env.SANDBOX_ENV)for(let B of process.env.SANDBOX_ENV.split(","))(B=B.trim())&&(B.includes("=")?(console.error(`SANDBOX_ENV: ${B}`),c.push("--env",B)):(console.error("ERROR: SANDBOX_ENV must be a comma-separated list of key=value pairs"),process.exit(1)));let S=process.env.NODE_OPTIONS||"",w=[...S?[S]:[],...e].join(" ");if(w.length>0&&c.push("--env",`NODE_OPTIONS="${w}"`),c.push("--env",`SANDBOX=${D}`),t.command==="podman"){let B=Q5.join(C3.tmpdir(),"empty_auth.json");I1.writeFileSync(B,"{}","utf-8"),c.push("--authfile",B)}let N="",M=Bjn(l);if(process.env.GEMINI_CLI_INTEGRATION_TEST==="true")c.push("--user","root"),N="--user root";else if(await Tjn()){c.push("--user","root");let B=kb("id -u").toString().trim(),q=kb("id -g").toString().trim(),W="gemini",re=oA(C3.homedir()),$=[`groupadd -f -g ${q} ${W}`,`id -u ${W} &>/dev/null || useradd -o -u ${B} -g ${q} -d ${re} -s /bin/bash ${W}`].join(" && "),Q=M[2].replace(/'/g,"'\\''"),J=`su -p ${W} -c '${Q}'`;M[2]=`${$} && ${J}`,N=`--user ${B}:${q}`,c.push("--env",`HOME=${C3.homedir()}`)}c.push(o),c.push(...M);let U,k;if(E){let B=`${t.command} run --rm --init ${N} --name ${nN} --network ${nN} -p 8877:8877 -v ${process.cwd()}:${l} --workdir ${l} ${o} ${E}`;U=QH(B,{stdio:["ignore","pipe","pipe"],shell:!0,detached:!0});let q=()=>{console.log("stopping proxy container ..."),kb(`${t.command} rm -f ${nN}`)};process.on("exit",q),process.on("SIGINT",q),process.on("SIGTERM",q),U.stderr?.on("data",W=>{console.error(W.toString().trim())}),U.on("close",(W,re)=>{console.error(`ERROR: proxy container command '${B}' exited with code ${W}, signal ${re}`),k?.pid&&process.kill(-k.pid,"SIGTERM"),process.exit(1)}),console.log("waiting for proxy to start ..."),await qYe("until timeout 0.25 curl -s http://localhost:8877; do sleep 0.25; done"),await qYe(`${t.command} network connect ${c6e} ${nN}`)}k=QH(t.command,c,{stdio:"inherit"}),k.on("error",B=>{console.error("Sandbox process error:",B)}),await new Promise(B=>{k?.on("close",(q,W)=>{q!==0&&console.log(`Sandbox process exited with code: ${q}, signal: ${W}`),B()})})}finally{n.cleanup()}}async function i0r(t,e){return new Promise(r=>{let i=QH(t,["images","-q",e]),a="";i.stdout&&i.stdout.on("data",s=>{a+=s.toString()}),i.on("error",s=>{console.warn(`Failed to start '${t}' command for image check: ${s.message}`),r(!1)}),i.on("close",s=>{r(a.trim()!=="")})})}async function Rjn(t,e){return console.info(`Attempting to pull image ${e} using ${t}...`),new Promise(r=>{let i=QH(t,["pull",e],{stdio:"pipe"}),a="",s=d=>{console.info(d.toString().trim())},o=d=>{a+=d.toString(),console.error(d.toString().trim())},l=d=>{console.warn(`Failed to start '${t} pull ${e}' command: ${d.message}`),c(),r(!1)},u=d=>{d===0?(console.info(`Successfully pulled image ${e}.`),c(),r(!0)):(console.warn(`Failed to pull image ${e}. '${t} pull ${e}' exited with code ${d}.`),a.trim(),c(),r(!1))},c=()=>{i.stdout&&i.stdout.removeListener("data",s),i.stderr&&i.stderr.removeListener("data",o),i.removeListener("error",l),i.removeListener("close",u),i.connected&&i.disconnect()};i.stdout&&i.stdout.on("data",s),i.stderr&&i.stderr.on("data",o),i.on("error",l),i.on("close",u)})}async function Njn(t,e){return console.info(`Checking for sandbox image: ${e}`),await i0r(t,e)?(console.info(`Sandbox image ${e} found locally.`),!0):(console.info(`Sandbox image ${e} not found locally.`),e===a0r?!1:await Rjn(t,e)?await i0r(t,e)?(console.info(`Sandbox image ${e} is now available after pulling.`),!0):(console.warn(`Sandbox image ${e} still not found after a pull attempt. This might indicate an issue with the image name or registry, or the pull command reported success but failed to make the image available.`),!1):(console.error(`Failed to obtain sandbox image ${e} after check and pull attempt.`),!1))}Hn();import $Ye from"fs/promises";import Ojn from"os";import{join as Fjn}from"node:path";var jYe=Fjn(Ojn.tmpdir(),"gemini-cli-warnings.txt");async function l0r(){try{await $Ye.access(jYe);let e=(await $Ye.readFile(jYe,"utf-8")).split(`
2037
2037
  `).filter(r=>r.trim()!=="");try{await $Ye.unlink(jYe)}catch{e.push("Warning: Could not delete temporary warnings file.")}return e}catch(t){return t instanceof Error&&"code"in t&&t.code==="ENOENT"?[]:[`Error checking/reading warnings file: ${sr(t)}`]}}import YYe from"fs/promises";import*as u0r from"os";import Mjn from"path";var Ljn={id:"home-directory",check:async t=>{try{let[e,r]=await Promise.all([YYe.realpath(t),YYe.realpath(u0r.homedir())]);return e===r?De.t("startupWarnings.homeDirectory.message"):null}catch{return De.t("startupWarnings.fileSystemError.message")}}},Pjn={id:"root-directory",check:async t=>{try{let e=await YYe.realpath(t);return Mjn.dirname(e)===e?De.t("startupWarnings.rootDirectory.message"):null}catch{return De.t("startupWarnings.fileSystemError.message")}}},Qjn=[Ljn,Pjn];async function c0r(t){return(await Promise.all(Qjn.map(r=>r.check(t)))).filter(r=>r!==null)}Hn();async function d0r(t,e,r){let n=new L5({stderr:!0,debugMode:t.getDebugMode()});try{n.patch(),process.stdout.on("error",d=>{d.code==="EPIPE"&&process.exit(0)});let i=t.getGeminiClient(),a=await t.getToolRegistry(),s={},o=["search_file_content","list_directory","glob","google_web_search","save_memory","run_shell_command"];for(let d of o){let h=`toolDescriptions.${d}`,f=De.t(h);f&&f!==h&&(s[d]=f)}Object.keys(s).length>0&&a.updateToolDescriptions(s);let l=new AbortController,u=[{role:"user",parts:[{text:e}]}],c=0;for(;;){if(c++,t.getMaxSessionTurns()>=0&&c>t.getMaxSessionTurns()){console.error(`
2038
2038
  Reached max session turns for this session. Increase the number of turns by specifying maxSessionTurns in settings.json.`);return}let d=[],h=i.sendMessageStream(u[0]?.parts||[],l.signal,r);for await(let f of h){if(l.signal.aborted){console.error("Operation cancelled.");return}if(f.type===$s.Content)process.stdout.write(f.value);else if(f.type===$s.ToolCallRequest){let E=f.value,y={name:E.name,args:E.args,id:E.callId};d.push(y)}}if(d.length>0){let f=[];for(let y of d){let C={callId:y.id??`${y.name}-${Date.now()}`,name:y.name,args:y.args??{},isClientInitiated:!1,prompt_id:r},D=await GGe(t,C,a,l.signal);if(D.error&&(console.error(`Error executing tool ${y.name}: ${D.resultDisplay||D.error.message}`),D.errorType===ms.UNHANDLED_EXCEPTION&&process.exit(1)),D.responseParts){let S=Array.isArray(D.responseParts)?D.responseParts:[D.responseParts];for(let w of S)typeof w=="string"?f.push({text:w}):w&&f.push(w)}}let E=f.map(y=>({role:"tool",parts:[y]}));u=E.length>0?E:[{role:"user",parts:f}]}else{process.stdout.write(`
2039
2039
  `);return}}}catch(i){console.error(MU(i,t.getContentGeneratorConfig()?.authType)),process.exit(1)}finally{n.cleanup(),tf()&&await mL(t)}}Hn();Hn();function kjn(){return process.env.GOOGLE_GENAI_USE_GCA==="true"?ln.LOGIN_WITH_GITHUB:ln.WITHOUT_AUTH}async function p0r(t,e,r){let n=t||kjn();if(!n)return console.warn("No authentication method configured. Proceeding without authentication. You can authenticate later through the menu."),r;if(!e){let i=Bb(n);i!=null&&(console.error(i),process.exit(1))}return await r.refreshAuth(n),r}import EN from"node:process";import{spawn as jXn}from"node:child_process";import{fileURLToPath as YXn}from"node:url";import Ygr from"node:path";import{format as Sze}from"node:util";var qX=Ve(D0r(),1);import VX from"node:path";import iYn from"node:os";import Kjn from"os";import h6e from"path";var Hb=Kjn.homedir(),{env:aN}=process,S0r=aN.XDG_DATA_HOME||(Hb?h6e.join(Hb,".local","share"):void 0),UH=aN.XDG_CONFIG_HOME||(Hb?h6e.join(Hb,".config"):void 0),cda=aN.XDG_STATE_HOME||(Hb?h6e.join(Hb,".local","state"):void 0),dda=aN.XDG_CACHE_HOME||(Hb?h6e.join(Hb,".cache"):void 0),pda=aN.XDG_RUNTIME_DIR||void 0,Jjn=(aN.XDG_DATA_DIRS||"/usr/local/share/:/usr/share/").split(":");S0r&&Jjn.unshift(S0r);var Xjn=(aN.XDG_CONFIG_DIRS||"/etc/xdg").split(":");UH&&Xjn.unshift(UH);import rYn from"node:path";import Qs from"node:fs";import{promisify as w0}from"node:util";var J7=(t,e)=>function(...n){return t.apply(void 0,n).catch(e)},k5=(t,e)=>function(...n){try{return t.apply(void 0,n)}catch(i){return e(i)}};import b0r from"node:process";var w0r=b0r.getuid?!b0r.getuid():!1,I0r=1e4,lA=()=>{};var HX={isChangeErrorOk:t=>{if(!HX.isNodeError(t))return!1;let{code:e}=t;return e==="ENOSYS"||!w0r&&(e==="EINVAL"||e==="EPERM")},isNodeError:t=>t instanceof Error,isRetriableError:t=>{if(!HX.isNodeError(t))return!1;let{code:e}=t;return e==="EMFILE"||e==="ENFILE"||e==="EAGAIN"||e==="EBUSY"||e==="EACCESS"||e==="EACCES"||e==="EACCS"||e==="EPERM"},onChangeError:t=>{if(!HX.isNodeError(t))throw t;if(!HX.isChangeErrorOk(t))throw t}},hd=HX;var XYe=class{constructor(){this.interval=25,this.intervalId=void 0,this.limit=I0r,this.queueActive=new Set,this.queueWaiting=new Set,this.init=()=>{this.intervalId||(this.intervalId=setInterval(this.tick,this.interval))},this.reset=()=>{this.intervalId&&(clearInterval(this.intervalId),delete this.intervalId)},this.add=e=>{this.queueWaiting.add(e),this.queueActive.size<this.limit/2?this.tick():this.init()},this.remove=e=>{this.queueWaiting.delete(e),this.queueActive.delete(e)},this.schedule=()=>new Promise(e=>{let r=()=>this.remove(n),n=()=>e(r);this.add(n)}),this.tick=()=>{if(!(this.queueActive.size>=this.limit)){if(!this.queueWaiting.size)return this.reset();for(let e of this.queueWaiting){if(this.queueActive.size>=this.limit)break;this.queueWaiting.delete(e),this.queueActive.add(e),e()}}}}},T0r=new XYe;var X7=(t,e)=>function(n){return function i(...a){return T0r.schedule().then(s=>{let o=u=>(s(),u),l=u=>{if(s(),Date.now()>=n)throw u;if(e(u)){let c=Math.round(100*Math.random());return new Promise(h=>setTimeout(h,c)).then(()=>i.apply(void 0,a))}throw u};return t.apply(void 0,a).then(o,l)})}},Z7=(t,e)=>function(n){return function i(...a){try{return t.apply(void 0,a)}catch(s){if(Date.now()>n)throw s;if(e(s))return i.apply(void 0,a);throw s}}};var Zjn={attempt:{chmod:J7(w0(Qs.chmod),hd.onChangeError),chown:J7(w0(Qs.chown),hd.onChangeError),close:J7(w0(Qs.close),lA),fsync:J7(w0(Qs.fsync),lA),mkdir:J7(w0(Qs.mkdir),lA),realpath:J7(w0(Qs.realpath),lA),stat:J7(w0(Qs.stat),lA),unlink:J7(w0(Qs.unlink),lA),chmodSync:k5(Qs.chmodSync,hd.onChangeError),chownSync:k5(Qs.chownSync,hd.onChangeError),closeSync:k5(Qs.closeSync,lA),existsSync:k5(Qs.existsSync,lA),fsyncSync:k5(Qs.fsync,lA),mkdirSync:k5(Qs.mkdirSync,lA),realpathSync:k5(Qs.realpathSync,lA),statSync:k5(Qs.statSync,lA),unlinkSync:k5(Qs.unlinkSync,lA)},retry:{close:X7(w0(Qs.close),hd.isRetriableError),fsync:X7(w0(Qs.fsync),hd.isRetriableError),open:X7(w0(Qs.open),hd.isRetriableError),readFile:X7(w0(Qs.readFile),hd.isRetriableError),rename:X7(w0(Qs.rename),hd.isRetriableError),stat:X7(w0(Qs.stat),hd.isRetriableError),write:X7(w0(Qs.write),hd.isRetriableError),writeFile:X7(w0(Qs.writeFile),hd.isRetriableError),closeSync:Z7(Qs.closeSync,hd.isRetriableError),fsyncSync:Z7(Qs.fsyncSync,hd.isRetriableError),openSync:Z7(Qs.openSync,hd.isRetriableError),readFileSync:Z7(Qs.readFileSync,hd.isRetriableError),renameSync:Z7(Qs.renameSync,hd.isRetriableError),statSync:Z7(Qs.statSync,hd.isRetriableError),writeSync:Z7(Qs.writeSync,hd.isRetriableError),writeFileSync:Z7(Qs.writeFileSync,hd.isRetriableError)}},T1=Zjn;import x0r from"node:os";import ZYe from"node:process";var B0r="utf8",eWe=438,R0r=511;var N0r={},O0r=x0r.userInfo().uid,F0r=x0r.userInfo().gid;var M0r=1e3,L0r=!!ZYe.getuid,Nda=ZYe.getuid?!ZYe.getuid():!1,tWe=128;var P0r=t=>t instanceof Error&&"code"in t;var rWe=t=>typeof t=="string",A6e=t=>t===void 0;import tYn from"node:path";import HH from"node:process";import Q0r from"node:process";var k0r=Q0r.platform==="linux",g6e=Q0r.platform==="win32";var nWe=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];g6e||nWe.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");k0r&&nWe.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED");var U0r=nWe;var iWe=class{constructor(){this.callbacks=new Set,this.exited=!1,this.exit=e=>{if(!this.exited){this.exited=!0;for(let r of this.callbacks)r();e&&(g6e&&e!=="SIGINT"&&e!=="SIGTERM"&&e!=="SIGKILL"?HH.kill(HH.pid,"SIGTERM"):HH.kill(HH.pid,e))}},this.hook=()=>{HH.once("exit",()=>this.exit());for(let e of U0r)try{HH.once(e,()=>this.exit(e))}catch{}},this.register=e=>(this.callbacks.add(e),()=>{this.callbacks.delete(e)}),this.hook()}},H0r=new iWe;var eYn=H0r.register,G0r=eYn;var B2={store:{},create:t=>{let e=`000000${Math.floor(Math.random()*16777215).toString(16)}`.slice(-6),i=`.tmp-${Date.now().toString().slice(-10)}${e}`;return`${t}${i}`},get:(t,e,r=!0)=>{let n=B2.truncate(e(t));return n in B2.store?B2.get(t,e,r):(B2.store[n]=r,[n,()=>delete B2.store[n]])},purge:t=>{B2.store[t]&&(delete B2.store[t],T1.attempt.unlink(t))},purgeSync:t=>{B2.store[t]&&(delete B2.store[t],T1.attempt.unlinkSync(t))},purgeSyncAll:()=>{for(let t in B2.store)B2.purgeSync(t)},truncate:t=>{let e=tYn.basename(t);if(e.length<=tWe)return t;let r=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(e);if(!r)return t;let n=e.length-tWe;return`${t.slice(0,-e.length)}${r[1]}${r[2].slice(0,-n)}${r[3]}`}};G0r(B2.purgeSyncAll);var GX=B2;function E6e(t,e,r=N0r){if(rWe(r))return E6e(t,e,{encoding:r});let n=Date.now()+((r.timeout??M0r)||-1),i=null,a=null,s=null;try{let o=T1.attempt.realpathSync(t),l=!!o;t=o||t,[a,i]=GX.get(t,r.tmpCreate||GX.create,r.tmpPurge!==!1);let u=L0r&&A6e(r.chown),c=A6e(r.mode);if(l&&(u||c)){let d=T1.attempt.statSync(t);d&&(r={...r},u&&(r.chown={uid:d.uid,gid:d.gid}),c&&(r.mode=d.mode))}if(!l){let d=rYn.dirname(t);T1.attempt.mkdirSync(d,{mode:R0r,recursive:!0})}s=T1.retry.openSync(n)(a,"w",r.mode||eWe),r.tmpCreated&&r.tmpCreated(a),rWe(e)?T1.retry.writeSync(n)(s,e,0,r.encoding||B0r):A6e(e)||T1.retry.writeSync(n)(s,e,0,e.length,0),r.fsync!==!1&&(r.fsyncWait!==!1?T1.retry.fsyncSync(n)(s):T1.attempt.fsync(s)),T1.retry.closeSync(n)(s),s=null,r.chown&&(r.chown.uid!==O0r||r.chown.gid!==F0r)&&T1.attempt.chownSync(a,r.chown.uid,r.chown.gid),r.mode&&r.mode!==eWe&&T1.attempt.chmodSync(a,r.mode);try{T1.retry.renameSync(n)(a,t)}catch(d){if(!P0r(d)||d.code!=="ENAMETOOLONG")throw d;T1.retry.renameSync(n)(a,GX.truncate(t))}i(),a=null}finally{s&&T1.attempt.closeSync(s),a&&GX.purge(a)}}var sN=t=>{let e=typeof t;return t!==null&&(e==="object"||e==="function")};var aWe=new Set(["__proto__","prototype","constructor"]),nYn=new Set("0123456789");function y6e(t){let e=[],r="",n="start",i=!1;for(let a of t)switch(a){case"\\":{if(n==="index")throw new Error("Invalid character in an index");if(n==="indexEnd")throw new Error("Invalid character after an index");i&&(r+=a),n="property",i=!i;break}case".":{if(n==="index")throw new Error("Invalid character in an index");if(n==="indexEnd"){n="property";break}if(i){i=!1,r+=a;break}if(aWe.has(r))return[];e.push(r),r="",n="property";break}case"[":{if(n==="index")throw new Error("Invalid character in an index");if(n==="indexEnd"){n="index";break}if(i){i=!1,r+=a;break}if(n==="property"){if(aWe.has(r))return[];e.push(r),r=""}n="index";break}case"]":{if(n==="index"){e.push(Number.parseInt(r,10)),r="",n="indexEnd";break}if(n==="indexEnd")throw new Error("Invalid character after an index")}default:{if(n==="index"&&!nYn.has(a))throw new Error("Invalid character in an index");if(n==="indexEnd")throw new Error("Invalid character after an index");n==="start"&&(n="property"),i&&(i=!1,r+="\\"),r+=a}}switch(i&&(r+="\\"),n){case"property":{if(aWe.has(r))return[];e.push(r);break}case"index":throw new Error("Index was not closed");case"start":{e.push("");break}}return e}function sWe(t,e){if(typeof e!="number"&&Array.isArray(t)){let r=Number.parseInt(e,10);return Number.isInteger(r)&&t[r]===t[e]}return!1}function V0r(t,e){if(sWe(t,e))throw new Error("Cannot use string index")}function q0r(t,e,r){if(!sN(t)||typeof e!="string")return r===void 0?t:r;let n=y6e(e);if(n.length===0)return r;for(let i=0;i<n.length;i++){let a=n[i];if(sWe(t,a)?t=i===n.length-1?void 0:null:t=t[a],t==null){if(i!==n.length-1)return r;break}}return t===void 0?r:t}function oWe(t,e,r){if(!sN(t)||typeof e!="string")return t;let n=t,i=y6e(e);for(let a=0;a<i.length;a++){let s=i[a];V0r(t,s),a===i.length-1?t[s]=r:sN(t[s])||(t[s]=typeof i[a+1]=="number"?[]:{}),t=t[s]}return n}function $0r(t,e){if(!sN(t)||typeof e!="string")return!1;let r=y6e(e);for(let n=0;n<r.length;n++){let i=r[n];if(V0r(t,i),n===r.length-1)return delete t[i],!0;if(t=t[i],!sN(t))return!1}}function j0r(t,e){if(!sN(t)||typeof e!="string")return!1;let r=y6e(e);if(r.length===0)return!1;for(let n of r){if(!sN(t)||!(n in t)||sWe(t,n))return!1;t=t[n]}return!0}function aYn(t,e){let r=e?VX.join(t,"config.json"):VX.join("configstore",`${t}.json`),n=UH??qX.default.mkdtempSync(qX.default.realpathSync(iYn.tmpdir())+VX.sep);return VX.join(n,r)}var Y0r="You don't have access to this file.",sYn={mode:448,recursive:!0},W0r={mode:384},$X=class{constructor(e,r,n={}){this._path=n.configPath??aYn(e,n.globalConfigPath),r&&(this.all={...r,...this.all})}get all(){try{return JSON.parse(qX.default.readFileSync(this._path,"utf8"))}catch(e){if(e.code==="ENOENT")return{};if(e.code==="EACCES"&&(e.message=`${e.message}