osagent 0.1.14 → 0.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +669 -481
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -3248,12 +3248,12 @@ var require_llhttp_wasm = __commonJS({
|
|
|
3248
3248
|
"node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
|
|
3249
3249
|
"use strict";
|
|
3250
3250
|
init_esbuild_shims();
|
|
3251
|
-
var { Buffer:
|
|
3251
|
+
var { Buffer: Buffer6 } = __require("node:buffer");
|
|
3252
3252
|
var wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRwX3NldF9sZW5pZW50X2hlYWRlcnMAISFsbGh0dHBfc2V0X2xlbmllbnRfY2h1bmtlZF9sZW5ndGgAIh1sbGh0dHBfc2V0X2xlbmllbnRfa2VlcF9hbGl2ZQAjJGxsaHR0cF9zZXRfbGVuaWVudF90cmFuc2Zlcl9lbmNvZGluZwAkGmxsaHR0cF9zZXRfbGVuaWVudF92ZXJzaW9uACUjbGxodHRwX3NldF9sZW5pZW50X2RhdGFfYWZ0ZXJfY2xvc2UAJidsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfbGZfYWZ0ZXJfY3IAJyxsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfY3JsZl9hZnRlcl9jaHVuawAoKGxsaHR0cF9zZXRfbGVuaWVudF9vcHRpb25hbF9jcl9iZWZvcmVfbGYAKSpsbGh0dHBfc2V0X2xlbmllbnRfc3BhY2VzX2FmdGVyX2NodW5rX3NpemUAKhhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YANgkYAQBBAQsSAQIDBAUKBgcyNDMuKy8tLDAxCq/ZAjQWAEHA1QAoAgAEQAALQcDVAEEBNgIACxQAIAAQOCAAIAI2AjggACABOgAoCxQAIAAgAC8BNCAALQAwIAAQNxAACx4BAX9BwAAQOiIBEDggAUGACDYCOCABIAA6ACggAQuPDAEHfwJAIABFDQAgAEEIayIBIABBBGsoAgAiAEF4cSIEaiEFAkAgAEEBcQ0AIABBA3FFDQEgASABKAIAIgBrIgFB1NUAKAIASQ0BIAAgBGohBAJAAkBB2NUAKAIAIAFHBEAgAEH/AU0EQCAAQQN2IQMgASgCCCIAIAEoAgwiAkYEQEHE1QBBxNUAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgASgCGCEGIAEgASgCDCIARwRAIAAgASgCCCICNgIIIAIgADYCDAwDCyABQRRqIgMoAgAiAkUEQCABKAIQIgJFDQIgAUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSgCBCIAQQNxQQNHDQIgBSAAQX5xNgIEQczVACAENgIAIAUgBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgASgCHCICQQJ0QfTXAGoiAygCACABRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAFGG2ogADYCACAARQ0BCyAAIAY2AhggASgCECICBEAgACACNgIQIAIgADYCGAsgAUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBU8NACAFKAIEIgBBAXFFDQACQAJAAkACQCAAQQJxRQRAQdzVACgCACAFRgRAQdzVACABNgIAQdDVAEHQ1QAoAgAgBGoiADYCACABIABBAXI2AgQgAUHY1QAoAgBHDQZBzNUAQQA2AgBB2NUAQQA2AgAMBgtB2NUAKAIAIAVGBEBB2NUAIAE2AgBBzNUAQczVACgCACAEaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgAMBgsgAEF4cSAEaiEEIABB/wFNBEAgAEEDdiEDIAUoAggiACAFKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwFCyACIAA2AgggACACNgIMDAQLIAUoAhghBiAFIAUoAgwiAEcEQEHU1QAoAgAaIAAgBSgCCCICNgIIIAIgADYCDAwDCyAFQRRqIgMoAgAiAkUEQCAFKAIQIgJFDQIgBUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSAAQX5xNgIEIAEgBGogBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgBSgCHCICQQJ0QfTXAGoiAygCACAFRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAVGG2ogADYCACAARQ0BCyAAIAY2AhggBSgCECICBEAgACACNgIQIAIgADYCGAsgBUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBGogBDYCACABIARBAXI2AgQgAUHY1QAoAgBHDQBBzNUAIAQ2AgAMAQsgBEH/AU0EQCAEQXhxQezVAGohAAJ/QcTVACgCACICQQEgBEEDdnQiA3FFBEBBxNUAIAIgA3I2AgAgAAwBCyAAKAIICyICIAE2AgwgACABNgIIIAEgADYCDCABIAI2AggMAQtBHyECIARB////B00EQCAEQSYgBEEIdmciAGt2QQFxIABBAXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAygCHCICQQJrDvwBAfkBAgMEBQYHCAkKCwwNDg8QERL4ARP3ARQV9gEWF/UBGBkaGxwdHh8g/QH7ASH0ASIjJCUmJygpKivzASwtLi8wMTLyAfEBMzTwAe8BNTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5P+gFQUVJT7gHtAVTsAVXrAVZXWFla6gFbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHpAegBzwHnAdAB5gHRAdIB0wHUAeUB1QHWAdcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMBAPwBC0EADOMBC0EODOIBC0ENDOEBC0EPDOABC0EQDN8BC0ETDN4BC0EUDN0BC0EVDNwBC0EWDNsBC0EXDNoBC0EYDNkBC0EZDNgBC0EaDNcBC0EbDNYBC0EcDNUBC0EdDNQBC0EeDNMBC0EfDNIBC0EgDNEBC0EhDNABC0EIDM8BC0EiDM4BC0EkDM0BC0EjDMwBC0EHDMsBC0ElDMoBC0EmDMkBC0EnDMgBC0EoDMcBC0ESDMYBC0ERDMUBC0EpDMQBC0EqDMMBC0ErDMIBC0EsDMEBC0HeAQzAAQtBLgy/AQtBLwy+AQtBMAy9AQtBMQy8AQtBMgy7AQtBMwy6AQtBNAy5AQtB3wEMuAELQTUMtwELQTkMtgELQQwMtQELQTYMtAELQTcMswELQTgMsgELQT4MsQELQToMsAELQeABDK8BC0ELDK4BC0E/DK0BC0E7DKwBC0EKDKsBC0E8DKoBC0E9DKkBC0HhAQyoAQtBwQAMpwELQcAADKYBC0HCAAylAQtBCQykAQtBLQyjAQtBwwAMogELQcQADKEBC0HFAAygAQtBxgAMnwELQccADJ4BC0HIAAydAQtByQAMnAELQcoADJsBC0HLAAyaAQtBzAAMmQELQc0ADJgBC0HOAAyXAQtBzwAMlgELQdAADJUBC0HRAAyUAQtB0gAMkwELQdMADJIBC0HVAAyRAQtB1AAMkAELQdYADI8BC0HXAAyOAQtB2AAMjQELQdkADIwBC0HaAAyLAQtB2wAMigELQdwADIkBC0HdAAyIAQtB3gAMhwELQd8ADIYBC0HgAAyFAQtB4QAMhAELQeIADIMBC0HjAAyCAQtB5AAMgQELQeUADIABC0HiAQx/C0HmAAx+C0HnAAx9C0EGDHwLQegADHsLQQUMegtB6QAMeQtBBAx4C0HqAAx3C0HrAAx2C0HsAAx1C0HtAAx0C0EDDHMLQe4ADHILQe8ADHELQfAADHALQfIADG8LQfEADG4LQfMADG0LQfQADGwLQfUADGsLQfYADGoLQQIMaQtB9wAMaAtB+AAMZwtB+QAMZgtB+gAMZQtB+wAMZAtB/AAMYwtB/QAMYgtB/gAMYQtB/wAMYAtBgAEMXwtBgQEMXgtBggEMXQtBgwEMXAtBhAEMWwtBhQEMWgtBhgEMWQtBhwEMWAtBiAEMVwtBiQEMVgtBigEMVQtBiwEMVAtBjAEMUwtBjQEMUgtBjgEMUQtBjwEMUAtBkAEMTwtBkQEMTgtBkgEMTQtBkwEMTAtBlAEMSwtBlQEMSgtBlgEMSQtBlwEMSAtBmAEMRwtBmQEMRgtBmgEMRQtBmwEMRAtBnAEMQwtBnQEMQgtBngEMQQtBnwEMQAtBoAEMPwtBoQEMPgtBogEMPQtBowEMPAtBpAEMOwtBpQEMOgtBpgEMOQtBpwEMOAtBqAEMNwtBqQEMNgtBqgEMNQtBqwEMNAtBrAEMMwtBrQEMMgtBrgEMMQtBrwEMMAtBsAEMLwtBsQEMLgtBsgEMLQtBswEMLAtBtAEMKwtBtQEMKgtBtgEMKQtBtwEMKAtBuAEMJwtBuQEMJgtBugEMJQtBuwEMJAtBvAEMIwtBvQEMIgtBvgEMIQtBvwEMIAtBwAEMHwtBwQEMHgtBwgEMHQtBAQwcC0HDAQwbC0HEAQwaC0HFAQwZC0HGAQwYC0HHAQwXC0HIAQwWC0HJAQwVC0HKAQwUC0HLAQwTC0HMAQwSC0HNAQwRC0HOAQwQC0HPAQwPC0HQAQwOC0HRAQwNC0HSAQwMC0HTAQwLC0HUAQwKC0HVAQwJC0HWAQwIC0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASECDKACCwJAAkACQCABLQAAQQprDgQBAgIAAgsgAUEBaiEBDAILIAFBAWohAQwBCyADLQAuQcAAcUUNAQtBACEAAkAgAygCOCICRQ0AIAIoAjwiAkUNACADIAIRAAAhAAsgAEUNoAEgAEEVRgRAIANB2QA2AhwgAyABNgIUIANBtxo2AhAgA0EVNgIMQQAhAgyfAgsgA0EANgIcIAMgATYCFCADQYANNgIQIANBGzYCDEEAIQIMngILIANBADYCHCADIAE2AhQgA0HcKDYCECADQQI2AgxBACECDJ0CCyABIARHBEAgA0EMNgIIIAMgATYCBEG/ASECDIQCC0HYASECDJwCCyABIARGBEBB1wEhAgycAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBwQBrDhUAAQIDWgQFBlpaWgcICQoLDA0ODxBaCyABQQFqIQFB+wAhAgySAgsgAUEBaiEBQfwAIQIMkQILIAFBAWohAUGBASECDJACCyABQQFqIQFBhQEhAgyPAgsgAUEBaiEBQYYBIQIMjgILIAFBAWohAUGJASECDI0CCyABQQFqIQFBigEhAgyMAgsgAUEBaiEBQY0BIQIMiwILIAFBAWohAUGWASECDIoCCyABQQFqIQFBlwEhAgyJAgsgAUEBaiEBQZgBIQIMiAILIAFBAWohAUGlASECDIcCCyABQQFqIQFBpgEhAgyGAgsgAUEBaiEBQawBIQIMhQILIAFBAWohAUG0ASECDIQCCyABQQFqIQFBtwEhAgyDAgsgAUEBaiEBQb4BIQIMggILIAEgBEYEQEHWASECDJsCCyABLQAAQc4ARw1IIAFBAWohAUG9ASECDIECCyABIARGBEBB1QEhAgyaAgsCQAJAAkAgAS0AAEHCAGsOEgBKSkpKSkpKSkoBSkpKSkpKAkoLIAFBAWohAUG4ASECDIICCyABQQFqIQFBuwEhAgyBAgsgAUEBaiEBQbwBIQIMgAILQdQBIQIgASAERg2YAiADKAIAIgAgBCABa2ohBSABIABrQQdqIQYCQANAIAEtAAAgAEGo1QBqLQAARw1FIABBB0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAgsgA0EANgIAIAZBAWohAUEbDEULIAEgBEYEQEHTASECDJgCCwJAAkAgAS0AAEHJAGsOBwBHR0dHRwFHCyABQQFqIQFBuQEhAgz/AQsgAUEBaiEBQboBIQIM/gELQdIBIQIgASAERg2WAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw1DIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyXAgsgA0EANgIAIAZBAWohAUEPDEMLQdEBIQIgASAERg2VAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw1CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyWAgsgA0EANgIAIAZBAWohAUEgDEILQdABIQIgASAERg2UAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw1BIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyVAgsgA0EANgIAIAZBAWohAUESDEELIAEgBEYEQEHPASECDJQCCwJAAkAgAS0AAEHFAGsODgBDQ0NDQ0NDQ0NDQ0MBQwsgAUEBaiEBQbUBIQIM+wELIAFBAWohAUG2ASECDPoBC0HOASECIAEgBEYNkgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBntUAai0AAEcNPyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMkwILIANBADYCACAGQQFqIQFBBww/C0HNASECIAEgBEYNkQIgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBmNUAai0AAEcNPiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMkgILIANBADYCACAGQQFqIQFBKAw+CyABIARGBEBBzAEhAgyRAgsCQAJAAkAgAS0AAEHFAGsOEQBBQUFBQUFBQUEBQUFBQUECQQsgAUEBaiEBQbEBIQIM+QELIAFBAWohAUGyASECDPgBCyABQQFqIQFBswEhAgz3AQtBywEhAiABIARGDY8CIAMoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAS0AACAAQZHVAGotAABHDTwgAEEGRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJACCyADQQA2AgAgBkEBaiEBQRoMPAtBygEhAiABIARGDY4CIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQY3VAGotAABHDTsgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADI8CCyADQQA2AgAgBkEBaiEBQSEMOwsgASAERgRAQckBIQIMjgILAkACQCABLQAAQcEAaw4UAD09PT09PT09PT09PT09PT09PQE9CyABQQFqIQFBrQEhAgz1AQsgAUEBaiEBQbABIQIM9AELIAEgBEYEQEHIASECDI0CCwJAAkAgAS0AAEHVAGsOCwA8PDw8PDw8PDwBPAsgAUEBaiEBQa4BIQIM9AELIAFBAWohAUGvASECDPMBC0HHASECIAEgBEYNiwIgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNOCAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjAILIANBADYCACAGQQFqIQFBKgw4CyABIARGBEBBxgEhAgyLAgsgAS0AAEHQAEcNOCABQQFqIQFBJQw3C0HFASECIAEgBEYNiQIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBgdUAai0AAEcNNiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMigILIANBADYCACAGQQFqIQFBDgw2CyABIARGBEBBxAEhAgyJAgsgAS0AAEHFAEcNNiABQQFqIQFBqwEhAgzvAQsgASAERgRAQcMBIQIMiAILAkACQAJAAkAgAS0AAEHCAGsODwABAjk5OTk5OTk5OTk5AzkLIAFBAWohAUGnASECDPEBCyABQQFqIQFBqAEhAgzwAQsgAUEBaiEBQakBIQIM7wELIAFBAWohAUGqASECDO4BC0HCASECIAEgBEYNhgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB/tQAai0AAEcNMyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhwILIANBADYCACAGQQFqIQFBFAwzC0HBASECIAEgBEYNhQIgAygCACIAIAQgAWtqIQUgASAAa0EEaiEGAkADQCABLQAAIABB+dQAai0AAEcNMiAAQQRGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhgILIANBADYCACAGQQFqIQFBKwwyC0HAASECIAEgBEYNhAIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB9tQAai0AAEcNMSAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhQILIANBADYCACAGQQFqIQFBLAwxC0G/ASECIAEgBEYNgwIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBodUAai0AAEcNMCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhAILIANBADYCACAGQQFqIQFBEQwwC0G+ASECIAEgBEYNggIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABB8tQAai0AAEcNLyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMgwILIANBADYCACAGQQFqIQFBLgwvCyABIARGBEBBvQEhAgyCAgsCQAJAAkACQAJAIAEtAABBwQBrDhUANDQ0NDQ0NDQ0NAE0NAI0NAM0NAQ0CyABQQFqIQFBmwEhAgzsAQsgAUEBaiEBQZwBIQIM6wELIAFBAWohAUGdASECDOoBCyABQQFqIQFBogEhAgzpAQsgAUEBaiEBQaQBIQIM6AELIAEgBEYEQEG8ASECDIECCwJAAkAgAS0AAEHSAGsOAwAwATALIAFBAWohAUGjASECDOgBCyABQQFqIQFBBAwtC0G7ASECIAEgBEYN/wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB8NQAai0AAEcNLCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMgAILIANBADYCACAGQQFqIQFBHQwsCyABIARGBEBBugEhAgz/AQsCQAJAIAEtAABByQBrDgcBLi4uLi4ALgsgAUEBaiEBQaEBIQIM5gELIAFBAWohAUEiDCsLIAEgBEYEQEG5ASECDP4BCyABLQAAQdAARw0rIAFBAWohAUGgASECDOQBCyABIARGBEBBuAEhAgz9AQsCQAJAIAEtAABBxgBrDgsALCwsLCwsLCwsASwLIAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsgA0EANgIcIAMgATYCFCADQeULNgIQIANBETYCDEEAIQIMfQtBACEAAkAgAygCOCICRQ0AIAIoAlwiAkUNACADIAIRAAAhAAsgAEUNWSAAQRVHDQEgA0EFNgIcIAMgATYCFCADQZsbNgIQIANBFTYCDEEAIQIMfAtBywAhAgxiC0EAIQIgA0EANgIcIAMgATYCFCADQZAONgIQIANBFDYCDAx6CyADIAMvATJBgAFyOwEyDDsLIAEgBEcEQCADQRE2AgggAyABNgIEQcoAIQIMYAtB1wAhAgx4CyABIARGBEBB1gAhAgx4CwJAAkACQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxQeMAaw4TAEBAQEBAQEBAQEBAQAFAQEACA0ALIAFBAWohAUHGACECDGELIAFBAWohAUHHACECDGALIAFBAWohAUHIACECDF8LIAFBAWohAUHJACECDF4LQdUAIQIgBCABIgBGDXYgBCABayADKAIAIgFqIQYgACABa0EFaiEHA0AgAUGQyABqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0IQQQgAUEFRg0KGiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAx2C0HUACECIAQgASIARg11IAQgAWsgAygCACIBaiEGIAAgAWtBD2ohBwNAIAFBgMgAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNB0EDIAFBD0YNCRogAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMdQtB0wAhAiAEIAEiAEYNdCAEIAFrIAMoAgAiAWohBiAAIAFrQQ5qIQcDQCABQeLHAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQYgAUEORg0HIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHQLQdIAIQIgBCABIgBGDXMgBCABayADKAIAIgFqIQUgACABa0EBaiEGA0AgAUHgxwBqLQAAIAAtAAAiB0EgciAHIAdBwQBrQf8BcUEaSRtB/wFxRw0FIAFBAUYNAiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBTYCAAxzCyABIARGBEBB0QAhAgxzCwJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB7gBrDgcAOTk5OTkBOQsgAUEBaiEBQcMAIQIMWgsgAUEBaiEBQcQAIQIMWQsgA0EANgIAIAZBAWohAUHFACECDFgLQdAAIQIgBCABIgBGDXAgBCABayADKAIAIgFqIQYgACABa0EJaiEHA0AgAUHWxwBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0CQQIgAUEJRg0EGiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxwC0HPACECIAQgASIARg1vIAQgAWsgAygCACIBaiEGIAAgAWtBBWohBwNAIAFB0McAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNASABQQVGDQIgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMbwsgACEBIANBADYCAAwzC0EBCzoALCADQQA2AgAgB0EBaiEBC0EtIQIMUgsCQANAIAEtAABB0MUAai0AAEEBRw0BIAQgAUEBaiIBRw0AC0HNACECDGsLQcIAIQIMUQsgASAERgRAQcwAIQIMagsgAS0AAEE6RgRAIAMoAgQhACADQQA2AgQgAyAAIAEQMCIARQ0zIANBywA2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMagsgA0EANgIcIAMgATYCFCADQecRNgIQIANBCjYCDEEAIQIMaQsCQAJAIAMtACxBAmsOAgABJwsgA0Ezai0AAEECcUUNJiADLQAuQQJxDSYgA0EANgIcIAMgATYCFCADQaYUNgIQIANBCzYCDEEAIQIMaQsgAy0AMkEgcUUNJSADLQAuQQJxDSUgA0EANgIcIAMgATYCFCADQb0TNgIQIANBDzYCDEEAIQIMaAtBACEAAkAgAygCOCICRQ0AIAIoAkgiAkUNACADIAIRAAAhAAsgAEUEQEHBACECDE8LIABBFUcEQCADQQA2AhwgAyABNgIUIANBpg82AhAgA0EcNgIMQQAhAgxoCyADQcoANgIcIAMgATYCFCADQYUcNgIQIANBFTYCDEEAIQIMZwsgASAERwRAA0AgAS0AAEHAwQBqLQAAQQFHDRcgBCABQQFqIgFHDQALQcQAIQIMZwtBxAAhAgxmCyABIARHBEADQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxIgBBCUYNACAAQSBGDQACQAJAAkACQCAAQeMAaw4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUE2IQIMUgsgAUEBaiEBQTchAgxRCyABQQFqIQFBOCECDFALDBULIAQgAUEBaiIBRw0AC0E8IQIMZgtBPCECDGULIAEgBEYEQEHIACECDGULIANBEjYCCCADIAE2AgQCQAJAAkACQAJAIAMtACxBAWsOBBQAAQIJCyADLQAyQSBxDQNB4AEhAgxPCwJAIAMvATIiAEEIcUUNACADLQAoQQFHDQAgAy0ALkEIcUUNAgsgAyAAQff7A3FBgARyOwEyDAsLIAMgAy8BMkEQcjsBMgwECyADQQA2AgQgAyABIAEQMSIABEAgA0HBADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxmCyABQQFqIQEMWAsgA0EANgIcIAMgATYCFCADQfQTNgIQIANBBDYCDEEAIQIMZAtBxwAhAiABIARGDWMgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCAAQcDFAGotAAAgAS0AAEEgckcNASAAQQZGDUogAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMZAsgA0EANgIADAULAkAgASAERwRAA0AgAS0AAEHAwwBqLQAAIgBBAUcEQCAAQQJHDQMgAUEBaiEBDAULIAQgAUEBaiIBRw0AC0HFACECDGQLQcUAIQIMYwsLIANBADoALAwBC0ELIQIMRwtBPyECDEYLAkACQANAIAEtAAAiAEEgRwRAAkAgAEEKaw4EAwUFAwALIABBLEYNAwwECyAEIAFBAWoiAUcNAAtBxgAhAgxgCyADQQg6ACwMDgsgAy0AKEEBRw0CIAMtAC5BCHENAiADKAIEIQAgA0EANgIEIAMgACABEDEiAARAIANBwgA2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMXwsgAUEBaiEBDFALQTshAgxECwJAA0AgAS0AACIAQSBHIABBCUdxDQEgBCABQQFqIgFHDQALQcMAIQIMXQsLQTwhAgxCCwJAAkAgASAERwRAA0AgAS0AACIAQSBHBEAgAEEKaw4EAwQEAwQLIAQgAUEBaiIBRw0AC0E/IQIMXQtBPyECDFwLIAMgAy8BMkEgcjsBMgwKCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNTiADQT42AhwgAyABNgIUIAMgADYCDEEAIQIMWgsCQCABIARHBEADQCABLQAAQcDDAGotAAAiAEEBRwRAIABBAkYNAwwMCyAEIAFBAWoiAUcNAAtBNyECDFsLQTchAgxaCyABQQFqIQEMBAtBOyECIAQgASIARg1YIAQgAWsgAygCACIBaiEGIAAgAWtBBWohBwJAA0AgAUGQyABqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYEQEEHIQEMPwsgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMWQsgA0EANgIAIAAhAQwFC0E6IQIgBCABIgBGDVcgBCABayADKAIAIgFqIQYgACABa0EIaiEHAkADQCABQbTBAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAUEIRgRAQQUhAQw+CyABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxYCyADQQA2AgAgACEBDAQLQTkhAiAEIAEiAEYNViAEIAFrIAMoAgAiAWohBiAAIAFrQQNqIQcCQANAIAFBsMEAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNASABQQNGBEBBBiEBDD0LIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADFcLIANBADYCACAAIQEMAwsCQANAIAEtAAAiAEEgRwRAIABBCmsOBAcEBAcCCyAEIAFBAWoiAUcNAAtBOCECDFYLIABBLEcNASABQQFqIQBBASEBAkACQAJAAkACQCADLQAsQQVrDgQDAQIEAAsgACEBDAQLQQIhAQwBC0EEIQELIANBAToALCADIAMvATIgAXI7ATIgACEBDAELIAMgAy8BMkEIcjsBMiAAIQELQT4hAgw7CyADQQA6ACwLQTkhAgw5CyABIARGBEBBNiECDFILAkACQAJAAkACQCABLQAAQQprDgQAAgIBAgsgAygCBCEAIANBADYCBCADIAAgARAxIgBFDQIgA0EzNgIcIAMgATYCFCADIAA2AgxBACECDFULIAMoAgQhACADQQA2AgQgAyAAIAEQMSIARQRAIAFBAWohAQwGCyADQTI2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMVAsgAy0ALkEBcQRAQd8BIQIMOwsgAygCBCEAIANBADYCBCADIAAgARAxIgANAQxJC0E0IQIMOQsgA0E1NgIcIAMgATYCFCADIAA2AgxBACECDFELQTUhAgw3CyADQS9qLQAAQQFxDQAgA0EANgIcIAMgATYCFCADQesWNgIQIANBGTYCDEEAIQIMTwtBMyECDDULIAEgBEYEQEEyIQIMTgsCQCABLQAAQQpGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GSFzYCECADQQM2AgxBACECDE4LQTIhAgw0CyABIARGBEBBMSECDE0LAkAgAS0AACIAQQlGDQAgAEEgRg0AQQEhAgJAIAMtACxBBWsOBAYEBQANCyADIAMvATJBCHI7ATIMDAsgAy0ALkEBcUUNASADLQAsQQhHDQAgA0EAOgAsC0E9IQIMMgsgA0EANgIcIAMgATYCFCADQcIWNgIQIANBCjYCDEEAIQIMSgtBAiECDAELQQQhAgsgA0EBOgAsIAMgAy8BMiACcjsBMgwGCyABIARGBEBBMCECDEcLIAEtAABBCkYEQCABQQFqIQEMAQsgAy0ALkEBcQ0AIANBADYCHCADIAE2AhQgA0HcKDYCECADQQI2AgxBACECDEYLQTAhAgwsCyABQQFqIQFBMSECDCsLIAEgBEYEQEEvIQIMRAsgAS0AACIAQQlHIABBIEdxRQRAIAFBAWohASADLQAuQQFxDQEgA0EANgIcIAMgATYCFCADQZcQNgIQIANBCjYCDEEAIQIMRAtBASECAkACQAJAAkACQAJAIAMtACxBAmsOBwUEBAMBAgAECyADIAMvATJBCHI7ATIMAwtBAiECDAELQQQhAgsgA0EBOgAsIAMgAy8BMiACcjsBMgtBLyECDCsLIANBADYCHCADIAE2AhQgA0GEEzYCECADQQs2AgxBACECDEMLQeEBIQIMKQsgASAERgRAQS4hAgxCCyADQQA2AgQgA0ESNgIIIAMgASABEDEiAA0BC0EuIQIMJwsgA0EtNgIcIAMgATYCFCADIAA2AgxBACECDD8LQQAhAAJAIAMoAjgiAkUNACACKAJMIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2AA2AhwgAyABNgIUIANBsxs2AhAgA0EVNgIMQQAhAgw+C0HMACECDCQLIANBADYCHCADIAE2AhQgA0GzDjYCECADQR02AgxBACECDDwLIAEgBEYEQEHOACECDDwLIAEtAAAiAEEgRg0CIABBOkYNAQsgA0EAOgAsQQkhAgwhCyADKAIEIQAgA0EANgIEIAMgACABEDAiAA0BDAILIAMtAC5BAXEEQEHeASECDCALIAMoAgQhACADQQA2AgQgAyAAIAEQMCIARQ0CIANBKjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgw4CyADQcsANgIcIAMgADYCDCADIAFBAWo2AhRBACECDDcLIAFBAWohAUHAACECDB0LIAFBAWohAQwsCyABIARGBEBBKyECDDULAkAgAS0AAEEKRgRAIAFBAWohAQwBCyADLQAuQcAAcUUNBgsgAy0AMkGAAXEEQEEAIQACQCADKAI4IgJFDQAgAigCXCICRQ0AIAMgAhEAACEACyAARQ0SIABBFUYEQCADQQU2AhwgAyABNgIUIANBmxs2AhAgA0EVNgIMQQAhAgw2CyADQQA2AhwgAyABNgIUIANBkA42AhAgA0EUNgIMQQAhAgw1CyADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALIAAOFgIBAAQEBAQEBAQEBAQEBAQEBAQEBAMECyADQQE6ADALIAIgAi8BAEHAAHI7AQALQSshAgwYCyADQSk2AhwgAyABNgIUIANBrBk2AhAgA0EVNgIMQQAhAgwwCyADQQA2AhwgAyABNgIUIANB5Qs2AhAgA0ERNgIMQQAhAgwvCyADQQA2AhwgAyABNgIUIANBpQs2AhAgA0ECNgIMQQAhAgwuC0EBIQcgAy8BMiIFQQhxRQRAIAMpAyBCAFIhBwsCQCADLQAwBEBBASEAIAMtAClBBUYNASAFQcAAcUUgB3FFDQELAkAgAy0AKCICQQJGBEBBASEAIAMvATQiBkHlAEYNAkEAIQAgBUHAAHENAiAGQeQARg0CIAZB5gBrQQJJDQIgBkHMAUYNAiAGQbACRg0CDAELQQAhACAFQcAAcQ0BC0ECIQAgBUEIcQ0AIAVBgARxBEACQCACQQFHDQAgAy0ALkEKcQ0AQQUhAAwCC0EEIQAMAQsgBUEgcUUEQCADEDZBAEdBAnQhAAwBC0EAQQMgAykDIFAbIQALIABBAWsOBQIABwEDBAtBESECDBMLIANBAToAMQwpC0EAIQICQCADKAI4IgBFDQAgACgCMCIARQ0AIAMgABEAACECCyACRQ0mIAJBFUYEQCADQQM2AhwgAyABNgIUIANB0hs2AhAgA0EVNgIMQQAhAgwrC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAwqCyADQQA2AhwgAyABNgIUIANB+SA2AhAgA0EPNgIMQQAhAgwpC0EAIQACQCADKAI4IgJFDQAgAigCMCICRQ0AIAMgAhEAACEACyAADQELQQ4hAgwOCyAAQRVGBEAgA0ECNgIcIAMgATYCFCADQdIbNgIQIANBFTYCDEEAIQIMJwsgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDEEAIQIMJgtBKiECDAwLIAEgBEcEQCADQQk2AgggAyABNgIEQSkhAgwMC0EmIQIMJAsgAyADKQMgIgwgBCABa60iCn0iC0IAIAsgDFgbNwMgIAogDFQEQEElIQIMJAsgAygCBCEAIANBADYCBCADIAAgASAMp2oiARAyIgBFDQAgA0EFNgIcIAMgATYCFCADIAA2AgxBACECDCMLQQ8hAgwJC0IAIQoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43FxYAAQIDBAUGBxQUFBQUFBQICQoLDA0UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFA4PEBESExQLQgIhCgwWC0IDIQoMFQtCBCEKDBQLQgUhCgwTC0IGIQoMEgtCByEKDBELQgghCgwQC0IJIQoMDwtCCiEKDA4LQgshCgwNC0IMIQoMDAtCDSEKDAsLQg4hCgwKC0IPIQoMCQtCCiEKDAgLQgshCgwHC0IMIQoMBgtCDSEKDAULQg4hCgwEC0IPIQoMAwsgA0EANgIcIAMgATYCFCADQZ8VNgIQIANBDDYCDEEAIQIMIQsgASAERgRAQSIhAgwhC0IAIQoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBMGsONxUUAAECAwQFBgcWFhYWFhYWCAkKCwwNFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYODxAREhMWC0ICIQoMFAtCAyEKDBMLQgQhCgwSC0IFIQoMEQtCBiEKDBALQgchCgwPC0IIIQoMDgtCCSEKDA0LQgohCgwMC0ILIQoMCwtCDCEKDAoLQg0hCgwJC0IOIQoMCAtCDyEKDAcLQgohCgwGC0ILIQoMBQtCDCEKDAQLQg0hCgwDC0IOIQoMAgtCDyEKDAELQgEhCgsgAUEBaiEBIAMpAyAiC0L//////////w9YBEAgAyALQgSGIAqENwMgDAILIANBADYCHCADIAE2AhQgA0G1CTYCECADQQw2AgxBACECDB4LQSchAgwEC0EoIQIMAwsgAyABOgAsIANBADYCACAHQQFqIQFBDCECDAILIANBADYCACAGQQFqIQFBCiECDAELIAFBAWohAUEIIQIMAAsAC0EAIQIgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDAwXC0EAIQIgA0EANgIcIAMgATYCFCADQYMRNgIQIANBCTYCDAwWC0EAIQIgA0EANgIcIAMgATYCFCADQd8KNgIQIANBCTYCDAwVC0EAIQIgA0EANgIcIAMgATYCFCADQe0QNgIQIANBCTYCDAwUC0EAIQIgA0EANgIcIAMgATYCFCADQdIRNgIQIANBCTYCDAwTC0EAIQIgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDAwSC0EAIQIgA0EANgIcIAMgATYCFCADQYMRNgIQIANBCTYCDAwRC0EAIQIgA0EANgIcIAMgATYCFCADQd8KNgIQIANBCTYCDAwQC0EAIQIgA0EANgIcIAMgATYCFCADQe0QNgIQIANBCTYCDAwPC0EAIQIgA0EANgIcIAMgATYCFCADQdIRNgIQIANBCTYCDAwOC0EAIQIgA0EANgIcIAMgATYCFCADQbkXNgIQIANBDzYCDAwNC0EAIQIgA0EANgIcIAMgATYCFCADQbkXNgIQIANBDzYCDAwMC0EAIQIgA0EANgIcIAMgATYCFCADQZkTNgIQIANBCzYCDAwLC0EAIQIgA0EANgIcIAMgATYCFCADQZ0JNgIQIANBCzYCDAwKC0EAIQIgA0EANgIcIAMgATYCFCADQZcQNgIQIANBCjYCDAwJC0EAIQIgA0EANgIcIAMgATYCFCADQbEQNgIQIANBCjYCDAwIC0EAIQIgA0EANgIcIAMgATYCFCADQbsdNgIQIANBAjYCDAwHC0EAIQIgA0EANgIcIAMgATYCFCADQZYWNgIQIANBAjYCDAwGC0EAIQIgA0EANgIcIAMgATYCFCADQfkYNgIQIANBAjYCDAwFC0EAIQIgA0EANgIcIAMgATYCFCADQcQYNgIQIANBAjYCDAwECyADQQI2AhwgAyABNgIUIANBqR42AhAgA0EWNgIMQQAhAgwDC0HeACECIAEgBEYNAiAJQQhqIQcgAygCACEFAkACQCABIARHBEAgBUGWyABqIQggBCAFaiABayEGIAVBf3NBCmoiBSABaiEAA0AgAS0AACAILQAARwRAQQIhCAwDCyAFRQRAQQAhCCAAIQEMAwsgBUEBayEFIAhBAWohCCAEIAFBAWoiAUcNAAsgBiEFIAQhAQsgB0EBNgIAIAMgBTYCAAwBCyADQQA2AgAgByAINgIACyAHIAE2AgQgCSgCDCEAAkACQCAJKAIIQQFrDgIEAQALIANBADYCHCADQcIeNgIQIANBFzYCDCADIABBAWo2AhRBACECDAMLIANBADYCHCADIAA2AhQgA0HXHjYCECADQQk2AgxBACECDAILIAEgBEYEQEEoIQIMAgsgA0EJNgIIIAMgATYCBEEnIQIMAQsgASAERgRAQQEhAgwBCwNAAkACQAJAIAEtAABBCmsOBAABAQABCyABQQFqIQEMAQsgAUEBaiEBIAMtAC5BIHENAEEAIQIgA0EANgIcIAMgATYCFCADQaEhNgIQIANBBTYCDAwCC0EBIQIgASAERw0ACwsgCUEQaiQAIAJFBEAgAygCDCEADAELIAMgAjYCHEEAIQAgAygCBCIBRQ0AIAMgASAEIAMoAggRAQAiAUUNACADIAQ2AhQgAyABNgIMIAEhAAsgAAu+AgECfyAAQQA6AAAgAEHkAGoiAUEBa0EAOgAAIABBADoAAiAAQQA6AAEgAUEDa0EAOgAAIAFBAmtBADoAACAAQQA6AAMgAUEEa0EAOgAAQQAgAGtBA3EiASAAaiIAQQA2AgBB5AAgAWtBfHEiAiAAaiIBQQRrQQA2AgACQCACQQlJDQAgAEEANgIIIABBADYCBCABQQhrQQA2AgAgAUEMa0EANgIAIAJBGUkNACAAQQA2AhggAEEANgIUIABBADYCECAAQQA2AgwgAUEQa0EANgIAIAFBFGtBADYCACABQRhrQQA2AgAgAUEca0EANgIAIAIgAEEEcUEYciICayIBQSBJDQAgACACaiEAA0AgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIABBIGohACABQSBrIgFBH0sNAAsLC1YBAX8CQCAAKAIMDQACQAJAAkACQCAALQAxDgMBAAMCCyAAKAI4IgFFDQAgASgCMCIBRQ0AIAAgAREAACIBDQMLQQAPCwALIABByhk2AhBBDiEBCyABCxoAIAAoAgxFBEAgAEHeHzYCECAAQRU2AgwLCxQAIAAoAgxBFUYEQCAAQQA2AgwLCxQAIAAoAgxBFkYEQCAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsrAAJAIABBJ08NAEL//////wkgAK2IQgGDUA0AIABBAnRB0DhqKAIADwsACxcAIABBL08EQAALIABBAnRB7DlqKAIAC78JAQF/QfQtIQECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQeQAaw70A2NiAAFhYWFhYWECAwQFYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQYHCAkKCwwNDg9hYWFhYRBhYWFhYWFhYWFhYRFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWESExQVFhcYGRobYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1NmE3ODk6YWFhYWFhYWE7YWFhPGFhYWE9Pj9hYWFhYWFhYUBhYUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFCQ0RFRkdISUpLTE1OT1BRUlNhYWFhYWFhYVRVVldYWVpbYVxdYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhXmFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYV9gYQtB6iwPC0GYJg8LQe0xDwtBoDcPC0HJKQ8LQbQpDwtBli0PC0HrKw8LQaI1DwtB2zQPC0HgKQ8LQeMkDwtB1SQPC0HuJA8LQeYlDwtByjQPC0HQNw8LQao1DwtB9SwPC0H2Jg8LQYIiDwtB8jMPC0G+KA8LQec3DwtBzSEPC0HAIQ8LQbglDwtByyUPC0GWJA8LQY80DwtBzTUPC0HdKg8LQe4zDwtBnDQPC0GeMQ8LQfQ1DwtB5SIPC0GvJQ8LQZkxDwtBsjYPC0H5Ng8LQcQyDwtB3SwPC0GCMQ8LQcExDwtBjTcPC0HJJA8LQew2DwtB5yoPC0HIIw8LQeIhDwtByTcPC0GlIg8LQZQiDwtB2zYPC0HeNQ8LQYYmDwtBvCsPC0GLMg8LQaAjDwtB9jAPC0GALA8LQYkrDwtBpCYPC0HyIw8LQYEoDwtBqzIPC0HrJw8LQcI2DwtBoiQPC0HPKg8LQdwjDwtBhycPC0HkNA8LQbciDwtBrTEPC0HVIg8LQa80DwtB3iYPC0HWMg8LQfQ0DwtBgTgPC0H0Nw8LQZI2DwtBnScPC0GCKQ8LQY0jDwtB1zEPC0G9NQ8LQbQ3DwtB2DAPC0G2Jw8LQZo4DwtBpyoPC0HEJw8LQa4jDwtB9SIPCwALQcomIQELIAELFwAgACAALwEuQf7/A3EgAUEAR3I7AS4LGgAgACAALwEuQf3/A3EgAUEAR0EBdHI7AS4LGgAgACAALwEuQfv/A3EgAUEAR0ECdHI7AS4LGgAgACAALwEuQff/A3EgAUEAR0EDdHI7AS4LGgAgACAALwEuQe//A3EgAUEAR0EEdHI7AS4LGgAgACAALwEuQd//A3EgAUEAR0EFdHI7AS4LGgAgACAALwEuQb//A3EgAUEAR0EGdHI7AS4LGgAgACAALwEuQf/+A3EgAUEAR0EHdHI7AS4LGgAgACAALwEuQf/9A3EgAUEAR0EIdHI7AS4LGgAgACAALwEuQf/7A3EgAUEAR0EJdHI7AS4LPgECfwJAIAAoAjgiA0UNACADKAIEIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEHhEjYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIIIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEH8ETYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIMIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEHsCjYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIQIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEH6HjYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIUIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEHLEDYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIYIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEG3HzYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIcIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEG/FTYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIsIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEH+CDYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIgIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEGMHTYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIkIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEHmFTYCEEEYIQQLIAQLOAAgAAJ/IAAvATJBFHFBFEYEQEEBIAAtAChBAUYNARogAC8BNEHlAEYMAQsgAC0AKUEFRgs6ADALWQECfwJAIAAtAChBAUYNACAALwE0IgFB5ABrQeQASQ0AIAFBzAFGDQAgAUGwAkYNACAALwEyIgBBwABxDQBBASECIABBiARxQYAERg0AIABBKHFFIQILIAILjAEBAn8CQAJAAkAgAC0AKkUNACAALQArRQ0AIAAvATIiAUECcUUNAQwCCyAALwEyIgFBAXFFDQELQQEhAiAALQAoQQFGDQAgAC8BNCIAQeQAa0HkAEkNACAAQcwBRg0AIABBsAJGDQAgAUHAAHENAEEAIQIgAUGIBHFBgARGDQAgAUEocUEARyECCyACC1cAIABBGGpCADcDACAAQgA3AwAgAEE4akIANwMAIABBMGpCADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEH9ATYCHAsGACAAEDoLmi0BC38jAEEQayIKJABB3NUAKAIAIglFBEBBnNkAKAIAIgVFBEBBqNkAQn83AgBBoNkAQoCAhICAgMAANwIAQZzZACAKQQhqQXBxQdiq1aoFcyIFNgIAQbDZAEEANgIAQYDZAEEANgIAC0GE2QBBwNkENgIAQdTVAEHA2QQ2AgBB6NUAIAU2AgBB5NUAQX82AgBBiNkAQcCmAzYCAANAIAFBgNYAaiABQfTVAGoiAjYCACACIAFB7NUAaiIDNgIAIAFB+NUAaiADNgIAIAFBiNYAaiABQfzVAGoiAzYCACADIAI2AgAgAUGQ1gBqIAFBhNYAaiICNgIAIAIgAzYCACABQYzWAGogAjYCACABQSBqIgFBgAJHDQALQczZBEGBpgM2AgBB4NUAQazZACgCADYCAEHQ1QBBgKYDNgIAQdzVAEHI2QQ2AgBBzP8HQTg2AgBByNkEIQkLAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAU0EQEHE1QAoAgAiBkEQIABBE2pBcHEgAEELSRsiBEEDdiIAdiIBQQNxBEACQCABQQFxIAByQQFzIgJBA3QiAEHs1QBqIgEgAEH01QBqKAIAIgAoAggiA0YEQEHE1QAgBkF+IAJ3cTYCAAwBCyABIAM2AgggAyABNgIMCyAAQQhqIQEgACACQQN0IgJBA3I2AgQgACACaiIAIAAoAgRBAXI2AgQMEQtBzNUAKAIAIgggBE8NASABBEACQEECIAB0IgJBACACa3IgASAAdHFoIgBBA3QiAkHs1QBqIgEgAkH01QBqKAIAIgIoAggiA0YEQEHE1QAgBkF+IAB3cSIGNgIADAELIAEgAzYCCCADIAE2AgwLIAIgBEEDcjYCBCAAQQN0IgAgBGshBSAAIAJqIAU2AgAgAiAEaiIEIAVBAXI2AgQgCARAIAhBeHFB7NUAaiEAQdjVACgCACEDAn9BASAIQQN2dCIBIAZxRQRAQcTVACABIAZyNgIAIAAMAQsgACgCCAsiASADNgIMIAAgAzYCCCADIAA2AgwgAyABNgIICyACQQhqIQFB2NUAIAQ2AgBBzNUAIAU2AgAMEQtByNUAKAIAIgtFDQEgC2hBAnRB9NcAaigCACIAKAIEQXhxIARrIQUgACECA0ACQCACKAIQIgFFBEAgAkEUaigCACIBRQ0BCyABKAIEQXhxIARrIgMgBUkhAiADIAUgAhshBSABIAAgAhshACABIQIMAQsLIAAoAhghCSAAKAIMIgMgAEcEQEHU1QAoAgAaIAMgACgCCCIBNgIIIAEgAzYCDAwQCyAAQRRqIgIoAgAiAUUEQCAAKAIQIgFFDQMgAEEQaiECCwNAIAIhByABIgNBFGoiAigCACIBDQAgA0EQaiECIAMoAhAiAQ0ACyAHQQA2AgAMDwtBfyEEIABBv39LDQAgAEETaiIBQXBxIQRByNUAKAIAIghFDQBBACAEayEFAkACQAJAAn9BACAEQYACSQ0AGkEfIARB////B0sNABogBEEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+agsiBkECdEH01wBqKAIAIgJFBEBBACEBQQAhAwwBC0EAIQEgBEEZIAZBAXZrQQAgBkEfRxt0IQBBACEDA0ACQCACKAIEQXhxIARrIgcgBU8NACACIQMgByIFDQBBACEFIAIhAQwDCyABIAJBFGooAgAiByAHIAIgAEEddkEEcWpBEGooAgAiAkYbIAEgBxshASAAQQF0IQAgAg0ACwsgASADckUEQEEAIQNBAiAGdCIAQQAgAGtyIAhxIgBFDQMgAGhBAnRB9NcAaigCACEBCyABRQ0BCwNAIAEoAgRBeHEgBGsiAiAFSSEAIAIgBSAAGyEFIAEgAyAAGyEDIAEoAhAiAAR/IAAFIAFBFGooAgALIgENAAsLIANFDQAgBUHM1QAoAgAgBGtPDQAgAygCGCEHIAMgAygCDCIARwRAQdTVACgCABogACADKAIIIgE2AgggASAANgIMDA4LIANBFGoiAigCACIBRQRAIAMoAhAiAUUNAyADQRBqIQILA0AgAiEGIAEiAEEUaiICKAIAIgENACAAQRBqIQIgACgCECIBDQALIAZBADYCAAwNC0HM1QAoAgAiAyAETwRAQdjVACgCACEBAkAgAyAEayICQRBPBEAgASAEaiIAIAJBAXI2AgQgASADaiACNgIAIAEgBEEDcjYCBAwBCyABIANBA3I2AgQgASADaiIAIAAoAgRBAXI2AgRBACEAQQAhAgtBzNUAIAI2AgBB2NUAIAA2AgAgAUEIaiEBDA8LQdDVACgCACIDIARLBEAgBCAJaiIAIAMgBGsiAUEBcjYCBEHc1QAgADYCAEHQ1QAgATYCACAJIARBA3I2AgQgCUEIaiEBDA8LQQAhASAEAn9BnNkAKAIABEBBpNkAKAIADAELQajZAEJ/NwIAQaDZAEKAgISAgIDAADcCAEGc2QAgCkEMakFwcUHYqtWqBXM2AgBBsNkAQQA2AgBBgNkAQQA2AgBBgIAECyIAIARBxwBqIgVqIgZBACAAayIHcSICTwRAQbTZAEEwNgIADA8LAkBB/NgAKAIAIgFFDQBB9NgAKAIAIgggAmohACAAIAFNIAAgCEtxDQBBACEBQbTZAEEwNgIADA8LQYDZAC0AAEEEcQ0EAkACQCAJBEBBhNkAIQEDQCABKAIAIgAgCU0EQCAAIAEoAgRqIAlLDQMLIAEoAggiAQ0ACwtBABA7IgBBf0YNBSACIQZBoNkAKAIAIgFBAWsiAyAAcQRAIAIgAGsgACADakEAIAFrcWohBgsgBCAGTw0FIAZB/v///wdLDQVB/NgAKAIAIgMEQEH02AAoAgAiByAGaiEBIAEgB00NBiABIANLDQYLIAYQOyIBIABHDQEMBwsgBiADayAHcSIGQf7///8HSw0EIAYQOyEAIAAgASgCACABKAIEakYNAyAAIQELAkAgBiAEQcgAak8NACABQX9GDQBBpNkAKAIAIgAgBSAGa2pBACAAa3EiAEH+////B0sEQCABIQAMBwsgABA7QX9HBEAgACAGaiEGIAEhAAwHC0EAIAZrEDsaDAQLIAEiAEF/Rw0FDAMLQQAhAwwMC0EAIQAMCgsgAEF/Rw0CC0GA2QBBgNkAKAIAQQRyNgIACyACQf7///8HSw0BIAIQOyEAQQAQOyEBIABBf0YNASABQX9GDQEgACABTw0BIAEgAGsiBiAEQThqTQ0BC0H02ABB9NgAKAIAIAZqIgE2AgBB+NgAKAIAIAFJBEBB+NgAIAE2AgALAkACQAJAQdzVACgCACICBEBBhNkAIQEDQCAAIAEoAgAiAyABKAIEIgVqRg0CIAEoAggiAQ0ACwwCC0HU1QAoAgAiAUEARyAAIAFPcUUEQEHU1QAgADYCAAtBACEBQYjZACAGNgIAQYTZACAANgIAQeTVAEF/NgIAQejVAEGc2QAoAgA2AgBBkNkAQQA2AgADQCABQYDWAGogAUH01QBqIgI2AgAgAiABQezVAGoiAzYCACABQfjVAGogAzYCACABQYjWAGogAUH81QBqIgM2AgAgAyACNgIAIAFBkNYAaiABQYTWAGoiAjYCACACIAM2AgAgAUGM1gBqIAI2AgAgAUEgaiIBQYACRw0AC0F4IABrQQ9xIgEgAGoiAiAGQThrIgMgAWsiAUEBcjYCBEHg1QBBrNkAKAIANgIAQdDVACABNgIAQdzVACACNgIAIAAgA2pBODYCBAwCCyAAIAJNDQAgAiADSQ0AIAEoAgxBCHENAEF4IAJrQQ9xIgAgAmoiA0HQ1QAoAgAgBmoiByAAayIAQQFyNgIEIAEgBSAGajYCBEHg1QBBrNkAKAIANgIAQdDVACAANgIAQdzVACADNgIAIAIgB2pBODYCBAwBCyAAQdTVACgCAEkEQEHU1QAgADYCAAsgACAGaiEDQYTZACEBAkACQAJAA0AgAyABKAIARwRAIAEoAggiAQ0BDAILCyABLQAMQQhxRQ0BC0GE2QAhAQNAIAEoAgAiAyACTQRAIAMgASgCBGoiBSACSw0DCyABKAIIIQEMAAsACyABIAA2AgAgASABKAIEIAZqNgIEIABBeCAAa0EPcWoiCSAEQQNyNgIEIANBeCADa0EPcWoiBiAEIAlqIgRrIQEgAiAGRgRAQdzVACAENgIAQdDVAEHQ1QAoAgAgAWoiADYCACAEIABBAXI2AgQMCAtB2NUAKAIAIAZGBEBB2NUAIAQ2AgBBzNUAQczVACgCACABaiIANgIAIAQgAEEBcjYCBCAAIARqIAA2AgAMCAsgBigCBCIFQQNxQQFHDQYgBUF4cSEIIAVB/wFNBEAgBUEDdiEDIAYoAggiACAGKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwHCyACIAA2AgggACACNgIMDAYLIAYoAhghByAGIAYoAgwiAEcEQCAAIAYoAggiAjYCCCACIAA2AgwMBQsgBkEUaiICKAIAIgVFBEAgBigCECIFRQ0EIAZBEGohAgsDQCACIQMgBSIAQRRqIgIoAgAiBQ0AIABBEGohAiAAKAIQIgUNAAsgA0EANgIADAQLQXggAGtBD3EiASAAaiIHIAZBOGsiAyABayIBQQFyNgIEIAAgA2pBODYCBCACIAVBNyAFa0EPcWpBP2siAyADIAJBEGpJGyIDQSM2AgRB4NUAQazZACgCADYCAEHQ1QAgATYCAEHc1QAgBzYCACADQRBqQYzZACkCADcCACADQYTZACkCADcCCEGM2QAgA0EIajYCAEGI2QAgBjYCAEGE2QAgADYCAEGQ2QBBADYCACADQSRqIQEDQCABQQc2AgAgBSABQQRqIgFLDQALIAIgA0YNACADIAMoAgRBfnE2AgQgAyADIAJrIgU2AgAgAiAFQQFyNgIEIAVB/wFNBEAgBUF4cUHs1QBqIQACf0HE1QAoAgAiAUEBIAVBA3Z0IgNxRQRAQcTVACABIANyNgIAIAAMAQsgACgCCAsiASACNgIMIAAgAjYCCCACIAA2AgwgAiABNgIIDAELQR8hASAFQf///wdNBEAgBUEmIAVBCHZnIgBrdkEBcSAAQQF0a0E+aiEBCyACIAE2AhwgAkIANwIQIAFBAnRB9NcAaiEAQcjVACgCACIDQQEgAXQiBnFFBEAgACACNgIAQcjVACADIAZyNgIAIAIgADYCGCACIAI2AgggAiACNgIMDAELIAVBGSABQQF2a0EAIAFBH0cbdCEBIAAoAgAhAwJAA0AgAyIAKAIEQXhxIAVGDQEgAUEddiEDIAFBAXQhASAAIANBBHFqQRBqIgYoAgAiAw0ACyAGIAI2AgAgAiAANgIYIAIgAjYCDCACIAI2AggMAQsgACgCCCIBIAI2AgwgACACNgIIIAJBADYCGCACIAA2AgwgAiABNgIIC0HQ1QAoAgAiASAETQ0AQdzVACgCACIAIARqIgIgASAEayIBQQFyNgIEQdDVACABNgIAQdzVACACNgIAIAAgBEEDcjYCBCAAQQhqIQEMCAtBACEBQbTZAEEwNgIADAcLQQAhAAsgB0UNAAJAIAYoAhwiAkECdEH01wBqIgMoAgAgBkYEQCADIAA2AgAgAA0BQcjVAEHI1QAoAgBBfiACd3E2AgAMAgsgB0EQQRQgBygCECAGRhtqIAA2AgAgAEUNAQsgACAHNgIYIAYoAhAiAgRAIAAgAjYCECACIAA2AhgLIAZBFGooAgAiAkUNACAAQRRqIAI2AgAgAiAANgIYCyABIAhqIQEgBiAIaiIGKAIEIQULIAYgBUF+cTYCBCABIARqIAE2AgAgBCABQQFyNgIEIAFB/wFNBEAgAUF4cUHs1QBqIQACf0HE1QAoAgAiAkEBIAFBA3Z0IgFxRQRAQcTVACABIAJyNgIAIAAMAQsgACgCCAsiASAENgIMIAAgBDYCCCAEIAA2AgwgBCABNgIIDAELQR8hBSABQf///wdNBEAgAUEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+aiEFCyAEIAU2AhwgBEIANwIQIAVBAnRB9NcAaiEAQcjVACgCACICQQEgBXQiA3FFBEAgACAENgIAQcjVACACIANyNgIAIAQgADYCGCAEIAQ2AgggBCAENgIMDAELIAFBGSAFQQF2a0EAIAVBH0cbdCEFIAAoAgAhAAJAA0AgACICKAIEQXhxIAFGDQEgBUEddiEAIAVBAXQhBSACIABBBHFqQRBqIgMoAgAiAA0ACyADIAQ2AgAgBCACNgIYIAQgBDYCDCAEIAQ2AggMAQsgAigCCCIAIAQ2AgwgAiAENgIIIARBADYCGCAEIAI2AgwgBCAANgIICyAJQQhqIQEMAgsCQCAHRQ0AAkAgAygCHCIBQQJ0QfTXAGoiAigCACADRgRAIAIgADYCACAADQFByNUAIAhBfiABd3EiCDYCAAwCCyAHQRBBFCAHKAIQIANGG2ogADYCACAARQ0BCyAAIAc2AhggAygCECIBBEAgACABNgIQIAEgADYCGAsgA0EUaigCACIBRQ0AIABBFGogATYCACABIAA2AhgLAkAgBUEPTQRAIAMgBCAFaiIAQQNyNgIEIAAgA2oiACAAKAIEQQFyNgIEDAELIAMgBGoiAiAFQQFyNgIEIAMgBEEDcjYCBCACIAVqIAU2AgAgBUH/AU0EQCAFQXhxQezVAGohAAJ/QcTVACgCACIBQQEgBUEDdnQiBXFFBEBBxNUAIAEgBXI2AgAgAAwBCyAAKAIICyIBIAI2AgwgACACNgIIIAIgADYCDCACIAE2AggMAQtBHyEBIAVB////B00EQCAFQSYgBUEIdmciAGt2QQFxIABBAXRrQT5qIQELIAIgATYCHCACQgA3AhAgAUECdEH01wBqIQBBASABdCIEIAhxRQRAIAAgAjYCAEHI1QAgBCAIcjYCACACIAA2AhggAiACNgIIIAIgAjYCDAwBCyAFQRkgAUEBdmtBACABQR9HG3QhASAAKAIAIQQCQANAIAQiACgCBEF4cSAFRg0BIAFBHXYhBCABQQF0IQEgACAEQQRxakEQaiIGKAIAIgQNAAsgBiACNgIAIAIgADYCGCACIAI2AgwgAiACNgIIDAELIAAoAggiASACNgIMIAAgAjYCCCACQQA2AhggAiAANgIMIAIgATYCCAsgA0EIaiEBDAELAkAgCUUNAAJAIAAoAhwiAUECdEH01wBqIgIoAgAgAEYEQCACIAM2AgAgAw0BQcjVACALQX4gAXdxNgIADAILIAlBEEEUIAkoAhAgAEYbaiADNgIAIANFDQELIAMgCTYCGCAAKAIQIgEEQCADIAE2AhAgASADNgIYCyAAQRRqKAIAIgFFDQAgA0EUaiABNgIAIAEgAzYCGAsCQCAFQQ9NBEAgACAEIAVqIgFBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQMAQsgACAEaiIHIAVBAXI2AgQgACAEQQNyNgIEIAUgB2ogBTYCACAIBEAgCEF4cUHs1QBqIQFB2NUAKAIAIQMCf0EBIAhBA3Z0IgIgBnFFBEBBxNUAIAIgBnI2AgAgAQwBCyABKAIICyICIAM2AgwgASADNgIIIAMgATYCDCADIAI2AggLQdjVACAHNgIAQczVACAFNgIACyAAQQhqIQELIApBEGokACABC0MAIABFBEA/AEEQdA8LAkAgAEH//wNxDQAgAEEASA0AIABBEHZAACIAQX9GBEBBtNkAQTA2AgBBfw8LIABBEHQPCwALC5lCIgBBgAgLDQEAAAAAAAAAAgAAAAMAQZgICwUEAAAABQBBqAgLCQYAAAAHAAAACABB5AgLwjJJbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";
|
|
3253
3253
|
var wasmBuffer;
|
|
3254
3254
|
Object.defineProperty(module2, "exports", {
|
|
3255
3255
|
get: /* @__PURE__ */ __name(() => {
|
|
3256
|
-
return wasmBuffer ? wasmBuffer : wasmBuffer =
|
|
3256
|
+
return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer6.from(wasmBase64, "base64");
|
|
3257
3257
|
}, "get")
|
|
3258
3258
|
});
|
|
3259
3259
|
}
|
|
@@ -3264,12 +3264,12 @@ var require_llhttp_simd_wasm = __commonJS({
|
|
|
3264
3264
|
"node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
|
|
3265
3265
|
"use strict";
|
|
3266
3266
|
init_esbuild_shims();
|
|
3267
|
-
var { Buffer:
|
|
3267
|
+
var { Buffer: Buffer6 } = __require("node:buffer");
|
|
3268
3268
|
var wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkB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CyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEH51ABqLQAARw0yIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyGAgsgA0EANgIAIAZBAWohAUErDDILQcABIQIgASAERg2EAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH21ABqLQAARw0xIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyFAgsgA0EANgIAIAZBAWohAUEsDDELQb8BIQIgASAERg2DAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0wIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyEAgsgA0EANgIAIAZBAWohAUERDDALQb4BIQIgASAERg2CAiADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEHy1ABqLQAARw0vIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyDAgsgA0EANgIAIAZBAWohAUEuDC8LIAEgBEYEQEG9ASECDIICCwJAAkACQAJAAkAgAS0AAEHBAGsOFQA0NDQ0NDQ0NDQ0ATQ0AjQ0AzQ0BDQLIAFBAWohAUGbASECDOwBCyABQQFqIQFBnAEhAgzrAQsgAUEBaiEBQZ0BIQIM6gELIAFBAWohAUGiASECDOkBCyABQQFqIQFBpAEhAgzoAQsgASAERgRAQbwBIQIMgQILAkACQCABLQAAQdIAaw4DADABMAsgAUEBaiEBQaMBIQIM6AELIAFBAWohAUEEDC0LQbsBIQIgASAERg3/ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHw1ABqLQAARw0sIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyAAgsgA0EANgIAIAZBAWohAUEdDCwLIAEgBEYEQEG6ASECDP8BCwJAAkAgAS0AAEHJAGsOBwEuLi4uLgAuCyABQQFqIQFBoQEhAgzmAQsgAUEBaiEBQSIMKwsgASAERgRAQbkBIQIM/gELIAEtAABB0ABHDSsgAUEBaiEBQaABIQIM5AELIAEgBEYEQEG4ASECDP0BCwJAAkAgAS0AAEHGAGsOCwAsLCwsLCwsLCwBLAsgAUEBaiEBQZ4BIQIM5AELIAFBAWohAUGfASECDOMBC0G3ASECIAEgBEYN+wEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABB7NQAai0AAEcNKCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM/AELIANBADYCACAGQQFqIQFBDQwoC0G2ASECIAEgBEYN+gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBodUAai0AAEcNJyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+wELIANBADYCACAGQQFqIQFBDAwnC0G1ASECIAEgBEYN+QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB6tQAai0AAEcNJiAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+gELIANBADYCACAGQQFqIQFBAwwmC0G0ASECIAEgBEYN+AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB6NQAai0AAEcNJSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+QELIANBADYCACAGQQFqIQFBJgwlCyABIARGBEBBswEhAgz4AQsCQAJAIAEtAABB1ABrDgIAAScLIAFBAWohAUGZASECDN8BCyABQQFqIQFBmgEhAgzeAQtBsgEhAiABIARGDfYBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQebUAGotAABHDSMgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPcBCyADQQA2AgAgBkEBaiEBQScMIwtBsQEhAiABIARGDfUBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQeTUAGotAABHDSIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPYBCyADQQA2AgAgBkEBaiEBQRwMIgtBsAEhAiABIARGDfQBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQd7UAGotAABHDSEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPUBCyADQQA2AgAgBkEBaiEBQQYMIQtBrwEhAiABIARGDfMBIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQdnUAGotAABHDSAgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPQBCyADQQA2AgAgBkEBaiEBQRkMIAsgASAERgRAQa4BIQIM8wELAkACQAJAAkAgAS0AAEEtaw4jACQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkASQkJCQkAiQkJAMkCyABQQFqIQFBjgEhAgzcAQsgAUEBaiEBQY8BIQIM2wELIAFBAWohAUGUASECDNoBCyABQQFqIQFBlQEhAgzZAQtBrQEhAiABIARGDfEBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQdfUAGotAABHDR4gAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPIBCyADQQA2AgAgBkEBaiEBQQsMHgsgASAERgRAQawBIQIM8QELAkACQCABLQAAQcEAaw4DACABIAsgAUEBaiEBQZABIQIM2AELIAFBAWohAUGTASECDNcBCyABIARGBEBBqwEhAgzwAQsCQAJAIAEtAABBwQBrDg8AHx8fHx8fHx8fHx8fHwEfCyABQQFqIQFBkQEhAgzXAQsgAUEBaiEBQZIBIQIM1gELIAEgBEYEQEGqASECDO8BCyABLQAAQcwARw0cIAFBAWohAUEKDBsLQakBIQIgASAERg3tASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHR1ABqLQAARw0aIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzuAQsgA0EANgIAIAZBAWohAUEeDBoLQagBIQIgASAERg3sASADKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEHK1ABqLQAARw0ZIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAztAQsgA0EANgIAIAZBAWohAUEVDBkLQacBIQIgASAERg3rASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHH1ABqLQAARw0YIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyAD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ciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";
|
|
3269
3269
|
var wasmBuffer;
|
|
3270
3270
|
Object.defineProperty(module2, "exports", {
|
|
3271
3271
|
get: /* @__PURE__ */ __name(() => {
|
|
3272
|
-
return wasmBuffer ? wasmBuffer : wasmBuffer =
|
|
3272
|
+
return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer6.from(wasmBase64, "base64");
|
|
3273
3273
|
}, "get")
|
|
3274
3274
|
});
|
|
3275
3275
|
}
|
|
@@ -31773,36 +31773,36 @@ var require_safe_buffer = __commonJS({
|
|
|
31773
31773
|
"node_modules/safe-buffer/index.js"(exports2, module2) {
|
|
31774
31774
|
init_esbuild_shims();
|
|
31775
31775
|
var buffer = __require("buffer");
|
|
31776
|
-
var
|
|
31776
|
+
var Buffer6 = buffer.Buffer;
|
|
31777
31777
|
function copyProps(src, dst) {
|
|
31778
31778
|
for (var key in src) {
|
|
31779
31779
|
dst[key] = src[key];
|
|
31780
31780
|
}
|
|
31781
31781
|
}
|
|
31782
31782
|
__name(copyProps, "copyProps");
|
|
31783
|
-
if (
|
|
31783
|
+
if (Buffer6.from && Buffer6.alloc && Buffer6.allocUnsafe && Buffer6.allocUnsafeSlow) {
|
|
31784
31784
|
module2.exports = buffer;
|
|
31785
31785
|
} else {
|
|
31786
31786
|
copyProps(buffer, exports2);
|
|
31787
31787
|
exports2.Buffer = SafeBuffer;
|
|
31788
31788
|
}
|
|
31789
31789
|
function SafeBuffer(arg, encodingOrOffset, length) {
|
|
31790
|
-
return
|
|
31790
|
+
return Buffer6(arg, encodingOrOffset, length);
|
|
31791
31791
|
}
|
|
31792
31792
|
__name(SafeBuffer, "SafeBuffer");
|
|
31793
|
-
SafeBuffer.prototype = Object.create(
|
|
31794
|
-
copyProps(
|
|
31793
|
+
SafeBuffer.prototype = Object.create(Buffer6.prototype);
|
|
31794
|
+
copyProps(Buffer6, SafeBuffer);
|
|
31795
31795
|
SafeBuffer.from = function(arg, encodingOrOffset, length) {
|
|
31796
31796
|
if (typeof arg === "number") {
|
|
31797
31797
|
throw new TypeError("Argument must not be a number");
|
|
31798
31798
|
}
|
|
31799
|
-
return
|
|
31799
|
+
return Buffer6(arg, encodingOrOffset, length);
|
|
31800
31800
|
};
|
|
31801
31801
|
SafeBuffer.alloc = function(size, fill, encoding) {
|
|
31802
31802
|
if (typeof size !== "number") {
|
|
31803
31803
|
throw new TypeError("Argument must be a number");
|
|
31804
31804
|
}
|
|
31805
|
-
var buf =
|
|
31805
|
+
var buf = Buffer6(size);
|
|
31806
31806
|
if (fill !== void 0) {
|
|
31807
31807
|
if (typeof encoding === "string") {
|
|
31808
31808
|
buf.fill(fill, encoding);
|
|
@@ -31818,7 +31818,7 @@ var require_safe_buffer = __commonJS({
|
|
|
31818
31818
|
if (typeof size !== "number") {
|
|
31819
31819
|
throw new TypeError("Argument must be a number");
|
|
31820
31820
|
}
|
|
31821
|
-
return
|
|
31821
|
+
return Buffer6(size);
|
|
31822
31822
|
};
|
|
31823
31823
|
SafeBuffer.allocUnsafeSlow = function(size) {
|
|
31824
31824
|
if (typeof size !== "number") {
|
|
@@ -31861,7 +31861,7 @@ var require_ecdsa_sig_formatter = __commonJS({
|
|
|
31861
31861
|
"node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js"(exports2, module2) {
|
|
31862
31862
|
"use strict";
|
|
31863
31863
|
init_esbuild_shims();
|
|
31864
|
-
var
|
|
31864
|
+
var Buffer6 = require_safe_buffer().Buffer;
|
|
31865
31865
|
var getParamBytesForAlg = require_param_bytes_for_alg();
|
|
31866
31866
|
var MAX_OCTET = 128;
|
|
31867
31867
|
var CLASS_UNIVERSAL = 0;
|
|
@@ -31875,10 +31875,10 @@ var require_ecdsa_sig_formatter = __commonJS({
|
|
|
31875
31875
|
}
|
|
31876
31876
|
__name(base64Url, "base64Url");
|
|
31877
31877
|
function signatureAsBuffer(signature) {
|
|
31878
|
-
if (
|
|
31878
|
+
if (Buffer6.isBuffer(signature)) {
|
|
31879
31879
|
return signature;
|
|
31880
31880
|
} else if ("string" === typeof signature) {
|
|
31881
|
-
return
|
|
31881
|
+
return Buffer6.from(signature, "base64");
|
|
31882
31882
|
}
|
|
31883
31883
|
throw new TypeError("ECDSA signature must be a Base64 string or a Buffer");
|
|
31884
31884
|
}
|
|
@@ -31927,7 +31927,7 @@ var require_ecdsa_sig_formatter = __commonJS({
|
|
|
31927
31927
|
throw new Error('Expected to consume entire buffer, but "' + (inputLength - offset) + '" bytes remain');
|
|
31928
31928
|
}
|
|
31929
31929
|
var rPadding = paramBytes - rLength, sPadding = paramBytes - sLength;
|
|
31930
|
-
var dst =
|
|
31930
|
+
var dst = Buffer6.allocUnsafe(rPadding + rLength + sPadding + sLength);
|
|
31931
31931
|
for (offset = 0; offset < rPadding; ++offset) {
|
|
31932
31932
|
dst[offset] = 0;
|
|
31933
31933
|
}
|
|
@@ -31967,7 +31967,7 @@ var require_ecdsa_sig_formatter = __commonJS({
|
|
|
31967
31967
|
var sLength = paramBytes - sPadding;
|
|
31968
31968
|
var rsBytes = 1 + 1 + rLength + 1 + 1 + sLength;
|
|
31969
31969
|
var shortLength = rsBytes < MAX_OCTET;
|
|
31970
|
-
var dst =
|
|
31970
|
+
var dst = Buffer6.allocUnsafe((shortLength ? 2 : 3) + rsBytes);
|
|
31971
31971
|
var offset = 0;
|
|
31972
31972
|
dst[offset++] = ENCODED_TAG_SEQ;
|
|
31973
31973
|
if (shortLength) {
|
|
@@ -33120,7 +33120,7 @@ var require_envDetect = __commonJS({
|
|
|
33120
33120
|
var require_data_stream = __commonJS({
|
|
33121
33121
|
"node_modules/jws/lib/data-stream.js"(exports2, module2) {
|
|
33122
33122
|
init_esbuild_shims();
|
|
33123
|
-
var
|
|
33123
|
+
var Buffer6 = require_safe_buffer().Buffer;
|
|
33124
33124
|
var Stream4 = __require("stream");
|
|
33125
33125
|
var util4 = __require("util");
|
|
33126
33126
|
function DataStream(data) {
|
|
@@ -33128,11 +33128,11 @@ var require_data_stream = __commonJS({
|
|
|
33128
33128
|
this.writable = true;
|
|
33129
33129
|
this.readable = true;
|
|
33130
33130
|
if (!data) {
|
|
33131
|
-
this.buffer =
|
|
33131
|
+
this.buffer = Buffer6.alloc(0);
|
|
33132
33132
|
return this;
|
|
33133
33133
|
}
|
|
33134
33134
|
if (typeof data.pipe === "function") {
|
|
33135
|
-
this.buffer =
|
|
33135
|
+
this.buffer = Buffer6.alloc(0);
|
|
33136
33136
|
data.pipe(this);
|
|
33137
33137
|
return this;
|
|
33138
33138
|
}
|
|
@@ -33151,7 +33151,7 @@ var require_data_stream = __commonJS({
|
|
|
33151
33151
|
__name(DataStream, "DataStream");
|
|
33152
33152
|
util4.inherits(DataStream, Stream4);
|
|
33153
33153
|
DataStream.prototype.write = /* @__PURE__ */ __name(function write2(data) {
|
|
33154
|
-
this.buffer =
|
|
33154
|
+
this.buffer = Buffer6.concat([this.buffer, Buffer6.from(data)]);
|
|
33155
33155
|
this.emit("data", data);
|
|
33156
33156
|
}, "write");
|
|
33157
33157
|
DataStream.prototype.end = /* @__PURE__ */ __name(function end(data) {
|
|
@@ -33171,11 +33171,11 @@ var require_buffer_equal_constant_time = __commonJS({
|
|
|
33171
33171
|
"node_modules/buffer-equal-constant-time/index.js"(exports2, module2) {
|
|
33172
33172
|
"use strict";
|
|
33173
33173
|
init_esbuild_shims();
|
|
33174
|
-
var
|
|
33174
|
+
var Buffer6 = __require("buffer").Buffer;
|
|
33175
33175
|
var SlowBuffer = __require("buffer").SlowBuffer;
|
|
33176
33176
|
module2.exports = bufferEq;
|
|
33177
33177
|
function bufferEq(a, b) {
|
|
33178
|
-
if (!
|
|
33178
|
+
if (!Buffer6.isBuffer(a) || !Buffer6.isBuffer(b)) {
|
|
33179
33179
|
return false;
|
|
33180
33180
|
}
|
|
33181
33181
|
if (a.length !== b.length) {
|
|
@@ -33189,14 +33189,14 @@ var require_buffer_equal_constant_time = __commonJS({
|
|
|
33189
33189
|
}
|
|
33190
33190
|
__name(bufferEq, "bufferEq");
|
|
33191
33191
|
bufferEq.install = function() {
|
|
33192
|
-
|
|
33192
|
+
Buffer6.prototype.equal = SlowBuffer.prototype.equal = /* @__PURE__ */ __name(function equal(that) {
|
|
33193
33193
|
return bufferEq(this, that);
|
|
33194
33194
|
}, "equal");
|
|
33195
33195
|
};
|
|
33196
|
-
var origBufEqual =
|
|
33196
|
+
var origBufEqual = Buffer6.prototype.equal;
|
|
33197
33197
|
var origSlowBufEqual = SlowBuffer.prototype.equal;
|
|
33198
33198
|
bufferEq.restore = function() {
|
|
33199
|
-
|
|
33199
|
+
Buffer6.prototype.equal = origBufEqual;
|
|
33200
33200
|
SlowBuffer.prototype.equal = origSlowBufEqual;
|
|
33201
33201
|
};
|
|
33202
33202
|
}
|
|
@@ -33206,7 +33206,7 @@ var require_buffer_equal_constant_time = __commonJS({
|
|
|
33206
33206
|
var require_jwa = __commonJS({
|
|
33207
33207
|
"node_modules/jwa/index.js"(exports2, module2) {
|
|
33208
33208
|
init_esbuild_shims();
|
|
33209
|
-
var
|
|
33209
|
+
var Buffer6 = require_safe_buffer().Buffer;
|
|
33210
33210
|
var crypto18 = __require("crypto");
|
|
33211
33211
|
var formatEcdsa = require_ecdsa_sig_formatter();
|
|
33212
33212
|
var util4 = __require("util");
|
|
@@ -33220,7 +33220,7 @@ var require_jwa = __commonJS({
|
|
|
33220
33220
|
MSG_INVALID_SECRET += "or a KeyObject";
|
|
33221
33221
|
}
|
|
33222
33222
|
function checkIsPublicKey(key) {
|
|
33223
|
-
if (
|
|
33223
|
+
if (Buffer6.isBuffer(key)) {
|
|
33224
33224
|
return;
|
|
33225
33225
|
}
|
|
33226
33226
|
if (typeof key === "string") {
|
|
@@ -33244,7 +33244,7 @@ var require_jwa = __commonJS({
|
|
|
33244
33244
|
}
|
|
33245
33245
|
__name(checkIsPublicKey, "checkIsPublicKey");
|
|
33246
33246
|
function checkIsPrivateKey(key) {
|
|
33247
|
-
if (
|
|
33247
|
+
if (Buffer6.isBuffer(key)) {
|
|
33248
33248
|
return;
|
|
33249
33249
|
}
|
|
33250
33250
|
if (typeof key === "string") {
|
|
@@ -33257,7 +33257,7 @@ var require_jwa = __commonJS({
|
|
|
33257
33257
|
}
|
|
33258
33258
|
__name(checkIsPrivateKey, "checkIsPrivateKey");
|
|
33259
33259
|
function checkIsSecretKey(key) {
|
|
33260
|
-
if (
|
|
33260
|
+
if (Buffer6.isBuffer(key)) {
|
|
33261
33261
|
return;
|
|
33262
33262
|
}
|
|
33263
33263
|
if (typeof key === "string") {
|
|
@@ -33299,7 +33299,7 @@ var require_jwa = __commonJS({
|
|
|
33299
33299
|
}
|
|
33300
33300
|
__name(typeError, "typeError");
|
|
33301
33301
|
function bufferOrString(obj) {
|
|
33302
|
-
return
|
|
33302
|
+
return Buffer6.isBuffer(obj) || typeof obj === "string";
|
|
33303
33303
|
}
|
|
33304
33304
|
__name(bufferOrString, "bufferOrString");
|
|
33305
33305
|
function normalizeInput(thing) {
|
|
@@ -33333,7 +33333,7 @@ var require_jwa = __commonJS({
|
|
|
33333
33333
|
function createHmacVerifier(bits) {
|
|
33334
33334
|
return /* @__PURE__ */ __name(function verify(thing, signature, secret) {
|
|
33335
33335
|
var computedSig = createHmacSigner(bits)(thing, secret);
|
|
33336
|
-
return timingSafeEqual(
|
|
33336
|
+
return timingSafeEqual(Buffer6.from(signature), Buffer6.from(computedSig));
|
|
33337
33337
|
}, "verify");
|
|
33338
33338
|
}
|
|
33339
33339
|
__name(createHmacVerifier, "createHmacVerifier");
|
|
@@ -33449,11 +33449,11 @@ var require_jwa = __commonJS({
|
|
|
33449
33449
|
var require_tostring = __commonJS({
|
|
33450
33450
|
"node_modules/jws/lib/tostring.js"(exports2, module2) {
|
|
33451
33451
|
init_esbuild_shims();
|
|
33452
|
-
var
|
|
33452
|
+
var Buffer6 = __require("buffer").Buffer;
|
|
33453
33453
|
module2.exports = /* @__PURE__ */ __name(function toString(obj) {
|
|
33454
33454
|
if (typeof obj === "string")
|
|
33455
33455
|
return obj;
|
|
33456
|
-
if (typeof obj === "number" ||
|
|
33456
|
+
if (typeof obj === "number" || Buffer6.isBuffer(obj))
|
|
33457
33457
|
return obj.toString();
|
|
33458
33458
|
return JSON.stringify(obj);
|
|
33459
33459
|
}, "toString");
|
|
@@ -33464,14 +33464,14 @@ var require_tostring = __commonJS({
|
|
|
33464
33464
|
var require_sign_stream = __commonJS({
|
|
33465
33465
|
"node_modules/jws/lib/sign-stream.js"(exports2, module2) {
|
|
33466
33466
|
init_esbuild_shims();
|
|
33467
|
-
var
|
|
33467
|
+
var Buffer6 = require_safe_buffer().Buffer;
|
|
33468
33468
|
var DataStream = require_data_stream();
|
|
33469
33469
|
var jwa = require_jwa();
|
|
33470
33470
|
var Stream4 = __require("stream");
|
|
33471
33471
|
var toString = require_tostring();
|
|
33472
33472
|
var util4 = __require("util");
|
|
33473
33473
|
function base64url(string, encoding) {
|
|
33474
|
-
return
|
|
33474
|
+
return Buffer6.from(string, encoding).toString("base64").replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
|
|
33475
33475
|
}
|
|
33476
33476
|
__name(base64url, "base64url");
|
|
33477
33477
|
function jwsSecuredInput(header, payload, encoding) {
|
|
@@ -33539,7 +33539,7 @@ var require_sign_stream = __commonJS({
|
|
|
33539
33539
|
var require_verify_stream = __commonJS({
|
|
33540
33540
|
"node_modules/jws/lib/verify-stream.js"(exports2, module2) {
|
|
33541
33541
|
init_esbuild_shims();
|
|
33542
|
-
var
|
|
33542
|
+
var Buffer6 = require_safe_buffer().Buffer;
|
|
33543
33543
|
var DataStream = require_data_stream();
|
|
33544
33544
|
var jwa = require_jwa();
|
|
33545
33545
|
var Stream4 = __require("stream");
|
|
@@ -33562,7 +33562,7 @@ var require_verify_stream = __commonJS({
|
|
|
33562
33562
|
__name(safeJsonParse2, "safeJsonParse");
|
|
33563
33563
|
function headerFromJWS(jwsSig) {
|
|
33564
33564
|
var encodedHeader = jwsSig.split(".", 1)[0];
|
|
33565
|
-
return safeJsonParse2(
|
|
33565
|
+
return safeJsonParse2(Buffer6.from(encodedHeader, "base64").toString("binary"));
|
|
33566
33566
|
}
|
|
33567
33567
|
__name(headerFromJWS, "headerFromJWS");
|
|
33568
33568
|
function securedInputFromJWS(jwsSig) {
|
|
@@ -33576,7 +33576,7 @@ var require_verify_stream = __commonJS({
|
|
|
33576
33576
|
function payloadFromJWS(jwsSig, encoding) {
|
|
33577
33577
|
encoding = encoding || "utf8";
|
|
33578
33578
|
var payload = jwsSig.split(".")[1];
|
|
33579
|
-
return
|
|
33579
|
+
return Buffer6.from(payload, "base64").toString(encoding);
|
|
33580
33580
|
}
|
|
33581
33581
|
__name(payloadFromJWS, "payloadFromJWS");
|
|
33582
33582
|
function isValidJws(string) {
|
|
@@ -91088,8 +91088,8 @@ var require_minimal = __commonJS({
|
|
|
91088
91088
|
}, "isSet");
|
|
91089
91089
|
util4.Buffer = function() {
|
|
91090
91090
|
try {
|
|
91091
|
-
var
|
|
91092
|
-
return
|
|
91091
|
+
var Buffer6 = util4.inquire("buffer").Buffer;
|
|
91092
|
+
return Buffer6.prototype.utf8Write ? Buffer6 : (
|
|
91093
91093
|
/* istanbul ignore next */
|
|
91094
91094
|
null
|
|
91095
91095
|
);
|
|
@@ -91202,18 +91202,18 @@ var require_minimal = __commonJS({
|
|
|
91202
91202
|
json: true
|
|
91203
91203
|
};
|
|
91204
91204
|
util4._configure = function() {
|
|
91205
|
-
var
|
|
91206
|
-
if (!
|
|
91205
|
+
var Buffer6 = util4.Buffer;
|
|
91206
|
+
if (!Buffer6) {
|
|
91207
91207
|
util4._Buffer_from = util4._Buffer_allocUnsafe = null;
|
|
91208
91208
|
return;
|
|
91209
91209
|
}
|
|
91210
|
-
util4._Buffer_from =
|
|
91210
|
+
util4._Buffer_from = Buffer6.from !== Uint8Array.from && Buffer6.from || /* istanbul ignore next */
|
|
91211
91211
|
/* @__PURE__ */ __name(function Buffer_from(value, encoding) {
|
|
91212
|
-
return new
|
|
91212
|
+
return new Buffer6(value, encoding);
|
|
91213
91213
|
}, "Buffer_from");
|
|
91214
|
-
util4._Buffer_allocUnsafe =
|
|
91214
|
+
util4._Buffer_allocUnsafe = Buffer6.allocUnsafe || /* istanbul ignore next */
|
|
91215
91215
|
/* @__PURE__ */ __name(function Buffer_allocUnsafe(size) {
|
|
91216
|
-
return new
|
|
91216
|
+
return new Buffer6(size);
|
|
91217
91217
|
}, "Buffer_allocUnsafe");
|
|
91218
91218
|
};
|
|
91219
91219
|
}
|
|
@@ -146108,7 +146108,7 @@ function createContentGeneratorConfig(config, authType, generationConfig) {
|
|
|
146108
146108
|
};
|
|
146109
146109
|
}
|
|
146110
146110
|
async function createContentGenerator(config, gcConfig, sessionId2, isInitialAuth) {
|
|
146111
|
-
const version2 = "0.1.
|
|
146111
|
+
const version2 = "0.1.15";
|
|
146112
146112
|
const userAgent2 = `OSAgent/${version2} (${process.platform}; ${process.arch})`;
|
|
146113
146113
|
const baseHeaders = {
|
|
146114
146114
|
"User-Agent": userAgent2
|
|
@@ -239503,7 +239503,7 @@ var require_backend = __commonJS({
|
|
|
239503
239503
|
});
|
|
239504
239504
|
return a;
|
|
239505
239505
|
}, "useRef"),
|
|
239506
|
-
useState: /* @__PURE__ */ __name(function
|
|
239506
|
+
useState: /* @__PURE__ */ __name(function useState67(a) {
|
|
239507
239507
|
var b = C();
|
|
239508
239508
|
a = null !== b ? b.memoizedState : "function" === typeof a ? a() : a;
|
|
239509
239509
|
x.push({
|
|
@@ -262685,7 +262685,7 @@ var require_fd_slicer = __commonJS({
|
|
|
262685
262685
|
var require_buffer_crc32 = __commonJS({
|
|
262686
262686
|
"node_modules/buffer-crc32/index.js"(exports2, module2) {
|
|
262687
262687
|
init_esbuild_shims();
|
|
262688
|
-
var
|
|
262688
|
+
var Buffer6 = __require("buffer").Buffer;
|
|
262689
262689
|
var CRC_TABLE = [
|
|
262690
262690
|
0,
|
|
262691
262691
|
1996959894,
|
|
@@ -262948,14 +262948,14 @@ var require_buffer_crc32 = __commonJS({
|
|
|
262948
262948
|
CRC_TABLE = new Int32Array(CRC_TABLE);
|
|
262949
262949
|
}
|
|
262950
262950
|
function ensureBuffer(input) {
|
|
262951
|
-
if (
|
|
262951
|
+
if (Buffer6.isBuffer(input)) {
|
|
262952
262952
|
return input;
|
|
262953
262953
|
}
|
|
262954
|
-
var hasNewBufferAPI = typeof
|
|
262954
|
+
var hasNewBufferAPI = typeof Buffer6.alloc === "function" && typeof Buffer6.from === "function";
|
|
262955
262955
|
if (typeof input === "number") {
|
|
262956
|
-
return hasNewBufferAPI ?
|
|
262956
|
+
return hasNewBufferAPI ? Buffer6.alloc(input) : new Buffer6(input);
|
|
262957
262957
|
} else if (typeof input === "string") {
|
|
262958
|
-
return hasNewBufferAPI ?
|
|
262958
|
+
return hasNewBufferAPI ? Buffer6.from(input) : new Buffer6(input);
|
|
262959
262959
|
} else {
|
|
262960
262960
|
throw new Error("input must be buffer, number, or string, received " + typeof input);
|
|
262961
262961
|
}
|
|
@@ -262969,7 +262969,7 @@ var require_buffer_crc32 = __commonJS({
|
|
|
262969
262969
|
__name(bufferizeInt, "bufferizeInt");
|
|
262970
262970
|
function _crc32(buf, previous) {
|
|
262971
262971
|
buf = ensureBuffer(buf);
|
|
262972
|
-
if (
|
|
262972
|
+
if (Buffer6.isBuffer(previous)) {
|
|
262973
262973
|
previous = previous.readUInt32BE(0);
|
|
262974
262974
|
}
|
|
262975
262975
|
var crc = ~~previous ^ -1;
|
|
@@ -293797,6 +293797,9 @@ var import_react19 = __toESM(require_react(), 1);
|
|
|
293797
293797
|
|
|
293798
293798
|
// node_modules/ink/build/parse-keypress.js
|
|
293799
293799
|
init_esbuild_shims();
|
|
293800
|
+
import { Buffer as Buffer4 } from "node:buffer";
|
|
293801
|
+
var metaKeyCodeRe = /^(?:\x1b)([a-zA-Z0-9])$/;
|
|
293802
|
+
var fnKeyRe = /^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/;
|
|
293800
293803
|
var keyName = {
|
|
293801
293804
|
/* xterm/gnome ESC O letter */
|
|
293802
293805
|
OP: "f1",
|
|
@@ -293879,6 +293882,111 @@ var keyName = {
|
|
|
293879
293882
|
"[Z": "tab"
|
|
293880
293883
|
};
|
|
293881
293884
|
var nonAlphanumericKeys = [...Object.values(keyName), "backspace"];
|
|
293885
|
+
var isShiftKey = /* @__PURE__ */ __name((code2) => {
|
|
293886
|
+
return [
|
|
293887
|
+
"[a",
|
|
293888
|
+
"[b",
|
|
293889
|
+
"[c",
|
|
293890
|
+
"[d",
|
|
293891
|
+
"[e",
|
|
293892
|
+
"[2$",
|
|
293893
|
+
"[3$",
|
|
293894
|
+
"[5$",
|
|
293895
|
+
"[6$",
|
|
293896
|
+
"[7$",
|
|
293897
|
+
"[8$",
|
|
293898
|
+
"[Z"
|
|
293899
|
+
].includes(code2);
|
|
293900
|
+
}, "isShiftKey");
|
|
293901
|
+
var isCtrlKey = /* @__PURE__ */ __name((code2) => {
|
|
293902
|
+
return [
|
|
293903
|
+
"Oa",
|
|
293904
|
+
"Ob",
|
|
293905
|
+
"Oc",
|
|
293906
|
+
"Od",
|
|
293907
|
+
"Oe",
|
|
293908
|
+
"[2^",
|
|
293909
|
+
"[3^",
|
|
293910
|
+
"[5^",
|
|
293911
|
+
"[6^",
|
|
293912
|
+
"[7^",
|
|
293913
|
+
"[8^"
|
|
293914
|
+
].includes(code2);
|
|
293915
|
+
}, "isCtrlKey");
|
|
293916
|
+
var parseKeypress = /* @__PURE__ */ __name((s2 = "") => {
|
|
293917
|
+
let parts;
|
|
293918
|
+
if (Buffer4.isBuffer(s2)) {
|
|
293919
|
+
if (s2[0] > 127 && s2[1] === void 0) {
|
|
293920
|
+
s2[0] -= 128;
|
|
293921
|
+
s2 = "\x1B" + String(s2);
|
|
293922
|
+
} else {
|
|
293923
|
+
s2 = String(s2);
|
|
293924
|
+
}
|
|
293925
|
+
} else if (s2 !== void 0 && typeof s2 !== "string") {
|
|
293926
|
+
s2 = String(s2);
|
|
293927
|
+
} else if (!s2) {
|
|
293928
|
+
s2 = "";
|
|
293929
|
+
}
|
|
293930
|
+
const key = {
|
|
293931
|
+
name: "",
|
|
293932
|
+
ctrl: false,
|
|
293933
|
+
meta: false,
|
|
293934
|
+
shift: false,
|
|
293935
|
+
option: false,
|
|
293936
|
+
sequence: s2,
|
|
293937
|
+
raw: s2
|
|
293938
|
+
};
|
|
293939
|
+
key.sequence = key.sequence || s2 || key.name;
|
|
293940
|
+
if (s2 === "\r") {
|
|
293941
|
+
key.raw = void 0;
|
|
293942
|
+
key.name = "return";
|
|
293943
|
+
} else if (s2 === "\n") {
|
|
293944
|
+
key.name = "enter";
|
|
293945
|
+
} else if (s2 === " ") {
|
|
293946
|
+
key.name = "tab";
|
|
293947
|
+
} else if (s2 === "\b" || s2 === "\x1B\b") {
|
|
293948
|
+
key.name = "backspace";
|
|
293949
|
+
key.meta = s2.charAt(0) === "\x1B";
|
|
293950
|
+
} else if (s2 === "\x7F" || s2 === "\x1B\x7F") {
|
|
293951
|
+
key.name = "delete";
|
|
293952
|
+
key.meta = s2.charAt(0) === "\x1B";
|
|
293953
|
+
} else if (s2 === "\x1B" || s2 === "\x1B\x1B") {
|
|
293954
|
+
key.name = "escape";
|
|
293955
|
+
key.meta = s2.length === 2;
|
|
293956
|
+
} else if (s2 === " " || s2 === "\x1B ") {
|
|
293957
|
+
key.name = "space";
|
|
293958
|
+
key.meta = s2.length === 2;
|
|
293959
|
+
} else if (s2.length === 1 && s2 <= "") {
|
|
293960
|
+
key.name = String.fromCharCode(s2.charCodeAt(0) + "a".charCodeAt(0) - 1);
|
|
293961
|
+
key.ctrl = true;
|
|
293962
|
+
} else if (s2.length === 1 && s2 >= "0" && s2 <= "9") {
|
|
293963
|
+
key.name = "number";
|
|
293964
|
+
} else if (s2.length === 1 && s2 >= "a" && s2 <= "z") {
|
|
293965
|
+
key.name = s2;
|
|
293966
|
+
} else if (s2.length === 1 && s2 >= "A" && s2 <= "Z") {
|
|
293967
|
+
key.name = s2.toLowerCase();
|
|
293968
|
+
key.shift = true;
|
|
293969
|
+
} else if (parts = metaKeyCodeRe.exec(s2)) {
|
|
293970
|
+
key.meta = true;
|
|
293971
|
+
key.shift = /^[A-Z]$/.test(parts[1]);
|
|
293972
|
+
} else if (parts = fnKeyRe.exec(s2)) {
|
|
293973
|
+
const segs = [...s2];
|
|
293974
|
+
if (segs[0] === "\x1B" && segs[1] === "\x1B") {
|
|
293975
|
+
key.option = true;
|
|
293976
|
+
}
|
|
293977
|
+
const code2 = [parts[1], parts[2], parts[4], parts[6]].filter(Boolean).join("");
|
|
293978
|
+
const modifier = (parts[3] || parts[5] || 1) - 1;
|
|
293979
|
+
key.ctrl = !!(modifier & 4);
|
|
293980
|
+
key.meta = !!(modifier & 10);
|
|
293981
|
+
key.shift = !!(modifier & 1);
|
|
293982
|
+
key.code = code2;
|
|
293983
|
+
key.name = keyName[code2];
|
|
293984
|
+
key.shift = isShiftKey(code2) || key.shift;
|
|
293985
|
+
key.ctrl = isCtrlKey(code2) || key.ctrl;
|
|
293986
|
+
}
|
|
293987
|
+
return key;
|
|
293988
|
+
}, "parseKeypress");
|
|
293989
|
+
var parse_keypress_default = parseKeypress;
|
|
293882
293990
|
|
|
293883
293991
|
// node_modules/ink/build/hooks/use-stdin.js
|
|
293884
293992
|
init_esbuild_shims();
|
|
@@ -293886,6 +293994,68 @@ var import_react18 = __toESM(require_react(), 1);
|
|
|
293886
293994
|
var useStdin = /* @__PURE__ */ __name(() => (0, import_react18.useContext)(StdinContext_default), "useStdin");
|
|
293887
293995
|
var use_stdin_default = useStdin;
|
|
293888
293996
|
|
|
293997
|
+
// node_modules/ink/build/hooks/use-input.js
|
|
293998
|
+
var useInput = /* @__PURE__ */ __name((inputHandler, options2 = {}) => {
|
|
293999
|
+
const { stdin, setRawMode, internal_exitOnCtrlC, internal_eventEmitter } = use_stdin_default();
|
|
294000
|
+
(0, import_react19.useEffect)(() => {
|
|
294001
|
+
if (options2.isActive === false) {
|
|
294002
|
+
return;
|
|
294003
|
+
}
|
|
294004
|
+
setRawMode(true);
|
|
294005
|
+
return () => {
|
|
294006
|
+
setRawMode(false);
|
|
294007
|
+
};
|
|
294008
|
+
}, [options2.isActive, setRawMode]);
|
|
294009
|
+
(0, import_react19.useEffect)(() => {
|
|
294010
|
+
if (options2.isActive === false) {
|
|
294011
|
+
return;
|
|
294012
|
+
}
|
|
294013
|
+
const handleData = /* @__PURE__ */ __name((data) => {
|
|
294014
|
+
const keypress = parse_keypress_default(data);
|
|
294015
|
+
const key = {
|
|
294016
|
+
upArrow: keypress.name === "up",
|
|
294017
|
+
downArrow: keypress.name === "down",
|
|
294018
|
+
leftArrow: keypress.name === "left",
|
|
294019
|
+
rightArrow: keypress.name === "right",
|
|
294020
|
+
pageDown: keypress.name === "pagedown",
|
|
294021
|
+
pageUp: keypress.name === "pageup",
|
|
294022
|
+
return: keypress.name === "return",
|
|
294023
|
+
escape: keypress.name === "escape",
|
|
294024
|
+
ctrl: keypress.ctrl,
|
|
294025
|
+
shift: keypress.shift,
|
|
294026
|
+
tab: keypress.name === "tab",
|
|
294027
|
+
backspace: keypress.name === "backspace",
|
|
294028
|
+
delete: keypress.name === "delete",
|
|
294029
|
+
// `parseKeypress` parses \u001B\u001B[A (meta + up arrow) as meta = false
|
|
294030
|
+
// but with option = true, so we need to take this into account here
|
|
294031
|
+
// to avoid breaking changes in Ink.
|
|
294032
|
+
// TODO(vadimdemedes): consider removing this in the next major version.
|
|
294033
|
+
meta: keypress.meta || keypress.name === "escape" || keypress.option
|
|
294034
|
+
};
|
|
294035
|
+
let input = keypress.ctrl ? keypress.name : keypress.sequence;
|
|
294036
|
+
if (nonAlphanumericKeys.includes(keypress.name)) {
|
|
294037
|
+
input = "";
|
|
294038
|
+
}
|
|
294039
|
+
if (input.startsWith("\x1B")) {
|
|
294040
|
+
input = input.slice(1);
|
|
294041
|
+
}
|
|
294042
|
+
if (input.length === 1 && typeof input[0] === "string" && /[A-Z]/.test(input[0])) {
|
|
294043
|
+
key.shift = true;
|
|
294044
|
+
}
|
|
294045
|
+
if (!(input === "c" && key.ctrl) || !internal_exitOnCtrlC) {
|
|
294046
|
+
reconciler_default.batchedUpdates(() => {
|
|
294047
|
+
inputHandler(input, key);
|
|
294048
|
+
});
|
|
294049
|
+
}
|
|
294050
|
+
}, "handleData");
|
|
294051
|
+
internal_eventEmitter?.on("input", handleData);
|
|
294052
|
+
return () => {
|
|
294053
|
+
internal_eventEmitter?.removeListener("input", handleData);
|
|
294054
|
+
};
|
|
294055
|
+
}, [options2.isActive, stdin, internal_exitOnCtrlC, inputHandler]);
|
|
294056
|
+
}, "useInput");
|
|
294057
|
+
var use_input_default = useInput;
|
|
294058
|
+
|
|
293889
294059
|
// node_modules/ink/build/hooks/use-app.js
|
|
293890
294060
|
init_esbuild_shims();
|
|
293891
294061
|
var import_react20 = __toESM(require_react(), 1);
|
|
@@ -293926,7 +294096,7 @@ var measureElement = /* @__PURE__ */ __name((node) => ({
|
|
|
293926
294096
|
var measure_element_default = measureElement;
|
|
293927
294097
|
|
|
293928
294098
|
// packages/cli/src/gemini.tsx
|
|
293929
|
-
var
|
|
294099
|
+
var import_react138 = __toESM(require_react(), 1);
|
|
293930
294100
|
import { randomUUID as randomUUID11 } from "node:crypto";
|
|
293931
294101
|
import dns from "node:dns";
|
|
293932
294102
|
import os44 from "node:os";
|
|
@@ -296898,7 +297068,7 @@ import { EventEmitter as EE2 } from "events";
|
|
|
296898
297068
|
init_esbuild_shims();
|
|
296899
297069
|
init_esm7();
|
|
296900
297070
|
import assert from "assert";
|
|
296901
|
-
import { Buffer as
|
|
297071
|
+
import { Buffer as Buffer5 } from "buffer";
|
|
296902
297072
|
import * as realZlib2 from "zlib";
|
|
296903
297073
|
|
|
296904
297074
|
// node_modules/minizlib/dist/esm/constants.js
|
|
@@ -297015,11 +297185,11 @@ var constants3 = Object.freeze(Object.assign(/* @__PURE__ */ Object.create(null)
|
|
|
297015
297185
|
}, realZlibConstants));
|
|
297016
297186
|
|
|
297017
297187
|
// node_modules/minizlib/dist/esm/index.js
|
|
297018
|
-
var OriginalBufferConcat =
|
|
297019
|
-
var desc = Object.getOwnPropertyDescriptor(
|
|
297188
|
+
var OriginalBufferConcat = Buffer5.concat;
|
|
297189
|
+
var desc = Object.getOwnPropertyDescriptor(Buffer5, "concat");
|
|
297020
297190
|
var noop4 = /* @__PURE__ */ __name((args) => args, "noop");
|
|
297021
297191
|
var passthroughBufferConcat = desc?.writable === true || desc?.set !== void 0 ? (makeNoOp) => {
|
|
297022
|
-
|
|
297192
|
+
Buffer5.concat = makeNoOp ? noop4 : OriginalBufferConcat;
|
|
297023
297193
|
} : (_) => {
|
|
297024
297194
|
};
|
|
297025
297195
|
var _superWrite = Symbol("_superWrite");
|
|
@@ -297108,7 +297278,7 @@ var ZlibBase = class extends Minipass {
|
|
|
297108
297278
|
return;
|
|
297109
297279
|
if (typeof flushFlag !== "number")
|
|
297110
297280
|
flushFlag = this.#fullFlushFlag;
|
|
297111
|
-
this.write(Object.assign(
|
|
297281
|
+
this.write(Object.assign(Buffer5.alloc(0), { [_flushFlag]: flushFlag }));
|
|
297112
297282
|
}
|
|
297113
297283
|
end(chunk, encoding, cb) {
|
|
297114
297284
|
if (typeof chunk === "function") {
|
|
@@ -297141,7 +297311,7 @@ var ZlibBase = class extends Minipass {
|
|
|
297141
297311
|
if (typeof encoding === "function")
|
|
297142
297312
|
cb = encoding, encoding = "utf8";
|
|
297143
297313
|
if (typeof chunk === "string")
|
|
297144
|
-
chunk =
|
|
297314
|
+
chunk = Buffer5.from(chunk, encoding);
|
|
297145
297315
|
if (this.#sawError)
|
|
297146
297316
|
return;
|
|
297147
297317
|
assert(this.#handle, "zlib binding closed");
|
|
@@ -297176,12 +297346,12 @@ var ZlibBase = class extends Minipass {
|
|
|
297176
297346
|
if (result) {
|
|
297177
297347
|
if (Array.isArray(result) && result.length > 0) {
|
|
297178
297348
|
const r3 = result[0];
|
|
297179
|
-
writeReturn = this[_superWrite](
|
|
297349
|
+
writeReturn = this[_superWrite](Buffer5.from(r3));
|
|
297180
297350
|
for (let i = 1; i < result.length; i++) {
|
|
297181
297351
|
writeReturn = this[_superWrite](result[i]);
|
|
297182
297352
|
}
|
|
297183
297353
|
} else {
|
|
297184
|
-
writeReturn = this[_superWrite](
|
|
297354
|
+
writeReturn = this[_superWrite](Buffer5.from(result));
|
|
297185
297355
|
}
|
|
297186
297356
|
}
|
|
297187
297357
|
if (cb)
|
|
@@ -309520,7 +309690,7 @@ __name(getPackageJson, "getPackageJson");
|
|
|
309520
309690
|
// packages/cli/src/utils/version.ts
|
|
309521
309691
|
async function getCliVersion() {
|
|
309522
309692
|
const pkgJson = await getPackageJson();
|
|
309523
|
-
return "0.1.
|
|
309693
|
+
return "0.1.15";
|
|
309524
309694
|
}
|
|
309525
309695
|
__name(getCliVersion, "getCliVersion");
|
|
309526
309696
|
|
|
@@ -322782,7 +322952,7 @@ __name(runNonInteractiveStreamJson, "runNonInteractiveStreamJson");
|
|
|
322782
322952
|
|
|
322783
322953
|
// packages/cli/src/ui/AppContainer.tsx
|
|
322784
322954
|
init_esbuild_shims();
|
|
322785
|
-
var
|
|
322955
|
+
var import_react136 = __toESM(require_react(), 1);
|
|
322786
322956
|
|
|
322787
322957
|
// packages/cli/src/ui/App.tsx
|
|
322788
322958
|
init_esbuild_shims();
|
|
@@ -350142,10 +350312,11 @@ var DialogManager = /* @__PURE__ */ __name(({
|
|
|
350142
350312
|
|
|
350143
350313
|
// packages/cli/src/ui/components/Composer.tsx
|
|
350144
350314
|
init_esbuild_shims();
|
|
350145
|
-
var
|
|
350315
|
+
var import_react100 = __toESM(require_react(), 1);
|
|
350146
350316
|
|
|
350147
350317
|
// packages/cli/src/ui/components/LoadingIndicator.tsx
|
|
350148
350318
|
init_esbuild_shims();
|
|
350319
|
+
var import_react86 = __toESM(require_react(), 1);
|
|
350149
350320
|
|
|
350150
350321
|
// packages/cli/src/ui/utils/isNarrowWidth.ts
|
|
350151
350322
|
init_esbuild_shims();
|
|
@@ -350165,14 +350336,31 @@ var LoadingIndicator = /* @__PURE__ */ __name(({
|
|
|
350165
350336
|
const streamingState = useStreamingContext();
|
|
350166
350337
|
const { columns: terminalWidth } = useTerminalSize();
|
|
350167
350338
|
const isNarrow = isNarrowWidth(terminalWidth);
|
|
350339
|
+
const [thoughtExpanded, setThoughtExpanded] = (0, import_react86.useState)(false);
|
|
350340
|
+
use_input_default((input, _key) => {
|
|
350341
|
+
if (input === "o" && thought?.description) {
|
|
350342
|
+
setThoughtExpanded((prev) => !prev);
|
|
350343
|
+
}
|
|
350344
|
+
});
|
|
350168
350345
|
if (streamingState === "idle" /* Idle */) {
|
|
350169
350346
|
return null;
|
|
350170
350347
|
}
|
|
350348
|
+
const hasThought = thought?.subject || thought?.description;
|
|
350171
350349
|
const primaryText = thought?.subject || currentLoadingPhrase;
|
|
350172
350350
|
const cancelAndTimerContent = streamingState !== "waiting_for_confirmation" /* WaitingForConfirmation */ ? t2("(esc to cancel, {{time}})", {
|
|
350173
350351
|
time: elapsedTime < 60 ? `${elapsedTime}s` : formatDuration(elapsedTime * 1e3)
|
|
350174
350352
|
}) : null;
|
|
350175
350353
|
return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(Box_default, { paddingLeft: 0, flexDirection: "column", children: [
|
|
350354
|
+
hasThought && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Box_default, { marginBottom: 0, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(Text3, { color: theme.text.secondary, dimColor: true, children: [
|
|
350355
|
+
thoughtExpanded ? "\u25BC" : "\u25B6",
|
|
350356
|
+
" Thinking",
|
|
350357
|
+
thought?.description ? " (press o to toggle)" : ""
|
|
350358
|
+
] }) }),
|
|
350359
|
+
thoughtExpanded && thought?.description && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Box_default, { paddingLeft: 2, marginBottom: 1, flexDirection: "column", children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Text3, { color: theme.text.secondary, dimColor: true, wrap: "wrap", children: thought.description.split("\n").map((line, i) => /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(Text3, { children: [
|
|
350360
|
+
i > 0 ? "\n" : "",
|
|
350361
|
+
"\u2022 ",
|
|
350362
|
+
line
|
|
350363
|
+
] }, i)) }) }),
|
|
350176
350364
|
/* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(
|
|
350177
350365
|
Box_default,
|
|
350178
350366
|
{
|
|
@@ -350402,14 +350590,14 @@ var DetailedMessagesDisplay = /* @__PURE__ */ __name(({ messages, maxHeight, wid
|
|
|
350402
350590
|
|
|
350403
350591
|
// packages/cli/src/ui/components/InputPrompt.tsx
|
|
350404
350592
|
init_esbuild_shims();
|
|
350405
|
-
var
|
|
350593
|
+
var import_react96 = __toESM(require_react(), 1);
|
|
350406
350594
|
|
|
350407
350595
|
// packages/cli/src/ui/components/SuggestionsDisplay.tsx
|
|
350408
350596
|
init_esbuild_shims();
|
|
350409
350597
|
|
|
350410
350598
|
// packages/cli/src/ui/components/PrepareLabel.tsx
|
|
350411
350599
|
init_esbuild_shims();
|
|
350412
|
-
var
|
|
350600
|
+
var import_react87 = __toESM(require_react(), 1);
|
|
350413
350601
|
var import_jsx_runtime92 = __toESM(require_jsx_runtime(), 1);
|
|
350414
350602
|
var MAX_WIDTH = 150;
|
|
350415
350603
|
var _PrepareLabel = /* @__PURE__ */ __name(({
|
|
@@ -350475,7 +350663,7 @@ var _PrepareLabel = /* @__PURE__ */ __name(({
|
|
|
350475
350663
|
after
|
|
350476
350664
|
] });
|
|
350477
350665
|
}, "_PrepareLabel");
|
|
350478
|
-
var PrepareLabel =
|
|
350666
|
+
var PrepareLabel = import_react87.default.memo(_PrepareLabel);
|
|
350479
350667
|
|
|
350480
350668
|
// packages/cli/src/ui/components/SuggestionsDisplay.tsx
|
|
350481
350669
|
var import_jsx_runtime93 = __toESM(require_jsx_runtime(), 1);
|
|
@@ -350554,7 +350742,7 @@ __name(SuggestionsDisplay, "SuggestionsDisplay");
|
|
|
350554
350742
|
|
|
350555
350743
|
// packages/cli/src/ui/hooks/useInputHistory.ts
|
|
350556
350744
|
init_esbuild_shims();
|
|
350557
|
-
var
|
|
350745
|
+
var import_react88 = __toESM(require_react(), 1);
|
|
350558
350746
|
function useInputHistory({
|
|
350559
350747
|
userMessages,
|
|
350560
350748
|
onSubmit,
|
|
@@ -350562,13 +350750,13 @@ function useInputHistory({
|
|
|
350562
350750
|
currentQuery,
|
|
350563
350751
|
onChange
|
|
350564
350752
|
}) {
|
|
350565
|
-
const [historyIndex, setHistoryIndex] = (0,
|
|
350566
|
-
const [originalQueryBeforeNav, setOriginalQueryBeforeNav] = (0,
|
|
350567
|
-
const resetHistoryNav = (0,
|
|
350753
|
+
const [historyIndex, setHistoryIndex] = (0, import_react88.useState)(-1);
|
|
350754
|
+
const [originalQueryBeforeNav, setOriginalQueryBeforeNav] = (0, import_react88.useState)("");
|
|
350755
|
+
const resetHistoryNav = (0, import_react88.useCallback)(() => {
|
|
350568
350756
|
setHistoryIndex(-1);
|
|
350569
350757
|
setOriginalQueryBeforeNav("");
|
|
350570
350758
|
}, []);
|
|
350571
|
-
const handleSubmit = (0,
|
|
350759
|
+
const handleSubmit = (0, import_react88.useCallback)(
|
|
350572
350760
|
(value) => {
|
|
350573
350761
|
const trimmedValue = value.trim();
|
|
350574
350762
|
if (trimmedValue) {
|
|
@@ -350578,7 +350766,7 @@ function useInputHistory({
|
|
|
350578
350766
|
},
|
|
350579
350767
|
[onSubmit, resetHistoryNav]
|
|
350580
350768
|
);
|
|
350581
|
-
const navigateUp = (0,
|
|
350769
|
+
const navigateUp = (0, import_react88.useCallback)(() => {
|
|
350582
350770
|
if (!isActive) return false;
|
|
350583
350771
|
if (userMessages.length === 0) return false;
|
|
350584
350772
|
let nextIndex = historyIndex;
|
|
@@ -350607,7 +350795,7 @@ function useInputHistory({
|
|
|
350607
350795
|
// Use currentQuery from props
|
|
350608
350796
|
setOriginalQueryBeforeNav
|
|
350609
350797
|
]);
|
|
350610
|
-
const navigateDown = (0,
|
|
350798
|
+
const navigateDown = (0, import_react88.useCallback)(() => {
|
|
350611
350799
|
if (!isActive) return false;
|
|
350612
350800
|
if (historyIndex === -1) return false;
|
|
350613
350801
|
const nextIndex = historyIndex - 1;
|
|
@@ -350637,7 +350825,7 @@ __name(useInputHistory, "useInputHistory");
|
|
|
350637
350825
|
|
|
350638
350826
|
// packages/cli/src/ui/hooks/useShellHistory.ts
|
|
350639
350827
|
init_esbuild_shims();
|
|
350640
|
-
var
|
|
350828
|
+
var import_react89 = __toESM(require_react(), 1);
|
|
350641
350829
|
import * as fs85 from "node:fs/promises";
|
|
350642
350830
|
import * as path95 from "node:path";
|
|
350643
350831
|
var MAX_HISTORY_LENGTH2 = 100;
|
|
@@ -350681,10 +350869,10 @@ async function writeHistoryFile(filePath, history) {
|
|
|
350681
350869
|
}
|
|
350682
350870
|
__name(writeHistoryFile, "writeHistoryFile");
|
|
350683
350871
|
function useShellHistory(projectRoot, storage) {
|
|
350684
|
-
const [history, setHistory] = (0,
|
|
350685
|
-
const [historyIndex, setHistoryIndex] = (0,
|
|
350686
|
-
const [historyFilePath, setHistoryFilePath] = (0,
|
|
350687
|
-
(0,
|
|
350872
|
+
const [history, setHistory] = (0, import_react89.useState)([]);
|
|
350873
|
+
const [historyIndex, setHistoryIndex] = (0, import_react89.useState)(-1);
|
|
350874
|
+
const [historyFilePath, setHistoryFilePath] = (0, import_react89.useState)(null);
|
|
350875
|
+
(0, import_react89.useEffect)(() => {
|
|
350688
350876
|
async function loadHistory() {
|
|
350689
350877
|
const filePath = await getHistoryFilePath(projectRoot, storage);
|
|
350690
350878
|
setHistoryFilePath(filePath);
|
|
@@ -350694,7 +350882,7 @@ function useShellHistory(projectRoot, storage) {
|
|
|
350694
350882
|
__name(loadHistory, "loadHistory");
|
|
350695
350883
|
loadHistory();
|
|
350696
350884
|
}, [projectRoot, storage]);
|
|
350697
|
-
const addCommandToHistory = (0,
|
|
350885
|
+
const addCommandToHistory = (0, import_react89.useCallback)(
|
|
350698
350886
|
(command2) => {
|
|
350699
350887
|
if (!command2.trim() || !historyFilePath) {
|
|
350700
350888
|
return;
|
|
@@ -350706,7 +350894,7 @@ function useShellHistory(projectRoot, storage) {
|
|
|
350706
350894
|
},
|
|
350707
350895
|
[history, historyFilePath]
|
|
350708
350896
|
);
|
|
350709
|
-
const getPreviousCommand = (0,
|
|
350897
|
+
const getPreviousCommand = (0, import_react89.useCallback)(() => {
|
|
350710
350898
|
if (history.length === 0) {
|
|
350711
350899
|
return null;
|
|
350712
350900
|
}
|
|
@@ -350714,7 +350902,7 @@ function useShellHistory(projectRoot, storage) {
|
|
|
350714
350902
|
setHistoryIndex(newIndex);
|
|
350715
350903
|
return history[newIndex] ?? null;
|
|
350716
350904
|
}, [history, historyIndex]);
|
|
350717
|
-
const getNextCommand = (0,
|
|
350905
|
+
const getNextCommand = (0, import_react89.useCallback)(() => {
|
|
350718
350906
|
if (historyIndex < 0) {
|
|
350719
350907
|
return null;
|
|
350720
350908
|
}
|
|
@@ -350725,7 +350913,7 @@ function useShellHistory(projectRoot, storage) {
|
|
|
350725
350913
|
}
|
|
350726
350914
|
return history[newIndex] ?? null;
|
|
350727
350915
|
}, [history, historyIndex]);
|
|
350728
|
-
const resetHistoryPosition = (0,
|
|
350916
|
+
const resetHistoryPosition = (0, import_react89.useCallback)(() => {
|
|
350729
350917
|
setHistoryIndex(-1);
|
|
350730
350918
|
}, []);
|
|
350731
350919
|
return {
|
|
@@ -350740,19 +350928,19 @@ __name(useShellHistory, "useShellHistory");
|
|
|
350740
350928
|
|
|
350741
350929
|
// packages/cli/src/ui/hooks/useReverseSearchCompletion.tsx
|
|
350742
350930
|
init_esbuild_shims();
|
|
350743
|
-
var
|
|
350931
|
+
var import_react91 = __toESM(require_react(), 1);
|
|
350744
350932
|
|
|
350745
350933
|
// packages/cli/src/ui/hooks/useCompletion.ts
|
|
350746
350934
|
init_esbuild_shims();
|
|
350747
|
-
var
|
|
350935
|
+
var import_react90 = __toESM(require_react(), 1);
|
|
350748
350936
|
function useCompletion() {
|
|
350749
|
-
const [suggestions, setSuggestions] = (0,
|
|
350750
|
-
const [activeSuggestionIndex, setActiveSuggestionIndex] = (0,
|
|
350751
|
-
const [visibleStartIndex, setVisibleStartIndex] = (0,
|
|
350752
|
-
const [showSuggestions, setShowSuggestions] = (0,
|
|
350753
|
-
const [isLoadingSuggestions, setIsLoadingSuggestions] = (0,
|
|
350754
|
-
const [isPerfectMatch, setIsPerfectMatch] = (0,
|
|
350755
|
-
const resetCompletionState = (0,
|
|
350937
|
+
const [suggestions, setSuggestions] = (0, import_react90.useState)([]);
|
|
350938
|
+
const [activeSuggestionIndex, setActiveSuggestionIndex] = (0, import_react90.useState)(-1);
|
|
350939
|
+
const [visibleStartIndex, setVisibleStartIndex] = (0, import_react90.useState)(0);
|
|
350940
|
+
const [showSuggestions, setShowSuggestions] = (0, import_react90.useState)(false);
|
|
350941
|
+
const [isLoadingSuggestions, setIsLoadingSuggestions] = (0, import_react90.useState)(false);
|
|
350942
|
+
const [isPerfectMatch, setIsPerfectMatch] = (0, import_react90.useState)(false);
|
|
350943
|
+
const resetCompletionState = (0, import_react90.useCallback)(() => {
|
|
350756
350944
|
setSuggestions([]);
|
|
350757
350945
|
setActiveSuggestionIndex(-1);
|
|
350758
350946
|
setVisibleStartIndex(0);
|
|
@@ -350760,7 +350948,7 @@ function useCompletion() {
|
|
|
350760
350948
|
setIsLoadingSuggestions(false);
|
|
350761
350949
|
setIsPerfectMatch(false);
|
|
350762
350950
|
}, []);
|
|
350763
|
-
const navigateUp = (0,
|
|
350951
|
+
const navigateUp = (0, import_react90.useCallback)(() => {
|
|
350764
350952
|
if (suggestions.length === 0) return;
|
|
350765
350953
|
setActiveSuggestionIndex((prevActiveIndex) => {
|
|
350766
350954
|
const newActiveIndex = prevActiveIndex <= 0 ? suggestions.length - 1 : prevActiveIndex - 1;
|
|
@@ -350776,7 +350964,7 @@ function useCompletion() {
|
|
|
350776
350964
|
return newActiveIndex;
|
|
350777
350965
|
});
|
|
350778
350966
|
}, [suggestions.length]);
|
|
350779
|
-
const navigateDown = (0,
|
|
350967
|
+
const navigateDown = (0, import_react90.useCallback)(() => {
|
|
350780
350968
|
if (suggestions.length === 0) return;
|
|
350781
350969
|
setActiveSuggestionIndex((prevActiveIndex) => {
|
|
350782
350970
|
const newActiveIndex = prevActiveIndex >= suggestions.length - 1 ? 0 : prevActiveIndex + 1;
|
|
@@ -350815,8 +351003,8 @@ __name(useCompletion, "useCompletion");
|
|
|
350815
351003
|
|
|
350816
351004
|
// packages/cli/src/ui/hooks/useReverseSearchCompletion.tsx
|
|
350817
351005
|
function useDebouncedValue(value, delay4 = 200) {
|
|
350818
|
-
const [debounced, setDebounced] = (0,
|
|
350819
|
-
(0,
|
|
351006
|
+
const [debounced, setDebounced] = (0, import_react91.useState)(value);
|
|
351007
|
+
(0, import_react91.useEffect)(() => {
|
|
350820
351008
|
const handle = setTimeout(() => setDebounced(value), delay4);
|
|
350821
351009
|
return () => clearTimeout(handle);
|
|
350822
351010
|
}, [value, delay4]);
|
|
@@ -350839,19 +351027,19 @@ function useReverseSearchCompletion(buffer, history, reverseSearchActive) {
|
|
|
350839
351027
|
setVisibleStartIndex
|
|
350840
351028
|
} = useCompletion();
|
|
350841
351029
|
const debouncedQuery = useDebouncedValue(buffer.text, 100);
|
|
350842
|
-
const prevQueryRef = (0,
|
|
350843
|
-
const prevMatchesRef = (0,
|
|
350844
|
-
(0,
|
|
351030
|
+
const prevQueryRef = (0, import_react91.useRef)("");
|
|
351031
|
+
const prevMatchesRef = (0, import_react91.useRef)([]);
|
|
351032
|
+
(0, import_react91.useEffect)(() => {
|
|
350845
351033
|
if (reverseSearchActive) {
|
|
350846
351034
|
prevQueryRef.current = "";
|
|
350847
351035
|
prevMatchesRef.current = [];
|
|
350848
351036
|
}
|
|
350849
351037
|
}, [reverseSearchActive]);
|
|
350850
|
-
(0,
|
|
351038
|
+
(0, import_react91.useEffect)(() => {
|
|
350851
351039
|
prevQueryRef.current = "";
|
|
350852
351040
|
prevMatchesRef.current = [];
|
|
350853
351041
|
}, [history]);
|
|
350854
|
-
const searchHistory = (0,
|
|
351042
|
+
const searchHistory = (0, import_react91.useCallback)(
|
|
350855
351043
|
(query, items) => {
|
|
350856
351044
|
const out = [];
|
|
350857
351045
|
for (let i = 0; i < items.length; i++) {
|
|
@@ -350865,7 +351053,7 @@ function useReverseSearchCompletion(buffer, history, reverseSearchActive) {
|
|
|
350865
351053
|
},
|
|
350866
351054
|
[]
|
|
350867
351055
|
);
|
|
350868
|
-
const matches = (0,
|
|
351056
|
+
const matches = (0, import_react91.useMemo)(() => {
|
|
350869
351057
|
if (!reverseSearchActive) return [];
|
|
350870
351058
|
if (debouncedQuery.length === 0)
|
|
350871
351059
|
return history.map((cmd) => ({
|
|
@@ -350878,7 +351066,7 @@ function useReverseSearchCompletion(buffer, history, reverseSearchActive) {
|
|
|
350878
351066
|
const source2 = canUseCache ? prevMatchesRef.current.map((m) => m.value) : history;
|
|
350879
351067
|
return searchHistory(query, source2);
|
|
350880
351068
|
}, [debouncedQuery, history, reverseSearchActive, searchHistory]);
|
|
350881
|
-
(0,
|
|
351069
|
+
(0, import_react91.useEffect)(() => {
|
|
350882
351070
|
if (!reverseSearchActive) {
|
|
350883
351071
|
resetCompletionState();
|
|
350884
351072
|
return;
|
|
@@ -350900,7 +351088,7 @@ function useReverseSearchCompletion(buffer, history, reverseSearchActive) {
|
|
|
350900
351088
|
setVisibleStartIndex,
|
|
350901
351089
|
resetCompletionState
|
|
350902
351090
|
]);
|
|
350903
|
-
const handleAutocomplete = (0,
|
|
351091
|
+
const handleAutocomplete = (0, import_react91.useCallback)(
|
|
350904
351092
|
(i) => {
|
|
350905
351093
|
if (i < 0 || i >= suggestions.length) return;
|
|
350906
351094
|
buffer.setText(suggestions[i].value);
|
|
@@ -350924,11 +351112,11 @@ __name(useReverseSearchCompletion, "useReverseSearchCompletion");
|
|
|
350924
351112
|
|
|
350925
351113
|
// packages/cli/src/ui/hooks/useCommandCompletion.tsx
|
|
350926
351114
|
init_esbuild_shims();
|
|
350927
|
-
var
|
|
351115
|
+
var import_react94 = __toESM(require_react(), 1);
|
|
350928
351116
|
|
|
350929
351117
|
// packages/cli/src/ui/hooks/useAtCompletion.ts
|
|
350930
351118
|
init_esbuild_shims();
|
|
350931
|
-
var
|
|
351119
|
+
var import_react92 = __toESM(require_react(), 1);
|
|
350932
351120
|
var initialState = {
|
|
350933
351121
|
status: "idle" /* IDLE */,
|
|
350934
351122
|
suggestions: [],
|
|
@@ -350986,20 +351174,20 @@ function useAtCompletion(props) {
|
|
|
350986
351174
|
setSuggestions,
|
|
350987
351175
|
setIsLoadingSuggestions
|
|
350988
351176
|
} = props;
|
|
350989
|
-
const [state, dispatch] = (0,
|
|
350990
|
-
const fileSearch = (0,
|
|
350991
|
-
const searchAbortController = (0,
|
|
350992
|
-
const slowSearchTimer = (0,
|
|
350993
|
-
(0,
|
|
351177
|
+
const [state, dispatch] = (0, import_react92.useReducer)(atCompletionReducer, initialState);
|
|
351178
|
+
const fileSearch = (0, import_react92.useRef)(null);
|
|
351179
|
+
const searchAbortController = (0, import_react92.useRef)(null);
|
|
351180
|
+
const slowSearchTimer = (0, import_react92.useRef)(null);
|
|
351181
|
+
(0, import_react92.useEffect)(() => {
|
|
350994
351182
|
setSuggestions(state.suggestions);
|
|
350995
351183
|
}, [state.suggestions, setSuggestions]);
|
|
350996
|
-
(0,
|
|
351184
|
+
(0, import_react92.useEffect)(() => {
|
|
350997
351185
|
setIsLoadingSuggestions(state.isLoading);
|
|
350998
351186
|
}, [state.isLoading, setIsLoadingSuggestions]);
|
|
350999
|
-
(0,
|
|
351187
|
+
(0, import_react92.useEffect)(() => {
|
|
351000
351188
|
dispatch({ type: "RESET" });
|
|
351001
351189
|
}, [cwd7, config]);
|
|
351002
|
-
(0,
|
|
351190
|
+
(0, import_react92.useEffect)(() => {
|
|
351003
351191
|
if (!enabled) {
|
|
351004
351192
|
if (state.status === "ready" /* READY */ || state.status === "error" /* ERROR */) {
|
|
351005
351193
|
dispatch({ type: "RESET" });
|
|
@@ -351016,7 +351204,7 @@ function useAtCompletion(props) {
|
|
|
351016
351204
|
dispatch({ type: "SEARCH", payload: pattern });
|
|
351017
351205
|
}
|
|
351018
351206
|
}, [enabled, pattern, state.status, state.pattern]);
|
|
351019
|
-
(0,
|
|
351207
|
+
(0, import_react92.useEffect)(() => {
|
|
351020
351208
|
const initialize = /* @__PURE__ */ __name(async () => {
|
|
351021
351209
|
try {
|
|
351022
351210
|
const searcher = FileSearchFactory.create({
|
|
@@ -351091,7 +351279,7 @@ __name(useAtCompletion, "useAtCompletion");
|
|
|
351091
351279
|
|
|
351092
351280
|
// packages/cli/src/ui/hooks/useSlashCompletion.ts
|
|
351093
351281
|
init_esbuild_shims();
|
|
351094
|
-
var
|
|
351282
|
+
var import_react93 = __toESM(require_react(), 1);
|
|
351095
351283
|
init_fzf_es();
|
|
351096
351284
|
function logErrorSafely(error, context2) {
|
|
351097
351285
|
if (error instanceof Error) {
|
|
@@ -351106,7 +351294,7 @@ function matchesCommand(cmd, query) {
|
|
|
351106
351294
|
}
|
|
351107
351295
|
__name(matchesCommand, "matchesCommand");
|
|
351108
351296
|
function useCommandParser(query, slashCommands) {
|
|
351109
|
-
return (0,
|
|
351297
|
+
return (0, import_react93.useMemo)(() => {
|
|
351110
351298
|
if (!query) {
|
|
351111
351299
|
return {
|
|
351112
351300
|
hasTrailingSpace: false,
|
|
@@ -351176,9 +351364,9 @@ function useCommandParser(query, slashCommands) {
|
|
|
351176
351364
|
}
|
|
351177
351365
|
__name(useCommandParser, "useCommandParser");
|
|
351178
351366
|
function useCommandSuggestions(parserResult, commandContext, getFzfForCommands, getPrefixSuggestions) {
|
|
351179
|
-
const [suggestions, setSuggestions] = (0,
|
|
351180
|
-
const [isLoading, setIsLoading] = (0,
|
|
351181
|
-
(0,
|
|
351367
|
+
const [suggestions, setSuggestions] = (0, import_react93.useState)([]);
|
|
351368
|
+
const [isLoading, setIsLoading] = (0, import_react93.useState)(false);
|
|
351369
|
+
(0, import_react93.useEffect)(() => {
|
|
351182
351370
|
const abortController = new AbortController();
|
|
351183
351371
|
const { signal } = abortController;
|
|
351184
351372
|
const {
|
|
@@ -351298,7 +351486,7 @@ function useCommandSuggestions(parserResult, commandContext, getFzfForCommands,
|
|
|
351298
351486
|
}
|
|
351299
351487
|
__name(useCommandSuggestions, "useCommandSuggestions");
|
|
351300
351488
|
function useCompletionPositions(query, parserResult) {
|
|
351301
|
-
return (0,
|
|
351489
|
+
return (0, import_react93.useMemo)(() => {
|
|
351302
351490
|
if (!query) {
|
|
351303
351491
|
return { start: -1, end: -1 };
|
|
351304
351492
|
}
|
|
@@ -351320,7 +351508,7 @@ function useCompletionPositions(query, parserResult) {
|
|
|
351320
351508
|
}
|
|
351321
351509
|
__name(useCompletionPositions, "useCompletionPositions");
|
|
351322
351510
|
function usePerfectMatch(parserResult) {
|
|
351323
|
-
return (0,
|
|
351511
|
+
return (0, import_react93.useMemo)(() => {
|
|
351324
351512
|
const { hasTrailingSpace, partial, leafCommand, currentLevel } = parserResult;
|
|
351325
351513
|
if (hasTrailingSpace) {
|
|
351326
351514
|
return { isPerfectMatch: false };
|
|
@@ -351350,13 +351538,13 @@ function useSlashCompletion(props) {
|
|
|
351350
351538
|
setIsLoadingSuggestions,
|
|
351351
351539
|
setIsPerfectMatch
|
|
351352
351540
|
} = props;
|
|
351353
|
-
const [completionStart, setCompletionStart] = (0,
|
|
351354
|
-
const [completionEnd, setCompletionEnd] = (0,
|
|
351355
|
-
const fzfInstanceCache = (0,
|
|
351541
|
+
const [completionStart, setCompletionStart] = (0, import_react93.useState)(-1);
|
|
351542
|
+
const [completionEnd, setCompletionEnd] = (0, import_react93.useState)(-1);
|
|
351543
|
+
const fzfInstanceCache = (0, import_react93.useMemo)(
|
|
351356
351544
|
() => /* @__PURE__ */ new WeakMap(),
|
|
351357
351545
|
[]
|
|
351358
351546
|
);
|
|
351359
|
-
const getFzfForCommands = (0,
|
|
351547
|
+
const getFzfForCommands = (0, import_react93.useMemo)(
|
|
351360
351548
|
() => (commands) => {
|
|
351361
351549
|
if (!commands || commands.length === 0) {
|
|
351362
351550
|
return null;
|
|
@@ -351400,7 +351588,7 @@ function useSlashCompletion(props) {
|
|
|
351400
351588
|
},
|
|
351401
351589
|
[fzfInstanceCache]
|
|
351402
351590
|
);
|
|
351403
|
-
const getPrefixSuggestions = (0,
|
|
351591
|
+
const getPrefixSuggestions = (0, import_react93.useMemo)(
|
|
351404
351592
|
() => (commands, partial) => commands.filter(
|
|
351405
351593
|
(cmd) => cmd.description && !cmd.hidden && (cmd.name.toLowerCase().startsWith(partial.toLowerCase()) || cmd.altNames?.some(
|
|
351406
351594
|
(alt) => alt.toLowerCase().startsWith(partial.toLowerCase())
|
|
@@ -351420,7 +351608,7 @@ function useSlashCompletion(props) {
|
|
|
351420
351608
|
parserResult
|
|
351421
351609
|
);
|
|
351422
351610
|
const { isPerfectMatch } = usePerfectMatch(parserResult);
|
|
351423
|
-
(0,
|
|
351611
|
+
(0, import_react93.useEffect)(() => {
|
|
351424
351612
|
if (!enabled) {
|
|
351425
351613
|
setSuggestions([]);
|
|
351426
351614
|
setIsLoadingSuggestions(false);
|
|
@@ -351429,7 +351617,7 @@ function useSlashCompletion(props) {
|
|
|
351429
351617
|
setCompletionEnd(-1);
|
|
351430
351618
|
}
|
|
351431
351619
|
}, [enabled, setSuggestions, setIsLoadingSuggestions, setIsPerfectMatch]);
|
|
351432
|
-
(0,
|
|
351620
|
+
(0, import_react93.useEffect)(() => {
|
|
351433
351621
|
if (!enabled || query === null) {
|
|
351434
351622
|
return;
|
|
351435
351623
|
}
|
|
@@ -351478,7 +351666,7 @@ function useCommandCompletion(buffer, dirs, cwd7, slashCommands, commandContext,
|
|
|
351478
351666
|
} = useCompletion();
|
|
351479
351667
|
const cursorRow = buffer.cursor[0];
|
|
351480
351668
|
const cursorCol = buffer.cursor[1];
|
|
351481
|
-
const { completionMode, query, completionStart, completionEnd } = (0,
|
|
351669
|
+
const { completionMode, query, completionStart, completionEnd } = (0, import_react94.useMemo)(() => {
|
|
351482
351670
|
const currentLine = buffer.lines[cursorRow] || "";
|
|
351483
351671
|
if (cursorRow === 0 && isSlashCommand(currentLine.trim())) {
|
|
351484
351672
|
return {
|
|
@@ -351547,11 +351735,11 @@ function useCommandCompletion(buffer, dirs, cwd7, slashCommands, commandContext,
|
|
|
351547
351735
|
setIsLoadingSuggestions,
|
|
351548
351736
|
setIsPerfectMatch
|
|
351549
351737
|
});
|
|
351550
|
-
(0,
|
|
351738
|
+
(0, import_react94.useEffect)(() => {
|
|
351551
351739
|
setActiveSuggestionIndex(suggestions.length > 0 ? 0 : -1);
|
|
351552
351740
|
setVisibleStartIndex(0);
|
|
351553
351741
|
}, [suggestions, setActiveSuggestionIndex, setVisibleStartIndex]);
|
|
351554
|
-
(0,
|
|
351742
|
+
(0, import_react94.useEffect)(() => {
|
|
351555
351743
|
if (completionMode === "IDLE" /* IDLE */ || reverseSearchActive) {
|
|
351556
351744
|
resetCompletionState();
|
|
351557
351745
|
return;
|
|
@@ -351565,7 +351753,7 @@ function useCommandCompletion(buffer, dirs, cwd7, slashCommands, commandContext,
|
|
|
351565
351753
|
resetCompletionState,
|
|
351566
351754
|
setShowSuggestions
|
|
351567
351755
|
]);
|
|
351568
|
-
const handleAutocomplete = (0,
|
|
351756
|
+
const handleAutocomplete = (0, import_react94.useCallback)(
|
|
351569
351757
|
(indexToUse) => {
|
|
351570
351758
|
if (indexToUse < 0 || indexToUse >= suggestions.length) {
|
|
351571
351759
|
return;
|
|
@@ -351791,9 +351979,9 @@ import * as path97 from "node:path";
|
|
|
351791
351979
|
|
|
351792
351980
|
// packages/cli/src/ui/contexts/ShellFocusContext.tsx
|
|
351793
351981
|
init_esbuild_shims();
|
|
351794
|
-
var
|
|
351795
|
-
var ShellFocusContext = (0,
|
|
351796
|
-
var useShellFocusState = /* @__PURE__ */ __name(() => (0,
|
|
351982
|
+
var import_react95 = __toESM(require_react(), 1);
|
|
351983
|
+
var ShellFocusContext = (0, import_react95.createContext)(true);
|
|
351984
|
+
var useShellFocusState = /* @__PURE__ */ __name(() => (0, import_react95.useContext)(ShellFocusContext), "useShellFocusState");
|
|
351797
351985
|
|
|
351798
351986
|
// packages/cli/src/ui/components/InputPrompt.tsx
|
|
351799
351987
|
var import_jsx_runtime94 = __toESM(require_jsx_runtime(), 1);
|
|
@@ -351833,29 +352021,29 @@ var InputPrompt = /* @__PURE__ */ __name(({
|
|
|
351833
352021
|
isEmbeddedShellFocused
|
|
351834
352022
|
}) => {
|
|
351835
352023
|
const isShellFocused = useShellFocusState();
|
|
351836
|
-
const [justNavigatedHistory, setJustNavigatedHistory] = (0,
|
|
351837
|
-
const [escPressCount, setEscPressCount] = (0,
|
|
351838
|
-
const [showEscapePrompt, setShowEscapePrompt] = (0,
|
|
351839
|
-
const escapeTimerRef = (0,
|
|
351840
|
-
const [recentPasteTime, setRecentPasteTime] = (0,
|
|
351841
|
-
const pasteTimeoutRef = (0,
|
|
351842
|
-
const [dirs, setDirs] = (0,
|
|
352024
|
+
const [justNavigatedHistory, setJustNavigatedHistory] = (0, import_react96.useState)(false);
|
|
352025
|
+
const [escPressCount, setEscPressCount] = (0, import_react96.useState)(0);
|
|
352026
|
+
const [showEscapePrompt, setShowEscapePrompt] = (0, import_react96.useState)(false);
|
|
352027
|
+
const escapeTimerRef = (0, import_react96.useRef)(null);
|
|
352028
|
+
const [recentPasteTime, setRecentPasteTime] = (0, import_react96.useState)(null);
|
|
352029
|
+
const pasteTimeoutRef = (0, import_react96.useRef)(null);
|
|
352030
|
+
const [dirs, setDirs] = (0, import_react96.useState)(
|
|
351843
352031
|
config.getWorkspaceContext().getDirectories()
|
|
351844
352032
|
);
|
|
351845
352033
|
const dirsChanged = config.getWorkspaceContext().getDirectories();
|
|
351846
|
-
(0,
|
|
352034
|
+
(0, import_react96.useEffect)(() => {
|
|
351847
352035
|
if (dirs.length !== dirsChanged.length) {
|
|
351848
352036
|
setDirs(dirsChanged);
|
|
351849
352037
|
}
|
|
351850
352038
|
}, [dirs.length, dirsChanged]);
|
|
351851
|
-
const [reverseSearchActive, setReverseSearchActive] = (0,
|
|
351852
|
-
const [commandSearchActive, setCommandSearchActive] = (0,
|
|
351853
|
-
const [textBeforeReverseSearch, setTextBeforeReverseSearch] = (0,
|
|
351854
|
-
const [cursorPosition, setCursorPosition] = (0,
|
|
352039
|
+
const [reverseSearchActive, setReverseSearchActive] = (0, import_react96.useState)(false);
|
|
352040
|
+
const [commandSearchActive, setCommandSearchActive] = (0, import_react96.useState)(false);
|
|
352041
|
+
const [textBeforeReverseSearch, setTextBeforeReverseSearch] = (0, import_react96.useState)("");
|
|
352042
|
+
const [cursorPosition, setCursorPosition] = (0, import_react96.useState)([
|
|
351855
352043
|
0,
|
|
351856
352044
|
0
|
|
351857
352045
|
]);
|
|
351858
|
-
const [expandedSuggestionIndex, setExpandedSuggestionIndex] = (0,
|
|
352046
|
+
const [expandedSuggestionIndex, setExpandedSuggestionIndex] = (0, import_react96.useState)(-1);
|
|
351859
352047
|
const shellHistory = useShellHistory(config.getProjectRoot());
|
|
351860
352048
|
const shellHistoryData = shellHistory.history;
|
|
351861
352049
|
const completion3 = useCommandCompletion(
|
|
@@ -351881,7 +352069,7 @@ var InputPrompt = /* @__PURE__ */ __name(({
|
|
|
351881
352069
|
const resetReverseSearchCompletionState = reverseSearchCompletion.resetCompletionState;
|
|
351882
352070
|
const resetCommandSearchCompletionState = commandSearchCompletion.resetCompletionState;
|
|
351883
352071
|
const showCursor = focus && isShellFocused && !isEmbeddedShellFocused;
|
|
351884
|
-
const resetEscapeState = (0,
|
|
352072
|
+
const resetEscapeState = (0, import_react96.useCallback)(() => {
|
|
351885
352073
|
if (escapeTimerRef.current) {
|
|
351886
352074
|
clearTimeout(escapeTimerRef.current);
|
|
351887
352075
|
escapeTimerRef.current = null;
|
|
@@ -351889,12 +352077,12 @@ var InputPrompt = /* @__PURE__ */ __name(({
|
|
|
351889
352077
|
setEscPressCount(0);
|
|
351890
352078
|
setShowEscapePrompt(false);
|
|
351891
352079
|
}, []);
|
|
351892
|
-
(0,
|
|
352080
|
+
(0, import_react96.useEffect)(() => {
|
|
351893
352081
|
if (onEscapePromptChange) {
|
|
351894
352082
|
onEscapePromptChange(showEscapePrompt);
|
|
351895
352083
|
}
|
|
351896
352084
|
}, [showEscapePrompt, onEscapePromptChange]);
|
|
351897
|
-
(0,
|
|
352085
|
+
(0, import_react96.useEffect)(
|
|
351898
352086
|
() => () => {
|
|
351899
352087
|
if (escapeTimerRef.current) {
|
|
351900
352088
|
clearTimeout(escapeTimerRef.current);
|
|
@@ -351905,7 +352093,7 @@ var InputPrompt = /* @__PURE__ */ __name(({
|
|
|
351905
352093
|
},
|
|
351906
352094
|
[]
|
|
351907
352095
|
);
|
|
351908
|
-
const handleSubmitAndClear = (0,
|
|
352096
|
+
const handleSubmitAndClear = (0, import_react96.useCallback)(
|
|
351909
352097
|
(submittedValue) => {
|
|
351910
352098
|
if (shellModeActive) {
|
|
351911
352099
|
shellHistory.addCommandToHistory(submittedValue);
|
|
@@ -351924,7 +352112,7 @@ var InputPrompt = /* @__PURE__ */ __name(({
|
|
|
351924
352112
|
resetReverseSearchCompletionState
|
|
351925
352113
|
]
|
|
351926
352114
|
);
|
|
351927
|
-
const customSetTextAndResetCompletionSignal = (0,
|
|
352115
|
+
const customSetTextAndResetCompletionSignal = (0, import_react96.useCallback)(
|
|
351928
352116
|
(newText) => {
|
|
351929
352117
|
buffer.setText(newText);
|
|
351930
352118
|
setJustNavigatedHistory(true);
|
|
@@ -351938,7 +352126,7 @@ var InputPrompt = /* @__PURE__ */ __name(({
|
|
|
351938
352126
|
currentQuery: buffer.text,
|
|
351939
352127
|
onChange: customSetTextAndResetCompletionSignal
|
|
351940
352128
|
});
|
|
351941
|
-
(0,
|
|
352129
|
+
(0, import_react96.useEffect)(() => {
|
|
351942
352130
|
if (justNavigatedHistory) {
|
|
351943
352131
|
resetCompletionState();
|
|
351944
352132
|
resetReverseSearchCompletionState();
|
|
@@ -351954,7 +352142,7 @@ var InputPrompt = /* @__PURE__ */ __name(({
|
|
|
351954
352142
|
resetReverseSearchCompletionState,
|
|
351955
352143
|
resetCommandSearchCompletionState
|
|
351956
352144
|
]);
|
|
351957
|
-
const handleClipboardImage = (0,
|
|
352145
|
+
const handleClipboardImage = (0, import_react96.useCallback)(async () => {
|
|
351958
352146
|
try {
|
|
351959
352147
|
if (await clipboardHasImage()) {
|
|
351960
352148
|
const imagePath = await saveClipboardImage(config.getTargetDir());
|
|
@@ -351986,7 +352174,7 @@ var InputPrompt = /* @__PURE__ */ __name(({
|
|
|
351986
352174
|
console.error("Error handling clipboard image:", error);
|
|
351987
352175
|
}
|
|
351988
352176
|
}, [buffer, config]);
|
|
351989
|
-
const handleInput = (0,
|
|
352177
|
+
const handleInput = (0, import_react96.useCallback)(
|
|
351990
352178
|
(key) => {
|
|
351991
352179
|
if (!focus && !key.paste) {
|
|
351992
352180
|
return;
|
|
@@ -352442,15 +352630,15 @@ import process36 from "node:process";
|
|
|
352442
352630
|
|
|
352443
352631
|
// packages/cli/src/ui/components/MemoryUsageDisplay.tsx
|
|
352444
352632
|
init_esbuild_shims();
|
|
352445
|
-
var
|
|
352633
|
+
var import_react97 = __toESM(require_react(), 1);
|
|
352446
352634
|
import process35 from "node:process";
|
|
352447
352635
|
var import_jsx_runtime96 = __toESM(require_jsx_runtime(), 1);
|
|
352448
352636
|
var MemoryUsageDisplay = /* @__PURE__ */ __name(() => {
|
|
352449
|
-
const [memoryUsage, setMemoryUsage] = (0,
|
|
352450
|
-
const [memoryUsageColor, setMemoryUsageColor] = (0,
|
|
352637
|
+
const [memoryUsage, setMemoryUsage] = (0, import_react97.useState)("");
|
|
352638
|
+
const [memoryUsageColor, setMemoryUsageColor] = (0, import_react97.useState)(
|
|
352451
352639
|
theme.text.secondary
|
|
352452
352640
|
);
|
|
352453
|
-
(0,
|
|
352641
|
+
(0, import_react97.useEffect)(() => {
|
|
352454
352642
|
const updateMemory = /* @__PURE__ */ __name(() => {
|
|
352455
352643
|
const usage2 = process35.memoryUsage().rss;
|
|
352456
352644
|
setMemoryUsage(formatMemoryUsage2(usage2));
|
|
@@ -352541,12 +352729,12 @@ var ContextUsageDisplay = /* @__PURE__ */ __name(({
|
|
|
352541
352729
|
|
|
352542
352730
|
// packages/cli/src/ui/components/DebugProfiler.tsx
|
|
352543
352731
|
init_esbuild_shims();
|
|
352544
|
-
var
|
|
352732
|
+
var import_react98 = __toESM(require_react(), 1);
|
|
352545
352733
|
var import_jsx_runtime98 = __toESM(require_jsx_runtime(), 1);
|
|
352546
352734
|
var DebugProfiler = /* @__PURE__ */ __name(() => {
|
|
352547
|
-
const numRenders = (0,
|
|
352548
|
-
const [showNumRenders, setShowNumRenders] = (0,
|
|
352549
|
-
(0,
|
|
352735
|
+
const numRenders = (0, import_react98.useRef)(0);
|
|
352736
|
+
const [showNumRenders, setShowNumRenders] = (0, import_react98.useState)(false);
|
|
352737
|
+
(0, import_react98.useEffect)(() => {
|
|
352550
352738
|
numRenders.current++;
|
|
352551
352739
|
});
|
|
352552
352740
|
useKeypress(
|
|
@@ -352732,12 +352920,12 @@ var QueuedMessageDisplay = /* @__PURE__ */ __name(({
|
|
|
352732
352920
|
|
|
352733
352921
|
// packages/cli/src/ui/components/ConfigInitDisplay.tsx
|
|
352734
352922
|
init_esbuild_shims();
|
|
352735
|
-
var
|
|
352923
|
+
var import_react99 = __toESM(require_react(), 1);
|
|
352736
352924
|
var import_jsx_runtime101 = __toESM(require_jsx_runtime(), 1);
|
|
352737
352925
|
var ConfigInitDisplay = /* @__PURE__ */ __name(() => {
|
|
352738
352926
|
const config = useConfig();
|
|
352739
|
-
const [message2, setMessage] = (0,
|
|
352740
|
-
(0,
|
|
352927
|
+
const [message2, setMessage] = (0, import_react99.useState)(t2("Initializing..."));
|
|
352928
|
+
(0, import_react99.useEffect)(() => {
|
|
352741
352929
|
const onChange = /* @__PURE__ */ __name((clients) => {
|
|
352742
352930
|
if (!clients || clients.size === 0) {
|
|
352743
352931
|
setMessage(t2("Initializing..."));
|
|
@@ -352781,7 +352969,7 @@ var Composer = /* @__PURE__ */ __name(() => {
|
|
|
352781
352969
|
const isNarrow = isNarrowWidth(terminalWidth);
|
|
352782
352970
|
const debugConsoleMaxHeight = Math.floor(Math.max(terminalWidth * 0.2, 5));
|
|
352783
352971
|
const { contextFileNames, showAutoAcceptIndicator } = uiState;
|
|
352784
|
-
const { containerWidth } = (0,
|
|
352972
|
+
const { containerWidth } = (0, import_react100.useMemo)(
|
|
352785
352973
|
() => calculatePromptWidths(uiState.terminalWidth),
|
|
352786
352974
|
[uiState.terminalWidth]
|
|
352787
352975
|
);
|
|
@@ -353030,12 +353218,12 @@ import process52 from "node:process";
|
|
|
353030
353218
|
|
|
353031
353219
|
// packages/cli/src/ui/hooks/useMemoryMonitor.ts
|
|
353032
353220
|
init_esbuild_shims();
|
|
353033
|
-
var
|
|
353221
|
+
var import_react101 = __toESM(require_react(), 1);
|
|
353034
353222
|
import process37 from "node:process";
|
|
353035
353223
|
var MEMORY_WARNING_THRESHOLD = 7 * 1024 * 1024 * 1024;
|
|
353036
353224
|
var MEMORY_CHECK_INTERVAL = 60 * 1e3;
|
|
353037
353225
|
var useMemoryMonitor = /* @__PURE__ */ __name(({ addItem }) => {
|
|
353038
|
-
(0,
|
|
353226
|
+
(0, import_react101.useEffect)(() => {
|
|
353039
353227
|
const intervalId = setInterval(() => {
|
|
353040
353228
|
const usage2 = process37.memoryUsage().rss;
|
|
353041
353229
|
if (usage2 > MEMORY_WARNING_THRESHOLD) {
|
|
@@ -353055,11 +353243,11 @@ var useMemoryMonitor = /* @__PURE__ */ __name(({ addItem }) => {
|
|
|
353055
353243
|
|
|
353056
353244
|
// packages/cli/src/ui/hooks/useThemeCommand.ts
|
|
353057
353245
|
init_esbuild_shims();
|
|
353058
|
-
var
|
|
353246
|
+
var import_react102 = __toESM(require_react(), 1);
|
|
353059
353247
|
import process38 from "node:process";
|
|
353060
353248
|
var useThemeCommand = /* @__PURE__ */ __name((loadedSettings, setThemeError, addItem, initialThemeError) => {
|
|
353061
|
-
const [isThemeDialogOpen, setIsThemeDialogOpen] = (0,
|
|
353062
|
-
const openThemeDialog = (0,
|
|
353249
|
+
const [isThemeDialogOpen, setIsThemeDialogOpen] = (0, import_react102.useState)(!!initialThemeError);
|
|
353250
|
+
const openThemeDialog = (0, import_react102.useCallback)(() => {
|
|
353063
353251
|
if (process38.env["NO_COLOR"]) {
|
|
353064
353252
|
addItem(
|
|
353065
353253
|
{
|
|
@@ -353074,7 +353262,7 @@ var useThemeCommand = /* @__PURE__ */ __name((loadedSettings, setThemeError, add
|
|
|
353074
353262
|
}
|
|
353075
353263
|
setIsThemeDialogOpen(true);
|
|
353076
353264
|
}, [addItem]);
|
|
353077
|
-
const applyTheme = (0,
|
|
353265
|
+
const applyTheme = (0, import_react102.useCallback)(
|
|
353078
353266
|
(themeName) => {
|
|
353079
353267
|
if (!themeManager.setActiveTheme(themeName)) {
|
|
353080
353268
|
setIsThemeDialogOpen(true);
|
|
@@ -353089,13 +353277,13 @@ var useThemeCommand = /* @__PURE__ */ __name((loadedSettings, setThemeError, add
|
|
|
353089
353277
|
},
|
|
353090
353278
|
[setThemeError]
|
|
353091
353279
|
);
|
|
353092
|
-
const handleThemeHighlight = (0,
|
|
353280
|
+
const handleThemeHighlight = (0, import_react102.useCallback)(
|
|
353093
353281
|
(themeName) => {
|
|
353094
353282
|
applyTheme(themeName);
|
|
353095
353283
|
},
|
|
353096
353284
|
[applyTheme]
|
|
353097
353285
|
);
|
|
353098
|
-
const handleThemeSelect = (0,
|
|
353286
|
+
const handleThemeSelect = (0, import_react102.useCallback)(
|
|
353099
353287
|
(themeName, scope) => {
|
|
353100
353288
|
try {
|
|
353101
353289
|
const mergedCustomThemes = {
|
|
@@ -353135,19 +353323,19 @@ var useThemeCommand = /* @__PURE__ */ __name((loadedSettings, setThemeError, add
|
|
|
353135
353323
|
|
|
353136
353324
|
// packages/cli/src/ui/auth/useAuth.ts
|
|
353137
353325
|
init_esbuild_shims();
|
|
353138
|
-
var
|
|
353326
|
+
var import_react104 = __toESM(require_react(), 1);
|
|
353139
353327
|
|
|
353140
353328
|
// packages/cli/src/ui/hooks/useQwenAuth.ts
|
|
353141
353329
|
init_esbuild_shims();
|
|
353142
|
-
var
|
|
353330
|
+
var import_react103 = __toESM(require_react(), 1);
|
|
353143
353331
|
var useOSAAuth = /* @__PURE__ */ __name((pendingAuthType, isAuthenticating) => {
|
|
353144
|
-
const [OSAAuthState, setOSAAuthState] = (0,
|
|
353332
|
+
const [OSAAuthState, setOSAAuthState] = (0, import_react103.useState)({
|
|
353145
353333
|
deviceAuth: null,
|
|
353146
353334
|
authStatus: "idle",
|
|
353147
353335
|
authMessage: null
|
|
353148
353336
|
});
|
|
353149
353337
|
const isOSAAuth = pendingAuthType === AuthType2.OSA_OAUTH;
|
|
353150
|
-
(0,
|
|
353338
|
+
(0, import_react103.useEffect)(() => {
|
|
353151
353339
|
if (!isOSAAuth || !isAuthenticating) {
|
|
353152
353340
|
setOSAAuthState({
|
|
353153
353341
|
deviceAuth: null,
|
|
@@ -353187,7 +353375,7 @@ var useOSAAuth = /* @__PURE__ */ __name((pendingAuthType, isAuthenticating) => {
|
|
|
353187
353375
|
OSAOAuth2Events.off(OSAOAuth2Event.AuthProgress, handleAuthProgress);
|
|
353188
353376
|
};
|
|
353189
353377
|
}, [isOSAAuth, isAuthenticating]);
|
|
353190
|
-
const cancelOSAAuth = (0,
|
|
353378
|
+
const cancelOSAAuth = (0, import_react103.useCallback)(() => {
|
|
353191
353379
|
OSAOAuth2Events.emit(OSAOAuth2Event.AuthCancel);
|
|
353192
353380
|
setOSAAuthState({
|
|
353193
353381
|
deviceAuth: null,
|
|
@@ -353204,20 +353392,20 @@ var useOSAAuth = /* @__PURE__ */ __name((pendingAuthType, isAuthenticating) => {
|
|
|
353204
353392
|
// packages/cli/src/ui/auth/useAuth.ts
|
|
353205
353393
|
var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem) => {
|
|
353206
353394
|
const unAuthenticated = settings.merged.security?.auth?.selectedType === void 0;
|
|
353207
|
-
const [authState, setAuthState] = (0,
|
|
353395
|
+
const [authState, setAuthState] = (0, import_react104.useState)(
|
|
353208
353396
|
unAuthenticated ? "updating" /* Updating */ : "unauthenticated" /* Unauthenticated */
|
|
353209
353397
|
);
|
|
353210
|
-
const [authError, setAuthError] = (0,
|
|
353211
|
-
const [isAuthenticating, setIsAuthenticating] = (0,
|
|
353212
|
-
const [isAuthDialogOpen, setIsAuthDialogOpen] = (0,
|
|
353213
|
-
const [pendingAuthType, setPendingAuthType] = (0,
|
|
353398
|
+
const [authError, setAuthError] = (0, import_react104.useState)(null);
|
|
353399
|
+
const [isAuthenticating, setIsAuthenticating] = (0, import_react104.useState)(false);
|
|
353400
|
+
const [isAuthDialogOpen, setIsAuthDialogOpen] = (0, import_react104.useState)(unAuthenticated);
|
|
353401
|
+
const [pendingAuthType, setPendingAuthType] = (0, import_react104.useState)(
|
|
353214
353402
|
void 0
|
|
353215
353403
|
);
|
|
353216
353404
|
const { OSAAuthState, cancelOSAAuth } = useOSAAuth(
|
|
353217
353405
|
pendingAuthType,
|
|
353218
353406
|
isAuthenticating
|
|
353219
353407
|
);
|
|
353220
|
-
const onAuthError = (0,
|
|
353408
|
+
const onAuthError = (0, import_react104.useCallback)(
|
|
353221
353409
|
(error) => {
|
|
353222
353410
|
setAuthError(error);
|
|
353223
353411
|
if (error) {
|
|
@@ -353227,7 +353415,7 @@ var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem) => {
|
|
|
353227
353415
|
},
|
|
353228
353416
|
[setAuthError, setAuthState]
|
|
353229
353417
|
);
|
|
353230
|
-
const handleAuthFailure = (0,
|
|
353418
|
+
const handleAuthFailure = (0, import_react104.useCallback)(
|
|
353231
353419
|
(error) => {
|
|
353232
353420
|
setIsAuthenticating(false);
|
|
353233
353421
|
const errorMessage = t2("Failed to authenticate. Message: {{message}}", {
|
|
@@ -353246,7 +353434,7 @@ var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem) => {
|
|
|
353246
353434
|
},
|
|
353247
353435
|
[onAuthError, pendingAuthType, config]
|
|
353248
353436
|
);
|
|
353249
|
-
const handleAuthSuccess = (0,
|
|
353437
|
+
const handleAuthSuccess = (0, import_react104.useCallback)(
|
|
353250
353438
|
async (authType, scope, credentials) => {
|
|
353251
353439
|
try {
|
|
353252
353440
|
settings.setValue(scope, "security.auth.selectedType", authType);
|
|
@@ -353293,7 +353481,7 @@ var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem) => {
|
|
|
353293
353481
|
},
|
|
353294
353482
|
[settings, handleAuthFailure, config, addItem]
|
|
353295
353483
|
);
|
|
353296
|
-
const performAuth = (0,
|
|
353484
|
+
const performAuth = (0, import_react104.useCallback)(
|
|
353297
353485
|
async (authType, scope, credentials) => {
|
|
353298
353486
|
try {
|
|
353299
353487
|
await config.refreshAuth(authType);
|
|
@@ -353304,7 +353492,7 @@ var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem) => {
|
|
|
353304
353492
|
},
|
|
353305
353493
|
[config, handleAuthSuccess, handleAuthFailure]
|
|
353306
353494
|
);
|
|
353307
|
-
const handleAuthSelect = (0,
|
|
353495
|
+
const handleAuthSelect = (0, import_react104.useCallback)(
|
|
353308
353496
|
async (authType, scope, credentials) => {
|
|
353309
353497
|
if (!authType) {
|
|
353310
353498
|
setIsAuthDialogOpen(false);
|
|
@@ -353341,10 +353529,10 @@ var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem) => {
|
|
|
353341
353529
|
},
|
|
353342
353530
|
[config, performAuth]
|
|
353343
353531
|
);
|
|
353344
|
-
const openAuthDialog = (0,
|
|
353532
|
+
const openAuthDialog = (0, import_react104.useCallback)(() => {
|
|
353345
353533
|
setIsAuthDialogOpen(true);
|
|
353346
353534
|
}, []);
|
|
353347
|
-
const cancelAuthentication = (0,
|
|
353535
|
+
const cancelAuthentication = (0, import_react104.useCallback)(() => {
|
|
353348
353536
|
if (isAuthenticating && pendingAuthType === AuthType2.OSA_OAUTH) {
|
|
353349
353537
|
cancelOSAAuth();
|
|
353350
353538
|
}
|
|
@@ -353356,7 +353544,7 @@ var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem) => {
|
|
|
353356
353544
|
setIsAuthDialogOpen(true);
|
|
353357
353545
|
setAuthError(null);
|
|
353358
353546
|
}, [isAuthenticating, pendingAuthType, cancelOSAAuth, config]);
|
|
353359
|
-
(0,
|
|
353547
|
+
(0, import_react104.useEffect)(() => {
|
|
353360
353548
|
const defaultAuthType = process.env["OSA_DEFAULT_AUTH_TYPE"];
|
|
353361
353549
|
if (defaultAuthType && ![AuthType2.OSA_OAUTH, AuthType2.USE_OPENAI].includes(
|
|
353362
353550
|
defaultAuthType
|
|
@@ -353389,7 +353577,7 @@ var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem) => {
|
|
|
353389
353577
|
|
|
353390
353578
|
// packages/cli/src/ui/hooks/useQuotaAndFallback.ts
|
|
353391
353579
|
init_esbuild_shims();
|
|
353392
|
-
var
|
|
353580
|
+
var import_react105 = __toESM(require_react(), 1);
|
|
353393
353581
|
function useQuotaAndFallback({
|
|
353394
353582
|
config,
|
|
353395
353583
|
historyManager,
|
|
@@ -353397,9 +353585,9 @@ function useQuotaAndFallback({
|
|
|
353397
353585
|
setAuthState,
|
|
353398
353586
|
setModelSwitchedFromQuotaError
|
|
353399
353587
|
}) {
|
|
353400
|
-
const [proQuotaRequest, setProQuotaRequest] = (0,
|
|
353401
|
-
const isDialogPending = (0,
|
|
353402
|
-
(0,
|
|
353588
|
+
const [proQuotaRequest, setProQuotaRequest] = (0, import_react105.useState)(null);
|
|
353589
|
+
const isDialogPending = (0, import_react105.useRef)(false);
|
|
353590
|
+
(0, import_react105.useEffect)(() => {
|
|
353403
353591
|
const fallbackHandler = /* @__PURE__ */ __name(async (failedModel, fallbackModel, error) => {
|
|
353404
353592
|
if (config.isInFallbackMode()) {
|
|
353405
353593
|
return null;
|
|
@@ -353477,7 +353665,7 @@ function useQuotaAndFallback({
|
|
|
353477
353665
|
}, "fallbackHandler");
|
|
353478
353666
|
config.setFallbackModelHandler(fallbackHandler);
|
|
353479
353667
|
}, [config, historyManager, userTier, setModelSwitchedFromQuotaError]);
|
|
353480
|
-
const handleProQuotaChoice = (0,
|
|
353668
|
+
const handleProQuotaChoice = (0, import_react105.useCallback)(
|
|
353481
353669
|
(choice2) => {
|
|
353482
353670
|
if (!proQuotaRequest) return;
|
|
353483
353671
|
const intent = choice2 === "auth" ? "auth" : "retry";
|
|
@@ -353507,13 +353695,13 @@ __name(useQuotaAndFallback, "useQuotaAndFallback");
|
|
|
353507
353695
|
|
|
353508
353696
|
// packages/cli/src/ui/hooks/useEditorSettings.ts
|
|
353509
353697
|
init_esbuild_shims();
|
|
353510
|
-
var
|
|
353698
|
+
var import_react106 = __toESM(require_react(), 1);
|
|
353511
353699
|
var useEditorSettings = /* @__PURE__ */ __name((loadedSettings, setEditorError, addItem) => {
|
|
353512
|
-
const [isEditorDialogOpen, setIsEditorDialogOpen] = (0,
|
|
353513
|
-
const openEditorDialog = (0,
|
|
353700
|
+
const [isEditorDialogOpen, setIsEditorDialogOpen] = (0, import_react106.useState)(false);
|
|
353701
|
+
const openEditorDialog = (0, import_react106.useCallback)(() => {
|
|
353514
353702
|
setIsEditorDialogOpen(true);
|
|
353515
353703
|
}, []);
|
|
353516
|
-
const handleEditorSelect = (0,
|
|
353704
|
+
const handleEditorSelect = (0, import_react106.useCallback)(
|
|
353517
353705
|
(editorType, scope) => {
|
|
353518
353706
|
if (editorType && (!checkHasEditorType(editorType) || !allowEditorTypeInSandbox(editorType))) {
|
|
353519
353707
|
return;
|
|
@@ -353535,7 +353723,7 @@ var useEditorSettings = /* @__PURE__ */ __name((loadedSettings, setEditorError,
|
|
|
353535
353723
|
},
|
|
353536
353724
|
[loadedSettings, setEditorError, addItem]
|
|
353537
353725
|
);
|
|
353538
|
-
const exitEditorDialog = (0,
|
|
353726
|
+
const exitEditorDialog = (0, import_react106.useCallback)(() => {
|
|
353539
353727
|
setIsEditorDialogOpen(false);
|
|
353540
353728
|
}, []);
|
|
353541
353729
|
return {
|
|
@@ -353548,13 +353736,13 @@ var useEditorSettings = /* @__PURE__ */ __name((loadedSettings, setEditorError,
|
|
|
353548
353736
|
|
|
353549
353737
|
// packages/cli/src/ui/hooks/useSettingsCommand.ts
|
|
353550
353738
|
init_esbuild_shims();
|
|
353551
|
-
var
|
|
353739
|
+
var import_react107 = __toESM(require_react(), 1);
|
|
353552
353740
|
function useSettingsCommand() {
|
|
353553
|
-
const [isSettingsDialogOpen, setIsSettingsDialogOpen] = (0,
|
|
353554
|
-
const openSettingsDialog = (0,
|
|
353741
|
+
const [isSettingsDialogOpen, setIsSettingsDialogOpen] = (0, import_react107.useState)(false);
|
|
353742
|
+
const openSettingsDialog = (0, import_react107.useCallback)(() => {
|
|
353555
353743
|
setIsSettingsDialogOpen(true);
|
|
353556
353744
|
}, []);
|
|
353557
|
-
const closeSettingsDialog = (0,
|
|
353745
|
+
const closeSettingsDialog = (0, import_react107.useCallback)(() => {
|
|
353558
353746
|
setIsSettingsDialogOpen(false);
|
|
353559
353747
|
}, []);
|
|
353560
353748
|
return {
|
|
@@ -353567,13 +353755,13 @@ __name(useSettingsCommand, "useSettingsCommand");
|
|
|
353567
353755
|
|
|
353568
353756
|
// packages/cli/src/ui/hooks/useModelCommand.ts
|
|
353569
353757
|
init_esbuild_shims();
|
|
353570
|
-
var
|
|
353758
|
+
var import_react108 = __toESM(require_react(), 1);
|
|
353571
353759
|
var useModelCommand = /* @__PURE__ */ __name(() => {
|
|
353572
|
-
const [isModelDialogOpen, setIsModelDialogOpen] = (0,
|
|
353573
|
-
const openModelDialog = (0,
|
|
353760
|
+
const [isModelDialogOpen, setIsModelDialogOpen] = (0, import_react108.useState)(false);
|
|
353761
|
+
const openModelDialog = (0, import_react108.useCallback)(() => {
|
|
353574
353762
|
setIsModelDialogOpen(true);
|
|
353575
353763
|
}, []);
|
|
353576
|
-
const closeModelDialog = (0,
|
|
353764
|
+
const closeModelDialog = (0, import_react108.useCallback)(() => {
|
|
353577
353765
|
setIsModelDialogOpen(false);
|
|
353578
353766
|
}, []);
|
|
353579
353767
|
return {
|
|
@@ -353585,13 +353773,13 @@ var useModelCommand = /* @__PURE__ */ __name(() => {
|
|
|
353585
353773
|
|
|
353586
353774
|
// packages/cli/src/ui/hooks/useApprovalModeCommand.ts
|
|
353587
353775
|
init_esbuild_shims();
|
|
353588
|
-
var
|
|
353776
|
+
var import_react109 = __toESM(require_react(), 1);
|
|
353589
353777
|
var useApprovalModeCommand = /* @__PURE__ */ __name((loadedSettings, config) => {
|
|
353590
|
-
const [isApprovalModeDialogOpen, setIsApprovalModeDialogOpen] = (0,
|
|
353591
|
-
const openApprovalModeDialog = (0,
|
|
353778
|
+
const [isApprovalModeDialogOpen, setIsApprovalModeDialogOpen] = (0, import_react109.useState)(false);
|
|
353779
|
+
const openApprovalModeDialog = (0, import_react109.useCallback)(() => {
|
|
353592
353780
|
setIsApprovalModeDialogOpen(true);
|
|
353593
353781
|
}, []);
|
|
353594
|
-
const handleApprovalModeSelect = (0,
|
|
353782
|
+
const handleApprovalModeSelect = (0, import_react109.useCallback)(
|
|
353595
353783
|
(mode, scope) => {
|
|
353596
353784
|
try {
|
|
353597
353785
|
if (!mode) {
|
|
@@ -353617,7 +353805,7 @@ var useApprovalModeCommand = /* @__PURE__ */ __name((loadedSettings, config) =>
|
|
|
353617
353805
|
|
|
353618
353806
|
// packages/cli/src/ui/hooks/slashCommandProcessor.ts
|
|
353619
353807
|
init_esbuild_shims();
|
|
353620
|
-
var
|
|
353808
|
+
var import_react110 = __toESM(require_react(), 1);
|
|
353621
353809
|
init_node();
|
|
353622
353810
|
import process39 from "node:process";
|
|
353623
353811
|
|
|
@@ -353861,41 +354049,41 @@ var McpPromptLoader = class {
|
|
|
353861
354049
|
// packages/cli/src/ui/hooks/slashCommandProcessor.ts
|
|
353862
354050
|
var useSlashCommandProcessor = /* @__PURE__ */ __name((config, settings, addItem, clearItems, loadHistory, refreshStatic, toggleVimEnabled, setIsProcessing, setOSAMdFileCount, actions, extensionsUpdateState, isConfigInitialized) => {
|
|
353863
354051
|
const session = useSessionStats();
|
|
353864
|
-
const [commands, setCommands] = (0,
|
|
353865
|
-
const [reloadTrigger, setReloadTrigger] = (0,
|
|
353866
|
-
const reloadCommands = (0,
|
|
354052
|
+
const [commands, setCommands] = (0, import_react110.useState)([]);
|
|
354053
|
+
const [reloadTrigger, setReloadTrigger] = (0, import_react110.useState)(0);
|
|
354054
|
+
const reloadCommands = (0, import_react110.useCallback)(() => {
|
|
353867
354055
|
setReloadTrigger((v) => v + 1);
|
|
353868
354056
|
}, []);
|
|
353869
|
-
const [shellConfirmationRequest, setShellConfirmationRequest] = (0,
|
|
353870
|
-
const [confirmationRequest, setConfirmationRequest] = (0,
|
|
353871
|
-
const [quitConfirmationRequest, setQuitConfirmationRequest] = (0,
|
|
353872
|
-
const [sessionShellAllowlist, setSessionShellAllowlist] = (0,
|
|
354057
|
+
const [shellConfirmationRequest, setShellConfirmationRequest] = (0, import_react110.useState)(null);
|
|
354058
|
+
const [confirmationRequest, setConfirmationRequest] = (0, import_react110.useState)(null);
|
|
354059
|
+
const [quitConfirmationRequest, setQuitConfirmationRequest] = (0, import_react110.useState)(null);
|
|
354060
|
+
const [sessionShellAllowlist, setSessionShellAllowlist] = (0, import_react110.useState)(
|
|
353873
354061
|
/* @__PURE__ */ new Set()
|
|
353874
354062
|
);
|
|
353875
|
-
const gitService = (0,
|
|
354063
|
+
const gitService = (0, import_react110.useMemo)(() => {
|
|
353876
354064
|
if (!config?.getProjectRoot()) {
|
|
353877
354065
|
return;
|
|
353878
354066
|
}
|
|
353879
354067
|
return new GitService(config.getProjectRoot(), config.storage);
|
|
353880
354068
|
}, [config]);
|
|
353881
|
-
const logger6 = (0,
|
|
354069
|
+
const logger6 = (0, import_react110.useMemo)(() => {
|
|
353882
354070
|
const l2 = new Logger(
|
|
353883
354071
|
config?.getSessionId() || "",
|
|
353884
354072
|
config?.storage ?? new Storage(process39.cwd())
|
|
353885
354073
|
);
|
|
353886
354074
|
return l2;
|
|
353887
354075
|
}, [config]);
|
|
353888
|
-
const [pendingItem, setPendingItem] = (0,
|
|
354076
|
+
const [pendingItem, setPendingItem] = (0, import_react110.useState)(
|
|
353889
354077
|
null
|
|
353890
354078
|
);
|
|
353891
|
-
const pendingHistoryItems = (0,
|
|
354079
|
+
const pendingHistoryItems = (0, import_react110.useMemo)(() => {
|
|
353892
354080
|
const items = [];
|
|
353893
354081
|
if (pendingItem != null) {
|
|
353894
354082
|
items.push(pendingItem);
|
|
353895
354083
|
}
|
|
353896
354084
|
return items;
|
|
353897
354085
|
}, [pendingItem]);
|
|
353898
|
-
const addMessage = (0,
|
|
354086
|
+
const addMessage = (0, import_react110.useCallback)(
|
|
353899
354087
|
(message2) => {
|
|
353900
354088
|
let historyItemContent;
|
|
353901
354089
|
if (message2.type === "about" /* ABOUT */) {
|
|
@@ -353951,7 +354139,7 @@ var useSlashCommandProcessor = /* @__PURE__ */ __name((config, settings, addItem
|
|
|
353951
354139
|
},
|
|
353952
354140
|
[addItem]
|
|
353953
354141
|
);
|
|
353954
|
-
const commandContext = (0,
|
|
354142
|
+
const commandContext = (0, import_react110.useMemo)(
|
|
353955
354143
|
() => ({
|
|
353956
354144
|
services: {
|
|
353957
354145
|
config,
|
|
@@ -354004,7 +354192,7 @@ var useSlashCommandProcessor = /* @__PURE__ */ __name((config, settings, addItem
|
|
|
354004
354192
|
extensionsUpdateState
|
|
354005
354193
|
]
|
|
354006
354194
|
);
|
|
354007
|
-
(0,
|
|
354195
|
+
(0, import_react110.useEffect)(() => {
|
|
354008
354196
|
if (!config) {
|
|
354009
354197
|
return;
|
|
354010
354198
|
}
|
|
@@ -354022,7 +354210,7 @@ var useSlashCommandProcessor = /* @__PURE__ */ __name((config, settings, addItem
|
|
|
354022
354210
|
})();
|
|
354023
354211
|
};
|
|
354024
354212
|
}, [config, reloadCommands]);
|
|
354025
|
-
(0,
|
|
354213
|
+
(0, import_react110.useEffect)(() => {
|
|
354026
354214
|
const controller = new AbortController();
|
|
354027
354215
|
const load = /* @__PURE__ */ __name(async () => {
|
|
354028
354216
|
const loaders = [
|
|
@@ -354041,7 +354229,7 @@ var useSlashCommandProcessor = /* @__PURE__ */ __name((config, settings, addItem
|
|
|
354041
354229
|
controller.abort();
|
|
354042
354230
|
};
|
|
354043
354231
|
}, [config, reloadTrigger, isConfigInitialized]);
|
|
354044
|
-
const handleSlashCommand2 = (0,
|
|
354232
|
+
const handleSlashCommand2 = (0, import_react110.useCallback)(
|
|
354045
354233
|
async (rawQuery, oneTimeShellAllowlist, overwriteConfirmed) => {
|
|
354046
354234
|
if (typeof rawQuery !== "string") {
|
|
354047
354235
|
return false;
|
|
@@ -354350,7 +354538,7 @@ ${commandToExecute.subCommands.map((sc) => ` - ${sc.name}: ${sc.description ||
|
|
|
354350
354538
|
|
|
354351
354539
|
// packages/cli/src/ui/hooks/useConsoleMessages.ts
|
|
354352
354540
|
init_esbuild_shims();
|
|
354353
|
-
var
|
|
354541
|
+
var import_react111 = __toESM(require_react(), 1);
|
|
354354
354542
|
function consoleMessagesReducer(state, action) {
|
|
354355
354543
|
switch (action.type) {
|
|
354356
354544
|
case "ADD_MESSAGES": {
|
|
@@ -354376,11 +354564,11 @@ function consoleMessagesReducer(state, action) {
|
|
|
354376
354564
|
}
|
|
354377
354565
|
__name(consoleMessagesReducer, "consoleMessagesReducer");
|
|
354378
354566
|
function useConsoleMessages() {
|
|
354379
|
-
const [consoleMessages, dispatch] = (0,
|
|
354380
|
-
const messageQueueRef = (0,
|
|
354381
|
-
const timeoutRef = (0,
|
|
354382
|
-
const [, startTransition] = (0,
|
|
354383
|
-
const processQueue = (0,
|
|
354567
|
+
const [consoleMessages, dispatch] = (0, import_react111.useReducer)(consoleMessagesReducer, []);
|
|
354568
|
+
const messageQueueRef = (0, import_react111.useRef)([]);
|
|
354569
|
+
const timeoutRef = (0, import_react111.useRef)(null);
|
|
354570
|
+
const [, startTransition] = (0, import_react111.useTransition)();
|
|
354571
|
+
const processQueue = (0, import_react111.useCallback)(() => {
|
|
354384
354572
|
if (messageQueueRef.current.length > 0) {
|
|
354385
354573
|
const messagesToProcess = messageQueueRef.current;
|
|
354386
354574
|
messageQueueRef.current = [];
|
|
@@ -354390,7 +354578,7 @@ function useConsoleMessages() {
|
|
|
354390
354578
|
}
|
|
354391
354579
|
timeoutRef.current = null;
|
|
354392
354580
|
}, []);
|
|
354393
|
-
const handleNewMessage = (0,
|
|
354581
|
+
const handleNewMessage = (0, import_react111.useCallback)(
|
|
354394
354582
|
(message2) => {
|
|
354395
354583
|
messageQueueRef.current.push(message2);
|
|
354396
354584
|
if (!timeoutRef.current) {
|
|
@@ -354399,7 +354587,7 @@ function useConsoleMessages() {
|
|
|
354399
354587
|
},
|
|
354400
354588
|
[processQueue]
|
|
354401
354589
|
);
|
|
354402
|
-
const clearConsoleMessages = (0,
|
|
354590
|
+
const clearConsoleMessages = (0, import_react111.useCallback)(() => {
|
|
354403
354591
|
if (timeoutRef.current) {
|
|
354404
354592
|
clearTimeout(timeoutRef.current);
|
|
354405
354593
|
timeoutRef.current = null;
|
|
@@ -354409,7 +354597,7 @@ function useConsoleMessages() {
|
|
|
354409
354597
|
dispatch({ type: "CLEAR" });
|
|
354410
354598
|
});
|
|
354411
354599
|
}, []);
|
|
354412
|
-
(0,
|
|
354600
|
+
(0, import_react111.useEffect)(
|
|
354413
354601
|
() => () => {
|
|
354414
354602
|
if (timeoutRef.current) {
|
|
354415
354603
|
clearTimeout(timeoutRef.current);
|
|
@@ -354439,10 +354627,10 @@ __name(computeWindowTitle, "computeWindowTitle");
|
|
|
354439
354627
|
|
|
354440
354628
|
// packages/cli/src/ui/hooks/useLogger.ts
|
|
354441
354629
|
init_esbuild_shims();
|
|
354442
|
-
var
|
|
354630
|
+
var import_react112 = __toESM(require_react(), 1);
|
|
354443
354631
|
var useLogger = /* @__PURE__ */ __name((storage) => {
|
|
354444
|
-
const [logger6, setLogger] = (0,
|
|
354445
|
-
(0,
|
|
354632
|
+
const [logger6, setLogger] = (0, import_react112.useState)(null);
|
|
354633
|
+
(0, import_react112.useEffect)(() => {
|
|
354446
354634
|
const newLogger = new Logger(sessionId, storage);
|
|
354447
354635
|
newLogger.initialize().then(() => {
|
|
354448
354636
|
setLogger(newLogger);
|
|
@@ -354454,12 +354642,12 @@ var useLogger = /* @__PURE__ */ __name((storage) => {
|
|
|
354454
354642
|
|
|
354455
354643
|
// packages/cli/src/ui/hooks/useGeminiStream.ts
|
|
354456
354644
|
init_esbuild_shims();
|
|
354457
|
-
var
|
|
354645
|
+
var import_react117 = __toESM(require_react(), 1);
|
|
354458
354646
|
init_node();
|
|
354459
354647
|
|
|
354460
354648
|
// packages/cli/src/ui/hooks/shellCommandProcessor.ts
|
|
354461
354649
|
init_esbuild_shims();
|
|
354462
|
-
var
|
|
354650
|
+
var import_react113 = __toESM(require_react(), 1);
|
|
354463
354651
|
init_node();
|
|
354464
354652
|
import crypto17 from "node:crypto";
|
|
354465
354653
|
import path98 from "node:path";
|
|
@@ -354488,8 +354676,8 @@ ${modelContent}
|
|
|
354488
354676
|
}
|
|
354489
354677
|
__name(addShellCommandToOSAHistory, "addShellCommandToOSAHistory");
|
|
354490
354678
|
var useShellCommandProcessor = /* @__PURE__ */ __name((addItemToHistory, setPendingHistoryItem, onExec, onDebugMessage, config, OSAClient2, setShellInputFocused, terminalWidth, terminalHeight) => {
|
|
354491
|
-
const [activeShellPtyId, setActiveShellPtyId] = (0,
|
|
354492
|
-
const handleShellCommand = (0,
|
|
354679
|
+
const [activeShellPtyId, setActiveShellPtyId] = (0, import_react113.useState)(null);
|
|
354680
|
+
const handleShellCommand = (0, import_react113.useCallback)(
|
|
354493
354681
|
(rawQuery, abortSignal) => {
|
|
354494
354682
|
if (typeof rawQuery !== "string" || rawQuery.trim() === "") {
|
|
354495
354683
|
return false;
|
|
@@ -354738,7 +354926,7 @@ ${finalOutput}`;
|
|
|
354738
354926
|
// packages/cli/src/ui/hooks/useVisionAutoSwitch.ts
|
|
354739
354927
|
init_esbuild_shims();
|
|
354740
354928
|
init_node();
|
|
354741
|
-
var
|
|
354929
|
+
var import_react114 = __toESM(require_react(), 1);
|
|
354742
354930
|
function hasImageParts(parts) {
|
|
354743
354931
|
if (typeof parts === "string") {
|
|
354744
354932
|
return false;
|
|
@@ -354827,8 +355015,8 @@ function processVisionSwitchOutcome(outcome) {
|
|
|
354827
355015
|
}
|
|
354828
355016
|
__name(processVisionSwitchOutcome, "processVisionSwitchOutcome");
|
|
354829
355017
|
function useVisionAutoSwitch(config, addItem, visionModelPreviewEnabled = true, onVisionSwitchRequired) {
|
|
354830
|
-
const originalModelRef = (0,
|
|
354831
|
-
const handleVisionSwitch = (0,
|
|
355018
|
+
const originalModelRef = (0, import_react114.useRef)(null);
|
|
355019
|
+
const handleVisionSwitch = (0, import_react114.useCallback)(
|
|
354832
355020
|
async (query, userMessageTimestamp, isContinuation) => {
|
|
354833
355021
|
if (isContinuation || !onVisionSwitchRequired) {
|
|
354834
355022
|
return { shouldProceed: true };
|
|
@@ -354929,7 +355117,7 @@ function useVisionAutoSwitch(config, addItem, visionModelPreviewEnabled = true,
|
|
|
354929
355117
|
},
|
|
354930
355118
|
[config, addItem, visionModelPreviewEnabled, onVisionSwitchRequired]
|
|
354931
355119
|
);
|
|
354932
|
-
const restoreOriginalModel = (0,
|
|
355120
|
+
const restoreOriginalModel = (0, import_react114.useCallback)(async () => {
|
|
354933
355121
|
if (originalModelRef.current) {
|
|
354934
355122
|
await config.setModel(originalModelRef.current, {
|
|
354935
355123
|
reason: "vision_auto_switch",
|
|
@@ -355006,11 +355194,11 @@ var findLastSafeSplitPoint = /* @__PURE__ */ __name((content) => {
|
|
|
355006
355194
|
|
|
355007
355195
|
// packages/cli/src/ui/hooks/useStateAndRef.ts
|
|
355008
355196
|
init_esbuild_shims();
|
|
355009
|
-
var
|
|
355197
|
+
var import_react115 = __toESM(require_react(), 1);
|
|
355010
355198
|
var useStateAndRef = /* @__PURE__ */ __name((initialValue) => {
|
|
355011
|
-
const [state, setState] =
|
|
355012
|
-
const ref =
|
|
355013
|
-
const setStateInternal =
|
|
355199
|
+
const [state, setState] = import_react115.default.useState(initialValue);
|
|
355200
|
+
const ref = import_react115.default.useRef(initialValue);
|
|
355201
|
+
const setStateInternal = import_react115.default.useCallback(
|
|
355014
355202
|
(newStateOrCallback) => {
|
|
355015
355203
|
let newValue;
|
|
355016
355204
|
if (typeof newStateOrCallback === "function") {
|
|
@@ -355028,10 +355216,10 @@ var useStateAndRef = /* @__PURE__ */ __name((initialValue) => {
|
|
|
355028
355216
|
|
|
355029
355217
|
// packages/cli/src/ui/hooks/useReactToolScheduler.ts
|
|
355030
355218
|
init_esbuild_shims();
|
|
355031
|
-
var
|
|
355219
|
+
var import_react116 = __toESM(require_react(), 1);
|
|
355032
355220
|
function useReactToolScheduler(onComplete, config, getPreferredEditor, onEditorClose) {
|
|
355033
|
-
const [toolCallsForDisplay, setToolCallsForDisplay] = (0,
|
|
355034
|
-
const outputUpdateHandler = (0,
|
|
355221
|
+
const [toolCallsForDisplay, setToolCallsForDisplay] = (0, import_react116.useState)([]);
|
|
355222
|
+
const outputUpdateHandler = (0, import_react116.useCallback)(
|
|
355035
355223
|
(toolCallId, outputChunk) => {
|
|
355036
355224
|
setToolCallsForDisplay(
|
|
355037
355225
|
(prevCalls) => prevCalls.map((tc) => {
|
|
@@ -355045,13 +355233,13 @@ function useReactToolScheduler(onComplete, config, getPreferredEditor, onEditorC
|
|
|
355045
355233
|
},
|
|
355046
355234
|
[]
|
|
355047
355235
|
);
|
|
355048
|
-
const allToolCallsCompleteHandler = (0,
|
|
355236
|
+
const allToolCallsCompleteHandler = (0, import_react116.useCallback)(
|
|
355049
355237
|
async (completedToolCalls) => {
|
|
355050
355238
|
await onComplete(completedToolCalls);
|
|
355051
355239
|
},
|
|
355052
355240
|
[onComplete]
|
|
355053
355241
|
);
|
|
355054
|
-
const toolCallsUpdateHandler = (0,
|
|
355242
|
+
const toolCallsUpdateHandler = (0, import_react116.useCallback)(
|
|
355055
355243
|
(updatedCoreToolCalls) => {
|
|
355056
355244
|
setToolCallsForDisplay(
|
|
355057
355245
|
(prevTrackedCalls) => updatedCoreToolCalls.map((coreTc) => {
|
|
@@ -355078,7 +355266,7 @@ function useReactToolScheduler(onComplete, config, getPreferredEditor, onEditorC
|
|
|
355078
355266
|
},
|
|
355079
355267
|
[setToolCallsForDisplay]
|
|
355080
355268
|
);
|
|
355081
|
-
const scheduler = (0,
|
|
355269
|
+
const scheduler = (0, import_react116.useMemo)(
|
|
355082
355270
|
() => new CoreToolScheduler({
|
|
355083
355271
|
outputUpdateHandler,
|
|
355084
355272
|
onAllToolCallsComplete: allToolCallsCompleteHandler,
|
|
@@ -355097,13 +355285,13 @@ function useReactToolScheduler(onComplete, config, getPreferredEditor, onEditorC
|
|
|
355097
355285
|
onEditorClose
|
|
355098
355286
|
]
|
|
355099
355287
|
);
|
|
355100
|
-
const schedule = (0,
|
|
355288
|
+
const schedule = (0, import_react116.useCallback)(
|
|
355101
355289
|
(request4, signal) => {
|
|
355102
355290
|
void scheduler.schedule(request4, signal);
|
|
355103
355291
|
},
|
|
355104
355292
|
[scheduler]
|
|
355105
355293
|
);
|
|
355106
|
-
const markToolsAsSubmitted = (0,
|
|
355294
|
+
const markToolsAsSubmitted = (0, import_react116.useCallback)(
|
|
355107
355295
|
(callIdsToMark) => {
|
|
355108
355296
|
setToolCallsForDisplay(
|
|
355109
355297
|
(prevCalls) => prevCalls.map(
|
|
@@ -355243,18 +355431,18 @@ function showCitations(settings) {
|
|
|
355243
355431
|
}
|
|
355244
355432
|
__name(showCitations, "showCitations");
|
|
355245
355433
|
var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config, settings, onDebugMessage, handleSlashCommand2, shellModeActive, getPreferredEditor, onAuthError, performMemoryRefresh, modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError, onEditorClose, onCancelSubmit, visionModelPreviewEnabled, setShellInputFocused, terminalWidth, terminalHeight, onVisionSwitchRequired, isShellFocused) => {
|
|
355246
|
-
const [initError, setInitError] = (0,
|
|
355247
|
-
const abortControllerRef = (0,
|
|
355248
|
-
const turnCancelledRef = (0,
|
|
355249
|
-
const isSubmittingQueryRef = (0,
|
|
355250
|
-
const [isResponding, setIsResponding] = (0,
|
|
355251
|
-
const [thought, setThought] = (0,
|
|
355434
|
+
const [initError, setInitError] = (0, import_react117.useState)(null);
|
|
355435
|
+
const abortControllerRef = (0, import_react117.useRef)(null);
|
|
355436
|
+
const turnCancelledRef = (0, import_react117.useRef)(false);
|
|
355437
|
+
const isSubmittingQueryRef = (0, import_react117.useRef)(false);
|
|
355438
|
+
const [isResponding, setIsResponding] = (0, import_react117.useState)(false);
|
|
355439
|
+
const [thought, setThought] = (0, import_react117.useState)(null);
|
|
355252
355440
|
const [pendingHistoryItem, pendingHistoryItemRef, setPendingHistoryItem] = useStateAndRef(null);
|
|
355253
|
-
const processedMemoryToolsRef = (0,
|
|
355441
|
+
const processedMemoryToolsRef = (0, import_react117.useRef)(/* @__PURE__ */ new Set());
|
|
355254
355442
|
const { startNewPrompt, getPromptCount } = useSessionStats();
|
|
355255
355443
|
const storage = config.storage;
|
|
355256
355444
|
const logger6 = useLogger(storage);
|
|
355257
|
-
const gitService = (0,
|
|
355445
|
+
const gitService = (0, import_react117.useMemo)(() => {
|
|
355258
355446
|
if (!config.getProjectRoot()) {
|
|
355259
355447
|
return;
|
|
355260
355448
|
}
|
|
@@ -355278,11 +355466,11 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355278
355466
|
getPreferredEditor,
|
|
355279
355467
|
onEditorClose
|
|
355280
355468
|
);
|
|
355281
|
-
const pendingToolCallGroupDisplay = (0,
|
|
355469
|
+
const pendingToolCallGroupDisplay = (0, import_react117.useMemo)(
|
|
355282
355470
|
() => toolCalls.length ? mapToDisplay(toolCalls) : void 0,
|
|
355283
355471
|
[toolCalls]
|
|
355284
355472
|
);
|
|
355285
|
-
const activeToolPtyId = (0,
|
|
355473
|
+
const activeToolPtyId = (0, import_react117.useMemo)(() => {
|
|
355286
355474
|
const executingShellTool = toolCalls?.find(
|
|
355287
355475
|
(tc) => tc.status === "executing" && tc.request.name === "run_shell_command"
|
|
355288
355476
|
);
|
|
@@ -355291,12 +355479,12 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355291
355479
|
}
|
|
355292
355480
|
return void 0;
|
|
355293
355481
|
}, [toolCalls]);
|
|
355294
|
-
const loopDetectedRef = (0,
|
|
355482
|
+
const loopDetectedRef = (0, import_react117.useRef)(false);
|
|
355295
355483
|
const [
|
|
355296
355484
|
loopDetectionConfirmationRequest,
|
|
355297
355485
|
setLoopDetectionConfirmationRequest
|
|
355298
|
-
] = (0,
|
|
355299
|
-
const onExec = (0,
|
|
355486
|
+
] = (0, import_react117.useState)(null);
|
|
355487
|
+
const onExec = (0, import_react117.useCallback)(async (done) => {
|
|
355300
355488
|
setIsResponding(true);
|
|
355301
355489
|
await done;
|
|
355302
355490
|
setIsResponding(false);
|
|
@@ -355319,12 +355507,12 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355319
355507
|
onVisionSwitchRequired
|
|
355320
355508
|
);
|
|
355321
355509
|
const activePtyId = activeShellPtyId || activeToolPtyId;
|
|
355322
|
-
(0,
|
|
355510
|
+
(0, import_react117.useEffect)(() => {
|
|
355323
355511
|
if (!activePtyId) {
|
|
355324
355512
|
setShellInputFocused(false);
|
|
355325
355513
|
}
|
|
355326
355514
|
}, [activePtyId, setShellInputFocused]);
|
|
355327
|
-
const streamingState = (0,
|
|
355515
|
+
const streamingState = (0, import_react117.useMemo)(() => {
|
|
355328
355516
|
if (toolCalls.some((tc) => tc.status === "awaiting_approval")) {
|
|
355329
355517
|
return "waiting_for_confirmation" /* WaitingForConfirmation */;
|
|
355330
355518
|
}
|
|
@@ -355335,7 +355523,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355335
355523
|
}
|
|
355336
355524
|
return "idle" /* Idle */;
|
|
355337
355525
|
}, [isResponding, toolCalls]);
|
|
355338
|
-
(0,
|
|
355526
|
+
(0, import_react117.useEffect)(() => {
|
|
355339
355527
|
if (config.getApprovalMode() === ApprovalMode.YOLO && streamingState === "idle" /* Idle */) {
|
|
355340
355528
|
const lastUserMessageIndex = history.findLastIndex(
|
|
355341
355529
|
(item) => item.type === "user" /* USER */
|
|
@@ -355349,7 +355537,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355349
355537
|
}
|
|
355350
355538
|
}
|
|
355351
355539
|
}, [streamingState, config, history]);
|
|
355352
|
-
const cancelOngoingRequest = (0,
|
|
355540
|
+
const cancelOngoingRequest = (0, import_react117.useCallback)(() => {
|
|
355353
355541
|
if (streamingState !== "responding" /* Responding */) {
|
|
355354
355542
|
return;
|
|
355355
355543
|
}
|
|
@@ -355398,7 +355586,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355398
355586
|
},
|
|
355399
355587
|
{ isActive: streamingState === "responding" /* Responding */ }
|
|
355400
355588
|
);
|
|
355401
|
-
const prepareQueryForOSA = (0,
|
|
355589
|
+
const prepareQueryForOSA = (0, import_react117.useCallback)(
|
|
355402
355590
|
async (query, userMessageTimestamp, abortSignal, prompt_id) => {
|
|
355403
355591
|
if (turnCancelledRef.current) {
|
|
355404
355592
|
return { queryToSend: null, shouldProceed: false };
|
|
@@ -355493,7 +355681,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355493
355681
|
scheduleToolCalls
|
|
355494
355682
|
]
|
|
355495
355683
|
);
|
|
355496
|
-
const handleContentEvent = (0,
|
|
355684
|
+
const handleContentEvent = (0, import_react117.useCallback)(
|
|
355497
355685
|
(eventValue, currentOSAMessageBuffer, userMessageTimestamp) => {
|
|
355498
355686
|
if (turnCancelledRef.current) {
|
|
355499
355687
|
return "";
|
|
@@ -355529,7 +355717,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355529
355717
|
},
|
|
355530
355718
|
[addItem, pendingHistoryItemRef, setPendingHistoryItem]
|
|
355531
355719
|
);
|
|
355532
|
-
const handleUserCancelledEvent = (0,
|
|
355720
|
+
const handleUserCancelledEvent = (0, import_react117.useCallback)(
|
|
355533
355721
|
(userMessageTimestamp) => {
|
|
355534
355722
|
if (turnCancelledRef.current) {
|
|
355535
355723
|
return;
|
|
@@ -355558,7 +355746,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355558
355746
|
},
|
|
355559
355747
|
[addItem, pendingHistoryItemRef, setPendingHistoryItem, setThought]
|
|
355560
355748
|
);
|
|
355561
|
-
const handleErrorEvent = (0,
|
|
355749
|
+
const handleErrorEvent = (0, import_react117.useCallback)(
|
|
355562
355750
|
(eventValue, userMessageTimestamp) => {
|
|
355563
355751
|
if (pendingHistoryItemRef.current) {
|
|
355564
355752
|
addItem(pendingHistoryItemRef.current, userMessageTimestamp);
|
|
@@ -355581,7 +355769,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355581
355769
|
},
|
|
355582
355770
|
[addItem, pendingHistoryItemRef, setPendingHistoryItem, config, setThought]
|
|
355583
355771
|
);
|
|
355584
|
-
const handleCitationEvent = (0,
|
|
355772
|
+
const handleCitationEvent = (0, import_react117.useCallback)(
|
|
355585
355773
|
(text, userMessageTimestamp) => {
|
|
355586
355774
|
if (!showCitations(settings)) {
|
|
355587
355775
|
return;
|
|
@@ -355594,7 +355782,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355594
355782
|
},
|
|
355595
355783
|
[addItem, pendingHistoryItemRef, setPendingHistoryItem, settings]
|
|
355596
355784
|
);
|
|
355597
|
-
const handleFinishedEvent = (0,
|
|
355785
|
+
const handleFinishedEvent = (0, import_react117.useCallback)(
|
|
355598
355786
|
(event, userMessageTimestamp) => {
|
|
355599
355787
|
const finishReason = event.value.reason;
|
|
355600
355788
|
if (!finishReason) {
|
|
@@ -355628,7 +355816,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355628
355816
|
},
|
|
355629
355817
|
[addItem]
|
|
355630
355818
|
);
|
|
355631
|
-
const handleChatCompressionEvent = (0,
|
|
355819
|
+
const handleChatCompressionEvent = (0, import_react117.useCallback)(
|
|
355632
355820
|
(eventValue, userMessageTimestamp) => {
|
|
355633
355821
|
if (pendingHistoryItemRef.current) {
|
|
355634
355822
|
addItem(pendingHistoryItemRef.current, userMessageTimestamp);
|
|
@@ -355644,7 +355832,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355644
355832
|
},
|
|
355645
355833
|
[addItem, config, pendingHistoryItemRef, setPendingHistoryItem]
|
|
355646
355834
|
);
|
|
355647
|
-
const handleMaxSessionTurnsEvent = (0,
|
|
355835
|
+
const handleMaxSessionTurnsEvent = (0, import_react117.useCallback)(
|
|
355648
355836
|
() => addItem(
|
|
355649
355837
|
{
|
|
355650
355838
|
type: "info",
|
|
@@ -355654,7 +355842,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355654
355842
|
),
|
|
355655
355843
|
[addItem, config]
|
|
355656
355844
|
);
|
|
355657
|
-
const handleSessionTokenLimitExceededEvent = (0,
|
|
355845
|
+
const handleSessionTokenLimitExceededEvent = (0, import_react117.useCallback)(
|
|
355658
355846
|
(value) => addItem(
|
|
355659
355847
|
{
|
|
355660
355848
|
type: "error",
|
|
@@ -355669,7 +355857,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355669
355857
|
),
|
|
355670
355858
|
[addItem]
|
|
355671
355859
|
);
|
|
355672
|
-
const handleLoopDetectionConfirmation = (0,
|
|
355860
|
+
const handleLoopDetectionConfirmation = (0, import_react117.useCallback)(
|
|
355673
355861
|
(result) => {
|
|
355674
355862
|
setLoopDetectionConfirmationRequest(null);
|
|
355675
355863
|
if (result.userSelection === "disable") {
|
|
@@ -355693,12 +355881,12 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355693
355881
|
},
|
|
355694
355882
|
[config, addItem]
|
|
355695
355883
|
);
|
|
355696
|
-
const handleLoopDetectedEvent = (0,
|
|
355884
|
+
const handleLoopDetectedEvent = (0, import_react117.useCallback)(() => {
|
|
355697
355885
|
setLoopDetectionConfirmationRequest({
|
|
355698
355886
|
onComplete: handleLoopDetectionConfirmation
|
|
355699
355887
|
});
|
|
355700
355888
|
}, [handleLoopDetectionConfirmation]);
|
|
355701
|
-
const processOSAStreamEvents = (0,
|
|
355889
|
+
const processOSAStreamEvents = (0, import_react117.useCallback)(
|
|
355702
355890
|
async (stream2, userMessageTimestamp, signal) => {
|
|
355703
355891
|
let OSAMessageBuffer = "";
|
|
355704
355892
|
const toolCallRequests = [];
|
|
@@ -355772,7 +355960,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355772
355960
|
handleCitationEvent
|
|
355773
355961
|
]
|
|
355774
355962
|
);
|
|
355775
|
-
const submitQuery = (0,
|
|
355963
|
+
const submitQuery = (0, import_react117.useCallback)(
|
|
355776
355964
|
async (query, options2, prompt_id) => {
|
|
355777
355965
|
if (isSubmittingQueryRef.current && !options2?.isContinuation) {
|
|
355778
355966
|
return;
|
|
@@ -355905,7 +356093,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355905
356093
|
restoreOriginalModel
|
|
355906
356094
|
]
|
|
355907
356095
|
);
|
|
355908
|
-
const handleApprovalModeChange = (0,
|
|
356096
|
+
const handleApprovalModeChange = (0, import_react117.useCallback)(
|
|
355909
356097
|
async (newApprovalMode) => {
|
|
355910
356098
|
if (newApprovalMode === ApprovalMode.YOLO || newApprovalMode === ApprovalMode.AUTO_EDIT) {
|
|
355911
356099
|
let awaitingApprovalCalls = toolCalls.filter(
|
|
@@ -355934,7 +356122,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
355934
356122
|
},
|
|
355935
356123
|
[toolCalls]
|
|
355936
356124
|
);
|
|
355937
|
-
const handleCompletedTools = (0,
|
|
356125
|
+
const handleCompletedTools = (0, import_react117.useCallback)(
|
|
355938
356126
|
async (completedToolCallsFromScheduler) => {
|
|
355939
356127
|
if (isResponding) {
|
|
355940
356128
|
return;
|
|
@@ -356019,13 +356207,13 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
356019
356207
|
modelSwitchedFromQuotaError
|
|
356020
356208
|
]
|
|
356021
356209
|
);
|
|
356022
|
-
const pendingHistoryItems = (0,
|
|
356210
|
+
const pendingHistoryItems = (0, import_react117.useMemo)(
|
|
356023
356211
|
() => [pendingHistoryItem, pendingToolCallGroupDisplay].filter(
|
|
356024
356212
|
(i) => i !== void 0 && i !== null
|
|
356025
356213
|
),
|
|
356026
356214
|
[pendingHistoryItem, pendingToolCallGroupDisplay]
|
|
356027
356215
|
);
|
|
356028
|
-
(0,
|
|
356216
|
+
(0, import_react117.useEffect)(() => {
|
|
356029
356217
|
const saveRestorableToolCalls = /* @__PURE__ */ __name(async () => {
|
|
356030
356218
|
if (!config.getCheckpointingEnabled()) {
|
|
356031
356219
|
return;
|
|
@@ -356144,7 +356332,7 @@ var useOSAStream = /* @__PURE__ */ __name((OSAClient2, history, addItem, config,
|
|
|
356144
356332
|
|
|
356145
356333
|
// packages/cli/src/ui/hooks/vim.ts
|
|
356146
356334
|
init_esbuild_shims();
|
|
356147
|
-
var
|
|
356335
|
+
var import_react118 = __toESM(require_react(), 1);
|
|
356148
356336
|
var DIGIT_MULTIPLIER = 10;
|
|
356149
356337
|
var DEFAULT_COUNT = 1;
|
|
356150
356338
|
var DIGIT_1_TO_9 = /^[1-9]$/;
|
|
@@ -356207,22 +356395,22 @@ var vimReducer = /* @__PURE__ */ __name((state, action) => {
|
|
|
356207
356395
|
}, "vimReducer");
|
|
356208
356396
|
function useVim(buffer, onSubmit) {
|
|
356209
356397
|
const { vimEnabled, vimMode, setVimMode } = useVimMode();
|
|
356210
|
-
const [state, dispatch] = (0,
|
|
356211
|
-
(0,
|
|
356398
|
+
const [state, dispatch] = (0, import_react118.useReducer)(vimReducer, initialVimState);
|
|
356399
|
+
(0, import_react118.useEffect)(() => {
|
|
356212
356400
|
dispatch({ type: "SET_MODE", mode: vimMode });
|
|
356213
356401
|
}, [vimMode]);
|
|
356214
|
-
const updateMode = (0,
|
|
356402
|
+
const updateMode = (0, import_react118.useCallback)(
|
|
356215
356403
|
(mode) => {
|
|
356216
356404
|
setVimMode(mode);
|
|
356217
356405
|
dispatch({ type: "SET_MODE", mode });
|
|
356218
356406
|
},
|
|
356219
356407
|
[setVimMode]
|
|
356220
356408
|
);
|
|
356221
|
-
const getCurrentCount = (0,
|
|
356409
|
+
const getCurrentCount = (0, import_react118.useCallback)(
|
|
356222
356410
|
() => state.count || DEFAULT_COUNT,
|
|
356223
356411
|
[state.count]
|
|
356224
356412
|
);
|
|
356225
|
-
const executeCommand = (0,
|
|
356413
|
+
const executeCommand = (0, import_react118.useCallback)(
|
|
356226
356414
|
(cmdType, count) => {
|
|
356227
356415
|
switch (cmdType) {
|
|
356228
356416
|
case CMD_TYPES.DELETE_WORD_FORWARD: {
|
|
@@ -356298,7 +356486,7 @@ function useVim(buffer, onSubmit) {
|
|
|
356298
356486
|
},
|
|
356299
356487
|
[buffer, updateMode]
|
|
356300
356488
|
);
|
|
356301
|
-
const handleInsertModeInput = (0,
|
|
356489
|
+
const handleInsertModeInput = (0, import_react118.useCallback)(
|
|
356302
356490
|
(normalizedKey) => {
|
|
356303
356491
|
if (normalizedKey.name === "escape") {
|
|
356304
356492
|
buffer.vimEscapeInsertMode();
|
|
@@ -356329,7 +356517,7 @@ function useVim(buffer, onSubmit) {
|
|
|
356329
356517
|
},
|
|
356330
356518
|
[buffer, dispatch, updateMode, onSubmit]
|
|
356331
356519
|
);
|
|
356332
|
-
const normalizeKey = (0,
|
|
356520
|
+
const normalizeKey = (0, import_react118.useCallback)(
|
|
356333
356521
|
(key) => ({
|
|
356334
356522
|
name: key.name || "",
|
|
356335
356523
|
sequence: key.sequence || "",
|
|
@@ -356340,7 +356528,7 @@ function useVim(buffer, onSubmit) {
|
|
|
356340
356528
|
}),
|
|
356341
356529
|
[]
|
|
356342
356530
|
);
|
|
356343
|
-
const handleChangeMovement = (0,
|
|
356531
|
+
const handleChangeMovement = (0, import_react118.useCallback)(
|
|
356344
356532
|
(movement) => {
|
|
356345
356533
|
const count = getCurrentCount();
|
|
356346
356534
|
dispatch({ type: "CLEAR_COUNT" });
|
|
@@ -356361,7 +356549,7 @@ function useVim(buffer, onSubmit) {
|
|
|
356361
356549
|
},
|
|
356362
356550
|
[getCurrentCount, dispatch, buffer, updateMode]
|
|
356363
356551
|
);
|
|
356364
|
-
const handleOperatorMotion = (0,
|
|
356552
|
+
const handleOperatorMotion = (0, import_react118.useCallback)(
|
|
356365
356553
|
(operator2, motion) => {
|
|
356366
356554
|
const count = getCurrentCount();
|
|
356367
356555
|
const commandMap = {
|
|
@@ -356388,7 +356576,7 @@ function useVim(buffer, onSubmit) {
|
|
|
356388
356576
|
},
|
|
356389
356577
|
[getCurrentCount, executeCommand, dispatch]
|
|
356390
356578
|
);
|
|
356391
|
-
const handleInput = (0,
|
|
356579
|
+
const handleInput = (0, import_react118.useCallback)(
|
|
356392
356580
|
(key) => {
|
|
356393
356581
|
if (!vimEnabled) {
|
|
356394
356582
|
return false;
|
|
@@ -356688,14 +356876,14 @@ __name(useVim, "useVim");
|
|
|
356688
356876
|
|
|
356689
356877
|
// packages/cli/src/ui/hooks/useBracketedPaste.ts
|
|
356690
356878
|
init_esbuild_shims();
|
|
356691
|
-
var
|
|
356879
|
+
var import_react119 = __toESM(require_react(), 1);
|
|
356692
356880
|
var ENABLE_BRACKETED_PASTE = "\x1B[?2004h";
|
|
356693
356881
|
var DISABLE_BRACKETED_PASTE = "\x1B[?2004l";
|
|
356694
356882
|
var useBracketedPaste = /* @__PURE__ */ __name(() => {
|
|
356695
356883
|
const cleanup = /* @__PURE__ */ __name(() => {
|
|
356696
356884
|
process.stdout.write(DISABLE_BRACKETED_PASTE);
|
|
356697
356885
|
}, "cleanup");
|
|
356698
|
-
(0,
|
|
356886
|
+
(0, import_react119.useEffect)(() => {
|
|
356699
356887
|
process.stdout.write(ENABLE_BRACKETED_PASTE);
|
|
356700
356888
|
process.on("exit", cleanup);
|
|
356701
356889
|
process.on("SIGINT", cleanup);
|
|
@@ -356714,13 +356902,13 @@ init_esbuild_shims();
|
|
|
356714
356902
|
|
|
356715
356903
|
// packages/cli/src/ui/hooks/useTimer.ts
|
|
356716
356904
|
init_esbuild_shims();
|
|
356717
|
-
var
|
|
356905
|
+
var import_react120 = __toESM(require_react(), 1);
|
|
356718
356906
|
var useTimer = /* @__PURE__ */ __name((isActive, resetKey) => {
|
|
356719
|
-
const [elapsedTime, setElapsedTime] = (0,
|
|
356720
|
-
const timerRef = (0,
|
|
356721
|
-
const prevResetKeyRef = (0,
|
|
356722
|
-
const prevIsActiveRef = (0,
|
|
356723
|
-
(0,
|
|
356907
|
+
const [elapsedTime, setElapsedTime] = (0, import_react120.useState)(0);
|
|
356908
|
+
const timerRef = (0, import_react120.useRef)(null);
|
|
356909
|
+
const prevResetKeyRef = (0, import_react120.useRef)(resetKey);
|
|
356910
|
+
const prevIsActiveRef = (0, import_react120.useRef)(isActive);
|
|
356911
|
+
(0, import_react120.useEffect)(() => {
|
|
356724
356912
|
let shouldResetTime = false;
|
|
356725
356913
|
if (prevResetKeyRef.current !== resetKey) {
|
|
356726
356914
|
shouldResetTime = true;
|
|
@@ -356758,7 +356946,7 @@ var useTimer = /* @__PURE__ */ __name((isActive, resetKey) => {
|
|
|
356758
356946
|
|
|
356759
356947
|
// packages/cli/src/ui/hooks/usePhraseCycler.ts
|
|
356760
356948
|
init_esbuild_shims();
|
|
356761
|
-
var
|
|
356949
|
+
var import_react121 = __toESM(require_react(), 1);
|
|
356762
356950
|
var WITTY_LOADING_PHRASES = [
|
|
356763
356951
|
"I'm Feeling Lucky",
|
|
356764
356952
|
"Shipping awesomeness... ",
|
|
@@ -356892,15 +357080,15 @@ var WITTY_LOADING_PHRASES = [
|
|
|
356892
357080
|
];
|
|
356893
357081
|
var PHRASE_CHANGE_INTERVAL_MS = 15e3;
|
|
356894
357082
|
var usePhraseCycler = /* @__PURE__ */ __name((isActive, isWaiting, customPhrases) => {
|
|
356895
|
-
const loadingPhrases = (0,
|
|
357083
|
+
const loadingPhrases = (0, import_react121.useMemo)(
|
|
356896
357084
|
() => customPhrases && customPhrases.length > 0 ? customPhrases : WITTY_LOADING_PHRASES.map((phrase) => t2(phrase)),
|
|
356897
357085
|
[customPhrases]
|
|
356898
357086
|
);
|
|
356899
|
-
const [currentLoadingPhrase, setCurrentLoadingPhrase] = (0,
|
|
357087
|
+
const [currentLoadingPhrase, setCurrentLoadingPhrase] = (0, import_react121.useState)(
|
|
356900
357088
|
loadingPhrases[0]
|
|
356901
357089
|
);
|
|
356902
|
-
const phraseIntervalRef = (0,
|
|
356903
|
-
(0,
|
|
357090
|
+
const phraseIntervalRef = (0, import_react121.useRef)(null);
|
|
357091
|
+
(0, import_react121.useEffect)(() => {
|
|
356904
357092
|
if (isWaiting) {
|
|
356905
357093
|
setCurrentLoadingPhrase(t2("Waiting for user confirmation..."));
|
|
356906
357094
|
if (phraseIntervalRef.current) {
|
|
@@ -356937,9 +357125,9 @@ var usePhraseCycler = /* @__PURE__ */ __name((isActive, isWaiting, customPhrases
|
|
|
356937
357125
|
}, "usePhraseCycler");
|
|
356938
357126
|
|
|
356939
357127
|
// packages/cli/src/ui/hooks/useLoadingIndicator.ts
|
|
356940
|
-
var
|
|
357128
|
+
var import_react122 = __toESM(require_react(), 1);
|
|
356941
357129
|
var useLoadingIndicator = /* @__PURE__ */ __name((streamingState, customWittyPhrases) => {
|
|
356942
|
-
const [timerResetKey, setTimerResetKey] = (0,
|
|
357130
|
+
const [timerResetKey, setTimerResetKey] = (0, import_react122.useState)(0);
|
|
356943
357131
|
const isTimerActive = streamingState === "responding" /* Responding */;
|
|
356944
357132
|
const elapsedTimeFromTimer = useTimer(isTimerActive, timerResetKey);
|
|
356945
357133
|
const isPhraseCyclingActive = streamingState === "responding" /* Responding */;
|
|
@@ -356949,9 +357137,9 @@ var useLoadingIndicator = /* @__PURE__ */ __name((streamingState, customWittyPhr
|
|
|
356949
357137
|
isWaiting,
|
|
356950
357138
|
customWittyPhrases
|
|
356951
357139
|
);
|
|
356952
|
-
const [retainedElapsedTime, setRetainedElapsedTime] = (0,
|
|
356953
|
-
const prevStreamingStateRef = (0,
|
|
356954
|
-
(0,
|
|
357140
|
+
const [retainedElapsedTime, setRetainedElapsedTime] = (0, import_react122.useState)(0);
|
|
357141
|
+
const prevStreamingStateRef = (0, import_react122.useRef)(null);
|
|
357142
|
+
(0, import_react122.useEffect)(() => {
|
|
356955
357143
|
if (prevStreamingStateRef.current === "waiting_for_confirmation" /* WaitingForConfirmation */ && streamingState === "responding" /* Responding */) {
|
|
356956
357144
|
setTimerResetKey((prevKey) => prevKey + 1);
|
|
356957
357145
|
setRetainedElapsedTime(0);
|
|
@@ -356971,20 +357159,20 @@ var useLoadingIndicator = /* @__PURE__ */ __name((streamingState, customWittyPhr
|
|
|
356971
357159
|
|
|
356972
357160
|
// packages/cli/src/ui/hooks/useFolderTrust.ts
|
|
356973
357161
|
init_esbuild_shims();
|
|
356974
|
-
var
|
|
357162
|
+
var import_react123 = __toESM(require_react(), 1);
|
|
356975
357163
|
import * as process40 from "node:process";
|
|
356976
357164
|
var useFolderTrust = /* @__PURE__ */ __name((settings, onTrustChange) => {
|
|
356977
|
-
const [isTrusted, setIsTrusted] = (0,
|
|
356978
|
-
const [isFolderTrustDialogOpen, setIsFolderTrustDialogOpen] = (0,
|
|
356979
|
-
const [isRestarting, setIsRestarting] = (0,
|
|
357165
|
+
const [isTrusted, setIsTrusted] = (0, import_react123.useState)(void 0);
|
|
357166
|
+
const [isFolderTrustDialogOpen, setIsFolderTrustDialogOpen] = (0, import_react123.useState)(false);
|
|
357167
|
+
const [isRestarting, setIsRestarting] = (0, import_react123.useState)(false);
|
|
356980
357168
|
const folderTrust = settings.merged.security?.folderTrust?.enabled;
|
|
356981
|
-
(0,
|
|
357169
|
+
(0, import_react123.useEffect)(() => {
|
|
356982
357170
|
const { isTrusted: trusted } = isWorkspaceTrusted(settings.merged);
|
|
356983
357171
|
setIsTrusted(trusted);
|
|
356984
357172
|
setIsFolderTrustDialogOpen(trusted === void 0);
|
|
356985
357173
|
onTrustChange(trusted);
|
|
356986
357174
|
}, [folderTrust, onTrustChange, settings.merged]);
|
|
356987
|
-
const handleFolderTrustSelect = (0,
|
|
357175
|
+
const handleFolderTrustSelect = (0, import_react123.useCallback)(
|
|
356988
357176
|
(choice2) => {
|
|
356989
357177
|
const trustedFolders = loadTrustedFolders();
|
|
356990
357178
|
const cwd7 = process40.cwd();
|
|
@@ -360117,27 +360305,27 @@ __name(setUpdateHandler, "setUpdateHandler");
|
|
|
360117
360305
|
|
|
360118
360306
|
// packages/cli/src/ui/hooks/useMessageQueue.ts
|
|
360119
360307
|
init_esbuild_shims();
|
|
360120
|
-
var
|
|
360308
|
+
var import_react124 = __toESM(require_react(), 1);
|
|
360121
360309
|
function useMessageQueue({
|
|
360122
360310
|
isConfigInitialized,
|
|
360123
360311
|
streamingState,
|
|
360124
360312
|
submitQuery
|
|
360125
360313
|
}) {
|
|
360126
|
-
const [messageQueue, setMessageQueue] = (0,
|
|
360127
|
-
const addMessage = (0,
|
|
360314
|
+
const [messageQueue, setMessageQueue] = (0, import_react124.useState)([]);
|
|
360315
|
+
const addMessage = (0, import_react124.useCallback)((message2) => {
|
|
360128
360316
|
const trimmedMessage = message2.trim();
|
|
360129
360317
|
if (trimmedMessage.length > 0) {
|
|
360130
360318
|
setMessageQueue((prev) => [...prev, trimmedMessage]);
|
|
360131
360319
|
}
|
|
360132
360320
|
}, []);
|
|
360133
|
-
const clearQueue = (0,
|
|
360321
|
+
const clearQueue = (0, import_react124.useCallback)(() => {
|
|
360134
360322
|
setMessageQueue([]);
|
|
360135
360323
|
}, []);
|
|
360136
|
-
const getQueuedMessagesText = (0,
|
|
360324
|
+
const getQueuedMessagesText = (0, import_react124.useCallback)(() => {
|
|
360137
360325
|
if (messageQueue.length === 0) return "";
|
|
360138
360326
|
return messageQueue.join("\n\n");
|
|
360139
360327
|
}, [messageQueue]);
|
|
360140
|
-
(0,
|
|
360328
|
+
(0, import_react124.useEffect)(() => {
|
|
360141
360329
|
if (isConfigInitialized && streamingState === "idle" /* Idle */ && messageQueue.length > 0) {
|
|
360142
360330
|
const combinedMessage = messageQueue.join("\n\n");
|
|
360143
360331
|
setMessageQueue([]);
|
|
@@ -360155,15 +360343,15 @@ __name(useMessageQueue, "useMessageQueue");
|
|
|
360155
360343
|
|
|
360156
360344
|
// packages/cli/src/ui/hooks/useAutoAcceptIndicator.ts
|
|
360157
360345
|
init_esbuild_shims();
|
|
360158
|
-
var
|
|
360346
|
+
var import_react125 = __toESM(require_react(), 1);
|
|
360159
360347
|
function useAutoAcceptIndicator({
|
|
360160
360348
|
config,
|
|
360161
360349
|
addItem,
|
|
360162
360350
|
onApprovalModeChange
|
|
360163
360351
|
}) {
|
|
360164
360352
|
const currentConfigValue = config.getApprovalMode();
|
|
360165
|
-
const [showAutoAcceptIndicator, setShowAutoAcceptIndicator] = (0,
|
|
360166
|
-
(0,
|
|
360353
|
+
const [showAutoAcceptIndicator, setShowAutoAcceptIndicator] = (0, import_react125.useState)(currentConfigValue);
|
|
360354
|
+
(0, import_react125.useEffect)(() => {
|
|
360167
360355
|
setShowAutoAcceptIndicator(currentConfigValue);
|
|
360168
360356
|
}, [currentConfigValue]);
|
|
360169
360357
|
useKeypress(
|
|
@@ -360196,14 +360384,14 @@ __name(useAutoAcceptIndicator, "useAutoAcceptIndicator");
|
|
|
360196
360384
|
|
|
360197
360385
|
// packages/cli/src/ui/hooks/useWorkspaceMigration.ts
|
|
360198
360386
|
init_esbuild_shims();
|
|
360199
|
-
var
|
|
360387
|
+
var import_react126 = __toESM(require_react(), 1);
|
|
360200
360388
|
import process50 from "node:process";
|
|
360201
360389
|
function useWorkspaceMigration(settings) {
|
|
360202
|
-
const [showWorkspaceMigrationDialog, setShowWorkspaceMigrationDialog] = (0,
|
|
360203
|
-
const [workspaceExtensions, setWorkspaceExtensions] = (0,
|
|
360390
|
+
const [showWorkspaceMigrationDialog, setShowWorkspaceMigrationDialog] = (0, import_react126.useState)(false);
|
|
360391
|
+
const [workspaceExtensions, setWorkspaceExtensions] = (0, import_react126.useState)(
|
|
360204
360392
|
[]
|
|
360205
360393
|
);
|
|
360206
|
-
(0,
|
|
360394
|
+
(0, import_react126.useEffect)(() => {
|
|
360207
360395
|
if (!(settings.merged.experimental?.extensionManagement ?? true)) {
|
|
360208
360396
|
return;
|
|
360209
360397
|
}
|
|
@@ -360245,13 +360433,13 @@ __name(useWorkspaceMigration, "useWorkspaceMigration");
|
|
|
360245
360433
|
|
|
360246
360434
|
// packages/cli/src/ui/hooks/useGitBranchName.ts
|
|
360247
360435
|
init_esbuild_shims();
|
|
360248
|
-
var
|
|
360436
|
+
var import_react127 = __toESM(require_react(), 1);
|
|
360249
360437
|
import fs94 from "node:fs";
|
|
360250
360438
|
import fsPromises7 from "node:fs/promises";
|
|
360251
360439
|
import path109 from "node:path";
|
|
360252
360440
|
function useGitBranchName(cwd7) {
|
|
360253
|
-
const [branchName, setBranchName] = (0,
|
|
360254
|
-
const fetchBranchName = (0,
|
|
360441
|
+
const [branchName, setBranchName] = (0, import_react127.useState)(void 0);
|
|
360442
|
+
const fetchBranchName = (0, import_react127.useCallback)(async () => {
|
|
360255
360443
|
try {
|
|
360256
360444
|
if (!isCommandAvailable("git").available) {
|
|
360257
360445
|
return;
|
|
@@ -360276,7 +360464,7 @@ function useGitBranchName(cwd7) {
|
|
|
360276
360464
|
setBranchName(void 0);
|
|
360277
360465
|
}
|
|
360278
360466
|
}, [cwd7, setBranchName]);
|
|
360279
|
-
(0,
|
|
360467
|
+
(0, import_react127.useEffect)(() => {
|
|
360280
360468
|
fetchBranchName();
|
|
360281
360469
|
const gitLogsHeadPath = path109.join(cwd7, ".git", "logs", "HEAD");
|
|
360282
360470
|
let watcher;
|
|
@@ -360302,7 +360490,7 @@ __name(useGitBranchName, "useGitBranchName");
|
|
|
360302
360490
|
|
|
360303
360491
|
// packages/cli/src/ui/hooks/useExtensionUpdates.ts
|
|
360304
360492
|
init_esbuild_shims();
|
|
360305
|
-
var
|
|
360493
|
+
var import_react128 = __toESM(require_react(), 1);
|
|
360306
360494
|
function confirmationRequestsReducer(state, action) {
|
|
360307
360495
|
switch (action.type) {
|
|
360308
360496
|
case "add":
|
|
@@ -360316,15 +360504,15 @@ function confirmationRequestsReducer(state, action) {
|
|
|
360316
360504
|
}
|
|
360317
360505
|
__name(confirmationRequestsReducer, "confirmationRequestsReducer");
|
|
360318
360506
|
var useExtensionUpdates = /* @__PURE__ */ __name((extensions, addItem, cwd7) => {
|
|
360319
|
-
const [extensionsUpdateState, dispatchExtensionStateUpdate] = (0,
|
|
360507
|
+
const [extensionsUpdateState, dispatchExtensionStateUpdate] = (0, import_react128.useReducer)(
|
|
360320
360508
|
extensionUpdatesReducer,
|
|
360321
360509
|
initialExtensionUpdatesState
|
|
360322
360510
|
);
|
|
360323
360511
|
const [
|
|
360324
360512
|
confirmUpdateExtensionRequests,
|
|
360325
360513
|
dispatchConfirmUpdateExtensionRequests
|
|
360326
|
-
] = (0,
|
|
360327
|
-
const addConfirmUpdateExtensionRequest = (0,
|
|
360514
|
+
] = (0, import_react128.useReducer)(confirmationRequestsReducer, []);
|
|
360515
|
+
const addConfirmUpdateExtensionRequest = (0, import_react128.useCallback)(
|
|
360328
360516
|
(original) => {
|
|
360329
360517
|
const wrappedRequest = {
|
|
360330
360518
|
prompt: original.prompt,
|
|
@@ -360343,7 +360531,7 @@ var useExtensionUpdates = /* @__PURE__ */ __name((extensions, addItem, cwd7) =>
|
|
|
360343
360531
|
},
|
|
360344
360532
|
[dispatchConfirmUpdateExtensionRequests]
|
|
360345
360533
|
);
|
|
360346
|
-
(0,
|
|
360534
|
+
(0, import_react128.useEffect)(() => {
|
|
360347
360535
|
(async () => {
|
|
360348
360536
|
await checkForAllExtensionUpdates(
|
|
360349
360537
|
extensions,
|
|
@@ -360351,7 +360539,7 @@ var useExtensionUpdates = /* @__PURE__ */ __name((extensions, addItem, cwd7) =>
|
|
|
360351
360539
|
);
|
|
360352
360540
|
})();
|
|
360353
360541
|
}, [extensions, extensions.length, dispatchExtensionStateUpdate]);
|
|
360354
|
-
(0,
|
|
360542
|
+
(0, import_react128.useEffect)(() => {
|
|
360355
360543
|
if (extensionsUpdateState.batchChecksInProgress > 0) {
|
|
360356
360544
|
return;
|
|
360357
360545
|
}
|
|
@@ -360416,7 +360604,7 @@ var useExtensionUpdates = /* @__PURE__ */ __name((extensions, addItem, cwd7) =>
|
|
|
360416
360604
|
addItem,
|
|
360417
360605
|
cwd7
|
|
360418
360606
|
]);
|
|
360419
|
-
const extensionsUpdateStateComputed = (0,
|
|
360607
|
+
const extensionsUpdateStateComputed = (0, import_react128.useMemo)(() => {
|
|
360420
360608
|
const result = /* @__PURE__ */ new Map();
|
|
360421
360609
|
for (const [
|
|
360422
360610
|
key,
|
|
@@ -360437,13 +360625,13 @@ var useExtensionUpdates = /* @__PURE__ */ __name((extensions, addItem, cwd7) =>
|
|
|
360437
360625
|
|
|
360438
360626
|
// packages/cli/src/ui/hooks/useQuitConfirmation.ts
|
|
360439
360627
|
init_esbuild_shims();
|
|
360440
|
-
var
|
|
360628
|
+
var import_react129 = __toESM(require_react(), 1);
|
|
360441
360629
|
var useQuitConfirmation = /* @__PURE__ */ __name(() => {
|
|
360442
|
-
const [isQuitConfirmationOpen, setIsQuitConfirmationOpen] = (0,
|
|
360443
|
-
const showQuitConfirmation = (0,
|
|
360630
|
+
const [isQuitConfirmationOpen, setIsQuitConfirmationOpen] = (0, import_react129.useState)(false);
|
|
360631
|
+
const showQuitConfirmation = (0, import_react129.useCallback)(() => {
|
|
360444
360632
|
setIsQuitConfirmationOpen(true);
|
|
360445
360633
|
}, []);
|
|
360446
|
-
const handleQuitConfirmationSelect = (0,
|
|
360634
|
+
const handleQuitConfirmationSelect = (0, import_react129.useCallback)((choice2) => {
|
|
360447
360635
|
setIsQuitConfirmationOpen(false);
|
|
360448
360636
|
if (choice2 === "cancel" /* CANCEL */) {
|
|
360449
360637
|
return { shouldQuit: false, action: "cancel" };
|
|
@@ -360465,14 +360653,14 @@ var useQuitConfirmation = /* @__PURE__ */ __name(() => {
|
|
|
360465
360653
|
|
|
360466
360654
|
// packages/cli/src/ui/hooks/useWelcomeBack.ts
|
|
360467
360655
|
init_esbuild_shims();
|
|
360468
|
-
var
|
|
360656
|
+
var import_react130 = __toESM(require_react(), 1);
|
|
360469
360657
|
function useWelcomeBack(config, submitQuery, buffer, settings) {
|
|
360470
|
-
const [welcomeBackInfo, setWelcomeBackInfo] = (0,
|
|
360471
|
-
const [showWelcomeBackDialog, setShowWelcomeBackDialog] = (0,
|
|
360472
|
-
const [welcomeBackChoice, setWelcomeBackChoice] = (0,
|
|
360473
|
-
const [shouldFillInput, setShouldFillInput] = (0,
|
|
360474
|
-
const [inputFillText, setInputFillText] = (0,
|
|
360475
|
-
const checkWelcomeBack = (0,
|
|
360658
|
+
const [welcomeBackInfo, setWelcomeBackInfo] = (0, import_react130.useState)(null);
|
|
360659
|
+
const [showWelcomeBackDialog, setShowWelcomeBackDialog] = (0, import_react130.useState)(false);
|
|
360660
|
+
const [welcomeBackChoice, setWelcomeBackChoice] = (0, import_react130.useState)(null);
|
|
360661
|
+
const [shouldFillInput, setShouldFillInput] = (0, import_react130.useState)(false);
|
|
360662
|
+
const [inputFillText, setInputFillText] = (0, import_react130.useState)(null);
|
|
360663
|
+
const checkWelcomeBack = (0, import_react130.useCallback)(async () => {
|
|
360476
360664
|
if (settings.ui?.enableWelcomeBack === false) {
|
|
360477
360665
|
return;
|
|
360478
360666
|
}
|
|
@@ -360486,7 +360674,7 @@ function useWelcomeBack(config, submitQuery, buffer, settings) {
|
|
|
360486
360674
|
console.debug("Welcome back check failed:", error);
|
|
360487
360675
|
}
|
|
360488
360676
|
}, [settings.ui?.enableWelcomeBack]);
|
|
360489
|
-
const handleWelcomeBackSelection = (0,
|
|
360677
|
+
const handleWelcomeBackSelection = (0, import_react130.useCallback)(
|
|
360490
360678
|
(choice2) => {
|
|
360491
360679
|
setWelcomeBackChoice(choice2);
|
|
360492
360680
|
setShowWelcomeBackDialog(false);
|
|
@@ -360498,21 +360686,21 @@ function useWelcomeBack(config, submitQuery, buffer, settings) {
|
|
|
360498
360686
|
},
|
|
360499
360687
|
[welcomeBackInfo]
|
|
360500
360688
|
);
|
|
360501
|
-
const handleWelcomeBackClose = (0,
|
|
360689
|
+
const handleWelcomeBackClose = (0, import_react130.useCallback)(() => {
|
|
360502
360690
|
setWelcomeBackChoice("restart");
|
|
360503
360691
|
setShowWelcomeBackDialog(false);
|
|
360504
360692
|
}, []);
|
|
360505
|
-
const clearInputFill = (0,
|
|
360693
|
+
const clearInputFill = (0, import_react130.useCallback)(() => {
|
|
360506
360694
|
setShouldFillInput(false);
|
|
360507
360695
|
setInputFillText(null);
|
|
360508
360696
|
}, []);
|
|
360509
|
-
(0,
|
|
360697
|
+
(0, import_react130.useEffect)(() => {
|
|
360510
360698
|
if (shouldFillInput && inputFillText) {
|
|
360511
360699
|
buffer.setText(inputFillText);
|
|
360512
360700
|
clearInputFill();
|
|
360513
360701
|
}
|
|
360514
360702
|
}, [shouldFillInput, inputFillText, buffer, clearInputFill]);
|
|
360515
|
-
(0,
|
|
360703
|
+
(0, import_react130.useEffect)(() => {
|
|
360516
360704
|
checkWelcomeBack();
|
|
360517
360705
|
}, [checkWelcomeBack]);
|
|
360518
360706
|
return {
|
|
@@ -360533,9 +360721,9 @@ __name(useWelcomeBack, "useWelcomeBack");
|
|
|
360533
360721
|
|
|
360534
360722
|
// packages/cli/src/ui/hooks/useDialogClose.ts
|
|
360535
360723
|
init_esbuild_shims();
|
|
360536
|
-
var
|
|
360724
|
+
var import_react131 = __toESM(require_react(), 1);
|
|
360537
360725
|
function useDialogClose(options2) {
|
|
360538
|
-
const closeAnyOpenDialog = (0,
|
|
360726
|
+
const closeAnyOpenDialog = (0, import_react131.useCallback)(() => {
|
|
360539
360727
|
if (options2.isThemeDialogOpen) {
|
|
360540
360728
|
options2.handleThemeSelect(void 0, "User" /* User */);
|
|
360541
360729
|
return true;
|
|
@@ -360567,14 +360755,14 @@ __name(useDialogClose, "useDialogClose");
|
|
|
360567
360755
|
|
|
360568
360756
|
// packages/cli/src/ui/hooks/useInitializationAuthError.ts
|
|
360569
360757
|
init_esbuild_shims();
|
|
360570
|
-
var
|
|
360758
|
+
var import_react132 = __toESM(require_react(), 1);
|
|
360571
360759
|
var useInitializationAuthError = /* @__PURE__ */ __name((authError, onAuthError) => {
|
|
360572
|
-
const hasHandled = (0,
|
|
360573
|
-
const authErrorRef = (0,
|
|
360574
|
-
const onAuthErrorRef = (0,
|
|
360760
|
+
const hasHandled = (0, import_react132.useRef)(false);
|
|
360761
|
+
const authErrorRef = (0, import_react132.useRef)(authError);
|
|
360762
|
+
const onAuthErrorRef = (0, import_react132.useRef)(onAuthError);
|
|
360575
360763
|
authErrorRef.current = authError;
|
|
360576
360764
|
onAuthErrorRef.current = onAuthError;
|
|
360577
|
-
(0,
|
|
360765
|
+
(0, import_react132.useEffect)(() => {
|
|
360578
360766
|
if (hasHandled.current) {
|
|
360579
360767
|
return;
|
|
360580
360768
|
}
|
|
@@ -360587,13 +360775,13 @@ var useInitializationAuthError = /* @__PURE__ */ __name((authError, onAuthError)
|
|
|
360587
360775
|
|
|
360588
360776
|
// packages/cli/src/ui/hooks/useSubagentCreateDialog.ts
|
|
360589
360777
|
init_esbuild_shims();
|
|
360590
|
-
var
|
|
360778
|
+
var import_react133 = __toESM(require_react(), 1);
|
|
360591
360779
|
function useSubagentCreateDialog() {
|
|
360592
|
-
const [isSubagentCreateDialogOpen, setIsSubagentCreateDialogOpen] = (0,
|
|
360593
|
-
const openSubagentCreateDialog = (0,
|
|
360780
|
+
const [isSubagentCreateDialogOpen, setIsSubagentCreateDialogOpen] = (0, import_react133.useState)(false);
|
|
360781
|
+
const openSubagentCreateDialog = (0, import_react133.useCallback)(() => {
|
|
360594
360782
|
setIsSubagentCreateDialogOpen(true);
|
|
360595
360783
|
}, []);
|
|
360596
|
-
const closeSubagentCreateDialog = (0,
|
|
360784
|
+
const closeSubagentCreateDialog = (0, import_react133.useCallback)(() => {
|
|
360597
360785
|
setIsSubagentCreateDialogOpen(false);
|
|
360598
360786
|
}, []);
|
|
360599
360787
|
return {
|
|
@@ -360606,13 +360794,13 @@ __name(useSubagentCreateDialog, "useSubagentCreateDialog");
|
|
|
360606
360794
|
|
|
360607
360795
|
// packages/cli/src/ui/hooks/useAgentsManagerDialog.ts
|
|
360608
360796
|
init_esbuild_shims();
|
|
360609
|
-
var
|
|
360797
|
+
var import_react134 = __toESM(require_react(), 1);
|
|
360610
360798
|
var useAgentsManagerDialog = /* @__PURE__ */ __name(() => {
|
|
360611
|
-
const [isAgentsManagerDialogOpen, setIsAgentsManagerDialogOpen] = (0,
|
|
360612
|
-
const openAgentsManagerDialog = (0,
|
|
360799
|
+
const [isAgentsManagerDialogOpen, setIsAgentsManagerDialogOpen] = (0, import_react134.useState)(false);
|
|
360800
|
+
const openAgentsManagerDialog = (0, import_react134.useCallback)(() => {
|
|
360613
360801
|
setIsAgentsManagerDialogOpen(true);
|
|
360614
360802
|
}, []);
|
|
360615
|
-
const closeAgentsManagerDialog = (0,
|
|
360803
|
+
const closeAgentsManagerDialog = (0, import_react134.useCallback)(() => {
|
|
360616
360804
|
setIsAgentsManagerDialogOpen(false);
|
|
360617
360805
|
}, []);
|
|
360618
360806
|
return {
|
|
@@ -360624,7 +360812,7 @@ var useAgentsManagerDialog = /* @__PURE__ */ __name(() => {
|
|
|
360624
360812
|
|
|
360625
360813
|
// packages/cli/src/ui/hooks/useAttentionNotifications.ts
|
|
360626
360814
|
init_esbuild_shims();
|
|
360627
|
-
var
|
|
360815
|
+
var import_react135 = __toESM(require_react(), 1);
|
|
360628
360816
|
|
|
360629
360817
|
// packages/cli/src/utils/attentionNotification.ts
|
|
360630
360818
|
init_esbuild_shims();
|
|
@@ -360652,9 +360840,9 @@ var useAttentionNotifications = /* @__PURE__ */ __name(({
|
|
|
360652
360840
|
streamingState,
|
|
360653
360841
|
elapsedTime
|
|
360654
360842
|
}) => {
|
|
360655
|
-
const awaitingNotificationSentRef = (0,
|
|
360656
|
-
const respondingElapsedRef = (0,
|
|
360657
|
-
(0,
|
|
360843
|
+
const awaitingNotificationSentRef = (0, import_react135.useRef)(false);
|
|
360844
|
+
const respondingElapsedRef = (0, import_react135.useRef)(0);
|
|
360845
|
+
(0, import_react135.useEffect)(() => {
|
|
360658
360846
|
if (streamingState === "waiting_for_confirmation" /* WaitingForConfirmation */ && !isFocused && !awaitingNotificationSentRef.current) {
|
|
360659
360847
|
notifyTerminalAttention("tool_approval" /* ToolApproval */);
|
|
360660
360848
|
awaitingNotificationSentRef.current = true;
|
|
@@ -360663,7 +360851,7 @@ var useAttentionNotifications = /* @__PURE__ */ __name(({
|
|
|
360663
360851
|
awaitingNotificationSentRef.current = false;
|
|
360664
360852
|
}
|
|
360665
360853
|
}, [isFocused, streamingState]);
|
|
360666
|
-
(0,
|
|
360854
|
+
(0, import_react135.useEffect)(() => {
|
|
360667
360855
|
if (streamingState === "responding" /* Responding */) {
|
|
360668
360856
|
respondingElapsedRef.current = elapsedTime;
|
|
360669
360857
|
return;
|
|
@@ -360699,25 +360887,25 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360699
360887
|
const { settings, config, initializationResult } = props;
|
|
360700
360888
|
const historyManager = useHistory();
|
|
360701
360889
|
useMemoryMonitor(historyManager);
|
|
360702
|
-
const [corgiMode, setCorgiMode] = (0,
|
|
360703
|
-
const [debugMessage, setDebugMessage] = (0,
|
|
360704
|
-
const [quittingMessages, setQuittingMessages] = (0,
|
|
360705
|
-
const [themeError, setThemeError] = (0,
|
|
360890
|
+
const [corgiMode, setCorgiMode] = (0, import_react136.useState)(false);
|
|
360891
|
+
const [debugMessage, setDebugMessage] = (0, import_react136.useState)("");
|
|
360892
|
+
const [quittingMessages, setQuittingMessages] = (0, import_react136.useState)(null);
|
|
360893
|
+
const [themeError, setThemeError] = (0, import_react136.useState)(
|
|
360706
360894
|
initializationResult.themeError
|
|
360707
360895
|
);
|
|
360708
|
-
const [isProcessing, setIsProcessing] = (0,
|
|
360709
|
-
const [embeddedShellFocused, setEmbeddedShellFocused] = (0,
|
|
360710
|
-
const [OSAMdFileCount, setOSAMdFileCount] = (0,
|
|
360896
|
+
const [isProcessing, setIsProcessing] = (0, import_react136.useState)(false);
|
|
360897
|
+
const [embeddedShellFocused, setEmbeddedShellFocused] = (0, import_react136.useState)(false);
|
|
360898
|
+
const [OSAMdFileCount, setOSAMdFileCount] = (0, import_react136.useState)(
|
|
360711
360899
|
initializationResult.OSAMdFileCount
|
|
360712
360900
|
);
|
|
360713
|
-
const [shellModeActive, setShellModeActive] = (0,
|
|
360714
|
-
const [modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError] = (0,
|
|
360715
|
-
const [historyRemountKey, setHistoryRemountKey] = (0,
|
|
360716
|
-
const [updateInfo, setUpdateInfo] = (0,
|
|
360717
|
-
const [isTrustedFolder, setIsTrustedFolder] = (0,
|
|
360901
|
+
const [shellModeActive, setShellModeActive] = (0, import_react136.useState)(false);
|
|
360902
|
+
const [modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError] = (0, import_react136.useState)(false);
|
|
360903
|
+
const [historyRemountKey, setHistoryRemountKey] = (0, import_react136.useState)(0);
|
|
360904
|
+
const [updateInfo, setUpdateInfo] = (0, import_react136.useState)(null);
|
|
360905
|
+
const [isTrustedFolder, setIsTrustedFolder] = (0, import_react136.useState)(
|
|
360718
360906
|
config.isTrustedFolder()
|
|
360719
360907
|
);
|
|
360720
|
-
const [systemPromptPreset, setSystemPromptPreset] = (0,
|
|
360908
|
+
const [systemPromptPreset, setSystemPromptPreset] = (0, import_react136.useState)(
|
|
360721
360909
|
null
|
|
360722
360910
|
);
|
|
360723
360911
|
const extensions = config.getExtensions();
|
|
@@ -360732,38 +360920,38 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360732
360920
|
historyManager.addItem,
|
|
360733
360921
|
config.getWorkingDir()
|
|
360734
360922
|
);
|
|
360735
|
-
const [isPermissionsDialogOpen, setPermissionsDialogOpen] = (0,
|
|
360736
|
-
const openPermissionsDialog = (0,
|
|
360923
|
+
const [isPermissionsDialogOpen, setPermissionsDialogOpen] = (0, import_react136.useState)(false);
|
|
360924
|
+
const openPermissionsDialog = (0, import_react136.useCallback)(
|
|
360737
360925
|
() => setPermissionsDialogOpen(true),
|
|
360738
360926
|
[]
|
|
360739
360927
|
);
|
|
360740
|
-
const closePermissionsDialog = (0,
|
|
360928
|
+
const closePermissionsDialog = (0, import_react136.useCallback)(
|
|
360741
360929
|
() => setPermissionsDialogOpen(false),
|
|
360742
360930
|
[]
|
|
360743
360931
|
);
|
|
360744
|
-
const getEffectiveModel2 = (0,
|
|
360932
|
+
const getEffectiveModel2 = (0, import_react136.useCallback)(() => {
|
|
360745
360933
|
if (config.isInFallbackMode()) {
|
|
360746
360934
|
return DEFAULT_OSA_FLASH_MODEL;
|
|
360747
360935
|
}
|
|
360748
360936
|
return config.getModel();
|
|
360749
360937
|
}, [config]);
|
|
360750
|
-
const [currentModel, setCurrentModel] = (0,
|
|
360751
|
-
const [userTier] = (0,
|
|
360752
|
-
const [isConfigInitialized, setConfigInitialized] = (0,
|
|
360938
|
+
const [currentModel, setCurrentModel] = (0, import_react136.useState)(getEffectiveModel2());
|
|
360939
|
+
const [userTier] = (0, import_react136.useState)(void 0);
|
|
360940
|
+
const [isConfigInitialized, setConfigInitialized] = (0, import_react136.useState)(false);
|
|
360753
360941
|
const logger6 = useLogger(config.storage);
|
|
360754
|
-
const [userMessages, setUserMessages] = (0,
|
|
360942
|
+
const [userMessages, setUserMessages] = (0, import_react136.useState)([]);
|
|
360755
360943
|
const { columns: terminalWidth, rows: terminalHeight } = useTerminalSize();
|
|
360756
360944
|
const { stdin, setRawMode } = use_stdin_default();
|
|
360757
360945
|
const { stdout } = use_stdout_default();
|
|
360758
360946
|
const { stats: sessionStats } = useSessionStats();
|
|
360759
360947
|
const branchName = useGitBranchName(config.getTargetDir());
|
|
360760
|
-
const mainControlsRef = (0,
|
|
360761
|
-
const originalTitleRef = (0,
|
|
360948
|
+
const mainControlsRef = (0, import_react136.useRef)(null);
|
|
360949
|
+
const originalTitleRef = (0, import_react136.useRef)(
|
|
360762
360950
|
computeWindowTitle(basename14(config.getTargetDir()))
|
|
360763
360951
|
);
|
|
360764
|
-
const lastTitleRef = (0,
|
|
360952
|
+
const lastTitleRef = (0, import_react136.useRef)(null);
|
|
360765
360953
|
const staticExtraHeight = 3;
|
|
360766
|
-
(0,
|
|
360954
|
+
(0, import_react136.useEffect)(() => {
|
|
360767
360955
|
(async () => {
|
|
360768
360956
|
await config.initialize();
|
|
360769
360957
|
setConfigInitialized(true);
|
|
@@ -360773,11 +360961,11 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360773
360961
|
await ideClient.disconnect();
|
|
360774
360962
|
});
|
|
360775
360963
|
}, [config]);
|
|
360776
|
-
(0,
|
|
360964
|
+
(0, import_react136.useEffect)(
|
|
360777
360965
|
() => setUpdateHandler(historyManager.addItem, setUpdateInfo),
|
|
360778
360966
|
[historyManager.addItem]
|
|
360779
360967
|
);
|
|
360780
|
-
(0,
|
|
360968
|
+
(0, import_react136.useEffect)(() => {
|
|
360781
360969
|
const checkModelChange = /* @__PURE__ */ __name(() => {
|
|
360782
360970
|
const effectiveModel = getEffectiveModel2();
|
|
360783
360971
|
if (effectiveModel !== currentModel) {
|
|
@@ -360793,7 +360981,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360793
360981
|
handleNewMessage,
|
|
360794
360982
|
clearConsoleMessages: clearConsoleMessagesState
|
|
360795
360983
|
} = useConsoleMessages();
|
|
360796
|
-
(0,
|
|
360984
|
+
(0, import_react136.useEffect)(() => {
|
|
360797
360985
|
const consolePatcher = new ConsolePatcher({
|
|
360798
360986
|
onNewMessage: handleNewMessage,
|
|
360799
360987
|
debugMode: config.getDebugMode()
|
|
@@ -360801,13 +360989,13 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360801
360989
|
consolePatcher.patch();
|
|
360802
360990
|
registerCleanup(consolePatcher.cleanup);
|
|
360803
360991
|
}, [handleNewMessage, config]);
|
|
360804
|
-
const { inputWidth, suggestionsWidth } = (0,
|
|
360992
|
+
const { inputWidth, suggestionsWidth } = (0, import_react136.useMemo)(() => {
|
|
360805
360993
|
const { inputWidth: inputWidth2, suggestionsWidth: suggestionsWidth2 } = calculatePromptWidths(terminalWidth);
|
|
360806
360994
|
return { inputWidth: inputWidth2, suggestionsWidth: suggestionsWidth2 };
|
|
360807
360995
|
}, [terminalWidth]);
|
|
360808
360996
|
const mainAreaWidth = Math.floor(terminalWidth * 0.9);
|
|
360809
360997
|
const staticAreaMaxItemHeight = Math.max(terminalHeight * 4, 100);
|
|
360810
|
-
const isValidPath = (0,
|
|
360998
|
+
const isValidPath = (0, import_react136.useCallback)((filePath) => {
|
|
360811
360999
|
try {
|
|
360812
361000
|
return fs95.existsSync(filePath) && fs95.statSync(filePath).isFile();
|
|
360813
361001
|
} catch (_e) {
|
|
@@ -360822,7 +361010,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360822
361010
|
isValidPath,
|
|
360823
361011
|
shellModeActive
|
|
360824
361012
|
});
|
|
360825
|
-
(0,
|
|
361013
|
+
(0, import_react136.useEffect)(() => {
|
|
360826
361014
|
const fetchUserMessages = /* @__PURE__ */ __name(async () => {
|
|
360827
361015
|
const pastMessagesRaw = await logger6?.getPreviousUserMessages() || [];
|
|
360828
361016
|
const currentSessionUserMessages = historyManager.history.filter(
|
|
@@ -360845,7 +361033,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360845
361033
|
}, "fetchUserMessages");
|
|
360846
361034
|
fetchUserMessages();
|
|
360847
361035
|
}, [historyManager.history, logger6]);
|
|
360848
|
-
const refreshStatic = (0,
|
|
361036
|
+
const refreshStatic = (0, import_react136.useCallback)(() => {
|
|
360849
361037
|
stdout.write(base_exports.clearTerminal);
|
|
360850
361038
|
setHistoryRemountKey((prev) => prev + 1);
|
|
360851
361039
|
}, [setHistoryRemountKey, stdout]);
|
|
@@ -360885,7 +361073,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360885
361073
|
setModelSwitchedFromQuotaError
|
|
360886
361074
|
});
|
|
360887
361075
|
useInitializationAuthError(initializationResult.authError, onAuthError);
|
|
360888
|
-
(0,
|
|
361076
|
+
(0, import_react136.useEffect)(() => {
|
|
360889
361077
|
if (settings.merged.security?.auth?.enforcedType && settings.merged.security?.auth.selectedType && settings.merged.security?.auth.enforcedType !== settings.merged.security?.auth.selectedType) {
|
|
360890
361078
|
onAuthError(
|
|
360891
361079
|
t2(
|
|
@@ -360910,7 +361098,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360910
361098
|
settings.merged.security?.auth?.useExternal,
|
|
360911
361099
|
onAuthError
|
|
360912
361100
|
]);
|
|
360913
|
-
const [editorError, setEditorError] = (0,
|
|
361101
|
+
const [editorError, setEditorError] = (0, import_react136.useState)(null);
|
|
360914
361102
|
const {
|
|
360915
361103
|
isEditorDialogOpen,
|
|
360916
361104
|
openEditorDialog,
|
|
@@ -360937,9 +361125,9 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
360937
361125
|
openAgentsManagerDialog,
|
|
360938
361126
|
closeAgentsManagerDialog
|
|
360939
361127
|
} = useAgentsManagerDialog();
|
|
360940
|
-
const [isVisionSwitchDialogOpen, setIsVisionSwitchDialogOpen] = (0,
|
|
360941
|
-
const [visionSwitchResolver, setVisionSwitchResolver] = (0,
|
|
360942
|
-
const slashCommandActions = (0,
|
|
361128
|
+
const [isVisionSwitchDialogOpen, setIsVisionSwitchDialogOpen] = (0, import_react136.useState)(false);
|
|
361129
|
+
const [visionSwitchResolver, setVisionSwitchResolver] = (0, import_react136.useState)(null);
|
|
361130
|
+
const slashCommandActions = (0, import_react136.useMemo)(
|
|
360943
361131
|
() => ({
|
|
360944
361132
|
openAuthDialog,
|
|
360945
361133
|
openThemeDialog,
|
|
@@ -361004,14 +361192,14 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
361004
361192
|
extensionsUpdateStateInternal,
|
|
361005
361193
|
isConfigInitialized
|
|
361006
361194
|
);
|
|
361007
|
-
const handleVisionSwitchRequired = (0,
|
|
361195
|
+
const handleVisionSwitchRequired = (0, import_react136.useCallback)(
|
|
361008
361196
|
async (_query) => new Promise((resolve25, reject) => {
|
|
361009
361197
|
setVisionSwitchResolver({ resolve: resolve25, reject });
|
|
361010
361198
|
setIsVisionSwitchDialogOpen(true);
|
|
361011
361199
|
}),
|
|
361012
361200
|
[]
|
|
361013
361201
|
);
|
|
361014
|
-
const handleVisionSwitchSelect = (0,
|
|
361202
|
+
const handleVisionSwitchSelect = (0, import_react136.useCallback)(
|
|
361015
361203
|
(outcome) => {
|
|
361016
361204
|
setIsVisionSwitchDialogOpen(false);
|
|
361017
361205
|
if (visionSwitchResolver) {
|
|
@@ -361022,10 +361210,10 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
361022
361210
|
},
|
|
361023
361211
|
[visionSwitchResolver]
|
|
361024
361212
|
);
|
|
361025
|
-
const onDebugMessage = (0,
|
|
361213
|
+
const onDebugMessage = (0, import_react136.useCallback)((message2) => {
|
|
361026
361214
|
console.debug(message2);
|
|
361027
361215
|
}, []);
|
|
361028
|
-
const performMemoryRefresh = (0,
|
|
361216
|
+
const performMemoryRefresh = (0, import_react136.useCallback)(async () => {
|
|
361029
361217
|
historyManager.addItem(
|
|
361030
361218
|
{
|
|
361031
361219
|
type: "info" /* INFO */,
|
|
@@ -361076,7 +361264,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
361076
361264
|
console.error("Error refreshing memory:", error);
|
|
361077
361265
|
}
|
|
361078
361266
|
}, [config, historyManager, settings.merged]);
|
|
361079
|
-
const cancelHandlerRef = (0,
|
|
361267
|
+
const cancelHandlerRef = (0, import_react136.useRef)(() => {
|
|
361080
361268
|
});
|
|
361081
361269
|
const {
|
|
361082
361270
|
streamingState,
|
|
@@ -361123,7 +361311,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
361123
361311
|
streamingState,
|
|
361124
361312
|
submitQuery
|
|
361125
361313
|
});
|
|
361126
|
-
const handleFinalSubmit = (0,
|
|
361314
|
+
const handleFinalSubmit = (0, import_react136.useCallback)(
|
|
361127
361315
|
(submittedValue) => {
|
|
361128
361316
|
addMessage(submittedValue);
|
|
361129
361317
|
},
|
|
@@ -361136,7 +361324,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
361136
361324
|
handleWelcomeBackSelection,
|
|
361137
361325
|
handleWelcomeBackClose
|
|
361138
361326
|
} = useWelcomeBack(config, handleFinalSubmit, buffer, settings.merged);
|
|
361139
|
-
cancelHandlerRef.current = (0,
|
|
361327
|
+
cancelHandlerRef.current = (0, import_react136.useCallback)(() => {
|
|
361140
361328
|
const pendingHistoryItems2 = [
|
|
361141
361329
|
...pendingSlashCommandHistoryItems,
|
|
361142
361330
|
...pendingOSAHistoryItems
|
|
@@ -361165,7 +361353,7 @@ ${queuedText}` : queuedText;
|
|
|
361165
361353
|
pendingSlashCommandHistoryItems,
|
|
361166
361354
|
pendingOSAHistoryItems
|
|
361167
361355
|
]);
|
|
361168
|
-
const handleClearScreen = (0,
|
|
361356
|
+
const handleClearScreen = (0, import_react136.useCallback)(() => {
|
|
361169
361357
|
historyManager.clearItems();
|
|
361170
361358
|
clearConsoleMessagesState();
|
|
361171
361359
|
console.clear();
|
|
@@ -361173,8 +361361,8 @@ ${queuedText}` : queuedText;
|
|
|
361173
361361
|
}, [historyManager, clearConsoleMessagesState, refreshStatic]);
|
|
361174
361362
|
const { handleInput: vimHandleInput } = useVim(buffer, handleFinalSubmit);
|
|
361175
361363
|
const isInputActive = !initError && !isProcessing && (streamingState === "idle" /* Idle */ || streamingState === "responding" /* Responding */) && !proQuotaRequest;
|
|
361176
|
-
const [controlsHeight, setControlsHeight] = (0,
|
|
361177
|
-
(0,
|
|
361364
|
+
const [controlsHeight, setControlsHeight] = (0, import_react136.useState)(0);
|
|
361365
|
+
(0, import_react136.useLayoutEffect)(() => {
|
|
361178
361366
|
if (mainControlsRef.current) {
|
|
361179
361367
|
const fullFooterMeasurement = measure_element_default(mainControlsRef.current);
|
|
361180
361368
|
if (fullFooterMeasurement.height > 0) {
|
|
@@ -361197,14 +361385,14 @@ ${queuedText}` : queuedText;
|
|
|
361197
361385
|
});
|
|
361198
361386
|
const isFocused = useFocus();
|
|
361199
361387
|
useBracketedPaste();
|
|
361200
|
-
const contextFileNames = (0,
|
|
361388
|
+
const contextFileNames = (0, import_react136.useMemo)(() => {
|
|
361201
361389
|
const fromSettings = settings.merged.context?.fileName;
|
|
361202
361390
|
return fromSettings ? Array.isArray(fromSettings) ? fromSettings : [fromSettings] : getAllOSAMdFilenames();
|
|
361203
361391
|
}, [settings.merged.context?.fileName]);
|
|
361204
|
-
const initialPrompt = (0,
|
|
361205
|
-
const initialPromptSubmitted = (0,
|
|
361392
|
+
const initialPrompt = (0, import_react136.useMemo)(() => config.getQuestion(), [config]);
|
|
361393
|
+
const initialPromptSubmitted = (0, import_react136.useRef)(false);
|
|
361206
361394
|
const OSAClient2 = config.getOSAClient();
|
|
361207
|
-
(0,
|
|
361395
|
+
(0, import_react136.useEffect)(() => {
|
|
361208
361396
|
if (activePtyId) {
|
|
361209
361397
|
ShellExecutionService.resizePty(
|
|
361210
361398
|
activePtyId,
|
|
@@ -361213,7 +361401,7 @@ ${queuedText}` : queuedText;
|
|
|
361213
361401
|
);
|
|
361214
361402
|
}
|
|
361215
361403
|
}, [terminalWidth, availableTerminalHeight, activePtyId]);
|
|
361216
|
-
(0,
|
|
361404
|
+
(0, import_react136.useEffect)(() => {
|
|
361217
361405
|
if (initialPrompt && isConfigInitialized && !initialPromptSubmitted.current && !isAuthenticating && !isAuthDialogOpen && !isThemeDialogOpen && !isEditorDialogOpen && !showWelcomeBackDialog && !isVisionSwitchDialogOpen && welcomeBackChoice !== "restart" && OSAClient2?.isInitialized?.()) {
|
|
361218
361406
|
handleFinalSubmit(initialPrompt);
|
|
361219
361407
|
initialPromptSubmitted.current = true;
|
|
@@ -361231,9 +361419,9 @@ ${queuedText}` : queuedText;
|
|
|
361231
361419
|
welcomeBackChoice,
|
|
361232
361420
|
OSAClient2
|
|
361233
361421
|
]);
|
|
361234
|
-
const [idePromptAnswered, setIdePromptAnswered] = (0,
|
|
361235
|
-
const [currentIDE, setCurrentIDE] = (0,
|
|
361236
|
-
(0,
|
|
361422
|
+
const [idePromptAnswered, setIdePromptAnswered] = (0, import_react136.useState)(false);
|
|
361423
|
+
const [currentIDE, setCurrentIDE] = (0, import_react136.useState)(null);
|
|
361424
|
+
(0, import_react136.useEffect)(() => {
|
|
361237
361425
|
const getIde = /* @__PURE__ */ __name(async () => {
|
|
361238
361426
|
const ideClient = await IdeClient.getInstance();
|
|
361239
361427
|
const currentIde = ideClient.getCurrentIde();
|
|
@@ -361244,28 +361432,28 @@ ${queuedText}` : queuedText;
|
|
|
361244
361432
|
const shouldShowIdePrompt = Boolean(
|
|
361245
361433
|
currentIDE && !config.getIdeMode() && !settings.merged.ide?.hasSeenNudge && !idePromptAnswered
|
|
361246
361434
|
);
|
|
361247
|
-
const [showErrorDetails, setShowErrorDetails] = (0,
|
|
361248
|
-
const [showToolDescriptions, setShowToolDescriptions] = (0,
|
|
361249
|
-
const [ctrlCPressedOnce, setCtrlCPressedOnce] = (0,
|
|
361250
|
-
const ctrlCTimerRef = (0,
|
|
361251
|
-
const [ctrlDPressedOnce, setCtrlDPressedOnce] = (0,
|
|
361252
|
-
const ctrlDTimerRef = (0,
|
|
361253
|
-
const [constrainHeight, setConstrainHeight] = (0,
|
|
361254
|
-
const [ideContextState, setIdeContextState] = (0,
|
|
361255
|
-
const [showEscapePrompt, setShowEscapePrompt] = (0,
|
|
361256
|
-
const [showIdeRestartPrompt, setShowIdeRestartPrompt] = (0,
|
|
361435
|
+
const [showErrorDetails, setShowErrorDetails] = (0, import_react136.useState)(false);
|
|
361436
|
+
const [showToolDescriptions, setShowToolDescriptions] = (0, import_react136.useState)(false);
|
|
361437
|
+
const [ctrlCPressedOnce, setCtrlCPressedOnce] = (0, import_react136.useState)(false);
|
|
361438
|
+
const ctrlCTimerRef = (0, import_react136.useRef)(null);
|
|
361439
|
+
const [ctrlDPressedOnce, setCtrlDPressedOnce] = (0, import_react136.useState)(false);
|
|
361440
|
+
const ctrlDTimerRef = (0, import_react136.useRef)(null);
|
|
361441
|
+
const [constrainHeight, setConstrainHeight] = (0, import_react136.useState)(true);
|
|
361442
|
+
const [ideContextState, setIdeContextState] = (0, import_react136.useState)();
|
|
361443
|
+
const [showEscapePrompt, setShowEscapePrompt] = (0, import_react136.useState)(false);
|
|
361444
|
+
const [showIdeRestartPrompt, setShowIdeRestartPrompt] = (0, import_react136.useState)(false);
|
|
361257
361445
|
const { isFolderTrustDialogOpen, handleFolderTrustSelect, isRestarting } = useFolderTrust(settings, setIsTrustedFolder);
|
|
361258
361446
|
const {
|
|
361259
361447
|
needsRestart: ideNeedsRestart,
|
|
361260
361448
|
restartReason: ideTrustRestartReason
|
|
361261
361449
|
} = useIdeTrustListener();
|
|
361262
|
-
const isInitialMount = (0,
|
|
361263
|
-
(0,
|
|
361450
|
+
const isInitialMount = (0, import_react136.useRef)(true);
|
|
361451
|
+
(0, import_react136.useEffect)(() => {
|
|
361264
361452
|
if (ideNeedsRestart) {
|
|
361265
361453
|
setShowIdeRestartPrompt(true);
|
|
361266
361454
|
}
|
|
361267
361455
|
}, [ideNeedsRestart]);
|
|
361268
|
-
(0,
|
|
361456
|
+
(0, import_react136.useEffect)(() => {
|
|
361269
361457
|
if (isInitialMount.current) {
|
|
361270
361458
|
isInitialMount.current = false;
|
|
361271
361459
|
return;
|
|
@@ -361277,12 +361465,12 @@ ${queuedText}` : queuedText;
|
|
|
361277
361465
|
clearTimeout(handler);
|
|
361278
361466
|
};
|
|
361279
361467
|
}, [terminalWidth, refreshStatic]);
|
|
361280
|
-
(0,
|
|
361468
|
+
(0, import_react136.useEffect)(() => {
|
|
361281
361469
|
const unsubscribe = ideContextStore.subscribe(setIdeContextState);
|
|
361282
361470
|
setIdeContextState(ideContextStore.get());
|
|
361283
361471
|
return unsubscribe;
|
|
361284
361472
|
}, []);
|
|
361285
|
-
(0,
|
|
361473
|
+
(0, import_react136.useEffect)(() => {
|
|
361286
361474
|
const openDebugConsole = /* @__PURE__ */ __name(() => {
|
|
361287
361475
|
setShowErrorDetails(true);
|
|
361288
361476
|
setConstrainHeight(false);
|
|
@@ -361301,10 +361489,10 @@ ${queuedText}` : queuedText;
|
|
|
361301
361489
|
appEvents.off("log-error" /* LogError */, logErrorHandler);
|
|
361302
361490
|
};
|
|
361303
361491
|
}, [handleNewMessage]);
|
|
361304
|
-
const handleEscapePromptChange = (0,
|
|
361492
|
+
const handleEscapePromptChange = (0, import_react136.useCallback)((showPrompt) => {
|
|
361305
361493
|
setShowEscapePrompt(showPrompt);
|
|
361306
361494
|
}, []);
|
|
361307
|
-
const handleIdePromptComplete = (0,
|
|
361495
|
+
const handleIdePromptComplete = (0, import_react136.useCallback)(
|
|
361308
361496
|
(result) => {
|
|
361309
361497
|
if (result.userSelection === "yes") {
|
|
361310
361498
|
handleSlashCommand2("/ide install");
|
|
@@ -361342,7 +361530,7 @@ ${queuedText}` : queuedText;
|
|
|
361342
361530
|
handleWelcomeBackClose,
|
|
361343
361531
|
quitConfirmationRequest
|
|
361344
361532
|
});
|
|
361345
|
-
const handleExit = (0,
|
|
361533
|
+
const handleExit = (0, import_react136.useCallback)(
|
|
361346
361534
|
(pressedOnce, setPressedOnce, timerRef) => {
|
|
361347
361535
|
if (pressedOnce) {
|
|
361348
361536
|
if (timerRef.current) {
|
|
@@ -361385,7 +361573,7 @@ ${queuedText}` : queuedText;
|
|
|
361385
361573
|
buffer
|
|
361386
361574
|
]
|
|
361387
361575
|
);
|
|
361388
|
-
const handleGlobalKeypress = (0,
|
|
361576
|
+
const handleGlobalKeypress = (0, import_react136.useCallback)(
|
|
361389
361577
|
(key) => {
|
|
361390
361578
|
if (settings.merged.general?.debugKeystrokeLogging) {
|
|
361391
361579
|
console.log("[DEBUG] Keystroke:", JSON.stringify(key));
|
|
@@ -361458,7 +361646,7 @@ ${queuedText}` : queuedText;
|
|
|
361458
361646
|
]
|
|
361459
361647
|
);
|
|
361460
361648
|
useKeypress(handleGlobalKeypress, { isActive: true });
|
|
361461
|
-
(0,
|
|
361649
|
+
(0, import_react136.useEffect)(() => {
|
|
361462
361650
|
if (!settings.merged.ui?.showStatusInTitle || settings.merged.ui?.hideWindowTitle)
|
|
361463
361651
|
return;
|
|
361464
361652
|
let title;
|
|
@@ -361480,23 +361668,23 @@ ${queuedText}` : queuedText;
|
|
|
361480
361668
|
settings.merged.ui?.hideWindowTitle,
|
|
361481
361669
|
stdout
|
|
361482
361670
|
]);
|
|
361483
|
-
const filteredConsoleMessages = (0,
|
|
361671
|
+
const filteredConsoleMessages = (0, import_react136.useMemo)(() => {
|
|
361484
361672
|
if (config.getDebugMode()) {
|
|
361485
361673
|
return consoleMessages;
|
|
361486
361674
|
}
|
|
361487
361675
|
return consoleMessages.filter((msg) => msg.type !== "debug");
|
|
361488
361676
|
}, [consoleMessages, config]);
|
|
361489
|
-
const errorCount = (0,
|
|
361677
|
+
const errorCount = (0, import_react136.useMemo)(
|
|
361490
361678
|
() => filteredConsoleMessages.filter((msg) => msg.type === "error").reduce((total, msg) => total + msg.count, 0),
|
|
361491
361679
|
[filteredConsoleMessages]
|
|
361492
361680
|
);
|
|
361493
361681
|
const nightly = props.version.includes("nightly");
|
|
361494
361682
|
const dialogsVisible = showWelcomeBackDialog || showWorkspaceMigrationDialog || shouldShowIdePrompt || isFolderTrustDialogOpen || !!shellConfirmationRequest || !!confirmationRequest || confirmUpdateExtensionRequests.length > 0 || !!loopDetectionConfirmationRequest || !!quitConfirmationRequest || isThemeDialogOpen || isSettingsDialogOpen || isModelDialogOpen || isVisionSwitchDialogOpen || isPermissionsDialogOpen || isAuthDialogOpen || isAuthenticating || isEditorDialogOpen || showIdeRestartPrompt || !!proQuotaRequest || isSubagentCreateDialogOpen || isAgentsManagerDialogOpen || isApprovalModeDialogOpen;
|
|
361495
|
-
const pendingHistoryItems = (0,
|
|
361683
|
+
const pendingHistoryItems = (0, import_react136.useMemo)(
|
|
361496
361684
|
() => [...pendingSlashCommandHistoryItems, ...pendingOSAHistoryItems],
|
|
361497
361685
|
[pendingSlashCommandHistoryItems, pendingOSAHistoryItems]
|
|
361498
361686
|
);
|
|
361499
|
-
const uiState = (0,
|
|
361687
|
+
const uiState = (0, import_react136.useMemo)(
|
|
361500
361688
|
() => ({
|
|
361501
361689
|
history: historyManager.history,
|
|
361502
361690
|
historyManager,
|
|
@@ -361687,7 +361875,7 @@ ${queuedText}` : queuedText;
|
|
|
361687
361875
|
isAgentsManagerDialogOpen
|
|
361688
361876
|
]
|
|
361689
361877
|
);
|
|
361690
|
-
const uiActions = (0,
|
|
361878
|
+
const uiActions = (0, import_react136.useMemo)(
|
|
361691
361879
|
() => ({
|
|
361692
361880
|
handleThemeSelect,
|
|
361693
361881
|
handleThemeHighlight,
|
|
@@ -361769,9 +361957,9 @@ ${queuedText}` : queuedText;
|
|
|
361769
361957
|
|
|
361770
361958
|
// packages/cli/src/ui/hooks/useKittyKeyboardProtocol.ts
|
|
361771
361959
|
init_esbuild_shims();
|
|
361772
|
-
var
|
|
361960
|
+
var import_react137 = __toESM(require_react(), 1);
|
|
361773
361961
|
function useKittyKeyboardProtocol() {
|
|
361774
|
-
const [status] = (0,
|
|
361962
|
+
const [status] = (0, import_react137.useState)({
|
|
361775
361963
|
supported: isKittyProtocolSupported(),
|
|
361776
361964
|
enabled: isKittyProtocolEnabled(),
|
|
361777
361965
|
checking: false
|
|
@@ -364513,7 +364701,7 @@ async function startInteractiveUI(config, settings, startupWarnings, workspaceRo
|
|
|
364513
364701
|
) });
|
|
364514
364702
|
}, "AppWrapper");
|
|
364515
364703
|
const instance = render_default(
|
|
364516
|
-
process.env["DEBUG"] ? /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
364704
|
+
process.env["DEBUG"] ? /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_react138.default.StrictMode, { children: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(AppWrapper, {}) }) : /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(AppWrapper, {}),
|
|
364517
364705
|
{
|
|
364518
364706
|
exitOnCtrlC: false,
|
|
364519
364707
|
isScreenReaderEnabled: config.getScreenReader()
|