@wengine-ai/llms 2.3.20 → 2.3.23
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/README.md +4 -3
- package/dist/cjs/server.cjs +66 -66
- package/dist/cjs/server.cjs.map +3 -3
- package/dist/esm/server.mjs +70 -70
- package/dist/esm/server.mjs.map +3 -3
- package/package.json +1 -1
package/dist/esm/server.mjs
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
var rC=Object.create;var Qs=Object.defineProperty;var oC=Object.getOwnPropertyDescriptor;var sC=Object.getOwnPropertyNames;var iC=Object.getPrototypeOf,aC=Object.prototype.hasOwnProperty;var re=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Le=(t,e)=>()=>(t&&(e=t(t=0)),e);var X=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Lu=(t,e)=>{for(var n in e)Qs(t,n,{get:e[n],enumerable:!0})},Ah=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of sC(e))!aC.call(t,o)&&o!==n&&Qs(t,o,{get:()=>e[o],enumerable:!(r=oC(e,o))||r.enumerable});return t};var Ln=(t,e,n)=>(n=t!=null?rC(iC(t)):{},Ah(e||!t||!t.__esModule?Qs(n,"default",{value:t,enumerable:!0}):n,t)),uC=t=>Ah(Qs({},"__esModule",{value:!0}),t);var Sh=X((nx,Xs)=>{Xs.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;Xs.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;Xs.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/});var Uu=X((rx,Th)=>{var ju=Sh();Th.exports={isSpaceSeparator(t){return typeof t=="string"&&ju.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||ju.ID_Start.test(t))},isIdContinueChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t>="0"&&t<="9"||t==="$"||t==="_"||t==="\u200C"||t==="\u200D"||ju.ID_Continue.test(t))},isDigit(t){return typeof t=="string"&&/[0-9]/.test(t)},isHexDigit(t){return typeof t=="string"&&/[0-9A-Fa-f]/.test(t)}}});var Oh=X((ox,xh)=>{var We=Uu(),qu,ot,Cn,ei,jn,jt,Ge,Wu,Fo;xh.exports=function(e,n){qu=String(e),ot="start",Cn=[],ei=0,jn=1,jt=0,Ge=void 0,Wu=void 0,Fo=void 0;do Ge=cC(),fC[ot]();while(Ge.type!=="eof");return typeof n=="function"?zu({"":Fo},"",n):Fo};function zu(t,e,n){let r=t[e];if(r!=null&&typeof r=="object")if(Array.isArray(r))for(let o=0;o<r.length;o++){let s=String(o),a=zu(r,s,n);a===void 0?delete r[s]:Object.defineProperty(r,s,{value:a,writable:!0,enumerable:!0,configurable:!0})}else for(let o in r){let s=zu(r,o,n);s===void 0?delete r[o]:Object.defineProperty(r,o,{value:s,writable:!0,enumerable:!0,configurable:!0})}return n.call(t,e,r)}var be,ye,Po,bn,ke;function cC(){for(be="default",ye="",Po=!1,bn=1;;){ke=wn();let t=Dh[be]();if(t)return t}}function wn(){if(qu[ei])return String.fromCodePoint(qu.codePointAt(ei))}function G(){let t=wn();return t===`
|
|
1
|
+
var rC=Object.create;var Qs=Object.defineProperty;var oC=Object.getOwnPropertyDescriptor;var sC=Object.getOwnPropertyNames;var iC=Object.getPrototypeOf,aC=Object.prototype.hasOwnProperty;var re=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Le=(t,e)=>()=>(t&&(e=t(t=0)),e);var X=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Lu=(t,e)=>{for(var n in e)Qs(t,n,{get:e[n],enumerable:!0})},Ah=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of sC(e))!aC.call(t,o)&&o!==n&&Qs(t,o,{get:()=>e[o],enumerable:!(r=oC(e,o))||r.enumerable});return t};var Ln=(t,e,n)=>(n=t!=null?rC(iC(t)):{},Ah(e||!t||!t.__esModule?Qs(n,"default",{value:t,enumerable:!0}):n,t)),uC=t=>Ah(Qs({},"__esModule",{value:!0}),t);var Sh=X((nx,Xs)=>{Xs.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;Xs.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;Xs.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/});var Uu=X((rx,vh)=>{var ju=Sh();vh.exports={isSpaceSeparator(t){return typeof t=="string"&&ju.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||ju.ID_Start.test(t))},isIdContinueChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t>="0"&&t<="9"||t==="$"||t==="_"||t==="\u200C"||t==="\u200D"||ju.ID_Continue.test(t))},isDigit(t){return typeof t=="string"&&/[0-9]/.test(t)},isHexDigit(t){return typeof t=="string"&&/[0-9A-Fa-f]/.test(t)}}});var Oh=X((ox,xh)=>{var We=Uu(),qu,ot,Cn,ei,jn,jt,Ge,Wu,Fo;xh.exports=function(e,n){qu=String(e),ot="start",Cn=[],ei=0,jn=1,jt=0,Ge=void 0,Wu=void 0,Fo=void 0;do Ge=cC(),fC[ot]();while(Ge.type!=="eof");return typeof n=="function"?zu({"":Fo},"",n):Fo};function zu(t,e,n){let r=t[e];if(r!=null&&typeof r=="object")if(Array.isArray(r))for(let o=0;o<r.length;o++){let s=String(o),a=zu(r,s,n);a===void 0?delete r[s]:Object.defineProperty(r,s,{value:a,writable:!0,enumerable:!0,configurable:!0})}else for(let o in r){let s=zu(r,o,n);s===void 0?delete r[o]:Object.defineProperty(r,o,{value:s,writable:!0,enumerable:!0,configurable:!0})}return n.call(t,e,r)}var be,ye,Po,bn,ke;function cC(){for(be="default",ye="",Po=!1,bn=1;;){ke=wn();let t=Dh[be]();if(t)return t}}function wn(){if(qu[ei])return String.fromCodePoint(qu.codePointAt(ei))}function G(){let t=wn();return t===`
|
|
2
2
|
`?(jn++,jt=0):t?jt+=t.length:jt++,t&&(ei+=t.length),t}var Dh={default(){switch(ke){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
|
|
3
3
|
`:case"\r":case"\u2028":case"\u2029":G();return;case"/":G(),be="comment";return;case void 0:return G(),Ne("eof")}if(We.isSpaceSeparator(ke)){G();return}return Dh[ot]()},comment(){switch(ke){case"*":G(),be="multiLineComment";return;case"/":G(),be="singleLineComment";return}throw Be(G())},multiLineComment(){switch(ke){case"*":G(),be="multiLineCommentAsterisk";return;case void 0:throw Be(G())}G()},multiLineCommentAsterisk(){switch(ke){case"*":G();return;case"/":G(),be="default";return;case void 0:throw Be(G())}G(),be="multiLineComment"},singleLineComment(){switch(ke){case`
|
|
4
|
-
`:case"\r":case"\u2028":case"\u2029":G(),be="default";return;case void 0:return G(),Ne("eof")}G()},value(){switch(ke){case"{":case"[":return Ne("punctuator",G());case"n":return G(),ar("ull"),Ne("null",null);case"t":return G(),ar("rue"),Ne("boolean",!0);case"f":return G(),ar("alse"),Ne("boolean",!1);case"-":case"+":G()==="-"&&(bn=-1),be="sign";return;case".":ye=G(),be="decimalPointLeading";return;case"0":ye=G(),be="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":ye=G(),be="decimalInteger";return;case"I":return G(),ar("nfinity"),Ne("numeric",1/0);case"N":return G(),ar("aN"),Ne("numeric",NaN);case'"':case"'":Po=G()==='"',ye="",be="string";return}throw Be(G())},identifierNameStartEscape(){if(ke!=="u")throw Be(G());G();let t=Hu();switch(t){case"$":case"_":break;default:if(!We.isIdStartChar(t))throw
|
|
4
|
+
`:case"\r":case"\u2028":case"\u2029":G(),be="default";return;case void 0:return G(),Ne("eof")}G()},value(){switch(ke){case"{":case"[":return Ne("punctuator",G());case"n":return G(),ar("ull"),Ne("null",null);case"t":return G(),ar("rue"),Ne("boolean",!0);case"f":return G(),ar("alse"),Ne("boolean",!1);case"-":case"+":G()==="-"&&(bn=-1),be="sign";return;case".":ye=G(),be="decimalPointLeading";return;case"0":ye=G(),be="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":ye=G(),be="decimalInteger";return;case"I":return G(),ar("nfinity"),Ne("numeric",1/0);case"N":return G(),ar("aN"),Ne("numeric",NaN);case'"':case"'":Po=G()==='"',ye="",be="string";return}throw Be(G())},identifierNameStartEscape(){if(ke!=="u")throw Be(G());G();let t=Hu();switch(t){case"$":case"_":break;default:if(!We.isIdStartChar(t))throw Th();break}ye+=t,be="identifierName"},identifierName(){switch(ke){case"$":case"_":case"\u200C":case"\u200D":ye+=G();return;case"\\":G(),be="identifierNameEscape";return}if(We.isIdContinueChar(ke)){ye+=G();return}return Ne("identifier",ye)},identifierNameEscape(){if(ke!=="u")throw Be(G());G();let t=Hu();switch(t){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!We.isIdContinueChar(t))throw Th();break}ye+=t,be="identifierName"},sign(){switch(ke){case".":ye=G(),be="decimalPointLeading";return;case"0":ye=G(),be="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":ye=G(),be="decimalInteger";return;case"I":return G(),ar("nfinity"),Ne("numeric",bn*(1/0));case"N":return G(),ar("aN"),Ne("numeric",NaN)}throw Be(G())},zero(){switch(ke){case".":ye+=G(),be="decimalPoint";return;case"e":case"E":ye+=G(),be="decimalExponent";return;case"x":case"X":ye+=G(),be="hexadecimal";return}return Ne("numeric",bn*0)},decimalInteger(){switch(ke){case".":ye+=G(),be="decimalPoint";return;case"e":case"E":ye+=G(),be="decimalExponent";return}if(We.isDigit(ke)){ye+=G();return}return Ne("numeric",bn*Number(ye))},decimalPointLeading(){if(We.isDigit(ke)){ye+=G(),be="decimalFraction";return}throw Be(G())},decimalPoint(){switch(ke){case"e":case"E":ye+=G(),be="decimalExponent";return}if(We.isDigit(ke)){ye+=G(),be="decimalFraction";return}return Ne("numeric",bn*Number(ye))},decimalFraction(){switch(ke){case"e":case"E":ye+=G(),be="decimalExponent";return}if(We.isDigit(ke)){ye+=G();return}return Ne("numeric",bn*Number(ye))},decimalExponent(){switch(ke){case"+":case"-":ye+=G(),be="decimalExponentSign";return}if(We.isDigit(ke)){ye+=G(),be="decimalExponentInteger";return}throw Be(G())},decimalExponentSign(){if(We.isDigit(ke)){ye+=G(),be="decimalExponentInteger";return}throw Be(G())},decimalExponentInteger(){if(We.isDigit(ke)){ye+=G();return}return Ne("numeric",bn*Number(ye))},hexadecimal(){if(We.isHexDigit(ke)){ye+=G(),be="hexadecimalInteger";return}throw Be(G())},hexadecimalInteger(){if(We.isHexDigit(ke)){ye+=G();return}return Ne("numeric",bn*Number(ye))},string(){switch(ke){case"\\":G(),ye+=lC();return;case'"':if(Po)return G(),Ne("string",ye);ye+=G();return;case"'":if(!Po)return G(),Ne("string",ye);ye+=G();return;case`
|
|
5
5
|
`:case"\r":throw Be(G());case"\u2028":case"\u2029":hC(ke);break;case void 0:throw Be(G())}ye+=G()},start(){switch(ke){case"{":case"[":return Ne("punctuator",G())}be="value"},beforePropertyName(){switch(ke){case"$":case"_":ye=G(),be="identifierName";return;case"\\":G(),be="identifierNameStartEscape";return;case"}":return Ne("punctuator",G());case'"':case"'":Po=G()==='"',be="string";return}if(We.isIdStartChar(ke)){ye+=G(),be="identifierName";return}throw Be(G())},afterPropertyName(){if(ke===":")return Ne("punctuator",G());throw Be(G())},beforePropertyValue(){be="value"},afterPropertyValue(){switch(ke){case",":case"}":return Ne("punctuator",G())}throw Be(G())},beforeArrayValue(){if(ke==="]")return Ne("punctuator",G());be="value"},afterArrayValue(){switch(ke){case",":case"]":return Ne("punctuator",G())}throw Be(G())},end(){throw Be(G())}};function Ne(t,e){return{type:t,value:e,line:jn,column:jt}}function ar(t){for(let e of t){if(wn()!==e)throw Be(G());G()}}function lC(){switch(wn()){case"b":return G(),"\b";case"f":return G(),"\f";case"n":return G(),`
|
|
6
6
|
`;case"r":return G(),"\r";case"t":return G()," ";case"v":return G(),"\v";case"0":if(G(),We.isDigit(wn()))throw Be(G());return"\0";case"x":return G(),dC();case"u":return G(),Hu();case`
|
|
7
7
|
`:case"\u2028":case"\u2029":return G(),"";case"\r":return G(),wn()===`
|
|
8
|
-
`&&G(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw Be(G());case void 0:throw Be(G())}return G()}function dC(){let t="",e=wn();if(!We.isHexDigit(e)||(t+=G(),e=wn(),!We.isHexDigit(e)))throw Be(G());return t+=G(),String.fromCodePoint(parseInt(t,16))}function Hu(){let t="",e=4;for(;e-- >0;){let n=wn();if(!We.isHexDigit(n))throw Be(G());t+=G()}return String.fromCodePoint(parseInt(t,16))}var fC={start(){if(Ge.type==="eof")throw ur();$u()},beforePropertyName(){switch(Ge.type){case"identifier":case"string":Wu=Ge.value,ot="afterPropertyName";return;case"punctuator":Zs();return;case"eof":throw ur()}},afterPropertyName(){if(Ge.type==="eof")throw ur();ot="beforePropertyValue"},beforePropertyValue(){if(Ge.type==="eof")throw ur();$u()},beforeArrayValue(){if(Ge.type==="eof")throw ur();if(Ge.type==="punctuator"&&Ge.value==="]"){Zs();return}$u()},afterPropertyValue(){if(Ge.type==="eof")throw ur();switch(Ge.value){case",":ot="beforePropertyName";return;case"}":Zs()}},afterArrayValue(){if(Ge.type==="eof")throw ur();switch(Ge.value){case",":ot="beforeArrayValue";return;case"]":Zs()}},end(){}};function $u(){let t;switch(Ge.type){case"punctuator":switch(Ge.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=Ge.value;break}if(Fo===void 0)Fo=t;else{let e=Cn[Cn.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,Wu,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")Cn.push(t),Array.isArray(t)?ot="beforeArrayValue":ot="beforePropertyName";else{let e=Cn[Cn.length-1];e==null?ot="end":Array.isArray(e)?ot="afterArrayValue":ot="afterPropertyValue"}}function Zs(){Cn.pop();let t=Cn[Cn.length-1];t==null?ot="end":Array.isArray(t)?ot="afterArrayValue":ot="afterPropertyValue"}function Be(t){return ti(t===void 0?`JSON5: invalid end of input at ${jn}:${jt}`:`JSON5: invalid character '${Rh(t)}' at ${jn}:${jt}`)}function ur(){return ti(`JSON5: invalid end of input at ${jn}:${jt}`)}function
|
|
9
|
-
`+s;S=E.join(
|
|
8
|
+
`&&G(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw Be(G());case void 0:throw Be(G())}return G()}function dC(){let t="",e=wn();if(!We.isHexDigit(e)||(t+=G(),e=wn(),!We.isHexDigit(e)))throw Be(G());return t+=G(),String.fromCodePoint(parseInt(t,16))}function Hu(){let t="",e=4;for(;e-- >0;){let n=wn();if(!We.isHexDigit(n))throw Be(G());t+=G()}return String.fromCodePoint(parseInt(t,16))}var fC={start(){if(Ge.type==="eof")throw ur();$u()},beforePropertyName(){switch(Ge.type){case"identifier":case"string":Wu=Ge.value,ot="afterPropertyName";return;case"punctuator":Zs();return;case"eof":throw ur()}},afterPropertyName(){if(Ge.type==="eof")throw ur();ot="beforePropertyValue"},beforePropertyValue(){if(Ge.type==="eof")throw ur();$u()},beforeArrayValue(){if(Ge.type==="eof")throw ur();if(Ge.type==="punctuator"&&Ge.value==="]"){Zs();return}$u()},afterPropertyValue(){if(Ge.type==="eof")throw ur();switch(Ge.value){case",":ot="beforePropertyName";return;case"}":Zs()}},afterArrayValue(){if(Ge.type==="eof")throw ur();switch(Ge.value){case",":ot="beforeArrayValue";return;case"]":Zs()}},end(){}};function $u(){let t;switch(Ge.type){case"punctuator":switch(Ge.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=Ge.value;break}if(Fo===void 0)Fo=t;else{let e=Cn[Cn.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,Wu,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")Cn.push(t),Array.isArray(t)?ot="beforeArrayValue":ot="beforePropertyName";else{let e=Cn[Cn.length-1];e==null?ot="end":Array.isArray(e)?ot="afterArrayValue":ot="afterPropertyValue"}}function Zs(){Cn.pop();let t=Cn[Cn.length-1];t==null?ot="end":Array.isArray(t)?ot="afterArrayValue":ot="afterPropertyValue"}function Be(t){return ti(t===void 0?`JSON5: invalid end of input at ${jn}:${jt}`:`JSON5: invalid character '${Rh(t)}' at ${jn}:${jt}`)}function ur(){return ti(`JSON5: invalid end of input at ${jn}:${jt}`)}function Th(){return jt-=5,ti(`JSON5: invalid identifier character at ${jn}:${jt}`)}function hC(t){console.warn(`JSON5: '${Rh(t)}' in strings is not valid ECMAScript; consider escaping`)}function Rh(t){let e={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(e[t])return e[t];if(t<" "){let n=t.charCodeAt(0).toString(16);return"\\x"+("00"+n).substring(n.length)}return t}function ti(t){let e=new SyntaxError(t);return e.lineNumber=jn,e.columnNumber=jt,e}});var Fh=X((sx,Ph)=>{var Gu=Uu();Ph.exports=function(e,n,r){let o=[],s="",a,u,l="",f;if(n!=null&&typeof n=="object"&&!Array.isArray(n)&&(r=n.space,f=n.quote,n=n.replacer),typeof n=="function")u=n;else if(Array.isArray(n)){a=[];for(let y of n){let g;typeof y=="string"?g=y:(typeof y=="number"||y instanceof String||y instanceof Number)&&(g=String(y)),g!==void 0&&a.indexOf(g)<0&&a.push(g)}}return r instanceof Number?r=Number(r):r instanceof String&&(r=String(r)),typeof r=="number"?r>0&&(r=Math.min(10,Math.floor(r)),l=" ".substr(0,r)):typeof r=="string"&&(l=r.substr(0,10)),d("",{"":e});function d(y,g){let _=g[y];switch(_!=null&&(typeof _.toJSON5=="function"?_=_.toJSON5(y):typeof _.toJSON=="function"&&(_=_.toJSON(y))),u&&(_=u.call(g,y,_)),_ instanceof Number?_=Number(_):_ instanceof String?_=String(_):_ instanceof Boolean&&(_=_.valueOf()),_){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof _=="string")return h(_,!1);if(typeof _=="number")return String(_);if(typeof _=="object")return Array.isArray(_)?w(_):m(_)}function h(y){let g={"'":.1,'"':.2},_={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},E="";for(let S=0;S<y.length;S++){let T=y[S];switch(T){case"'":case'"':g[T]++,E+=T;continue;case"\0":if(Gu.isDigit(y[S+1])){E+="\\x00";continue}}if(_[T]){E+=_[T];continue}if(T<" "){let R=T.charCodeAt(0).toString(16);E+="\\x"+("00"+R).substring(R.length);continue}E+=T}let b=f||Object.keys(g).reduce((S,T)=>g[S]<g[T]?S:T);return E=E.replace(new RegExp(b,"g"),_[b]),b+E+b}function m(y){if(o.indexOf(y)>=0)throw TypeError("Converting circular structure to JSON5");o.push(y);let g=s;s=s+l;let _=a||Object.keys(y),E=[];for(let S of _){let T=d(S,y);if(T!==void 0){let R=C(S)+":";l!==""&&(R+=" "),R+=T,E.push(R)}}let b;if(E.length===0)b="{}";else{let S;if(l==="")S=E.join(","),b="{"+S+"}";else{let T=`,
|
|
9
|
+
`+s;S=E.join(T),b=`{
|
|
10
10
|
`+s+S+`,
|
|
11
11
|
`+g+"}"}}return o.pop(),s=g,b}function C(y){if(y.length===0)return h(y,!0);let g=String.fromCodePoint(y.codePointAt(0));if(!Gu.isIdStartChar(g))return h(y,!0);for(let _=g.length;_<y.length;_++)if(!Gu.isIdContinueChar(String.fromCodePoint(y.codePointAt(_))))return h(y,!0);return y}function w(y){if(o.indexOf(y)>=0)throw TypeError("Converting circular structure to JSON5");o.push(y);let g=s;s=s+l;let _=[];for(let b=0;b<y.length;b++){let S=d(String(b),y);_.push(S!==void 0?S:"null")}let E;if(_.length===0)E="[]";else if(l==="")E="["+_.join(",")+"]";else{let b=`,
|
|
12
12
|
`+s,S=_.join(b);E=`[
|
|
13
13
|
`+s+S+`,
|
|
14
|
-
`+g+"]"}return o.pop(),s=g,E}}});var Ju=X((ix,Ih)=>{var pC=Oh(),mC=Fh(),gC={parse:pC,stringify:mC};Ih.exports=gC});var Jh={};Lu(Jh,{getFallbackPromotionStore:()=>Br,resetFallbackPromotionStore:()=>TC});function Br(t){return cr||(cr=new Ku,t&&cr.configure(t)),cr}function TC(){cr&&(cr.clearAll(),cr=null)}var SC,Ku,cr,si=Le(()=>{"use strict";Un();SC=600*1e3,Ku=class{promotions=new Map;enabled=!0;ttlMs=SC;configure(e){e?.enabled!==void 0&&(this.enabled=e.enabled),e?.ttlMinutes!==void 0&&(this.ttlMs=e.ttlMinutes*60*1e3)}getKey(e,n,r){return`${e},${n}:${r}`}promote(e,n,r,o,s,a){if(!this.enabled)return;let u=this.getKey(e,n,r),l=`${o},${s}`;this.promotions.set(u,{promotedModel:l,timestamp:Date.now(),ttlMs:a??this.ttlMs})}getPromotion(e,n,r,o){if(!this.enabled)return null;let s=this.getKey(e,n,r),a=this.promotions.get(s);if(!a)return null;if(Date.now()-a.timestamp>=a.ttlMs)return this.promotions.delete(s),null;let[l,...f]=a.promotedModel.split(","),d=f.join(",");if(!Ye().isAvailable(l,d))return this.promotions.delete(s),null;let m=o.find(w=>w.name.toLowerCase()===l.toLowerCase()),C=m?.models?.find(w=>String(w).toLowerCase()===d.toLowerCase());return!m||!C||m.enabled===!1?(this.promotions.delete(s),null):`${m.name},${C}`}clear(e,n,r){let o=this.getKey(e,n,r);this.promotions.delete(o)}clearByPrimary(e,n){let r=`${e},${n}:`,o=0;for(let s of this.promotions.keys())s.startsWith(r)&&(this.promotions.delete(s),o++);return o}clearAll(){this.promotions.clear()}clearExpired(){let e=Date.now();for(let[n,r]of this.promotions)e-r.timestamp>=r.ttlMs&&this.promotions.delete(n)}getAllPromotions(){let e=Date.now(),n=[];for(let[r,o]of this.promotions){let s=o.ttlMs-(e-o.timestamp);s>0&&n.push({key:r,promotedModel:o.promotedModel,remainingMs:s})}return n}},cr=null});import{existsSync as Yh,mkdirSync as vC,readFileSync as DC,writeFileSync as RC}from"fs";import{join as Qh}from"path";import{HOME_DIR as xC}from"@wengine-ai/claude-code-router-shared";function IC(t){try{if(!Yh(Xu))return;let e=JSON.parse(DC(Xu,"utf-8"));if(!Array.isArray(e))return;let n=Date.now();for(let r of e){if(!r||!r.provider||!r.model)continue;let o=r.updatedAt||r.lastFailureTime||0;o&&n-o>1440*60*1e3||t.restore({provider:r.provider,model:r.model,status:r.status,failureCount:r.failureCount??0,successCount:r.successCount??0,lastFailureTime:r.lastFailureTime??0,lastProbeTime:r.lastProbeTime??0,lastError:r.lastError,rateLimitUntil:r.rateLimitUntil})}}catch{}}function Kh(t){try{let e=t.getAllStates();if(e.length===0)return;Yh(Qu)||vC(Qu,{recursive:!0});let n=e.map(r=>({...r,updatedAt:Date.now()}));RC(Xu,JSON.stringify(n,null,2),"utf-8")}catch{}}function Zu(){if(Vh)return;Vh=!0;let t=Ye();IC(t),FC=setInterval(()=>Kh(t),6e4),process.on("exit",()=>Kh(t))}function Ye(t){return Yu||(Yu=new ii(t)),Yu}var OC,PC,ii,Qu,Xu,Vh,FC,Yu,Un=Le(()=>{"use strict";OC=120,PC={enabled:!0,failureThreshold:3,probeIntervalMinutes:5,halfOpenSuccessThreshold:2},ii=class{states=new Map;config;probeTimer;constructor(e){this.config={...PC,...e}}getKey(e,n){return!e||!n?null:`${e},${n}`}recordSuccess(e,n){if(!this.config.enabled)return;let r=this.getKey(e,n);if(!r)return;let o=this.states.get(r);o&&(o.successCount++,!o.rateLimitUntil&&(o.status==="half-open"?o.successCount>=this.config.halfOpenSuccessThreshold&&(this.clearPromotionsForPrimary(e,n),this.states.delete(r)):o.status==="open"&&(o.status="half-open",o.successCount=1,o.failureCount=0)))}clearPromotionsForPrimary(e,n){try{let{getFallbackPromotionStore:r}=(si(),uC(Jh));r().clearByPrimary(e,n)}catch{}}recordFailure(e,n,r){if(!this.config.enabled)return;let o=this.getKey(e,n);if(!o)return;let s=this.states.get(o);s||(s={provider:e,model:n,status:"closed",failureCount:0,successCount:0,lastFailureTime:0,lastProbeTime:0},this.states.set(o,s)),s.failureCount++,s.lastFailureTime=Date.now(),s.lastError=r,s.status==="half-open"?(s.status="open",s.successCount=0,s.lastProbeTime=0):s.status==="closed"&&s.failureCount>=this.config.failureThreshold&&(s.status="open",s.lastProbeTime=0)}getState(e,n){let r=this.getKey(e,n);if(r)return this.states.get(r)}isAvailable(e,n){if(!this.config.enabled)return!0;if(!this.getKey(e,n))return!1;let o=this.getState(e,n);return o?o.status==="open"&&o.rateLimitUntil?!(Date.now()<o.rateLimitUntil):o.status!=="open":!0}getPriority(e,n){if(!this.config.enabled)return 0;if(!this.getKey(e,n))return 2;let o=this.getState(e,n);if(!o)return 0;switch(o.status){case"closed":return 0;case"half-open":return 1;case"open":return 2}}getHealthyModels(){return[]}getFailPoolModels(){let e=[];for(let[n,r]of this.states)r.status==="open"&&e.push(n);return e}getHalfOpenModels(){let e=[];for(let[n,r]of this.states)r.status==="half-open"&&e.push(n);return e}forceOpen(e,n,r){if(!this.config.enabled)return;let o=this.getKey(e,n);if(!o)return;let s=this.states.get(o);s?(s.status="open",s.failureCount=Math.max(s.failureCount,this.config.failureThreshold),s.lastFailureTime=Date.now(),s.lastError=r,s.lastProbeTime=0):(s={provider:e,model:n,status:"open",failureCount:this.config.failureThreshold,successCount:0,lastFailureTime:Date.now(),lastProbeTime:0,lastError:r},this.states.set(o,s))}markRateLimited(e,n,r,o){if(!this.config.enabled)return;let s=this.getKey(e,n);if(!s)return;let a=this.states.get(s);a?(a.status="open",a.lastFailureTime=Date.now(),a.lastError=o||"rate-limited",a.lastProbeTime=0):(a={provider:e,model:n,status:"open",failureCount:0,successCount:0,lastFailureTime:Date.now(),lastProbeTime:0,lastError:o||"rate-limited"},this.states.set(s,a));let u=(r??OC)*1e3;a.rateLimitUntil=Date.now()+u}getRateLimitedModels(){let e=[];for(let[n,r]of this.states)r.status==="open"&&r.rateLimitUntil&&e.push(n);return e}needsProbe(e){return Date.now()-e.lastProbeTime>=this.config.probeIntervalMinutes*60*1e3}markProbeAttempt(e,n){let r=this.getKey(e,n);if(!r)return;let o=this.states.get(r);o&&o.status==="open"&&(o.lastProbeTime=Date.now())}clear(){this.states.clear()}recover(e,n){let r=this.getKey(e,n);r&&this.states.delete(r)}getAllStates(){return Array.from(this.states.values())}restore(e){let n=this.getKey(e.provider,e.model);n&&this.states.set(n,{...e})}stopProbeTimer(){this.probeTimer&&(clearInterval(this.probeTimer),this.probeTimer=void 0)}},Qu=Qh(xC,"runtime"),Xu=Qh(Qu,"provider-health.json"),Vh=!1,FC=null;Yu=null});var yc=X((S1,Np)=>{"use strict";var gi=Object.prototype.hasOwnProperty,Ip=Object.prototype.toString,Dp=Object.defineProperty,Rp=Object.getOwnPropertyDescriptor,xp=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Ip.call(e)==="[object Array]"},Op=function(e){if(!e||Ip.call(e)!=="[object Object]")return!1;var n=gi.call(e,"constructor"),r=e.constructor&&e.constructor.prototype&&gi.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!n&&!r)return!1;var o;for(o in e);return typeof o>"u"||gi.call(e,o)},Pp=function(e,n){Dp&&n.name==="__proto__"?Dp(e,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):e[n.name]=n.newValue},Fp=function(e,n){if(n==="__proto__")if(gi.call(e,n)){if(Rp)return Rp(e,n).value}else return;return e[n]};Np.exports=function t(){var e,n,r,o,s,a,u=arguments[0],l=1,f=arguments.length,d=!1;for(typeof u=="boolean"&&(d=u,u=arguments[1]||{},l=2),(u==null||typeof u!="object"&&typeof u!="function")&&(u={});l<f;++l)if(e=arguments[l],e!=null)for(n in e)r=Fp(u,n),o=Fp(e,n),u!==o&&(d&&o&&(Op(o)||(s=xp(o)))?(s?(s=!1,a=r&&xp(r)?r:[]):a=r&&Op(r)?r:{},Pp(u,{name:n,newValue:t(d,a,o)})):typeof o<"u"&&Pp(u,{name:n,newValue:o}));return u}});var Bp=X((T1,Tw)=>{Tw.exports={name:"gaxios",version:"7.1.2",description:"A simple common HTTP client specifically for Google APIs and services.",main:"build/cjs/src/index.js",types:"build/cjs/src/index.d.ts",files:["build/"],exports:{".":{import:{types:"./build/esm/src/index.d.ts",default:"./build/esm/src/index.js"},require:{types:"./build/cjs/src/index.d.ts",default:"./build/cjs/src/index.js"}}},scripts:{lint:"gts check --no-inline-config",test:"c8 mocha build/esm/test","presystem-test":"npm run compile","system-test":"mocha build/esm/system-test --timeout 80000",compile:"tsc -b ./tsconfig.json ./tsconfig.cjs.json && node utils/enable-esm.mjs",fix:"gts fix",prepare:"npm run compile",pretest:"npm run compile",webpack:"webpack","prebrowser-test":"npm run compile","browser-test":"node build/browser-test/browser-test-runner.js",docs:"jsdoc -c .jsdoc.js","docs-test":"linkinator docs","predocs-test":"npm run docs","samples-test":"cd samples/ && npm link ../ && npm test && cd ../",prelint:"cd samples; npm link ../; npm install",clean:"gts clean"},repository:"googleapis/gaxios",keywords:["google"],engines:{node:">=18"},author:"Google, LLC",license:"Apache-2.0",devDependencies:{"@babel/plugin-proposal-private-methods":"^7.18.6","@types/cors":"^2.8.6","@types/express":"^5.0.0","@types/extend":"^3.0.1","@types/mocha":"^10.0.10","@types/multiparty":"4.2.1","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","@types/tmp":"0.2.6",assert:"^2.0.0",browserify:"^17.0.0",c8:"^10.0.0",cors:"^2.8.5",express:"^5.0.0",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-remap-coverage":"^0.1.5","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",linkinator:"^6.1.2",mocha:"^11.1.0",multiparty:"^4.2.1",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.0-beta.13","null-loader":"^4.0.0","pack-n-play":"^3.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","stream-browserify":"^3.0.0",tmp:"0.2.5","ts-loader":"^9.5.2",typescript:"^5.8.3",webpack:"^5.35.0","webpack-cli":"^6.0.1"},dependencies:{extend:"^3.0.2","https-proxy-agent":"^7.0.1","node-fetch":"^3.3.2"}}});var Lp=X((v1,Mp)=>{"use strict";var vw=Bp();Mp.exports={pkg:vw}});var Cc=X(Tt=>{"use strict";var Up=Tt&&Tt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Tt,"__esModule",{value:!0});Tt.GaxiosError=Tt.GAXIOS_ERROR_SYMBOL=void 0;Tt.defaultErrorRedactor=$p;var jp=Up(yc()),Dw=Up(Lp()),_c=Dw.default.pkg;Tt.GAXIOS_ERROR_SYMBOL=Symbol.for(`${_c.name}-gaxios-error`);var bc=class t extends Error{config;response;code;status;error;[Tt.GAXIOS_ERROR_SYMBOL]=_c.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&Tt.GAXIOS_ERROR_SYMBOL in e&&e[Tt.GAXIOS_ERROR_SYMBOL]===_c.version?!0:Function.prototype[Symbol.hasInstance].call(t,e)}constructor(e,n,r,o){if(super(e,{cause:o}),this.config=n,this.response=r,this.error=o instanceof Error?o:void 0,this.config=(0,jp.default)(!0,{},n),this.response&&(this.response.config=(0,jp.default)(!0,{},this.response.config)),this.response){try{this.response.data=Rw(this.config.responseType,this.response?.bodyUsed?this.response?.data:void 0)}catch{}this.status=this.response.status}o instanceof DOMException?this.code=o.name:o&&typeof o=="object"&&"code"in o&&(typeof o.code=="string"||typeof o.code=="number")&&(this.code=o.code)}static extractAPIErrorFromResponse(e,n="The request failed"){let r=n;if(typeof e.data=="string"&&(r=e.data),e.data&&typeof e.data=="object"&&"error"in e.data&&e.data.error&&!e.ok){if(typeof e.data.error=="string")return{message:e.data.error,code:e.status,status:e.statusText};if(typeof e.data.error=="object"){r="message"in e.data.error&&typeof e.data.error.message=="string"?e.data.error.message:r;let o="status"in e.data.error&&typeof e.data.error.status=="string"?e.data.error.status:e.statusText,s="code"in e.data.error&&typeof e.data.error.code=="number"?e.data.error.code:e.status;if("errors"in e.data.error&&Array.isArray(e.data.error.errors)){let a=[];for(let u of e.data.error.errors)typeof u=="object"&&"message"in u&&typeof u.message=="string"&&a.push(u.message);return Object.assign({message:a.join(`
|
|
15
|
-
`)||r,code:s,status:o},e.data.error)}return Object.assign({message:r,code:s,status:o},e.data.error)}}return{message:r,code:e.status,status:e.statusText}}};Tt.GaxiosError=bc;function Rw(t,e){switch(t){case"stream":return e;case"json":return JSON.parse(JSON.stringify(e));case"arraybuffer":return JSON.parse(Buffer.from(e).toString("utf8"));case"blob":return JSON.parse(e.text());default:return e}}function $p(t){let e="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function n(s){s&&s.forEach((a,u)=>{(/^authentication$/i.test(u)||/^authorization$/i.test(u)||/secret/i.test(u))&&s.set(u,e)})}function r(s,a){if(typeof s=="object"&&s!==null&&typeof s[a]=="string"){let u=s[a];(/grant_type=/i.test(u)||/assertion=/i.test(u)||/secret/i.test(u))&&(s[a]=e)}}function o(s){!s||typeof s!="object"||(s instanceof FormData||s instanceof URLSearchParams||"forEach"in s&&"set"in s?s.forEach((a,u)=>{(["grant_type","assertion"].includes(u)||/secret/.test(u))&&s.set(u,e)}):("grant_type"in s&&(s.grant_type=e),"assertion"in s&&(s.assertion=e),"client_secret"in s&&(s.client_secret=e)))}return t.config&&(n(t.config.headers),r(t.config,"data"),o(t.config.data),r(t.config,"body"),o(t.config.body),t.config.url.searchParams.has("token")&&t.config.url.searchParams.set("token",e),t.config.url.searchParams.has("client_secret")&&t.config.url.searchParams.set("client_secret",e)),t.response&&($p({config:t.response.config}),n(t.response.headers),t.response.bodyUsed&&(r(t.response,"data"),o(t.response.data))),t}});var zp=X(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.getRetryConfig=xw;async function xw(t){let e=qp(t);if(!t||!t.config||!e&&!t.config.retry)return{shouldRetry:!1};e=e||{},e.currentRetryAttempt=e.currentRetryAttempt||0,e.retry=e.retry===void 0||e.retry===null?3:e.retry,e.httpMethodsToRetry=e.httpMethodsToRetry||["GET","HEAD","PUT","OPTIONS","DELETE"],e.noResponseRetries=e.noResponseRetries===void 0||e.noResponseRetries===null?2:e.noResponseRetries,e.retryDelayMultiplier=e.retryDelayMultiplier?e.retryDelayMultiplier:2,e.timeOfFirstRequest=e.timeOfFirstRequest?e.timeOfFirstRequest:Date.now(),e.totalTimeout=e.totalTimeout?e.totalTimeout:Number.MAX_SAFE_INTEGER,e.maxRetryDelay=e.maxRetryDelay?e.maxRetryDelay:Number.MAX_SAFE_INTEGER;let n=[[100,199],[408,408],[429,429],[500,599]];if(e.statusCodesToRetry=e.statusCodesToRetry||n,t.config.retryConfig=e,!await(e.shouldRetry||Ow)(t))return{shouldRetry:!1,config:t.config};let o=Pw(e);t.config.retryConfig.currentRetryAttempt+=1;let s=e.retryBackoff?e.retryBackoff(t,o):new Promise(a=>{setTimeout(a,o)});return e.onRetryAttempt&&await e.onRetryAttempt(t),await s,{shouldRetry:!0,config:t.config}}function Ow(t){let e=qp(t);if(t.config.signal?.aborted&&t.code!=="TimeoutError"||t.code==="AbortError"||!e||e.retry===0||!t.response&&(e.currentRetryAttempt||0)>=e.noResponseRetries||!e.httpMethodsToRetry||!e.httpMethodsToRetry.includes(t.config.method?.toUpperCase()||"GET"))return!1;if(t.response&&t.response.status){let n=!1;for(let[r,o]of e.statusCodesToRetry){let s=t.response.status;if(s>=r&&s<=o){n=!0;break}}if(!n)return!1}return e.currentRetryAttempt=e.currentRetryAttempt||0,!(e.currentRetryAttempt>=e.retry)}function qp(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function Pw(t){let n=(t.currentRetryAttempt?0:t.retryDelay??100)+(Math.pow(t.retryDelayMultiplier,t.currentRetryAttempt)-1)/2*1e3,r=t.totalTimeout-(Date.now()-t.timeOfFirstRequest);return Math.min(n,r,t.maxRetryDelay)}});var kc=X(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.GaxiosInterceptorManager=void 0;var Ec=class extends Set{};yi.GaxiosInterceptorManager=Ec});var Wp=X((O1,Hp)=>{var Hr=1e3,Wr=Hr*60,Gr=Wr*60,dr=Gr*24,Fw=dr*7,Iw=dr*365.25;Hp.exports=function(t,e){e=e||{};var n=typeof t;if(n==="string"&&t.length>0)return Nw(t);if(n==="number"&&isFinite(t))return e.long?Mw(t):Bw(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function Nw(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var n=parseFloat(e[1]),r=(e[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return n*Iw;case"weeks":case"week":case"w":return n*Fw;case"days":case"day":case"d":return n*dr;case"hours":case"hour":case"hrs":case"hr":case"h":return n*Gr;case"minutes":case"minute":case"mins":case"min":case"m":return n*Wr;case"seconds":case"second":case"secs":case"sec":case"s":return n*Hr;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function Bw(t){var e=Math.abs(t);return e>=dr?Math.round(t/dr)+"d":e>=Gr?Math.round(t/Gr)+"h":e>=Wr?Math.round(t/Wr)+"m":e>=Hr?Math.round(t/Hr)+"s":t+"ms"}function Mw(t){var e=Math.abs(t);return e>=dr?_i(t,e,dr,"day"):e>=Gr?_i(t,e,Gr,"hour"):e>=Wr?_i(t,e,Wr,"minute"):e>=Hr?_i(t,e,Hr,"second"):t+" ms"}function _i(t,e,n,r){var o=e>=n*1.5;return Math.round(t/n)+" "+r+(o?"s":"")}});var Ac=X((P1,Gp)=>{function Lw(t){n.debug=n,n.default=n,n.coerce=l,n.disable=a,n.enable=o,n.enabled=u,n.humanize=Wp(),n.destroy=f,Object.keys(t).forEach(d=>{n[d]=t[d]}),n.names=[],n.skips=[],n.formatters={};function e(d){let h=0;for(let m=0;m<d.length;m++)h=(h<<5)-h+d.charCodeAt(m),h|=0;return n.colors[Math.abs(h)%n.colors.length]}n.selectColor=e;function n(d){let h,m=null,C,w;function y(...g){if(!y.enabled)return;let _=y,E=Number(new Date),b=E-(h||E);_.diff=b,_.prev=h,_.curr=E,h=E,g[0]=n.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let S=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(R,$)=>{if(R==="%%")return"%";S++;let H=n.formatters[$];if(typeof H=="function"){let P=g[S];R=H.call(_,P),g.splice(S,1),S--}return R}),n.formatArgs.call(_,g),(_.log||n.log).apply(_,g)}return y.namespace=d,y.useColors=n.useColors(),y.color=n.selectColor(d),y.extend=r,y.destroy=n.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(C!==n.namespaces&&(C=n.namespaces,w=n.enabled(d)),w),set:g=>{m=g}}),typeof n.init=="function"&&n.init(y),y}function r(d,h){let m=n(this.namespace+(typeof h>"u"?":":h)+d);return m.log=this.log,m}function o(d){n.save(d),n.namespaces=d,n.names=[],n.skips=[];let h=(typeof d=="string"?d:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let m of h)m[0]==="-"?n.skips.push(m.slice(1)):n.names.push(m)}function s(d,h){let m=0,C=0,w=-1,y=0;for(;m<d.length;)if(C<h.length&&(h[C]===d[m]||h[C]==="*"))h[C]==="*"?(w=C,y=m,C++):(m++,C++);else if(w!==-1)C=w+1,y++,m=y;else return!1;for(;C<h.length&&h[C]==="*";)C++;return C===h.length}function a(){let d=[...n.names,...n.skips.map(h=>"-"+h)].join(",");return n.enable(""),d}function u(d){for(let h of n.skips)if(s(d,h))return!1;for(let h of n.names)if(s(d,h))return!0;return!1}function l(d){return d instanceof Error?d.stack||d.message:d}function f(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}Gp.exports=Lw});var Jp=X((ut,bi)=>{ut.formatArgs=Uw;ut.save=$w;ut.load=qw;ut.useColors=jw;ut.storage=zw();ut.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();ut.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function jw(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Uw(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+bi.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let n=0,r=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(n++,o==="%c"&&(r=n))}),t.splice(r,0,e)}ut.log=console.debug||console.log||(()=>{});function $w(t){try{t?ut.storage.setItem("debug",t):ut.storage.removeItem("debug")}catch{}}function qw(){let t;try{t=ut.storage.getItem("debug")||ut.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function zw(){try{return localStorage}catch{}}bi.exports=Ac()(ut);var{formatters:Hw}=bi.exports;Hw.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Kp=X((F1,Vp)=>{"use strict";Vp.exports=(t,e=process.argv)=>{let n=t.startsWith("-")?"":t.length===1?"-":"--",r=e.indexOf(n+t),o=e.indexOf("--");return r!==-1&&(o===-1||r<o)}});var Xp=X((I1,Qp)=>{"use strict";var Ww=re("os"),Yp=re("tty"),vt=Kp(),{env:Je}=process,$n;vt("no-color")||vt("no-colors")||vt("color=false")||vt("color=never")?$n=0:(vt("color")||vt("colors")||vt("color=true")||vt("color=always"))&&($n=1);"FORCE_COLOR"in Je&&(Je.FORCE_COLOR==="true"?$n=1:Je.FORCE_COLOR==="false"?$n=0:$n=Je.FORCE_COLOR.length===0?1:Math.min(parseInt(Je.FORCE_COLOR,10),3));function Sc(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Tc(t,e){if($n===0)return 0;if(vt("color=16m")||vt("color=full")||vt("color=truecolor"))return 3;if(vt("color=256"))return 2;if(t&&!e&&$n===void 0)return 0;let n=$n||0;if(Je.TERM==="dumb")return n;if(process.platform==="win32"){let r=Ww.release().split(".");return Number(r[0])>=10&&Number(r[2])>=10586?Number(r[2])>=14931?3:2:1}if("CI"in Je)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(r=>r in Je)||Je.CI_NAME==="codeship"?1:n;if("TEAMCITY_VERSION"in Je)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Je.TEAMCITY_VERSION)?1:0;if(Je.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Je){let r=parseInt((Je.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Je.TERM_PROGRAM){case"iTerm.app":return r>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Je.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Je.TERM)||"COLORTERM"in Je?1:n}function Gw(t){let e=Tc(t,t&&t.isTTY);return Sc(e)}Qp.exports={supportsColor:Gw,stdout:Sc(Tc(!0,Yp.isatty(1))),stderr:Sc(Tc(!0,Yp.isatty(2)))}});var em=X((Ve,wi)=>{var Jw=re("tty"),Ci=re("util");Ve.init=eE;Ve.log=Qw;Ve.formatArgs=Kw;Ve.save=Xw;Ve.load=Zw;Ve.useColors=Vw;Ve.destroy=Ci.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ve.colors=[6,2,3,4,5,1];try{let t=Xp();t&&(t.stderr||t).level>=2&&(Ve.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}Ve.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let n=e.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),r=process.env[e];return/^(yes|on|true|enabled)$/i.test(r)?r=!0:/^(no|off|false|disabled)$/i.test(r)?r=!1:r==="null"?r=null:r=Number(r),t[n]=r,t},{});function Vw(){return"colors"in Ve.inspectOpts?!!Ve.inspectOpts.colors:Jw.isatty(process.stderr.fd)}function Kw(t){let{namespace:e,useColors:n}=this;if(n){let r=this.color,o="\x1B[3"+(r<8?r:"8;5;"+r),s=` ${o};1m${e} \x1B[0m`;t[0]=s+t[0].split(`
|
|
14
|
+
`+g+"]"}return o.pop(),s=g,E}}});var Ju=X((ix,Ih)=>{var pC=Oh(),mC=Fh(),gC={parse:pC,stringify:mC};Ih.exports=gC});var Jh={};Lu(Jh,{getFallbackPromotionStore:()=>Br,resetFallbackPromotionStore:()=>vC});function Br(t){return cr||(cr=new Ku,t&&cr.configure(t)),cr}function vC(){cr&&(cr.clearAll(),cr=null)}var SC,Ku,cr,si=Le(()=>{"use strict";Un();SC=600*1e3,Ku=class{promotions=new Map;enabled=!0;ttlMs=SC;configure(e){e?.enabled!==void 0&&(this.enabled=e.enabled),e?.ttlMinutes!==void 0&&(this.ttlMs=e.ttlMinutes*60*1e3)}getKey(e,n,r){return`${e},${n}:${r}`}promote(e,n,r,o,s,a){if(!this.enabled)return;let u=this.getKey(e,n,r),l=`${o},${s}`;this.promotions.set(u,{promotedModel:l,timestamp:Date.now(),ttlMs:a??this.ttlMs})}getPromotion(e,n,r,o){if(!this.enabled)return null;let s=this.getKey(e,n,r),a=this.promotions.get(s);if(!a)return null;if(Date.now()-a.timestamp>=a.ttlMs)return this.promotions.delete(s),null;let[l,...f]=a.promotedModel.split(","),d=f.join(",");if(!Ye().isAvailable(l,d))return this.promotions.delete(s),null;let m=o.find(w=>w.name.toLowerCase()===l.toLowerCase()),C=m?.models?.find(w=>String(w).toLowerCase()===d.toLowerCase());return!m||!C||m.enabled===!1?(this.promotions.delete(s),null):`${m.name},${C}`}clear(e,n,r){let o=this.getKey(e,n,r);this.promotions.delete(o)}clearByPrimary(e,n){let r=`${e},${n}:`,o=0;for(let s of this.promotions.keys())s.startsWith(r)&&(this.promotions.delete(s),o++);return o}clearAll(){this.promotions.clear()}clearExpired(){let e=Date.now();for(let[n,r]of this.promotions)e-r.timestamp>=r.ttlMs&&this.promotions.delete(n)}getAllPromotions(){let e=Date.now(),n=[];for(let[r,o]of this.promotions){let s=o.ttlMs-(e-o.timestamp);s>0&&n.push({key:r,promotedModel:o.promotedModel,remainingMs:s})}return n}},cr=null});import{existsSync as Yh,mkdirSync as TC,readFileSync as DC,writeFileSync as RC}from"fs";import{join as Qh}from"path";import{HOME_DIR as xC}from"@wengine-ai/claude-code-router-shared";function IC(t){try{if(!Yh(Xu))return;let e=JSON.parse(DC(Xu,"utf-8"));if(!Array.isArray(e))return;let n=Date.now();for(let r of e){if(!r||!r.provider||!r.model)continue;let o=r.updatedAt||r.lastFailureTime||0;o&&n-o>1440*60*1e3||t.restore({provider:r.provider,model:r.model,status:r.status,failureCount:r.failureCount??0,successCount:r.successCount??0,lastFailureTime:r.lastFailureTime??0,lastProbeTime:r.lastProbeTime??0,lastError:r.lastError,rateLimitUntil:r.rateLimitUntil})}}catch{}}function Kh(t){try{let e=t.getAllStates();if(e.length===0)return;Yh(Qu)||TC(Qu,{recursive:!0});let n=e.map(r=>({...r,updatedAt:Date.now()}));RC(Xu,JSON.stringify(n,null,2),"utf-8")}catch{}}function Zu(){if(Vh)return;Vh=!0;let t=Ye();IC(t),FC=setInterval(()=>Kh(t),6e4),process.on("exit",()=>Kh(t))}function Ye(t){return Yu||(Yu=new ii(t)),Yu}var OC,PC,ii,Qu,Xu,Vh,FC,Yu,Un=Le(()=>{"use strict";OC=120,PC={enabled:!0,failureThreshold:3,probeIntervalMinutes:5,halfOpenSuccessThreshold:2},ii=class{states=new Map;config;probeTimer;constructor(e){this.config={...PC,...e}}getKey(e,n){return!e||!n?null:`${e},${n}`}recordSuccess(e,n){if(!this.config.enabled)return;let r=this.getKey(e,n);if(!r)return;let o=this.states.get(r);o&&(o.successCount++,!o.rateLimitUntil&&(o.status==="half-open"?o.successCount>=this.config.halfOpenSuccessThreshold&&(this.clearPromotionsForPrimary(e,n),this.states.delete(r)):o.status==="open"&&(o.status="half-open",o.successCount=1,o.failureCount=0)))}clearPromotionsForPrimary(e,n){try{let{getFallbackPromotionStore:r}=(si(),uC(Jh));r().clearByPrimary(e,n)}catch{}}recordFailure(e,n,r){if(!this.config.enabled)return;let o=this.getKey(e,n);if(!o)return;let s=this.states.get(o);s||(s={provider:e,model:n,status:"closed",failureCount:0,successCount:0,lastFailureTime:0,lastProbeTime:0},this.states.set(o,s)),s.failureCount++,s.lastFailureTime=Date.now(),s.lastError=r,s.status==="half-open"?(s.status="open",s.successCount=0,s.lastProbeTime=0):s.status==="closed"&&s.failureCount>=this.config.failureThreshold&&(s.status="open",s.lastProbeTime=0)}getState(e,n){let r=this.getKey(e,n);if(r)return this.states.get(r)}isAvailable(e,n){if(!this.config.enabled)return!0;if(!this.getKey(e,n))return!1;let o=this.getState(e,n);return o?o.status==="open"&&o.rateLimitUntil?!(Date.now()<o.rateLimitUntil):o.status!=="open":!0}getPriority(e,n){if(!this.config.enabled)return 0;if(!this.getKey(e,n))return 2;let o=this.getState(e,n);if(!o)return 0;switch(o.status){case"closed":return 0;case"half-open":return 1;case"open":return 2}}getHealthyModels(){return[]}getFailPoolModels(){let e=[];for(let[n,r]of this.states)r.status==="open"&&e.push(n);return e}getHalfOpenModels(){let e=[];for(let[n,r]of this.states)r.status==="half-open"&&e.push(n);return e}forceOpen(e,n,r){if(!this.config.enabled)return;let o=this.getKey(e,n);if(!o)return;let s=this.states.get(o);s?(s.status="open",s.failureCount=Math.max(s.failureCount,this.config.failureThreshold),s.lastFailureTime=Date.now(),s.lastError=r,s.lastProbeTime=0):(s={provider:e,model:n,status:"open",failureCount:this.config.failureThreshold,successCount:0,lastFailureTime:Date.now(),lastProbeTime:0,lastError:r},this.states.set(o,s))}markRateLimited(e,n,r,o){if(!this.config.enabled)return;let s=this.getKey(e,n);if(!s)return;let a=this.states.get(s);a?(a.status="open",a.lastFailureTime=Date.now(),a.lastError=o||"rate-limited",a.lastProbeTime=0):(a={provider:e,model:n,status:"open",failureCount:0,successCount:0,lastFailureTime:Date.now(),lastProbeTime:0,lastError:o||"rate-limited"},this.states.set(s,a));let u=(r??OC)*1e3;a.rateLimitUntil=Date.now()+u}getRateLimitedModels(){let e=[];for(let[n,r]of this.states)r.status==="open"&&r.rateLimitUntil&&e.push(n);return e}needsProbe(e){return Date.now()-e.lastProbeTime>=this.config.probeIntervalMinutes*60*1e3}markProbeAttempt(e,n){let r=this.getKey(e,n);if(!r)return;let o=this.states.get(r);o&&o.status==="open"&&(o.lastProbeTime=Date.now())}clear(){this.states.clear()}recover(e,n){let r=this.getKey(e,n);r&&this.states.delete(r)}getAllStates(){return Array.from(this.states.values())}restore(e){let n=this.getKey(e.provider,e.model);n&&this.states.set(n,{...e})}stopProbeTimer(){this.probeTimer&&(clearInterval(this.probeTimer),this.probeTimer=void 0)}},Qu=Qh(xC,"runtime"),Xu=Qh(Qu,"provider-health.json"),Vh=!1,FC=null;Yu=null});var yc=X((S1,Np)=>{"use strict";var gi=Object.prototype.hasOwnProperty,Ip=Object.prototype.toString,Dp=Object.defineProperty,Rp=Object.getOwnPropertyDescriptor,xp=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Ip.call(e)==="[object Array]"},Op=function(e){if(!e||Ip.call(e)!=="[object Object]")return!1;var n=gi.call(e,"constructor"),r=e.constructor&&e.constructor.prototype&&gi.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!n&&!r)return!1;var o;for(o in e);return typeof o>"u"||gi.call(e,o)},Pp=function(e,n){Dp&&n.name==="__proto__"?Dp(e,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):e[n.name]=n.newValue},Fp=function(e,n){if(n==="__proto__")if(gi.call(e,n)){if(Rp)return Rp(e,n).value}else return;return e[n]};Np.exports=function t(){var e,n,r,o,s,a,u=arguments[0],l=1,f=arguments.length,d=!1;for(typeof u=="boolean"&&(d=u,u=arguments[1]||{},l=2),(u==null||typeof u!="object"&&typeof u!="function")&&(u={});l<f;++l)if(e=arguments[l],e!=null)for(n in e)r=Fp(u,n),o=Fp(e,n),u!==o&&(d&&o&&(Op(o)||(s=xp(o)))?(s?(s=!1,a=r&&xp(r)?r:[]):a=r&&Op(r)?r:{},Pp(u,{name:n,newValue:t(d,a,o)})):typeof o<"u"&&Pp(u,{name:n,newValue:o}));return u}});var Bp=X((v1,vw)=>{vw.exports={name:"gaxios",version:"7.1.2",description:"A simple common HTTP client specifically for Google APIs and services.",main:"build/cjs/src/index.js",types:"build/cjs/src/index.d.ts",files:["build/"],exports:{".":{import:{types:"./build/esm/src/index.d.ts",default:"./build/esm/src/index.js"},require:{types:"./build/cjs/src/index.d.ts",default:"./build/cjs/src/index.js"}}},scripts:{lint:"gts check --no-inline-config",test:"c8 mocha build/esm/test","presystem-test":"npm run compile","system-test":"mocha build/esm/system-test --timeout 80000",compile:"tsc -b ./tsconfig.json ./tsconfig.cjs.json && node utils/enable-esm.mjs",fix:"gts fix",prepare:"npm run compile",pretest:"npm run compile",webpack:"webpack","prebrowser-test":"npm run compile","browser-test":"node build/browser-test/browser-test-runner.js",docs:"jsdoc -c .jsdoc.js","docs-test":"linkinator docs","predocs-test":"npm run docs","samples-test":"cd samples/ && npm link ../ && npm test && cd ../",prelint:"cd samples; npm link ../; npm install",clean:"gts clean"},repository:"googleapis/gaxios",keywords:["google"],engines:{node:">=18"},author:"Google, LLC",license:"Apache-2.0",devDependencies:{"@babel/plugin-proposal-private-methods":"^7.18.6","@types/cors":"^2.8.6","@types/express":"^5.0.0","@types/extend":"^3.0.1","@types/mocha":"^10.0.10","@types/multiparty":"4.2.1","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","@types/tmp":"0.2.6",assert:"^2.0.0",browserify:"^17.0.0",c8:"^10.0.0",cors:"^2.8.5",express:"^5.0.0",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-remap-coverage":"^0.1.5","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",linkinator:"^6.1.2",mocha:"^11.1.0",multiparty:"^4.2.1",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.0-beta.13","null-loader":"^4.0.0","pack-n-play":"^3.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","stream-browserify":"^3.0.0",tmp:"0.2.5","ts-loader":"^9.5.2",typescript:"^5.8.3",webpack:"^5.35.0","webpack-cli":"^6.0.1"},dependencies:{extend:"^3.0.2","https-proxy-agent":"^7.0.1","node-fetch":"^3.3.2"}}});var Lp=X((T1,Mp)=>{"use strict";var Tw=Bp();Mp.exports={pkg:Tw}});var Cc=X(vt=>{"use strict";var Up=vt&&vt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vt,"__esModule",{value:!0});vt.GaxiosError=vt.GAXIOS_ERROR_SYMBOL=void 0;vt.defaultErrorRedactor=$p;var jp=Up(yc()),Dw=Up(Lp()),_c=Dw.default.pkg;vt.GAXIOS_ERROR_SYMBOL=Symbol.for(`${_c.name}-gaxios-error`);var bc=class t extends Error{config;response;code;status;error;[vt.GAXIOS_ERROR_SYMBOL]=_c.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&vt.GAXIOS_ERROR_SYMBOL in e&&e[vt.GAXIOS_ERROR_SYMBOL]===_c.version?!0:Function.prototype[Symbol.hasInstance].call(t,e)}constructor(e,n,r,o){if(super(e,{cause:o}),this.config=n,this.response=r,this.error=o instanceof Error?o:void 0,this.config=(0,jp.default)(!0,{},n),this.response&&(this.response.config=(0,jp.default)(!0,{},this.response.config)),this.response){try{this.response.data=Rw(this.config.responseType,this.response?.bodyUsed?this.response?.data:void 0)}catch{}this.status=this.response.status}o instanceof DOMException?this.code=o.name:o&&typeof o=="object"&&"code"in o&&(typeof o.code=="string"||typeof o.code=="number")&&(this.code=o.code)}static extractAPIErrorFromResponse(e,n="The request failed"){let r=n;if(typeof e.data=="string"&&(r=e.data),e.data&&typeof e.data=="object"&&"error"in e.data&&e.data.error&&!e.ok){if(typeof e.data.error=="string")return{message:e.data.error,code:e.status,status:e.statusText};if(typeof e.data.error=="object"){r="message"in e.data.error&&typeof e.data.error.message=="string"?e.data.error.message:r;let o="status"in e.data.error&&typeof e.data.error.status=="string"?e.data.error.status:e.statusText,s="code"in e.data.error&&typeof e.data.error.code=="number"?e.data.error.code:e.status;if("errors"in e.data.error&&Array.isArray(e.data.error.errors)){let a=[];for(let u of e.data.error.errors)typeof u=="object"&&"message"in u&&typeof u.message=="string"&&a.push(u.message);return Object.assign({message:a.join(`
|
|
15
|
+
`)||r,code:s,status:o},e.data.error)}return Object.assign({message:r,code:s,status:o},e.data.error)}}return{message:r,code:e.status,status:e.statusText}}};vt.GaxiosError=bc;function Rw(t,e){switch(t){case"stream":return e;case"json":return JSON.parse(JSON.stringify(e));case"arraybuffer":return JSON.parse(Buffer.from(e).toString("utf8"));case"blob":return JSON.parse(e.text());default:return e}}function $p(t){let e="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function n(s){s&&s.forEach((a,u)=>{(/^authentication$/i.test(u)||/^authorization$/i.test(u)||/secret/i.test(u))&&s.set(u,e)})}function r(s,a){if(typeof s=="object"&&s!==null&&typeof s[a]=="string"){let u=s[a];(/grant_type=/i.test(u)||/assertion=/i.test(u)||/secret/i.test(u))&&(s[a]=e)}}function o(s){!s||typeof s!="object"||(s instanceof FormData||s instanceof URLSearchParams||"forEach"in s&&"set"in s?s.forEach((a,u)=>{(["grant_type","assertion"].includes(u)||/secret/.test(u))&&s.set(u,e)}):("grant_type"in s&&(s.grant_type=e),"assertion"in s&&(s.assertion=e),"client_secret"in s&&(s.client_secret=e)))}return t.config&&(n(t.config.headers),r(t.config,"data"),o(t.config.data),r(t.config,"body"),o(t.config.body),t.config.url.searchParams.has("token")&&t.config.url.searchParams.set("token",e),t.config.url.searchParams.has("client_secret")&&t.config.url.searchParams.set("client_secret",e)),t.response&&($p({config:t.response.config}),n(t.response.headers),t.response.bodyUsed&&(r(t.response,"data"),o(t.response.data))),t}});var zp=X(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.getRetryConfig=xw;async function xw(t){let e=qp(t);if(!t||!t.config||!e&&!t.config.retry)return{shouldRetry:!1};e=e||{},e.currentRetryAttempt=e.currentRetryAttempt||0,e.retry=e.retry===void 0||e.retry===null?3:e.retry,e.httpMethodsToRetry=e.httpMethodsToRetry||["GET","HEAD","PUT","OPTIONS","DELETE"],e.noResponseRetries=e.noResponseRetries===void 0||e.noResponseRetries===null?2:e.noResponseRetries,e.retryDelayMultiplier=e.retryDelayMultiplier?e.retryDelayMultiplier:2,e.timeOfFirstRequest=e.timeOfFirstRequest?e.timeOfFirstRequest:Date.now(),e.totalTimeout=e.totalTimeout?e.totalTimeout:Number.MAX_SAFE_INTEGER,e.maxRetryDelay=e.maxRetryDelay?e.maxRetryDelay:Number.MAX_SAFE_INTEGER;let n=[[100,199],[408,408],[429,429],[500,599]];if(e.statusCodesToRetry=e.statusCodesToRetry||n,t.config.retryConfig=e,!await(e.shouldRetry||Ow)(t))return{shouldRetry:!1,config:t.config};let o=Pw(e);t.config.retryConfig.currentRetryAttempt+=1;let s=e.retryBackoff?e.retryBackoff(t,o):new Promise(a=>{setTimeout(a,o)});return e.onRetryAttempt&&await e.onRetryAttempt(t),await s,{shouldRetry:!0,config:t.config}}function Ow(t){let e=qp(t);if(t.config.signal?.aborted&&t.code!=="TimeoutError"||t.code==="AbortError"||!e||e.retry===0||!t.response&&(e.currentRetryAttempt||0)>=e.noResponseRetries||!e.httpMethodsToRetry||!e.httpMethodsToRetry.includes(t.config.method?.toUpperCase()||"GET"))return!1;if(t.response&&t.response.status){let n=!1;for(let[r,o]of e.statusCodesToRetry){let s=t.response.status;if(s>=r&&s<=o){n=!0;break}}if(!n)return!1}return e.currentRetryAttempt=e.currentRetryAttempt||0,!(e.currentRetryAttempt>=e.retry)}function qp(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function Pw(t){let n=(t.currentRetryAttempt?0:t.retryDelay??100)+(Math.pow(t.retryDelayMultiplier,t.currentRetryAttempt)-1)/2*1e3,r=t.totalTimeout-(Date.now()-t.timeOfFirstRequest);return Math.min(n,r,t.maxRetryDelay)}});var kc=X(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.GaxiosInterceptorManager=void 0;var Ec=class extends Set{};yi.GaxiosInterceptorManager=Ec});var Wp=X((O1,Hp)=>{var Hr=1e3,Wr=Hr*60,Gr=Wr*60,dr=Gr*24,Fw=dr*7,Iw=dr*365.25;Hp.exports=function(t,e){e=e||{};var n=typeof t;if(n==="string"&&t.length>0)return Nw(t);if(n==="number"&&isFinite(t))return e.long?Mw(t):Bw(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function Nw(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var n=parseFloat(e[1]),r=(e[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return n*Iw;case"weeks":case"week":case"w":return n*Fw;case"days":case"day":case"d":return n*dr;case"hours":case"hour":case"hrs":case"hr":case"h":return n*Gr;case"minutes":case"minute":case"mins":case"min":case"m":return n*Wr;case"seconds":case"second":case"secs":case"sec":case"s":return n*Hr;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function Bw(t){var e=Math.abs(t);return e>=dr?Math.round(t/dr)+"d":e>=Gr?Math.round(t/Gr)+"h":e>=Wr?Math.round(t/Wr)+"m":e>=Hr?Math.round(t/Hr)+"s":t+"ms"}function Mw(t){var e=Math.abs(t);return e>=dr?_i(t,e,dr,"day"):e>=Gr?_i(t,e,Gr,"hour"):e>=Wr?_i(t,e,Wr,"minute"):e>=Hr?_i(t,e,Hr,"second"):t+" ms"}function _i(t,e,n,r){var o=e>=n*1.5;return Math.round(t/n)+" "+r+(o?"s":"")}});var Ac=X((P1,Gp)=>{function Lw(t){n.debug=n,n.default=n,n.coerce=l,n.disable=a,n.enable=o,n.enabled=u,n.humanize=Wp(),n.destroy=f,Object.keys(t).forEach(d=>{n[d]=t[d]}),n.names=[],n.skips=[],n.formatters={};function e(d){let h=0;for(let m=0;m<d.length;m++)h=(h<<5)-h+d.charCodeAt(m),h|=0;return n.colors[Math.abs(h)%n.colors.length]}n.selectColor=e;function n(d){let h,m=null,C,w;function y(...g){if(!y.enabled)return;let _=y,E=Number(new Date),b=E-(h||E);_.diff=b,_.prev=h,_.curr=E,h=E,g[0]=n.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let S=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(R,$)=>{if(R==="%%")return"%";S++;let H=n.formatters[$];if(typeof H=="function"){let P=g[S];R=H.call(_,P),g.splice(S,1),S--}return R}),n.formatArgs.call(_,g),(_.log||n.log).apply(_,g)}return y.namespace=d,y.useColors=n.useColors(),y.color=n.selectColor(d),y.extend=r,y.destroy=n.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(C!==n.namespaces&&(C=n.namespaces,w=n.enabled(d)),w),set:g=>{m=g}}),typeof n.init=="function"&&n.init(y),y}function r(d,h){let m=n(this.namespace+(typeof h>"u"?":":h)+d);return m.log=this.log,m}function o(d){n.save(d),n.namespaces=d,n.names=[],n.skips=[];let h=(typeof d=="string"?d:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let m of h)m[0]==="-"?n.skips.push(m.slice(1)):n.names.push(m)}function s(d,h){let m=0,C=0,w=-1,y=0;for(;m<d.length;)if(C<h.length&&(h[C]===d[m]||h[C]==="*"))h[C]==="*"?(w=C,y=m,C++):(m++,C++);else if(w!==-1)C=w+1,y++,m=y;else return!1;for(;C<h.length&&h[C]==="*";)C++;return C===h.length}function a(){let d=[...n.names,...n.skips.map(h=>"-"+h)].join(",");return n.enable(""),d}function u(d){for(let h of n.skips)if(s(d,h))return!1;for(let h of n.names)if(s(d,h))return!0;return!1}function l(d){return d instanceof Error?d.stack||d.message:d}function f(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}Gp.exports=Lw});var Jp=X((ut,bi)=>{ut.formatArgs=Uw;ut.save=$w;ut.load=qw;ut.useColors=jw;ut.storage=zw();ut.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();ut.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function jw(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Uw(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+bi.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let n=0,r=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(n++,o==="%c"&&(r=n))}),t.splice(r,0,e)}ut.log=console.debug||console.log||(()=>{});function $w(t){try{t?ut.storage.setItem("debug",t):ut.storage.removeItem("debug")}catch{}}function qw(){let t;try{t=ut.storage.getItem("debug")||ut.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function zw(){try{return localStorage}catch{}}bi.exports=Ac()(ut);var{formatters:Hw}=bi.exports;Hw.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Kp=X((F1,Vp)=>{"use strict";Vp.exports=(t,e=process.argv)=>{let n=t.startsWith("-")?"":t.length===1?"-":"--",r=e.indexOf(n+t),o=e.indexOf("--");return r!==-1&&(o===-1||r<o)}});var Xp=X((I1,Qp)=>{"use strict";var Ww=re("os"),Yp=re("tty"),Tt=Kp(),{env:Je}=process,$n;Tt("no-color")||Tt("no-colors")||Tt("color=false")||Tt("color=never")?$n=0:(Tt("color")||Tt("colors")||Tt("color=true")||Tt("color=always"))&&($n=1);"FORCE_COLOR"in Je&&(Je.FORCE_COLOR==="true"?$n=1:Je.FORCE_COLOR==="false"?$n=0:$n=Je.FORCE_COLOR.length===0?1:Math.min(parseInt(Je.FORCE_COLOR,10),3));function Sc(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function vc(t,e){if($n===0)return 0;if(Tt("color=16m")||Tt("color=full")||Tt("color=truecolor"))return 3;if(Tt("color=256"))return 2;if(t&&!e&&$n===void 0)return 0;let n=$n||0;if(Je.TERM==="dumb")return n;if(process.platform==="win32"){let r=Ww.release().split(".");return Number(r[0])>=10&&Number(r[2])>=10586?Number(r[2])>=14931?3:2:1}if("CI"in Je)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(r=>r in Je)||Je.CI_NAME==="codeship"?1:n;if("TEAMCITY_VERSION"in Je)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Je.TEAMCITY_VERSION)?1:0;if(Je.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Je){let r=parseInt((Je.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Je.TERM_PROGRAM){case"iTerm.app":return r>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Je.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Je.TERM)||"COLORTERM"in Je?1:n}function Gw(t){let e=vc(t,t&&t.isTTY);return Sc(e)}Qp.exports={supportsColor:Gw,stdout:Sc(vc(!0,Yp.isatty(1))),stderr:Sc(vc(!0,Yp.isatty(2)))}});var em=X((Ve,wi)=>{var Jw=re("tty"),Ci=re("util");Ve.init=eE;Ve.log=Qw;Ve.formatArgs=Kw;Ve.save=Xw;Ve.load=Zw;Ve.useColors=Vw;Ve.destroy=Ci.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ve.colors=[6,2,3,4,5,1];try{let t=Xp();t&&(t.stderr||t).level>=2&&(Ve.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}Ve.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let n=e.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),r=process.env[e];return/^(yes|on|true|enabled)$/i.test(r)?r=!0:/^(no|off|false|disabled)$/i.test(r)?r=!1:r==="null"?r=null:r=Number(r),t[n]=r,t},{});function Vw(){return"colors"in Ve.inspectOpts?!!Ve.inspectOpts.colors:Jw.isatty(process.stderr.fd)}function Kw(t){let{namespace:e,useColors:n}=this;if(n){let r=this.color,o="\x1B[3"+(r<8?r:"8;5;"+r),s=` ${o};1m${e} \x1B[0m`;t[0]=s+t[0].split(`
|
|
16
16
|
`).join(`
|
|
17
17
|
`+s),t.push(o+"m+"+wi.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=Yw()+e+" "+t[0]}function Yw(){return Ve.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Qw(...t){return process.stderr.write(Ci.formatWithOptions(Ve.inspectOpts,...t)+`
|
|
18
18
|
`)}function Xw(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function Zw(){return process.env.DEBUG}function eE(t){t.inspectOpts={};let e=Object.keys(Ve.inspectOpts);for(let n=0;n<e.length;n++)t.inspectOpts[e[n]]=Ve.inspectOpts[e[n]]}wi.exports=Ac()(Ve);var{formatters:Zp}=wi.exports;Zp.o=function(t){return this.inspectOpts.colors=this.useColors,Ci.inspect(t,this.inspectOpts).split(`
|
|
19
|
-
`).map(e=>e.trim()).join(" ")};Zp.O=function(t){return this.inspectOpts.colors=this.useColors,Ci.inspect(t,this.inspectOpts)}});var Dc=X((N1,
|
|
19
|
+
`).map(e=>e.trim()).join(" ")};Zp.O=function(t){return this.inspectOpts.colors=this.useColors,Ci.inspect(t,this.inspectOpts)}});var Dc=X((N1,Tc)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Tc.exports=Jp():Tc.exports=em()});var rm=X(ct=>{"use strict";var tE=ct&&ct.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),nE=ct&&ct.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),tm=ct&&ct.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&tE(e,t,n);return nE(e,t),e};Object.defineProperty(ct,"__esModule",{value:!0});ct.req=ct.json=ct.toBuffer=void 0;var rE=tm(re("http")),oE=tm(re("https"));async function nm(t){let e=0,n=[];for await(let r of t)e+=r.length,n.push(r);return Buffer.concat(n,e)}ct.toBuffer=nm;async function sE(t){let n=(await nm(t)).toString("utf8");try{return JSON.parse(n)}catch(r){let o=r;throw o.message+=` (input: ${n})`,o}}ct.json=sE;function iE(t,e={}){let r=((typeof t=="string"?t:t.href).startsWith("https:")?oE:rE).request(t,e),o=new Promise((s,a)=>{r.once("response",s).once("error",a).end()});return r.then=o.then.bind(o),r}ct.req=iE});var am=X(mt=>{"use strict";var sm=mt&&mt.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),aE=mt&&mt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),im=mt&&mt.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&sm(e,t,n);return aE(e,t),e},uE=mt&&mt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&sm(e,t,n)};Object.defineProperty(mt,"__esModule",{value:!0});mt.Agent=void 0;var cE=im(re("net")),om=im(re("http")),lE=re("https");uE(rm(),mt);var Qt=Symbol("AgentBaseInternalState"),Rc=class extends om.Agent{constructor(e){super(e),this[Qt]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:n}=new Error;return typeof n!="string"?!1:n.split(`
|
|
20
20
|
`).some(r=>r.indexOf("(https.js:")!==-1||r.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let n=new cE.Socket({writable:!1});return this.sockets[e].push(n),this.totalSocketCount++,n}decrementSockets(e,n){if(!this.sockets[e]||n===null)return;let r=this.sockets[e],o=r.indexOf(n);o!==-1&&(r.splice(o,1),this.totalSocketCount--,r.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?lE.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,n,r){let o={...n,secureEndpoint:this.isSecureEndpoint(n)},s=this.getName(o),a=this.incrementSockets(s);Promise.resolve().then(()=>this.connect(e,o)).then(u=>{if(this.decrementSockets(s,a),u instanceof om.Agent)try{return u.addRequest(e,o)}catch(l){return r(l)}this[Qt].currentSocket=u,super.createSocket(e,n,r)},u=>{this.decrementSockets(s,a),r(u)})}createConnection(){let e=this[Qt].currentSocket;if(this[Qt].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Qt].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Qt]&&(this[Qt].defaultPort=e)}get protocol(){return this[Qt].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Qt]&&(this[Qt].protocol=e)}};mt.Agent=Rc});var um=X(Jr=>{"use strict";var dE=Jr&&Jr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Jr,"__esModule",{value:!0});Jr.parseProxyResponse=void 0;var fE=dE(Dc()),Ei=(0,fE.default)("https-proxy-agent:parse-proxy-response");function hE(t){return new Promise((e,n)=>{let r=0,o=[];function s(){let d=t.read();d?f(d):t.once("readable",s)}function a(){t.removeListener("end",u),t.removeListener("error",l),t.removeListener("readable",s)}function u(){a(),Ei("onend"),n(new Error("Proxy connection ended before receiving CONNECT response"))}function l(d){a(),Ei("onerror %o",d),n(d)}function f(d){o.push(d),r+=d.length;let h=Buffer.concat(o,r),m=h.indexOf(`\r
|
|
21
21
|
\r
|
|
22
22
|
`);if(m===-1){Ei("have not received end of HTTP headers yet..."),s();return}let C=h.slice(0,m).toString("ascii").split(`\r
|
|
23
|
-
`),w=C.shift();if(!w)return t.destroy(),n(new Error("No header received from proxy CONNECT response"));let y=w.split(" "),g=+y[1],_=y.slice(2).join(" "),E={};for(let b of C){if(!b)continue;let S=b.indexOf(":");if(S===-1)return t.destroy(),n(new Error(`Invalid header from proxy CONNECT response: "${b}"`));let
|
|
23
|
+
`),w=C.shift();if(!w)return t.destroy(),n(new Error("No header received from proxy CONNECT response"));let y=w.split(" "),g=+y[1],_=y.slice(2).join(" "),E={};for(let b of C){if(!b)continue;let S=b.indexOf(":");if(S===-1)return t.destroy(),n(new Error(`Invalid header from proxy CONNECT response: "${b}"`));let T=b.slice(0,S).toLowerCase(),R=b.slice(S+1).trimStart(),$=E[T];typeof $=="string"?E[T]=[$,R]:Array.isArray($)?$.push(R):E[T]=R}Ei("got proxy server response: %o %o",w,E),a(),e({connect:{statusCode:g,statusText:_,headers:E},buffered:h})}t.on("error",l),t.on("end",u),s()})}Jr.parseProxyResponse=hE});var pm=X(Dt=>{"use strict";var pE=Dt&&Dt.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),mE=Dt&&Dt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),fm=Dt&&Dt.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&pE(e,t,n);return mE(e,t),e},hm=Dt&&Dt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Dt,"__esModule",{value:!0});Dt.HttpsProxyAgent=void 0;var ki=fm(re("net")),cm=fm(re("tls")),gE=hm(re("assert")),yE=hm(Dc()),_E=am(),bE=re("url"),CE=um(),jo=(0,yE.default)("https-proxy-agent"),lm=t=>t.servername===void 0&&t.host&&!ki.isIP(t.host)?{...t,servername:t.host}:t,Ai=class extends _E.Agent{constructor(e,n){super(n),this.options={path:void 0},this.proxy=typeof e=="string"?new bE.URL(e):e,this.proxyHeaders=n?.headers??{},jo("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let r=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),o=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...n?dm(n,"headers"):null,host:r,port:o}}async connect(e,n){let{proxy:r}=this;if(!n.host)throw new TypeError('No "host" provided');let o;r.protocol==="https:"?(jo("Creating `tls.Socket`: %o",this.connectOpts),o=cm.connect(lm(this.connectOpts))):(jo("Creating `net.Socket`: %o",this.connectOpts),o=ki.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=ki.isIPv6(n.host)?`[${n.host}]`:n.host,u=`CONNECT ${a}:${n.port} HTTP/1.1\r
|
|
24
24
|
`;if(r.username||r.password){let m=`${decodeURIComponent(r.username)}:${decodeURIComponent(r.password)}`;s["Proxy-Authorization"]=`Basic ${Buffer.from(m).toString("base64")}`}s.Host=`${a}:${n.port}`,s["Proxy-Connection"]||(s["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let m of Object.keys(s))u+=`${m}: ${s[m]}\r
|
|
25
25
|
`;let l=(0,CE.parseProxyResponse)(o);o.write(`${u}\r
|
|
26
|
-
`);let{connect:f,buffered:d}=await l;if(e.emit("proxyConnect",f),this.emit("proxyConnect",f,e),f.statusCode===200)return e.once("socket",wE),n.secureEndpoint?(jo("Upgrading socket connection to TLS"),cm.connect({...dm(lm(n),"host","path","port"),socket:o})):o;o.destroy();let h=new ki.Socket({writable:!1});return h.readable=!0,e.once("socket",m=>{jo("Replaying proxy buffer for failed request"),(0,gE.default)(m.listenerCount("data")>0),m.push(d),m.push(null)}),h}};Ai.protocols=["http","https"];Dt.HttpsProxyAgent=Ai;function wE(t){t.resume()}function dm(t,...e){let n={},r;for(r in t)e.includes(r)||(n[r]=t[r]);return n}});function EE(t){if(!/^data:/i.test(t))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');t=t.replace(/\r?\n/g,"");let e=t.indexOf(",");if(e===-1||e<=4)throw new TypeError("malformed data: URI");let n=t.substring(5,e).split(";"),r="",o=!1,s=n[0]||"text/plain",a=s;for(let d=1;d<n.length;d++)n[d]==="base64"?o=!0:n[d]&&(a+=`;${n[d]}`,n[d].indexOf("charset=")===0&&(r=n[d].substring(8)));!n[0]&&!r.length&&(a+=";charset=US-ASCII",r="US-ASCII");let u=o?"base64":"ascii",l=unescape(t.substring(e+1)),f=Buffer.from(l,u);return f.type=s,f.typeFull=a,f.charset=r,f}var mm,gm=Le(()=>{mm=EE});var _m=X((Si,ym)=>{(function(t,e){typeof Si=="object"&&typeof ym<"u"?e(Si):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(Si,(function(t){"use strict";function e(){}function n(i){return typeof i=="object"&&i!==null||typeof i=="function"}let r=e;function o(i,c){try{Object.defineProperty(i,"name",{value:c,configurable:!0})}catch{}}let s=Promise,a=Promise.prototype.then,u=Promise.reject.bind(s);function l(i){return new s(i)}function f(i){return l(c=>c(i))}function d(i){return u(i)}function h(i,c,p){return a.call(i,c,p)}function m(i,c,p){h(h(i,c,p),void 0,r)}function C(i,c){m(i,c)}function w(i,c){m(i,void 0,c)}function y(i,c,p){return h(i,c,p)}function g(i){h(i,void 0,r)}let _=i=>{if(typeof queueMicrotask=="function")_=queueMicrotask;else{let c=f(void 0);_=p=>h(c,p)}return _(i)};function E(i,c,p){if(typeof i!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(i,c,p)}function b(i,c,p){try{return f(E(i,c,p))}catch(A){return d(A)}}let S=16384;class v{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(c){let p=this._back,A=p;p._elements.length===S-1&&(A={_elements:[],_next:void 0}),p._elements.push(c),A!==p&&(this._back=A,p._next=A),++this._size}shift(){let c=this._front,p=c,A=this._cursor,x=A+1,j=c._elements,z=j[A];return x===S&&(p=c._next,x=0),--this._size,this._cursor=x,c!==p&&(this._front=p),j[A]=void 0,z}forEach(c){let p=this._cursor,A=this._front,x=A._elements;for(;(p!==x.length||A._next!==void 0)&&!(p===x.length&&(A=A._next,x=A._elements,p=0,x.length===0));)c(x[p]),++p}peek(){let c=this._front,p=this._cursor;return c._elements[p]}}let R=Symbol("[[AbortSteps]]"),$=Symbol("[[ErrorSteps]]"),H=Symbol("[[CancelSteps]]"),P=Symbol("[[PullSteps]]"),K=Symbol("[[ReleaseSteps]]");function q(i,c){i._ownerReadableStream=c,c._reader=i,c._state==="readable"?se(i):c._state==="closed"?pe(i):ie(i,c._storedError)}function Y(i,c){let p=i._ownerReadableStream;return Mt(p,c)}function Q(i){let c=i._ownerReadableStream;c._state==="readable"?J(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):Z(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),c._readableStreamController[K](),c._reader=void 0,i._ownerReadableStream=void 0}function ee(i){return new TypeError("Cannot "+i+" a stream using a released reader")}function se(i){i._closedPromise=l((c,p)=>{i._closedPromise_resolve=c,i._closedPromise_reject=p})}function ie(i,c){se(i),J(i,c)}function pe(i){se(i),ce(i)}function J(i,c){i._closedPromise_reject!==void 0&&(g(i._closedPromise),i._closedPromise_reject(c),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}function Z(i,c){ie(i,c)}function ce(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}let je=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},we=Math.trunc||function(i){return i<0?Math.ceil(i):Math.floor(i)};function V(i){return typeof i=="object"||typeof i=="function"}function ue(i,c){if(i!==void 0&&!V(i))throw new TypeError(`${c} is not an object.`)}function te(i,c){if(typeof i!="function")throw new TypeError(`${c} is not a function.`)}function ve(i){return typeof i=="object"&&i!==null||typeof i=="function"}function Oe(i,c){if(!ve(i))throw new TypeError(`${c} is not an object.`)}function Ue(i,c,p){if(i===void 0)throw new TypeError(`Parameter ${c} is required in '${p}'.`)}function k(i,c,p){if(i===void 0)throw new TypeError(`${c} is required in '${p}'.`)}function T(i){return Number(i)}function D(i){return i===0?0:i}function M(i){return D(we(i))}function F(i,c){let A=Number.MAX_SAFE_INTEGER,x=Number(i);if(x=D(x),!je(x))throw new TypeError(`${c} is not a finite number`);if(x=M(x),x<0||x>A)throw new TypeError(`${c} is outside the accepted range of 0 to ${A}, inclusive`);return!je(x)||x===0?0:x}function N(i,c){if(!In(i))throw new TypeError(`${c} is not a ReadableStream.`)}function U(i){return new W(i)}function O(i,c){i._reader._readRequests.push(c)}function I(i,c,p){let x=i._reader._readRequests.shift();p?x._closeSteps():x._chunkSteps(c)}function L(i){return i._reader._readRequests.length}function B(i){let c=i._reader;return!(c===void 0||!oe(c))}class W{constructor(c){if(Ue(c,1,"ReadableStreamDefaultReader"),N(c,"First parameter"),Nn(c))throw new TypeError("This stream has already been locked for exclusive reading by another reader");q(this,c),this._readRequests=new v}get closed(){return oe(this)?this._closedPromise:d(Me("closed"))}cancel(c=void 0){return oe(this)?this._ownerReadableStream===void 0?d(ee("cancel")):Y(this,c):d(Me("cancel"))}read(){if(!oe(this))return d(Me("read"));if(this._ownerReadableStream===void 0)return d(ee("read from"));let c,p,A=l((j,z)=>{c=j,p=z});return ae(this,{_chunkSteps:j=>c({value:j,done:!1}),_closeSteps:()=>c({value:void 0,done:!0}),_errorSteps:j=>p(j)}),A}releaseLock(){if(!oe(this))throw Me("releaseLock");this._ownerReadableStream!==void 0&&Se(this)}}Object.defineProperties(W.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(W.prototype.cancel,"cancel"),o(W.prototype.read,"read"),o(W.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(W.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function oe(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_readRequests")?!1:i instanceof W}function ae(i,c){let p=i._ownerReadableStream;p._disturbed=!0,p._state==="closed"?c._closeSteps():p._state==="errored"?c._errorSteps(p._storedError):p._readableStreamController[P](c)}function Se(i){Q(i);let c=new TypeError("Reader was released");Ie(i,c)}function Ie(i,c){let p=i._readRequests;i._readRequests=new v,p.forEach(A=>{A._errorSteps(c)})}function Me(i){return new TypeError(`ReadableStreamDefaultReader.prototype.${i} can only be used on a ReadableStreamDefaultReader`)}let Ae=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class Te{constructor(c,p){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=c,this._preventCancel=p}next(){let c=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?y(this._ongoingPromise,c,c):c(),this._ongoingPromise}return(c){let p=()=>this._returnSteps(c);return this._ongoingPromise?y(this._ongoingPromise,p,p):p()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let c=this._reader,p,A,x=l((z,ne)=>{p=z,A=ne});return ae(c,{_chunkSteps:z=>{this._ongoingPromise=void 0,_(()=>p({value:z,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Q(c),p({value:void 0,done:!0})},_errorSteps:z=>{this._ongoingPromise=void 0,this._isFinished=!0,Q(c),A(z)}}),x}_returnSteps(c){if(this._isFinished)return Promise.resolve({value:c,done:!0});this._isFinished=!0;let p=this._reader;if(!this._preventCancel){let A=Y(p,c);return Q(p),y(A,()=>({value:c,done:!0}))}return Q(p),f({value:c,done:!0})}}let qe={next(){return wr(this)?this._asyncIteratorImpl.next():d(Er("next"))},return(i){return wr(this)?this._asyncIteratorImpl.return(i):d(Er("return"))}};Object.setPrototypeOf(qe,Ae);function Cr(i,c){let p=U(i),A=new Te(p,c),x=Object.create(qe);return x._asyncIteratorImpl=A,x}function wr(i){if(!n(i)||!Object.prototype.hasOwnProperty.call(i,"_asyncIteratorImpl"))return!1;try{return i._asyncIteratorImpl instanceof Te}catch{return!1}}function Er(i){return new TypeError(`ReadableStreamAsyncIterator.${i} can only be used on a ReadableSteamAsyncIterator`)}let ft=Number.isNaN||function(i){return i!==i};var fn,Ze,ze;function De(i){return i.slice()}function Ef(i,c,p,A,x){new Uint8Array(i).set(new Uint8Array(p,A,x),c)}let hn=i=>(typeof i.transfer=="function"?hn=c=>c.transfer():typeof structuredClone=="function"?hn=c=>structuredClone(c,{transfer:[c]}):hn=c=>c,hn(i)),xn=i=>(typeof i.detached=="boolean"?xn=c=>c.detached:xn=c=>c.byteLength===0,xn(i));function kf(i,c,p){if(i.slice)return i.slice(c,p);let A=p-c,x=new ArrayBuffer(A);return Ef(x,0,i,c,A),x}function As(i,c){let p=i[c];if(p!=null){if(typeof p!="function")throw new TypeError(`${String(c)} is not a function`);return p}}function E_(i){let c={[Symbol.iterator]:()=>i.iterator},p=(async function*(){return yield*c})(),A=p.next;return{iterator:p,nextMethod:A,done:!1}}let du=(ze=(fn=Symbol.asyncIterator)!==null&&fn!==void 0?fn:(Ze=Symbol.for)===null||Ze===void 0?void 0:Ze.call(Symbol,"Symbol.asyncIterator"))!==null&&ze!==void 0?ze:"@@asyncIterator";function Af(i,c="sync",p){if(p===void 0)if(c==="async"){if(p=As(i,du),p===void 0){let j=As(i,Symbol.iterator),z=Af(i,"sync",j);return E_(z)}}else p=As(i,Symbol.iterator);if(p===void 0)throw new TypeError("The object is not iterable");let A=E(p,i,[]);if(!n(A))throw new TypeError("The iterator method must return an object");let x=A.next;return{iterator:A,nextMethod:x,done:!1}}function k_(i){let c=E(i.nextMethod,i.iterator,[]);if(!n(c))throw new TypeError("The iterator.next() method must return an object");return c}function A_(i){return!!i.done}function S_(i){return i.value}function T_(i){return!(typeof i!="number"||ft(i)||i<0)}function Sf(i){let c=kf(i.buffer,i.byteOffset,i.byteOffset+i.byteLength);return new Uint8Array(c)}function fu(i){let c=i._queue.shift();return i._queueTotalSize-=c.size,i._queueTotalSize<0&&(i._queueTotalSize=0),c.value}function hu(i,c,p){if(!T_(p)||p===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");i._queue.push({value:c,size:p}),i._queueTotalSize+=p}function v_(i){return i._queue.peek().value}function On(i){i._queue=new v,i._queueTotalSize=0}function Tf(i){return i===DataView}function D_(i){return Tf(i.constructor)}function R_(i){return Tf(i)?1:i.BYTES_PER_ELEMENT}class Zn{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!pu(this))throw bu("view");return this._view}respond(c){if(!pu(this))throw bu("respond");if(Ue(c,1,"respond"),c=F(c,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(xn(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Ds(this._associatedReadableByteStreamController,c)}respondWithNewView(c){if(!pu(this))throw bu("respondWithNewView");if(Ue(c,1,"respondWithNewView"),!ArrayBuffer.isView(c))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(xn(c.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Rs(this._associatedReadableByteStreamController,c)}}Object.defineProperties(Zn.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),o(Zn.prototype.respond,"respond"),o(Zn.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Zn.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class pn{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!er(this))throw So("byobRequest");return _u(this)}get desiredSize(){if(!er(this))throw So("desiredSize");return Bf(this)}close(){if(!er(this))throw So("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let c=this._controlledReadableByteStream._state;if(c!=="readable")throw new TypeError(`The stream (in ${c} state) is not in the readable state and cannot be closed`);Ao(this)}enqueue(c){if(!er(this))throw So("enqueue");if(Ue(c,1,"enqueue"),!ArrayBuffer.isView(c))throw new TypeError("chunk must be an array buffer view");if(c.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(c.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let p=this._controlledReadableByteStream._state;if(p!=="readable")throw new TypeError(`The stream (in ${p} state) is not in the readable state and cannot be enqueued to`);vs(this,c)}error(c=void 0){if(!er(this))throw So("error");At(this,c)}[H](c){vf(this),On(this);let p=this._cancelAlgorithm(c);return Ts(this),p}[P](c){let p=this._controlledReadableByteStream;if(this._queueTotalSize>0){Nf(this,c);return}let A=this._autoAllocateChunkSize;if(A!==void 0){let x;try{x=new ArrayBuffer(A)}catch(z){c._errorSteps(z);return}let j={buffer:x,bufferByteLength:A,byteOffset:0,byteLength:A,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(j)}O(p,c),tr(this)}[K](){if(this._pendingPullIntos.length>0){let c=this._pendingPullIntos.peek();c.readerType="none",this._pendingPullIntos=new v,this._pendingPullIntos.push(c)}}}Object.defineProperties(pn.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),o(pn.prototype.close,"close"),o(pn.prototype.enqueue,"enqueue"),o(pn.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pn.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function er(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableByteStream")?!1:i instanceof pn}function pu(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_associatedReadableByteStreamController")?!1:i instanceof Zn}function tr(i){if(!I_(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let p=i._pullAlgorithm();m(p,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,tr(i)),null),A=>(At(i,A),null))}function vf(i){gu(i),i._pendingPullIntos=new v}function mu(i,c){let p=!1;i._state==="closed"&&(p=!0);let A=Df(c);c.readerType==="default"?I(i,A,p):U_(i,A,p)}function Df(i){let c=i.bytesFilled,p=i.elementSize;return new i.viewConstructor(i.buffer,i.byteOffset,c/p)}function Ss(i,c,p,A){i._queue.push({buffer:c,byteOffset:p,byteLength:A}),i._queueTotalSize+=A}function Rf(i,c,p,A){let x;try{x=kf(c,p,p+A)}catch(j){throw At(i,j),j}Ss(i,x,0,A)}function xf(i,c){c.bytesFilled>0&&Rf(i,c.buffer,c.byteOffset,c.bytesFilled),kr(i)}function Of(i,c){let p=Math.min(i._queueTotalSize,c.byteLength-c.bytesFilled),A=c.bytesFilled+p,x=p,j=!1,z=A%c.elementSize,ne=A-z;ne>=c.minimumFill&&(x=ne-c.bytesFilled,j=!0);let me=i._queue;for(;x>0;){let de=me.peek(),ge=Math.min(x,de.byteLength),Ce=c.byteOffset+c.bytesFilled;Ef(c.buffer,Ce,de.buffer,de.byteOffset,ge),de.byteLength===ge?me.shift():(de.byteOffset+=ge,de.byteLength-=ge),i._queueTotalSize-=ge,Pf(i,ge,c),x-=ge}return j}function Pf(i,c,p){p.bytesFilled+=c}function Ff(i){i._queueTotalSize===0&&i._closeRequested?(Ts(i),Oo(i._controlledReadableByteStream)):tr(i)}function gu(i){i._byobRequest!==null&&(i._byobRequest._associatedReadableByteStreamController=void 0,i._byobRequest._view=null,i._byobRequest=null)}function yu(i){for(;i._pendingPullIntos.length>0;){if(i._queueTotalSize===0)return;let c=i._pendingPullIntos.peek();Of(i,c)&&(kr(i),mu(i._controlledReadableByteStream,c))}}function x_(i){let c=i._controlledReadableByteStream._reader;for(;c._readRequests.length>0;){if(i._queueTotalSize===0)return;let p=c._readRequests.shift();Nf(i,p)}}function O_(i,c,p,A){let x=i._controlledReadableByteStream,j=c.constructor,z=R_(j),{byteOffset:ne,byteLength:me}=c,de=p*z,ge;try{ge=hn(c.buffer)}catch(xe){A._errorSteps(xe);return}let Ce={buffer:ge,bufferByteLength:ge.byteLength,byteOffset:ne,byteLength:me,bytesFilled:0,minimumFill:de,elementSize:z,viewConstructor:j,readerType:"byob"};if(i._pendingPullIntos.length>0){i._pendingPullIntos.push(Ce),jf(x,A);return}if(x._state==="closed"){let xe=new j(Ce.buffer,Ce.byteOffset,0);A._closeSteps(xe);return}if(i._queueTotalSize>0){if(Of(i,Ce)){let xe=Df(Ce);Ff(i),A._chunkSteps(xe);return}if(i._closeRequested){let xe=new TypeError("Insufficient bytes to fill elements in the given buffer");At(i,xe),A._errorSteps(xe);return}}i._pendingPullIntos.push(Ce),jf(x,A),tr(i)}function P_(i,c){c.readerType==="none"&&kr(i);let p=i._controlledReadableByteStream;if(Cu(p))for(;Uf(p)>0;){let A=kr(i);mu(p,A)}}function F_(i,c,p){if(Pf(i,c,p),p.readerType==="none"){xf(i,p),yu(i);return}if(p.bytesFilled<p.minimumFill)return;kr(i);let A=p.bytesFilled%p.elementSize;if(A>0){let x=p.byteOffset+p.bytesFilled;Rf(i,p.buffer,x-A,A)}p.bytesFilled-=A,mu(i._controlledReadableByteStream,p),yu(i)}function If(i,c){let p=i._pendingPullIntos.peek();gu(i),i._controlledReadableByteStream._state==="closed"?P_(i,p):F_(i,c,p),tr(i)}function kr(i){return i._pendingPullIntos.shift()}function I_(i){let c=i._controlledReadableByteStream;return c._state!=="readable"||i._closeRequested||!i._started?!1:!!(B(c)&&L(c)>0||Cu(c)&&Uf(c)>0||Bf(i)>0)}function Ts(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0}function Ao(i){let c=i._controlledReadableByteStream;if(!(i._closeRequested||c._state!=="readable")){if(i._queueTotalSize>0){i._closeRequested=!0;return}if(i._pendingPullIntos.length>0){let p=i._pendingPullIntos.peek();if(p.bytesFilled%p.elementSize!==0){let A=new TypeError("Insufficient bytes to fill elements in the given buffer");throw At(i,A),A}}Ts(i),Oo(c)}}function vs(i,c){let p=i._controlledReadableByteStream;if(i._closeRequested||p._state!=="readable")return;let{buffer:A,byteOffset:x,byteLength:j}=c;if(xn(A))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let z=hn(A);if(i._pendingPullIntos.length>0){let ne=i._pendingPullIntos.peek();if(xn(ne.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");gu(i),ne.buffer=hn(ne.buffer),ne.readerType==="none"&&xf(i,ne)}if(B(p))if(x_(i),L(p)===0)Ss(i,z,x,j);else{i._pendingPullIntos.length>0&&kr(i);let ne=new Uint8Array(z,x,j);I(p,ne,!1)}else Cu(p)?(Ss(i,z,x,j),yu(i)):Ss(i,z,x,j);tr(i)}function At(i,c){let p=i._controlledReadableByteStream;p._state==="readable"&&(vf(i),On(i),Ts(i),lh(p,c))}function Nf(i,c){let p=i._queue.shift();i._queueTotalSize-=p.byteLength,Ff(i);let A=new Uint8Array(p.buffer,p.byteOffset,p.byteLength);c._chunkSteps(A)}function _u(i){if(i._byobRequest===null&&i._pendingPullIntos.length>0){let c=i._pendingPullIntos.peek(),p=new Uint8Array(c.buffer,c.byteOffset+c.bytesFilled,c.byteLength-c.bytesFilled),A=Object.create(Zn.prototype);B_(A,i,p),i._byobRequest=A}return i._byobRequest}function Bf(i){let c=i._controlledReadableByteStream._state;return c==="errored"?null:c==="closed"?0:i._strategyHWM-i._queueTotalSize}function Ds(i,c){let p=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(c!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(c===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(p.bytesFilled+c>p.byteLength)throw new RangeError("bytesWritten out of range")}p.buffer=hn(p.buffer),If(i,c)}function Rs(i,c){let p=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(c.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(c.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(p.byteOffset+p.bytesFilled!==c.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(p.bufferByteLength!==c.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(p.bytesFilled+c.byteLength>p.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let x=c.byteLength;p.buffer=hn(c.buffer),If(i,x)}function Mf(i,c,p,A,x,j,z){c._controlledReadableByteStream=i,c._pullAgain=!1,c._pulling=!1,c._byobRequest=null,c._queue=c._queueTotalSize=void 0,On(c),c._closeRequested=!1,c._started=!1,c._strategyHWM=j,c._pullAlgorithm=A,c._cancelAlgorithm=x,c._autoAllocateChunkSize=z,c._pendingPullIntos=new v,i._readableStreamController=c;let ne=p();m(f(ne),()=>(c._started=!0,tr(c),null),me=>(At(c,me),null))}function N_(i,c,p){let A=Object.create(pn.prototype),x,j,z;c.start!==void 0?x=()=>c.start(A):x=()=>{},c.pull!==void 0?j=()=>c.pull(A):j=()=>f(void 0),c.cancel!==void 0?z=me=>c.cancel(me):z=()=>f(void 0);let ne=c.autoAllocateChunkSize;if(ne===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Mf(i,A,x,j,z,p,ne)}function B_(i,c,p){i._associatedReadableByteStreamController=c,i._view=p}function bu(i){return new TypeError(`ReadableStreamBYOBRequest.prototype.${i} can only be used on a ReadableStreamBYOBRequest`)}function So(i){return new TypeError(`ReadableByteStreamController.prototype.${i} can only be used on a ReadableByteStreamController`)}function M_(i,c){ue(i,c);let p=i?.mode;return{mode:p===void 0?void 0:L_(p,`${c} has member 'mode' that`)}}function L_(i,c){if(i=`${i}`,i!=="byob")throw new TypeError(`${c} '${i}' is not a valid enumeration value for ReadableStreamReaderMode`);return i}function j_(i,c){var p;ue(i,c);let A=(p=i?.min)!==null&&p!==void 0?p:1;return{min:F(A,`${c} has member 'min' that`)}}function Lf(i){return new Pn(i)}function jf(i,c){i._reader._readIntoRequests.push(c)}function U_(i,c,p){let x=i._reader._readIntoRequests.shift();p?x._closeSteps(c):x._chunkSteps(c)}function Uf(i){return i._reader._readIntoRequests.length}function Cu(i){let c=i._reader;return!(c===void 0||!nr(c))}class Pn{constructor(c){if(Ue(c,1,"ReadableStreamBYOBReader"),N(c,"First parameter"),Nn(c))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!er(c._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");q(this,c),this._readIntoRequests=new v}get closed(){return nr(this)?this._closedPromise:d(xs("closed"))}cancel(c=void 0){return nr(this)?this._ownerReadableStream===void 0?d(ee("cancel")):Y(this,c):d(xs("cancel"))}read(c,p={}){if(!nr(this))return d(xs("read"));if(!ArrayBuffer.isView(c))return d(new TypeError("view must be an array buffer view"));if(c.byteLength===0)return d(new TypeError("view must have non-zero byteLength"));if(c.buffer.byteLength===0)return d(new TypeError("view's buffer must have non-zero byteLength"));if(xn(c.buffer))return d(new TypeError("view's buffer has been detached"));let A;try{A=j_(p,"options")}catch(de){return d(de)}let x=A.min;if(x===0)return d(new TypeError("options.min must be greater than 0"));if(D_(c)){if(x>c.byteLength)return d(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(x>c.length)return d(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return d(ee("read from"));let j,z,ne=l((de,ge)=>{j=de,z=ge});return $f(this,c,x,{_chunkSteps:de=>j({value:de,done:!1}),_closeSteps:de=>j({value:de,done:!0}),_errorSteps:de=>z(de)}),ne}releaseLock(){if(!nr(this))throw xs("releaseLock");this._ownerReadableStream!==void 0&&$_(this)}}Object.defineProperties(Pn.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(Pn.prototype.cancel,"cancel"),o(Pn.prototype.read,"read"),o(Pn.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Pn.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function nr(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_readIntoRequests")?!1:i instanceof Pn}function $f(i,c,p,A){let x=i._ownerReadableStream;x._disturbed=!0,x._state==="errored"?A._errorSteps(x._storedError):O_(x._readableStreamController,c,p,A)}function $_(i){Q(i);let c=new TypeError("Reader was released");qf(i,c)}function qf(i,c){let p=i._readIntoRequests;i._readIntoRequests=new v,p.forEach(A=>{A._errorSteps(c)})}function xs(i){return new TypeError(`ReadableStreamBYOBReader.prototype.${i} can only be used on a ReadableStreamBYOBReader`)}function To(i,c){let{highWaterMark:p}=i;if(p===void 0)return c;if(ft(p)||p<0)throw new RangeError("Invalid highWaterMark");return p}function Os(i){let{size:c}=i;return c||(()=>1)}function Ps(i,c){ue(i,c);let p=i?.highWaterMark,A=i?.size;return{highWaterMark:p===void 0?void 0:T(p),size:A===void 0?void 0:q_(A,`${c} has member 'size' that`)}}function q_(i,c){return te(i,c),p=>T(i(p))}function z_(i,c){ue(i,c);let p=i?.abort,A=i?.close,x=i?.start,j=i?.type,z=i?.write;return{abort:p===void 0?void 0:H_(p,i,`${c} has member 'abort' that`),close:A===void 0?void 0:W_(A,i,`${c} has member 'close' that`),start:x===void 0?void 0:G_(x,i,`${c} has member 'start' that`),write:z===void 0?void 0:J_(z,i,`${c} has member 'write' that`),type:j}}function H_(i,c,p){return te(i,p),A=>b(i,c,[A])}function W_(i,c,p){return te(i,p),()=>b(i,c,[])}function G_(i,c,p){return te(i,p),A=>E(i,c,[A])}function J_(i,c,p){return te(i,p),(A,x)=>b(i,c,[A,x])}function zf(i,c){if(!Ar(i))throw new TypeError(`${c} is not a WritableStream.`)}function V_(i){if(typeof i!="object"||i===null)return!1;try{return typeof i.aborted=="boolean"}catch{return!1}}let K_=typeof AbortController=="function";function Y_(){if(K_)return new AbortController}class Fn{constructor(c={},p={}){c===void 0?c=null:Oe(c,"First parameter");let A=Ps(p,"Second parameter"),x=z_(c,"First parameter");if(Wf(this),x.type!==void 0)throw new RangeError("Invalid type is specified");let z=Os(A),ne=To(A,1);lb(this,x,ne,z)}get locked(){if(!Ar(this))throw Ms("locked");return Sr(this)}abort(c=void 0){return Ar(this)?Sr(this)?d(new TypeError("Cannot abort a stream that already has a writer")):Fs(this,c):d(Ms("abort"))}close(){return Ar(this)?Sr(this)?d(new TypeError("Cannot close a stream that already has a writer")):Yt(this)?d(new TypeError("Cannot close an already-closing stream")):Gf(this):d(Ms("close"))}getWriter(){if(!Ar(this))throw Ms("getWriter");return Hf(this)}}Object.defineProperties(Fn.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),o(Fn.prototype.abort,"abort"),o(Fn.prototype.close,"close"),o(Fn.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Fn.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function Hf(i){return new mn(i)}function Q_(i,c,p,A,x=1,j=()=>1){let z=Object.create(Fn.prototype);Wf(z);let ne=Object.create(Tr.prototype);return Xf(z,ne,i,c,p,A,x,j),z}function Wf(i){i._state="writable",i._storedError=void 0,i._writer=void 0,i._writableStreamController=void 0,i._writeRequests=new v,i._inFlightWriteRequest=void 0,i._closeRequest=void 0,i._inFlightCloseRequest=void 0,i._pendingAbortRequest=void 0,i._backpressure=!1}function Ar(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_writableStreamController")?!1:i instanceof Fn}function Sr(i){return i._writer!==void 0}function Fs(i,c){var p;if(i._state==="closed"||i._state==="errored")return f(void 0);i._writableStreamController._abortReason=c,(p=i._writableStreamController._abortController)===null||p===void 0||p.abort(c);let A=i._state;if(A==="closed"||A==="errored")return f(void 0);if(i._pendingAbortRequest!==void 0)return i._pendingAbortRequest._promise;let x=!1;A==="erroring"&&(x=!0,c=void 0);let j=l((z,ne)=>{i._pendingAbortRequest={_promise:void 0,_resolve:z,_reject:ne,_reason:c,_wasAlreadyErroring:x}});return i._pendingAbortRequest._promise=j,x||Eu(i,c),j}function Gf(i){let c=i._state;if(c==="closed"||c==="errored")return d(new TypeError(`The stream (in ${c} state) is not in the writable state and cannot be closed`));let p=l((x,j)=>{let z={_resolve:x,_reject:j};i._closeRequest=z}),A=i._writer;return A!==void 0&&i._backpressure&&c==="writable"&&xu(A),db(i._writableStreamController),p}function X_(i){return l((p,A)=>{let x={_resolve:p,_reject:A};i._writeRequests.push(x)})}function wu(i,c){if(i._state==="writable"){Eu(i,c);return}ku(i)}function Eu(i,c){let p=i._writableStreamController;i._state="erroring",i._storedError=c;let A=i._writer;A!==void 0&&Vf(A,c),!rb(i)&&p._started&&ku(i)}function ku(i){i._state="errored",i._writableStreamController[$]();let c=i._storedError;if(i._writeRequests.forEach(x=>{x._reject(c)}),i._writeRequests=new v,i._pendingAbortRequest===void 0){Is(i);return}let p=i._pendingAbortRequest;if(i._pendingAbortRequest=void 0,p._wasAlreadyErroring){p._reject(c),Is(i);return}let A=i._writableStreamController[R](p._reason);m(A,()=>(p._resolve(),Is(i),null),x=>(p._reject(x),Is(i),null))}function Z_(i){i._inFlightWriteRequest._resolve(void 0),i._inFlightWriteRequest=void 0}function eb(i,c){i._inFlightWriteRequest._reject(c),i._inFlightWriteRequest=void 0,wu(i,c)}function tb(i){i._inFlightCloseRequest._resolve(void 0),i._inFlightCloseRequest=void 0,i._state==="erroring"&&(i._storedError=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._resolve(),i._pendingAbortRequest=void 0)),i._state="closed";let p=i._writer;p!==void 0&&nh(p)}function nb(i,c){i._inFlightCloseRequest._reject(c),i._inFlightCloseRequest=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._reject(c),i._pendingAbortRequest=void 0),wu(i,c)}function Yt(i){return!(i._closeRequest===void 0&&i._inFlightCloseRequest===void 0)}function rb(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}function ob(i){i._inFlightCloseRequest=i._closeRequest,i._closeRequest=void 0}function sb(i){i._inFlightWriteRequest=i._writeRequests.shift()}function Is(i){i._closeRequest!==void 0&&(i._closeRequest._reject(i._storedError),i._closeRequest=void 0);let c=i._writer;c!==void 0&&Du(c,i._storedError)}function Au(i,c){let p=i._writer;p!==void 0&&c!==i._backpressure&&(c?_b(p):xu(p)),i._backpressure=c}class mn{constructor(c){if(Ue(c,1,"WritableStreamDefaultWriter"),zf(c,"First parameter"),Sr(c))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=c,c._writer=this;let p=c._state;if(p==="writable")!Yt(c)&&c._backpressure?js(this):rh(this),Ls(this);else if(p==="erroring")Ru(this,c._storedError),Ls(this);else if(p==="closed")rh(this),gb(this);else{let A=c._storedError;Ru(this,A),th(this,A)}}get closed(){return rr(this)?this._closedPromise:d(or("closed"))}get desiredSize(){if(!rr(this))throw or("desiredSize");if(this._ownerWritableStream===void 0)throw Do("desiredSize");return cb(this)}get ready(){return rr(this)?this._readyPromise:d(or("ready"))}abort(c=void 0){return rr(this)?this._ownerWritableStream===void 0?d(Do("abort")):ib(this,c):d(or("abort"))}close(){if(!rr(this))return d(or("close"));let c=this._ownerWritableStream;return c===void 0?d(Do("close")):Yt(c)?d(new TypeError("Cannot close an already-closing stream")):Jf(this)}releaseLock(){if(!rr(this))throw or("releaseLock");this._ownerWritableStream!==void 0&&Kf(this)}write(c=void 0){return rr(this)?this._ownerWritableStream===void 0?d(Do("write to")):Yf(this,c):d(or("write"))}}Object.defineProperties(mn.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),o(mn.prototype.abort,"abort"),o(mn.prototype.close,"close"),o(mn.prototype.releaseLock,"releaseLock"),o(mn.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(mn.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function rr(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_ownerWritableStream")?!1:i instanceof mn}function ib(i,c){let p=i._ownerWritableStream;return Fs(p,c)}function Jf(i){let c=i._ownerWritableStream;return Gf(c)}function ab(i){let c=i._ownerWritableStream,p=c._state;return Yt(c)||p==="closed"?f(void 0):p==="errored"?d(c._storedError):Jf(i)}function ub(i,c){i._closedPromiseState==="pending"?Du(i,c):yb(i,c)}function Vf(i,c){i._readyPromiseState==="pending"?oh(i,c):bb(i,c)}function cb(i){let c=i._ownerWritableStream,p=c._state;return p==="errored"||p==="erroring"?null:p==="closed"?0:Zf(c._writableStreamController)}function Kf(i){let c=i._ownerWritableStream,p=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Vf(i,p),ub(i,p),c._writer=void 0,i._ownerWritableStream=void 0}function Yf(i,c){let p=i._ownerWritableStream,A=p._writableStreamController,x=fb(A,c);if(p!==i._ownerWritableStream)return d(Do("write to"));let j=p._state;if(j==="errored")return d(p._storedError);if(Yt(p)||j==="closed")return d(new TypeError("The stream is closing or closed and cannot be written to"));if(j==="erroring")return d(p._storedError);let z=X_(p);return hb(A,c,x),z}let Qf={};class Tr{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!Su(this))throw vu("abortReason");return this._abortReason}get signal(){if(!Su(this))throw vu("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(c=void 0){if(!Su(this))throw vu("error");this._controlledWritableStream._state==="writable"&&eh(this,c)}[R](c){let p=this._abortAlgorithm(c);return Ns(this),p}[$](){On(this)}}Object.defineProperties(Tr.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Tr.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function Su(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledWritableStream")?!1:i instanceof Tr}function Xf(i,c,p,A,x,j,z,ne){c._controlledWritableStream=i,i._writableStreamController=c,c._queue=void 0,c._queueTotalSize=void 0,On(c),c._abortReason=void 0,c._abortController=Y_(),c._started=!1,c._strategySizeAlgorithm=ne,c._strategyHWM=z,c._writeAlgorithm=A,c._closeAlgorithm=x,c._abortAlgorithm=j;let me=Tu(c);Au(i,me);let de=p(),ge=f(de);m(ge,()=>(c._started=!0,Bs(c),null),Ce=>(c._started=!0,wu(i,Ce),null))}function lb(i,c,p,A){let x=Object.create(Tr.prototype),j,z,ne,me;c.start!==void 0?j=()=>c.start(x):j=()=>{},c.write!==void 0?z=de=>c.write(de,x):z=()=>f(void 0),c.close!==void 0?ne=()=>c.close():ne=()=>f(void 0),c.abort!==void 0?me=de=>c.abort(de):me=()=>f(void 0),Xf(i,x,j,z,ne,me,p,A)}function Ns(i){i._writeAlgorithm=void 0,i._closeAlgorithm=void 0,i._abortAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function db(i){hu(i,Qf,0),Bs(i)}function fb(i,c){try{return i._strategySizeAlgorithm(c)}catch(p){return vo(i,p),1}}function Zf(i){return i._strategyHWM-i._queueTotalSize}function hb(i,c,p){try{hu(i,c,p)}catch(x){vo(i,x);return}let A=i._controlledWritableStream;if(!Yt(A)&&A._state==="writable"){let x=Tu(i);Au(A,x)}Bs(i)}function Bs(i){let c=i._controlledWritableStream;if(!i._started||c._inFlightWriteRequest!==void 0)return;if(c._state==="erroring"){ku(c);return}if(i._queue.length===0)return;let A=v_(i);A===Qf?pb(i):mb(i,A)}function vo(i,c){i._controlledWritableStream._state==="writable"&&eh(i,c)}function pb(i){let c=i._controlledWritableStream;ob(c),fu(i);let p=i._closeAlgorithm();Ns(i),m(p,()=>(tb(c),null),A=>(nb(c,A),null))}function mb(i,c){let p=i._controlledWritableStream;sb(p);let A=i._writeAlgorithm(c);m(A,()=>{Z_(p);let x=p._state;if(fu(i),!Yt(p)&&x==="writable"){let j=Tu(i);Au(p,j)}return Bs(i),null},x=>(p._state==="writable"&&Ns(i),eb(p,x),null))}function Tu(i){return Zf(i)<=0}function eh(i,c){let p=i._controlledWritableStream;Ns(i),Eu(p,c)}function Ms(i){return new TypeError(`WritableStream.prototype.${i} can only be used on a WritableStream`)}function vu(i){return new TypeError(`WritableStreamDefaultController.prototype.${i} can only be used on a WritableStreamDefaultController`)}function or(i){return new TypeError(`WritableStreamDefaultWriter.prototype.${i} can only be used on a WritableStreamDefaultWriter`)}function Do(i){return new TypeError("Cannot "+i+" a stream using a released writer")}function Ls(i){i._closedPromise=l((c,p)=>{i._closedPromise_resolve=c,i._closedPromise_reject=p,i._closedPromiseState="pending"})}function th(i,c){Ls(i),Du(i,c)}function gb(i){Ls(i),nh(i)}function Du(i,c){i._closedPromise_reject!==void 0&&(g(i._closedPromise),i._closedPromise_reject(c),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="rejected")}function yb(i,c){th(i,c)}function nh(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="resolved")}function js(i){i._readyPromise=l((c,p)=>{i._readyPromise_resolve=c,i._readyPromise_reject=p}),i._readyPromiseState="pending"}function Ru(i,c){js(i),oh(i,c)}function rh(i){js(i),xu(i)}function oh(i,c){i._readyPromise_reject!==void 0&&(g(i._readyPromise),i._readyPromise_reject(c),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="rejected")}function _b(i){js(i)}function bb(i,c){Ru(i,c)}function xu(i){i._readyPromise_resolve!==void 0&&(i._readyPromise_resolve(void 0),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="fulfilled")}function Cb(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let Ou=Cb();function wb(i){if(!(typeof i=="function"||typeof i=="object")||i.name!=="DOMException")return!1;try{return new i,!0}catch{return!1}}function Eb(){let i=Ou?.DOMException;return wb(i)?i:void 0}function kb(){let i=function(p,A){this.message=p||"",this.name=A||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return o(i,"DOMException"),i.prototype=Object.create(Error.prototype),Object.defineProperty(i.prototype,"constructor",{value:i,writable:!0,configurable:!0}),i}let Ab=Eb()||kb();function sh(i,c,p,A,x,j){let z=U(i),ne=Hf(c);i._disturbed=!0;let me=!1,de=f(void 0);return l((ge,Ce)=>{let xe;if(j!==void 0){if(xe=()=>{let fe=j.reason!==void 0?j.reason:new Ab("Aborted","AbortError"),Ee=[];A||Ee.push(()=>c._state==="writable"?Fs(c,fe):f(void 0)),x||Ee.push(()=>i._state==="readable"?Mt(i,fe):f(void 0)),at(()=>Promise.all(Ee.map(Pe=>Pe())),!0,fe)},j.aborted){xe();return}j.addEventListener("abort",xe)}function Lt(){return l((fe,Ee)=>{function Pe(ht){ht?fe():h(xr(),Pe,Ee)}Pe(!1)})}function xr(){return me?f(!0):h(ne._readyPromise,()=>l((fe,Ee)=>{ae(z,{_chunkSteps:Pe=>{de=h(Yf(ne,Pe),void 0,e),fe(!1)},_closeSteps:()=>fe(!0),_errorSteps:Ee})}))}if(yn(i,z._closedPromise,fe=>(A?St(!0,fe):at(()=>Fs(c,fe),!0,fe),null)),yn(c,ne._closedPromise,fe=>(x?St(!0,fe):at(()=>Mt(i,fe),!0,fe),null)),rt(i,z._closedPromise,()=>(p?St():at(()=>ab(ne)),null)),Yt(c)||c._state==="closed"){let fe=new TypeError("the destination writable stream closed before all data could be piped to it");x?St(!0,fe):at(()=>Mt(i,fe),!0,fe)}g(Lt());function Mn(){let fe=de;return h(de,()=>fe!==de?Mn():void 0)}function yn(fe,Ee,Pe){fe._state==="errored"?Pe(fe._storedError):w(Ee,Pe)}function rt(fe,Ee,Pe){fe._state==="closed"?Pe():C(Ee,Pe)}function at(fe,Ee,Pe){if(me)return;me=!0,c._state==="writable"&&!Yt(c)?C(Mn(),ht):ht();function ht(){return m(fe(),()=>_n(Ee,Pe),Or=>_n(!0,Or)),null}}function St(fe,Ee){me||(me=!0,c._state==="writable"&&!Yt(c)?C(Mn(),()=>_n(fe,Ee)):_n(fe,Ee))}function _n(fe,Ee){return Kf(ne),Q(z),j!==void 0&&j.removeEventListener("abort",xe),fe?Ce(Ee):ge(void 0),null}})}class gn{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Us(this))throw qs("desiredSize");return Pu(this)}close(){if(!Us(this))throw qs("close");if(!Dr(this))throw new TypeError("The stream is not in a state that permits close");sr(this)}enqueue(c=void 0){if(!Us(this))throw qs("enqueue");if(!Dr(this))throw new TypeError("The stream is not in a state that permits enqueue");return vr(this,c)}error(c=void 0){if(!Us(this))throw qs("error");Bt(this,c)}[H](c){On(this);let p=this._cancelAlgorithm(c);return $s(this),p}[P](c){let p=this._controlledReadableStream;if(this._queue.length>0){let A=fu(this);this._closeRequested&&this._queue.length===0?($s(this),Oo(p)):Ro(this),c._chunkSteps(A)}else O(p,c),Ro(this)}[K](){}}Object.defineProperties(gn.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),o(gn.prototype.close,"close"),o(gn.prototype.enqueue,"enqueue"),o(gn.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(gn.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function Us(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableStream")?!1:i instanceof gn}function Ro(i){if(!ih(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let p=i._pullAlgorithm();m(p,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,Ro(i)),null),A=>(Bt(i,A),null))}function ih(i){let c=i._controlledReadableStream;return!Dr(i)||!i._started?!1:!!(Nn(c)&&L(c)>0||Pu(i)>0)}function $s(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function sr(i){if(!Dr(i))return;let c=i._controlledReadableStream;i._closeRequested=!0,i._queue.length===0&&($s(i),Oo(c))}function vr(i,c){if(!Dr(i))return;let p=i._controlledReadableStream;if(Nn(p)&&L(p)>0)I(p,c,!1);else{let A;try{A=i._strategySizeAlgorithm(c)}catch(x){throw Bt(i,x),x}try{hu(i,c,A)}catch(x){throw Bt(i,x),x}}Ro(i)}function Bt(i,c){let p=i._controlledReadableStream;p._state==="readable"&&(On(i),$s(i),lh(p,c))}function Pu(i){let c=i._controlledReadableStream._state;return c==="errored"?null:c==="closed"?0:i._strategyHWM-i._queueTotalSize}function Sb(i){return!ih(i)}function Dr(i){let c=i._controlledReadableStream._state;return!i._closeRequested&&c==="readable"}function ah(i,c,p,A,x,j,z){c._controlledReadableStream=i,c._queue=void 0,c._queueTotalSize=void 0,On(c),c._started=!1,c._closeRequested=!1,c._pullAgain=!1,c._pulling=!1,c._strategySizeAlgorithm=z,c._strategyHWM=j,c._pullAlgorithm=A,c._cancelAlgorithm=x,i._readableStreamController=c;let ne=p();m(f(ne),()=>(c._started=!0,Ro(c),null),me=>(Bt(c,me),null))}function Tb(i,c,p,A){let x=Object.create(gn.prototype),j,z,ne;c.start!==void 0?j=()=>c.start(x):j=()=>{},c.pull!==void 0?z=()=>c.pull(x):z=()=>f(void 0),c.cancel!==void 0?ne=me=>c.cancel(me):ne=()=>f(void 0),ah(i,x,j,z,ne,p,A)}function qs(i){return new TypeError(`ReadableStreamDefaultController.prototype.${i} can only be used on a ReadableStreamDefaultController`)}function vb(i,c){return er(i._readableStreamController)?Rb(i):Db(i)}function Db(i,c){let p=U(i),A=!1,x=!1,j=!1,z=!1,ne,me,de,ge,Ce,xe=l(rt=>{Ce=rt});function Lt(){return A?(x=!0,f(void 0)):(A=!0,ae(p,{_chunkSteps:at=>{_(()=>{x=!1;let St=at,_n=at;j||vr(de._readableStreamController,St),z||vr(ge._readableStreamController,_n),A=!1,x&&Lt()})},_closeSteps:()=>{A=!1,j||sr(de._readableStreamController),z||sr(ge._readableStreamController),(!j||!z)&&Ce(void 0)},_errorSteps:()=>{A=!1}}),f(void 0))}function xr(rt){if(j=!0,ne=rt,z){let at=De([ne,me]),St=Mt(i,at);Ce(St)}return xe}function Mn(rt){if(z=!0,me=rt,j){let at=De([ne,me]),St=Mt(i,at);Ce(St)}return xe}function yn(){}return de=xo(yn,Lt,xr),ge=xo(yn,Lt,Mn),w(p._closedPromise,rt=>(Bt(de._readableStreamController,rt),Bt(ge._readableStreamController,rt),(!j||!z)&&Ce(void 0),null)),[de,ge]}function Rb(i){let c=U(i),p=!1,A=!1,x=!1,j=!1,z=!1,ne,me,de,ge,Ce,xe=l(fe=>{Ce=fe});function Lt(fe){w(fe._closedPromise,Ee=>(fe!==c||(At(de._readableStreamController,Ee),At(ge._readableStreamController,Ee),(!j||!z)&&Ce(void 0)),null))}function xr(){nr(c)&&(Q(c),c=U(i),Lt(c)),ae(c,{_chunkSteps:Ee=>{_(()=>{A=!1,x=!1;let Pe=Ee,ht=Ee;if(!j&&!z)try{ht=Sf(Ee)}catch(Or){At(de._readableStreamController,Or),At(ge._readableStreamController,Or),Ce(Mt(i,Or));return}j||vs(de._readableStreamController,Pe),z||vs(ge._readableStreamController,ht),p=!1,A?yn():x&&rt()})},_closeSteps:()=>{p=!1,j||Ao(de._readableStreamController),z||Ao(ge._readableStreamController),de._readableStreamController._pendingPullIntos.length>0&&Ds(de._readableStreamController,0),ge._readableStreamController._pendingPullIntos.length>0&&Ds(ge._readableStreamController,0),(!j||!z)&&Ce(void 0)},_errorSteps:()=>{p=!1}})}function Mn(fe,Ee){oe(c)&&(Q(c),c=Lf(i),Lt(c));let Pe=Ee?ge:de,ht=Ee?de:ge;$f(c,fe,1,{_chunkSteps:Pr=>{_(()=>{A=!1,x=!1;let Fr=Ee?z:j;if(Ee?j:z)Fr||Rs(Pe._readableStreamController,Pr);else{let kh;try{kh=Sf(Pr)}catch(Mu){At(Pe._readableStreamController,Mu),At(ht._readableStreamController,Mu),Ce(Mt(i,Mu));return}Fr||Rs(Pe._readableStreamController,Pr),vs(ht._readableStreamController,kh)}p=!1,A?yn():x&&rt()})},_closeSteps:Pr=>{p=!1;let Fr=Ee?z:j,Ys=Ee?j:z;Fr||Ao(Pe._readableStreamController),Ys||Ao(ht._readableStreamController),Pr!==void 0&&(Fr||Rs(Pe._readableStreamController,Pr),!Ys&&ht._readableStreamController._pendingPullIntos.length>0&&Ds(ht._readableStreamController,0)),(!Fr||!Ys)&&Ce(void 0)},_errorSteps:()=>{p=!1}})}function yn(){if(p)return A=!0,f(void 0);p=!0;let fe=_u(de._readableStreamController);return fe===null?xr():Mn(fe._view,!1),f(void 0)}function rt(){if(p)return x=!0,f(void 0);p=!0;let fe=_u(ge._readableStreamController);return fe===null?xr():Mn(fe._view,!0),f(void 0)}function at(fe){if(j=!0,ne=fe,z){let Ee=De([ne,me]),Pe=Mt(i,Ee);Ce(Pe)}return xe}function St(fe){if(z=!0,me=fe,j){let Ee=De([ne,me]),Pe=Mt(i,Ee);Ce(Pe)}return xe}function _n(){}return de=ch(_n,yn,at),ge=ch(_n,rt,St),Lt(c),[de,ge]}function xb(i){return n(i)&&typeof i.getReader<"u"}function Ob(i){return xb(i)?Fb(i.getReader()):Pb(i)}function Pb(i){let c,p=Af(i,"async"),A=e;function x(){let z;try{z=k_(p)}catch(me){return d(me)}let ne=f(z);return y(ne,me=>{if(!n(me))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(A_(me))sr(c._readableStreamController);else{let ge=S_(me);vr(c._readableStreamController,ge)}})}function j(z){let ne=p.iterator,me;try{me=As(ne,"return")}catch(Ce){return d(Ce)}if(me===void 0)return f(void 0);let de;try{de=E(me,ne,[z])}catch(Ce){return d(Ce)}let ge=f(de);return y(ge,Ce=>{if(!n(Ce))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return c=xo(A,x,j,0),c}function Fb(i){let c,p=e;function A(){let j;try{j=i.read()}catch(z){return d(z)}return y(j,z=>{if(!n(z))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(z.done)sr(c._readableStreamController);else{let ne=z.value;vr(c._readableStreamController,ne)}})}function x(j){try{return f(i.cancel(j))}catch(z){return d(z)}}return c=xo(p,A,x,0),c}function Ib(i,c){ue(i,c);let p=i,A=p?.autoAllocateChunkSize,x=p?.cancel,j=p?.pull,z=p?.start,ne=p?.type;return{autoAllocateChunkSize:A===void 0?void 0:F(A,`${c} has member 'autoAllocateChunkSize' that`),cancel:x===void 0?void 0:Nb(x,p,`${c} has member 'cancel' that`),pull:j===void 0?void 0:Bb(j,p,`${c} has member 'pull' that`),start:z===void 0?void 0:Mb(z,p,`${c} has member 'start' that`),type:ne===void 0?void 0:Lb(ne,`${c} has member 'type' that`)}}function Nb(i,c,p){return te(i,p),A=>b(i,c,[A])}function Bb(i,c,p){return te(i,p),A=>b(i,c,[A])}function Mb(i,c,p){return te(i,p),A=>E(i,c,[A])}function Lb(i,c){if(i=`${i}`,i!=="bytes")throw new TypeError(`${c} '${i}' is not a valid enumeration value for ReadableStreamType`);return i}function jb(i,c){return ue(i,c),{preventCancel:!!i?.preventCancel}}function uh(i,c){ue(i,c);let p=i?.preventAbort,A=i?.preventCancel,x=i?.preventClose,j=i?.signal;return j!==void 0&&Ub(j,`${c} has member 'signal' that`),{preventAbort:!!p,preventCancel:!!A,preventClose:!!x,signal:j}}function Ub(i,c){if(!V_(i))throw new TypeError(`${c} is not an AbortSignal.`)}function $b(i,c){ue(i,c);let p=i?.readable;k(p,"readable","ReadableWritablePair"),N(p,`${c} has member 'readable' that`);let A=i?.writable;return k(A,"writable","ReadableWritablePair"),zf(A,`${c} has member 'writable' that`),{readable:p,writable:A}}class et{constructor(c={},p={}){c===void 0?c=null:Oe(c,"First parameter");let A=Ps(p,"Second parameter"),x=Ib(c,"First parameter");if(Fu(this),x.type==="bytes"){if(A.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let j=To(A,0);N_(this,x,j)}else{let j=Os(A),z=To(A,1);Tb(this,x,z,j)}}get locked(){if(!In(this))throw ir("locked");return Nn(this)}cancel(c=void 0){return In(this)?Nn(this)?d(new TypeError("Cannot cancel a stream that already has a reader")):Mt(this,c):d(ir("cancel"))}getReader(c=void 0){if(!In(this))throw ir("getReader");return M_(c,"First parameter").mode===void 0?U(this):Lf(this)}pipeThrough(c,p={}){if(!In(this))throw ir("pipeThrough");Ue(c,1,"pipeThrough");let A=$b(c,"First parameter"),x=uh(p,"Second parameter");if(Nn(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Sr(A.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let j=sh(this,A.writable,x.preventClose,x.preventAbort,x.preventCancel,x.signal);return g(j),A.readable}pipeTo(c,p={}){if(!In(this))return d(ir("pipeTo"));if(c===void 0)return d("Parameter 1 is required in 'pipeTo'.");if(!Ar(c))return d(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let A;try{A=uh(p,"Second parameter")}catch(x){return d(x)}return Nn(this)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Sr(c)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):sh(this,c,A.preventClose,A.preventAbort,A.preventCancel,A.signal)}tee(){if(!In(this))throw ir("tee");let c=vb(this);return De(c)}values(c=void 0){if(!In(this))throw ir("values");let p=jb(c,"First parameter");return Cr(this,p.preventCancel)}[du](c){return this.values(c)}static from(c){return Ob(c)}}Object.defineProperties(et,{from:{enumerable:!0}}),Object.defineProperties(et.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),o(et.from,"from"),o(et.prototype.cancel,"cancel"),o(et.prototype.getReader,"getReader"),o(et.prototype.pipeThrough,"pipeThrough"),o(et.prototype.pipeTo,"pipeTo"),o(et.prototype.tee,"tee"),o(et.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(et.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(et.prototype,du,{value:et.prototype.values,writable:!0,configurable:!0});function xo(i,c,p,A=1,x=()=>1){let j=Object.create(et.prototype);Fu(j);let z=Object.create(gn.prototype);return ah(j,z,i,c,p,A,x),j}function ch(i,c,p){let A=Object.create(et.prototype);Fu(A);let x=Object.create(pn.prototype);return Mf(A,x,i,c,p,0,void 0),A}function Fu(i){i._state="readable",i._reader=void 0,i._storedError=void 0,i._disturbed=!1}function In(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_readableStreamController")?!1:i instanceof et}function Nn(i){return i._reader!==void 0}function Mt(i,c){if(i._disturbed=!0,i._state==="closed")return f(void 0);if(i._state==="errored")return d(i._storedError);Oo(i);let p=i._reader;if(p!==void 0&&nr(p)){let x=p._readIntoRequests;p._readIntoRequests=new v,x.forEach(j=>{j._closeSteps(void 0)})}let A=i._readableStreamController[H](c);return y(A,e)}function Oo(i){i._state="closed";let c=i._reader;if(c!==void 0&&(ce(c),oe(c))){let p=c._readRequests;c._readRequests=new v,p.forEach(A=>{A._closeSteps()})}}function lh(i,c){i._state="errored",i._storedError=c;let p=i._reader;p!==void 0&&(J(p,c),oe(p)?Ie(p,c):qf(p,c))}function ir(i){return new TypeError(`ReadableStream.prototype.${i} can only be used on a ReadableStream`)}function dh(i,c){ue(i,c);let p=i?.highWaterMark;return k(p,"highWaterMark","QueuingStrategyInit"),{highWaterMark:T(p)}}let fh=i=>i.byteLength;o(fh,"size");class zs{constructor(c){Ue(c,1,"ByteLengthQueuingStrategy"),c=dh(c,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=c.highWaterMark}get highWaterMark(){if(!ph(this))throw hh("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!ph(this))throw hh("size");return fh}}Object.defineProperties(zs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(zs.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function hh(i){return new TypeError(`ByteLengthQueuingStrategy.prototype.${i} can only be used on a ByteLengthQueuingStrategy`)}function ph(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_byteLengthQueuingStrategyHighWaterMark")?!1:i instanceof zs}let mh=()=>1;o(mh,"size");class Hs{constructor(c){Ue(c,1,"CountQueuingStrategy"),c=dh(c,"First parameter"),this._countQueuingStrategyHighWaterMark=c.highWaterMark}get highWaterMark(){if(!yh(this))throw gh("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!yh(this))throw gh("size");return mh}}Object.defineProperties(Hs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Hs.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function gh(i){return new TypeError(`CountQueuingStrategy.prototype.${i} can only be used on a CountQueuingStrategy`)}function yh(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_countQueuingStrategyHighWaterMark")?!1:i instanceof Hs}function qb(i,c){ue(i,c);let p=i?.cancel,A=i?.flush,x=i?.readableType,j=i?.start,z=i?.transform,ne=i?.writableType;return{cancel:p===void 0?void 0:Gb(p,i,`${c} has member 'cancel' that`),flush:A===void 0?void 0:zb(A,i,`${c} has member 'flush' that`),readableType:x,start:j===void 0?void 0:Hb(j,i,`${c} has member 'start' that`),transform:z===void 0?void 0:Wb(z,i,`${c} has member 'transform' that`),writableType:ne}}function zb(i,c,p){return te(i,p),A=>b(i,c,[A])}function Hb(i,c,p){return te(i,p),A=>E(i,c,[A])}function Wb(i,c,p){return te(i,p),(A,x)=>b(i,c,[A,x])}function Gb(i,c,p){return te(i,p),A=>b(i,c,[A])}class Ws{constructor(c={},p={},A={}){c===void 0&&(c=null);let x=Ps(p,"Second parameter"),j=Ps(A,"Third parameter"),z=qb(c,"First parameter");if(z.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(z.writableType!==void 0)throw new RangeError("Invalid writableType specified");let ne=To(j,0),me=Os(j),de=To(x,1),ge=Os(x),Ce,xe=l(Lt=>{Ce=Lt});Jb(this,xe,de,ge,ne,me),Kb(this,z),z.start!==void 0?Ce(z.start(this._transformStreamController)):Ce(void 0)}get readable(){if(!_h(this))throw Eh("readable");return this._readable}get writable(){if(!_h(this))throw Eh("writable");return this._writable}}Object.defineProperties(Ws.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ws.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function Jb(i,c,p,A,x,j){function z(){return c}function ne(xe){return Xb(i,xe)}function me(xe){return Zb(i,xe)}function de(){return eC(i)}i._writable=Q_(z,ne,de,me,p,A);function ge(){return tC(i)}function Ce(xe){return nC(i,xe)}i._readable=xo(z,ge,Ce,x,j),i._backpressure=void 0,i._backpressureChangePromise=void 0,i._backpressureChangePromise_resolve=void 0,Gs(i,!0),i._transformStreamController=void 0}function _h(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_transformStreamController")?!1:i instanceof Ws}function bh(i,c){Bt(i._readable._readableStreamController,c),Iu(i,c)}function Iu(i,c){Vs(i._transformStreamController),vo(i._writable._writableStreamController,c),Nu(i)}function Nu(i){i._backpressure&&Gs(i,!1)}function Gs(i,c){i._backpressureChangePromise!==void 0&&i._backpressureChangePromise_resolve(),i._backpressureChangePromise=l(p=>{i._backpressureChangePromise_resolve=p}),i._backpressure=c}class Bn{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Js(this))throw Ks("desiredSize");let c=this._controlledTransformStream._readable._readableStreamController;return Pu(c)}enqueue(c=void 0){if(!Js(this))throw Ks("enqueue");Ch(this,c)}error(c=void 0){if(!Js(this))throw Ks("error");Yb(this,c)}terminate(){if(!Js(this))throw Ks("terminate");Qb(this)}}Object.defineProperties(Bn.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),o(Bn.prototype.enqueue,"enqueue"),o(Bn.prototype.error,"error"),o(Bn.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Bn.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function Js(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledTransformStream")?!1:i instanceof Bn}function Vb(i,c,p,A,x){c._controlledTransformStream=i,i._transformStreamController=c,c._transformAlgorithm=p,c._flushAlgorithm=A,c._cancelAlgorithm=x,c._finishPromise=void 0,c._finishPromise_resolve=void 0,c._finishPromise_reject=void 0}function Kb(i,c){let p=Object.create(Bn.prototype),A,x,j;c.transform!==void 0?A=z=>c.transform(z,p):A=z=>{try{return Ch(p,z),f(void 0)}catch(ne){return d(ne)}},c.flush!==void 0?x=()=>c.flush(p):x=()=>f(void 0),c.cancel!==void 0?j=z=>c.cancel(z):j=()=>f(void 0),Vb(i,p,A,x,j)}function Vs(i){i._transformAlgorithm=void 0,i._flushAlgorithm=void 0,i._cancelAlgorithm=void 0}function Ch(i,c){let p=i._controlledTransformStream,A=p._readable._readableStreamController;if(!Dr(A))throw new TypeError("Readable side is not in a state that permits enqueue");try{vr(A,c)}catch(j){throw Iu(p,j),p._readable._storedError}Sb(A)!==p._backpressure&&Gs(p,!0)}function Yb(i,c){bh(i._controlledTransformStream,c)}function wh(i,c){let p=i._transformAlgorithm(c);return y(p,void 0,A=>{throw bh(i._controlledTransformStream,A),A})}function Qb(i){let c=i._controlledTransformStream,p=c._readable._readableStreamController;sr(p);let A=new TypeError("TransformStream terminated");Iu(c,A)}function Xb(i,c){let p=i._transformStreamController;if(i._backpressure){let A=i._backpressureChangePromise;return y(A,()=>{let x=i._writable;if(x._state==="erroring")throw x._storedError;return wh(p,c)})}return wh(p,c)}function Zb(i,c){let p=i._transformStreamController;if(p._finishPromise!==void 0)return p._finishPromise;let A=i._readable;p._finishPromise=l((j,z)=>{p._finishPromise_resolve=j,p._finishPromise_reject=z});let x=p._cancelAlgorithm(c);return Vs(p),m(x,()=>(A._state==="errored"?Rr(p,A._storedError):(Bt(A._readableStreamController,c),Bu(p)),null),j=>(Bt(A._readableStreamController,j),Rr(p,j),null)),p._finishPromise}function eC(i){let c=i._transformStreamController;if(c._finishPromise!==void 0)return c._finishPromise;let p=i._readable;c._finishPromise=l((x,j)=>{c._finishPromise_resolve=x,c._finishPromise_reject=j});let A=c._flushAlgorithm();return Vs(c),m(A,()=>(p._state==="errored"?Rr(c,p._storedError):(sr(p._readableStreamController),Bu(c)),null),x=>(Bt(p._readableStreamController,x),Rr(c,x),null)),c._finishPromise}function tC(i){return Gs(i,!1),i._backpressureChangePromise}function nC(i,c){let p=i._transformStreamController;if(p._finishPromise!==void 0)return p._finishPromise;let A=i._writable;p._finishPromise=l((j,z)=>{p._finishPromise_resolve=j,p._finishPromise_reject=z});let x=p._cancelAlgorithm(c);return Vs(p),m(x,()=>(A._state==="errored"?Rr(p,A._storedError):(vo(A._writableStreamController,c),Nu(i),Bu(p)),null),j=>(vo(A._writableStreamController,j),Nu(i),Rr(p,j),null)),p._finishPromise}function Ks(i){return new TypeError(`TransformStreamDefaultController.prototype.${i} can only be used on a TransformStreamDefaultController`)}function Bu(i){i._finishPromise_resolve!==void 0&&(i._finishPromise_resolve(),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function Rr(i,c){i._finishPromise_reject!==void 0&&(g(i._finishPromise),i._finishPromise_reject(c),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function Eh(i){return new TypeError(`TransformStream.prototype.${i} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=zs,t.CountQueuingStrategy=Hs,t.ReadableByteStreamController=pn,t.ReadableStream=et,t.ReadableStreamBYOBReader=Pn,t.ReadableStreamBYOBRequest=Zn,t.ReadableStreamDefaultController=gn,t.ReadableStreamDefaultReader=W,t.TransformStream=Ws,t.TransformStreamDefaultController=Bn,t.WritableStream=Fn,t.WritableStreamDefaultController=Tr,t.WritableStreamDefaultWriter=mn}))});var bm=X(()=>{if(!globalThis.ReadableStream)try{let t=re("node:process"),{emitWarning:e}=t;try{t.emitWarning=()=>{},Object.assign(globalThis,re("node:stream/web")),t.emitWarning=e}catch(n){throw t.emitWarning=e,n}}catch{Object.assign(globalThis,_m())}try{let{Blob:t}=re("buffer");t&&!t.prototype.stream&&(t.prototype.stream=function(n){let r=0,o=this;return new ReadableStream({type:"bytes",async pull(s){let u=await o.slice(r,Math.min(o.size,r+65536)).arrayBuffer();r+=u.byteLength,s.enqueue(new Uint8Array(u)),r===o.size&&s.close()}})})}catch{}});async function*xc(t,e=!0){for(let n of t)if("stream"in n)yield*n.stream();else if(ArrayBuffer.isView(n))if(e){let r=n.byteOffset,o=n.byteOffset+n.byteLength;for(;r!==o;){let s=Math.min(o-r,Cm),a=n.buffer.slice(r,r+s);r+=a.byteLength,yield new Uint8Array(a)}}else yield n;else{let r=0,o=n;for(;r!==o.size;){let a=await o.slice(r,Math.min(o.size,r+Cm)).arrayBuffer();r+=a.byteLength,yield new Uint8Array(a)}}}var z1,Cm,wm,kE,$t,Uo=Le(()=>{z1=Ln(bm(),1);Cm=65536;wm=class Oc{#e=[];#t="";#n=0;#r="transparent";constructor(e=[],n={}){if(typeof e!="object"||e===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof e[Symbol.iterator]!="function")throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof n!="object"&&typeof n!="function")throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");n===null&&(n={});let r=new TextEncoder;for(let s of e){let a;ArrayBuffer.isView(s)?a=new Uint8Array(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)):s instanceof ArrayBuffer?a=new Uint8Array(s.slice(0)):s instanceof Oc?a=s:a=r.encode(`${s}`),this.#n+=ArrayBuffer.isView(a)?a.byteLength:a.size,this.#e.push(a)}this.#r=`${n.endings===void 0?"transparent":n.endings}`;let o=n.type===void 0?"":String(n.type);this.#t=/^[\x20-\x7E]*$/.test(o)?o:""}get size(){return this.#n}get type(){return this.#t}async text(){let e=new TextDecoder,n="";for await(let r of xc(this.#e,!1))n+=e.decode(r,{stream:!0});return n+=e.decode(),n}async arrayBuffer(){let e=new Uint8Array(this.size),n=0;for await(let r of xc(this.#e,!1))e.set(r,n),n+=r.length;return e.buffer}stream(){let e=xc(this.#e,!0);return new globalThis.ReadableStream({type:"bytes",async pull(n){let r=await e.next();r.done?n.close():n.enqueue(r.value)},async cancel(){await e.return()}})}slice(e=0,n=this.size,r=""){let{size:o}=this,s=e<0?Math.max(o+e,0):Math.min(e,o),a=n<0?Math.max(o+n,0):Math.min(n,o),u=Math.max(a-s,0),l=this.#e,f=[],d=0;for(let m of l){if(d>=u)break;let C=ArrayBuffer.isView(m)?m.byteLength:m.size;if(s&&C<=s)s-=C,a-=C;else{let w;ArrayBuffer.isView(m)?(w=m.subarray(s,Math.min(C,a)),d+=w.byteLength):(w=m.slice(s,Math.min(C,a)),d+=w.size),a-=C,f.push(w),s=0}}let h=new Oc([],{type:String(r).toLowerCase()});return h.#n=u,h.#e=f,h}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](e){return e&&typeof e=="object"&&typeof e.constructor=="function"&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}};Object.defineProperties(wm.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});kE=wm,$t=kE});var AE,SE,qn,Pc=Le(()=>{Uo();AE=class extends $t{#e=0;#t="";constructor(e,n,r={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(e,r),r===null&&(r={});let o=r.lastModified===void 0?Date.now():Number(r.lastModified);Number.isNaN(o)||(this.#e=o),this.#t=String(n)}get name(){return this.#t}get lastModified(){return this.#e}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](e){return!!e&&e instanceof $t&&/^(File)$/.test(e[Symbol.toStringTag])}},SE=AE,qn=SE});function Am(t,e=$t){var n=`${Em()}${Em()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),r=[],o=`--${n}\r
|
|
26
|
+
`);let{connect:f,buffered:d}=await l;if(e.emit("proxyConnect",f),this.emit("proxyConnect",f,e),f.statusCode===200)return e.once("socket",wE),n.secureEndpoint?(jo("Upgrading socket connection to TLS"),cm.connect({...dm(lm(n),"host","path","port"),socket:o})):o;o.destroy();let h=new ki.Socket({writable:!1});return h.readable=!0,e.once("socket",m=>{jo("Replaying proxy buffer for failed request"),(0,gE.default)(m.listenerCount("data")>0),m.push(d),m.push(null)}),h}};Ai.protocols=["http","https"];Dt.HttpsProxyAgent=Ai;function wE(t){t.resume()}function dm(t,...e){let n={},r;for(r in t)e.includes(r)||(n[r]=t[r]);return n}});function EE(t){if(!/^data:/i.test(t))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');t=t.replace(/\r?\n/g,"");let e=t.indexOf(",");if(e===-1||e<=4)throw new TypeError("malformed data: URI");let n=t.substring(5,e).split(";"),r="",o=!1,s=n[0]||"text/plain",a=s;for(let d=1;d<n.length;d++)n[d]==="base64"?o=!0:n[d]&&(a+=`;${n[d]}`,n[d].indexOf("charset=")===0&&(r=n[d].substring(8)));!n[0]&&!r.length&&(a+=";charset=US-ASCII",r="US-ASCII");let u=o?"base64":"ascii",l=unescape(t.substring(e+1)),f=Buffer.from(l,u);return f.type=s,f.typeFull=a,f.charset=r,f}var mm,gm=Le(()=>{mm=EE});var _m=X((Si,ym)=>{(function(t,e){typeof Si=="object"&&typeof ym<"u"?e(Si):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(Si,(function(t){"use strict";function e(){}function n(i){return typeof i=="object"&&i!==null||typeof i=="function"}let r=e;function o(i,c){try{Object.defineProperty(i,"name",{value:c,configurable:!0})}catch{}}let s=Promise,a=Promise.prototype.then,u=Promise.reject.bind(s);function l(i){return new s(i)}function f(i){return l(c=>c(i))}function d(i){return u(i)}function h(i,c,p){return a.call(i,c,p)}function m(i,c,p){h(h(i,c,p),void 0,r)}function C(i,c){m(i,c)}function w(i,c){m(i,void 0,c)}function y(i,c,p){return h(i,c,p)}function g(i){h(i,void 0,r)}let _=i=>{if(typeof queueMicrotask=="function")_=queueMicrotask;else{let c=f(void 0);_=p=>h(c,p)}return _(i)};function E(i,c,p){if(typeof i!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(i,c,p)}function b(i,c,p){try{return f(E(i,c,p))}catch(A){return d(A)}}let S=16384;class T{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(c){let p=this._back,A=p;p._elements.length===S-1&&(A={_elements:[],_next:void 0}),p._elements.push(c),A!==p&&(this._back=A,p._next=A),++this._size}shift(){let c=this._front,p=c,A=this._cursor,x=A+1,j=c._elements,z=j[A];return x===S&&(p=c._next,x=0),--this._size,this._cursor=x,c!==p&&(this._front=p),j[A]=void 0,z}forEach(c){let p=this._cursor,A=this._front,x=A._elements;for(;(p!==x.length||A._next!==void 0)&&!(p===x.length&&(A=A._next,x=A._elements,p=0,x.length===0));)c(x[p]),++p}peek(){let c=this._front,p=this._cursor;return c._elements[p]}}let R=Symbol("[[AbortSteps]]"),$=Symbol("[[ErrorSteps]]"),H=Symbol("[[CancelSteps]]"),P=Symbol("[[PullSteps]]"),K=Symbol("[[ReleaseSteps]]");function q(i,c){i._ownerReadableStream=c,c._reader=i,c._state==="readable"?se(i):c._state==="closed"?pe(i):ue(i,c._storedError)}function Y(i,c){let p=i._ownerReadableStream;return Mt(p,c)}function Q(i){let c=i._ownerReadableStream;c._state==="readable"?J(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):Z(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),c._readableStreamController[K](),c._reader=void 0,i._ownerReadableStream=void 0}function ee(i){return new TypeError("Cannot "+i+" a stream using a released reader")}function se(i){i._closedPromise=l((c,p)=>{i._closedPromise_resolve=c,i._closedPromise_reject=p})}function ue(i,c){se(i),J(i,c)}function pe(i){se(i),ce(i)}function J(i,c){i._closedPromise_reject!==void 0&&(g(i._closedPromise),i._closedPromise_reject(c),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}function Z(i,c){ue(i,c)}function ce(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}let je=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},we=Math.trunc||function(i){return i<0?Math.ceil(i):Math.floor(i)};function V(i){return typeof i=="object"||typeof i=="function"}function ae(i,c){if(i!==void 0&&!V(i))throw new TypeError(`${c} is not an object.`)}function te(i,c){if(typeof i!="function")throw new TypeError(`${c} is not a function.`)}function Te(i){return typeof i=="object"&&i!==null||typeof i=="function"}function Oe(i,c){if(!Te(i))throw new TypeError(`${c} is not an object.`)}function Ue(i,c,p){if(i===void 0)throw new TypeError(`Parameter ${c} is required in '${p}'.`)}function k(i,c,p){if(i===void 0)throw new TypeError(`${c} is required in '${p}'.`)}function v(i){return Number(i)}function D(i){return i===0?0:i}function M(i){return D(we(i))}function F(i,c){let A=Number.MAX_SAFE_INTEGER,x=Number(i);if(x=D(x),!je(x))throw new TypeError(`${c} is not a finite number`);if(x=M(x),x<0||x>A)throw new TypeError(`${c} is outside the accepted range of 0 to ${A}, inclusive`);return!je(x)||x===0?0:x}function N(i,c){if(!In(i))throw new TypeError(`${c} is not a ReadableStream.`)}function U(i){return new W(i)}function O(i,c){i._reader._readRequests.push(c)}function I(i,c,p){let x=i._reader._readRequests.shift();p?x._closeSteps():x._chunkSteps(c)}function L(i){return i._reader._readRequests.length}function B(i){let c=i._reader;return!(c===void 0||!oe(c))}class W{constructor(c){if(Ue(c,1,"ReadableStreamDefaultReader"),N(c,"First parameter"),Nn(c))throw new TypeError("This stream has already been locked for exclusive reading by another reader");q(this,c),this._readRequests=new T}get closed(){return oe(this)?this._closedPromise:d(Me("closed"))}cancel(c=void 0){return oe(this)?this._ownerReadableStream===void 0?d(ee("cancel")):Y(this,c):d(Me("cancel"))}read(){if(!oe(this))return d(Me("read"));if(this._ownerReadableStream===void 0)return d(ee("read from"));let c,p,A=l((j,z)=>{c=j,p=z});return ie(this,{_chunkSteps:j=>c({value:j,done:!1}),_closeSteps:()=>c({value:void 0,done:!0}),_errorSteps:j=>p(j)}),A}releaseLock(){if(!oe(this))throw Me("releaseLock");this._ownerReadableStream!==void 0&&Se(this)}}Object.defineProperties(W.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(W.prototype.cancel,"cancel"),o(W.prototype.read,"read"),o(W.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(W.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function oe(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_readRequests")?!1:i instanceof W}function ie(i,c){let p=i._ownerReadableStream;p._disturbed=!0,p._state==="closed"?c._closeSteps():p._state==="errored"?c._errorSteps(p._storedError):p._readableStreamController[P](c)}function Se(i){Q(i);let c=new TypeError("Reader was released");Ie(i,c)}function Ie(i,c){let p=i._readRequests;i._readRequests=new T,p.forEach(A=>{A._errorSteps(c)})}function Me(i){return new TypeError(`ReadableStreamDefaultReader.prototype.${i} can only be used on a ReadableStreamDefaultReader`)}let Ae=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class ve{constructor(c,p){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=c,this._preventCancel=p}next(){let c=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?y(this._ongoingPromise,c,c):c(),this._ongoingPromise}return(c){let p=()=>this._returnSteps(c);return this._ongoingPromise?y(this._ongoingPromise,p,p):p()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let c=this._reader,p,A,x=l((z,ne)=>{p=z,A=ne});return ie(c,{_chunkSteps:z=>{this._ongoingPromise=void 0,_(()=>p({value:z,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Q(c),p({value:void 0,done:!0})},_errorSteps:z=>{this._ongoingPromise=void 0,this._isFinished=!0,Q(c),A(z)}}),x}_returnSteps(c){if(this._isFinished)return Promise.resolve({value:c,done:!0});this._isFinished=!0;let p=this._reader;if(!this._preventCancel){let A=Y(p,c);return Q(p),y(A,()=>({value:c,done:!0}))}return Q(p),f({value:c,done:!0})}}let qe={next(){return wr(this)?this._asyncIteratorImpl.next():d(Er("next"))},return(i){return wr(this)?this._asyncIteratorImpl.return(i):d(Er("return"))}};Object.setPrototypeOf(qe,Ae);function Cr(i,c){let p=U(i),A=new ve(p,c),x=Object.create(qe);return x._asyncIteratorImpl=A,x}function wr(i){if(!n(i)||!Object.prototype.hasOwnProperty.call(i,"_asyncIteratorImpl"))return!1;try{return i._asyncIteratorImpl instanceof ve}catch{return!1}}function Er(i){return new TypeError(`ReadableStreamAsyncIterator.${i} can only be used on a ReadableSteamAsyncIterator`)}let ft=Number.isNaN||function(i){return i!==i};var fn,Ze,ze;function De(i){return i.slice()}function Ef(i,c,p,A,x){new Uint8Array(i).set(new Uint8Array(p,A,x),c)}let hn=i=>(typeof i.transfer=="function"?hn=c=>c.transfer():typeof structuredClone=="function"?hn=c=>structuredClone(c,{transfer:[c]}):hn=c=>c,hn(i)),xn=i=>(typeof i.detached=="boolean"?xn=c=>c.detached:xn=c=>c.byteLength===0,xn(i));function kf(i,c,p){if(i.slice)return i.slice(c,p);let A=p-c,x=new ArrayBuffer(A);return Ef(x,0,i,c,A),x}function As(i,c){let p=i[c];if(p!=null){if(typeof p!="function")throw new TypeError(`${String(c)} is not a function`);return p}}function E_(i){let c={[Symbol.iterator]:()=>i.iterator},p=(async function*(){return yield*c})(),A=p.next;return{iterator:p,nextMethod:A,done:!1}}let du=(ze=(fn=Symbol.asyncIterator)!==null&&fn!==void 0?fn:(Ze=Symbol.for)===null||Ze===void 0?void 0:Ze.call(Symbol,"Symbol.asyncIterator"))!==null&&ze!==void 0?ze:"@@asyncIterator";function Af(i,c="sync",p){if(p===void 0)if(c==="async"){if(p=As(i,du),p===void 0){let j=As(i,Symbol.iterator),z=Af(i,"sync",j);return E_(z)}}else p=As(i,Symbol.iterator);if(p===void 0)throw new TypeError("The object is not iterable");let A=E(p,i,[]);if(!n(A))throw new TypeError("The iterator method must return an object");let x=A.next;return{iterator:A,nextMethod:x,done:!1}}function k_(i){let c=E(i.nextMethod,i.iterator,[]);if(!n(c))throw new TypeError("The iterator.next() method must return an object");return c}function A_(i){return!!i.done}function S_(i){return i.value}function v_(i){return!(typeof i!="number"||ft(i)||i<0)}function Sf(i){let c=kf(i.buffer,i.byteOffset,i.byteOffset+i.byteLength);return new Uint8Array(c)}function fu(i){let c=i._queue.shift();return i._queueTotalSize-=c.size,i._queueTotalSize<0&&(i._queueTotalSize=0),c.value}function hu(i,c,p){if(!v_(p)||p===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");i._queue.push({value:c,size:p}),i._queueTotalSize+=p}function T_(i){return i._queue.peek().value}function On(i){i._queue=new T,i._queueTotalSize=0}function vf(i){return i===DataView}function D_(i){return vf(i.constructor)}function R_(i){return vf(i)?1:i.BYTES_PER_ELEMENT}class Zn{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!pu(this))throw bu("view");return this._view}respond(c){if(!pu(this))throw bu("respond");if(Ue(c,1,"respond"),c=F(c,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(xn(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Ds(this._associatedReadableByteStreamController,c)}respondWithNewView(c){if(!pu(this))throw bu("respondWithNewView");if(Ue(c,1,"respondWithNewView"),!ArrayBuffer.isView(c))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(xn(c.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Rs(this._associatedReadableByteStreamController,c)}}Object.defineProperties(Zn.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),o(Zn.prototype.respond,"respond"),o(Zn.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Zn.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class pn{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!er(this))throw So("byobRequest");return _u(this)}get desiredSize(){if(!er(this))throw So("desiredSize");return Bf(this)}close(){if(!er(this))throw So("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let c=this._controlledReadableByteStream._state;if(c!=="readable")throw new TypeError(`The stream (in ${c} state) is not in the readable state and cannot be closed`);Ao(this)}enqueue(c){if(!er(this))throw So("enqueue");if(Ue(c,1,"enqueue"),!ArrayBuffer.isView(c))throw new TypeError("chunk must be an array buffer view");if(c.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(c.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let p=this._controlledReadableByteStream._state;if(p!=="readable")throw new TypeError(`The stream (in ${p} state) is not in the readable state and cannot be enqueued to`);Ts(this,c)}error(c=void 0){if(!er(this))throw So("error");At(this,c)}[H](c){Tf(this),On(this);let p=this._cancelAlgorithm(c);return vs(this),p}[P](c){let p=this._controlledReadableByteStream;if(this._queueTotalSize>0){Nf(this,c);return}let A=this._autoAllocateChunkSize;if(A!==void 0){let x;try{x=new ArrayBuffer(A)}catch(z){c._errorSteps(z);return}let j={buffer:x,bufferByteLength:A,byteOffset:0,byteLength:A,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(j)}O(p,c),tr(this)}[K](){if(this._pendingPullIntos.length>0){let c=this._pendingPullIntos.peek();c.readerType="none",this._pendingPullIntos=new T,this._pendingPullIntos.push(c)}}}Object.defineProperties(pn.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),o(pn.prototype.close,"close"),o(pn.prototype.enqueue,"enqueue"),o(pn.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pn.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function er(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableByteStream")?!1:i instanceof pn}function pu(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_associatedReadableByteStreamController")?!1:i instanceof Zn}function tr(i){if(!I_(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let p=i._pullAlgorithm();m(p,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,tr(i)),null),A=>(At(i,A),null))}function Tf(i){gu(i),i._pendingPullIntos=new T}function mu(i,c){let p=!1;i._state==="closed"&&(p=!0);let A=Df(c);c.readerType==="default"?I(i,A,p):U_(i,A,p)}function Df(i){let c=i.bytesFilled,p=i.elementSize;return new i.viewConstructor(i.buffer,i.byteOffset,c/p)}function Ss(i,c,p,A){i._queue.push({buffer:c,byteOffset:p,byteLength:A}),i._queueTotalSize+=A}function Rf(i,c,p,A){let x;try{x=kf(c,p,p+A)}catch(j){throw At(i,j),j}Ss(i,x,0,A)}function xf(i,c){c.bytesFilled>0&&Rf(i,c.buffer,c.byteOffset,c.bytesFilled),kr(i)}function Of(i,c){let p=Math.min(i._queueTotalSize,c.byteLength-c.bytesFilled),A=c.bytesFilled+p,x=p,j=!1,z=A%c.elementSize,ne=A-z;ne>=c.minimumFill&&(x=ne-c.bytesFilled,j=!0);let me=i._queue;for(;x>0;){let de=me.peek(),ge=Math.min(x,de.byteLength),Ce=c.byteOffset+c.bytesFilled;Ef(c.buffer,Ce,de.buffer,de.byteOffset,ge),de.byteLength===ge?me.shift():(de.byteOffset+=ge,de.byteLength-=ge),i._queueTotalSize-=ge,Pf(i,ge,c),x-=ge}return j}function Pf(i,c,p){p.bytesFilled+=c}function Ff(i){i._queueTotalSize===0&&i._closeRequested?(vs(i),Oo(i._controlledReadableByteStream)):tr(i)}function gu(i){i._byobRequest!==null&&(i._byobRequest._associatedReadableByteStreamController=void 0,i._byobRequest._view=null,i._byobRequest=null)}function yu(i){for(;i._pendingPullIntos.length>0;){if(i._queueTotalSize===0)return;let c=i._pendingPullIntos.peek();Of(i,c)&&(kr(i),mu(i._controlledReadableByteStream,c))}}function x_(i){let c=i._controlledReadableByteStream._reader;for(;c._readRequests.length>0;){if(i._queueTotalSize===0)return;let p=c._readRequests.shift();Nf(i,p)}}function O_(i,c,p,A){let x=i._controlledReadableByteStream,j=c.constructor,z=R_(j),{byteOffset:ne,byteLength:me}=c,de=p*z,ge;try{ge=hn(c.buffer)}catch(xe){A._errorSteps(xe);return}let Ce={buffer:ge,bufferByteLength:ge.byteLength,byteOffset:ne,byteLength:me,bytesFilled:0,minimumFill:de,elementSize:z,viewConstructor:j,readerType:"byob"};if(i._pendingPullIntos.length>0){i._pendingPullIntos.push(Ce),jf(x,A);return}if(x._state==="closed"){let xe=new j(Ce.buffer,Ce.byteOffset,0);A._closeSteps(xe);return}if(i._queueTotalSize>0){if(Of(i,Ce)){let xe=Df(Ce);Ff(i),A._chunkSteps(xe);return}if(i._closeRequested){let xe=new TypeError("Insufficient bytes to fill elements in the given buffer");At(i,xe),A._errorSteps(xe);return}}i._pendingPullIntos.push(Ce),jf(x,A),tr(i)}function P_(i,c){c.readerType==="none"&&kr(i);let p=i._controlledReadableByteStream;if(Cu(p))for(;Uf(p)>0;){let A=kr(i);mu(p,A)}}function F_(i,c,p){if(Pf(i,c,p),p.readerType==="none"){xf(i,p),yu(i);return}if(p.bytesFilled<p.minimumFill)return;kr(i);let A=p.bytesFilled%p.elementSize;if(A>0){let x=p.byteOffset+p.bytesFilled;Rf(i,p.buffer,x-A,A)}p.bytesFilled-=A,mu(i._controlledReadableByteStream,p),yu(i)}function If(i,c){let p=i._pendingPullIntos.peek();gu(i),i._controlledReadableByteStream._state==="closed"?P_(i,p):F_(i,c,p),tr(i)}function kr(i){return i._pendingPullIntos.shift()}function I_(i){let c=i._controlledReadableByteStream;return c._state!=="readable"||i._closeRequested||!i._started?!1:!!(B(c)&&L(c)>0||Cu(c)&&Uf(c)>0||Bf(i)>0)}function vs(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0}function Ao(i){let c=i._controlledReadableByteStream;if(!(i._closeRequested||c._state!=="readable")){if(i._queueTotalSize>0){i._closeRequested=!0;return}if(i._pendingPullIntos.length>0){let p=i._pendingPullIntos.peek();if(p.bytesFilled%p.elementSize!==0){let A=new TypeError("Insufficient bytes to fill elements in the given buffer");throw At(i,A),A}}vs(i),Oo(c)}}function Ts(i,c){let p=i._controlledReadableByteStream;if(i._closeRequested||p._state!=="readable")return;let{buffer:A,byteOffset:x,byteLength:j}=c;if(xn(A))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let z=hn(A);if(i._pendingPullIntos.length>0){let ne=i._pendingPullIntos.peek();if(xn(ne.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");gu(i),ne.buffer=hn(ne.buffer),ne.readerType==="none"&&xf(i,ne)}if(B(p))if(x_(i),L(p)===0)Ss(i,z,x,j);else{i._pendingPullIntos.length>0&&kr(i);let ne=new Uint8Array(z,x,j);I(p,ne,!1)}else Cu(p)?(Ss(i,z,x,j),yu(i)):Ss(i,z,x,j);tr(i)}function At(i,c){let p=i._controlledReadableByteStream;p._state==="readable"&&(Tf(i),On(i),vs(i),lh(p,c))}function Nf(i,c){let p=i._queue.shift();i._queueTotalSize-=p.byteLength,Ff(i);let A=new Uint8Array(p.buffer,p.byteOffset,p.byteLength);c._chunkSteps(A)}function _u(i){if(i._byobRequest===null&&i._pendingPullIntos.length>0){let c=i._pendingPullIntos.peek(),p=new Uint8Array(c.buffer,c.byteOffset+c.bytesFilled,c.byteLength-c.bytesFilled),A=Object.create(Zn.prototype);B_(A,i,p),i._byobRequest=A}return i._byobRequest}function Bf(i){let c=i._controlledReadableByteStream._state;return c==="errored"?null:c==="closed"?0:i._strategyHWM-i._queueTotalSize}function Ds(i,c){let p=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(c!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(c===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(p.bytesFilled+c>p.byteLength)throw new RangeError("bytesWritten out of range")}p.buffer=hn(p.buffer),If(i,c)}function Rs(i,c){let p=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(c.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(c.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(p.byteOffset+p.bytesFilled!==c.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(p.bufferByteLength!==c.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(p.bytesFilled+c.byteLength>p.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let x=c.byteLength;p.buffer=hn(c.buffer),If(i,x)}function Mf(i,c,p,A,x,j,z){c._controlledReadableByteStream=i,c._pullAgain=!1,c._pulling=!1,c._byobRequest=null,c._queue=c._queueTotalSize=void 0,On(c),c._closeRequested=!1,c._started=!1,c._strategyHWM=j,c._pullAlgorithm=A,c._cancelAlgorithm=x,c._autoAllocateChunkSize=z,c._pendingPullIntos=new T,i._readableStreamController=c;let ne=p();m(f(ne),()=>(c._started=!0,tr(c),null),me=>(At(c,me),null))}function N_(i,c,p){let A=Object.create(pn.prototype),x,j,z;c.start!==void 0?x=()=>c.start(A):x=()=>{},c.pull!==void 0?j=()=>c.pull(A):j=()=>f(void 0),c.cancel!==void 0?z=me=>c.cancel(me):z=()=>f(void 0);let ne=c.autoAllocateChunkSize;if(ne===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Mf(i,A,x,j,z,p,ne)}function B_(i,c,p){i._associatedReadableByteStreamController=c,i._view=p}function bu(i){return new TypeError(`ReadableStreamBYOBRequest.prototype.${i} can only be used on a ReadableStreamBYOBRequest`)}function So(i){return new TypeError(`ReadableByteStreamController.prototype.${i} can only be used on a ReadableByteStreamController`)}function M_(i,c){ae(i,c);let p=i?.mode;return{mode:p===void 0?void 0:L_(p,`${c} has member 'mode' that`)}}function L_(i,c){if(i=`${i}`,i!=="byob")throw new TypeError(`${c} '${i}' is not a valid enumeration value for ReadableStreamReaderMode`);return i}function j_(i,c){var p;ae(i,c);let A=(p=i?.min)!==null&&p!==void 0?p:1;return{min:F(A,`${c} has member 'min' that`)}}function Lf(i){return new Pn(i)}function jf(i,c){i._reader._readIntoRequests.push(c)}function U_(i,c,p){let x=i._reader._readIntoRequests.shift();p?x._closeSteps(c):x._chunkSteps(c)}function Uf(i){return i._reader._readIntoRequests.length}function Cu(i){let c=i._reader;return!(c===void 0||!nr(c))}class Pn{constructor(c){if(Ue(c,1,"ReadableStreamBYOBReader"),N(c,"First parameter"),Nn(c))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!er(c._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");q(this,c),this._readIntoRequests=new T}get closed(){return nr(this)?this._closedPromise:d(xs("closed"))}cancel(c=void 0){return nr(this)?this._ownerReadableStream===void 0?d(ee("cancel")):Y(this,c):d(xs("cancel"))}read(c,p={}){if(!nr(this))return d(xs("read"));if(!ArrayBuffer.isView(c))return d(new TypeError("view must be an array buffer view"));if(c.byteLength===0)return d(new TypeError("view must have non-zero byteLength"));if(c.buffer.byteLength===0)return d(new TypeError("view's buffer must have non-zero byteLength"));if(xn(c.buffer))return d(new TypeError("view's buffer has been detached"));let A;try{A=j_(p,"options")}catch(de){return d(de)}let x=A.min;if(x===0)return d(new TypeError("options.min must be greater than 0"));if(D_(c)){if(x>c.byteLength)return d(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(x>c.length)return d(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return d(ee("read from"));let j,z,ne=l((de,ge)=>{j=de,z=ge});return $f(this,c,x,{_chunkSteps:de=>j({value:de,done:!1}),_closeSteps:de=>j({value:de,done:!0}),_errorSteps:de=>z(de)}),ne}releaseLock(){if(!nr(this))throw xs("releaseLock");this._ownerReadableStream!==void 0&&$_(this)}}Object.defineProperties(Pn.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(Pn.prototype.cancel,"cancel"),o(Pn.prototype.read,"read"),o(Pn.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Pn.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function nr(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_readIntoRequests")?!1:i instanceof Pn}function $f(i,c,p,A){let x=i._ownerReadableStream;x._disturbed=!0,x._state==="errored"?A._errorSteps(x._storedError):O_(x._readableStreamController,c,p,A)}function $_(i){Q(i);let c=new TypeError("Reader was released");qf(i,c)}function qf(i,c){let p=i._readIntoRequests;i._readIntoRequests=new T,p.forEach(A=>{A._errorSteps(c)})}function xs(i){return new TypeError(`ReadableStreamBYOBReader.prototype.${i} can only be used on a ReadableStreamBYOBReader`)}function vo(i,c){let{highWaterMark:p}=i;if(p===void 0)return c;if(ft(p)||p<0)throw new RangeError("Invalid highWaterMark");return p}function Os(i){let{size:c}=i;return c||(()=>1)}function Ps(i,c){ae(i,c);let p=i?.highWaterMark,A=i?.size;return{highWaterMark:p===void 0?void 0:v(p),size:A===void 0?void 0:q_(A,`${c} has member 'size' that`)}}function q_(i,c){return te(i,c),p=>v(i(p))}function z_(i,c){ae(i,c);let p=i?.abort,A=i?.close,x=i?.start,j=i?.type,z=i?.write;return{abort:p===void 0?void 0:H_(p,i,`${c} has member 'abort' that`),close:A===void 0?void 0:W_(A,i,`${c} has member 'close' that`),start:x===void 0?void 0:G_(x,i,`${c} has member 'start' that`),write:z===void 0?void 0:J_(z,i,`${c} has member 'write' that`),type:j}}function H_(i,c,p){return te(i,p),A=>b(i,c,[A])}function W_(i,c,p){return te(i,p),()=>b(i,c,[])}function G_(i,c,p){return te(i,p),A=>E(i,c,[A])}function J_(i,c,p){return te(i,p),(A,x)=>b(i,c,[A,x])}function zf(i,c){if(!Ar(i))throw new TypeError(`${c} is not a WritableStream.`)}function V_(i){if(typeof i!="object"||i===null)return!1;try{return typeof i.aborted=="boolean"}catch{return!1}}let K_=typeof AbortController=="function";function Y_(){if(K_)return new AbortController}class Fn{constructor(c={},p={}){c===void 0?c=null:Oe(c,"First parameter");let A=Ps(p,"Second parameter"),x=z_(c,"First parameter");if(Wf(this),x.type!==void 0)throw new RangeError("Invalid type is specified");let z=Os(A),ne=vo(A,1);lb(this,x,ne,z)}get locked(){if(!Ar(this))throw Ms("locked");return Sr(this)}abort(c=void 0){return Ar(this)?Sr(this)?d(new TypeError("Cannot abort a stream that already has a writer")):Fs(this,c):d(Ms("abort"))}close(){return Ar(this)?Sr(this)?d(new TypeError("Cannot close a stream that already has a writer")):Yt(this)?d(new TypeError("Cannot close an already-closing stream")):Gf(this):d(Ms("close"))}getWriter(){if(!Ar(this))throw Ms("getWriter");return Hf(this)}}Object.defineProperties(Fn.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),o(Fn.prototype.abort,"abort"),o(Fn.prototype.close,"close"),o(Fn.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Fn.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function Hf(i){return new mn(i)}function Q_(i,c,p,A,x=1,j=()=>1){let z=Object.create(Fn.prototype);Wf(z);let ne=Object.create(vr.prototype);return Xf(z,ne,i,c,p,A,x,j),z}function Wf(i){i._state="writable",i._storedError=void 0,i._writer=void 0,i._writableStreamController=void 0,i._writeRequests=new T,i._inFlightWriteRequest=void 0,i._closeRequest=void 0,i._inFlightCloseRequest=void 0,i._pendingAbortRequest=void 0,i._backpressure=!1}function Ar(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_writableStreamController")?!1:i instanceof Fn}function Sr(i){return i._writer!==void 0}function Fs(i,c){var p;if(i._state==="closed"||i._state==="errored")return f(void 0);i._writableStreamController._abortReason=c,(p=i._writableStreamController._abortController)===null||p===void 0||p.abort(c);let A=i._state;if(A==="closed"||A==="errored")return f(void 0);if(i._pendingAbortRequest!==void 0)return i._pendingAbortRequest._promise;let x=!1;A==="erroring"&&(x=!0,c=void 0);let j=l((z,ne)=>{i._pendingAbortRequest={_promise:void 0,_resolve:z,_reject:ne,_reason:c,_wasAlreadyErroring:x}});return i._pendingAbortRequest._promise=j,x||Eu(i,c),j}function Gf(i){let c=i._state;if(c==="closed"||c==="errored")return d(new TypeError(`The stream (in ${c} state) is not in the writable state and cannot be closed`));let p=l((x,j)=>{let z={_resolve:x,_reject:j};i._closeRequest=z}),A=i._writer;return A!==void 0&&i._backpressure&&c==="writable"&&xu(A),db(i._writableStreamController),p}function X_(i){return l((p,A)=>{let x={_resolve:p,_reject:A};i._writeRequests.push(x)})}function wu(i,c){if(i._state==="writable"){Eu(i,c);return}ku(i)}function Eu(i,c){let p=i._writableStreamController;i._state="erroring",i._storedError=c;let A=i._writer;A!==void 0&&Vf(A,c),!rb(i)&&p._started&&ku(i)}function ku(i){i._state="errored",i._writableStreamController[$]();let c=i._storedError;if(i._writeRequests.forEach(x=>{x._reject(c)}),i._writeRequests=new T,i._pendingAbortRequest===void 0){Is(i);return}let p=i._pendingAbortRequest;if(i._pendingAbortRequest=void 0,p._wasAlreadyErroring){p._reject(c),Is(i);return}let A=i._writableStreamController[R](p._reason);m(A,()=>(p._resolve(),Is(i),null),x=>(p._reject(x),Is(i),null))}function Z_(i){i._inFlightWriteRequest._resolve(void 0),i._inFlightWriteRequest=void 0}function eb(i,c){i._inFlightWriteRequest._reject(c),i._inFlightWriteRequest=void 0,wu(i,c)}function tb(i){i._inFlightCloseRequest._resolve(void 0),i._inFlightCloseRequest=void 0,i._state==="erroring"&&(i._storedError=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._resolve(),i._pendingAbortRequest=void 0)),i._state="closed";let p=i._writer;p!==void 0&&nh(p)}function nb(i,c){i._inFlightCloseRequest._reject(c),i._inFlightCloseRequest=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._reject(c),i._pendingAbortRequest=void 0),wu(i,c)}function Yt(i){return!(i._closeRequest===void 0&&i._inFlightCloseRequest===void 0)}function rb(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}function ob(i){i._inFlightCloseRequest=i._closeRequest,i._closeRequest=void 0}function sb(i){i._inFlightWriteRequest=i._writeRequests.shift()}function Is(i){i._closeRequest!==void 0&&(i._closeRequest._reject(i._storedError),i._closeRequest=void 0);let c=i._writer;c!==void 0&&Du(c,i._storedError)}function Au(i,c){let p=i._writer;p!==void 0&&c!==i._backpressure&&(c?_b(p):xu(p)),i._backpressure=c}class mn{constructor(c){if(Ue(c,1,"WritableStreamDefaultWriter"),zf(c,"First parameter"),Sr(c))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=c,c._writer=this;let p=c._state;if(p==="writable")!Yt(c)&&c._backpressure?js(this):rh(this),Ls(this);else if(p==="erroring")Ru(this,c._storedError),Ls(this);else if(p==="closed")rh(this),gb(this);else{let A=c._storedError;Ru(this,A),th(this,A)}}get closed(){return rr(this)?this._closedPromise:d(or("closed"))}get desiredSize(){if(!rr(this))throw or("desiredSize");if(this._ownerWritableStream===void 0)throw Do("desiredSize");return cb(this)}get ready(){return rr(this)?this._readyPromise:d(or("ready"))}abort(c=void 0){return rr(this)?this._ownerWritableStream===void 0?d(Do("abort")):ib(this,c):d(or("abort"))}close(){if(!rr(this))return d(or("close"));let c=this._ownerWritableStream;return c===void 0?d(Do("close")):Yt(c)?d(new TypeError("Cannot close an already-closing stream")):Jf(this)}releaseLock(){if(!rr(this))throw or("releaseLock");this._ownerWritableStream!==void 0&&Kf(this)}write(c=void 0){return rr(this)?this._ownerWritableStream===void 0?d(Do("write to")):Yf(this,c):d(or("write"))}}Object.defineProperties(mn.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),o(mn.prototype.abort,"abort"),o(mn.prototype.close,"close"),o(mn.prototype.releaseLock,"releaseLock"),o(mn.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(mn.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function rr(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_ownerWritableStream")?!1:i instanceof mn}function ib(i,c){let p=i._ownerWritableStream;return Fs(p,c)}function Jf(i){let c=i._ownerWritableStream;return Gf(c)}function ab(i){let c=i._ownerWritableStream,p=c._state;return Yt(c)||p==="closed"?f(void 0):p==="errored"?d(c._storedError):Jf(i)}function ub(i,c){i._closedPromiseState==="pending"?Du(i,c):yb(i,c)}function Vf(i,c){i._readyPromiseState==="pending"?oh(i,c):bb(i,c)}function cb(i){let c=i._ownerWritableStream,p=c._state;return p==="errored"||p==="erroring"?null:p==="closed"?0:Zf(c._writableStreamController)}function Kf(i){let c=i._ownerWritableStream,p=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Vf(i,p),ub(i,p),c._writer=void 0,i._ownerWritableStream=void 0}function Yf(i,c){let p=i._ownerWritableStream,A=p._writableStreamController,x=fb(A,c);if(p!==i._ownerWritableStream)return d(Do("write to"));let j=p._state;if(j==="errored")return d(p._storedError);if(Yt(p)||j==="closed")return d(new TypeError("The stream is closing or closed and cannot be written to"));if(j==="erroring")return d(p._storedError);let z=X_(p);return hb(A,c,x),z}let Qf={};class vr{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!Su(this))throw Tu("abortReason");return this._abortReason}get signal(){if(!Su(this))throw Tu("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(c=void 0){if(!Su(this))throw Tu("error");this._controlledWritableStream._state==="writable"&&eh(this,c)}[R](c){let p=this._abortAlgorithm(c);return Ns(this),p}[$](){On(this)}}Object.defineProperties(vr.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(vr.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function Su(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledWritableStream")?!1:i instanceof vr}function Xf(i,c,p,A,x,j,z,ne){c._controlledWritableStream=i,i._writableStreamController=c,c._queue=void 0,c._queueTotalSize=void 0,On(c),c._abortReason=void 0,c._abortController=Y_(),c._started=!1,c._strategySizeAlgorithm=ne,c._strategyHWM=z,c._writeAlgorithm=A,c._closeAlgorithm=x,c._abortAlgorithm=j;let me=vu(c);Au(i,me);let de=p(),ge=f(de);m(ge,()=>(c._started=!0,Bs(c),null),Ce=>(c._started=!0,wu(i,Ce),null))}function lb(i,c,p,A){let x=Object.create(vr.prototype),j,z,ne,me;c.start!==void 0?j=()=>c.start(x):j=()=>{},c.write!==void 0?z=de=>c.write(de,x):z=()=>f(void 0),c.close!==void 0?ne=()=>c.close():ne=()=>f(void 0),c.abort!==void 0?me=de=>c.abort(de):me=()=>f(void 0),Xf(i,x,j,z,ne,me,p,A)}function Ns(i){i._writeAlgorithm=void 0,i._closeAlgorithm=void 0,i._abortAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function db(i){hu(i,Qf,0),Bs(i)}function fb(i,c){try{return i._strategySizeAlgorithm(c)}catch(p){return To(i,p),1}}function Zf(i){return i._strategyHWM-i._queueTotalSize}function hb(i,c,p){try{hu(i,c,p)}catch(x){To(i,x);return}let A=i._controlledWritableStream;if(!Yt(A)&&A._state==="writable"){let x=vu(i);Au(A,x)}Bs(i)}function Bs(i){let c=i._controlledWritableStream;if(!i._started||c._inFlightWriteRequest!==void 0)return;if(c._state==="erroring"){ku(c);return}if(i._queue.length===0)return;let A=T_(i);A===Qf?pb(i):mb(i,A)}function To(i,c){i._controlledWritableStream._state==="writable"&&eh(i,c)}function pb(i){let c=i._controlledWritableStream;ob(c),fu(i);let p=i._closeAlgorithm();Ns(i),m(p,()=>(tb(c),null),A=>(nb(c,A),null))}function mb(i,c){let p=i._controlledWritableStream;sb(p);let A=i._writeAlgorithm(c);m(A,()=>{Z_(p);let x=p._state;if(fu(i),!Yt(p)&&x==="writable"){let j=vu(i);Au(p,j)}return Bs(i),null},x=>(p._state==="writable"&&Ns(i),eb(p,x),null))}function vu(i){return Zf(i)<=0}function eh(i,c){let p=i._controlledWritableStream;Ns(i),Eu(p,c)}function Ms(i){return new TypeError(`WritableStream.prototype.${i} can only be used on a WritableStream`)}function Tu(i){return new TypeError(`WritableStreamDefaultController.prototype.${i} can only be used on a WritableStreamDefaultController`)}function or(i){return new TypeError(`WritableStreamDefaultWriter.prototype.${i} can only be used on a WritableStreamDefaultWriter`)}function Do(i){return new TypeError("Cannot "+i+" a stream using a released writer")}function Ls(i){i._closedPromise=l((c,p)=>{i._closedPromise_resolve=c,i._closedPromise_reject=p,i._closedPromiseState="pending"})}function th(i,c){Ls(i),Du(i,c)}function gb(i){Ls(i),nh(i)}function Du(i,c){i._closedPromise_reject!==void 0&&(g(i._closedPromise),i._closedPromise_reject(c),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="rejected")}function yb(i,c){th(i,c)}function nh(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="resolved")}function js(i){i._readyPromise=l((c,p)=>{i._readyPromise_resolve=c,i._readyPromise_reject=p}),i._readyPromiseState="pending"}function Ru(i,c){js(i),oh(i,c)}function rh(i){js(i),xu(i)}function oh(i,c){i._readyPromise_reject!==void 0&&(g(i._readyPromise),i._readyPromise_reject(c),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="rejected")}function _b(i){js(i)}function bb(i,c){Ru(i,c)}function xu(i){i._readyPromise_resolve!==void 0&&(i._readyPromise_resolve(void 0),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="fulfilled")}function Cb(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let Ou=Cb();function wb(i){if(!(typeof i=="function"||typeof i=="object")||i.name!=="DOMException")return!1;try{return new i,!0}catch{return!1}}function Eb(){let i=Ou?.DOMException;return wb(i)?i:void 0}function kb(){let i=function(p,A){this.message=p||"",this.name=A||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return o(i,"DOMException"),i.prototype=Object.create(Error.prototype),Object.defineProperty(i.prototype,"constructor",{value:i,writable:!0,configurable:!0}),i}let Ab=Eb()||kb();function sh(i,c,p,A,x,j){let z=U(i),ne=Hf(c);i._disturbed=!0;let me=!1,de=f(void 0);return l((ge,Ce)=>{let xe;if(j!==void 0){if(xe=()=>{let fe=j.reason!==void 0?j.reason:new Ab("Aborted","AbortError"),Ee=[];A||Ee.push(()=>c._state==="writable"?Fs(c,fe):f(void 0)),x||Ee.push(()=>i._state==="readable"?Mt(i,fe):f(void 0)),at(()=>Promise.all(Ee.map(Pe=>Pe())),!0,fe)},j.aborted){xe();return}j.addEventListener("abort",xe)}function Lt(){return l((fe,Ee)=>{function Pe(ht){ht?fe():h(xr(),Pe,Ee)}Pe(!1)})}function xr(){return me?f(!0):h(ne._readyPromise,()=>l((fe,Ee)=>{ie(z,{_chunkSteps:Pe=>{de=h(Yf(ne,Pe),void 0,e),fe(!1)},_closeSteps:()=>fe(!0),_errorSteps:Ee})}))}if(yn(i,z._closedPromise,fe=>(A?St(!0,fe):at(()=>Fs(c,fe),!0,fe),null)),yn(c,ne._closedPromise,fe=>(x?St(!0,fe):at(()=>Mt(i,fe),!0,fe),null)),rt(i,z._closedPromise,()=>(p?St():at(()=>ab(ne)),null)),Yt(c)||c._state==="closed"){let fe=new TypeError("the destination writable stream closed before all data could be piped to it");x?St(!0,fe):at(()=>Mt(i,fe),!0,fe)}g(Lt());function Mn(){let fe=de;return h(de,()=>fe!==de?Mn():void 0)}function yn(fe,Ee,Pe){fe._state==="errored"?Pe(fe._storedError):w(Ee,Pe)}function rt(fe,Ee,Pe){fe._state==="closed"?Pe():C(Ee,Pe)}function at(fe,Ee,Pe){if(me)return;me=!0,c._state==="writable"&&!Yt(c)?C(Mn(),ht):ht();function ht(){return m(fe(),()=>_n(Ee,Pe),Or=>_n(!0,Or)),null}}function St(fe,Ee){me||(me=!0,c._state==="writable"&&!Yt(c)?C(Mn(),()=>_n(fe,Ee)):_n(fe,Ee))}function _n(fe,Ee){return Kf(ne),Q(z),j!==void 0&&j.removeEventListener("abort",xe),fe?Ce(Ee):ge(void 0),null}})}class gn{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Us(this))throw qs("desiredSize");return Pu(this)}close(){if(!Us(this))throw qs("close");if(!Dr(this))throw new TypeError("The stream is not in a state that permits close");sr(this)}enqueue(c=void 0){if(!Us(this))throw qs("enqueue");if(!Dr(this))throw new TypeError("The stream is not in a state that permits enqueue");return Tr(this,c)}error(c=void 0){if(!Us(this))throw qs("error");Bt(this,c)}[H](c){On(this);let p=this._cancelAlgorithm(c);return $s(this),p}[P](c){let p=this._controlledReadableStream;if(this._queue.length>0){let A=fu(this);this._closeRequested&&this._queue.length===0?($s(this),Oo(p)):Ro(this),c._chunkSteps(A)}else O(p,c),Ro(this)}[K](){}}Object.defineProperties(gn.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),o(gn.prototype.close,"close"),o(gn.prototype.enqueue,"enqueue"),o(gn.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(gn.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function Us(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableStream")?!1:i instanceof gn}function Ro(i){if(!ih(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let p=i._pullAlgorithm();m(p,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,Ro(i)),null),A=>(Bt(i,A),null))}function ih(i){let c=i._controlledReadableStream;return!Dr(i)||!i._started?!1:!!(Nn(c)&&L(c)>0||Pu(i)>0)}function $s(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function sr(i){if(!Dr(i))return;let c=i._controlledReadableStream;i._closeRequested=!0,i._queue.length===0&&($s(i),Oo(c))}function Tr(i,c){if(!Dr(i))return;let p=i._controlledReadableStream;if(Nn(p)&&L(p)>0)I(p,c,!1);else{let A;try{A=i._strategySizeAlgorithm(c)}catch(x){throw Bt(i,x),x}try{hu(i,c,A)}catch(x){throw Bt(i,x),x}}Ro(i)}function Bt(i,c){let p=i._controlledReadableStream;p._state==="readable"&&(On(i),$s(i),lh(p,c))}function Pu(i){let c=i._controlledReadableStream._state;return c==="errored"?null:c==="closed"?0:i._strategyHWM-i._queueTotalSize}function Sb(i){return!ih(i)}function Dr(i){let c=i._controlledReadableStream._state;return!i._closeRequested&&c==="readable"}function ah(i,c,p,A,x,j,z){c._controlledReadableStream=i,c._queue=void 0,c._queueTotalSize=void 0,On(c),c._started=!1,c._closeRequested=!1,c._pullAgain=!1,c._pulling=!1,c._strategySizeAlgorithm=z,c._strategyHWM=j,c._pullAlgorithm=A,c._cancelAlgorithm=x,i._readableStreamController=c;let ne=p();m(f(ne),()=>(c._started=!0,Ro(c),null),me=>(Bt(c,me),null))}function vb(i,c,p,A){let x=Object.create(gn.prototype),j,z,ne;c.start!==void 0?j=()=>c.start(x):j=()=>{},c.pull!==void 0?z=()=>c.pull(x):z=()=>f(void 0),c.cancel!==void 0?ne=me=>c.cancel(me):ne=()=>f(void 0),ah(i,x,j,z,ne,p,A)}function qs(i){return new TypeError(`ReadableStreamDefaultController.prototype.${i} can only be used on a ReadableStreamDefaultController`)}function Tb(i,c){return er(i._readableStreamController)?Rb(i):Db(i)}function Db(i,c){let p=U(i),A=!1,x=!1,j=!1,z=!1,ne,me,de,ge,Ce,xe=l(rt=>{Ce=rt});function Lt(){return A?(x=!0,f(void 0)):(A=!0,ie(p,{_chunkSteps:at=>{_(()=>{x=!1;let St=at,_n=at;j||Tr(de._readableStreamController,St),z||Tr(ge._readableStreamController,_n),A=!1,x&&Lt()})},_closeSteps:()=>{A=!1,j||sr(de._readableStreamController),z||sr(ge._readableStreamController),(!j||!z)&&Ce(void 0)},_errorSteps:()=>{A=!1}}),f(void 0))}function xr(rt){if(j=!0,ne=rt,z){let at=De([ne,me]),St=Mt(i,at);Ce(St)}return xe}function Mn(rt){if(z=!0,me=rt,j){let at=De([ne,me]),St=Mt(i,at);Ce(St)}return xe}function yn(){}return de=xo(yn,Lt,xr),ge=xo(yn,Lt,Mn),w(p._closedPromise,rt=>(Bt(de._readableStreamController,rt),Bt(ge._readableStreamController,rt),(!j||!z)&&Ce(void 0),null)),[de,ge]}function Rb(i){let c=U(i),p=!1,A=!1,x=!1,j=!1,z=!1,ne,me,de,ge,Ce,xe=l(fe=>{Ce=fe});function Lt(fe){w(fe._closedPromise,Ee=>(fe!==c||(At(de._readableStreamController,Ee),At(ge._readableStreamController,Ee),(!j||!z)&&Ce(void 0)),null))}function xr(){nr(c)&&(Q(c),c=U(i),Lt(c)),ie(c,{_chunkSteps:Ee=>{_(()=>{A=!1,x=!1;let Pe=Ee,ht=Ee;if(!j&&!z)try{ht=Sf(Ee)}catch(Or){At(de._readableStreamController,Or),At(ge._readableStreamController,Or),Ce(Mt(i,Or));return}j||Ts(de._readableStreamController,Pe),z||Ts(ge._readableStreamController,ht),p=!1,A?yn():x&&rt()})},_closeSteps:()=>{p=!1,j||Ao(de._readableStreamController),z||Ao(ge._readableStreamController),de._readableStreamController._pendingPullIntos.length>0&&Ds(de._readableStreamController,0),ge._readableStreamController._pendingPullIntos.length>0&&Ds(ge._readableStreamController,0),(!j||!z)&&Ce(void 0)},_errorSteps:()=>{p=!1}})}function Mn(fe,Ee){oe(c)&&(Q(c),c=Lf(i),Lt(c));let Pe=Ee?ge:de,ht=Ee?de:ge;$f(c,fe,1,{_chunkSteps:Pr=>{_(()=>{A=!1,x=!1;let Fr=Ee?z:j;if(Ee?j:z)Fr||Rs(Pe._readableStreamController,Pr);else{let kh;try{kh=Sf(Pr)}catch(Mu){At(Pe._readableStreamController,Mu),At(ht._readableStreamController,Mu),Ce(Mt(i,Mu));return}Fr||Rs(Pe._readableStreamController,Pr),Ts(ht._readableStreamController,kh)}p=!1,A?yn():x&&rt()})},_closeSteps:Pr=>{p=!1;let Fr=Ee?z:j,Ys=Ee?j:z;Fr||Ao(Pe._readableStreamController),Ys||Ao(ht._readableStreamController),Pr!==void 0&&(Fr||Rs(Pe._readableStreamController,Pr),!Ys&&ht._readableStreamController._pendingPullIntos.length>0&&Ds(ht._readableStreamController,0)),(!Fr||!Ys)&&Ce(void 0)},_errorSteps:()=>{p=!1}})}function yn(){if(p)return A=!0,f(void 0);p=!0;let fe=_u(de._readableStreamController);return fe===null?xr():Mn(fe._view,!1),f(void 0)}function rt(){if(p)return x=!0,f(void 0);p=!0;let fe=_u(ge._readableStreamController);return fe===null?xr():Mn(fe._view,!0),f(void 0)}function at(fe){if(j=!0,ne=fe,z){let Ee=De([ne,me]),Pe=Mt(i,Ee);Ce(Pe)}return xe}function St(fe){if(z=!0,me=fe,j){let Ee=De([ne,me]),Pe=Mt(i,Ee);Ce(Pe)}return xe}function _n(){}return de=ch(_n,yn,at),ge=ch(_n,rt,St),Lt(c),[de,ge]}function xb(i){return n(i)&&typeof i.getReader<"u"}function Ob(i){return xb(i)?Fb(i.getReader()):Pb(i)}function Pb(i){let c,p=Af(i,"async"),A=e;function x(){let z;try{z=k_(p)}catch(me){return d(me)}let ne=f(z);return y(ne,me=>{if(!n(me))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(A_(me))sr(c._readableStreamController);else{let ge=S_(me);Tr(c._readableStreamController,ge)}})}function j(z){let ne=p.iterator,me;try{me=As(ne,"return")}catch(Ce){return d(Ce)}if(me===void 0)return f(void 0);let de;try{de=E(me,ne,[z])}catch(Ce){return d(Ce)}let ge=f(de);return y(ge,Ce=>{if(!n(Ce))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return c=xo(A,x,j,0),c}function Fb(i){let c,p=e;function A(){let j;try{j=i.read()}catch(z){return d(z)}return y(j,z=>{if(!n(z))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(z.done)sr(c._readableStreamController);else{let ne=z.value;Tr(c._readableStreamController,ne)}})}function x(j){try{return f(i.cancel(j))}catch(z){return d(z)}}return c=xo(p,A,x,0),c}function Ib(i,c){ae(i,c);let p=i,A=p?.autoAllocateChunkSize,x=p?.cancel,j=p?.pull,z=p?.start,ne=p?.type;return{autoAllocateChunkSize:A===void 0?void 0:F(A,`${c} has member 'autoAllocateChunkSize' that`),cancel:x===void 0?void 0:Nb(x,p,`${c} has member 'cancel' that`),pull:j===void 0?void 0:Bb(j,p,`${c} has member 'pull' that`),start:z===void 0?void 0:Mb(z,p,`${c} has member 'start' that`),type:ne===void 0?void 0:Lb(ne,`${c} has member 'type' that`)}}function Nb(i,c,p){return te(i,p),A=>b(i,c,[A])}function Bb(i,c,p){return te(i,p),A=>b(i,c,[A])}function Mb(i,c,p){return te(i,p),A=>E(i,c,[A])}function Lb(i,c){if(i=`${i}`,i!=="bytes")throw new TypeError(`${c} '${i}' is not a valid enumeration value for ReadableStreamType`);return i}function jb(i,c){return ae(i,c),{preventCancel:!!i?.preventCancel}}function uh(i,c){ae(i,c);let p=i?.preventAbort,A=i?.preventCancel,x=i?.preventClose,j=i?.signal;return j!==void 0&&Ub(j,`${c} has member 'signal' that`),{preventAbort:!!p,preventCancel:!!A,preventClose:!!x,signal:j}}function Ub(i,c){if(!V_(i))throw new TypeError(`${c} is not an AbortSignal.`)}function $b(i,c){ae(i,c);let p=i?.readable;k(p,"readable","ReadableWritablePair"),N(p,`${c} has member 'readable' that`);let A=i?.writable;return k(A,"writable","ReadableWritablePair"),zf(A,`${c} has member 'writable' that`),{readable:p,writable:A}}class et{constructor(c={},p={}){c===void 0?c=null:Oe(c,"First parameter");let A=Ps(p,"Second parameter"),x=Ib(c,"First parameter");if(Fu(this),x.type==="bytes"){if(A.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let j=vo(A,0);N_(this,x,j)}else{let j=Os(A),z=vo(A,1);vb(this,x,z,j)}}get locked(){if(!In(this))throw ir("locked");return Nn(this)}cancel(c=void 0){return In(this)?Nn(this)?d(new TypeError("Cannot cancel a stream that already has a reader")):Mt(this,c):d(ir("cancel"))}getReader(c=void 0){if(!In(this))throw ir("getReader");return M_(c,"First parameter").mode===void 0?U(this):Lf(this)}pipeThrough(c,p={}){if(!In(this))throw ir("pipeThrough");Ue(c,1,"pipeThrough");let A=$b(c,"First parameter"),x=uh(p,"Second parameter");if(Nn(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Sr(A.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let j=sh(this,A.writable,x.preventClose,x.preventAbort,x.preventCancel,x.signal);return g(j),A.readable}pipeTo(c,p={}){if(!In(this))return d(ir("pipeTo"));if(c===void 0)return d("Parameter 1 is required in 'pipeTo'.");if(!Ar(c))return d(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let A;try{A=uh(p,"Second parameter")}catch(x){return d(x)}return Nn(this)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Sr(c)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):sh(this,c,A.preventClose,A.preventAbort,A.preventCancel,A.signal)}tee(){if(!In(this))throw ir("tee");let c=Tb(this);return De(c)}values(c=void 0){if(!In(this))throw ir("values");let p=jb(c,"First parameter");return Cr(this,p.preventCancel)}[du](c){return this.values(c)}static from(c){return Ob(c)}}Object.defineProperties(et,{from:{enumerable:!0}}),Object.defineProperties(et.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),o(et.from,"from"),o(et.prototype.cancel,"cancel"),o(et.prototype.getReader,"getReader"),o(et.prototype.pipeThrough,"pipeThrough"),o(et.prototype.pipeTo,"pipeTo"),o(et.prototype.tee,"tee"),o(et.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(et.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(et.prototype,du,{value:et.prototype.values,writable:!0,configurable:!0});function xo(i,c,p,A=1,x=()=>1){let j=Object.create(et.prototype);Fu(j);let z=Object.create(gn.prototype);return ah(j,z,i,c,p,A,x),j}function ch(i,c,p){let A=Object.create(et.prototype);Fu(A);let x=Object.create(pn.prototype);return Mf(A,x,i,c,p,0,void 0),A}function Fu(i){i._state="readable",i._reader=void 0,i._storedError=void 0,i._disturbed=!1}function In(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_readableStreamController")?!1:i instanceof et}function Nn(i){return i._reader!==void 0}function Mt(i,c){if(i._disturbed=!0,i._state==="closed")return f(void 0);if(i._state==="errored")return d(i._storedError);Oo(i);let p=i._reader;if(p!==void 0&&nr(p)){let x=p._readIntoRequests;p._readIntoRequests=new T,x.forEach(j=>{j._closeSteps(void 0)})}let A=i._readableStreamController[H](c);return y(A,e)}function Oo(i){i._state="closed";let c=i._reader;if(c!==void 0&&(ce(c),oe(c))){let p=c._readRequests;c._readRequests=new T,p.forEach(A=>{A._closeSteps()})}}function lh(i,c){i._state="errored",i._storedError=c;let p=i._reader;p!==void 0&&(J(p,c),oe(p)?Ie(p,c):qf(p,c))}function ir(i){return new TypeError(`ReadableStream.prototype.${i} can only be used on a ReadableStream`)}function dh(i,c){ae(i,c);let p=i?.highWaterMark;return k(p,"highWaterMark","QueuingStrategyInit"),{highWaterMark:v(p)}}let fh=i=>i.byteLength;o(fh,"size");class zs{constructor(c){Ue(c,1,"ByteLengthQueuingStrategy"),c=dh(c,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=c.highWaterMark}get highWaterMark(){if(!ph(this))throw hh("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!ph(this))throw hh("size");return fh}}Object.defineProperties(zs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(zs.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function hh(i){return new TypeError(`ByteLengthQueuingStrategy.prototype.${i} can only be used on a ByteLengthQueuingStrategy`)}function ph(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_byteLengthQueuingStrategyHighWaterMark")?!1:i instanceof zs}let mh=()=>1;o(mh,"size");class Hs{constructor(c){Ue(c,1,"CountQueuingStrategy"),c=dh(c,"First parameter"),this._countQueuingStrategyHighWaterMark=c.highWaterMark}get highWaterMark(){if(!yh(this))throw gh("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!yh(this))throw gh("size");return mh}}Object.defineProperties(Hs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Hs.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function gh(i){return new TypeError(`CountQueuingStrategy.prototype.${i} can only be used on a CountQueuingStrategy`)}function yh(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_countQueuingStrategyHighWaterMark")?!1:i instanceof Hs}function qb(i,c){ae(i,c);let p=i?.cancel,A=i?.flush,x=i?.readableType,j=i?.start,z=i?.transform,ne=i?.writableType;return{cancel:p===void 0?void 0:Gb(p,i,`${c} has member 'cancel' that`),flush:A===void 0?void 0:zb(A,i,`${c} has member 'flush' that`),readableType:x,start:j===void 0?void 0:Hb(j,i,`${c} has member 'start' that`),transform:z===void 0?void 0:Wb(z,i,`${c} has member 'transform' that`),writableType:ne}}function zb(i,c,p){return te(i,p),A=>b(i,c,[A])}function Hb(i,c,p){return te(i,p),A=>E(i,c,[A])}function Wb(i,c,p){return te(i,p),(A,x)=>b(i,c,[A,x])}function Gb(i,c,p){return te(i,p),A=>b(i,c,[A])}class Ws{constructor(c={},p={},A={}){c===void 0&&(c=null);let x=Ps(p,"Second parameter"),j=Ps(A,"Third parameter"),z=qb(c,"First parameter");if(z.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(z.writableType!==void 0)throw new RangeError("Invalid writableType specified");let ne=vo(j,0),me=Os(j),de=vo(x,1),ge=Os(x),Ce,xe=l(Lt=>{Ce=Lt});Jb(this,xe,de,ge,ne,me),Kb(this,z),z.start!==void 0?Ce(z.start(this._transformStreamController)):Ce(void 0)}get readable(){if(!_h(this))throw Eh("readable");return this._readable}get writable(){if(!_h(this))throw Eh("writable");return this._writable}}Object.defineProperties(Ws.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ws.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function Jb(i,c,p,A,x,j){function z(){return c}function ne(xe){return Xb(i,xe)}function me(xe){return Zb(i,xe)}function de(){return eC(i)}i._writable=Q_(z,ne,de,me,p,A);function ge(){return tC(i)}function Ce(xe){return nC(i,xe)}i._readable=xo(z,ge,Ce,x,j),i._backpressure=void 0,i._backpressureChangePromise=void 0,i._backpressureChangePromise_resolve=void 0,Gs(i,!0),i._transformStreamController=void 0}function _h(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_transformStreamController")?!1:i instanceof Ws}function bh(i,c){Bt(i._readable._readableStreamController,c),Iu(i,c)}function Iu(i,c){Vs(i._transformStreamController),To(i._writable._writableStreamController,c),Nu(i)}function Nu(i){i._backpressure&&Gs(i,!1)}function Gs(i,c){i._backpressureChangePromise!==void 0&&i._backpressureChangePromise_resolve(),i._backpressureChangePromise=l(p=>{i._backpressureChangePromise_resolve=p}),i._backpressure=c}class Bn{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Js(this))throw Ks("desiredSize");let c=this._controlledTransformStream._readable._readableStreamController;return Pu(c)}enqueue(c=void 0){if(!Js(this))throw Ks("enqueue");Ch(this,c)}error(c=void 0){if(!Js(this))throw Ks("error");Yb(this,c)}terminate(){if(!Js(this))throw Ks("terminate");Qb(this)}}Object.defineProperties(Bn.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),o(Bn.prototype.enqueue,"enqueue"),o(Bn.prototype.error,"error"),o(Bn.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Bn.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function Js(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledTransformStream")?!1:i instanceof Bn}function Vb(i,c,p,A,x){c._controlledTransformStream=i,i._transformStreamController=c,c._transformAlgorithm=p,c._flushAlgorithm=A,c._cancelAlgorithm=x,c._finishPromise=void 0,c._finishPromise_resolve=void 0,c._finishPromise_reject=void 0}function Kb(i,c){let p=Object.create(Bn.prototype),A,x,j;c.transform!==void 0?A=z=>c.transform(z,p):A=z=>{try{return Ch(p,z),f(void 0)}catch(ne){return d(ne)}},c.flush!==void 0?x=()=>c.flush(p):x=()=>f(void 0),c.cancel!==void 0?j=z=>c.cancel(z):j=()=>f(void 0),Vb(i,p,A,x,j)}function Vs(i){i._transformAlgorithm=void 0,i._flushAlgorithm=void 0,i._cancelAlgorithm=void 0}function Ch(i,c){let p=i._controlledTransformStream,A=p._readable._readableStreamController;if(!Dr(A))throw new TypeError("Readable side is not in a state that permits enqueue");try{Tr(A,c)}catch(j){throw Iu(p,j),p._readable._storedError}Sb(A)!==p._backpressure&&Gs(p,!0)}function Yb(i,c){bh(i._controlledTransformStream,c)}function wh(i,c){let p=i._transformAlgorithm(c);return y(p,void 0,A=>{throw bh(i._controlledTransformStream,A),A})}function Qb(i){let c=i._controlledTransformStream,p=c._readable._readableStreamController;sr(p);let A=new TypeError("TransformStream terminated");Iu(c,A)}function Xb(i,c){let p=i._transformStreamController;if(i._backpressure){let A=i._backpressureChangePromise;return y(A,()=>{let x=i._writable;if(x._state==="erroring")throw x._storedError;return wh(p,c)})}return wh(p,c)}function Zb(i,c){let p=i._transformStreamController;if(p._finishPromise!==void 0)return p._finishPromise;let A=i._readable;p._finishPromise=l((j,z)=>{p._finishPromise_resolve=j,p._finishPromise_reject=z});let x=p._cancelAlgorithm(c);return Vs(p),m(x,()=>(A._state==="errored"?Rr(p,A._storedError):(Bt(A._readableStreamController,c),Bu(p)),null),j=>(Bt(A._readableStreamController,j),Rr(p,j),null)),p._finishPromise}function eC(i){let c=i._transformStreamController;if(c._finishPromise!==void 0)return c._finishPromise;let p=i._readable;c._finishPromise=l((x,j)=>{c._finishPromise_resolve=x,c._finishPromise_reject=j});let A=c._flushAlgorithm();return Vs(c),m(A,()=>(p._state==="errored"?Rr(c,p._storedError):(sr(p._readableStreamController),Bu(c)),null),x=>(Bt(p._readableStreamController,x),Rr(c,x),null)),c._finishPromise}function tC(i){return Gs(i,!1),i._backpressureChangePromise}function nC(i,c){let p=i._transformStreamController;if(p._finishPromise!==void 0)return p._finishPromise;let A=i._writable;p._finishPromise=l((j,z)=>{p._finishPromise_resolve=j,p._finishPromise_reject=z});let x=p._cancelAlgorithm(c);return Vs(p),m(x,()=>(A._state==="errored"?Rr(p,A._storedError):(To(A._writableStreamController,c),Nu(i),Bu(p)),null),j=>(To(A._writableStreamController,j),Nu(i),Rr(p,j),null)),p._finishPromise}function Ks(i){return new TypeError(`TransformStreamDefaultController.prototype.${i} can only be used on a TransformStreamDefaultController`)}function Bu(i){i._finishPromise_resolve!==void 0&&(i._finishPromise_resolve(),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function Rr(i,c){i._finishPromise_reject!==void 0&&(g(i._finishPromise),i._finishPromise_reject(c),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function Eh(i){return new TypeError(`TransformStream.prototype.${i} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=zs,t.CountQueuingStrategy=Hs,t.ReadableByteStreamController=pn,t.ReadableStream=et,t.ReadableStreamBYOBReader=Pn,t.ReadableStreamBYOBRequest=Zn,t.ReadableStreamDefaultController=gn,t.ReadableStreamDefaultReader=W,t.TransformStream=Ws,t.TransformStreamDefaultController=Bn,t.WritableStream=Fn,t.WritableStreamDefaultController=vr,t.WritableStreamDefaultWriter=mn}))});var bm=X(()=>{if(!globalThis.ReadableStream)try{let t=re("node:process"),{emitWarning:e}=t;try{t.emitWarning=()=>{},Object.assign(globalThis,re("node:stream/web")),t.emitWarning=e}catch(n){throw t.emitWarning=e,n}}catch{Object.assign(globalThis,_m())}try{let{Blob:t}=re("buffer");t&&!t.prototype.stream&&(t.prototype.stream=function(n){let r=0,o=this;return new ReadableStream({type:"bytes",async pull(s){let u=await o.slice(r,Math.min(o.size,r+65536)).arrayBuffer();r+=u.byteLength,s.enqueue(new Uint8Array(u)),r===o.size&&s.close()}})})}catch{}});async function*xc(t,e=!0){for(let n of t)if("stream"in n)yield*n.stream();else if(ArrayBuffer.isView(n))if(e){let r=n.byteOffset,o=n.byteOffset+n.byteLength;for(;r!==o;){let s=Math.min(o-r,Cm),a=n.buffer.slice(r,r+s);r+=a.byteLength,yield new Uint8Array(a)}}else yield n;else{let r=0,o=n;for(;r!==o.size;){let a=await o.slice(r,Math.min(o.size,r+Cm)).arrayBuffer();r+=a.byteLength,yield new Uint8Array(a)}}}var z1,Cm,wm,kE,$t,Uo=Le(()=>{z1=Ln(bm(),1);Cm=65536;wm=class Oc{#e=[];#t="";#n=0;#r="transparent";constructor(e=[],n={}){if(typeof e!="object"||e===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof e[Symbol.iterator]!="function")throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof n!="object"&&typeof n!="function")throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");n===null&&(n={});let r=new TextEncoder;for(let s of e){let a;ArrayBuffer.isView(s)?a=new Uint8Array(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)):s instanceof ArrayBuffer?a=new Uint8Array(s.slice(0)):s instanceof Oc?a=s:a=r.encode(`${s}`),this.#n+=ArrayBuffer.isView(a)?a.byteLength:a.size,this.#e.push(a)}this.#r=`${n.endings===void 0?"transparent":n.endings}`;let o=n.type===void 0?"":String(n.type);this.#t=/^[\x20-\x7E]*$/.test(o)?o:""}get size(){return this.#n}get type(){return this.#t}async text(){let e=new TextDecoder,n="";for await(let r of xc(this.#e,!1))n+=e.decode(r,{stream:!0});return n+=e.decode(),n}async arrayBuffer(){let e=new Uint8Array(this.size),n=0;for await(let r of xc(this.#e,!1))e.set(r,n),n+=r.length;return e.buffer}stream(){let e=xc(this.#e,!0);return new globalThis.ReadableStream({type:"bytes",async pull(n){let r=await e.next();r.done?n.close():n.enqueue(r.value)},async cancel(){await e.return()}})}slice(e=0,n=this.size,r=""){let{size:o}=this,s=e<0?Math.max(o+e,0):Math.min(e,o),a=n<0?Math.max(o+n,0):Math.min(n,o),u=Math.max(a-s,0),l=this.#e,f=[],d=0;for(let m of l){if(d>=u)break;let C=ArrayBuffer.isView(m)?m.byteLength:m.size;if(s&&C<=s)s-=C,a-=C;else{let w;ArrayBuffer.isView(m)?(w=m.subarray(s,Math.min(C,a)),d+=w.byteLength):(w=m.slice(s,Math.min(C,a)),d+=w.size),a-=C,f.push(w),s=0}}let h=new Oc([],{type:String(r).toLowerCase()});return h.#n=u,h.#e=f,h}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](e){return e&&typeof e=="object"&&typeof e.constructor=="function"&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}};Object.defineProperties(wm.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});kE=wm,$t=kE});var AE,SE,qn,Pc=Le(()=>{Uo();AE=class extends $t{#e=0;#t="";constructor(e,n,r={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(e,r),r===null&&(r={});let o=r.lastModified===void 0?Date.now():Number(r.lastModified);Number.isNaN(o)||(this.#e=o),this.#t=String(n)}get name(){return this.#t}get lastModified(){return this.#e}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](e){return!!e&&e instanceof $t&&/^(File)$/.test(e[Symbol.toStringTag])}},SE=AE,qn=SE});function Am(t,e=$t){var n=`${Em()}${Em()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),r=[],o=`--${n}\r
|
|
27
27
|
Content-Disposition: form-data; name="`;return t.forEach((s,a)=>typeof s=="string"?r.push(o+Fc(a)+`"\r
|
|
28
28
|
\r
|
|
29
29
|
${s.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
|
|
@@ -32,46 +32,46 @@ ${s.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
|
|
|
32
32
|
Content-Type: ${s.type||"application/octet-stream"}\r
|
|
33
33
|
\r
|
|
34
34
|
`,s,`\r
|
|
35
|
-
`)),r.push(`--${n}--`),new e(r,{type:"multipart/form-data; boundary="+n})}var $o,TE,
|
|
36
|
-
`)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),fr=(t,e,n)=>{if(e.length<n)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${n} arguments required, but only ${e.length} present.`)},zn=class{#e=[];constructor(...e){if(e.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[$o](){return"FormData"}[
|
|
37
|
-
--`+e;let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r),this.boundaryChars[n[r]]=!0;this.boundary=n,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=Fe.START_BOUNDARY}write(e){let n=0,r=e.length,o=this.index,{lookbehind:s,boundary:a,boundaryChars:u,index:l,state:f,flags:d}=this,h=this.boundary.length,m=h-1,C=e.length,w,y,g=S=>{this[S+"Mark"]=n},_=S=>{delete this[S+"Mark"]},E=(S,v,R,$)=>{(v===void 0||v!==R)&&this[S]($&&$.subarray(v,R))},b=(S,v)=>{let R=S+"Mark";R in this&&(v?(E(S,this[R],n,e),delete this[R]):(E(S,this[R],e.length,e),this[R]=0))};for(n=0;n<r;n++)switch(w=e[n],f){case Fe.START_BOUNDARY:if(l===a.length-2){if(w===zo)d|=Hn.LAST_BOUNDARY;else if(w!==Pi)return;l++;break}else if(l-1===a.length-2){if(d&Hn.LAST_BOUNDARY&&w===zo)f=Fe.END,d=0;else if(!(d&Hn.LAST_BOUNDARY)&&w===Oi)l=0,E("onPartBegin"),f=Fe.HEADER_FIELD_START;else return;break}w!==a[l+2]&&(l=-2),w===a[l+2]&&l++;break;case Fe.HEADER_FIELD_START:f=Fe.HEADER_FIELD,g("onHeaderField"),l=0;case Fe.HEADER_FIELD:if(w===Pi){_("onHeaderField"),f=Fe.HEADERS_ALMOST_DONE;break}if(l++,w===zo)break;if(w===FE){if(l===1)return;b("onHeaderField",!0),f=Fe.HEADER_VALUE_START;break}if(y=BE(w),y<IE||y>NE)return;break;case Fe.HEADER_VALUE_START:if(w===PE)break;g("onHeaderValue"),f=Fe.HEADER_VALUE;case Fe.HEADER_VALUE:w===Pi&&(b("onHeaderValue",!0),E("onHeaderEnd"),f=Fe.HEADER_VALUE_ALMOST_DONE);break;case Fe.HEADER_VALUE_ALMOST_DONE:if(w!==Oi)return;f=Fe.HEADER_FIELD_START;break;case Fe.HEADERS_ALMOST_DONE:if(w!==Oi)return;E("onHeadersEnd"),f=Fe.PART_DATA_START;break;case Fe.PART_DATA_START:f=Fe.PART_DATA,g("onPartData");case Fe.PART_DATA:if(o=l,l===0){for(n+=m;n<C&&!(e[n]in u);)n+=h;n-=m,w=e[n]}if(l<a.length)a[l]===w?(l===0&&b("onPartData",!0),l++):l=0;else if(l===a.length)l++,w===Pi?d|=Hn.PART_BOUNDARY:w===zo?d|=Hn.LAST_BOUNDARY:l=0;else if(l-1===a.length)if(d&Hn.PART_BOUNDARY){if(l=0,w===Oi){d&=~Hn.PART_BOUNDARY,E("onPartEnd"),E("onPartBegin"),f=Fe.HEADER_FIELD_START;break}}else d&Hn.LAST_BOUNDARY&&w===zo?(E("onPartEnd"),f=Fe.END,d=0):l=0;if(l>0)s[l-1]=w;else if(o>0){let S=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);E("onPartData",0,o,S),o=0,g("onPartData"),n--}break;case Fe.END:break;default:throw new Error(`Unexpected state entered: ${f}`)}b("onHeaderField"),b("onHeaderValue"),b("onPartData"),this.index=l,this.state=f,this.flags=d}end(){if(this.state===Fe.HEADER_FIELD_START&&this.index===0||this.state===Fe.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Fe.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});import Wn,{PassThrough as $m}from"node:stream";import{types as qm,deprecate as Uc,promisify as jE}from"node:util";import{Buffer as Rt}from"node:buffer";async function jc(t){if(t[lt].disturbed)throw new TypeError(`body used already for: ${t.url}`);if(t[lt].disturbed=!0,t[lt].error)throw t[lt].error;let{body:e}=t;if(e===null)return Rt.alloc(0);if(!(e instanceof Wn))return Rt.alloc(0);let n=[],r=0;try{for await(let o of e){if(t.size>0&&r+o.length>t.size){let s=new st(`content size at ${t.url} over limit: ${t.size}`,"max-size");throw e.destroy(s),s}r+=o.length,n.push(o)}}catch(o){throw o instanceof kn?o:new st(`Invalid response body while trying to fetch ${t.url}: ${o.message}`,"system",o)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return n.every(o=>typeof o=="string")?Rt.from(n.join("")):Rt.concat(n,r)}catch(o){throw new st(`Could not create Buffer from response body for ${t.url}: ${o.message}`,"system",o)}else throw new st(`Premature close of server response while trying to fetch ${t.url}`)}var UE,lt,Zt,Vr,$E,Fi,zm,Hm,Ii=Le(()=>{Uo();Ti();Ic();vi();Ri();UE=jE(Wn.pipeline),lt=Symbol("Body internals"),Zt=class{constructor(e,{size:n=0}={}){let r=null;e===null?e=null:Nc(e)?e=Rt.from(e.toString()):qo(e)||Rt.isBuffer(e)||(qm.isAnyArrayBuffer(e)?e=Rt.from(e):ArrayBuffer.isView(e)?e=Rt.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Wn||(e instanceof zn?(e=Am(e),r=e.type.split("=")[1]):e=Rt.from(String(e))));let o=e;Rt.isBuffer(e)?o=Wn.Readable.from(e):qo(e)&&(o=Wn.Readable.from(e.stream())),this[lt]={body:e,stream:o,boundary:r,disturbed:!1,error:null},this.size=n,e instanceof Wn&&e.on("error",s=>{let a=s instanceof kn?s:new st(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[lt].error=a})}get body(){return this[lt].stream}get bodyUsed(){return this[lt].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:n,byteLength:r}=await jc(this);return e.slice(n,n+r)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let r=new zn,o=new URLSearchParams(await this.text());for(let[s,a]of o)r.append(s,a);return r}let{toFormData:n}=await Promise.resolve().then(()=>(Um(),jm));return n(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[lt].body&&this[lt].body.type||"",n=await this.arrayBuffer();return new $t([n],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await jc(this);return new TextDecoder().decode(e)}buffer(){return jc(this)}};Zt.prototype.buffer=Uc(Zt.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(Zt.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:Uc(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});Vr=(t,e)=>{let n,r,{body:o}=t[lt];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof Wn&&typeof o.getBoundary!="function"&&(n=new $m({highWaterMark:e}),r=new $m({highWaterMark:e}),o.pipe(n),o.pipe(r),t[lt].stream=n,o=r),o},$E=Uc(t=>t.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),Fi=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":Nc(t)?"application/x-www-form-urlencoded;charset=UTF-8":qo(t)?t.type||null:Rt.isBuffer(t)||qm.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof zn?`multipart/form-data; boundary=${e[lt].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${$E(t)}`:t instanceof Wn?null:"text/plain;charset=UTF-8",zm=t=>{let{body:e}=t[lt];return e===null?0:qo(e)?e.size:Rt.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},Hm=async(t,{body:e})=>{e===null?t.end():await UE(e,t)}});import{types as Wm}from"node:util";import Bi from"node:http";function Gm(t=[]){return new dt(t.reduce((e,n,r,o)=>(r%2===0&&e.push(o.slice(r,r+2)),e),[]).filter(([e,n])=>{try{return Ni(e),$c(e,String(n)),!0}catch{return!1}}))}var Ni,$c,dt,Mi=Le(()=>{Ni=typeof Bi.validateHeaderName=="function"?Bi.validateHeaderName:t=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(t)){let e=new TypeError(`Header name must be a valid HTTP token [${t}]`);throw Object.defineProperty(e,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),e}},$c=typeof Bi.validateHeaderValue=="function"?Bi.validateHeaderValue:(t,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let n=new TypeError(`Invalid character in header content ["${t}"]`);throw Object.defineProperty(n,"code",{value:"ERR_INVALID_CHAR"}),n}},dt=class t extends URLSearchParams{constructor(e){let n=[];if(e instanceof t){let r=e.raw();for(let[o,s]of Object.entries(r))n.push(...s.map(a=>[o,a]))}else if(e!=null)if(typeof e=="object"&&!Wm.isBoxedPrimitive(e)){let r=e[Symbol.iterator];if(r==null)n.push(...Object.entries(e));else{if(typeof r!="function")throw new TypeError("Header pairs must be iterable");n=[...e].map(o=>{if(typeof o!="object"||Wm.isBoxedPrimitive(o))throw new TypeError("Each header pair must be an iterable object");return[...o]}).map(o=>{if(o.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...o]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return n=n.length>0?n.map(([r,o])=>(Ni(r),$c(r,String(o)),[String(r).toLowerCase(),String(o)])):void 0,super(n),new Proxy(this,{get(r,o,s){switch(o){case"append":case"set":return(a,u)=>(Ni(a),$c(a,String(u)),URLSearchParams.prototype[o].call(r,String(a).toLowerCase(),String(u)));case"delete":case"has":case"getAll":return a=>(Ni(a),URLSearchParams.prototype[o].call(r,String(a).toLowerCase()));case"keys":return()=>(r.sort(),new Set(URLSearchParams.prototype.keys.call(r)).keys());default:return Reflect.get(r,o,s)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let n=this.getAll(e);if(n.length===0)return null;let r=n.join(", ");return/^content-encoding$/i.test(e)&&(r=r.toLowerCase()),r}forEach(e,n=void 0){for(let r of this.keys())Reflect.apply(e,n,[this.get(r),r,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,n)=>(e[n]=this.getAll(n),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,n)=>{let r=this.getAll(n);return n==="host"?e[n]=r[0]:e[n]=r.length>1?r:r[0],e},{})}};Object.defineProperties(dt.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}))});var qE,Ho,qc=Le(()=>{qE=new Set([301,302,303,307,308]),Ho=t=>qE.has(t)});var qt,gt,Jm=Le(()=>{Mi();Ii();qc();qt=Symbol("Response internals"),gt=class t extends Zt{constructor(e=null,n={}){super(e,n);let r=n.status!=null?n.status:200,o=new dt(n.headers);if(e!==null&&!o.has("Content-Type")){let s=Fi(e,this);s&&o.append("Content-Type",s)}this[qt]={type:"default",url:n.url,status:r,statusText:n.statusText||"",headers:o,counter:n.counter,highWaterMark:n.highWaterMark}}get type(){return this[qt].type}get url(){return this[qt].url||""}get status(){return this[qt].status}get ok(){return this[qt].status>=200&&this[qt].status<300}get redirected(){return this[qt].counter>0}get statusText(){return this[qt].statusText}get headers(){return this[qt].headers}get highWaterMark(){return this[qt].highWaterMark}clone(){return new t(Vr(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,n=302){if(!Ho(n))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new t(null,{headers:{location:new URL(e).toString()},status:n})}static error(){let e=new t(null,{status:0,statusText:""});return e[qt].type="error",e}static json(e=void 0,n={}){let r=JSON.stringify(e);if(r===void 0)throw new TypeError("data is not JSON serializable");let o=new dt(n&&n.headers);return o.has("content-type")||o.set("content-type","application/json"),new t(r,{...n,headers:o})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(gt.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})});var Vm,Km=Le(()=>{Vm=t=>{if(t.search)return t.search;let e=t.href.length-1,n=t.hash||(t.href[e]==="#"?"#":"");return t.href[e-n.length]==="?"?"?":""}});import{isIP as zE}from"node:net";function Ym(t,e=!1){return t==null||(t=new URL(t),/^(about|blob|data):$/.test(t.protocol))?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}function Zm(t){if(!Qm.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function HE(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),n=zE(e);return n===4&&/^127\./.test(e)||n===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:t.host==="localhost"||t.host.endsWith(".localhost")?!1:t.protocol==="file:"}function Kr(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:HE(t)}function eg(t,{referrerURLCallback:e,referrerOriginCallback:n}={}){if(t.referrer==="no-referrer"||t.referrerPolicy==="")return null;let r=t.referrerPolicy;if(t.referrer==="about:client")return"no-referrer";let o=t.referrer,s=Ym(o),a=Ym(o,!0);s.toString().length>4096&&(s=a),e&&(s=e(s)),n&&(a=n(a));let u=new URL(t.url);switch(r){case"no-referrer":return"no-referrer";case"origin":return a;case"unsafe-url":return s;case"strict-origin":return Kr(s)&&!Kr(u)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return s.origin===u.origin?s:Kr(s)&&!Kr(u)?"no-referrer":a;case"same-origin":return s.origin===u.origin?s:"no-referrer";case"origin-when-cross-origin":return s.origin===u.origin?s:a;case"no-referrer-when-downgrade":return Kr(s)&&!Kr(u)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${r}`)}}function tg(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),n="";for(let r of e)r&&Qm.has(r)&&(n=r);return n}var Qm,Xm,zc=Le(()=>{Qm=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),Xm="strict-origin-when-cross-origin"});import{format as WE}from"node:url";import{deprecate as GE}from"node:util";var Ke,Wo,JE,Gn,ng,rg=Le(()=>{Mi();Ii();Ri();Km();zc();Ke=Symbol("Request internals"),Wo=t=>typeof t=="object"&&typeof t[Ke]=="object",JE=GE(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Gn=class t extends Zt{constructor(e,n={}){let r;if(Wo(e)?r=new URL(e.url):(r=new URL(e),e={}),r.username!==""||r.password!=="")throw new TypeError(`${r} is an url with embedded credentials.`);let o=n.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(o)&&(o=o.toUpperCase()),!Wo(n)&&"data"in n&&JE(),(n.body!=null||Wo(e)&&e.body!==null)&&(o==="GET"||o==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let s=n.body?n.body:Wo(e)&&e.body!==null?Vr(e):null;super(s,{size:n.size||e.size||0});let a=new dt(n.headers||e.headers||{});if(s!==null&&!a.has("Content-Type")){let f=Fi(s,this);f&&a.set("Content-Type",f)}let u=Wo(e)?e.signal:null;if("signal"in n&&(u=n.signal),u!=null&&!Sm(u))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let l=n.referrer==null?e.referrer:n.referrer;if(l==="")l="no-referrer";else if(l){let f=new URL(l);l=/^about:(\/\/)?client$/.test(f)?"client":f}else l=void 0;this[Ke]={method:o,redirect:n.redirect||e.redirect||"follow",headers:a,parsedURL:r,signal:u,referrer:l},this.follow=n.follow===void 0?e.follow===void 0?20:e.follow:n.follow,this.compress=n.compress===void 0?e.compress===void 0?!0:e.compress:n.compress,this.counter=n.counter||e.counter||0,this.agent=n.agent||e.agent,this.highWaterMark=n.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=n.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=n.referrerPolicy||e.referrerPolicy||""}get method(){return this[Ke].method}get url(){return WE(this[Ke].parsedURL)}get headers(){return this[Ke].headers}get redirect(){return this[Ke].redirect}get signal(){return this[Ke].signal}get referrer(){if(this[Ke].referrer==="no-referrer")return"";if(this[Ke].referrer==="client")return"about:client";if(this[Ke].referrer)return this[Ke].referrer.toString()}get referrerPolicy(){return this[Ke].referrerPolicy}set referrerPolicy(e){this[Ke].referrerPolicy=Zm(e)}clone(){return new t(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(Gn.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});ng=t=>{let{parsedURL:e}=t[Ke],n=new dt(t[Ke].headers);n.has("Accept")||n.set("Accept","*/*");let r=null;if(t.body===null&&/^(post|put)$/i.test(t.method)&&(r="0"),t.body!==null){let u=zm(t);typeof u=="number"&&!Number.isNaN(u)&&(r=String(u))}r&&n.set("Content-Length",r),t.referrerPolicy===""&&(t.referrerPolicy=Xm),t.referrer&&t.referrer!=="no-referrer"?t[Ke].referrer=eg(t):t[Ke].referrer="no-referrer",t[Ke].referrer instanceof URL&&n.set("Referer",t.referrer),n.has("User-Agent")||n.set("User-Agent","node-fetch"),t.compress&&!n.has("Accept-Encoding")&&n.set("Accept-Encoding","gzip, deflate, br");let{agent:o}=t;typeof o=="function"&&(o=o(e));let s=Vm(e),a={path:e.pathname+s,method:t.method,headers:n[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:t.insecureHTTPParser,agent:o};return{parsedURL:e,options:a}}});var Go,og=Le(()=>{vi();Go=class extends kn{constructor(e,n="aborted"){super(e,n)}}});var ag={};Lu(ag,{AbortError:()=>Go,Blob:()=>$t,FetchError:()=>st,File:()=>qn,FormData:()=>zn,Headers:()=>dt,Request:()=>Gn,Response:()=>gt,blobFrom:()=>Fm,blobFromSync:()=>Pm,default:()=>Hc,fileFrom:()=>Im,fileFromSync:()=>Nm,isRedirect:()=>Ho});import VE from"node:http";import KE from"node:https";import Yr from"node:zlib";import sg,{PassThrough as ig,pipeline as Qr}from"node:stream";import{Buffer as Li}from"node:buffer";async function Hc(t,e){return new Promise((n,r)=>{let o=new Gn(t,e),{parsedURL:s,options:a}=ng(o);if(!YE.has(s.protocol))throw new TypeError(`node-fetch cannot load ${t}. URL scheme "${s.protocol.replace(/:$/,"")}" is not supported.`);if(s.protocol==="data:"){let w=mm(o.url),y=new gt(w,{headers:{"Content-Type":w.typeFull}});n(y);return}let u=(s.protocol==="https:"?KE:VE).request,{signal:l}=o,f=null,d=()=>{let w=new Go("The operation was aborted.");r(w),o.body&&o.body instanceof sg.Readable&&o.body.destroy(w),!(!f||!f.body)&&f.body.emit("error",w)};if(l&&l.aborted){d();return}let h=()=>{d(),C()},m=u(s.toString(),a);l&&l.addEventListener("abort",h);let C=()=>{m.abort(),l&&l.removeEventListener("abort",h)};m.on("error",w=>{r(new st(`request to ${o.url} failed, reason: ${w.message}`,"system",w)),C()}),QE(m,w=>{f&&f.body&&f.body.destroy(w)}),process.version<"v14"&&m.on("socket",w=>{let y;w.prependListener("end",()=>{y=w._eventsCount}),w.prependListener("close",g=>{if(f&&y<w._eventsCount&&!g){let _=new Error("Premature close");_.code="ERR_STREAM_PREMATURE_CLOSE",f.body.emit("error",_)}})}),m.on("response",w=>{m.setTimeout(0);let y=Gm(w.rawHeaders);if(Ho(w.statusCode)){let S=y.get("Location"),v=null;try{v=S===null?null:new URL(S,o.url)}catch{if(o.redirect!=="manual"){r(new st(`uri requested responds with an invalid redirect URL: ${S}`,"invalid-redirect")),C();return}}switch(o.redirect){case"error":r(new st(`uri requested responds with a redirect, redirect mode is set to error: ${o.url}`,"no-redirect")),C();return;case"manual":break;case"follow":{if(v===null)break;if(o.counter>=o.follow){r(new st(`maximum redirect reached at: ${o.url}`,"max-redirect")),C();return}let R={headers:new dt(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:Vr(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!Tm(o.url,v)||!vm(o.url,v))for(let H of["authorization","www-authenticate","cookie","cookie2"])R.headers.delete(H);if(w.statusCode!==303&&o.body&&e.body instanceof sg.Readable){r(new st("Cannot follow redirect with body being a readable stream","unsupported-redirect")),C();return}(w.statusCode===303||(w.statusCode===301||w.statusCode===302)&&o.method==="POST")&&(R.method="GET",R.body=void 0,R.headers.delete("content-length"));let $=tg(y);$&&(R.referrerPolicy=$),n(Hc(new Gn(v,R))),C();return}default:return r(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}l&&w.once("end",()=>{l.removeEventListener("abort",h)});let g=Qr(w,new ig,S=>{S&&r(S)});process.version<"v12.10"&&w.on("aborted",h);let _={url:o.url,status:w.statusCode,statusText:w.statusMessage,headers:y,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},E=y.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||E===null||w.statusCode===204||w.statusCode===304){f=new gt(g,_),n(f);return}let b={flush:Yr.Z_SYNC_FLUSH,finishFlush:Yr.Z_SYNC_FLUSH};if(E==="gzip"||E==="x-gzip"){g=Qr(g,Yr.createGunzip(b),S=>{S&&r(S)}),f=new gt(g,_),n(f);return}if(E==="deflate"||E==="x-deflate"){let S=Qr(w,new ig,v=>{v&&r(v)});S.once("data",v=>{(v[0]&15)===8?g=Qr(g,Yr.createInflate(),R=>{R&&r(R)}):g=Qr(g,Yr.createInflateRaw(),R=>{R&&r(R)}),f=new gt(g,_),n(f)}),S.once("end",()=>{f||(f=new gt(g,_),n(f))});return}if(E==="br"){g=Qr(g,Yr.createBrotliDecompress(),S=>{S&&r(S)}),f=new gt(g,_),n(f);return}f=new gt(g,_),n(f)}),Hm(m,o).catch(r)})}function QE(t,e){let n=Li.from(`0\r
|
|
35
|
+
`)),r.push(`--${n}--`),new e(r,{type:"multipart/form-data; boundary="+n})}var $o,vE,TE,Em,DE,km,Fc,fr,zn,vi=Le(()=>{Uo();Pc();({toStringTag:$o,iterator:vE,hasInstance:TE}=Symbol),Em=Math.random,DE="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),km=(t,e,n)=>(t+="",/^(Blob|File)$/.test(e&&e[$o])?[(n=n!==void 0?n+"":e[$o]=="File"?e.name:"blob",t),e.name!==n||e[$o]=="blob"?new qn([e],n,e):e]:[t,e+""]),Fc=(t,e)=>(e?t:t.replace(/\r?\n|\r/g,`\r
|
|
36
|
+
`)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),fr=(t,e,n)=>{if(e.length<n)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${n} arguments required, but only ${e.length} present.`)},zn=class{#e=[];constructor(...e){if(e.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[$o](){return"FormData"}[vE](){return this.entries()}static[TE](e){return e&&typeof e=="object"&&e[$o]==="FormData"&&!DE.some(n=>typeof e[n]!="function")}append(...e){fr("append",arguments,2),this.#e.push(km(...e))}delete(e){fr("delete",arguments,1),e+="",this.#e=this.#e.filter(([n])=>n!==e)}get(e){fr("get",arguments,1),e+="";for(var n=this.#e,r=n.length,o=0;o<r;o++)if(n[o][0]===e)return n[o][1];return null}getAll(e,n){return fr("getAll",arguments,1),n=[],e+="",this.#e.forEach(r=>r[0]===e&&n.push(r[1])),n}has(e){return fr("has",arguments,1),e+="",this.#e.some(n=>n[0]===e)}forEach(e,n){fr("forEach",arguments,1);for(var[r,o]of this)e.call(n,o,r,this)}set(...e){fr("set",arguments,2);var n=[],r=!0;e=km(...e),this.#e.forEach(o=>{o[0]===e[0]?r&&(r=!n.push(e)):n.push(o)}),r&&n.push(e),this.#e=n}*entries(){yield*this.#e}*keys(){for(var[e]of this)yield e}*values(){for(var[,e]of this)yield e}}});var kn,Ti=Le(()=>{kn=class extends Error{constructor(e,n){super(e),Error.captureStackTrace(this,this.constructor),this.type=n}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}});var st,Ic=Le(()=>{Ti();st=class extends kn{constructor(e,n,r){super(e,n),r&&(this.code=this.errno=r.code,this.erroredSysCall=r.syscall)}}});var Di,Nc,qo,Sm,vm,Tm,Ri=Le(()=>{Di=Symbol.toStringTag,Nc=t=>typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&typeof t.sort=="function"&&t[Di]==="URLSearchParams",qo=t=>t&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&typeof t.constructor=="function"&&/^(Blob|File)$/.test(t[Di]),Sm=t=>typeof t=="object"&&(t[Di]==="AbortSignal"||t[Di]==="EventTarget"),vm=(t,e)=>{let n=new URL(e).hostname,r=new URL(t).hostname;return n===r||n.endsWith(`.${r}`)},Tm=(t,e)=>{let n=new URL(e).protocol,r=new URL(t).protocol;return n===r}});var Rm=X((nO,Dm)=>{if(!globalThis.DOMException)try{let{MessageChannel:t}=re("worker_threads"),e=new t().port1,n=new ArrayBuffer;e.postMessage(n,[n,n])}catch(t){t.constructor.name==="DOMException"&&(globalThis.DOMException=t.constructor)}Dm.exports=globalThis.DOMException});import{statSync as xm,createReadStream as RE,promises as xE}from"node:fs";import{basename as OE}from"node:path";var Om,Bc,Pm,Fm,Im,Nm,Bm,Mm,xi,Mc=Le(()=>{Om=Ln(Rm(),1);Pc();Uo();({stat:Bc}=xE),Pm=(t,e)=>Bm(xm(t),t,e),Fm=(t,e)=>Bc(t).then(n=>Bm(n,t,e)),Im=(t,e)=>Bc(t).then(n=>Mm(n,t,e)),Nm=(t,e)=>Mm(xm(t),t,e),Bm=(t,e,n="")=>new $t([new xi({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:n}),Mm=(t,e,n="")=>new qn([new xi({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],OE(e),{type:n,lastModified:t.mtimeMs}),xi=class t{#e;#t;constructor(e){this.#e=e.path,this.#t=e.start,this.size=e.size,this.lastModified=e.lastModified}slice(e,n){return new t({path:this.#e,lastModified:this.lastModified,size:n-e,start:this.#t+e})}async*stream(){let{mtimeMs:e}=await Bc(this.#e);if(e>this.lastModified)throw new Om.default("The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.","NotReadableError");yield*RE(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});var jm={};Lu(jm,{toFormData:()=>LE});function ME(t){let e=t.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!e)return;let n=e[2]||e[3]||"",r=n.slice(n.lastIndexOf("\\")+1);return r=r.replace(/%22/g,'"'),r=r.replace(/&#(\d{4});/g,(o,s)=>String.fromCharCode(s)),r}async function LE(t,e){if(!/multipart/i.test(e))throw new TypeError("Failed to fetch");let n=e.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!n)throw new TypeError("no or bad content-type header, no multipart boundary");let r=new Lc(n[1]||n[2]),o,s,a,u,l,f,d=[],h=new zn,m=_=>{a+=g.decode(_,{stream:!0})},C=_=>{d.push(_)},w=()=>{let _=new qn(d,f,{type:l});h.append(u,_)},y=()=>{h.append(u,a)},g=new TextDecoder("utf-8");g.decode(),r.onPartBegin=function(){r.onPartData=m,r.onPartEnd=y,o="",s="",a="",u="",l="",f=null,d.length=0},r.onHeaderField=function(_){o+=g.decode(_,{stream:!0})},r.onHeaderValue=function(_){s+=g.decode(_,{stream:!0})},r.onHeaderEnd=function(){if(s+=g.decode(),o=o.toLowerCase(),o==="content-disposition"){let _=s.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);_&&(u=_[2]||_[3]||""),f=ME(s),f&&(r.onPartData=C,r.onPartEnd=w)}else o==="content-type"&&(l=s);s="",o=""};for await(let _ of t)r.write(_);return r.end(),h}var Xt,Fe,Lm,Hn,Oi,Pi,PE,zo,FE,IE,NE,BE,hr,Lc,Um=Le(()=>{Mc();vi();Xt=0,Fe={START_BOUNDARY:Xt++,HEADER_FIELD_START:Xt++,HEADER_FIELD:Xt++,HEADER_VALUE_START:Xt++,HEADER_VALUE:Xt++,HEADER_VALUE_ALMOST_DONE:Xt++,HEADERS_ALMOST_DONE:Xt++,PART_DATA_START:Xt++,PART_DATA:Xt++,END:Xt++},Lm=1,Hn={PART_BOUNDARY:Lm,LAST_BOUNDARY:Lm*=2},Oi=10,Pi=13,PE=32,zo=45,FE=58,IE=97,NE=122,BE=t=>t|32,hr=()=>{},Lc=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=hr,this.onHeaderField=hr,this.onHeadersEnd=hr,this.onHeaderValue=hr,this.onPartBegin=hr,this.onPartData=hr,this.onPartEnd=hr,this.boundaryChars={},e=`\r
|
|
37
|
+
--`+e;let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r),this.boundaryChars[n[r]]=!0;this.boundary=n,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=Fe.START_BOUNDARY}write(e){let n=0,r=e.length,o=this.index,{lookbehind:s,boundary:a,boundaryChars:u,index:l,state:f,flags:d}=this,h=this.boundary.length,m=h-1,C=e.length,w,y,g=S=>{this[S+"Mark"]=n},_=S=>{delete this[S+"Mark"]},E=(S,T,R,$)=>{(T===void 0||T!==R)&&this[S]($&&$.subarray(T,R))},b=(S,T)=>{let R=S+"Mark";R in this&&(T?(E(S,this[R],n,e),delete this[R]):(E(S,this[R],e.length,e),this[R]=0))};for(n=0;n<r;n++)switch(w=e[n],f){case Fe.START_BOUNDARY:if(l===a.length-2){if(w===zo)d|=Hn.LAST_BOUNDARY;else if(w!==Pi)return;l++;break}else if(l-1===a.length-2){if(d&Hn.LAST_BOUNDARY&&w===zo)f=Fe.END,d=0;else if(!(d&Hn.LAST_BOUNDARY)&&w===Oi)l=0,E("onPartBegin"),f=Fe.HEADER_FIELD_START;else return;break}w!==a[l+2]&&(l=-2),w===a[l+2]&&l++;break;case Fe.HEADER_FIELD_START:f=Fe.HEADER_FIELD,g("onHeaderField"),l=0;case Fe.HEADER_FIELD:if(w===Pi){_("onHeaderField"),f=Fe.HEADERS_ALMOST_DONE;break}if(l++,w===zo)break;if(w===FE){if(l===1)return;b("onHeaderField",!0),f=Fe.HEADER_VALUE_START;break}if(y=BE(w),y<IE||y>NE)return;break;case Fe.HEADER_VALUE_START:if(w===PE)break;g("onHeaderValue"),f=Fe.HEADER_VALUE;case Fe.HEADER_VALUE:w===Pi&&(b("onHeaderValue",!0),E("onHeaderEnd"),f=Fe.HEADER_VALUE_ALMOST_DONE);break;case Fe.HEADER_VALUE_ALMOST_DONE:if(w!==Oi)return;f=Fe.HEADER_FIELD_START;break;case Fe.HEADERS_ALMOST_DONE:if(w!==Oi)return;E("onHeadersEnd"),f=Fe.PART_DATA_START;break;case Fe.PART_DATA_START:f=Fe.PART_DATA,g("onPartData");case Fe.PART_DATA:if(o=l,l===0){for(n+=m;n<C&&!(e[n]in u);)n+=h;n-=m,w=e[n]}if(l<a.length)a[l]===w?(l===0&&b("onPartData",!0),l++):l=0;else if(l===a.length)l++,w===Pi?d|=Hn.PART_BOUNDARY:w===zo?d|=Hn.LAST_BOUNDARY:l=0;else if(l-1===a.length)if(d&Hn.PART_BOUNDARY){if(l=0,w===Oi){d&=~Hn.PART_BOUNDARY,E("onPartEnd"),E("onPartBegin"),f=Fe.HEADER_FIELD_START;break}}else d&Hn.LAST_BOUNDARY&&w===zo?(E("onPartEnd"),f=Fe.END,d=0):l=0;if(l>0)s[l-1]=w;else if(o>0){let S=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);E("onPartData",0,o,S),o=0,g("onPartData"),n--}break;case Fe.END:break;default:throw new Error(`Unexpected state entered: ${f}`)}b("onHeaderField"),b("onHeaderValue"),b("onPartData"),this.index=l,this.state=f,this.flags=d}end(){if(this.state===Fe.HEADER_FIELD_START&&this.index===0||this.state===Fe.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Fe.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});import Wn,{PassThrough as $m}from"node:stream";import{types as qm,deprecate as Uc,promisify as jE}from"node:util";import{Buffer as Rt}from"node:buffer";async function jc(t){if(t[lt].disturbed)throw new TypeError(`body used already for: ${t.url}`);if(t[lt].disturbed=!0,t[lt].error)throw t[lt].error;let{body:e}=t;if(e===null)return Rt.alloc(0);if(!(e instanceof Wn))return Rt.alloc(0);let n=[],r=0;try{for await(let o of e){if(t.size>0&&r+o.length>t.size){let s=new st(`content size at ${t.url} over limit: ${t.size}`,"max-size");throw e.destroy(s),s}r+=o.length,n.push(o)}}catch(o){throw o instanceof kn?o:new st(`Invalid response body while trying to fetch ${t.url}: ${o.message}`,"system",o)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return n.every(o=>typeof o=="string")?Rt.from(n.join("")):Rt.concat(n,r)}catch(o){throw new st(`Could not create Buffer from response body for ${t.url}: ${o.message}`,"system",o)}else throw new st(`Premature close of server response while trying to fetch ${t.url}`)}var UE,lt,Zt,Vr,$E,Fi,zm,Hm,Ii=Le(()=>{Uo();vi();Ic();Ti();Ri();UE=jE(Wn.pipeline),lt=Symbol("Body internals"),Zt=class{constructor(e,{size:n=0}={}){let r=null;e===null?e=null:Nc(e)?e=Rt.from(e.toString()):qo(e)||Rt.isBuffer(e)||(qm.isAnyArrayBuffer(e)?e=Rt.from(e):ArrayBuffer.isView(e)?e=Rt.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Wn||(e instanceof zn?(e=Am(e),r=e.type.split("=")[1]):e=Rt.from(String(e))));let o=e;Rt.isBuffer(e)?o=Wn.Readable.from(e):qo(e)&&(o=Wn.Readable.from(e.stream())),this[lt]={body:e,stream:o,boundary:r,disturbed:!1,error:null},this.size=n,e instanceof Wn&&e.on("error",s=>{let a=s instanceof kn?s:new st(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[lt].error=a})}get body(){return this[lt].stream}get bodyUsed(){return this[lt].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:n,byteLength:r}=await jc(this);return e.slice(n,n+r)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let r=new zn,o=new URLSearchParams(await this.text());for(let[s,a]of o)r.append(s,a);return r}let{toFormData:n}=await Promise.resolve().then(()=>(Um(),jm));return n(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[lt].body&&this[lt].body.type||"",n=await this.arrayBuffer();return new $t([n],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await jc(this);return new TextDecoder().decode(e)}buffer(){return jc(this)}};Zt.prototype.buffer=Uc(Zt.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(Zt.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:Uc(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});Vr=(t,e)=>{let n,r,{body:o}=t[lt];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof Wn&&typeof o.getBoundary!="function"&&(n=new $m({highWaterMark:e}),r=new $m({highWaterMark:e}),o.pipe(n),o.pipe(r),t[lt].stream=n,o=r),o},$E=Uc(t=>t.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),Fi=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":Nc(t)?"application/x-www-form-urlencoded;charset=UTF-8":qo(t)?t.type||null:Rt.isBuffer(t)||qm.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof zn?`multipart/form-data; boundary=${e[lt].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${$E(t)}`:t instanceof Wn?null:"text/plain;charset=UTF-8",zm=t=>{let{body:e}=t[lt];return e===null?0:qo(e)?e.size:Rt.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},Hm=async(t,{body:e})=>{e===null?t.end():await UE(e,t)}});import{types as Wm}from"node:util";import Bi from"node:http";function Gm(t=[]){return new dt(t.reduce((e,n,r,o)=>(r%2===0&&e.push(o.slice(r,r+2)),e),[]).filter(([e,n])=>{try{return Ni(e),$c(e,String(n)),!0}catch{return!1}}))}var Ni,$c,dt,Mi=Le(()=>{Ni=typeof Bi.validateHeaderName=="function"?Bi.validateHeaderName:t=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(t)){let e=new TypeError(`Header name must be a valid HTTP token [${t}]`);throw Object.defineProperty(e,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),e}},$c=typeof Bi.validateHeaderValue=="function"?Bi.validateHeaderValue:(t,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let n=new TypeError(`Invalid character in header content ["${t}"]`);throw Object.defineProperty(n,"code",{value:"ERR_INVALID_CHAR"}),n}},dt=class t extends URLSearchParams{constructor(e){let n=[];if(e instanceof t){let r=e.raw();for(let[o,s]of Object.entries(r))n.push(...s.map(a=>[o,a]))}else if(e!=null)if(typeof e=="object"&&!Wm.isBoxedPrimitive(e)){let r=e[Symbol.iterator];if(r==null)n.push(...Object.entries(e));else{if(typeof r!="function")throw new TypeError("Header pairs must be iterable");n=[...e].map(o=>{if(typeof o!="object"||Wm.isBoxedPrimitive(o))throw new TypeError("Each header pair must be an iterable object");return[...o]}).map(o=>{if(o.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...o]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return n=n.length>0?n.map(([r,o])=>(Ni(r),$c(r,String(o)),[String(r).toLowerCase(),String(o)])):void 0,super(n),new Proxy(this,{get(r,o,s){switch(o){case"append":case"set":return(a,u)=>(Ni(a),$c(a,String(u)),URLSearchParams.prototype[o].call(r,String(a).toLowerCase(),String(u)));case"delete":case"has":case"getAll":return a=>(Ni(a),URLSearchParams.prototype[o].call(r,String(a).toLowerCase()));case"keys":return()=>(r.sort(),new Set(URLSearchParams.prototype.keys.call(r)).keys());default:return Reflect.get(r,o,s)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let n=this.getAll(e);if(n.length===0)return null;let r=n.join(", ");return/^content-encoding$/i.test(e)&&(r=r.toLowerCase()),r}forEach(e,n=void 0){for(let r of this.keys())Reflect.apply(e,n,[this.get(r),r,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,n)=>(e[n]=this.getAll(n),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,n)=>{let r=this.getAll(n);return n==="host"?e[n]=r[0]:e[n]=r.length>1?r:r[0],e},{})}};Object.defineProperties(dt.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}))});var qE,Ho,qc=Le(()=>{qE=new Set([301,302,303,307,308]),Ho=t=>qE.has(t)});var qt,gt,Jm=Le(()=>{Mi();Ii();qc();qt=Symbol("Response internals"),gt=class t extends Zt{constructor(e=null,n={}){super(e,n);let r=n.status!=null?n.status:200,o=new dt(n.headers);if(e!==null&&!o.has("Content-Type")){let s=Fi(e,this);s&&o.append("Content-Type",s)}this[qt]={type:"default",url:n.url,status:r,statusText:n.statusText||"",headers:o,counter:n.counter,highWaterMark:n.highWaterMark}}get type(){return this[qt].type}get url(){return this[qt].url||""}get status(){return this[qt].status}get ok(){return this[qt].status>=200&&this[qt].status<300}get redirected(){return this[qt].counter>0}get statusText(){return this[qt].statusText}get headers(){return this[qt].headers}get highWaterMark(){return this[qt].highWaterMark}clone(){return new t(Vr(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,n=302){if(!Ho(n))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new t(null,{headers:{location:new URL(e).toString()},status:n})}static error(){let e=new t(null,{status:0,statusText:""});return e[qt].type="error",e}static json(e=void 0,n={}){let r=JSON.stringify(e);if(r===void 0)throw new TypeError("data is not JSON serializable");let o=new dt(n&&n.headers);return o.has("content-type")||o.set("content-type","application/json"),new t(r,{...n,headers:o})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(gt.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})});var Vm,Km=Le(()=>{Vm=t=>{if(t.search)return t.search;let e=t.href.length-1,n=t.hash||(t.href[e]==="#"?"#":"");return t.href[e-n.length]==="?"?"?":""}});import{isIP as zE}from"node:net";function Ym(t,e=!1){return t==null||(t=new URL(t),/^(about|blob|data):$/.test(t.protocol))?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}function Zm(t){if(!Qm.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function HE(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),n=zE(e);return n===4&&/^127\./.test(e)||n===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:t.host==="localhost"||t.host.endsWith(".localhost")?!1:t.protocol==="file:"}function Kr(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:HE(t)}function eg(t,{referrerURLCallback:e,referrerOriginCallback:n}={}){if(t.referrer==="no-referrer"||t.referrerPolicy==="")return null;let r=t.referrerPolicy;if(t.referrer==="about:client")return"no-referrer";let o=t.referrer,s=Ym(o),a=Ym(o,!0);s.toString().length>4096&&(s=a),e&&(s=e(s)),n&&(a=n(a));let u=new URL(t.url);switch(r){case"no-referrer":return"no-referrer";case"origin":return a;case"unsafe-url":return s;case"strict-origin":return Kr(s)&&!Kr(u)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return s.origin===u.origin?s:Kr(s)&&!Kr(u)?"no-referrer":a;case"same-origin":return s.origin===u.origin?s:"no-referrer";case"origin-when-cross-origin":return s.origin===u.origin?s:a;case"no-referrer-when-downgrade":return Kr(s)&&!Kr(u)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${r}`)}}function tg(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),n="";for(let r of e)r&&Qm.has(r)&&(n=r);return n}var Qm,Xm,zc=Le(()=>{Qm=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),Xm="strict-origin-when-cross-origin"});import{format as WE}from"node:url";import{deprecate as GE}from"node:util";var Ke,Wo,JE,Gn,ng,rg=Le(()=>{Mi();Ii();Ri();Km();zc();Ke=Symbol("Request internals"),Wo=t=>typeof t=="object"&&typeof t[Ke]=="object",JE=GE(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Gn=class t extends Zt{constructor(e,n={}){let r;if(Wo(e)?r=new URL(e.url):(r=new URL(e),e={}),r.username!==""||r.password!=="")throw new TypeError(`${r} is an url with embedded credentials.`);let o=n.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(o)&&(o=o.toUpperCase()),!Wo(n)&&"data"in n&&JE(),(n.body!=null||Wo(e)&&e.body!==null)&&(o==="GET"||o==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let s=n.body?n.body:Wo(e)&&e.body!==null?Vr(e):null;super(s,{size:n.size||e.size||0});let a=new dt(n.headers||e.headers||{});if(s!==null&&!a.has("Content-Type")){let f=Fi(s,this);f&&a.set("Content-Type",f)}let u=Wo(e)?e.signal:null;if("signal"in n&&(u=n.signal),u!=null&&!Sm(u))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let l=n.referrer==null?e.referrer:n.referrer;if(l==="")l="no-referrer";else if(l){let f=new URL(l);l=/^about:(\/\/)?client$/.test(f)?"client":f}else l=void 0;this[Ke]={method:o,redirect:n.redirect||e.redirect||"follow",headers:a,parsedURL:r,signal:u,referrer:l},this.follow=n.follow===void 0?e.follow===void 0?20:e.follow:n.follow,this.compress=n.compress===void 0?e.compress===void 0?!0:e.compress:n.compress,this.counter=n.counter||e.counter||0,this.agent=n.agent||e.agent,this.highWaterMark=n.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=n.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=n.referrerPolicy||e.referrerPolicy||""}get method(){return this[Ke].method}get url(){return WE(this[Ke].parsedURL)}get headers(){return this[Ke].headers}get redirect(){return this[Ke].redirect}get signal(){return this[Ke].signal}get referrer(){if(this[Ke].referrer==="no-referrer")return"";if(this[Ke].referrer==="client")return"about:client";if(this[Ke].referrer)return this[Ke].referrer.toString()}get referrerPolicy(){return this[Ke].referrerPolicy}set referrerPolicy(e){this[Ke].referrerPolicy=Zm(e)}clone(){return new t(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(Gn.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});ng=t=>{let{parsedURL:e}=t[Ke],n=new dt(t[Ke].headers);n.has("Accept")||n.set("Accept","*/*");let r=null;if(t.body===null&&/^(post|put)$/i.test(t.method)&&(r="0"),t.body!==null){let u=zm(t);typeof u=="number"&&!Number.isNaN(u)&&(r=String(u))}r&&n.set("Content-Length",r),t.referrerPolicy===""&&(t.referrerPolicy=Xm),t.referrer&&t.referrer!=="no-referrer"?t[Ke].referrer=eg(t):t[Ke].referrer="no-referrer",t[Ke].referrer instanceof URL&&n.set("Referer",t.referrer),n.has("User-Agent")||n.set("User-Agent","node-fetch"),t.compress&&!n.has("Accept-Encoding")&&n.set("Accept-Encoding","gzip, deflate, br");let{agent:o}=t;typeof o=="function"&&(o=o(e));let s=Vm(e),a={path:e.pathname+s,method:t.method,headers:n[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:t.insecureHTTPParser,agent:o};return{parsedURL:e,options:a}}});var Go,og=Le(()=>{Ti();Go=class extends kn{constructor(e,n="aborted"){super(e,n)}}});var ag={};Lu(ag,{AbortError:()=>Go,Blob:()=>$t,FetchError:()=>st,File:()=>qn,FormData:()=>zn,Headers:()=>dt,Request:()=>Gn,Response:()=>gt,blobFrom:()=>Fm,blobFromSync:()=>Pm,default:()=>Hc,fileFrom:()=>Im,fileFromSync:()=>Nm,isRedirect:()=>Ho});import VE from"node:http";import KE from"node:https";import Yr from"node:zlib";import sg,{PassThrough as ig,pipeline as Qr}from"node:stream";import{Buffer as Li}from"node:buffer";async function Hc(t,e){return new Promise((n,r)=>{let o=new Gn(t,e),{parsedURL:s,options:a}=ng(o);if(!YE.has(s.protocol))throw new TypeError(`node-fetch cannot load ${t}. URL scheme "${s.protocol.replace(/:$/,"")}" is not supported.`);if(s.protocol==="data:"){let w=mm(o.url),y=new gt(w,{headers:{"Content-Type":w.typeFull}});n(y);return}let u=(s.protocol==="https:"?KE:VE).request,{signal:l}=o,f=null,d=()=>{let w=new Go("The operation was aborted.");r(w),o.body&&o.body instanceof sg.Readable&&o.body.destroy(w),!(!f||!f.body)&&f.body.emit("error",w)};if(l&&l.aborted){d();return}let h=()=>{d(),C()},m=u(s.toString(),a);l&&l.addEventListener("abort",h);let C=()=>{m.abort(),l&&l.removeEventListener("abort",h)};m.on("error",w=>{r(new st(`request to ${o.url} failed, reason: ${w.message}`,"system",w)),C()}),QE(m,w=>{f&&f.body&&f.body.destroy(w)}),process.version<"v14"&&m.on("socket",w=>{let y;w.prependListener("end",()=>{y=w._eventsCount}),w.prependListener("close",g=>{if(f&&y<w._eventsCount&&!g){let _=new Error("Premature close");_.code="ERR_STREAM_PREMATURE_CLOSE",f.body.emit("error",_)}})}),m.on("response",w=>{m.setTimeout(0);let y=Gm(w.rawHeaders);if(Ho(w.statusCode)){let S=y.get("Location"),T=null;try{T=S===null?null:new URL(S,o.url)}catch{if(o.redirect!=="manual"){r(new st(`uri requested responds with an invalid redirect URL: ${S}`,"invalid-redirect")),C();return}}switch(o.redirect){case"error":r(new st(`uri requested responds with a redirect, redirect mode is set to error: ${o.url}`,"no-redirect")),C();return;case"manual":break;case"follow":{if(T===null)break;if(o.counter>=o.follow){r(new st(`maximum redirect reached at: ${o.url}`,"max-redirect")),C();return}let R={headers:new dt(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:Vr(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!vm(o.url,T)||!Tm(o.url,T))for(let H of["authorization","www-authenticate","cookie","cookie2"])R.headers.delete(H);if(w.statusCode!==303&&o.body&&e.body instanceof sg.Readable){r(new st("Cannot follow redirect with body being a readable stream","unsupported-redirect")),C();return}(w.statusCode===303||(w.statusCode===301||w.statusCode===302)&&o.method==="POST")&&(R.method="GET",R.body=void 0,R.headers.delete("content-length"));let $=tg(y);$&&(R.referrerPolicy=$),n(Hc(new Gn(T,R))),C();return}default:return r(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}l&&w.once("end",()=>{l.removeEventListener("abort",h)});let g=Qr(w,new ig,S=>{S&&r(S)});process.version<"v12.10"&&w.on("aborted",h);let _={url:o.url,status:w.statusCode,statusText:w.statusMessage,headers:y,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},E=y.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||E===null||w.statusCode===204||w.statusCode===304){f=new gt(g,_),n(f);return}let b={flush:Yr.Z_SYNC_FLUSH,finishFlush:Yr.Z_SYNC_FLUSH};if(E==="gzip"||E==="x-gzip"){g=Qr(g,Yr.createGunzip(b),S=>{S&&r(S)}),f=new gt(g,_),n(f);return}if(E==="deflate"||E==="x-deflate"){let S=Qr(w,new ig,T=>{T&&r(T)});S.once("data",T=>{(T[0]&15)===8?g=Qr(g,Yr.createInflate(),R=>{R&&r(R)}):g=Qr(g,Yr.createInflateRaw(),R=>{R&&r(R)}),f=new gt(g,_),n(f)}),S.once("end",()=>{f||(f=new gt(g,_),n(f))});return}if(E==="br"){g=Qr(g,Yr.createBrotliDecompress(),S=>{S&&r(S)}),f=new gt(g,_),n(f);return}f=new gt(g,_),n(f)}),Hm(m,o).catch(r)})}function QE(t,e){let n=Li.from(`0\r
|
|
38
38
|
\r
|
|
39
|
-
`),r=!1,o=!1,s;t.on("response",a=>{let{headers:u}=a;r=u["transfer-encoding"]==="chunked"&&!u["content-length"]}),t.on("socket",a=>{let u=()=>{if(r&&!o){let f=new Error("Premature close");f.code="ERR_STREAM_PREMATURE_CLOSE",e(f)}},l=f=>{o=Li.compare(f.slice(-5),n)===0,!o&&s&&(o=Li.compare(s.slice(-3),n.slice(0,3))===0&&Li.compare(f.slice(-2),n.slice(3))===0),s=f};a.prependListener("close",u),a.on("data",l),t.on("close",()=>{a.removeListener("close",u),a.removeListener("data",l)})})}var YE,ug=Le(()=>{gm();Ii();Jm();Mi();rg();Ic();og();qc();
|
|
39
|
+
`),r=!1,o=!1,s;t.on("response",a=>{let{headers:u}=a;r=u["transfer-encoding"]==="chunked"&&!u["content-length"]}),t.on("socket",a=>{let u=()=>{if(r&&!o){let f=new Error("Premature close");f.code="ERR_STREAM_PREMATURE_CLOSE",e(f)}},l=f=>{o=Li.compare(f.slice(-5),n)===0,!o&&s&&(o=Li.compare(s.slice(-3),n.slice(0,3))===0&&Li.compare(f.slice(-2),n.slice(3))===0),s=f};a.prependListener("close",u),a.on("data",l),t.on("close",()=>{a.removeListener("close",u),a.removeListener("data",l)})})}var YE,ug=Le(()=>{gm();Ii();Jm();Mi();rg();Ic();og();qc();vi();Ri();zc();Mc();YE=new Set(["data:","http:","https:"])});var dg=X(Zr=>{"use strict";var XE=Zr&&Zr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Xr;Object.defineProperty(Zr,"__esModule",{value:!0});Zr.Gaxios=void 0;var ZE=XE(yc()),ek=re("https"),pr=Cc(),tk=zp(),cg=re("stream"),lg=kc(),nk=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),ji=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new lg.GaxiosInterceptorManager,response:new lg.GaxiosInterceptorManager}}fetch(...e){let n=e[0],r=e[1],o,s=new Headers;return typeof n=="string"?o=new URL(n):n instanceof URL?o=n:n&&n.url&&(o=new URL(n.url)),n&&typeof n=="object"&&"headers"in n&&Xr.mergeHeaders(s,n.headers),r&&Xr.mergeHeaders(s,new Headers(r.headers)),typeof n=="object"&&!(n instanceof URL)?this.request({...r,...n,headers:s,url:o}):this.request({...r,headers:s,url:o})}async request(e={}){let n=await this.#r(e);return n=await this.#t(n),this.#n(this._request(n))}async _defaultAdapter(e){let n=e.fetchImplementation||this.defaults.fetchImplementation||await Xr.#u(),r={...e};delete r.data;let o=await n(e.url,r),s=await this.getResponseData(e,o);return Object.getOwnPropertyDescriptor(o,"data")?.configurable||Object.defineProperties(o,{data:{configurable:!0,writable:!0,enumerable:!0,value:s}}),Object.assign(o,{config:e,data:s})}async _request(e){try{let n;if(e.adapter?n=await e.adapter(e,this._defaultAdapter.bind(this)):n=await this._defaultAdapter(e),!e.validateStatus(n.status)){if(e.responseType==="stream"){let o=[];for await(let s of n.data)o.push(s);n.data=o.toString()}let r=pr.GaxiosError.extractAPIErrorFromResponse(n,`Request failed with status code ${n.status}`);throw new pr.GaxiosError(r?.message,e,n,r)}return n}catch(n){let r;n instanceof pr.GaxiosError?r=n:n instanceof Error?r=new pr.GaxiosError(n.message,e,void 0,n):r=new pr.GaxiosError("Unexpected Gaxios Error",e,void 0,n);let{shouldRetry:o,config:s}=await(0,tk.getRetryConfig)(r);if(o&&s)return r.config.retryConfig.currentRetryAttempt=s.retryConfig.currentRetryAttempt,e.retryConfig=r.config?.retryConfig,this.#o(e),this._request(e);throw e.errorRedactor&&e.errorRedactor(r),r}}async getResponseData(e,n){if(e.maxContentLength&&n.headers.has("content-length")&&e.maxContentLength<Number.parseInt(n.headers?.get("content-length")||""))throw new pr.GaxiosError("Response's `Content-Length` is over the limit.",e,Object.assign(n,{config:e}));switch(e.responseType){case"stream":return n.body;case"json":return n.json();case"arraybuffer":return n.arrayBuffer();case"blob":return n.blob();case"text":return n.text();default:return this.getResponseDataFromContentType(n)}}#e(e,n=[]){let r=new URL(e),o=[...n],s=(process.env.NO_PROXY??process.env.no_proxy)?.split(",")||[];for(let a of s)o.push(a.trim());for(let a of o)if(a instanceof RegExp){if(a.test(r.toString()))return!1}else if(a instanceof URL){if(a.origin===r.origin)return!1}else if(a.startsWith("*.")||a.startsWith(".")){let u=a.replace(/^\*\./,".");if(r.hostname.endsWith(u))return!1}else if(a===r.origin||a===r.hostname||a===r.href)return!1;return!0}async#t(e){let n=Promise.resolve(e);for(let r of this.interceptors.request.values())r&&(n=n.then(r.resolved,r.rejected));return n}async#n(e){let n=Promise.resolve(e);for(let r of this.interceptors.response.values())r&&(n=n.then(r.resolved,r.rejected));return n}async#r(e){let n=new Headers(this.defaults.headers);Xr.mergeHeaders(n,e.headers);let r=(0,ZE.default)(!0,{},this.defaults,e);if(!r.url)throw new Error("URL is required.");if(r.baseURL&&(r.url=new URL(r.url,r.baseURL)),r.url=new URL(r.url),r.params)if(r.paramsSerializer){let a=r.paramsSerializer(r.params);a.startsWith("?")&&(a=a.slice(1));let u=r.url.toString().includes("?")?"&":"?";r.url=r.url+u+a}else{let a=r.url instanceof URL?r.url:new URL(r.url);for(let[u,l]of new URLSearchParams(r.params))a.searchParams.append(u,l);r.url=a}typeof e.maxContentLength=="number"&&(r.size=e.maxContentLength),typeof e.maxRedirects=="number"&&(r.follow=e.maxRedirects);let o=typeof r.data=="string"||r.data instanceof ArrayBuffer||r.data instanceof Blob||globalThis.File&&r.data instanceof File||r.data instanceof FormData||r.data instanceof cg.Readable||r.data instanceof ReadableStream||r.data instanceof String||r.data instanceof URLSearchParams||ArrayBuffer.isView(r.data)||["Blob","File","FormData"].includes(r.data?.constructor?.name||"");if(r.multipart?.length){let a=await nk();n.set("content-type",`multipart/related; boundary=${a}`),r.body=cg.Readable.from(this.getMultipartRequest(r.multipart,a))}else o?r.body=r.data:typeof r.data=="object"?n.get("Content-Type")==="application/x-www-form-urlencoded"?r.body=r.paramsSerializer?r.paramsSerializer(r.data):new URLSearchParams(r.data):(n.has("content-type")||n.set("content-type","application/json"),r.body=JSON.stringify(r.data)):r.data&&(r.body=r.data);r.validateStatus=r.validateStatus||this.validateStatus,r.responseType=r.responseType||"unknown",!n.has("accept")&&r.responseType==="json"&&n.set("accept","application/json");let s=r.proxy||process?.env?.HTTPS_PROXY||process?.env?.https_proxy||process?.env?.HTTP_PROXY||process?.env?.http_proxy;if(!r.agent)if(s&&this.#e(r.url,r.noProxy)){let a=await Xr.#a();this.agentCache.has(s)?r.agent=this.agentCache.get(s):(r.agent=new a(s,{cert:r.cert,key:r.key}),this.agentCache.set(s,r.agent))}else r.cert&&r.key&&(this.agentCache.has(r.key)?r.agent=this.agentCache.get(r.key):(r.agent=new ek.Agent({cert:r.cert,key:r.key}),this.agentCache.set(r.key,r.agent)));return typeof r.errorRedactor!="function"&&r.errorRedactor!==!1&&(r.errorRedactor=pr.defaultErrorRedactor),r.body&&!("duplex"in r)&&(r.duplex="half"),this.#o(r),Object.assign(r,{headers:n,url:r.url instanceof URL?r.url:new URL(r.url)})}#o(e){if(e.timeout){let n=AbortSignal.timeout(e.timeout);e.signal&&!e.signal.aborted?e.signal=AbortSignal.any([e.signal,n]):e.signal=n}}validateStatus(e){return e>=200&&e<300}async getResponseDataFromContentType(e){let n=e.headers.get("Content-Type");if(n===null)return e.text();if(n=n.toLowerCase(),n.includes("application/json")){let r=await e.text();try{r=JSON.parse(r)}catch{}return r}else return n.match(/^text\//)?e.text():e.blob()}async*getMultipartRequest(e,n){let r=`--${n}--`;for(let o of e){let s=o.headers.get("Content-Type")||"application/octet-stream";yield`--${n}\r
|
|
40
40
|
Content-Type: ${s}\r
|
|
41
41
|
\r
|
|
42
42
|
`,typeof o.content=="string"?yield o.content:yield*o.content,yield`\r
|
|
43
|
-
`}yield r}static#s;static#i;static async#a(){return this.#s||=(await Promise.resolve().then(()=>Ln(pm()))).HttpsProxyAgent,this.#s}static async#u(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(ug(),ag))).default,this.#i}static mergeHeaders(e,...n){e=e instanceof Headers?e:new Headers(e);for(let r of n)(r instanceof Headers?r:new Headers(r)).forEach((s,a)=>{a==="set-cookie"?e.append(a,s):e.set(a,s)});return e}};Zr.Gaxios=ji;Xr=ji});var Xe=X(it=>{"use strict";var rk=it&&it.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),ok=it&&it.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&rk(e,t,n)};Object.defineProperty(it,"__esModule",{value:!0});it.instance=it.Gaxios=it.GaxiosError=void 0;it.request=ik;var fg=dg();Object.defineProperty(it,"Gaxios",{enumerable:!0,get:function(){return fg.Gaxios}});var sk=Cc();Object.defineProperty(it,"GaxiosError",{enumerable:!0,get:function(){return sk.GaxiosError}});ok(kc(),it);it.instance=new fg.Gaxios;async function ik(t){return it.instance.request(t)}});var Wc=X((hg,Ui)=>{(function(t){"use strict";var e,n=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,r=Math.ceil,o=Math.floor,s="[BigNumber Error] ",a=s+"Number primitive has more than 15 significant digits: ",u=1e14,l=14,f=9007199254740991,d=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],h=1e7,m=1e9;function C(v){var R,$,H,P=V.prototype={constructor:V,toString:null,valueOf:null},K=new V(1),q=20,Y=4,Q=-7,ee=21,se=-1e7,ie=1e7,pe=!1,J=1,Z=0,ce={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},je="0123456789abcdefghijklmnopqrstuvwxyz",we=!0;function V(k,T){var D,M,F,N,U,O,I,L,B=this;if(!(B instanceof V))return new V(k,T);if(T==null){if(k&&k._isBigNumber===!0){B.s=k.s,!k.c||k.e>ie?B.c=B.e=null:k.e<se?B.c=[B.e=0]:(B.e=k.e,B.c=k.c.slice());return}if((O=typeof k=="number")&&k*0==0){if(B.s=1/k<0?(k=-k,-1):1,k===~~k){for(N=0,U=k;U>=10;U/=10,N++);N>ie?B.c=B.e=null:(B.e=N,B.c=[k]);return}L=String(k)}else{if(!n.test(L=String(k)))return H(B,L,O);B.s=L.charCodeAt(0)==45?(L=L.slice(1),-1):1}(N=L.indexOf("."))>-1&&(L=L.replace(".","")),(U=L.search(/e/i))>0?(N<0&&(N=U),N+=+L.slice(U+1),L=L.substring(0,U)):N<0&&(N=L.length)}else{if(_(T,2,je.length,"Base"),T==10&&we)return B=new V(k),Oe(B,q+B.e+1,Y);if(L=String(k),O=typeof k=="number"){if(k*0!=0)return H(B,L,O,T);if(B.s=1/k<0?(L=L.slice(1),-1):1,V.DEBUG&&L.replace(/^0\.0*|\./,"").length>15)throw Error(a+k)}else B.s=L.charCodeAt(0)===45?(L=L.slice(1),-1):1;for(D=je.slice(0,T),N=U=0,I=L.length;U<I;U++)if(D.indexOf(M=L.charAt(U))<0){if(M=="."){if(U>N){N=I;continue}}else if(!F&&(L==L.toUpperCase()&&(L=L.toLowerCase())||L==L.toLowerCase()&&(L=L.toUpperCase()))){F=!0,U=-1,N=0;continue}return H(B,String(k),O,T)}O=!1,L=$(L,T,10,B.s),(N=L.indexOf("."))>-1?L=L.replace(".",""):N=L.length}for(U=0;L.charCodeAt(U)===48;U++);for(I=L.length;L.charCodeAt(--I)===48;);if(L=L.slice(U,++I)){if(I-=U,O&&V.DEBUG&&I>15&&(k>f||k!==o(k)))throw Error(a+B.s*k);if((N=N-U-1)>ie)B.c=B.e=null;else if(N<se)B.c=[B.e=0];else{if(B.e=N,B.c=[],U=(N+1)%l,N<0&&(U+=l),U<I){for(U&&B.c.push(+L.slice(0,U)),I-=l;U<I;)B.c.push(+L.slice(U,U+=l));U=l-(L=L.slice(U)).length}else U-=I;for(;U--;L+="0");B.c.push(+L)}}else B.c=[B.e=0]}V.clone=C,V.ROUND_UP=0,V.ROUND_DOWN=1,V.ROUND_CEIL=2,V.ROUND_FLOOR=3,V.ROUND_HALF_UP=4,V.ROUND_HALF_DOWN=5,V.ROUND_HALF_EVEN=6,V.ROUND_HALF_CEIL=7,V.ROUND_HALF_FLOOR=8,V.EUCLID=9,V.config=V.set=function(k){var T,D;if(k!=null)if(typeof k=="object"){if(k.hasOwnProperty(T="DECIMAL_PLACES")&&(D=k[T],_(D,0,m,T),q=D),k.hasOwnProperty(T="ROUNDING_MODE")&&(D=k[T],_(D,0,8,T),Y=D),k.hasOwnProperty(T="EXPONENTIAL_AT")&&(D=k[T],D&&D.pop?(_(D[0],-m,0,T),_(D[1],0,m,T),Q=D[0],ee=D[1]):(_(D,-m,m,T),Q=-(ee=D<0?-D:D))),k.hasOwnProperty(T="RANGE"))if(D=k[T],D&&D.pop)_(D[0],-m,-1,T),_(D[1],1,m,T),se=D[0],ie=D[1];else if(_(D,-m,m,T),D)se=-(ie=D<0?-D:D);else throw Error(s+T+" cannot be zero: "+D);if(k.hasOwnProperty(T="CRYPTO"))if(D=k[T],D===!!D)if(D)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))pe=D;else throw pe=!D,Error(s+"crypto unavailable");else pe=D;else throw Error(s+T+" not true or false: "+D);if(k.hasOwnProperty(T="MODULO_MODE")&&(D=k[T],_(D,0,9,T),J=D),k.hasOwnProperty(T="POW_PRECISION")&&(D=k[T],_(D,0,m,T),Z=D),k.hasOwnProperty(T="FORMAT"))if(D=k[T],typeof D=="object")ce=D;else throw Error(s+T+" not an object: "+D);if(k.hasOwnProperty(T="ALPHABET"))if(D=k[T],typeof D=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(D))we=D.slice(0,10)=="0123456789",je=D;else throw Error(s+T+" invalid: "+D)}else throw Error(s+"Object expected: "+k);return{DECIMAL_PLACES:q,ROUNDING_MODE:Y,EXPONENTIAL_AT:[Q,ee],RANGE:[se,ie],CRYPTO:pe,MODULO_MODE:J,POW_PRECISION:Z,FORMAT:ce,ALPHABET:je}},V.isBigNumber=function(k){if(!k||k._isBigNumber!==!0)return!1;if(!V.DEBUG)return!0;var T,D,M=k.c,F=k.e,N=k.s;e:if({}.toString.call(M)=="[object Array]"){if((N===1||N===-1)&&F>=-m&&F<=m&&F===o(F)){if(M[0]===0){if(F===0&&M.length===1)return!0;break e}if(T=(F+1)%l,T<1&&(T+=l),String(M[0]).length==T){for(T=0;T<M.length;T++)if(D=M[T],D<0||D>=u||D!==o(D))break e;if(D!==0)return!0}}}else if(M===null&&F===null&&(N===null||N===1||N===-1))return!0;throw Error(s+"Invalid BigNumber: "+k)},V.maximum=V.max=function(){return te(arguments,-1)},V.minimum=V.min=function(){return te(arguments,1)},V.random=(function(){var k=9007199254740992,T=Math.random()*k&2097151?function(){return o(Math.random()*k)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(D){var M,F,N,U,O,I=0,L=[],B=new V(K);if(D==null?D=q:_(D,0,m),U=r(D/l),pe)if(crypto.getRandomValues){for(M=crypto.getRandomValues(new Uint32Array(U*=2));I<U;)O=M[I]*131072+(M[I+1]>>>11),O>=9e15?(F=crypto.getRandomValues(new Uint32Array(2)),M[I]=F[0],M[I+1]=F[1]):(L.push(O%1e14),I+=2);I=U/2}else if(crypto.randomBytes){for(M=crypto.randomBytes(U*=7);I<U;)O=(M[I]&31)*281474976710656+M[I+1]*1099511627776+M[I+2]*4294967296+M[I+3]*16777216+(M[I+4]<<16)+(M[I+5]<<8)+M[I+6],O>=9e15?crypto.randomBytes(7).copy(M,I):(L.push(O%1e14),I+=7);I=U/7}else throw pe=!1,Error(s+"crypto unavailable");if(!pe)for(;I<U;)O=T(),O<9e15&&(L[I++]=O%1e14);for(U=L[--I],D%=l,U&&D&&(O=d[l-D],L[I]=o(U/O)*O);L[I]===0;L.pop(),I--);if(I<0)L=[N=0];else{for(N=-1;L[0]===0;L.splice(0,1),N-=l);for(I=1,O=L[0];O>=10;O/=10,I++);I<l&&(N-=l-I)}return B.e=N,B.c=L,B}})(),V.sum=function(){for(var k=1,T=arguments,D=new V(T[0]);k<T.length;)D=D.plus(T[k++]);return D},$=(function(){var k="0123456789";function T(D,M,F,N){for(var U,O=[0],I,L=0,B=D.length;L<B;){for(I=O.length;I--;O[I]*=M);for(O[0]+=N.indexOf(D.charAt(L++)),U=0;U<O.length;U++)O[U]>F-1&&(O[U+1]==null&&(O[U+1]=0),O[U+1]+=O[U]/F|0,O[U]%=F)}return O.reverse()}return function(D,M,F,N,U){var O,I,L,B,W,oe,ae,Se,Ie=D.indexOf("."),Me=q,Ae=Y;for(Ie>=0&&(B=Z,Z=0,D=D.replace(".",""),Se=new V(M),oe=Se.pow(D.length-Ie),Z=B,Se.c=T(S(y(oe.c),oe.e,"0"),10,F,k),Se.e=Se.c.length),ae=T(D,M,F,U?(O=je,k):(O=k,je)),L=B=ae.length;ae[--B]==0;ae.pop());if(!ae[0])return O.charAt(0);if(Ie<0?--L:(oe.c=ae,oe.e=L,oe.s=N,oe=R(oe,Se,Me,Ae,F),ae=oe.c,W=oe.r,L=oe.e),I=L+Me+1,Ie=ae[I],B=F/2,W=W||I<0||ae[I+1]!=null,W=Ae<4?(Ie!=null||W)&&(Ae==0||Ae==(oe.s<0?3:2)):Ie>B||Ie==B&&(Ae==4||W||Ae==6&&ae[I-1]&1||Ae==(oe.s<0?8:7)),I<1||!ae[0])D=W?S(O.charAt(1),-Me,O.charAt(0)):O.charAt(0);else{if(ae.length=I,W)for(--F;++ae[--I]>F;)ae[I]=0,I||(++L,ae=[1].concat(ae));for(B=ae.length;!ae[--B];);for(Ie=0,D="";Ie<=B;D+=O.charAt(ae[Ie++]));D=S(D,L,O.charAt(0))}return D}})(),R=(function(){function k(M,F,N){var U,O,I,L,B=0,W=M.length,oe=F%h,ae=F/h|0;for(M=M.slice();W--;)I=M[W]%h,L=M[W]/h|0,U=ae*I+L*oe,O=oe*I+U%h*h+B,B=(O/N|0)+(U/h|0)+ae*L,M[W]=O%N;return B&&(M=[B].concat(M)),M}function T(M,F,N,U){var O,I;if(N!=U)I=N>U?1:-1;else for(O=I=0;O<N;O++)if(M[O]!=F[O]){I=M[O]>F[O]?1:-1;break}return I}function D(M,F,N,U){for(var O=0;N--;)M[N]-=O,O=M[N]<F[N]?1:0,M[N]=O*U+M[N]-F[N];for(;!M[0]&&M.length>1;M.splice(0,1));}return function(M,F,N,U,O){var I,L,B,W,oe,ae,Se,Ie,Me,Ae,Te,qe,Cr,wr,Er,ft,fn,Ze=M.s==F.s?1:-1,ze=M.c,De=F.c;if(!ze||!ze[0]||!De||!De[0])return new V(!M.s||!F.s||(ze?De&&ze[0]==De[0]:!De)?NaN:ze&&ze[0]==0||!De?Ze*0:Ze/0);for(Ie=new V(Ze),Me=Ie.c=[],L=M.e-F.e,Ze=N+L+1,O||(O=u,L=w(M.e/l)-w(F.e/l),Ze=Ze/l|0),B=0;De[B]==(ze[B]||0);B++);if(De[B]>(ze[B]||0)&&L--,Ze<0)Me.push(1),W=!0;else{for(wr=ze.length,ft=De.length,B=0,Ze+=2,oe=o(O/(De[0]+1)),oe>1&&(De=k(De,oe,O),ze=k(ze,oe,O),ft=De.length,wr=ze.length),Cr=ft,Ae=ze.slice(0,ft),Te=Ae.length;Te<ft;Ae[Te++]=0);fn=De.slice(),fn=[0].concat(fn),Er=De[0],De[1]>=O/2&&Er++;do{if(oe=0,I=T(De,Ae,ft,Te),I<0){if(qe=Ae[0],ft!=Te&&(qe=qe*O+(Ae[1]||0)),oe=o(qe/Er),oe>1)for(oe>=O&&(oe=O-1),ae=k(De,oe,O),Se=ae.length,Te=Ae.length;T(ae,Ae,Se,Te)==1;)oe--,D(ae,ft<Se?fn:De,Se,O),Se=ae.length,I=1;else oe==0&&(I=oe=1),ae=De.slice(),Se=ae.length;if(Se<Te&&(ae=[0].concat(ae)),D(Ae,ae,Te,O),Te=Ae.length,I==-1)for(;T(De,Ae,ft,Te)<1;)oe++,D(Ae,ft<Te?fn:De,Te,O),Te=Ae.length}else I===0&&(oe++,Ae=[0]);Me[B++]=oe,Ae[0]?Ae[Te++]=ze[Cr]||0:(Ae=[ze[Cr]],Te=1)}while((Cr++<wr||Ae[0]!=null)&&Ze--);W=Ae[0]!=null,Me[0]||Me.splice(0,1)}if(O==u){for(B=1,Ze=Me[0];Ze>=10;Ze/=10,B++);Oe(Ie,N+(Ie.e=B+L*l-1)+1,U,W)}else Ie.e=L,Ie.r=+W;return Ie}})();function ue(k,T,D,M){var F,N,U,O,I;if(D==null?D=Y:_(D,0,8),!k.c)return k.toString();if(F=k.c[0],U=k.e,T==null)I=y(k.c),I=M==1||M==2&&(U<=Q||U>=ee)?b(I,U):S(I,U,"0");else if(k=Oe(new V(k),T,D),N=k.e,I=y(k.c),O=I.length,M==1||M==2&&(T<=N||N<=Q)){for(;O<T;I+="0",O++);I=b(I,N)}else if(T-=U+(M===2&&N>U),I=S(I,N,"0"),N+1>O){if(--T>0)for(I+=".";T--;I+="0");}else if(T+=N-O,T>0)for(N+1==O&&(I+=".");T--;I+="0");return k.s<0&&F?"-"+I:I}function te(k,T){for(var D,M,F=1,N=new V(k[0]);F<k.length;F++)M=new V(k[F]),(!M.s||(D=g(N,M))===T||D===0&&N.s===T)&&(N=M);return N}function ve(k,T,D){for(var M=1,F=T.length;!T[--F];T.pop());for(F=T[0];F>=10;F/=10,M++);return(D=M+D*l-1)>ie?k.c=k.e=null:D<se?k.c=[k.e=0]:(k.e=D,k.c=T),k}H=(function(){var k=/^(-?)0([xbo])(?=\w[\w.]*$)/i,T=/^([^.]+)\.$/,D=/^\.([^.]+)$/,M=/^-?(Infinity|NaN)$/,F=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(N,U,O,I){var L,B=O?U:U.replace(F,"");if(M.test(B))N.s=isNaN(B)?null:B<0?-1:1;else{if(!O&&(B=B.replace(k,function(W,oe,ae){return L=(ae=ae.toLowerCase())=="x"?16:ae=="b"?2:8,!I||I==L?oe:W}),I&&(L=I,B=B.replace(T,"$1").replace(D,"0.$1")),U!=B))return new V(B,L);if(V.DEBUG)throw Error(s+"Not a"+(I?" base "+I:"")+" number: "+U);N.s=null}N.c=N.e=null}})();function Oe(k,T,D,M){var F,N,U,O,I,L,B,W=k.c,oe=d;if(W){e:{for(F=1,O=W[0];O>=10;O/=10,F++);if(N=T-F,N<0)N+=l,U=T,I=W[L=0],B=o(I/oe[F-U-1]%10);else if(L=r((N+1)/l),L>=W.length)if(M){for(;W.length<=L;W.push(0));I=B=0,F=1,N%=l,U=N-l+1}else break e;else{for(I=O=W[L],F=1;O>=10;O/=10,F++);N%=l,U=N-l+F,B=U<0?0:o(I/oe[F-U-1]%10)}if(M=M||T<0||W[L+1]!=null||(U<0?I:I%oe[F-U-1]),M=D<4?(B||M)&&(D==0||D==(k.s<0?3:2)):B>5||B==5&&(D==4||M||D==6&&(N>0?U>0?I/oe[F-U]:0:W[L-1])%10&1||D==(k.s<0?8:7)),T<1||!W[0])return W.length=0,M?(T-=k.e+1,W[0]=oe[(l-T%l)%l],k.e=-T||0):W[0]=k.e=0,k;if(N==0?(W.length=L,O=1,L--):(W.length=L+1,O=oe[l-N],W[L]=U>0?o(I/oe[F-U]%oe[U])*O:0),M)for(;;)if(L==0){for(N=1,U=W[0];U>=10;U/=10,N++);for(U=W[0]+=O,O=1;U>=10;U/=10,O++);N!=O&&(k.e++,W[0]==u&&(W[0]=1));break}else{if(W[L]+=O,W[L]!=u)break;W[L--]=0,O=1}for(N=W.length;W[--N]===0;W.pop());}k.e>ie?k.c=k.e=null:k.e<se&&(k.c=[k.e=0])}return k}function Ue(k){var T,D=k.e;return D===null?k.toString():(T=y(k.c),T=D<=Q||D>=ee?b(T,D):S(T,D,"0"),k.s<0?"-"+T:T)}return P.absoluteValue=P.abs=function(){var k=new V(this);return k.s<0&&(k.s=1),k},P.comparedTo=function(k,T){return g(this,new V(k,T))},P.decimalPlaces=P.dp=function(k,T){var D,M,F,N=this;if(k!=null)return _(k,0,m),T==null?T=Y:_(T,0,8),Oe(new V(N),k+N.e+1,T);if(!(D=N.c))return null;if(M=((F=D.length-1)-w(this.e/l))*l,F=D[F])for(;F%10==0;F/=10,M--);return M<0&&(M=0),M},P.dividedBy=P.div=function(k,T){return R(this,new V(k,T),q,Y)},P.dividedToIntegerBy=P.idiv=function(k,T){return R(this,new V(k,T),0,1)},P.exponentiatedBy=P.pow=function(k,T){var D,M,F,N,U,O,I,L,B,W=this;if(k=new V(k),k.c&&!k.isInteger())throw Error(s+"Exponent not an integer: "+Ue(k));if(T!=null&&(T=new V(T)),O=k.e>14,!W.c||!W.c[0]||W.c[0]==1&&!W.e&&W.c.length==1||!k.c||!k.c[0])return B=new V(Math.pow(+Ue(W),O?k.s*(2-E(k)):+Ue(k))),T?B.mod(T):B;if(I=k.s<0,T){if(T.c?!T.c[0]:!T.s)return new V(NaN);M=!I&&W.isInteger()&&T.isInteger(),M&&(W=W.mod(T))}else{if(k.e>9&&(W.e>0||W.e<-1||(W.e==0?W.c[0]>1||O&&W.c[1]>=24e7:W.c[0]<8e13||O&&W.c[0]<=9999975e7)))return N=W.s<0&&E(k)?-0:0,W.e>-1&&(N=1/N),new V(I?1/N:N);Z&&(N=r(Z/l+2))}for(O?(D=new V(.5),I&&(k.s=1),L=E(k)):(F=Math.abs(+Ue(k)),L=F%2),B=new V(K);;){if(L){if(B=B.times(W),!B.c)break;N?B.c.length>N&&(B.c.length=N):M&&(B=B.mod(T))}if(F){if(F=o(F/2),F===0)break;L=F%2}else if(k=k.times(D),Oe(k,k.e+1,1),k.e>14)L=E(k);else{if(F=+Ue(k),F===0)break;L=F%2}W=W.times(W),N?W.c&&W.c.length>N&&(W.c.length=N):M&&(W=W.mod(T))}return M?B:(I&&(B=K.div(B)),T?B.mod(T):N?Oe(B,Z,Y,U):B)},P.integerValue=function(k){var T=new V(this);return k==null?k=Y:_(k,0,8),Oe(T,T.e+1,k)},P.isEqualTo=P.eq=function(k,T){return g(this,new V(k,T))===0},P.isFinite=function(){return!!this.c},P.isGreaterThan=P.gt=function(k,T){return g(this,new V(k,T))>0},P.isGreaterThanOrEqualTo=P.gte=function(k,T){return(T=g(this,new V(k,T)))===1||T===0},P.isInteger=function(){return!!this.c&&w(this.e/l)>this.c.length-2},P.isLessThan=P.lt=function(k,T){return g(this,new V(k,T))<0},P.isLessThanOrEqualTo=P.lte=function(k,T){return(T=g(this,new V(k,T)))===-1||T===0},P.isNaN=function(){return!this.s},P.isNegative=function(){return this.s<0},P.isPositive=function(){return this.s>0},P.isZero=function(){return!!this.c&&this.c[0]==0},P.minus=function(k,T){var D,M,F,N,U=this,O=U.s;if(k=new V(k,T),T=k.s,!O||!T)return new V(NaN);if(O!=T)return k.s=-T,U.plus(k);var I=U.e/l,L=k.e/l,B=U.c,W=k.c;if(!I||!L){if(!B||!W)return B?(k.s=-T,k):new V(W?U:NaN);if(!B[0]||!W[0])return W[0]?(k.s=-T,k):new V(B[0]?U:Y==3?-0:0)}if(I=w(I),L=w(L),B=B.slice(),O=I-L){for((N=O<0)?(O=-O,F=B):(L=I,F=W),F.reverse(),T=O;T--;F.push(0));F.reverse()}else for(M=(N=(O=B.length)<(T=W.length))?O:T,O=T=0;T<M;T++)if(B[T]!=W[T]){N=B[T]<W[T];break}if(N&&(F=B,B=W,W=F,k.s=-k.s),T=(M=W.length)-(D=B.length),T>0)for(;T--;B[D++]=0);for(T=u-1;M>O;){if(B[--M]<W[M]){for(D=M;D&&!B[--D];B[D]=T);--B[D],B[M]+=u}B[M]-=W[M]}for(;B[0]==0;B.splice(0,1),--L);return B[0]?ve(k,B,L):(k.s=Y==3?-1:1,k.c=[k.e=0],k)},P.modulo=P.mod=function(k,T){var D,M,F=this;return k=new V(k,T),!F.c||!k.s||k.c&&!k.c[0]?new V(NaN):!k.c||F.c&&!F.c[0]?new V(F):(J==9?(M=k.s,k.s=1,D=R(F,k,0,3),k.s=M,D.s*=M):D=R(F,k,0,J),k=F.minus(D.times(k)),!k.c[0]&&J==1&&(k.s=F.s),k)},P.multipliedBy=P.times=function(k,T){var D,M,F,N,U,O,I,L,B,W,oe,ae,Se,Ie,Me,Ae=this,Te=Ae.c,qe=(k=new V(k,T)).c;if(!Te||!qe||!Te[0]||!qe[0])return!Ae.s||!k.s||Te&&!Te[0]&&!qe||qe&&!qe[0]&&!Te?k.c=k.e=k.s=null:(k.s*=Ae.s,!Te||!qe?k.c=k.e=null:(k.c=[0],k.e=0)),k;for(M=w(Ae.e/l)+w(k.e/l),k.s*=Ae.s,I=Te.length,W=qe.length,I<W&&(Se=Te,Te=qe,qe=Se,F=I,I=W,W=F),F=I+W,Se=[];F--;Se.push(0));for(Ie=u,Me=h,F=W;--F>=0;){for(D=0,oe=qe[F]%Me,ae=qe[F]/Me|0,U=I,N=F+U;N>F;)L=Te[--U]%Me,B=Te[U]/Me|0,O=ae*L+B*oe,L=oe*L+O%Me*Me+Se[N]+D,D=(L/Ie|0)+(O/Me|0)+ae*B,Se[N--]=L%Ie;Se[N]=D}return D?++M:Se.splice(0,1),ve(k,Se,M)},P.negated=function(){var k=new V(this);return k.s=-k.s||null,k},P.plus=function(k,T){var D,M=this,F=M.s;if(k=new V(k,T),T=k.s,!F||!T)return new V(NaN);if(F!=T)return k.s=-T,M.minus(k);var N=M.e/l,U=k.e/l,O=M.c,I=k.c;if(!N||!U){if(!O||!I)return new V(F/0);if(!O[0]||!I[0])return I[0]?k:new V(O[0]?M:F*0)}if(N=w(N),U=w(U),O=O.slice(),F=N-U){for(F>0?(U=N,D=I):(F=-F,D=O),D.reverse();F--;D.push(0));D.reverse()}for(F=O.length,T=I.length,F-T<0&&(D=I,I=O,O=D,T=F),F=0;T;)F=(O[--T]=O[T]+I[T]+F)/u|0,O[T]=u===O[T]?0:O[T]%u;return F&&(O=[F].concat(O),++U),ve(k,O,U)},P.precision=P.sd=function(k,T){var D,M,F,N=this;if(k!=null&&k!==!!k)return _(k,1,m),T==null?T=Y:_(T,0,8),Oe(new V(N),k,T);if(!(D=N.c))return null;if(F=D.length-1,M=F*l+1,F=D[F]){for(;F%10==0;F/=10,M--);for(F=D[0];F>=10;F/=10,M++);}return k&&N.e+1>M&&(M=N.e+1),M},P.shiftedBy=function(k){return _(k,-f,f),this.times("1e"+k)},P.squareRoot=P.sqrt=function(){var k,T,D,M,F,N=this,U=N.c,O=N.s,I=N.e,L=q+4,B=new V("0.5");if(O!==1||!U||!U[0])return new V(!O||O<0&&(!U||U[0])?NaN:U?N:1/0);if(O=Math.sqrt(+Ue(N)),O==0||O==1/0?(T=y(U),(T.length+I)%2==0&&(T+="0"),O=Math.sqrt(+T),I=w((I+1)/2)-(I<0||I%2),O==1/0?T="5e"+I:(T=O.toExponential(),T=T.slice(0,T.indexOf("e")+1)+I),D=new V(T)):D=new V(O+""),D.c[0]){for(I=D.e,O=I+L,O<3&&(O=0);;)if(F=D,D=B.times(F.plus(R(N,F,L,1))),y(F.c).slice(0,O)===(T=y(D.c)).slice(0,O))if(D.e<I&&--O,T=T.slice(O-3,O+1),T=="9999"||!M&&T=="4999"){if(!M&&(Oe(F,F.e+q+2,0),F.times(F).eq(N))){D=F;break}L+=4,O+=4,M=1}else{(!+T||!+T.slice(1)&&T.charAt(0)=="5")&&(Oe(D,D.e+q+2,1),k=!D.times(D).eq(N));break}}return Oe(D,D.e+q+1,Y,k)},P.toExponential=function(k,T){return k!=null&&(_(k,0,m),k++),ue(this,k,T,1)},P.toFixed=function(k,T){return k!=null&&(_(k,0,m),k=k+this.e+1),ue(this,k,T)},P.toFormat=function(k,T,D){var M,F=this;if(D==null)k!=null&&T&&typeof T=="object"?(D=T,T=null):k&&typeof k=="object"?(D=k,k=T=null):D=ce;else if(typeof D!="object")throw Error(s+"Argument not an object: "+D);if(M=F.toFixed(k,T),F.c){var N,U=M.split("."),O=+D.groupSize,I=+D.secondaryGroupSize,L=D.groupSeparator||"",B=U[0],W=U[1],oe=F.s<0,ae=oe?B.slice(1):B,Se=ae.length;if(I&&(N=O,O=I,I=N,Se-=N),O>0&&Se>0){for(N=Se%O||O,B=ae.substr(0,N);N<Se;N+=O)B+=L+ae.substr(N,O);I>0&&(B+=L+ae.slice(N)),oe&&(B="-"+B)}M=W?B+(D.decimalSeparator||"")+((I=+D.fractionGroupSize)?W.replace(new RegExp("\\d{"+I+"}\\B","g"),"$&"+(D.fractionGroupSeparator||"")):W):B}return(D.prefix||"")+M+(D.suffix||"")},P.toFraction=function(k){var T,D,M,F,N,U,O,I,L,B,W,oe,ae=this,Se=ae.c;if(k!=null&&(O=new V(k),!O.isInteger()&&(O.c||O.s!==1)||O.lt(K)))throw Error(s+"Argument "+(O.isInteger()?"out of range: ":"not an integer: ")+Ue(O));if(!Se)return new V(ae);for(T=new V(K),L=D=new V(K),M=I=new V(K),oe=y(Se),N=T.e=oe.length-ae.e-1,T.c[0]=d[(U=N%l)<0?l+U:U],k=!k||O.comparedTo(T)>0?N>0?T:L:O,U=ie,ie=1/0,O=new V(oe),I.c[0]=0;B=R(O,T,0,1),F=D.plus(B.times(M)),F.comparedTo(k)!=1;)D=M,M=F,L=I.plus(B.times(F=L)),I=F,T=O.minus(B.times(F=T)),O=F;return F=R(k.minus(D),M,0,1),I=I.plus(F.times(L)),D=D.plus(F.times(M)),I.s=L.s=ae.s,N=N*2,W=R(L,M,N,Y).minus(ae).abs().comparedTo(R(I,D,N,Y).minus(ae).abs())<1?[L,M]:[I,D],ie=U,W},P.toNumber=function(){return+Ue(this)},P.toPrecision=function(k,T){return k!=null&&_(k,1,m),ue(this,k,T,2)},P.toString=function(k){var T,D=this,M=D.s,F=D.e;return F===null?M?(T="Infinity",M<0&&(T="-"+T)):T="NaN":(k==null?T=F<=Q||F>=ee?b(y(D.c),F):S(y(D.c),F,"0"):k===10&&we?(D=Oe(new V(D),q+F+1,Y),T=S(y(D.c),D.e,"0")):(_(k,2,je.length,"Base"),T=$(S(y(D.c),F,"0"),10,k,M,!0)),M<0&&D.c[0]&&(T="-"+T)),T},P.valueOf=P.toJSON=function(){return Ue(this)},P._isBigNumber=!0,v!=null&&V.set(v),V}function w(v){var R=v|0;return v>0||v===R?R:R-1}function y(v){for(var R,$,H=1,P=v.length,K=v[0]+"";H<P;){for(R=v[H++]+"",$=l-R.length;$--;R="0"+R);K+=R}for(P=K.length;K.charCodeAt(--P)===48;);return K.slice(0,P+1||1)}function g(v,R){var $,H,P=v.c,K=R.c,q=v.s,Y=R.s,Q=v.e,ee=R.e;if(!q||!Y)return null;if($=P&&!P[0],H=K&&!K[0],$||H)return $?H?0:-Y:q;if(q!=Y)return q;if($=q<0,H=Q==ee,!P||!K)return H?0:!P^$?1:-1;if(!H)return Q>ee^$?1:-1;for(Y=(Q=P.length)<(ee=K.length)?Q:ee,q=0;q<Y;q++)if(P[q]!=K[q])return P[q]>K[q]^$?1:-1;return Q==ee?0:Q>ee^$?1:-1}function _(v,R,$,H){if(v<R||v>$||v!==o(v))throw Error(s+(H||"Argument")+(typeof v=="number"?v<R||v>$?" out of range: ":" not an integer: ":" not a primitive number: ")+String(v))}function E(v){var R=v.c.length-1;return w(v.e/l)==R&&v.c[R]%2!=0}function b(v,R){return(v.length>1?v.charAt(0)+"."+v.slice(1):v)+(R<0?"e":"e+")+R}function S(v,R,$){var H,P;if(R<0){for(P=$+".";++R;P+=$);v=P+v}else if(H=v.length,++R>H){for(P=$,R-=H;--R;P+=$);v+=P}else R<H&&(v=v.slice(0,R)+"."+v.slice(R));return v}e=C(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof Ui<"u"&&Ui.exports?Ui.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(hg)});var yg=X((sP,gg)=>{var pg=Wc(),mg=gg.exports;(function(){"use strict";function t(f){return f<10?"0"+f:f}var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,r,o,s={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},a;function u(f){return n.lastIndex=0,n.test(f)?'"'+f.replace(n,function(d){var h=s[d];return typeof h=="string"?h:"\\u"+("0000"+d.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+f+'"'}function l(f,d){var h,m,C,w,y=r,g,_=d[f],E=_!=null&&(_ instanceof pg||pg.isBigNumber(_));switch(_&&typeof _=="object"&&typeof _.toJSON=="function"&&(_=_.toJSON(f)),typeof a=="function"&&(_=a.call(d,f,_)),typeof _){case"string":return E?_:u(_);case"number":return isFinite(_)?String(_):"null";case"boolean":case"null":case"bigint":return String(_);case"object":if(!_)return"null";if(r+=o,g=[],Object.prototype.toString.apply(_)==="[object Array]"){for(w=_.length,h=0;h<w;h+=1)g[h]=l(h,_)||"null";return C=g.length===0?"[]":r?`[
|
|
43
|
+
`}yield r}static#s;static#i;static async#a(){return this.#s||=(await Promise.resolve().then(()=>Ln(pm()))).HttpsProxyAgent,this.#s}static async#u(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(ug(),ag))).default,this.#i}static mergeHeaders(e,...n){e=e instanceof Headers?e:new Headers(e);for(let r of n)(r instanceof Headers?r:new Headers(r)).forEach((s,a)=>{a==="set-cookie"?e.append(a,s):e.set(a,s)});return e}};Zr.Gaxios=ji;Xr=ji});var Xe=X(it=>{"use strict";var rk=it&&it.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),ok=it&&it.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&rk(e,t,n)};Object.defineProperty(it,"__esModule",{value:!0});it.instance=it.Gaxios=it.GaxiosError=void 0;it.request=ik;var fg=dg();Object.defineProperty(it,"Gaxios",{enumerable:!0,get:function(){return fg.Gaxios}});var sk=Cc();Object.defineProperty(it,"GaxiosError",{enumerable:!0,get:function(){return sk.GaxiosError}});ok(kc(),it);it.instance=new fg.Gaxios;async function ik(t){return it.instance.request(t)}});var Wc=X((hg,Ui)=>{(function(t){"use strict";var e,n=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,r=Math.ceil,o=Math.floor,s="[BigNumber Error] ",a=s+"Number primitive has more than 15 significant digits: ",u=1e14,l=14,f=9007199254740991,d=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],h=1e7,m=1e9;function C(T){var R,$,H,P=V.prototype={constructor:V,toString:null,valueOf:null},K=new V(1),q=20,Y=4,Q=-7,ee=21,se=-1e7,ue=1e7,pe=!1,J=1,Z=0,ce={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},je="0123456789abcdefghijklmnopqrstuvwxyz",we=!0;function V(k,v){var D,M,F,N,U,O,I,L,B=this;if(!(B instanceof V))return new V(k,v);if(v==null){if(k&&k._isBigNumber===!0){B.s=k.s,!k.c||k.e>ue?B.c=B.e=null:k.e<se?B.c=[B.e=0]:(B.e=k.e,B.c=k.c.slice());return}if((O=typeof k=="number")&&k*0==0){if(B.s=1/k<0?(k=-k,-1):1,k===~~k){for(N=0,U=k;U>=10;U/=10,N++);N>ue?B.c=B.e=null:(B.e=N,B.c=[k]);return}L=String(k)}else{if(!n.test(L=String(k)))return H(B,L,O);B.s=L.charCodeAt(0)==45?(L=L.slice(1),-1):1}(N=L.indexOf("."))>-1&&(L=L.replace(".","")),(U=L.search(/e/i))>0?(N<0&&(N=U),N+=+L.slice(U+1),L=L.substring(0,U)):N<0&&(N=L.length)}else{if(_(v,2,je.length,"Base"),v==10&&we)return B=new V(k),Oe(B,q+B.e+1,Y);if(L=String(k),O=typeof k=="number"){if(k*0!=0)return H(B,L,O,v);if(B.s=1/k<0?(L=L.slice(1),-1):1,V.DEBUG&&L.replace(/^0\.0*|\./,"").length>15)throw Error(a+k)}else B.s=L.charCodeAt(0)===45?(L=L.slice(1),-1):1;for(D=je.slice(0,v),N=U=0,I=L.length;U<I;U++)if(D.indexOf(M=L.charAt(U))<0){if(M=="."){if(U>N){N=I;continue}}else if(!F&&(L==L.toUpperCase()&&(L=L.toLowerCase())||L==L.toLowerCase()&&(L=L.toUpperCase()))){F=!0,U=-1,N=0;continue}return H(B,String(k),O,v)}O=!1,L=$(L,v,10,B.s),(N=L.indexOf("."))>-1?L=L.replace(".",""):N=L.length}for(U=0;L.charCodeAt(U)===48;U++);for(I=L.length;L.charCodeAt(--I)===48;);if(L=L.slice(U,++I)){if(I-=U,O&&V.DEBUG&&I>15&&(k>f||k!==o(k)))throw Error(a+B.s*k);if((N=N-U-1)>ue)B.c=B.e=null;else if(N<se)B.c=[B.e=0];else{if(B.e=N,B.c=[],U=(N+1)%l,N<0&&(U+=l),U<I){for(U&&B.c.push(+L.slice(0,U)),I-=l;U<I;)B.c.push(+L.slice(U,U+=l));U=l-(L=L.slice(U)).length}else U-=I;for(;U--;L+="0");B.c.push(+L)}}else B.c=[B.e=0]}V.clone=C,V.ROUND_UP=0,V.ROUND_DOWN=1,V.ROUND_CEIL=2,V.ROUND_FLOOR=3,V.ROUND_HALF_UP=4,V.ROUND_HALF_DOWN=5,V.ROUND_HALF_EVEN=6,V.ROUND_HALF_CEIL=7,V.ROUND_HALF_FLOOR=8,V.EUCLID=9,V.config=V.set=function(k){var v,D;if(k!=null)if(typeof k=="object"){if(k.hasOwnProperty(v="DECIMAL_PLACES")&&(D=k[v],_(D,0,m,v),q=D),k.hasOwnProperty(v="ROUNDING_MODE")&&(D=k[v],_(D,0,8,v),Y=D),k.hasOwnProperty(v="EXPONENTIAL_AT")&&(D=k[v],D&&D.pop?(_(D[0],-m,0,v),_(D[1],0,m,v),Q=D[0],ee=D[1]):(_(D,-m,m,v),Q=-(ee=D<0?-D:D))),k.hasOwnProperty(v="RANGE"))if(D=k[v],D&&D.pop)_(D[0],-m,-1,v),_(D[1],1,m,v),se=D[0],ue=D[1];else if(_(D,-m,m,v),D)se=-(ue=D<0?-D:D);else throw Error(s+v+" cannot be zero: "+D);if(k.hasOwnProperty(v="CRYPTO"))if(D=k[v],D===!!D)if(D)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))pe=D;else throw pe=!D,Error(s+"crypto unavailable");else pe=D;else throw Error(s+v+" not true or false: "+D);if(k.hasOwnProperty(v="MODULO_MODE")&&(D=k[v],_(D,0,9,v),J=D),k.hasOwnProperty(v="POW_PRECISION")&&(D=k[v],_(D,0,m,v),Z=D),k.hasOwnProperty(v="FORMAT"))if(D=k[v],typeof D=="object")ce=D;else throw Error(s+v+" not an object: "+D);if(k.hasOwnProperty(v="ALPHABET"))if(D=k[v],typeof D=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(D))we=D.slice(0,10)=="0123456789",je=D;else throw Error(s+v+" invalid: "+D)}else throw Error(s+"Object expected: "+k);return{DECIMAL_PLACES:q,ROUNDING_MODE:Y,EXPONENTIAL_AT:[Q,ee],RANGE:[se,ue],CRYPTO:pe,MODULO_MODE:J,POW_PRECISION:Z,FORMAT:ce,ALPHABET:je}},V.isBigNumber=function(k){if(!k||k._isBigNumber!==!0)return!1;if(!V.DEBUG)return!0;var v,D,M=k.c,F=k.e,N=k.s;e:if({}.toString.call(M)=="[object Array]"){if((N===1||N===-1)&&F>=-m&&F<=m&&F===o(F)){if(M[0]===0){if(F===0&&M.length===1)return!0;break e}if(v=(F+1)%l,v<1&&(v+=l),String(M[0]).length==v){for(v=0;v<M.length;v++)if(D=M[v],D<0||D>=u||D!==o(D))break e;if(D!==0)return!0}}}else if(M===null&&F===null&&(N===null||N===1||N===-1))return!0;throw Error(s+"Invalid BigNumber: "+k)},V.maximum=V.max=function(){return te(arguments,-1)},V.minimum=V.min=function(){return te(arguments,1)},V.random=(function(){var k=9007199254740992,v=Math.random()*k&2097151?function(){return o(Math.random()*k)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(D){var M,F,N,U,O,I=0,L=[],B=new V(K);if(D==null?D=q:_(D,0,m),U=r(D/l),pe)if(crypto.getRandomValues){for(M=crypto.getRandomValues(new Uint32Array(U*=2));I<U;)O=M[I]*131072+(M[I+1]>>>11),O>=9e15?(F=crypto.getRandomValues(new Uint32Array(2)),M[I]=F[0],M[I+1]=F[1]):(L.push(O%1e14),I+=2);I=U/2}else if(crypto.randomBytes){for(M=crypto.randomBytes(U*=7);I<U;)O=(M[I]&31)*281474976710656+M[I+1]*1099511627776+M[I+2]*4294967296+M[I+3]*16777216+(M[I+4]<<16)+(M[I+5]<<8)+M[I+6],O>=9e15?crypto.randomBytes(7).copy(M,I):(L.push(O%1e14),I+=7);I=U/7}else throw pe=!1,Error(s+"crypto unavailable");if(!pe)for(;I<U;)O=v(),O<9e15&&(L[I++]=O%1e14);for(U=L[--I],D%=l,U&&D&&(O=d[l-D],L[I]=o(U/O)*O);L[I]===0;L.pop(),I--);if(I<0)L=[N=0];else{for(N=-1;L[0]===0;L.splice(0,1),N-=l);for(I=1,O=L[0];O>=10;O/=10,I++);I<l&&(N-=l-I)}return B.e=N,B.c=L,B}})(),V.sum=function(){for(var k=1,v=arguments,D=new V(v[0]);k<v.length;)D=D.plus(v[k++]);return D},$=(function(){var k="0123456789";function v(D,M,F,N){for(var U,O=[0],I,L=0,B=D.length;L<B;){for(I=O.length;I--;O[I]*=M);for(O[0]+=N.indexOf(D.charAt(L++)),U=0;U<O.length;U++)O[U]>F-1&&(O[U+1]==null&&(O[U+1]=0),O[U+1]+=O[U]/F|0,O[U]%=F)}return O.reverse()}return function(D,M,F,N,U){var O,I,L,B,W,oe,ie,Se,Ie=D.indexOf("."),Me=q,Ae=Y;for(Ie>=0&&(B=Z,Z=0,D=D.replace(".",""),Se=new V(M),oe=Se.pow(D.length-Ie),Z=B,Se.c=v(S(y(oe.c),oe.e,"0"),10,F,k),Se.e=Se.c.length),ie=v(D,M,F,U?(O=je,k):(O=k,je)),L=B=ie.length;ie[--B]==0;ie.pop());if(!ie[0])return O.charAt(0);if(Ie<0?--L:(oe.c=ie,oe.e=L,oe.s=N,oe=R(oe,Se,Me,Ae,F),ie=oe.c,W=oe.r,L=oe.e),I=L+Me+1,Ie=ie[I],B=F/2,W=W||I<0||ie[I+1]!=null,W=Ae<4?(Ie!=null||W)&&(Ae==0||Ae==(oe.s<0?3:2)):Ie>B||Ie==B&&(Ae==4||W||Ae==6&&ie[I-1]&1||Ae==(oe.s<0?8:7)),I<1||!ie[0])D=W?S(O.charAt(1),-Me,O.charAt(0)):O.charAt(0);else{if(ie.length=I,W)for(--F;++ie[--I]>F;)ie[I]=0,I||(++L,ie=[1].concat(ie));for(B=ie.length;!ie[--B];);for(Ie=0,D="";Ie<=B;D+=O.charAt(ie[Ie++]));D=S(D,L,O.charAt(0))}return D}})(),R=(function(){function k(M,F,N){var U,O,I,L,B=0,W=M.length,oe=F%h,ie=F/h|0;for(M=M.slice();W--;)I=M[W]%h,L=M[W]/h|0,U=ie*I+L*oe,O=oe*I+U%h*h+B,B=(O/N|0)+(U/h|0)+ie*L,M[W]=O%N;return B&&(M=[B].concat(M)),M}function v(M,F,N,U){var O,I;if(N!=U)I=N>U?1:-1;else for(O=I=0;O<N;O++)if(M[O]!=F[O]){I=M[O]>F[O]?1:-1;break}return I}function D(M,F,N,U){for(var O=0;N--;)M[N]-=O,O=M[N]<F[N]?1:0,M[N]=O*U+M[N]-F[N];for(;!M[0]&&M.length>1;M.splice(0,1));}return function(M,F,N,U,O){var I,L,B,W,oe,ie,Se,Ie,Me,Ae,ve,qe,Cr,wr,Er,ft,fn,Ze=M.s==F.s?1:-1,ze=M.c,De=F.c;if(!ze||!ze[0]||!De||!De[0])return new V(!M.s||!F.s||(ze?De&&ze[0]==De[0]:!De)?NaN:ze&&ze[0]==0||!De?Ze*0:Ze/0);for(Ie=new V(Ze),Me=Ie.c=[],L=M.e-F.e,Ze=N+L+1,O||(O=u,L=w(M.e/l)-w(F.e/l),Ze=Ze/l|0),B=0;De[B]==(ze[B]||0);B++);if(De[B]>(ze[B]||0)&&L--,Ze<0)Me.push(1),W=!0;else{for(wr=ze.length,ft=De.length,B=0,Ze+=2,oe=o(O/(De[0]+1)),oe>1&&(De=k(De,oe,O),ze=k(ze,oe,O),ft=De.length,wr=ze.length),Cr=ft,Ae=ze.slice(0,ft),ve=Ae.length;ve<ft;Ae[ve++]=0);fn=De.slice(),fn=[0].concat(fn),Er=De[0],De[1]>=O/2&&Er++;do{if(oe=0,I=v(De,Ae,ft,ve),I<0){if(qe=Ae[0],ft!=ve&&(qe=qe*O+(Ae[1]||0)),oe=o(qe/Er),oe>1)for(oe>=O&&(oe=O-1),ie=k(De,oe,O),Se=ie.length,ve=Ae.length;v(ie,Ae,Se,ve)==1;)oe--,D(ie,ft<Se?fn:De,Se,O),Se=ie.length,I=1;else oe==0&&(I=oe=1),ie=De.slice(),Se=ie.length;if(Se<ve&&(ie=[0].concat(ie)),D(Ae,ie,ve,O),ve=Ae.length,I==-1)for(;v(De,Ae,ft,ve)<1;)oe++,D(Ae,ft<ve?fn:De,ve,O),ve=Ae.length}else I===0&&(oe++,Ae=[0]);Me[B++]=oe,Ae[0]?Ae[ve++]=ze[Cr]||0:(Ae=[ze[Cr]],ve=1)}while((Cr++<wr||Ae[0]!=null)&&Ze--);W=Ae[0]!=null,Me[0]||Me.splice(0,1)}if(O==u){for(B=1,Ze=Me[0];Ze>=10;Ze/=10,B++);Oe(Ie,N+(Ie.e=B+L*l-1)+1,U,W)}else Ie.e=L,Ie.r=+W;return Ie}})();function ae(k,v,D,M){var F,N,U,O,I;if(D==null?D=Y:_(D,0,8),!k.c)return k.toString();if(F=k.c[0],U=k.e,v==null)I=y(k.c),I=M==1||M==2&&(U<=Q||U>=ee)?b(I,U):S(I,U,"0");else if(k=Oe(new V(k),v,D),N=k.e,I=y(k.c),O=I.length,M==1||M==2&&(v<=N||N<=Q)){for(;O<v;I+="0",O++);I=b(I,N)}else if(v-=U+(M===2&&N>U),I=S(I,N,"0"),N+1>O){if(--v>0)for(I+=".";v--;I+="0");}else if(v+=N-O,v>0)for(N+1==O&&(I+=".");v--;I+="0");return k.s<0&&F?"-"+I:I}function te(k,v){for(var D,M,F=1,N=new V(k[0]);F<k.length;F++)M=new V(k[F]),(!M.s||(D=g(N,M))===v||D===0&&N.s===v)&&(N=M);return N}function Te(k,v,D){for(var M=1,F=v.length;!v[--F];v.pop());for(F=v[0];F>=10;F/=10,M++);return(D=M+D*l-1)>ue?k.c=k.e=null:D<se?k.c=[k.e=0]:(k.e=D,k.c=v),k}H=(function(){var k=/^(-?)0([xbo])(?=\w[\w.]*$)/i,v=/^([^.]+)\.$/,D=/^\.([^.]+)$/,M=/^-?(Infinity|NaN)$/,F=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(N,U,O,I){var L,B=O?U:U.replace(F,"");if(M.test(B))N.s=isNaN(B)?null:B<0?-1:1;else{if(!O&&(B=B.replace(k,function(W,oe,ie){return L=(ie=ie.toLowerCase())=="x"?16:ie=="b"?2:8,!I||I==L?oe:W}),I&&(L=I,B=B.replace(v,"$1").replace(D,"0.$1")),U!=B))return new V(B,L);if(V.DEBUG)throw Error(s+"Not a"+(I?" base "+I:"")+" number: "+U);N.s=null}N.c=N.e=null}})();function Oe(k,v,D,M){var F,N,U,O,I,L,B,W=k.c,oe=d;if(W){e:{for(F=1,O=W[0];O>=10;O/=10,F++);if(N=v-F,N<0)N+=l,U=v,I=W[L=0],B=o(I/oe[F-U-1]%10);else if(L=r((N+1)/l),L>=W.length)if(M){for(;W.length<=L;W.push(0));I=B=0,F=1,N%=l,U=N-l+1}else break e;else{for(I=O=W[L],F=1;O>=10;O/=10,F++);N%=l,U=N-l+F,B=U<0?0:o(I/oe[F-U-1]%10)}if(M=M||v<0||W[L+1]!=null||(U<0?I:I%oe[F-U-1]),M=D<4?(B||M)&&(D==0||D==(k.s<0?3:2)):B>5||B==5&&(D==4||M||D==6&&(N>0?U>0?I/oe[F-U]:0:W[L-1])%10&1||D==(k.s<0?8:7)),v<1||!W[0])return W.length=0,M?(v-=k.e+1,W[0]=oe[(l-v%l)%l],k.e=-v||0):W[0]=k.e=0,k;if(N==0?(W.length=L,O=1,L--):(W.length=L+1,O=oe[l-N],W[L]=U>0?o(I/oe[F-U]%oe[U])*O:0),M)for(;;)if(L==0){for(N=1,U=W[0];U>=10;U/=10,N++);for(U=W[0]+=O,O=1;U>=10;U/=10,O++);N!=O&&(k.e++,W[0]==u&&(W[0]=1));break}else{if(W[L]+=O,W[L]!=u)break;W[L--]=0,O=1}for(N=W.length;W[--N]===0;W.pop());}k.e>ue?k.c=k.e=null:k.e<se&&(k.c=[k.e=0])}return k}function Ue(k){var v,D=k.e;return D===null?k.toString():(v=y(k.c),v=D<=Q||D>=ee?b(v,D):S(v,D,"0"),k.s<0?"-"+v:v)}return P.absoluteValue=P.abs=function(){var k=new V(this);return k.s<0&&(k.s=1),k},P.comparedTo=function(k,v){return g(this,new V(k,v))},P.decimalPlaces=P.dp=function(k,v){var D,M,F,N=this;if(k!=null)return _(k,0,m),v==null?v=Y:_(v,0,8),Oe(new V(N),k+N.e+1,v);if(!(D=N.c))return null;if(M=((F=D.length-1)-w(this.e/l))*l,F=D[F])for(;F%10==0;F/=10,M--);return M<0&&(M=0),M},P.dividedBy=P.div=function(k,v){return R(this,new V(k,v),q,Y)},P.dividedToIntegerBy=P.idiv=function(k,v){return R(this,new V(k,v),0,1)},P.exponentiatedBy=P.pow=function(k,v){var D,M,F,N,U,O,I,L,B,W=this;if(k=new V(k),k.c&&!k.isInteger())throw Error(s+"Exponent not an integer: "+Ue(k));if(v!=null&&(v=new V(v)),O=k.e>14,!W.c||!W.c[0]||W.c[0]==1&&!W.e&&W.c.length==1||!k.c||!k.c[0])return B=new V(Math.pow(+Ue(W),O?k.s*(2-E(k)):+Ue(k))),v?B.mod(v):B;if(I=k.s<0,v){if(v.c?!v.c[0]:!v.s)return new V(NaN);M=!I&&W.isInteger()&&v.isInteger(),M&&(W=W.mod(v))}else{if(k.e>9&&(W.e>0||W.e<-1||(W.e==0?W.c[0]>1||O&&W.c[1]>=24e7:W.c[0]<8e13||O&&W.c[0]<=9999975e7)))return N=W.s<0&&E(k)?-0:0,W.e>-1&&(N=1/N),new V(I?1/N:N);Z&&(N=r(Z/l+2))}for(O?(D=new V(.5),I&&(k.s=1),L=E(k)):(F=Math.abs(+Ue(k)),L=F%2),B=new V(K);;){if(L){if(B=B.times(W),!B.c)break;N?B.c.length>N&&(B.c.length=N):M&&(B=B.mod(v))}if(F){if(F=o(F/2),F===0)break;L=F%2}else if(k=k.times(D),Oe(k,k.e+1,1),k.e>14)L=E(k);else{if(F=+Ue(k),F===0)break;L=F%2}W=W.times(W),N?W.c&&W.c.length>N&&(W.c.length=N):M&&(W=W.mod(v))}return M?B:(I&&(B=K.div(B)),v?B.mod(v):N?Oe(B,Z,Y,U):B)},P.integerValue=function(k){var v=new V(this);return k==null?k=Y:_(k,0,8),Oe(v,v.e+1,k)},P.isEqualTo=P.eq=function(k,v){return g(this,new V(k,v))===0},P.isFinite=function(){return!!this.c},P.isGreaterThan=P.gt=function(k,v){return g(this,new V(k,v))>0},P.isGreaterThanOrEqualTo=P.gte=function(k,v){return(v=g(this,new V(k,v)))===1||v===0},P.isInteger=function(){return!!this.c&&w(this.e/l)>this.c.length-2},P.isLessThan=P.lt=function(k,v){return g(this,new V(k,v))<0},P.isLessThanOrEqualTo=P.lte=function(k,v){return(v=g(this,new V(k,v)))===-1||v===0},P.isNaN=function(){return!this.s},P.isNegative=function(){return this.s<0},P.isPositive=function(){return this.s>0},P.isZero=function(){return!!this.c&&this.c[0]==0},P.minus=function(k,v){var D,M,F,N,U=this,O=U.s;if(k=new V(k,v),v=k.s,!O||!v)return new V(NaN);if(O!=v)return k.s=-v,U.plus(k);var I=U.e/l,L=k.e/l,B=U.c,W=k.c;if(!I||!L){if(!B||!W)return B?(k.s=-v,k):new V(W?U:NaN);if(!B[0]||!W[0])return W[0]?(k.s=-v,k):new V(B[0]?U:Y==3?-0:0)}if(I=w(I),L=w(L),B=B.slice(),O=I-L){for((N=O<0)?(O=-O,F=B):(L=I,F=W),F.reverse(),v=O;v--;F.push(0));F.reverse()}else for(M=(N=(O=B.length)<(v=W.length))?O:v,O=v=0;v<M;v++)if(B[v]!=W[v]){N=B[v]<W[v];break}if(N&&(F=B,B=W,W=F,k.s=-k.s),v=(M=W.length)-(D=B.length),v>0)for(;v--;B[D++]=0);for(v=u-1;M>O;){if(B[--M]<W[M]){for(D=M;D&&!B[--D];B[D]=v);--B[D],B[M]+=u}B[M]-=W[M]}for(;B[0]==0;B.splice(0,1),--L);return B[0]?Te(k,B,L):(k.s=Y==3?-1:1,k.c=[k.e=0],k)},P.modulo=P.mod=function(k,v){var D,M,F=this;return k=new V(k,v),!F.c||!k.s||k.c&&!k.c[0]?new V(NaN):!k.c||F.c&&!F.c[0]?new V(F):(J==9?(M=k.s,k.s=1,D=R(F,k,0,3),k.s=M,D.s*=M):D=R(F,k,0,J),k=F.minus(D.times(k)),!k.c[0]&&J==1&&(k.s=F.s),k)},P.multipliedBy=P.times=function(k,v){var D,M,F,N,U,O,I,L,B,W,oe,ie,Se,Ie,Me,Ae=this,ve=Ae.c,qe=(k=new V(k,v)).c;if(!ve||!qe||!ve[0]||!qe[0])return!Ae.s||!k.s||ve&&!ve[0]&&!qe||qe&&!qe[0]&&!ve?k.c=k.e=k.s=null:(k.s*=Ae.s,!ve||!qe?k.c=k.e=null:(k.c=[0],k.e=0)),k;for(M=w(Ae.e/l)+w(k.e/l),k.s*=Ae.s,I=ve.length,W=qe.length,I<W&&(Se=ve,ve=qe,qe=Se,F=I,I=W,W=F),F=I+W,Se=[];F--;Se.push(0));for(Ie=u,Me=h,F=W;--F>=0;){for(D=0,oe=qe[F]%Me,ie=qe[F]/Me|0,U=I,N=F+U;N>F;)L=ve[--U]%Me,B=ve[U]/Me|0,O=ie*L+B*oe,L=oe*L+O%Me*Me+Se[N]+D,D=(L/Ie|0)+(O/Me|0)+ie*B,Se[N--]=L%Ie;Se[N]=D}return D?++M:Se.splice(0,1),Te(k,Se,M)},P.negated=function(){var k=new V(this);return k.s=-k.s||null,k},P.plus=function(k,v){var D,M=this,F=M.s;if(k=new V(k,v),v=k.s,!F||!v)return new V(NaN);if(F!=v)return k.s=-v,M.minus(k);var N=M.e/l,U=k.e/l,O=M.c,I=k.c;if(!N||!U){if(!O||!I)return new V(F/0);if(!O[0]||!I[0])return I[0]?k:new V(O[0]?M:F*0)}if(N=w(N),U=w(U),O=O.slice(),F=N-U){for(F>0?(U=N,D=I):(F=-F,D=O),D.reverse();F--;D.push(0));D.reverse()}for(F=O.length,v=I.length,F-v<0&&(D=I,I=O,O=D,v=F),F=0;v;)F=(O[--v]=O[v]+I[v]+F)/u|0,O[v]=u===O[v]?0:O[v]%u;return F&&(O=[F].concat(O),++U),Te(k,O,U)},P.precision=P.sd=function(k,v){var D,M,F,N=this;if(k!=null&&k!==!!k)return _(k,1,m),v==null?v=Y:_(v,0,8),Oe(new V(N),k,v);if(!(D=N.c))return null;if(F=D.length-1,M=F*l+1,F=D[F]){for(;F%10==0;F/=10,M--);for(F=D[0];F>=10;F/=10,M++);}return k&&N.e+1>M&&(M=N.e+1),M},P.shiftedBy=function(k){return _(k,-f,f),this.times("1e"+k)},P.squareRoot=P.sqrt=function(){var k,v,D,M,F,N=this,U=N.c,O=N.s,I=N.e,L=q+4,B=new V("0.5");if(O!==1||!U||!U[0])return new V(!O||O<0&&(!U||U[0])?NaN:U?N:1/0);if(O=Math.sqrt(+Ue(N)),O==0||O==1/0?(v=y(U),(v.length+I)%2==0&&(v+="0"),O=Math.sqrt(+v),I=w((I+1)/2)-(I<0||I%2),O==1/0?v="5e"+I:(v=O.toExponential(),v=v.slice(0,v.indexOf("e")+1)+I),D=new V(v)):D=new V(O+""),D.c[0]){for(I=D.e,O=I+L,O<3&&(O=0);;)if(F=D,D=B.times(F.plus(R(N,F,L,1))),y(F.c).slice(0,O)===(v=y(D.c)).slice(0,O))if(D.e<I&&--O,v=v.slice(O-3,O+1),v=="9999"||!M&&v=="4999"){if(!M&&(Oe(F,F.e+q+2,0),F.times(F).eq(N))){D=F;break}L+=4,O+=4,M=1}else{(!+v||!+v.slice(1)&&v.charAt(0)=="5")&&(Oe(D,D.e+q+2,1),k=!D.times(D).eq(N));break}}return Oe(D,D.e+q+1,Y,k)},P.toExponential=function(k,v){return k!=null&&(_(k,0,m),k++),ae(this,k,v,1)},P.toFixed=function(k,v){return k!=null&&(_(k,0,m),k=k+this.e+1),ae(this,k,v)},P.toFormat=function(k,v,D){var M,F=this;if(D==null)k!=null&&v&&typeof v=="object"?(D=v,v=null):k&&typeof k=="object"?(D=k,k=v=null):D=ce;else if(typeof D!="object")throw Error(s+"Argument not an object: "+D);if(M=F.toFixed(k,v),F.c){var N,U=M.split("."),O=+D.groupSize,I=+D.secondaryGroupSize,L=D.groupSeparator||"",B=U[0],W=U[1],oe=F.s<0,ie=oe?B.slice(1):B,Se=ie.length;if(I&&(N=O,O=I,I=N,Se-=N),O>0&&Se>0){for(N=Se%O||O,B=ie.substr(0,N);N<Se;N+=O)B+=L+ie.substr(N,O);I>0&&(B+=L+ie.slice(N)),oe&&(B="-"+B)}M=W?B+(D.decimalSeparator||"")+((I=+D.fractionGroupSize)?W.replace(new RegExp("\\d{"+I+"}\\B","g"),"$&"+(D.fractionGroupSeparator||"")):W):B}return(D.prefix||"")+M+(D.suffix||"")},P.toFraction=function(k){var v,D,M,F,N,U,O,I,L,B,W,oe,ie=this,Se=ie.c;if(k!=null&&(O=new V(k),!O.isInteger()&&(O.c||O.s!==1)||O.lt(K)))throw Error(s+"Argument "+(O.isInteger()?"out of range: ":"not an integer: ")+Ue(O));if(!Se)return new V(ie);for(v=new V(K),L=D=new V(K),M=I=new V(K),oe=y(Se),N=v.e=oe.length-ie.e-1,v.c[0]=d[(U=N%l)<0?l+U:U],k=!k||O.comparedTo(v)>0?N>0?v:L:O,U=ue,ue=1/0,O=new V(oe),I.c[0]=0;B=R(O,v,0,1),F=D.plus(B.times(M)),F.comparedTo(k)!=1;)D=M,M=F,L=I.plus(B.times(F=L)),I=F,v=O.minus(B.times(F=v)),O=F;return F=R(k.minus(D),M,0,1),I=I.plus(F.times(L)),D=D.plus(F.times(M)),I.s=L.s=ie.s,N=N*2,W=R(L,M,N,Y).minus(ie).abs().comparedTo(R(I,D,N,Y).minus(ie).abs())<1?[L,M]:[I,D],ue=U,W},P.toNumber=function(){return+Ue(this)},P.toPrecision=function(k,v){return k!=null&&_(k,1,m),ae(this,k,v,2)},P.toString=function(k){var v,D=this,M=D.s,F=D.e;return F===null?M?(v="Infinity",M<0&&(v="-"+v)):v="NaN":(k==null?v=F<=Q||F>=ee?b(y(D.c),F):S(y(D.c),F,"0"):k===10&&we?(D=Oe(new V(D),q+F+1,Y),v=S(y(D.c),D.e,"0")):(_(k,2,je.length,"Base"),v=$(S(y(D.c),F,"0"),10,k,M,!0)),M<0&&D.c[0]&&(v="-"+v)),v},P.valueOf=P.toJSON=function(){return Ue(this)},P._isBigNumber=!0,T!=null&&V.set(T),V}function w(T){var R=T|0;return T>0||T===R?R:R-1}function y(T){for(var R,$,H=1,P=T.length,K=T[0]+"";H<P;){for(R=T[H++]+"",$=l-R.length;$--;R="0"+R);K+=R}for(P=K.length;K.charCodeAt(--P)===48;);return K.slice(0,P+1||1)}function g(T,R){var $,H,P=T.c,K=R.c,q=T.s,Y=R.s,Q=T.e,ee=R.e;if(!q||!Y)return null;if($=P&&!P[0],H=K&&!K[0],$||H)return $?H?0:-Y:q;if(q!=Y)return q;if($=q<0,H=Q==ee,!P||!K)return H?0:!P^$?1:-1;if(!H)return Q>ee^$?1:-1;for(Y=(Q=P.length)<(ee=K.length)?Q:ee,q=0;q<Y;q++)if(P[q]!=K[q])return P[q]>K[q]^$?1:-1;return Q==ee?0:Q>ee^$?1:-1}function _(T,R,$,H){if(T<R||T>$||T!==o(T))throw Error(s+(H||"Argument")+(typeof T=="number"?T<R||T>$?" out of range: ":" not an integer: ":" not a primitive number: ")+String(T))}function E(T){var R=T.c.length-1;return w(T.e/l)==R&&T.c[R]%2!=0}function b(T,R){return(T.length>1?T.charAt(0)+"."+T.slice(1):T)+(R<0?"e":"e+")+R}function S(T,R,$){var H,P;if(R<0){for(P=$+".";++R;P+=$);T=P+T}else if(H=T.length,++R>H){for(P=$,R-=H;--R;P+=$);T+=P}else R<H&&(T=T.slice(0,R)+"."+T.slice(R));return T}e=C(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof Ui<"u"&&Ui.exports?Ui.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(hg)});var yg=X((sP,gg)=>{var pg=Wc(),mg=gg.exports;(function(){"use strict";function t(f){return f<10?"0"+f:f}var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,r,o,s={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},a;function u(f){return n.lastIndex=0,n.test(f)?'"'+f.replace(n,function(d){var h=s[d];return typeof h=="string"?h:"\\u"+("0000"+d.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+f+'"'}function l(f,d){var h,m,C,w,y=r,g,_=d[f],E=_!=null&&(_ instanceof pg||pg.isBigNumber(_));switch(_&&typeof _=="object"&&typeof _.toJSON=="function"&&(_=_.toJSON(f)),typeof a=="function"&&(_=a.call(d,f,_)),typeof _){case"string":return E?_:u(_);case"number":return isFinite(_)?String(_):"null";case"boolean":case"null":case"bigint":return String(_);case"object":if(!_)return"null";if(r+=o,g=[],Object.prototype.toString.apply(_)==="[object Array]"){for(w=_.length,h=0;h<w;h+=1)g[h]=l(h,_)||"null";return C=g.length===0?"[]":r?`[
|
|
44
44
|
`+r+g.join(`,
|
|
45
45
|
`+r)+`
|
|
46
46
|
`+y+"]":"["+g.join(",")+"]",r=y,C}if(a&&typeof a=="object")for(w=a.length,h=0;h<w;h+=1)typeof a[h]=="string"&&(m=a[h],C=l(m,_),C&&g.push(u(m)+(r?": ":":")+C));else Object.keys(_).forEach(function(b){var S=l(b,_);S&&g.push(u(b)+(r?": ":":")+S)});return C=g.length===0?"{}":r?`{
|
|
47
47
|
`+r+g.join(`,
|
|
48
48
|
`+r)+`
|
|
49
49
|
`+y+"}":"{"+g.join(",")+"}",r=y,C}}typeof mg.stringify!="function"&&(mg.stringify=function(f,d,h){var m;if(r="",o="",typeof h=="number")for(m=0;m<h;m+=1)o+=" ";else typeof h=="string"&&(o=h);if(a=d,d&&typeof d!="function"&&(typeof d!="object"||typeof d.length!="number"))throw new Error("JSON.stringify");return l("",{"":f})})})()});var bg=X((iP,_g)=>{var $i=null,ak=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,uk=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/,ck=function(t){"use strict";var e={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(t!=null){if(t.strict===!0&&(e.strict=!0),t.storeAsString===!0&&(e.storeAsString=!0),e.alwaysParseAsBig=t.alwaysParseAsBig===!0?t.alwaysParseAsBig:!1,e.useNativeBigInt=t.useNativeBigInt===!0?t.useNativeBigInt:!1,typeof t.constructorAction<"u")if(t.constructorAction==="error"||t.constructorAction==="ignore"||t.constructorAction==="preserve")e.constructorAction=t.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${t.constructorAction}`);if(typeof t.protoAction<"u")if(t.protoAction==="error"||t.protoAction==="ignore"||t.protoAction==="preserve")e.protoAction=t.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${t.protoAction}`)}var n,r,o={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
50
|
-
`,r:"\r",t:" "},s,a=function(y){throw{name:"SyntaxError",message:y,at:n,text:s}},u=function(y){return y&&y!==r&&a("Expected '"+y+"' instead of '"+r+"'"),r=s.charAt(n),n+=1,r},l=function(){var y,g="";for(r==="-"&&(g="-",u("-"));r>="0"&&r<="9";)g+=r,u();if(r===".")for(g+=".";u()&&r>="0"&&r<="9";)g+=r;if(r==="e"||r==="E")for(g+=r,u(),(r==="-"||r==="+")&&(g+=r,u());r>="0"&&r<="9";)g+=r,u();if(y=+g,!isFinite(y))a("Bad number");else return $i==null&&($i=Wc()),g.length>15?e.storeAsString?g:e.useNativeBigInt?BigInt(g):new $i(g):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(y):new $i(y):y},f=function(){var y,g,_="",E;if(r==='"')for(var b=n;u();){if(r==='"')return n-1>b&&(_+=s.substring(b,n-1)),u(),_;if(r==="\\"){if(n-1>b&&(_+=s.substring(b,n-1)),u(),r==="u"){for(E=0,g=0;g<4&&(y=parseInt(u(),16),!!isFinite(y));g+=1)E=E*16+y;_+=String.fromCharCode(E)}else if(typeof o[r]=="string")_+=o[r];else break;b=n}}a("Bad string")},d=function(){for(;r&&r<=" ";)u()},h=function(){switch(r){case"t":return u("t"),u("r"),u("u"),u("e"),!0;case"f":return u("f"),u("a"),u("l"),u("s"),u("e"),!1;case"n":return u("n"),u("u"),u("l"),u("l"),null}a("Unexpected '"+r+"'")},m,C=function(){var y=[];if(r==="["){if(u("["),d(),r==="]")return u("]"),y;for(;r;){if(y.push(m()),d(),r==="]")return u("]"),y;u(","),d()}}a("Bad array")},w=function(){var y,g=Object.create(null);if(r==="{"){if(u("{"),d(),r==="}")return u("}"),g;for(;r;){if(y=f(),d(),u(":"),e.strict===!0&&Object.hasOwnProperty.call(g,y)&&a('Duplicate key "'+y+'"'),ak.test(y)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?m():g[y]=m():uk.test(y)===!0?e.constructorAction==="error"?a("Object contains forbidden constructor property"):e.constructorAction==="ignore"?m():g[y]=m():g[y]=m(),d(),r==="}")return u("}"),g;u(","),d()}}a("Bad object")};return m=function(){switch(d(),r){case"{":return w();case"[":return C();case'"':return f();case"-":return l();default:return r>="0"&&r<="9"?l():h()}},function(y,g){var _;return s=y+"",n=0,r=" ",_=m(),d(),r&&a("Syntax error"),typeof g=="function"?(function E(b,S){var v,R,$=b[S];return $&&typeof $=="object"&&Object.keys($).forEach(function(H){R=E($,H),R!==void 0?$[H]=R:delete $[H]}),g.call(b,S,$)})({"":_},""):_}};_g.exports=ck});var Eg=X((aP,qi)=>{var Cg=yg().stringify,wg=bg();qi.exports=function(t){return{parse:wg(t),stringify:Cg}};qi.exports.parse=wg();qi.exports.stringify=Cg});var Gc=X(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.GCE_LINUX_BIOS_PATHS=void 0;zt.isGoogleCloudServerless=Sg;zt.isGoogleComputeEngineLinux=Tg;zt.isGoogleComputeEngineMACAddress=vg;zt.isGoogleComputeEngine=Dg;zt.detectGCPResidency=dk;var kg=re("fs"),Ag=re("os");zt.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var lk=/^42:01/;function Sg(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function Tg(){if((0,Ag.platform)()!=="linux")return!1;try{(0,kg.statSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,kg.readFileSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function vg(){let t=(0,Ag.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:n}of e)if(lk.test(n))return!0}return!1}function Dg(){return Tg()||vg()}function dk(){return Sg()||Dg()}});var Rg=X(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.Colours=void 0;var nt=class t{static isEnabled(e){return e&&e.isTTY&&(typeof e.getColorDepth=="function"?e.getColorDepth()>2:!0)}static refresh(){t.enabled=t.isEnabled(process==null?void 0:process.stderr),this.enabled?(t.reset="\x1B[0m",t.bright="\x1B[1m",t.dim="\x1B[2m",t.red="\x1B[31m",t.green="\x1B[32m",t.yellow="\x1B[33m",t.blue="\x1B[34m",t.magenta="\x1B[35m",t.cyan="\x1B[36m",t.white="\x1B[37m",t.grey="\x1B[90m"):(t.reset="",t.bright="",t.dim="",t.red="",t.green="",t.yellow="",t.blue="",t.magenta="",t.cyan="",t.white="",t.grey="")}};zi.Colours=nt;nt.enabled=!1;nt.reset="";nt.bright="";nt.dim="";nt.red="";nt.green="";nt.yellow="";nt.blue="";nt.magenta="";nt.cyan="";nt.white="";nt.grey="";nt.refresh()});var Fg=X(Re=>{"use strict";var fk=Re&&Re.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),hk=Re&&Re.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),xg=Re&&Re.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(n){var r=[];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[r.length]=o);return r},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var r=t(e),o=0;o<r.length;o++)r[o]!=="default"&&fk(n,e,r[o]);return hk(n,e),n}})();Object.defineProperty(Re,"__esModule",{value:!0});Re.env=Re.DebugLogBackendBase=Re.placeholder=Re.AdhocDebugLogger=Re.LogSeverity=void 0;Re.getNodeBackend=Vc;Re.getDebugBackend=mk;Re.getStructuredBackend=gk;Re.setBackend=yk;Re.log=Pg;var pk=re("events"),Jo=xg(re("process")),Og=xg(re("util")),yt=Rg(),Ht;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(Ht||(Re.LogSeverity=Ht={}));var Vo=class extends pk.EventEmitter{constructor(e,n){super(),this.namespace=e,this.upstream=n,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(r,o)=>this.on(r,o)}),this.func.debug=(...r)=>this.invokeSeverity(Ht.DEBUG,...r),this.func.info=(...r)=>this.invokeSeverity(Ht.INFO,...r),this.func.warn=(...r)=>this.invokeSeverity(Ht.WARNING,...r),this.func.error=(...r)=>this.invokeSeverity(Ht.ERROR,...r),this.func.sublog=r=>Pg(r,this.func)}invoke(e,...n){if(this.upstream)try{this.upstream(e,...n)}catch{}try{this.emit("log",e,n)}catch{}}invokeSeverity(e,...n){this.invoke({severity:e},...n)}};Re.AdhocDebugLogger=Vo;Re.placeholder=new Vo("",()=>{}).func;var eo=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let n=(e=Jo.env[Re.env.nodeEnables])!==null&&e!==void 0?e:"*";n==="all"&&(n="*"),this.filters=n.split(",")}log(e,n,...r){try{this.filtersSet||(this.setFilters(),this.filtersSet=!0);let o=this.cached.get(e);o||(o=this.makeLogger(e),this.cached.set(e,o)),o(n,...r)}catch(o){console.error(o)}}};Re.DebugLogBackendBase=eo;var Jc=class extends eo{constructor(){super(...arguments),this.enabledRegexp=/.*/g}isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){return this.enabledRegexp.test(e)?(n,...r)=>{var o;let s=`${yt.Colours.green}${e}${yt.Colours.reset}`,a=`${yt.Colours.yellow}${Jo.pid}${yt.Colours.reset}`,u;switch(n.severity){case Ht.ERROR:u=`${yt.Colours.red}${n.severity}${yt.Colours.reset}`;break;case Ht.INFO:u=`${yt.Colours.magenta}${n.severity}${yt.Colours.reset}`;break;case Ht.WARNING:u=`${yt.Colours.yellow}${n.severity}${yt.Colours.reset}`;break;default:u=(o=n.severity)!==null&&o!==void 0?o:Ht.DEFAULT;break}let l=Og.formatWithOptions({colors:yt.Colours.enabled},...r),f=Object.assign({},n);delete f.severity;let d=Object.getOwnPropertyNames(f).length?JSON.stringify(f):"",h=d?`${yt.Colours.grey}${d}${yt.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",a,s,u,l,d?` ${h}`:"")}:()=>{}}setFilters(){let n=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${n}$`,"i")}};function Vc(){return new Jc}var Kc=class extends eo{constructor(e){super(),this.debugPkg=e}makeLogger(e){let n=this.debugPkg(e);return(r,...o)=>{n(o[0],...o.slice(1))}}setFilters(){var e;let n=(e=Jo.env.NODE_DEBUG)!==null&&e!==void 0?e:"";Jo.env.NODE_DEBUG=`${n}${n?",":""}${this.filters.join(",")}`}};function mk(t){return new Kc(t)}var Yc=class extends eo{constructor(e){var n;super(),this.upstream=(n=e)!==null&&n!==void 0?n:void 0}makeLogger(e){var n;let r=(n=this.upstream)===null||n===void 0?void 0:n.makeLogger(e);return(o,...s)=>{var a;let u=(a=o.severity)!==null&&a!==void 0?a:Ht.INFO,l=Object.assign({severity:u,message:Og.format(...s)},o),f=JSON.stringify(l);r?r(o,f):console.log("%s",f)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}};function gk(t){return new Yc(t)}Re.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var Qc=new Map,_t;function yk(t){_t=t,Qc.clear()}function Pg(t,e){if(!_t&&!Jo.env[Re.env.nodeEnables]||!t)return Re.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let n=Qc.get(t);if(n)return n.func;if(_t===null)return Re.placeholder;_t===void 0&&(_t=Vc());let r=(()=>{let o;return new Vo(t,(a,...u)=>{if(o!==_t){if(_t===null)return;_t===void 0&&(_t=Vc()),o=_t}_t?.log(t,a,...u)})})();return Qc.set(t,r),r.func}});var Xc=X(mr=>{"use strict";var _k=mr&&mr.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),bk=mr&&mr.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&_k(e,t,n)};Object.defineProperty(mr,"__esModule",{value:!0});bk(Fg(),mr)});var Yo=X(he=>{"use strict";var Ng=he&&he.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),Ck=he&&he.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),wk=he&&he.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(n){var r=[];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[r.length]=o);return r},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var r=t(e),o=0;o<r.length;o++)r[o]!=="default"&&Ng(n,e,r[o]);return Ck(n,e),n}})(),Ek=he&&he.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Ng(e,t,n)};Object.defineProperty(he,"__esModule",{value:!0});he.gcpResidencyCache=he.METADATA_SERVER_DETECTION=he.HEADERS=he.HEADER_VALUE=he.HEADER_NAME=he.SECONDARY_HOST_ADDRESS=he.HOST_ADDRESS=he.BASE_PATH=void 0;he.instance=Dk;he.project=Rk;he.universe=xk;he.bulk=Ok;he.isAvailable=Fk;he.resetIsAvailableCache=Ik;he.getGCPResidency=tl;he.setGCPResidency=Bg;he.requestTimeout=Mg;var Zc=Xe(),kk=Eg(),Ak=Gc(),Sk=wk(Xc());he.BASE_PATH="/computeMetadata/v1";he.HOST_ADDRESS="http://169.254.169.254";he.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";he.HEADER_NAME="Metadata-Flavor";he.HEADER_VALUE="Google";he.HEADERS=Object.freeze({[he.HEADER_NAME]:he.HEADER_VALUE});var Ig=Sk.log("gcp-metadata");he.METADATA_SERVER_DETECTION=Object.freeze({"assume-present":"don't try to ping the metadata server, but assume it's present",none:"don't try to ping the metadata server, but don't try to use it either","bios-only":"treat the result of a BIOS probe as canonical (don't fall back to pinging)","ping-only":"skip the BIOS probe, and go straight to pinging"});function el(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||he.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(he.BASE_PATH,t).href}function Tk(t){Object.keys(t).forEach(e=>{switch(e){case"params":case"property":case"headers":break;case"qs":throw new Error("'qs' is not a valid configuration option. Please use 'params' instead.");default:throw new Error(`'${e}' is not a valid configuration option.`)}})}async function Ko(t,e={},n=3,r=!1){let o=new Headers(he.HEADERS),s="",a={};if(typeof t=="object"){let h=t;new Headers(h.headers).forEach((m,C)=>o.set(C,m)),s=h.metadataKey,a=h.params||a,n=h.noResponseRetries||n,r=h.fastFail||r}else s=t;typeof e=="string"?s+=`/${e}`:(Tk(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((h,m)=>o.set(m,h)),a=e.params||a);let u=r?vk:Zc.request,l={url:`${el()}/${s}`,headers:o,retryConfig:{noResponseRetries:n},params:a,responseType:"text",timeout:Mg()};Ig.info("instance request %j",l);let f=await u(l);Ig.info("instance metadata is %s",f.data);let d=f.headers.get(he.HEADER_NAME);if(d!==he.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${he.HEADER_NAME} header. Expected '${he.HEADER_VALUE}', got ${d?`'${d}'`:"no header"}`);if(typeof f.data=="string")try{return kk.parse(f.data)}catch{}return f.data}async function vk(t){let e={...t,url:t.url?.toString().replace(el(),el(he.SECONDARY_HOST_ADDRESS))},n=(0,Zc.request)(t),r=(0,Zc.request)(e);return Promise.any([n,r])}function Dk(t){return Ko("instance",t)}function Rk(t){return Ko("project",t)}function xk(t){return Ko("universe",t)}async function Ok(t){let e={};return await Promise.all(t.map(n=>(async()=>{let r=await Ko(n),o=n.metadataKey;e[o]=r})())),e}function Pk(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var Hi;async function Fk(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in he.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(he.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return tl();case"ping-only":}}try{return Hi===void 0&&(Hi=Ko("instance",void 0,Pk(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await Hi,!0}catch(t){let e=t;if(process.env.DEBUG_AUTH&&console.info(e),e.type==="request-timeout"||e.response&&e.response.status===404)return!1;if(!(e.response&&e.response.status===404)&&(!e.code||!["EHOSTDOWN","EHOSTUNREACH","ENETUNREACH","ENOENT","ENOTFOUND","ECONNREFUSED"].includes(e.code.toString()))){let n="UNKNOWN";e.code&&(n=e.code.toString()),process.emitWarning(`received unexpected error = ${e.message} code = ${n}`,"MetadataLookupWarning")}return!1}}function Ik(){Hi=void 0}he.gcpResidencyCache=null;function tl(){return he.gcpResidencyCache===null&&Bg(),he.gcpResidencyCache}function Bg(t=null){he.gcpResidencyCache=t!==null?t:(0,Ak.detectGCPResidency)()}function Mg(){return tl()?0:3e3}Ek(Gc(),he)});var Ug=X(Wi=>{"use strict";Wi.byteLength=Bk;Wi.toByteArray=Lk;Wi.fromByteArray=$k;var en=[],xt=[],Nk=typeof Uint8Array<"u"?Uint8Array:Array,nl="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(gr=0,Lg=nl.length;gr<Lg;++gr)en[gr]=nl[gr],xt[nl.charCodeAt(gr)]=gr;var gr,Lg;xt[45]=62;xt[95]=63;function jg(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");n===-1&&(n=e);var r=n===e?0:4-n%4;return[n,r]}function Bk(t){var e=jg(t),n=e[0],r=e[1];return(n+r)*3/4-r}function Mk(t,e,n){return(e+n)*3/4-n}function Lk(t){var e,n=jg(t),r=n[0],o=n[1],s=new Nk(Mk(t,r,o)),a=0,u=o>0?r-4:r,l;for(l=0;l<u;l+=4)e=xt[t.charCodeAt(l)]<<18|xt[t.charCodeAt(l+1)]<<12|xt[t.charCodeAt(l+2)]<<6|xt[t.charCodeAt(l+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return o===2&&(e=xt[t.charCodeAt(l)]<<2|xt[t.charCodeAt(l+1)]>>4,s[a++]=e&255),o===1&&(e=xt[t.charCodeAt(l)]<<10|xt[t.charCodeAt(l+1)]<<4|xt[t.charCodeAt(l+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function jk(t){return en[t>>18&63]+en[t>>12&63]+en[t>>6&63]+en[t&63]}function Uk(t,e,n){for(var r,o=[],s=e;s<n;s+=3)r=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(t[s+2]&255),o.push(jk(r));return o.join("")}function $k(t){for(var e,n=t.length,r=n%3,o=[],s=16383,a=0,u=n-r;a<u;a+=s)o.push(Uk(t,a,a+s>u?u:a+s));return r===1?(e=t[n-1],o.push(en[e>>2]+en[e<<4&63]+"==")):r===2&&(e=(t[n-2]<<8)+t[n-1],o.push(en[e>>10]+en[e>>4&63]+en[e<<2&63]+"=")),o.join("")}});var ol=X(rl=>{"use strict";Object.defineProperty(rl,"__esModule",{value:!0});rl.fromArrayBufferToHex=qk;function qk(t){return Array.from(new Uint8Array(t)).map(n=>n.toString(16).padStart(2,"0")).join("")}});var $g=X(Gi=>{"use strict";Object.defineProperty(Gi,"__esModule",{value:!0});Gi.BrowserCrypto=void 0;var to=Ug(),zk=ol(),sl=class t{constructor(){if(typeof window>"u"||window.crypto===void 0||window.crypto.subtle===void 0)throw new Error("SubtleCrypto not found. Make sure it's an https:// website.")}async sha256DigestBase64(e){let n=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",n);return to.fromByteArray(new Uint8Array(r))}randomBytesBase64(e){let n=new Uint8Array(e);return window.crypto.getRandomValues(n),to.fromByteArray(n)}static padBase64(e){for(;e.length%4!==0;)e+="=";return e}async verify(e,n,r){let o={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},s=new TextEncoder().encode(n),a=to.toByteArray(t.padBase64(r)),u=await window.crypto.subtle.importKey("jwk",e,o,!0,["verify"]);return await window.crypto.subtle.verify(o,u,a,s)}async sign(e,n){let r={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},o=new TextEncoder().encode(n),s=await window.crypto.subtle.importKey("jwk",e,r,!0,["sign"]),a=await window.crypto.subtle.sign(r,s,o);return to.fromByteArray(new Uint8Array(a))}decodeBase64StringUtf8(e){let n=to.toByteArray(t.padBase64(e));return new TextDecoder().decode(n)}encodeBase64StringUtf8(e){let n=new TextEncoder().encode(e);return to.fromByteArray(n)}async sha256DigestHex(e){let n=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",n);return(0,zk.fromArrayBufferToHex)(r)}async signWithHmacSha256(e,n){let r=typeof e=="string"?e:String.fromCharCode(...new Uint16Array(e)),o=new TextEncoder,s=await window.crypto.subtle.importKey("raw",o.encode(r),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return window.crypto.subtle.sign("HMAC",s,o.encode(n))}};Gi.BrowserCrypto=sl});var qg=X(Ji=>{"use strict";Object.defineProperty(Ji,"__esModule",{value:!0});Ji.NodeCrypto=void 0;var no=re("crypto"),il=class{async sha256DigestBase64(e){return no.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return no.randomBytes(e).toString("base64")}async verify(e,n,r){let o=no.createVerify("RSA-SHA256");return o.update(n),o.end(),o.verify(e,r,"base64")}async sign(e,n){let r=no.createSign("RSA-SHA256");return r.update(n),r.end(),r.sign(e,"base64")}decodeBase64StringUtf8(e){return Buffer.from(e,"base64").toString("utf-8")}encodeBase64StringUtf8(e){return Buffer.from(e,"utf-8").toString("base64")}async sha256DigestHex(e){return no.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,n){let r=typeof e=="string"?e:Wk(e);return Hk(no.createHmac("sha256",r).update(n).digest())}};Ji.NodeCrypto=il;function Hk(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function Wk(t){return Buffer.from(t)}});var Qo=X(An=>{"use strict";var Gk=An&&An.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),Jk=An&&An.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Gk(e,t,n)};Object.defineProperty(An,"__esModule",{value:!0});An.createCrypto=Yk;An.hasBrowserCrypto=zg;var Vk=$g(),Kk=qg();Jk(ol(),An);function Yk(){return zg()?new Vk.BrowserCrypto:new Kk.NodeCrypto}function zg(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var ro=X((al,Wg)=>{var Vi=re("buffer"),tn=Vi.Buffer;function Hg(t,e){for(var n in t)e[n]=t[n]}tn.from&&tn.alloc&&tn.allocUnsafe&&tn.allocUnsafeSlow?Wg.exports=Vi:(Hg(Vi,al),al.Buffer=yr);function yr(t,e,n){return tn(t,e,n)}yr.prototype=Object.create(tn.prototype);Hg(tn,yr);yr.from=function(t,e,n){if(typeof t=="number")throw new TypeError("Argument must not be a number");return tn(t,e,n)};yr.alloc=function(t,e,n){if(typeof t!="number")throw new TypeError("Argument must be a number");var r=tn(t);return e!==void 0?typeof n=="string"?r.fill(e,n):r.fill(e):r.fill(0),r};yr.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return tn(t)};yr.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Vi.SlowBuffer(t)}});var Jg=X((_P,Gg)=>{"use strict";function ul(t){var e=(t/8|0)+(t%8===0?0:1);return e}var Qk={ES256:ul(256),ES384:ul(384),ES512:ul(521)};function Xk(t){var e=Qk[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}Gg.exports=Xk});var cl=X((bP,Zg)=>{"use strict";var Ki=ro().Buffer,Kg=Jg(),Yi=128,Yg=0,Zk=32,eA=16,tA=2,Qg=eA|Zk|Yg<<6,Qi=tA|Yg<<6;function nA(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Xg(t){if(Ki.isBuffer(t))return t;if(typeof t=="string")return Ki.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function rA(t,e){t=Xg(t);var n=Kg(e),r=n+1,o=t.length,s=0;if(t[s++]!==Qg)throw new Error('Could not find expected "seq"');var a=t[s++];if(a===(Yi|1)&&(a=t[s++]),o-s<a)throw new Error('"seq" specified length of "'+a+'", only "'+(o-s)+'" remaining');if(t[s++]!==Qi)throw new Error('Could not find expected "int" for "r"');var u=t[s++];if(o-s-2<u)throw new Error('"r" specified length of "'+u+'", only "'+(o-s-2)+'" available');if(r<u)throw new Error('"r" specified length of "'+u+'", max of "'+r+'" is acceptable');var l=s;if(s+=u,t[s++]!==Qi)throw new Error('Could not find expected "int" for "s"');var f=t[s++];if(o-s!==f)throw new Error('"s" specified length of "'+f+'", expected "'+(o-s)+'"');if(r<f)throw new Error('"s" specified length of "'+f+'", max of "'+r+'" is acceptable');var d=s;if(s+=f,s!==o)throw new Error('Expected to consume entire buffer, but "'+(o-s)+'" bytes remain');var h=n-u,m=n-f,C=Ki.allocUnsafe(h+u+m+f);for(s=0;s<h;++s)C[s]=0;t.copy(C,s,l+Math.max(-h,0),l+u),s=n;for(var w=s;s<w+m;++s)C[s]=0;return t.copy(C,s,d+Math.max(-m,0),d+f),C=C.toString("base64"),C=nA(C),C}function Vg(t,e,n){for(var r=0;e+r<n&&t[e+r]===0;)++r;var o=t[e+r]>=Yi;return o&&--r,r}function oA(t,e){t=Xg(t);var n=Kg(e),r=t.length;if(r!==n*2)throw new TypeError('"'+e+'" signatures must be "'+n*2+'" bytes, saw "'+r+'"');var o=Vg(t,0,n),s=Vg(t,n,t.length),a=n-o,u=n-s,l=2+a+1+1+u,f=l<Yi,d=Ki.allocUnsafe((f?2:3)+l),h=0;return d[h++]=Qg,f?d[h++]=l:(d[h++]=Yi|1,d[h++]=l&255),d[h++]=Qi,d[h++]=a,o<0?(d[h++]=0,h+=t.copy(d,h,0,n)):h+=t.copy(d,h,o,n),d[h++]=Qi,d[h++]=u,s<0?(d[h++]=0,t.copy(d,h,n)):t.copy(d,h,n+s),d}Zg.exports={derToJose:rA,joseToDer:oA}});var Wt=X(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.LRUCache=void 0;Sn.snakeToCamel=ty;Sn.originalOrCamelOptions=uA;Sn.removeUndefinedValuesInObject=cA;Sn.isValidFile=lA;Sn.getWellKnownCertificateConfigFileLocation=dA;var sA=re("fs"),iA=re("os"),ll=re("path"),aA="certificate_config.json",ey="gcloud";function ty(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function uA(t){function e(n){let r=t||{};return r[n]??r[ty(n)]}return{get:e}}var dl=class{capacity;#e=new Map;maxAge;constructor(e){this.capacity=e.capacity,this.maxAge=e.maxAge}#t(e,n){this.#e.delete(e),this.#e.set(e,{value:n,lastAccessed:Date.now()})}set(e,n){this.#t(e,n),this.#n()}get(e){let n=this.#e.get(e);if(n)return this.#t(e,n.value),this.#n(),n.value}#n(){let e=this.maxAge?Date.now()-this.maxAge:0,n=this.#e.entries().next();for(;!n.done&&(this.#e.size>this.capacity||n.value[1].lastAccessed<e);)this.#e.delete(n.value[0]),n=this.#e.entries().next()}};Sn.LRUCache=dl;function cA(t){return Object.entries(t).forEach(([e,n])=>{(n===void 0||n==="undefined")&&delete t[e]}),t}async function lA(t){try{return(await sA.promises.lstat(t)).isFile()}catch{return!1}}function dA(){let t=process.env.CLOUDSDK_CONFIG||(fA()?ll.join(process.env.APPDATA||"",ey):ll.join(process.env.HOME||"",".config",ey));return ll.join(t,aA)}function fA(){return iA.platform().startsWith("win")}});var ny=X((wP,hA)=>{hA.exports={name:"google-auth-library",version:"10.4.0",author:"Google Inc.",description:"Google APIs Authentication Client Library for Node.js",engines:{node:">=18"},main:"./build/src/index.js",types:"./build/src/index.d.ts",repository:"googleapis/google-auth-library-nodejs.git",keywords:["google","api","google apis","client","client library"],dependencies:{"base64-js":"^1.3.0","ecdsa-sig-formatter":"^1.0.11",gaxios:"^7.0.0","gcp-metadata":"^7.0.0","google-logging-utils":"^1.0.0",gtoken:"^8.0.0",jws:"^4.0.0"},devDependencies:{"@types/base64-js":"^1.2.5","@types/jws":"^3.1.0","@types/mocha":"^10.0.10","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","assert-rejects":"^1.0.0",c8:"^10.0.0",codecov:"^3.0.2",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",keypair:"^1.0.4",linkinator:"^6.1.2",mocha:"^11.1.0",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.5","null-loader":"^4.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","ts-loader":"^8.0.0",typescript:"5.8.2",webpack:"^5.21.2","webpack-cli":"^4.0.0"},files:["build/src","!build/src/**/*.map"],scripts:{test:"c8 mocha build/test",clean:"gts clean",prepare:"npm run compile",lint:"gts check --no-inline-config",compile:"tsc -p .",fix:"gts fix",pretest:"npm run compile -- --sourceMap",docs:"jsdoc -c .jsdoc.js","samples-setup":"cd samples/ && npm link ../ && npm run setup && cd ../","samples-test":"cd samples/ && npm link ../ && npm test && cd ../","system-test":"mocha build/system-test --timeout 60000","presystem-test":"npm run compile -- --sourceMap",webpack:"webpack","browser-test":"karma start","docs-test":"linkinator docs","predocs-test":"npm run docs",prelint:"cd samples; npm link ../; npm install"},license:"Apache-2.0"}});var fl=X(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.USER_AGENT=Jn.PRODUCT_NAME=Jn.pkg=void 0;var ry=ny();Jn.pkg=ry;var oy="google-api-nodejs-client";Jn.PRODUCT_NAME=oy;var pA=`${oy}/${ry.version}`;Jn.USER_AGENT=pA});var bt=X(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.AuthClient=Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Gt.DEFAULT_UNIVERSE=void 0;var mA=re("events"),hl=Xe(),gA=Wt(),yA=Xc(),pl=fl();Gt.DEFAULT_UNIVERSE="googleapis.com";Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var ml=class t extends mA.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=Gt.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let n=(0,gA.originalOrCamelOptions)(e);this.apiKey=e.apiKey,this.projectId=n.get("project_id")??null,this.quotaProjectId=n.get("quota_project_id"),this.credentials=n.get("credentials")??{},this.universeDomain=n.get("universe_domain")??Gt.DEFAULT_UNIVERSE,this.transporter=e.transporter??new hl.Gaxios(e.transporterOptions),n.get("useAuthRequestParameters")!==!1&&(this.transporter.interceptors.request.add(t.DEFAULT_REQUEST_INTERCEPTOR),this.transporter.interceptors.response.add(t.DEFAULT_RESPONSE_INTERCEPTOR)),e.eagerRefreshThresholdMillis&&(this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis),this.forceRefreshOnFailure=e.forceRefreshOnFailure??!1}fetch(...e){let n=e[0],r=e[1],o,s=new Headers;return typeof n=="string"?o=new URL(n):n instanceof URL?o=n:n&&n.url&&(o=new URL(n.url)),n&&typeof n=="object"&&"headers"in n&&hl.Gaxios.mergeHeaders(s,n.headers),r&&hl.Gaxios.mergeHeaders(s,new Headers(r.headers)),typeof n=="object"&&!(n instanceof URL)?this.request({...r,...n,headers:s,url:o}):this.request({...r,headers:s,url:o})}setCredentials(e){this.credentials=e}addSharedMetadataHeaders(e){return!e.has("x-goog-user-project")&&this.quotaProjectId&&e.set("x-goog-user-project",this.quotaProjectId),e}addUserProjectAndAuthHeaders(e,n){let r=n.get("x-goog-user-project"),o=n.get("authorization");return r&&e.set("x-goog-user-project",r),o&&e.set("authorization",o),e}static log=(0,yA.log)("auth");static DEFAULT_REQUEST_INTERCEPTOR={resolved:async e=>{if(!e.headers.has("x-goog-api-client")){let r=process.version.replace(/^v/,"");e.headers.set("x-goog-api-client",`gl-node/${r}`)}let n=e.headers.get("User-Agent");n?n.includes(`${pl.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${n} ${pl.USER_AGENT}`):e.headers.set("User-Agent",pl.USER_AGENT);try{let r=e,o=r[t.RequestMethodNameSymbol],s=`${Math.floor(Math.random()*1e3)}`;r[t.RequestLogIdSymbol]=s;let a={url:e.url,headers:e.headers};o?t.log.info("%s [%s] request %j",o,s,a):t.log.info("[%s] request %j",s,a)}catch{}return e}};static DEFAULT_RESPONSE_INTERCEPTOR={resolved:async e=>{try{let n=e.config,r=n[t.RequestMethodNameSymbol],o=n[t.RequestLogIdSymbol];r?t.log.info("%s [%s] response %j",r,o,e.data):t.log.info("[%s] response %j",o,e.data)}catch{}return e},rejected:async e=>{try{let n=e.config,r=n[t.RequestMethodNameSymbol],o=n[t.RequestLogIdSymbol];r?t.log.info("%s [%s] error %j",r,o,e.response?.data):t.log.error("[%s] error %j",o,e.response?.data)}catch{}throw e}};static setMethodName(e,n){try{let r=e;r[t.RequestMethodNameSymbol]=n}catch{}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};Gt.AuthClient=ml});var yl=X(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.LoginTicket=void 0;var gl=class{envelope;payload;constructor(e,n){this.envelope=e,this.payload=n}getEnvelope(){return this.envelope}getPayload(){return this.payload}getUserId(){let e=this.getPayload();return e&&e.sub?e.sub:null}getAttributes(){return{envelope:this.getEnvelope(),payload:this.getPayload()}}};Xi.LoginTicket=gl});var _r=X(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});nn.OAuth2Client=nn.ClientAuthentication=nn.CertificateFormat=nn.CodeChallengeMethod=void 0;var sy=Xe(),_A=re("querystring"),bA=re("stream"),CA=cl(),iy=Wt(),_l=Qo(),oo=bt(),wA=yl(),ay;(function(t){t.Plain="plain",t.S256="S256"})(ay||(nn.CodeChallengeMethod=ay={}));var Tn;(function(t){t.PEM="PEM",t.JWK="JWK"})(Tn||(nn.CertificateFormat=Tn={}));var Xo;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(Xo||(nn.ClientAuthentication=Xo={}));var bl=class t extends oo.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=Tn.PEM;refreshTokenPromises=new Map;endpoints;issuers;clientAuthentication;_clientId;_clientSecret;refreshHandler;constructor(e={},n,r){super(typeof e=="object"?e:{}),typeof e!="object"&&(e={clientId:e,clientSecret:n,redirectUri:r}),this._clientId=e.clientId||e.client_id,this._clientSecret=e.clientSecret||e.client_secret,this.redirectUri=e.redirectUri||e.redirect_uris?.[0],this.endpoints={tokenInfoUrl:"https://oauth2.googleapis.com/tokeninfo",oauth2AuthBaseUrl:"https://accounts.google.com/o/oauth2/v2/auth",oauth2TokenUrl:"https://oauth2.googleapis.com/token",oauth2RevokeUrl:"https://oauth2.googleapis.com/revoke",oauth2FederatedSignonPemCertsUrl:"https://www.googleapis.com/oauth2/v1/certs",oauth2FederatedSignonJwkCertsUrl:"https://www.googleapis.com/oauth2/v3/certs",oauth2IapPublicKeyUrl:"https://www.gstatic.com/iap/verify/public_key",...e.endpoints},this.clientAuthentication=e.clientAuthentication||Xo.ClientSecretPost,this.issuers=e.issuers||["accounts.google.com","https://accounts.google.com",this.universeDomain]}static GOOGLE_TOKEN_INFO_URL="https://oauth2.googleapis.com/tokeninfo";static CLOCK_SKEW_SECS_=300;static DEFAULT_MAX_TOKEN_LIFETIME_SECS_=86400;generateAuthUrl(e={}){if(e.code_challenge_method&&!e.code_challenge)throw new Error("If a code_challenge_method is provided, code_challenge must be included.");return e.response_type=e.response_type||"code",e.client_id=e.client_id||this._clientId,e.redirect_uri=e.redirect_uri||this.redirectUri,Array.isArray(e.scope)&&(e.scope=e.scope.join(" ")),this.endpoints.oauth2AuthBaseUrl.toString()+"?"+_A.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,_l.createCrypto)(),r=e.randomBytesBase64(96).replace(/\+/g,"~").replace(/=/g,"_").replace(/\//g,"-"),s=(await e.sha256DigestBase64(r)).split("=")[0].replace(/\+/g,"-").replace(/\//g,"_");return{codeVerifier:r,codeChallenge:s}}getToken(e,n){let r=typeof e=="string"?{code:e}:e;if(n)this.getTokenAsync(r).then(o=>n(null,o.tokens,o.res),o=>n(o,null,o.response));else return this.getTokenAsync(r)}async getTokenAsync(e){let n=this.endpoints.oauth2TokenUrl.toString(),r=new Headers,o={client_id:e.client_id||this._clientId,code_verifier:e.codeVerifier,code:e.code,grant_type:"authorization_code",redirect_uri:e.redirect_uri||this.redirectUri};if(this.clientAuthentication===Xo.ClientSecretBasic){let l=Buffer.from(`${this._clientId}:${this._clientSecret}`);r.set("authorization",`Basic ${l.toString("base64")}`)}this.clientAuthentication===Xo.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,iy.removeUndefinedValuesInObject)(o)),headers:r};oo.AuthClient.setMethodName(s,"getTokenAsync");let a=await this.transporter.request(s),u=a.data;return a.data&&a.data.expires_in&&(u.expiry_date=new Date().getTime()+a.data.expires_in*1e3,delete u.expires_in),this.emit("tokens",u),{tokens:u,res:a}}async refreshToken(e){if(!e)return this.refreshTokenNoCache(e);if(this.refreshTokenPromises.has(e))return this.refreshTokenPromises.get(e);let n=this.refreshTokenNoCache(e).then(r=>(this.refreshTokenPromises.delete(e),r),r=>{throw this.refreshTokenPromises.delete(e),r});return this.refreshTokenPromises.set(e,n),n}async refreshTokenNoCache(e){if(!e)throw new Error("No refresh token is set.");let n=this.endpoints.oauth2TokenUrl.toString(),r={refresh_token:e,client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token"},o;try{let a={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,iy.removeUndefinedValuesInObject)(r))};oo.AuthClient.setMethodName(a,"refreshTokenNoCache"),o=await this.transporter.request(a)}catch(a){throw a instanceof sy.GaxiosError&&a.message==="invalid_grant"&&a.response?.data&&/ReAuth/i.test(a.response.data.error_description)&&(a.message=JSON.stringify(a.response.data)),a}let s=o.data;return o.data&&o.data.expires_in&&(s.expiry_date=new Date().getTime()+o.data.expires_in*1e3,delete s.expires_in),this.emit("tokens",s),{tokens:s,res:o}}refreshAccessToken(e){if(e)this.refreshAccessTokenAsync().then(n=>e(null,n.credentials,n.res),e);else return this.refreshAccessTokenAsync()}async refreshAccessTokenAsync(){let e=await this.refreshToken(this.credentials.refresh_token),n=e.tokens;return n.refresh_token=this.credentials.refresh_token,this.credentials=n,{credentials:this.credentials,res:e.res}}getAccessToken(e){if(e)this.getAccessTokenAsync().then(n=>e(null,n.token,n.res),e);else return this.getAccessTokenAsync()}async getAccessTokenAsync(){if(!this.credentials.access_token||this.isTokenExpiring()){if(!this.credentials.refresh_token)if(this.refreshHandler){let r=await this.processAndValidateRefreshHandler();if(r?.access_token)return this.setCredentials(r),{token:this.credentials.access_token}}else throw new Error("No refresh token or refresh handler callback is set.");let n=await this.refreshAccessTokenAsync();if(!n.credentials||n.credentials&&!n.credentials.access_token)throw new Error("Could not refresh access token.");return{token:n.credentials.access_token,res:n.res}}else return{token:this.credentials.access_token}}async getRequestHeaders(e){return(await this.getRequestMetadataAsync(e)).headers}async getRequestMetadataAsync(e){let n=this.credentials;if(!n.access_token&&!n.refresh_token&&!this.apiKey&&!this.refreshHandler)throw new Error("No access, refresh token, API key or refresh handler callback is set.");if(n.access_token&&!this.isTokenExpiring()){n.token_type=n.token_type||"Bearer";let u=new Headers({authorization:n.token_type+" "+n.access_token});return{headers:this.addSharedMetadataHeaders(u)}}if(this.refreshHandler){let u=await this.processAndValidateRefreshHandler();if(u?.access_token){this.setCredentials(u);let l=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(l)}}}if(this.apiKey)return{headers:new Headers({"X-Goog-Api-Key":this.apiKey})};let r=null,o=null;try{r=await this.refreshToken(n.refresh_token),o=r.tokens}catch(u){let l=u;throw l.response&&(l.response.status===403||l.response.status===404)&&(l.message=`Could not refresh access token: ${l.message}`),l}let s=this.credentials;s.token_type=s.token_type||"Bearer",o.refresh_token=s.refresh_token,this.credentials=o;let a=new Headers({authorization:s.token_type+" "+o.access_token});return{headers:this.addSharedMetadataHeaders(a),res:r.res}}static getRevokeTokenUrl(e){return new t().getRevokeTokenURL(e).toString()}getRevokeTokenURL(e){let n=new URL(this.endpoints.oauth2RevokeUrl);return n.searchParams.append("token",e),n}revokeToken(e,n){let r={...t.RETRY_CONFIG,url:this.getRevokeTokenURL(e).toString(),method:"POST"};if(oo.AuthClient.setMethodName(r,"revokeToken"),n)this.transporter.request(r).then(o=>n(null,o),n);else return this.transporter.request(r)}revokeCredentials(e){if(e)this.revokeCredentialsAsync().then(n=>e(null,n),e);else return this.revokeCredentialsAsync()}async revokeCredentialsAsync(){let e=this.credentials.access_token;if(this.credentials={},e)return this.revokeToken(e);throw new Error("No access token to revoke.")}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){try{let r=await this.getRequestMetadataAsync();return e.headers=sy.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,r.headers),this.apiKey&&e.headers.set("X-Goog-Api-Key",this.apiKey),await this.transporter.request(e)}catch(r){let o=r.response;if(o){let s=o.status,a=this.credentials&&this.credentials.access_token&&this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure),u=this.credentials&&this.credentials.access_token&&!this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure)&&this.refreshHandler,l=o.config.data instanceof bA.Readable,f=s===401||s===403;if(!n&&f&&!l&&a)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!n&&f&&!l&&u){let d=await this.processAndValidateRefreshHandler();return d?.access_token&&this.setCredentials(d),this.requestAsync(e,!0)}}throw r}}verifyIdToken(e,n){if(n&&typeof n!="function")throw new Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");if(n)this.verifyIdTokenAsync(e).then(r=>n(null,r),n);else return this.verifyIdTokenAsync(e)}async verifyIdTokenAsync(e){if(!e.idToken)throw new Error("The verifyIdToken method requires an ID Token");let n=await this.getFederatedSignonCertsAsync();return await this.verifySignedJwtWithCertsAsync(e.idToken,n.certs,e.audience,this.issuers,e.maxExpiry)}async getTokenInfo(e){let{data:n}=await this.transporter.request({...t.RETRY_CONFIG,method:"POST",headers:{"content-type":"application/x-www-form-urlencoded;charset=UTF-8",authorization:`Bearer ${e}`},url:this.endpoints.tokenInfoUrl.toString()}),r=Object.assign({expiry_date:new Date().getTime()+n.expires_in*1e3,scopes:n.scope.split(" ")},n);return delete r.expires_in,delete r.scope,r}getFederatedSignonCerts(e){if(e)this.getFederatedSignonCertsAsync().then(n=>e(null,n.certs,n.res),e);else return this.getFederatedSignonCertsAsync()}async getFederatedSignonCertsAsync(){let e=new Date().getTime(),n=(0,_l.hasBrowserCrypto)()?Tn.JWK:Tn.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===n)return{certs:this.certificateCache,format:n};let r,o;switch(n){case Tn.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case Tn.JWK:o=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${n}`)}try{let f={...t.RETRY_CONFIG,url:o};oo.AuthClient.setMethodName(f,"getFederatedSignonCertsAsync"),r=await this.transporter.request(f)}catch(f){throw f instanceof Error&&(f.message=`Failed to retrieve verification certificates: ${f.message}`),f}let s=r?.headers.get("cache-control"),a=-1;if(s){let f=/max-age=(?<maxAge>[0-9]+)/.exec(s)?.groups?.maxAge;f&&(a=Number(f)*1e3)}let u={};switch(n){case Tn.PEM:u=r.data;break;case Tn.JWK:for(let f of r.data.keys)u[f.kid]=f;break;default:throw new Error(`Unsupported certificate format ${n}`)}let l=new Date;return this.certificateExpiry=a===-1?null:new Date(l.getTime()+a),this.certificateCache=u,this.certificateCacheFormat=n,{certs:u,format:n,res:r}}getIapPublicKeys(e){if(e)this.getIapPublicKeysAsync().then(n=>e(null,n.pubkeys,n.res),e);else return this.getIapPublicKeysAsync()}async getIapPublicKeysAsync(){let e,n=this.endpoints.oauth2IapPublicKeyUrl.toString();try{let r={...t.RETRY_CONFIG,url:n};oo.AuthClient.setMethodName(r,"getIapPublicKeysAsync"),e=await this.transporter.request(r)}catch(r){throw r instanceof Error&&(r.message=`Failed to retrieve verification certificates: ${r.message}`),r}return{pubkeys:e.data,res:e}}verifySignedJwtWithCerts(){throw new Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.")}async verifySignedJwtWithCertsAsync(e,n,r,o,s){let a=(0,_l.createCrypto)();s||(s=t.DEFAULT_MAX_TOKEN_LIFETIME_SECS_);let u=e.split(".");if(u.length!==3)throw new Error("Wrong number of segments in token: "+e);let l=u[0]+"."+u[1],f=u[2],d,h;try{d=JSON.parse(a.decodeBase64StringUtf8(u[0]))}catch(b){throw b instanceof Error&&(b.message=`Can't parse token envelope: ${u[0]}': ${b.message}`),b}if(!d)throw new Error("Can't parse token envelope: "+u[0]);try{h=JSON.parse(a.decodeBase64StringUtf8(u[1]))}catch(b){throw b instanceof Error&&(b.message=`Can't parse token payload '${u[0]}`),b}if(!h)throw new Error("Can't parse token payload: "+u[1]);if(!Object.prototype.hasOwnProperty.call(n,d.kid))throw new Error("No pem found for envelope: "+JSON.stringify(d));let m=n[d.kid];if(d.alg==="ES256"&&(f=CA.joseToDer(f,"ES256").toString("base64")),!await a.verify(m,l,f))throw new Error("Invalid token signature: "+e);if(!h.iat)throw new Error("No issue time in token: "+JSON.stringify(h));if(!h.exp)throw new Error("No expiration time in token: "+JSON.stringify(h));let w=Number(h.iat);if(isNaN(w))throw new Error("iat field using invalid format");let y=Number(h.exp);if(isNaN(y))throw new Error("exp field using invalid format");let g=new Date().getTime()/1e3;if(y>=g+s)throw new Error("Expiration time too far in future: "+JSON.stringify(h));let _=w-t.CLOCK_SKEW_SECS_,E=y+t.CLOCK_SKEW_SECS_;if(g<_)throw new Error("Token used too early, "+g+" < "+_+": "+JSON.stringify(h));if(g>E)throw new Error("Token used too late, "+g+" > "+E+": "+JSON.stringify(h));if(o&&o.indexOf(h.iss)<0)throw new Error("Invalid issuer, expected one of ["+o+"], but got "+h.iss);if(typeof r<"u"&&r!==null){let b=h.aud,S=!1;if(r.constructor===Array?S=r.indexOf(b)>-1:S=b===r,!S)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new wA.LoginTicket(d,h)}async processAndValidateRefreshHandler(){if(this.refreshHandler){let e=await this.refreshHandler();if(!e.access_token)throw new Error("No access token is returned by the refreshHandler callback.");return e}}isTokenExpiring(){let e=this.credentials.expiry_date;return e?e<=new Date().getTime()+this.eagerRefreshThresholdMillis:!1}};nn.OAuth2Client=bl});var wl=X(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.Compute=void 0;var EA=Xe(),uy=Yo(),kA=_r(),Cl=class extends kA.OAuth2Client{serviceAccountEmail;scopes;constructor(e={}){super(e),this.credentials={expiry_date:1,refresh_token:"compute-placeholder"},this.serviceAccountEmail=e.serviceAccountEmail||"default",this.scopes=Array.isArray(e.scopes)?e.scopes:e.scopes?[e.scopes]:[]}async refreshTokenNoCache(){let e=`service-accounts/${this.serviceAccountEmail}/token`,n;try{let o={property:e};this.scopes.length>0&&(o.params={scopes:this.scopes.join(",")}),n=await uy.instance(o)}catch(o){throw o instanceof EA.GaxiosError&&(o.message=`Could not refresh access token: ${o.message}`,this.wrapError(o)),o}let r=n;return n&&n.expires_in&&(r.expiry_date=new Date().getTime()+n.expires_in*1e3,delete r.expires_in),this.emit("tokens",r),{tokens:r,res:null}}async fetchIdToken(e){let n=`service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${e}`,r;try{let o={property:n};r=await uy.instance(o)}catch(o){throw o instanceof Error&&(o.message=`Could not fetch ID token: ${o.message}`),o}return r}wrapError(e){let n=e.response;n&&n.status&&(e.status=n.status,n.status===403?e.message="A Forbidden error was returned while attempting to retrieve an access token for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have the correct permission scopes specified: "+e.message:n.status===404&&(e.message="A Not Found error was returned while attempting to retrieve an accesstoken for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have any permission scopes specified: "+e.message))}};Zi.Compute=Cl});var kl=X(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.IdTokenClient=void 0;var AA=_r(),El=class extends AA.OAuth2Client{targetAudience;idTokenProvider;constructor(e){super(e),this.targetAudience=e.targetAudience,this.idTokenProvider=e.idTokenProvider}async getRequestMetadataAsync(){if(!this.credentials.id_token||!this.credentials.expiry_date||this.isTokenExpiring()){let n=await this.idTokenProvider.fetchIdToken(this.targetAudience);this.credentials={id_token:n,expiry_date:this.getIdTokenExpiryDate(n)}}return{headers:new Headers({authorization:"Bearer "+this.credentials.id_token})}}getIdTokenExpiryDate(e){let n=e.split(".")[1];if(n)return JSON.parse(Buffer.from(n,"base64").toString("ascii")).exp*1e3}};ea.IdTokenClient=El});var Al=X(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.GCPEnv=void 0;so.clear=SA;so.getEnv=TA;var cy=Yo(),rn;(function(t){t.APP_ENGINE="APP_ENGINE",t.KUBERNETES_ENGINE="KUBERNETES_ENGINE",t.CLOUD_FUNCTIONS="CLOUD_FUNCTIONS",t.COMPUTE_ENGINE="COMPUTE_ENGINE",t.CLOUD_RUN="CLOUD_RUN",t.CLOUD_RUN_JOBS="CLOUD_RUN_JOBS",t.NONE="NONE"})(rn||(so.GCPEnv=rn={}));var Zo;function SA(){Zo=void 0}async function TA(){return Zo||(Zo=vA(),Zo)}async function vA(){let t=rn.NONE;return DA()?t=rn.APP_ENGINE:RA()?t=rn.CLOUD_FUNCTIONS:await FA()?await PA()?t=rn.KUBERNETES_ENGINE:xA()?t=rn.CLOUD_RUN:OA()?t=rn.CLOUD_RUN_JOBS:t=rn.COMPUTE_ENGINE:t=rn.NONE,t}function DA(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function RA(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function xA(){return!!process.env.K_CONFIGURATION}function OA(){return!!process.env.CLOUD_RUN_JOB}async function PA(){try{return await cy.instance("attributes/cluster-name"),!0}catch{return!1}}async function FA(){return cy.isAvailable()}});var Sl=X((RP,ly)=>{var ta=ro().Buffer,IA=re("stream"),NA=re("util");function na(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=ta.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=ta.alloc(0),t.pipe(this),this;if(t.length||typeof t=="object")return this.buffer=t,this.writable=!1,process.nextTick(function(){this.emit("end",t),this.readable=!1,this.emit("close")}.bind(this)),this;throw new TypeError("Unexpected data type ("+typeof t+")")}NA.inherits(na,IA);na.prototype.write=function(e){this.buffer=ta.concat([this.buffer,ta.from(e)]),this.emit("data",e)};na.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};ly.exports=na});var fy=X((xP,dy)=>{"use strict";var es=re("buffer").Buffer,Tl=re("buffer").SlowBuffer;dy.exports=ra;function ra(t,e){if(!es.isBuffer(t)||!es.isBuffer(e)||t.length!==e.length)return!1;for(var n=0,r=0;r<t.length;r++)n|=t[r]^e[r];return n===0}ra.install=function(){es.prototype.equal=Tl.prototype.equal=function(e){return ra(this,e)}};var BA=es.prototype.equal,MA=Tl.prototype.equal;ra.restore=function(){es.prototype.equal=BA,Tl.prototype.equal=MA}});var xl=X((OP,wy)=>{var ao=ro().Buffer,Ot=re("crypto"),py=cl(),hy=re("util"),LA=`"%s" is not a valid algorithm.
|
|
50
|
+
`,r:"\r",t:" "},s,a=function(y){throw{name:"SyntaxError",message:y,at:n,text:s}},u=function(y){return y&&y!==r&&a("Expected '"+y+"' instead of '"+r+"'"),r=s.charAt(n),n+=1,r},l=function(){var y,g="";for(r==="-"&&(g="-",u("-"));r>="0"&&r<="9";)g+=r,u();if(r===".")for(g+=".";u()&&r>="0"&&r<="9";)g+=r;if(r==="e"||r==="E")for(g+=r,u(),(r==="-"||r==="+")&&(g+=r,u());r>="0"&&r<="9";)g+=r,u();if(y=+g,!isFinite(y))a("Bad number");else return $i==null&&($i=Wc()),g.length>15?e.storeAsString?g:e.useNativeBigInt?BigInt(g):new $i(g):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(y):new $i(y):y},f=function(){var y,g,_="",E;if(r==='"')for(var b=n;u();){if(r==='"')return n-1>b&&(_+=s.substring(b,n-1)),u(),_;if(r==="\\"){if(n-1>b&&(_+=s.substring(b,n-1)),u(),r==="u"){for(E=0,g=0;g<4&&(y=parseInt(u(),16),!!isFinite(y));g+=1)E=E*16+y;_+=String.fromCharCode(E)}else if(typeof o[r]=="string")_+=o[r];else break;b=n}}a("Bad string")},d=function(){for(;r&&r<=" ";)u()},h=function(){switch(r){case"t":return u("t"),u("r"),u("u"),u("e"),!0;case"f":return u("f"),u("a"),u("l"),u("s"),u("e"),!1;case"n":return u("n"),u("u"),u("l"),u("l"),null}a("Unexpected '"+r+"'")},m,C=function(){var y=[];if(r==="["){if(u("["),d(),r==="]")return u("]"),y;for(;r;){if(y.push(m()),d(),r==="]")return u("]"),y;u(","),d()}}a("Bad array")},w=function(){var y,g=Object.create(null);if(r==="{"){if(u("{"),d(),r==="}")return u("}"),g;for(;r;){if(y=f(),d(),u(":"),e.strict===!0&&Object.hasOwnProperty.call(g,y)&&a('Duplicate key "'+y+'"'),ak.test(y)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?m():g[y]=m():uk.test(y)===!0?e.constructorAction==="error"?a("Object contains forbidden constructor property"):e.constructorAction==="ignore"?m():g[y]=m():g[y]=m(),d(),r==="}")return u("}"),g;u(","),d()}}a("Bad object")};return m=function(){switch(d(),r){case"{":return w();case"[":return C();case'"':return f();case"-":return l();default:return r>="0"&&r<="9"?l():h()}},function(y,g){var _;return s=y+"",n=0,r=" ",_=m(),d(),r&&a("Syntax error"),typeof g=="function"?(function E(b,S){var T,R,$=b[S];return $&&typeof $=="object"&&Object.keys($).forEach(function(H){R=E($,H),R!==void 0?$[H]=R:delete $[H]}),g.call(b,S,$)})({"":_},""):_}};_g.exports=ck});var Eg=X((aP,qi)=>{var Cg=yg().stringify,wg=bg();qi.exports=function(t){return{parse:wg(t),stringify:Cg}};qi.exports.parse=wg();qi.exports.stringify=Cg});var Gc=X(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.GCE_LINUX_BIOS_PATHS=void 0;zt.isGoogleCloudServerless=Sg;zt.isGoogleComputeEngineLinux=vg;zt.isGoogleComputeEngineMACAddress=Tg;zt.isGoogleComputeEngine=Dg;zt.detectGCPResidency=dk;var kg=re("fs"),Ag=re("os");zt.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var lk=/^42:01/;function Sg(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function vg(){if((0,Ag.platform)()!=="linux")return!1;try{(0,kg.statSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,kg.readFileSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function Tg(){let t=(0,Ag.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:n}of e)if(lk.test(n))return!0}return!1}function Dg(){return vg()||Tg()}function dk(){return Sg()||Dg()}});var Rg=X(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.Colours=void 0;var nt=class t{static isEnabled(e){return e&&e.isTTY&&(typeof e.getColorDepth=="function"?e.getColorDepth()>2:!0)}static refresh(){t.enabled=t.isEnabled(process==null?void 0:process.stderr),this.enabled?(t.reset="\x1B[0m",t.bright="\x1B[1m",t.dim="\x1B[2m",t.red="\x1B[31m",t.green="\x1B[32m",t.yellow="\x1B[33m",t.blue="\x1B[34m",t.magenta="\x1B[35m",t.cyan="\x1B[36m",t.white="\x1B[37m",t.grey="\x1B[90m"):(t.reset="",t.bright="",t.dim="",t.red="",t.green="",t.yellow="",t.blue="",t.magenta="",t.cyan="",t.white="",t.grey="")}};zi.Colours=nt;nt.enabled=!1;nt.reset="";nt.bright="";nt.dim="";nt.red="";nt.green="";nt.yellow="";nt.blue="";nt.magenta="";nt.cyan="";nt.white="";nt.grey="";nt.refresh()});var Fg=X(Re=>{"use strict";var fk=Re&&Re.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),hk=Re&&Re.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),xg=Re&&Re.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(n){var r=[];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[r.length]=o);return r},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var r=t(e),o=0;o<r.length;o++)r[o]!=="default"&&fk(n,e,r[o]);return hk(n,e),n}})();Object.defineProperty(Re,"__esModule",{value:!0});Re.env=Re.DebugLogBackendBase=Re.placeholder=Re.AdhocDebugLogger=Re.LogSeverity=void 0;Re.getNodeBackend=Vc;Re.getDebugBackend=mk;Re.getStructuredBackend=gk;Re.setBackend=yk;Re.log=Pg;var pk=re("events"),Jo=xg(re("process")),Og=xg(re("util")),yt=Rg(),Ht;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(Ht||(Re.LogSeverity=Ht={}));var Vo=class extends pk.EventEmitter{constructor(e,n){super(),this.namespace=e,this.upstream=n,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(r,o)=>this.on(r,o)}),this.func.debug=(...r)=>this.invokeSeverity(Ht.DEBUG,...r),this.func.info=(...r)=>this.invokeSeverity(Ht.INFO,...r),this.func.warn=(...r)=>this.invokeSeverity(Ht.WARNING,...r),this.func.error=(...r)=>this.invokeSeverity(Ht.ERROR,...r),this.func.sublog=r=>Pg(r,this.func)}invoke(e,...n){if(this.upstream)try{this.upstream(e,...n)}catch{}try{this.emit("log",e,n)}catch{}}invokeSeverity(e,...n){this.invoke({severity:e},...n)}};Re.AdhocDebugLogger=Vo;Re.placeholder=new Vo("",()=>{}).func;var eo=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let n=(e=Jo.env[Re.env.nodeEnables])!==null&&e!==void 0?e:"*";n==="all"&&(n="*"),this.filters=n.split(",")}log(e,n,...r){try{this.filtersSet||(this.setFilters(),this.filtersSet=!0);let o=this.cached.get(e);o||(o=this.makeLogger(e),this.cached.set(e,o)),o(n,...r)}catch(o){console.error(o)}}};Re.DebugLogBackendBase=eo;var Jc=class extends eo{constructor(){super(...arguments),this.enabledRegexp=/.*/g}isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){return this.enabledRegexp.test(e)?(n,...r)=>{var o;let s=`${yt.Colours.green}${e}${yt.Colours.reset}`,a=`${yt.Colours.yellow}${Jo.pid}${yt.Colours.reset}`,u;switch(n.severity){case Ht.ERROR:u=`${yt.Colours.red}${n.severity}${yt.Colours.reset}`;break;case Ht.INFO:u=`${yt.Colours.magenta}${n.severity}${yt.Colours.reset}`;break;case Ht.WARNING:u=`${yt.Colours.yellow}${n.severity}${yt.Colours.reset}`;break;default:u=(o=n.severity)!==null&&o!==void 0?o:Ht.DEFAULT;break}let l=Og.formatWithOptions({colors:yt.Colours.enabled},...r),f=Object.assign({},n);delete f.severity;let d=Object.getOwnPropertyNames(f).length?JSON.stringify(f):"",h=d?`${yt.Colours.grey}${d}${yt.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",a,s,u,l,d?` ${h}`:"")}:()=>{}}setFilters(){let n=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${n}$`,"i")}};function Vc(){return new Jc}var Kc=class extends eo{constructor(e){super(),this.debugPkg=e}makeLogger(e){let n=this.debugPkg(e);return(r,...o)=>{n(o[0],...o.slice(1))}}setFilters(){var e;let n=(e=Jo.env.NODE_DEBUG)!==null&&e!==void 0?e:"";Jo.env.NODE_DEBUG=`${n}${n?",":""}${this.filters.join(",")}`}};function mk(t){return new Kc(t)}var Yc=class extends eo{constructor(e){var n;super(),this.upstream=(n=e)!==null&&n!==void 0?n:void 0}makeLogger(e){var n;let r=(n=this.upstream)===null||n===void 0?void 0:n.makeLogger(e);return(o,...s)=>{var a;let u=(a=o.severity)!==null&&a!==void 0?a:Ht.INFO,l=Object.assign({severity:u,message:Og.format(...s)},o),f=JSON.stringify(l);r?r(o,f):console.log("%s",f)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}};function gk(t){return new Yc(t)}Re.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var Qc=new Map,_t;function yk(t){_t=t,Qc.clear()}function Pg(t,e){if(!_t&&!Jo.env[Re.env.nodeEnables]||!t)return Re.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let n=Qc.get(t);if(n)return n.func;if(_t===null)return Re.placeholder;_t===void 0&&(_t=Vc());let r=(()=>{let o;return new Vo(t,(a,...u)=>{if(o!==_t){if(_t===null)return;_t===void 0&&(_t=Vc()),o=_t}_t?.log(t,a,...u)})})();return Qc.set(t,r),r.func}});var Xc=X(mr=>{"use strict";var _k=mr&&mr.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),bk=mr&&mr.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&_k(e,t,n)};Object.defineProperty(mr,"__esModule",{value:!0});bk(Fg(),mr)});var Yo=X(he=>{"use strict";var Ng=he&&he.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),Ck=he&&he.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),wk=he&&he.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(n){var r=[];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[r.length]=o);return r},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var r=t(e),o=0;o<r.length;o++)r[o]!=="default"&&Ng(n,e,r[o]);return Ck(n,e),n}})(),Ek=he&&he.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Ng(e,t,n)};Object.defineProperty(he,"__esModule",{value:!0});he.gcpResidencyCache=he.METADATA_SERVER_DETECTION=he.HEADERS=he.HEADER_VALUE=he.HEADER_NAME=he.SECONDARY_HOST_ADDRESS=he.HOST_ADDRESS=he.BASE_PATH=void 0;he.instance=Dk;he.project=Rk;he.universe=xk;he.bulk=Ok;he.isAvailable=Fk;he.resetIsAvailableCache=Ik;he.getGCPResidency=tl;he.setGCPResidency=Bg;he.requestTimeout=Mg;var Zc=Xe(),kk=Eg(),Ak=Gc(),Sk=wk(Xc());he.BASE_PATH="/computeMetadata/v1";he.HOST_ADDRESS="http://169.254.169.254";he.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";he.HEADER_NAME="Metadata-Flavor";he.HEADER_VALUE="Google";he.HEADERS=Object.freeze({[he.HEADER_NAME]:he.HEADER_VALUE});var Ig=Sk.log("gcp-metadata");he.METADATA_SERVER_DETECTION=Object.freeze({"assume-present":"don't try to ping the metadata server, but assume it's present",none:"don't try to ping the metadata server, but don't try to use it either","bios-only":"treat the result of a BIOS probe as canonical (don't fall back to pinging)","ping-only":"skip the BIOS probe, and go straight to pinging"});function el(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||he.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(he.BASE_PATH,t).href}function vk(t){Object.keys(t).forEach(e=>{switch(e){case"params":case"property":case"headers":break;case"qs":throw new Error("'qs' is not a valid configuration option. Please use 'params' instead.");default:throw new Error(`'${e}' is not a valid configuration option.`)}})}async function Ko(t,e={},n=3,r=!1){let o=new Headers(he.HEADERS),s="",a={};if(typeof t=="object"){let h=t;new Headers(h.headers).forEach((m,C)=>o.set(C,m)),s=h.metadataKey,a=h.params||a,n=h.noResponseRetries||n,r=h.fastFail||r}else s=t;typeof e=="string"?s+=`/${e}`:(vk(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((h,m)=>o.set(m,h)),a=e.params||a);let u=r?Tk:Zc.request,l={url:`${el()}/${s}`,headers:o,retryConfig:{noResponseRetries:n},params:a,responseType:"text",timeout:Mg()};Ig.info("instance request %j",l);let f=await u(l);Ig.info("instance metadata is %s",f.data);let d=f.headers.get(he.HEADER_NAME);if(d!==he.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${he.HEADER_NAME} header. Expected '${he.HEADER_VALUE}', got ${d?`'${d}'`:"no header"}`);if(typeof f.data=="string")try{return kk.parse(f.data)}catch{}return f.data}async function Tk(t){let e={...t,url:t.url?.toString().replace(el(),el(he.SECONDARY_HOST_ADDRESS))},n=(0,Zc.request)(t),r=(0,Zc.request)(e);return Promise.any([n,r])}function Dk(t){return Ko("instance",t)}function Rk(t){return Ko("project",t)}function xk(t){return Ko("universe",t)}async function Ok(t){let e={};return await Promise.all(t.map(n=>(async()=>{let r=await Ko(n),o=n.metadataKey;e[o]=r})())),e}function Pk(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var Hi;async function Fk(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in he.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(he.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return tl();case"ping-only":}}try{return Hi===void 0&&(Hi=Ko("instance",void 0,Pk(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await Hi,!0}catch(t){let e=t;if(process.env.DEBUG_AUTH&&console.info(e),e.type==="request-timeout"||e.response&&e.response.status===404)return!1;if(!(e.response&&e.response.status===404)&&(!e.code||!["EHOSTDOWN","EHOSTUNREACH","ENETUNREACH","ENOENT","ENOTFOUND","ECONNREFUSED"].includes(e.code.toString()))){let n="UNKNOWN";e.code&&(n=e.code.toString()),process.emitWarning(`received unexpected error = ${e.message} code = ${n}`,"MetadataLookupWarning")}return!1}}function Ik(){Hi=void 0}he.gcpResidencyCache=null;function tl(){return he.gcpResidencyCache===null&&Bg(),he.gcpResidencyCache}function Bg(t=null){he.gcpResidencyCache=t!==null?t:(0,Ak.detectGCPResidency)()}function Mg(){return tl()?0:3e3}Ek(Gc(),he)});var Ug=X(Wi=>{"use strict";Wi.byteLength=Bk;Wi.toByteArray=Lk;Wi.fromByteArray=$k;var en=[],xt=[],Nk=typeof Uint8Array<"u"?Uint8Array:Array,nl="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(gr=0,Lg=nl.length;gr<Lg;++gr)en[gr]=nl[gr],xt[nl.charCodeAt(gr)]=gr;var gr,Lg;xt[45]=62;xt[95]=63;function jg(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");n===-1&&(n=e);var r=n===e?0:4-n%4;return[n,r]}function Bk(t){var e=jg(t),n=e[0],r=e[1];return(n+r)*3/4-r}function Mk(t,e,n){return(e+n)*3/4-n}function Lk(t){var e,n=jg(t),r=n[0],o=n[1],s=new Nk(Mk(t,r,o)),a=0,u=o>0?r-4:r,l;for(l=0;l<u;l+=4)e=xt[t.charCodeAt(l)]<<18|xt[t.charCodeAt(l+1)]<<12|xt[t.charCodeAt(l+2)]<<6|xt[t.charCodeAt(l+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return o===2&&(e=xt[t.charCodeAt(l)]<<2|xt[t.charCodeAt(l+1)]>>4,s[a++]=e&255),o===1&&(e=xt[t.charCodeAt(l)]<<10|xt[t.charCodeAt(l+1)]<<4|xt[t.charCodeAt(l+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function jk(t){return en[t>>18&63]+en[t>>12&63]+en[t>>6&63]+en[t&63]}function Uk(t,e,n){for(var r,o=[],s=e;s<n;s+=3)r=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(t[s+2]&255),o.push(jk(r));return o.join("")}function $k(t){for(var e,n=t.length,r=n%3,o=[],s=16383,a=0,u=n-r;a<u;a+=s)o.push(Uk(t,a,a+s>u?u:a+s));return r===1?(e=t[n-1],o.push(en[e>>2]+en[e<<4&63]+"==")):r===2&&(e=(t[n-2]<<8)+t[n-1],o.push(en[e>>10]+en[e>>4&63]+en[e<<2&63]+"=")),o.join("")}});var ol=X(rl=>{"use strict";Object.defineProperty(rl,"__esModule",{value:!0});rl.fromArrayBufferToHex=qk;function qk(t){return Array.from(new Uint8Array(t)).map(n=>n.toString(16).padStart(2,"0")).join("")}});var $g=X(Gi=>{"use strict";Object.defineProperty(Gi,"__esModule",{value:!0});Gi.BrowserCrypto=void 0;var to=Ug(),zk=ol(),sl=class t{constructor(){if(typeof window>"u"||window.crypto===void 0||window.crypto.subtle===void 0)throw new Error("SubtleCrypto not found. Make sure it's an https:// website.")}async sha256DigestBase64(e){let n=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",n);return to.fromByteArray(new Uint8Array(r))}randomBytesBase64(e){let n=new Uint8Array(e);return window.crypto.getRandomValues(n),to.fromByteArray(n)}static padBase64(e){for(;e.length%4!==0;)e+="=";return e}async verify(e,n,r){let o={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},s=new TextEncoder().encode(n),a=to.toByteArray(t.padBase64(r)),u=await window.crypto.subtle.importKey("jwk",e,o,!0,["verify"]);return await window.crypto.subtle.verify(o,u,a,s)}async sign(e,n){let r={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},o=new TextEncoder().encode(n),s=await window.crypto.subtle.importKey("jwk",e,r,!0,["sign"]),a=await window.crypto.subtle.sign(r,s,o);return to.fromByteArray(new Uint8Array(a))}decodeBase64StringUtf8(e){let n=to.toByteArray(t.padBase64(e));return new TextDecoder().decode(n)}encodeBase64StringUtf8(e){let n=new TextEncoder().encode(e);return to.fromByteArray(n)}async sha256DigestHex(e){let n=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",n);return(0,zk.fromArrayBufferToHex)(r)}async signWithHmacSha256(e,n){let r=typeof e=="string"?e:String.fromCharCode(...new Uint16Array(e)),o=new TextEncoder,s=await window.crypto.subtle.importKey("raw",o.encode(r),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return window.crypto.subtle.sign("HMAC",s,o.encode(n))}};Gi.BrowserCrypto=sl});var qg=X(Ji=>{"use strict";Object.defineProperty(Ji,"__esModule",{value:!0});Ji.NodeCrypto=void 0;var no=re("crypto"),il=class{async sha256DigestBase64(e){return no.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return no.randomBytes(e).toString("base64")}async verify(e,n,r){let o=no.createVerify("RSA-SHA256");return o.update(n),o.end(),o.verify(e,r,"base64")}async sign(e,n){let r=no.createSign("RSA-SHA256");return r.update(n),r.end(),r.sign(e,"base64")}decodeBase64StringUtf8(e){return Buffer.from(e,"base64").toString("utf-8")}encodeBase64StringUtf8(e){return Buffer.from(e,"utf-8").toString("base64")}async sha256DigestHex(e){return no.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,n){let r=typeof e=="string"?e:Wk(e);return Hk(no.createHmac("sha256",r).update(n).digest())}};Ji.NodeCrypto=il;function Hk(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function Wk(t){return Buffer.from(t)}});var Qo=X(An=>{"use strict";var Gk=An&&An.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),Jk=An&&An.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Gk(e,t,n)};Object.defineProperty(An,"__esModule",{value:!0});An.createCrypto=Yk;An.hasBrowserCrypto=zg;var Vk=$g(),Kk=qg();Jk(ol(),An);function Yk(){return zg()?new Vk.BrowserCrypto:new Kk.NodeCrypto}function zg(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var ro=X((al,Wg)=>{var Vi=re("buffer"),tn=Vi.Buffer;function Hg(t,e){for(var n in t)e[n]=t[n]}tn.from&&tn.alloc&&tn.allocUnsafe&&tn.allocUnsafeSlow?Wg.exports=Vi:(Hg(Vi,al),al.Buffer=yr);function yr(t,e,n){return tn(t,e,n)}yr.prototype=Object.create(tn.prototype);Hg(tn,yr);yr.from=function(t,e,n){if(typeof t=="number")throw new TypeError("Argument must not be a number");return tn(t,e,n)};yr.alloc=function(t,e,n){if(typeof t!="number")throw new TypeError("Argument must be a number");var r=tn(t);return e!==void 0?typeof n=="string"?r.fill(e,n):r.fill(e):r.fill(0),r};yr.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return tn(t)};yr.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Vi.SlowBuffer(t)}});var Jg=X((_P,Gg)=>{"use strict";function ul(t){var e=(t/8|0)+(t%8===0?0:1);return e}var Qk={ES256:ul(256),ES384:ul(384),ES512:ul(521)};function Xk(t){var e=Qk[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}Gg.exports=Xk});var cl=X((bP,Zg)=>{"use strict";var Ki=ro().Buffer,Kg=Jg(),Yi=128,Yg=0,Zk=32,eA=16,tA=2,Qg=eA|Zk|Yg<<6,Qi=tA|Yg<<6;function nA(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Xg(t){if(Ki.isBuffer(t))return t;if(typeof t=="string")return Ki.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function rA(t,e){t=Xg(t);var n=Kg(e),r=n+1,o=t.length,s=0;if(t[s++]!==Qg)throw new Error('Could not find expected "seq"');var a=t[s++];if(a===(Yi|1)&&(a=t[s++]),o-s<a)throw new Error('"seq" specified length of "'+a+'", only "'+(o-s)+'" remaining');if(t[s++]!==Qi)throw new Error('Could not find expected "int" for "r"');var u=t[s++];if(o-s-2<u)throw new Error('"r" specified length of "'+u+'", only "'+(o-s-2)+'" available');if(r<u)throw new Error('"r" specified length of "'+u+'", max of "'+r+'" is acceptable');var l=s;if(s+=u,t[s++]!==Qi)throw new Error('Could not find expected "int" for "s"');var f=t[s++];if(o-s!==f)throw new Error('"s" specified length of "'+f+'", expected "'+(o-s)+'"');if(r<f)throw new Error('"s" specified length of "'+f+'", max of "'+r+'" is acceptable');var d=s;if(s+=f,s!==o)throw new Error('Expected to consume entire buffer, but "'+(o-s)+'" bytes remain');var h=n-u,m=n-f,C=Ki.allocUnsafe(h+u+m+f);for(s=0;s<h;++s)C[s]=0;t.copy(C,s,l+Math.max(-h,0),l+u),s=n;for(var w=s;s<w+m;++s)C[s]=0;return t.copy(C,s,d+Math.max(-m,0),d+f),C=C.toString("base64"),C=nA(C),C}function Vg(t,e,n){for(var r=0;e+r<n&&t[e+r]===0;)++r;var o=t[e+r]>=Yi;return o&&--r,r}function oA(t,e){t=Xg(t);var n=Kg(e),r=t.length;if(r!==n*2)throw new TypeError('"'+e+'" signatures must be "'+n*2+'" bytes, saw "'+r+'"');var o=Vg(t,0,n),s=Vg(t,n,t.length),a=n-o,u=n-s,l=2+a+1+1+u,f=l<Yi,d=Ki.allocUnsafe((f?2:3)+l),h=0;return d[h++]=Qg,f?d[h++]=l:(d[h++]=Yi|1,d[h++]=l&255),d[h++]=Qi,d[h++]=a,o<0?(d[h++]=0,h+=t.copy(d,h,0,n)):h+=t.copy(d,h,o,n),d[h++]=Qi,d[h++]=u,s<0?(d[h++]=0,t.copy(d,h,n)):t.copy(d,h,n+s),d}Zg.exports={derToJose:rA,joseToDer:oA}});var Wt=X(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.LRUCache=void 0;Sn.snakeToCamel=ty;Sn.originalOrCamelOptions=uA;Sn.removeUndefinedValuesInObject=cA;Sn.isValidFile=lA;Sn.getWellKnownCertificateConfigFileLocation=dA;var sA=re("fs"),iA=re("os"),ll=re("path"),aA="certificate_config.json",ey="gcloud";function ty(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function uA(t){function e(n){let r=t||{};return r[n]??r[ty(n)]}return{get:e}}var dl=class{capacity;#e=new Map;maxAge;constructor(e){this.capacity=e.capacity,this.maxAge=e.maxAge}#t(e,n){this.#e.delete(e),this.#e.set(e,{value:n,lastAccessed:Date.now()})}set(e,n){this.#t(e,n),this.#n()}get(e){let n=this.#e.get(e);if(n)return this.#t(e,n.value),this.#n(),n.value}#n(){let e=this.maxAge?Date.now()-this.maxAge:0,n=this.#e.entries().next();for(;!n.done&&(this.#e.size>this.capacity||n.value[1].lastAccessed<e);)this.#e.delete(n.value[0]),n=this.#e.entries().next()}};Sn.LRUCache=dl;function cA(t){return Object.entries(t).forEach(([e,n])=>{(n===void 0||n==="undefined")&&delete t[e]}),t}async function lA(t){try{return(await sA.promises.lstat(t)).isFile()}catch{return!1}}function dA(){let t=process.env.CLOUDSDK_CONFIG||(fA()?ll.join(process.env.APPDATA||"",ey):ll.join(process.env.HOME||"",".config",ey));return ll.join(t,aA)}function fA(){return iA.platform().startsWith("win")}});var ny=X((wP,hA)=>{hA.exports={name:"google-auth-library",version:"10.4.0",author:"Google Inc.",description:"Google APIs Authentication Client Library for Node.js",engines:{node:">=18"},main:"./build/src/index.js",types:"./build/src/index.d.ts",repository:"googleapis/google-auth-library-nodejs.git",keywords:["google","api","google apis","client","client library"],dependencies:{"base64-js":"^1.3.0","ecdsa-sig-formatter":"^1.0.11",gaxios:"^7.0.0","gcp-metadata":"^7.0.0","google-logging-utils":"^1.0.0",gtoken:"^8.0.0",jws:"^4.0.0"},devDependencies:{"@types/base64-js":"^1.2.5","@types/jws":"^3.1.0","@types/mocha":"^10.0.10","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","assert-rejects":"^1.0.0",c8:"^10.0.0",codecov:"^3.0.2",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",keypair:"^1.0.4",linkinator:"^6.1.2",mocha:"^11.1.0",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.5","null-loader":"^4.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","ts-loader":"^8.0.0",typescript:"5.8.2",webpack:"^5.21.2","webpack-cli":"^4.0.0"},files:["build/src","!build/src/**/*.map"],scripts:{test:"c8 mocha build/test",clean:"gts clean",prepare:"npm run compile",lint:"gts check --no-inline-config",compile:"tsc -p .",fix:"gts fix",pretest:"npm run compile -- --sourceMap",docs:"jsdoc -c .jsdoc.js","samples-setup":"cd samples/ && npm link ../ && npm run setup && cd ../","samples-test":"cd samples/ && npm link ../ && npm test && cd ../","system-test":"mocha build/system-test --timeout 60000","presystem-test":"npm run compile -- --sourceMap",webpack:"webpack","browser-test":"karma start","docs-test":"linkinator docs","predocs-test":"npm run docs",prelint:"cd samples; npm link ../; npm install"},license:"Apache-2.0"}});var fl=X(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.USER_AGENT=Jn.PRODUCT_NAME=Jn.pkg=void 0;var ry=ny();Jn.pkg=ry;var oy="google-api-nodejs-client";Jn.PRODUCT_NAME=oy;var pA=`${oy}/${ry.version}`;Jn.USER_AGENT=pA});var bt=X(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.AuthClient=Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Gt.DEFAULT_UNIVERSE=void 0;var mA=re("events"),hl=Xe(),gA=Wt(),yA=Xc(),pl=fl();Gt.DEFAULT_UNIVERSE="googleapis.com";Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var ml=class t extends mA.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=Gt.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let n=(0,gA.originalOrCamelOptions)(e);this.apiKey=e.apiKey,this.projectId=n.get("project_id")??null,this.quotaProjectId=n.get("quota_project_id"),this.credentials=n.get("credentials")??{},this.universeDomain=n.get("universe_domain")??Gt.DEFAULT_UNIVERSE,this.transporter=e.transporter??new hl.Gaxios(e.transporterOptions),n.get("useAuthRequestParameters")!==!1&&(this.transporter.interceptors.request.add(t.DEFAULT_REQUEST_INTERCEPTOR),this.transporter.interceptors.response.add(t.DEFAULT_RESPONSE_INTERCEPTOR)),e.eagerRefreshThresholdMillis&&(this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis),this.forceRefreshOnFailure=e.forceRefreshOnFailure??!1}fetch(...e){let n=e[0],r=e[1],o,s=new Headers;return typeof n=="string"?o=new URL(n):n instanceof URL?o=n:n&&n.url&&(o=new URL(n.url)),n&&typeof n=="object"&&"headers"in n&&hl.Gaxios.mergeHeaders(s,n.headers),r&&hl.Gaxios.mergeHeaders(s,new Headers(r.headers)),typeof n=="object"&&!(n instanceof URL)?this.request({...r,...n,headers:s,url:o}):this.request({...r,headers:s,url:o})}setCredentials(e){this.credentials=e}addSharedMetadataHeaders(e){return!e.has("x-goog-user-project")&&this.quotaProjectId&&e.set("x-goog-user-project",this.quotaProjectId),e}addUserProjectAndAuthHeaders(e,n){let r=n.get("x-goog-user-project"),o=n.get("authorization");return r&&e.set("x-goog-user-project",r),o&&e.set("authorization",o),e}static log=(0,yA.log)("auth");static DEFAULT_REQUEST_INTERCEPTOR={resolved:async e=>{if(!e.headers.has("x-goog-api-client")){let r=process.version.replace(/^v/,"");e.headers.set("x-goog-api-client",`gl-node/${r}`)}let n=e.headers.get("User-Agent");n?n.includes(`${pl.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${n} ${pl.USER_AGENT}`):e.headers.set("User-Agent",pl.USER_AGENT);try{let r=e,o=r[t.RequestMethodNameSymbol],s=`${Math.floor(Math.random()*1e3)}`;r[t.RequestLogIdSymbol]=s;let a={url:e.url,headers:e.headers};o?t.log.info("%s [%s] request %j",o,s,a):t.log.info("[%s] request %j",s,a)}catch{}return e}};static DEFAULT_RESPONSE_INTERCEPTOR={resolved:async e=>{try{let n=e.config,r=n[t.RequestMethodNameSymbol],o=n[t.RequestLogIdSymbol];r?t.log.info("%s [%s] response %j",r,o,e.data):t.log.info("[%s] response %j",o,e.data)}catch{}return e},rejected:async e=>{try{let n=e.config,r=n[t.RequestMethodNameSymbol],o=n[t.RequestLogIdSymbol];r?t.log.info("%s [%s] error %j",r,o,e.response?.data):t.log.error("[%s] error %j",o,e.response?.data)}catch{}throw e}};static setMethodName(e,n){try{let r=e;r[t.RequestMethodNameSymbol]=n}catch{}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};Gt.AuthClient=ml});var yl=X(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.LoginTicket=void 0;var gl=class{envelope;payload;constructor(e,n){this.envelope=e,this.payload=n}getEnvelope(){return this.envelope}getPayload(){return this.payload}getUserId(){let e=this.getPayload();return e&&e.sub?e.sub:null}getAttributes(){return{envelope:this.getEnvelope(),payload:this.getPayload()}}};Xi.LoginTicket=gl});var _r=X(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});nn.OAuth2Client=nn.ClientAuthentication=nn.CertificateFormat=nn.CodeChallengeMethod=void 0;var sy=Xe(),_A=re("querystring"),bA=re("stream"),CA=cl(),iy=Wt(),_l=Qo(),oo=bt(),wA=yl(),ay;(function(t){t.Plain="plain",t.S256="S256"})(ay||(nn.CodeChallengeMethod=ay={}));var vn;(function(t){t.PEM="PEM",t.JWK="JWK"})(vn||(nn.CertificateFormat=vn={}));var Xo;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(Xo||(nn.ClientAuthentication=Xo={}));var bl=class t extends oo.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=vn.PEM;refreshTokenPromises=new Map;endpoints;issuers;clientAuthentication;_clientId;_clientSecret;refreshHandler;constructor(e={},n,r){super(typeof e=="object"?e:{}),typeof e!="object"&&(e={clientId:e,clientSecret:n,redirectUri:r}),this._clientId=e.clientId||e.client_id,this._clientSecret=e.clientSecret||e.client_secret,this.redirectUri=e.redirectUri||e.redirect_uris?.[0],this.endpoints={tokenInfoUrl:"https://oauth2.googleapis.com/tokeninfo",oauth2AuthBaseUrl:"https://accounts.google.com/o/oauth2/v2/auth",oauth2TokenUrl:"https://oauth2.googleapis.com/token",oauth2RevokeUrl:"https://oauth2.googleapis.com/revoke",oauth2FederatedSignonPemCertsUrl:"https://www.googleapis.com/oauth2/v1/certs",oauth2FederatedSignonJwkCertsUrl:"https://www.googleapis.com/oauth2/v3/certs",oauth2IapPublicKeyUrl:"https://www.gstatic.com/iap/verify/public_key",...e.endpoints},this.clientAuthentication=e.clientAuthentication||Xo.ClientSecretPost,this.issuers=e.issuers||["accounts.google.com","https://accounts.google.com",this.universeDomain]}static GOOGLE_TOKEN_INFO_URL="https://oauth2.googleapis.com/tokeninfo";static CLOCK_SKEW_SECS_=300;static DEFAULT_MAX_TOKEN_LIFETIME_SECS_=86400;generateAuthUrl(e={}){if(e.code_challenge_method&&!e.code_challenge)throw new Error("If a code_challenge_method is provided, code_challenge must be included.");return e.response_type=e.response_type||"code",e.client_id=e.client_id||this._clientId,e.redirect_uri=e.redirect_uri||this.redirectUri,Array.isArray(e.scope)&&(e.scope=e.scope.join(" ")),this.endpoints.oauth2AuthBaseUrl.toString()+"?"+_A.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,_l.createCrypto)(),r=e.randomBytesBase64(96).replace(/\+/g,"~").replace(/=/g,"_").replace(/\//g,"-"),s=(await e.sha256DigestBase64(r)).split("=")[0].replace(/\+/g,"-").replace(/\//g,"_");return{codeVerifier:r,codeChallenge:s}}getToken(e,n){let r=typeof e=="string"?{code:e}:e;if(n)this.getTokenAsync(r).then(o=>n(null,o.tokens,o.res),o=>n(o,null,o.response));else return this.getTokenAsync(r)}async getTokenAsync(e){let n=this.endpoints.oauth2TokenUrl.toString(),r=new Headers,o={client_id:e.client_id||this._clientId,code_verifier:e.codeVerifier,code:e.code,grant_type:"authorization_code",redirect_uri:e.redirect_uri||this.redirectUri};if(this.clientAuthentication===Xo.ClientSecretBasic){let l=Buffer.from(`${this._clientId}:${this._clientSecret}`);r.set("authorization",`Basic ${l.toString("base64")}`)}this.clientAuthentication===Xo.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,iy.removeUndefinedValuesInObject)(o)),headers:r};oo.AuthClient.setMethodName(s,"getTokenAsync");let a=await this.transporter.request(s),u=a.data;return a.data&&a.data.expires_in&&(u.expiry_date=new Date().getTime()+a.data.expires_in*1e3,delete u.expires_in),this.emit("tokens",u),{tokens:u,res:a}}async refreshToken(e){if(!e)return this.refreshTokenNoCache(e);if(this.refreshTokenPromises.has(e))return this.refreshTokenPromises.get(e);let n=this.refreshTokenNoCache(e).then(r=>(this.refreshTokenPromises.delete(e),r),r=>{throw this.refreshTokenPromises.delete(e),r});return this.refreshTokenPromises.set(e,n),n}async refreshTokenNoCache(e){if(!e)throw new Error("No refresh token is set.");let n=this.endpoints.oauth2TokenUrl.toString(),r={refresh_token:e,client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token"},o;try{let a={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,iy.removeUndefinedValuesInObject)(r))};oo.AuthClient.setMethodName(a,"refreshTokenNoCache"),o=await this.transporter.request(a)}catch(a){throw a instanceof sy.GaxiosError&&a.message==="invalid_grant"&&a.response?.data&&/ReAuth/i.test(a.response.data.error_description)&&(a.message=JSON.stringify(a.response.data)),a}let s=o.data;return o.data&&o.data.expires_in&&(s.expiry_date=new Date().getTime()+o.data.expires_in*1e3,delete s.expires_in),this.emit("tokens",s),{tokens:s,res:o}}refreshAccessToken(e){if(e)this.refreshAccessTokenAsync().then(n=>e(null,n.credentials,n.res),e);else return this.refreshAccessTokenAsync()}async refreshAccessTokenAsync(){let e=await this.refreshToken(this.credentials.refresh_token),n=e.tokens;return n.refresh_token=this.credentials.refresh_token,this.credentials=n,{credentials:this.credentials,res:e.res}}getAccessToken(e){if(e)this.getAccessTokenAsync().then(n=>e(null,n.token,n.res),e);else return this.getAccessTokenAsync()}async getAccessTokenAsync(){if(!this.credentials.access_token||this.isTokenExpiring()){if(!this.credentials.refresh_token)if(this.refreshHandler){let r=await this.processAndValidateRefreshHandler();if(r?.access_token)return this.setCredentials(r),{token:this.credentials.access_token}}else throw new Error("No refresh token or refresh handler callback is set.");let n=await this.refreshAccessTokenAsync();if(!n.credentials||n.credentials&&!n.credentials.access_token)throw new Error("Could not refresh access token.");return{token:n.credentials.access_token,res:n.res}}else return{token:this.credentials.access_token}}async getRequestHeaders(e){return(await this.getRequestMetadataAsync(e)).headers}async getRequestMetadataAsync(e){let n=this.credentials;if(!n.access_token&&!n.refresh_token&&!this.apiKey&&!this.refreshHandler)throw new Error("No access, refresh token, API key or refresh handler callback is set.");if(n.access_token&&!this.isTokenExpiring()){n.token_type=n.token_type||"Bearer";let u=new Headers({authorization:n.token_type+" "+n.access_token});return{headers:this.addSharedMetadataHeaders(u)}}if(this.refreshHandler){let u=await this.processAndValidateRefreshHandler();if(u?.access_token){this.setCredentials(u);let l=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(l)}}}if(this.apiKey)return{headers:new Headers({"X-Goog-Api-Key":this.apiKey})};let r=null,o=null;try{r=await this.refreshToken(n.refresh_token),o=r.tokens}catch(u){let l=u;throw l.response&&(l.response.status===403||l.response.status===404)&&(l.message=`Could not refresh access token: ${l.message}`),l}let s=this.credentials;s.token_type=s.token_type||"Bearer",o.refresh_token=s.refresh_token,this.credentials=o;let a=new Headers({authorization:s.token_type+" "+o.access_token});return{headers:this.addSharedMetadataHeaders(a),res:r.res}}static getRevokeTokenUrl(e){return new t().getRevokeTokenURL(e).toString()}getRevokeTokenURL(e){let n=new URL(this.endpoints.oauth2RevokeUrl);return n.searchParams.append("token",e),n}revokeToken(e,n){let r={...t.RETRY_CONFIG,url:this.getRevokeTokenURL(e).toString(),method:"POST"};if(oo.AuthClient.setMethodName(r,"revokeToken"),n)this.transporter.request(r).then(o=>n(null,o),n);else return this.transporter.request(r)}revokeCredentials(e){if(e)this.revokeCredentialsAsync().then(n=>e(null,n),e);else return this.revokeCredentialsAsync()}async revokeCredentialsAsync(){let e=this.credentials.access_token;if(this.credentials={},e)return this.revokeToken(e);throw new Error("No access token to revoke.")}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){try{let r=await this.getRequestMetadataAsync();return e.headers=sy.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,r.headers),this.apiKey&&e.headers.set("X-Goog-Api-Key",this.apiKey),await this.transporter.request(e)}catch(r){let o=r.response;if(o){let s=o.status,a=this.credentials&&this.credentials.access_token&&this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure),u=this.credentials&&this.credentials.access_token&&!this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure)&&this.refreshHandler,l=o.config.data instanceof bA.Readable,f=s===401||s===403;if(!n&&f&&!l&&a)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!n&&f&&!l&&u){let d=await this.processAndValidateRefreshHandler();return d?.access_token&&this.setCredentials(d),this.requestAsync(e,!0)}}throw r}}verifyIdToken(e,n){if(n&&typeof n!="function")throw new Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");if(n)this.verifyIdTokenAsync(e).then(r=>n(null,r),n);else return this.verifyIdTokenAsync(e)}async verifyIdTokenAsync(e){if(!e.idToken)throw new Error("The verifyIdToken method requires an ID Token");let n=await this.getFederatedSignonCertsAsync();return await this.verifySignedJwtWithCertsAsync(e.idToken,n.certs,e.audience,this.issuers,e.maxExpiry)}async getTokenInfo(e){let{data:n}=await this.transporter.request({...t.RETRY_CONFIG,method:"POST",headers:{"content-type":"application/x-www-form-urlencoded;charset=UTF-8",authorization:`Bearer ${e}`},url:this.endpoints.tokenInfoUrl.toString()}),r=Object.assign({expiry_date:new Date().getTime()+n.expires_in*1e3,scopes:n.scope.split(" ")},n);return delete r.expires_in,delete r.scope,r}getFederatedSignonCerts(e){if(e)this.getFederatedSignonCertsAsync().then(n=>e(null,n.certs,n.res),e);else return this.getFederatedSignonCertsAsync()}async getFederatedSignonCertsAsync(){let e=new Date().getTime(),n=(0,_l.hasBrowserCrypto)()?vn.JWK:vn.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===n)return{certs:this.certificateCache,format:n};let r,o;switch(n){case vn.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case vn.JWK:o=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${n}`)}try{let f={...t.RETRY_CONFIG,url:o};oo.AuthClient.setMethodName(f,"getFederatedSignonCertsAsync"),r=await this.transporter.request(f)}catch(f){throw f instanceof Error&&(f.message=`Failed to retrieve verification certificates: ${f.message}`),f}let s=r?.headers.get("cache-control"),a=-1;if(s){let f=/max-age=(?<maxAge>[0-9]+)/.exec(s)?.groups?.maxAge;f&&(a=Number(f)*1e3)}let u={};switch(n){case vn.PEM:u=r.data;break;case vn.JWK:for(let f of r.data.keys)u[f.kid]=f;break;default:throw new Error(`Unsupported certificate format ${n}`)}let l=new Date;return this.certificateExpiry=a===-1?null:new Date(l.getTime()+a),this.certificateCache=u,this.certificateCacheFormat=n,{certs:u,format:n,res:r}}getIapPublicKeys(e){if(e)this.getIapPublicKeysAsync().then(n=>e(null,n.pubkeys,n.res),e);else return this.getIapPublicKeysAsync()}async getIapPublicKeysAsync(){let e,n=this.endpoints.oauth2IapPublicKeyUrl.toString();try{let r={...t.RETRY_CONFIG,url:n};oo.AuthClient.setMethodName(r,"getIapPublicKeysAsync"),e=await this.transporter.request(r)}catch(r){throw r instanceof Error&&(r.message=`Failed to retrieve verification certificates: ${r.message}`),r}return{pubkeys:e.data,res:e}}verifySignedJwtWithCerts(){throw new Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.")}async verifySignedJwtWithCertsAsync(e,n,r,o,s){let a=(0,_l.createCrypto)();s||(s=t.DEFAULT_MAX_TOKEN_LIFETIME_SECS_);let u=e.split(".");if(u.length!==3)throw new Error("Wrong number of segments in token: "+e);let l=u[0]+"."+u[1],f=u[2],d,h;try{d=JSON.parse(a.decodeBase64StringUtf8(u[0]))}catch(b){throw b instanceof Error&&(b.message=`Can't parse token envelope: ${u[0]}': ${b.message}`),b}if(!d)throw new Error("Can't parse token envelope: "+u[0]);try{h=JSON.parse(a.decodeBase64StringUtf8(u[1]))}catch(b){throw b instanceof Error&&(b.message=`Can't parse token payload '${u[0]}`),b}if(!h)throw new Error("Can't parse token payload: "+u[1]);if(!Object.prototype.hasOwnProperty.call(n,d.kid))throw new Error("No pem found for envelope: "+JSON.stringify(d));let m=n[d.kid];if(d.alg==="ES256"&&(f=CA.joseToDer(f,"ES256").toString("base64")),!await a.verify(m,l,f))throw new Error("Invalid token signature: "+e);if(!h.iat)throw new Error("No issue time in token: "+JSON.stringify(h));if(!h.exp)throw new Error("No expiration time in token: "+JSON.stringify(h));let w=Number(h.iat);if(isNaN(w))throw new Error("iat field using invalid format");let y=Number(h.exp);if(isNaN(y))throw new Error("exp field using invalid format");let g=new Date().getTime()/1e3;if(y>=g+s)throw new Error("Expiration time too far in future: "+JSON.stringify(h));let _=w-t.CLOCK_SKEW_SECS_,E=y+t.CLOCK_SKEW_SECS_;if(g<_)throw new Error("Token used too early, "+g+" < "+_+": "+JSON.stringify(h));if(g>E)throw new Error("Token used too late, "+g+" > "+E+": "+JSON.stringify(h));if(o&&o.indexOf(h.iss)<0)throw new Error("Invalid issuer, expected one of ["+o+"], but got "+h.iss);if(typeof r<"u"&&r!==null){let b=h.aud,S=!1;if(r.constructor===Array?S=r.indexOf(b)>-1:S=b===r,!S)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new wA.LoginTicket(d,h)}async processAndValidateRefreshHandler(){if(this.refreshHandler){let e=await this.refreshHandler();if(!e.access_token)throw new Error("No access token is returned by the refreshHandler callback.");return e}}isTokenExpiring(){let e=this.credentials.expiry_date;return e?e<=new Date().getTime()+this.eagerRefreshThresholdMillis:!1}};nn.OAuth2Client=bl});var wl=X(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.Compute=void 0;var EA=Xe(),uy=Yo(),kA=_r(),Cl=class extends kA.OAuth2Client{serviceAccountEmail;scopes;constructor(e={}){super(e),this.credentials={expiry_date:1,refresh_token:"compute-placeholder"},this.serviceAccountEmail=e.serviceAccountEmail||"default",this.scopes=Array.isArray(e.scopes)?e.scopes:e.scopes?[e.scopes]:[]}async refreshTokenNoCache(){let e=`service-accounts/${this.serviceAccountEmail}/token`,n;try{let o={property:e};this.scopes.length>0&&(o.params={scopes:this.scopes.join(",")}),n=await uy.instance(o)}catch(o){throw o instanceof EA.GaxiosError&&(o.message=`Could not refresh access token: ${o.message}`,this.wrapError(o)),o}let r=n;return n&&n.expires_in&&(r.expiry_date=new Date().getTime()+n.expires_in*1e3,delete r.expires_in),this.emit("tokens",r),{tokens:r,res:null}}async fetchIdToken(e){let n=`service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${e}`,r;try{let o={property:n};r=await uy.instance(o)}catch(o){throw o instanceof Error&&(o.message=`Could not fetch ID token: ${o.message}`),o}return r}wrapError(e){let n=e.response;n&&n.status&&(e.status=n.status,n.status===403?e.message="A Forbidden error was returned while attempting to retrieve an access token for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have the correct permission scopes specified: "+e.message:n.status===404&&(e.message="A Not Found error was returned while attempting to retrieve an accesstoken for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have any permission scopes specified: "+e.message))}};Zi.Compute=Cl});var kl=X(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.IdTokenClient=void 0;var AA=_r(),El=class extends AA.OAuth2Client{targetAudience;idTokenProvider;constructor(e){super(e),this.targetAudience=e.targetAudience,this.idTokenProvider=e.idTokenProvider}async getRequestMetadataAsync(){if(!this.credentials.id_token||!this.credentials.expiry_date||this.isTokenExpiring()){let n=await this.idTokenProvider.fetchIdToken(this.targetAudience);this.credentials={id_token:n,expiry_date:this.getIdTokenExpiryDate(n)}}return{headers:new Headers({authorization:"Bearer "+this.credentials.id_token})}}getIdTokenExpiryDate(e){let n=e.split(".")[1];if(n)return JSON.parse(Buffer.from(n,"base64").toString("ascii")).exp*1e3}};ea.IdTokenClient=El});var Al=X(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.GCPEnv=void 0;so.clear=SA;so.getEnv=vA;var cy=Yo(),rn;(function(t){t.APP_ENGINE="APP_ENGINE",t.KUBERNETES_ENGINE="KUBERNETES_ENGINE",t.CLOUD_FUNCTIONS="CLOUD_FUNCTIONS",t.COMPUTE_ENGINE="COMPUTE_ENGINE",t.CLOUD_RUN="CLOUD_RUN",t.CLOUD_RUN_JOBS="CLOUD_RUN_JOBS",t.NONE="NONE"})(rn||(so.GCPEnv=rn={}));var Zo;function SA(){Zo=void 0}async function vA(){return Zo||(Zo=TA(),Zo)}async function TA(){let t=rn.NONE;return DA()?t=rn.APP_ENGINE:RA()?t=rn.CLOUD_FUNCTIONS:await FA()?await PA()?t=rn.KUBERNETES_ENGINE:xA()?t=rn.CLOUD_RUN:OA()?t=rn.CLOUD_RUN_JOBS:t=rn.COMPUTE_ENGINE:t=rn.NONE,t}function DA(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function RA(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function xA(){return!!process.env.K_CONFIGURATION}function OA(){return!!process.env.CLOUD_RUN_JOB}async function PA(){try{return await cy.instance("attributes/cluster-name"),!0}catch{return!1}}async function FA(){return cy.isAvailable()}});var Sl=X((RP,ly)=>{var ta=ro().Buffer,IA=re("stream"),NA=re("util");function na(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=ta.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=ta.alloc(0),t.pipe(this),this;if(t.length||typeof t=="object")return this.buffer=t,this.writable=!1,process.nextTick(function(){this.emit("end",t),this.readable=!1,this.emit("close")}.bind(this)),this;throw new TypeError("Unexpected data type ("+typeof t+")")}NA.inherits(na,IA);na.prototype.write=function(e){this.buffer=ta.concat([this.buffer,ta.from(e)]),this.emit("data",e)};na.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};ly.exports=na});var fy=X((xP,dy)=>{"use strict";var es=re("buffer").Buffer,vl=re("buffer").SlowBuffer;dy.exports=ra;function ra(t,e){if(!es.isBuffer(t)||!es.isBuffer(e)||t.length!==e.length)return!1;for(var n=0,r=0;r<t.length;r++)n|=t[r]^e[r];return n===0}ra.install=function(){es.prototype.equal=vl.prototype.equal=function(e){return ra(this,e)}};var BA=es.prototype.equal,MA=vl.prototype.equal;ra.restore=function(){es.prototype.equal=BA,vl.prototype.equal=MA}});var xl=X((OP,wy)=>{var ao=ro().Buffer,Ot=re("crypto"),py=cl(),hy=re("util"),LA=`"%s" is not a valid algorithm.
|
|
51
51
|
Supported algorithms are:
|
|
52
|
-
"HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,ts="secret must be a string or buffer",io="key must be a string or a buffer",jA="key must be a string, a buffer or an object",Dl=typeof Ot.createPublicKey=="function";Dl&&(io+=" or a KeyObject",ts+="or a KeyObject");function my(t){if(!ao.isBuffer(t)&&typeof t!="string"&&(!Dl||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw Jt(io)}function gy(t){if(!ao.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw Jt(jA)}function UA(t){if(!ao.isBuffer(t)){if(typeof t=="string")return t;if(!Dl||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw Jt(ts)}}function Rl(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function yy(t){t=t.toString();var e=4-t.length%4;if(e!==4)for(var n=0;n<e;++n)t+="=";return t.replace(/\-/g,"+").replace(/_/g,"/")}function Jt(t){var e=[].slice.call(arguments,1),n=hy.format.bind(hy,t).apply(null,e);return new TypeError(n)}function $A(t){return ao.isBuffer(t)||typeof t=="string"}function ns(t){return $A(t)||(t=JSON.stringify(t)),t}function _y(t){return function(n,r){UA(r),n=ns(n);var o=Ot.createHmac("sha"+t,r),s=(o.update(n),o.digest("base64"));return Rl(s)}}var vl,qA="timingSafeEqual"in Ot?function(e,n){return e.byteLength!==n.byteLength?!1:Ot.timingSafeEqual(e,n)}:function(e,n){return vl||(vl=fy()),vl(e,n)};function zA(t){return function(n,r,o){var s=_y(t)(n,o);return qA(ao.from(r),ao.from(s))}}function by(t){return function(n,r){gy(r),n=ns(n);var o=Ot.createSign("RSA-SHA"+t),s=(o.update(n),o.sign(r,"base64"));return Rl(s)}}function Cy(t){return function(n,r,o){my(o),n=ns(n),r=yy(r);var s=Ot.createVerify("RSA-SHA"+t);return s.update(n),s.verify(o,r,"base64")}}function HA(t){return function(n,r){gy(r),n=ns(n);var o=Ot.createSign("RSA-SHA"+t),s=(o.update(n),o.sign({key:r,padding:Ot.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ot.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return Rl(s)}}function WA(t){return function(n,r,o){my(o),n=ns(n),r=yy(r);var s=Ot.createVerify("RSA-SHA"+t);return s.update(n),s.verify({key:o,padding:Ot.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ot.constants.RSA_PSS_SALTLEN_DIGEST},r,"base64")}}function GA(t){var e=by(t);return function(){var r=e.apply(null,arguments);return r=py.derToJose(r,"ES"+t),r}}function JA(t){var e=Cy(t);return function(r,o,s){o=py.joseToDer(o,"ES"+t).toString("base64");var a=e(r,o,s);return a}}function VA(){return function(){return""}}function KA(){return function(e,n){return n===""}}wy.exports=function(e){var n={hs:_y,rs:by,ps:HA,es:GA,none:VA},r={hs:zA,rs:Cy,ps:WA,es:JA,none:KA},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw Jt(LA,e);var s=(o[1]||o[3]).toLowerCase(),a=o[2];return{sign:n[s](a),verify:r[s](a)}}});var Ol=X((PP,Ey)=>{var YA=re("buffer").Buffer;Ey.exports=function(e){return typeof e=="string"?e:typeof e=="number"||YA.isBuffer(e)?e.toString():JSON.stringify(e)}});var Dy=X((FP,vy)=>{var QA=ro().Buffer,ky=Sl(),XA=xl(),ZA=re("stream"),Ay=Ol(),Pl=re("util");function Sy(t,e){return QA.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function eS(t,e,n){n=n||"utf8";var r=Sy(Ay(t),"binary"),o=Sy(Ay(e),n);return Pl.format("%s.%s",r,o)}function Ty(t){var e=t.header,n=t.payload,r=t.secret||t.privateKey,o=t.encoding,s=XA(e.alg),a=eS(e,n,o),u=s.sign(a,r);return Pl.format("%s.%s",a,u)}function oa(t){var e=t.secret||t.privateKey||t.key,n=new ky(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=n,this.payload=new ky(t.payload),this.secret.once("close",function(){!this.payload.writable&&this.readable&&this.sign()}.bind(this)),this.payload.once("close",function(){!this.secret.writable&&this.readable&&this.sign()}.bind(this))}Pl.inherits(oa,ZA);oa.prototype.sign=function(){try{var e=Ty({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",e),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(n){this.readable=!1,this.emit("error",n),this.emit("close")}};oa.sign=Ty;vy.exports=oa});var Ly=X((IP,My)=>{var xy=ro().Buffer,Ry=Sl(),tS=xl(),nS=re("stream"),Oy=Ol(),rS=re("util"),oS=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function sS(t){return Object.prototype.toString.call(t)==="[object Object]"}function iS(t){if(sS(t))return t;try{return JSON.parse(t)}catch{return}}function Py(t){var e=t.split(".",1)[0];return iS(xy.from(e,"base64").toString("binary"))}function aS(t){return t.split(".",2).join(".")}function Fy(t){return t.split(".")[2]}function uS(t,e){e=e||"utf8";var n=t.split(".")[1];return xy.from(n,"base64").toString(e)}function Iy(t){return oS.test(t)&&!!Py(t)}function Ny(t,e,n){if(!e){var r=new Error("Missing algorithm parameter for jws.verify");throw r.code="MISSING_ALGORITHM",r}t=Oy(t);var o=Fy(t),s=aS(t),a=tS(e);return a.verify(s,o,n)}function By(t,e){if(e=e||{},t=Oy(t),!Iy(t))return null;var n=Py(t);if(!n)return null;var r=uS(t);return(n.typ==="JWT"||e.json)&&(r=JSON.parse(r,e.encoding)),{header:n,payload:r,signature:Fy(t)}}function uo(t){t=t||{};var e=t.secret||t.publicKey||t.key,n=new Ry(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=n,this.signature=new Ry(t.signature),this.secret.once("close",function(){!this.signature.writable&&this.readable&&this.verify()}.bind(this)),this.signature.once("close",function(){!this.secret.writable&&this.readable&&this.verify()}.bind(this))}rS.inherits(uo,nS);uo.prototype.verify=function(){try{var e=Ny(this.signature.buffer,this.algorithm,this.key.buffer),n=By(this.signature.buffer,this.encoding);return this.emit("done",e,n),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(r){this.readable=!1,this.emit("error",r),this.emit("close")}};uo.decode=By;uo.isValid=Iy;uo.verify=Ny;My.exports=uo});var Fl=X(Vn=>{var jy=Dy(),sa=Ly(),cS=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Vn.ALGORITHMS=cS;Vn.sign=jy.sign;Vn.verify=sa.verify;Vn.decode=sa.decode;Vn.isValid=sa.isValid;Vn.createSign=function(e){return new jy(e)};Vn.createVerify=function(e){return new sa(e)}});var e0=X(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.GoogleToken=void 0;var Uy=ia(re("fs")),lS=Xe(),dS=ia(Fl()),fS=ia(re("path")),hS=re("util");function ia(t,e){if(typeof WeakMap=="function")var n=new WeakMap,r=new WeakMap;return(ia=function(s,a){if(!a&&s&&s.__esModule)return s;var u,l,f={__proto__:null,default:s};if(s===null||vn(s)!="object"&&typeof s!="function")return f;if(u=a?r:n){if(u.has(s))return u.get(s);u.set(s,f)}for(var d in s)d!=="default"&&{}.hasOwnProperty.call(s,d)&&((l=(u=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,d))&&(l.get||l.set)?u(f,d,l):f[d]=s[d]);return f})(t,e)}function vn(t){"@babel/helpers - typeof";return vn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vn(t)}function pS(t,e){Ky(t,e),e.add(t)}function mS(t,e,n){Ky(t,e),e.set(t,n)}function Ky(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function $y(t,e,n){return t.set(Vt(t,e),n),n}function qy(t,e){return t.get(Vt(t,e))}function Vt(t,e,n){if(typeof t=="function"?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}function zy(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,Xy(r.key),r)}}function Yy(t,e,n){return e&&zy(t.prototype,e),n&&zy(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function Qy(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function gS(t,e,n){return e=is(e),yS(t,jl()?Reflect.construct(e,n||[],is(t).constructor):e.apply(t,n))}function yS(t,e){if(e&&(vn(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _S(t)}function _S(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function bS(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&ss(t,e)}function Il(t){var e=typeof Map=="function"?new Map:void 0;return Il=function(r){if(r===null||!wS(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(r))return e.get(r);e.set(r,o)}function o(){return CS(r,arguments,is(this).constructor)}return o.prototype=Object.create(r.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),ss(o,r)},Il(t)}function CS(t,e,n){if(jl())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var o=new(t.bind.apply(t,r));return n&&ss(o,n.prototype),o}function jl(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(jl=function(){return!!t})()}function wS(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function ss(t,e){return ss=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},ss(t,e)}function is(t){return is=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},is(t)}function Ct(t,e,n){return(e=Xy(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Xy(t){var e=ES(t,"string");return vn(e)=="symbol"?e:e+""}function ES(t,e){if(vn(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e||"default");if(vn(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Et(){var t,e,n=typeof Symbol=="function"?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function s(C,w,y,g){var _=w&&w.prototype instanceof u?w:u,E=Object.create(_.prototype);return wt(E,"_invoke",(function(b,S,v){var R,$,H,P=0,K=v||[],q=!1,Y={p:0,n:0,v:t,a:Q,f:Q.bind(t,4),d:function(se,ie){return R=se,$=0,H=t,Y.n=ie,a}};function Q(ee,se){for($=ee,H=se,e=0;!q&&P&&!ie&&e<K.length;e++){var ie,pe=K[e],J=Y.p,Z=pe[2];ee>3?(ie=Z===se)&&(H=pe[($=pe[4])?5:($=3,3)],pe[4]=pe[5]=t):pe[0]<=J&&((ie=ee<2&&J<pe[1])?($=0,Y.v=se,Y.n=pe[1]):J<Z&&(ie=ee<3||pe[0]>se||se>Z)&&(pe[4]=ee,pe[5]=se,Y.n=Z,$=0))}if(ie||ee>1)return a;throw q=!0,se}return function(ee,se,ie){if(P>1)throw TypeError("Generator is already running");for(q&&se===1&&Q(se,ie),$=se,H=ie;(e=$<2?t:H)||!q;){R||($?$<3?($>1&&(Y.n=-1),Q($,H)):Y.n=H:Y.v=H);try{if(P=2,R){if($||(ee="next"),e=R[ee]){if(!(e=e.call(R,H)))throw TypeError("iterator result is not an object");if(!e.done)return e;H=e.value,$<2&&($=0)}else $===1&&(e=R.return)&&e.call(R),$<2&&(H=TypeError("The iterator does not provide a '"+ee+"' method"),$=1);R=t}else if((e=(q=Y.n<0)?H:b.call(S,Y))!==a)break}catch(pe){R=t,$=1,H=pe}finally{P=1}}return{value:e,done:q}}})(C,y,g),!0),E}var a={};function u(){}function l(){}function f(){}e=Object.getPrototypeOf;var d=[][r]?e(e([][r]())):(wt(e={},r,function(){return this}),e),h=f.prototype=u.prototype=Object.create(d);function m(C){return Object.setPrototypeOf?Object.setPrototypeOf(C,f):(C.__proto__=f,wt(C,o,"GeneratorFunction")),C.prototype=Object.create(h),C}return l.prototype=f,wt(h,"constructor",f),wt(f,"constructor",l),l.displayName="GeneratorFunction",wt(f,o,"GeneratorFunction"),wt(h),wt(h,o,"Generator"),wt(h,r,function(){return this}),wt(h,"toString",function(){return"[object Generator]"}),(Et=function(){return{w:s,m}})()}function wt(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}wt=function(a,u,l,f){if(u)o?o(a,u,{value:l,enumerable:!f,configurable:!f,writable:!f}):a[u]=l;else{var d=function(m,C){wt(a,m,function(w){return this._invoke(m,C,w)})};d("next",0),d("throw",1),d("return",2)}},wt(t,e,n,r)}function Hy(t,e,n,r,o,s,a){try{var u=t[s](a),l=u.value}catch(f){return void n(f)}u.done?e(l):Promise.resolve(l).then(r,o)}function co(t){return function(){var e=this,n=arguments;return new Promise(function(r,o){var s=t.apply(e,n);function a(l){Hy(s,r,o,a,u,"next",l)}function u(l){Hy(s,r,o,a,u,"throw",l)}a(void 0)})}}var Wy=Uy.readFile?(0,hS.promisify)(Uy.readFile):co(Et().m(function t(){return Et().w(function(e){for(;;)switch(e.n){case 0:throw new os("use key rather than keyFile.","MISSING_CREDENTIALS");case 1:return e.a(2)}},t)})),Gy="https://oauth2.googleapis.com/token",kS="https://oauth2.googleapis.com/revoke?token=",os=(function(t){function e(n,r){var o;return Qy(this,e),o=gS(this,e,[n]),Ct(o,"code",void 0),o.code=r,o}return bS(e,t),Yy(e)})(Il(Error)),rs=new WeakMap,on=new WeakSet,BP=aa.GoogleToken=(function(){function t(e){Qy(this,t),pS(this,on),Ct(this,"expiresAt",void 0),Ct(this,"key",void 0),Ct(this,"keyFile",void 0),Ct(this,"iss",void 0),Ct(this,"sub",void 0),Ct(this,"scope",void 0),Ct(this,"rawToken",void 0),Ct(this,"tokenExpires",void 0),Ct(this,"email",void 0),Ct(this,"additionalClaims",void 0),Ct(this,"eagerRefreshThresholdMillis",void 0),Ct(this,"transporter",{request:function(r){return(0,lS.request)(r)}}),mS(this,rs,void 0),Vt(on,this,Zy).call(this,e)}return Yy(t,[{key:"accessToken",get:function(){return this.rawToken?this.rawToken.access_token:void 0}},{key:"idToken",get:function(){return this.rawToken?this.rawToken.id_token:void 0}},{key:"tokenType",get:function(){return this.rawToken?this.rawToken.token_type:void 0}},{key:"refreshToken",get:function(){return this.rawToken?this.rawToken.refresh_token:void 0}},{key:"hasExpired",value:function(){var n=new Date().getTime();return this.rawToken&&this.expiresAt?n>=this.expiresAt:!0}},{key:"isTokenExpiring",value:function(){var n,r=new Date().getTime(),o=(n=this.eagerRefreshThresholdMillis)!==null&&n!==void 0?n:0;return this.rawToken&&this.expiresAt?this.expiresAt<=r+o:!0}},{key:"getToken",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(vn(n)==="object"&&(r=n,n=void 0),r=Object.assign({forceRefresh:!1},r),n){var o=n;Vt(on,this,Jy).call(this,r).then(function(s){return o(null,s)},n);return}return Vt(on,this,Jy).call(this,r)}},{key:"getCredentials",value:(function(){var e=co(Et().m(function r(o){var s,a,u,l,f,d,h;return Et().w(function(m){for(;;)switch(m.n){case 0:s=fS.extname(o),h=s,m.n=h===".json"?1:h===".der"||h===".crt"||h===".pem"?4:h===".p12"||h===".pfx"?6:7;break;case 1:return m.n=2,Wy(o,"utf8");case 2:if(a=m.v,u=JSON.parse(a),l=u.private_key,f=u.client_email,!(!l||!f)){m.n=3;break}throw new os("private_key and client_email are required.","MISSING_CREDENTIALS");case 3:return m.a(2,{privateKey:l,clientEmail:f});case 4:return m.n=5,Wy(o,"utf8");case 5:return d=m.v,m.a(2,{privateKey:d});case 6:throw new os("*.p12 certificates are not supported after v6.1.2. Consider utilizing *.json format or converting *.p12 to *.pem using the OpenSSL CLI.","UNKNOWN_CERTIFICATE_TYPE");case 7:throw new os("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE");case 8:return m.a(2)}},r)}));function n(r){return e.apply(this,arguments)}return n})()},{key:"revokeToken",value:function(n){if(n){Vt(on,this,Vy).call(this).then(function(){return n()},n);return}return Vt(on,this,Vy).call(this)}}])})();function Jy(t){return Nl.apply(this,arguments)}function Nl(){return Nl=co(Et().m(function t(e){return Et().w(function(n){for(;;)switch(n.n){case 0:if(!(qy(rs,this)&&!e.forceRefresh)){n.n=1;break}return n.a(2,qy(rs,this));case 1:return n.p=1,n.n=2,$y(rs,this,Vt(on,this,AS).call(this,e));case 2:return n.a(2,n.v);case 3:return n.p=3,$y(rs,this,void 0),n.f(3);case 4:return n.a(2)}},t,this,[[1,,3,4]])})),Nl.apply(this,arguments)}function AS(t){return Bl.apply(this,arguments)}function Bl(){return Bl=co(Et().m(function t(e){var n;return Et().w(function(r){for(;;)switch(r.n){case 0:if(!(this.isTokenExpiring()===!1&&e.forceRefresh===!1)){r.n=1;break}return r.a(2,Promise.resolve(this.rawToken));case 1:if(!(!this.key&&!this.keyFile)){r.n=2;break}throw new Error("No key or keyFile set.");case 2:if(!(!this.key&&this.keyFile)){r.n=4;break}return r.n=3,this.getCredentials(this.keyFile);case 3:n=r.v,this.key=n.privateKey,this.iss=n.clientEmail||this.iss,n.clientEmail||Vt(on,this,SS).call(this);case 4:return r.a(2,Vt(on,this,TS).call(this))}},t,this)})),Bl.apply(this,arguments)}function SS(){if(!this.iss)throw new os("email is required.","MISSING_CREDENTIALS")}function Vy(){return Ml.apply(this,arguments)}function Ml(){return Ml=co(Et().m(function t(){var e;return Et().w(function(n){for(;;)switch(n.n){case 0:if(this.accessToken){n.n=1;break}throw new Error("No token to revoke.");case 1:return e=kS+this.accessToken,n.n=2,this.transporter.request({url:e,retry:!0});case 2:Vt(on,this,Zy).call(this,{email:this.iss,sub:this.sub,key:this.key,keyFile:this.keyFile,scope:this.scope,additionalClaims:this.additionalClaims});case 3:return n.a(2)}},t,this)})),Ml.apply(this,arguments)}function Zy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.keyFile=t.keyFile,this.key=t.key,this.rawToken=void 0,this.iss=t.email||t.iss,this.sub=t.sub,this.additionalClaims=t.additionalClaims,vn(t.scope)==="object"?this.scope=t.scope.join(" "):this.scope=t.scope,this.eagerRefreshThresholdMillis=t.eagerRefreshThresholdMillis,t.transporter&&(this.transporter=t.transporter)}function TS(){return Ll.apply(this,arguments)}function Ll(){return Ll=co(Et().m(function t(){var e,n,r,o,s,a,u,l,f,d;return Et().w(function(h){for(;;)switch(h.n){case 0:return e=Math.floor(new Date().getTime()/1e3),n=this.additionalClaims||{},r=Object.assign({iss:this.iss,scope:this.scope,aud:Gy,exp:e+3600,iat:e,sub:this.sub},n),o=dS.sign({header:{alg:"RS256"},payload:r,secret:this.key}),h.p=1,h.n=2,this.transporter.request({method:"POST",url:Gy,data:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:o}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});case 2:return s=h.v,this.rawToken=s.data,this.expiresAt=s.data.expires_in===null||s.data.expires_in===void 0?void 0:(e+s.data.expires_in)*1e3,h.a(2,this.rawToken);case 3:throw h.p=3,d=h.v,this.rawToken=void 0,this.tokenExpires=void 0,l=d.response&&(a=d.response)!==null&&a!==void 0&&a.data?(u=d.response)===null||u===void 0?void 0:u.data:{},l.error&&(f=l.error_description?": ".concat(l.error_description):"",d.message="".concat(l.error).concat(f)),d;case 4:return h.a(2)}},t,this,[[1,3]])})),Ll.apply(this,arguments)}});var $l=X(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.JWTAccess=void 0;var vS=Fl(),DS=Wt(),t0={alg:"RS256",typ:"JWT"},Ul=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new DS.LRUCache({capacity:500,maxAge:3600*1e3});constructor(e,n,r,o){this.email=e,this.key=n,this.keyId=r,this.eagerRefreshThresholdMillis=o??300*1e3}getCachedKey(e,n){let r=e;if(n&&Array.isArray(n)&&n.length?r=e?`${e}_${n.join("_")}`:`${n.join("_")}`:typeof n=="string"&&(r=e?`${e}_${n}`:n),!r)throw Error("Scopes or url must be provided");return r}getRequestHeaders(e,n,r){let o=this.getCachedKey(e,r),s=this.cache.get(o),a=Date.now();if(s&&s.expiration-a>this.eagerRefreshThresholdMillis)return new Headers(s.headers);let u=Math.floor(Date.now()/1e3),l=t.getExpirationTime(u),f;if(Array.isArray(r)&&(r=r.join(" ")),r?f={iss:this.email,sub:this.email,scope:r,exp:l,iat:u}:f={iss:this.email,sub:this.email,aud:e,exp:l,iat:u},n){for(let w in f)if(n[w])throw new Error(`The '${w}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let d=this.keyId?{...t0,kid:this.keyId}:t0,h=Object.assign(f,n),m=vS.sign({header:d,payload:h,secret:this.key}),C=new Headers({authorization:`Bearer ${m}`});return this.cache.set(o,{expiration:l*1e3,headers:C}),C}static getExpirationTime(e){return e+3600}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id}fromStream(e,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((n,r)=>{e||r(new Error("Must pass in a stream containing the service account auth settings."));let o="";e.setEncoding("utf8").on("data",s=>o+=s).on("error",r).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),n()}catch(s){r(s)}})})}};ua.JWTAccess=Ul});var zl=X(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.JWT=void 0;var n0=e0(),RS=$l(),xS=_r(),ca=bt(),ql=class t extends xS.OAuth2Client{email;keyFile;key;keyId;defaultScopes;scopes;scope;subject;gtoken;additionalClaims;useJWTAccessWithScope;defaultServicePath;access;constructor(e={}){super(e),this.email=e.email,this.keyFile=e.keyFile,this.key=e.key,this.keyId=e.keyId,this.scopes=e.scopes,this.subject=e.subject,this.additionalClaims=e.additionalClaims,this.credentials={refresh_token:"jwt-placeholder",expiry_date:1}}createScoped(e){let n=new t(this);return n.scopes=e,n}async getRequestMetadataAsync(e){e=this.defaultServicePath?`https://${this.defaultServicePath}/`:e;let n=!this.hasUserScopes()&&e||this.useJWTAccessWithScope&&this.hasAnyScopes()||this.universeDomain!==ca.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==ca.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${ca.DEFAULT_UNIVERSE}`);if(!this.apiKey&&n)if(this.additionalClaims&&this.additionalClaims.target_audience){let{tokens:r}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders(new Headers({authorization:`Bearer ${r.id_token}`}))}}else{this.access||(this.access=new RS.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis));let r;this.hasUserScopes()?r=this.scopes:e||(r=this.defaultScopes);let o=this.useJWTAccessWithScope||this.universeDomain!==ca.DEFAULT_UNIVERSE,s=await this.access.getRequestHeaders(e??void 0,this.additionalClaims,o?r:void 0);return{headers:this.addSharedMetadataHeaders(s)}}else return this.hasAnyScopes()||this.apiKey?super.getRequestMetadataAsync(e):{headers:new Headers}}async fetchIdToken(e){let n=new n0.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:{target_audience:e},transporter:this.transporter});if(await n.getToken({forceRefresh:!0}),!n.idToken)throw new Error("Unknown error: Failed to fetch ID token");return n.idToken}hasUserScopes(){return this.scopes?this.scopes.length>0:!1}hasAnyScopes(){return!!(this.scopes&&this.scopes.length>0||this.defaultScopes&&this.defaultScopes.length>0)}authorize(e){if(e)this.authorizeAsync().then(n=>e(null,n),e);else return this.authorizeAsync()}async authorizeAsync(){let e=await this.refreshToken();if(!e)throw new Error("No result returned");return this.credentials=e.tokens,this.credentials.refresh_token="jwt-placeholder",this.key=this.gtoken.key,this.email=this.gtoken.iss,e.tokens}async refreshTokenNoCache(){let e=this.createGToken(),r={access_token:(await e.getToken({forceRefresh:this.isTokenExpiring()})).access_token,token_type:"Bearer",expiry_date:e.expiresAt,id_token:e.idToken};return this.emit("tokens",r),{res:null,tokens:r}}createGToken(){return this.gtoken||(this.gtoken=new n0.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:this.additionalClaims,transporter:this.transporter})),this.gtoken}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((n,r)=>{if(!e)throw new Error("Must pass in a stream containing the service account auth settings.");let o="";e.setEncoding("utf8").on("error",r).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),n()}catch(s){r(s)}})})}fromAPIKey(e){if(typeof e!="string")throw new Error("Must provide an API Key string.");this.apiKey=e}async getCredentials(){if(this.key)return{private_key:this.key,client_email:this.email};if(this.keyFile){let n=await this.createGToken().getCredentials(this.keyFile);return{private_key:n.privateKey,client_email:n.clientEmail}}throw new Error("A key or a keyFile must be provided to getCredentials.")}};la.JWT=ql});var Wl=X(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.UserRefreshClient=lo.USER_REFRESH_ACCOUNT_TYPE=void 0;var OS=_r(),PS=bt();lo.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var Hl=class t extends OS.OAuth2Client{_refreshToken;constructor(e,n,r,o,s){let a=e&&typeof e=="object"?e:{clientId:e,clientSecret:n,refreshToken:r,eagerRefreshThresholdMillis:o,forceRefreshOnFailure:s};super(a),this._refreshToken=a.refreshToken,this.credentials.refresh_token=a.refreshToken}async refreshTokenNoCache(){return super.refreshTokenNoCache(this._refreshToken)}async fetchIdToken(e){let n={...t.RETRY_CONFIG,url:this.endpoints.oauth2TokenUrl,method:"POST",data:new URLSearchParams({client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token",refresh_token:this._refreshToken,target_audience:e})};return PS.AuthClient.setMethodName(n,"fetchIdToken"),(await this.transporter.request(n)).data.id_token}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the user refresh token");if(e.type!=="authorized_user")throw new Error('The incoming JSON object does not have the "authorized_user" type');if(!e.client_id)throw new Error("The incoming JSON object does not contain a client_id field");if(!e.client_secret)throw new Error("The incoming JSON object does not contain a client_secret field");if(!e.refresh_token)throw new Error("The incoming JSON object does not contain a refresh_token field");this._clientId=e.client_id,this._clientSecret=e.client_secret,this._refreshToken=e.refresh_token,this.credentials.refresh_token=e.refresh_token,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}async fromStreamAsync(e){return new Promise((n,r)=>{if(!e)return r(new Error("Must pass in a stream containing the user refresh token."));let o="";e.setEncoding("utf8").on("error",r).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);return this.fromJSON(s),n()}catch(s){return r(s)}})})}static fromJSON(e){let n=new t;return n.fromJSON(e),n}};lo.UserRefreshClient=Hl});var Jl=X(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.Impersonated=fo.IMPERSONATED_ACCOUNT_TYPE=void 0;var r0=_r(),FS=Xe(),IS=Wt();fo.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var Gl=class t extends r0.OAuth2Client{sourceClient;targetPrincipal;targetScopes;delegates;lifetime;endpoint;constructor(e={}){if(super(e),console.warn("The `Impersonated` constructor does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.credentials={expiry_date:1,refresh_token:"impersonated-placeholder"},this.sourceClient=e.sourceClient??new r0.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,IS.originalOrCamelOptions)(e).get("universe_domain"))this.universeDomain=this.sourceClient.universeDomain;else if(this.sourceClient.universeDomain!==this.universeDomain)throw new RangeError(`Universe domain ${this.sourceClient.universeDomain} in source credentials does not match ${this.universeDomain} universe domain set for impersonated credentials.`);this.endpoint=e.endpoint??`https://iamcredentials.${this.universeDomain}`}async sign(e){await this.sourceClient.getAccessToken();let n=`projects/-/serviceAccounts/${this.targetPrincipal}`,r=`${this.endpoint}/v1/${n}:signBlob`,o={delegates:this.delegates,payload:Buffer.from(e).toString("base64")};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:r,data:o,method:"POST"})).data}getTargetPrincipal(){return this.targetPrincipal}async refreshToken(){try{await this.sourceClient.getAccessToken();let e="projects/-/serviceAccounts/"+this.targetPrincipal,n=`${this.endpoint}/v1/${e}:generateAccessToken`,r={delegates:this.delegates,scope:this.targetScopes,lifetime:this.lifetime+"s"},o=await this.sourceClient.request({...t.RETRY_CONFIG,url:n,data:r,method:"POST"}),s=o.data;return this.credentials.access_token=s.accessToken,this.credentials.expiry_date=Date.parse(s.expireTime),{tokens:this.credentials,res:o}}catch(e){if(!(e instanceof Error))throw e;let n=0,r="";throw e instanceof FS.GaxiosError&&(n=e?.response?.data?.error?.status,r=e?.response?.data?.error?.message),n&&r?(e.message=`${n}: unable to impersonate: ${r}`,e):(e.message=`unable to impersonate: ${e}`,e)}}async fetchIdToken(e,n){await this.sourceClient.getAccessToken();let r=`projects/-/serviceAccounts/${this.targetPrincipal}`,o=`${this.endpoint}/v1/${r}:generateIdToken`,s={delegates:this.delegates,audience:e,includeEmail:n?.includeEmail??!0,useEmailAzp:n?.includeEmail??!0};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:o,data:s,method:"POST"})).data.token}};fo.Impersonated=Gl});var Kl=X(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});as.OAuthClientAuthHandler=void 0;as.getErrorFromOAuthErrorResponse=MS;var ho=Xe(),NS=Qo(),BS=["PUT","POST","PATCH"],Vl=class{#e=(0,NS.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new ho.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new ho.Gaxios)}applyClientAuthenticationOptions(e,n){e.headers=ho.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,n),n||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,n){if(n)e.headers=ho.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${n}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=ho.Gaxios.mergeHeaders(e.headers);let r=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${r}:${o}`);ho.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let n=(e.method||"GET").toUpperCase();if(!BS.includes(n))throw new Error(`${n} HTTP method does not support ${this.#t.confidentialClientType} client authentication`);let o=new Headers(e.headers).get("content-type");if(o?.startsWith("application/x-www-form-urlencoded")||e.data instanceof URLSearchParams){let s=new URLSearchParams(e.data??"");s.append("client_id",this.#t.clientId),s.append("client_secret",this.#t.clientSecret||""),e.data=s}else if(o?.startsWith("application/json"))e.data=e.data||{},Object.assign(e.data,{client_id:this.#t.clientId,client_secret:this.#t.clientSecret||""});else throw new Error(`${o} content-types are not supported with ${this.#t.confidentialClientType} client authentication`)}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};as.OAuthClientAuthHandler=Vl;function MS(t,e){let n=t.error,r=t.error_description,o=t.error_uri,s=`Error code ${n}`;typeof r<"u"&&(s+=`: ${r}`),typeof o<"u"&&(s+=` - ${o}`);let a=new Error(s);if(e){let u=Object.keys(e);e.stack&&u.push("stack"),u.forEach(l=>{l!=="message"&&Object.defineProperty(a,l,{value:e[l],writable:!1,enumerable:!0})})}return a}});var fa=X(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.StsCredentials=void 0;var LS=Xe(),jS=bt(),o0=Kl(),US=Wt(),Yl=class t extends o0.OAuthClientAuthHandler{#e;constructor(e={tokenExchangeEndpoint:""},n){(typeof e!="object"||e instanceof URL)&&(e={tokenExchangeEndpoint:e,clientAuthentication:n}),super(e),this.#e=e.tokenExchangeEndpoint}async exchangeToken(e,n,r){let o={grant_type:e.grantType,resource:e.resource,audience:e.audience,scope:e.scope?.join(" "),requested_token_type:e.requestedTokenType,subject_token:e.subjectToken,subject_token_type:e.subjectTokenType,actor_token:e.actingParty?.actorToken,actor_token_type:e.actingParty?.actorTokenType,options:r&&JSON.stringify(r)},s={...t.RETRY_CONFIG,url:this.#e.toString(),method:"POST",headers:n,data:new URLSearchParams((0,US.removeUndefinedValuesInObject)(o))};jS.AuthClient.setMethodName(s,"exchangeToken"),this.applyClientAuthenticationOptions(s);try{let a=await this.transporter.request(s),u=a.data;return u.res=a,u}catch(a){throw a instanceof LS.GaxiosError&&a.response?(0,o0.getErrorFromOAuthErrorResponse)(a.response.data,a):a}}};da.StsCredentials=Yl});var Kn=X(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.BaseExternalAccountClient=Pt.CLOUD_RESOURCE_MANAGER=Pt.EXTERNAL_ACCOUNT_TYPE=Pt.EXPIRATION_TIME_OFFSET=void 0;var $S=Xe(),qS=re("stream"),Ql=bt(),zS=fa(),s0=Wt(),HS=fl(),WS="urn:ietf:params:oauth:grant-type:token-exchange",GS="urn:ietf:params:oauth:token-type:access_token",Xl="https://www.googleapis.com/auth/cloud-platform",JS=3600;Pt.EXPIRATION_TIME_OFFSET=300*1e3;Pt.EXTERNAL_ACCOUNT_TYPE="external_account";Pt.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var VS="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",KS="https://sts.{universeDomain}/v1/token",Zl=class t extends Ql.AuthClient{scopes;projectNumber;audience;subjectTokenType;stsCredential;clientAuth;credentialSourceType;cachedAccessToken;serviceAccountImpersonationUrl;serviceAccountImpersonationLifetime;workforcePoolUserProject;configLifetimeRequested;tokenUrl;cloudResourceManagerURL;supplierContext;#e=null;constructor(e){super(e);let n=(0,s0.originalOrCamelOptions)(e),r=n.get("type");if(r&&r!==Pt.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${Pt.EXTERNAL_ACCOUNT_TYPE}" type but received "${e.type}"`);let o=n.get("client_id"),s=n.get("client_secret");this.tokenUrl=n.get("token_url")??KS.replace("{universeDomain}",this.universeDomain);let a=n.get("subject_token_type"),u=n.get("workforce_pool_user_project"),l=n.get("service_account_impersonation_url"),f=n.get("service_account_impersonation"),d=(0,s0.originalOrCamelOptions)(f).get("token_lifetime_seconds");this.cloudResourceManagerURL=new URL(n.get("cloud_resource_manager_url")||`https://cloudresourcemanager.${this.universeDomain}/v1/projects/`),o&&(this.clientAuth={confidentialClientType:"basic",clientId:o,clientSecret:s}),this.stsCredential=new zS.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=n.get("scopes")||[Xl],this.cachedAccessToken=null,this.audience=n.get("audience"),this.subjectTokenType=a,this.workforcePoolUserProject=u;let h=new RegExp(VS);if(this.workforcePoolUserProject&&!this.audience.match(h))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=l,this.serviceAccountImpersonationLifetime=d,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=JS),this.projectNumber=this.getProjectNumber(this.audience),this.supplierContext={audience:this.audience,subjectTokenType:this.subjectTokenType,transporter:this.transporter}}getServiceAccountEmail(){if(this.serviceAccountImpersonationUrl){if(this.serviceAccountImpersonationUrl.length>256)throw new RangeError(`URL is too long: ${this.serviceAccountImpersonationUrl}`);return/serviceAccounts\/(?<email>[^:]+):generateAccessToken$/.exec(this.serviceAccountImpersonationUrl)?.groups?.email||null}return null}setCredentials(e){super.setCredentials(e),this.cachedAccessToken=e}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async getProjectId(){let e=this.projectNumber||this.workforcePoolUserProject;if(this.projectId)return this.projectId;if(e){let n=await this.getRequestHeaders(),r={...t.RETRY_CONFIG,headers:n,url:`${this.cloudResourceManagerURL.toString()}${e}`};Ql.AuthClient.setMethodName(r,"getProjectId");let o=await this.transporter.request(r);return this.projectId=o.data.projectId,this.projectId}return null}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=$S.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,u=s.config.data instanceof qS.Readable;if(!n&&(a===401||a===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}async refreshAccessTokenAsync(){this.#e=this.#e||this.#t();try{return await this.#e}finally{this.#e=null}}async#t(){let e=await this.retrieveSubjectToken(),n={grantType:WS,audience:this.audience,requestedTokenType:GS,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Xl]:this.getScopesArray()},r=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,o=new Headers({"x-goog-api-client":this.getMetricsHeaderValue()}),s=await this.stsCredential.exchangeToken(n,o,r);return this.serviceAccountImpersonationUrl?this.cachedAccessToken=await this.getImpersonatedAccessToken(s.access_token):s.expires_in?this.cachedAccessToken={access_token:s.access_token,expiry_date:new Date().getTime()+s.expires_in*1e3,res:s.res}:this.cachedAccessToken={access_token:s.access_token,res:s.res},this.credentials={},Object.assign(this.credentials,this.cachedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedAccessToken.expiry_date,access_token:this.cachedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedAccessToken}getProjectNumber(e){let n=e.match(/\/projects\/([^/]+)/);return n?n[1]:null}async getImpersonatedAccessToken(e){let n={...t.RETRY_CONFIG,url:this.serviceAccountImpersonationUrl,method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e}`},data:{scope:this.getScopesArray(),lifetime:this.serviceAccountImpersonationLifetime+"s"}};Ql.AuthClient.setMethodName(n,"getImpersonatedAccessToken");let r=await this.transporter.request(n),o=r.data;return{access_token:o.accessToken,expiry_date:new Date(o.expireTime).getTime(),res:r}}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}getScopesArray(){return typeof this.scopes=="string"?[this.scopes]:this.scopes||[Xl]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),n=this.serviceAccountImpersonationUrl!==void 0,r=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${HS.pkg.version} google-byoid-sdk source/${r} sa-impersonation/${n} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};Pt.BaseExternalAccountClient=Zl});var i0=X(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.FileSubjectTokenSupplier=void 0;var td=re("util"),nd=re("fs"),YS=(0,td.promisify)(nd.readFile??(()=>{})),QS=(0,td.promisify)(nd.realpath??(()=>{})),XS=(0,td.promisify)(nd.lstat??(()=>{})),ed=class{filePath;formatType;subjectTokenFieldName;constructor(e){this.filePath=e.filePath,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName}async getSubjectToken(){let e=this.filePath;try{if(e=await QS(e),!(await XS(e)).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let n,r=await YS(e,{encoding:"utf8"});if(this.formatType==="text"?n=r:this.formatType==="json"&&this.subjectTokenFieldName&&(n=JSON.parse(r)[this.subjectTokenFieldName]),!n)throw new Error("Unable to parse the subject_token from the credential_source file");return n}};ha.FileSubjectTokenSupplier=ed});var a0=X(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.UrlSubjectTokenSupplier=void 0;var ZS=bt(),rd=class{url;headers;formatType;subjectTokenFieldName;additionalGaxiosOptions;constructor(e){this.url=e.url,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName,this.headers=e.headers,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getSubjectToken(e){let n={...this.additionalGaxiosOptions,url:this.url,method:"GET",headers:this.headers};ZS.AuthClient.setMethodName(n,"getSubjectToken");let r;if(this.formatType==="text"?r=(await e.transporter.request(n)).data:this.formatType==="json"&&this.subjectTokenFieldName&&(r=(await e.transporter.request(n)).data[this.subjectTokenFieldName]),!r)throw new Error("Unable to parse the subject_token from the credential_source URL");return r}};pa.UrlSubjectTokenSupplier=rd});var u0=X(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.CertificateSubjectTokenSupplier=kt.InvalidConfigurationError=kt.CertificateSourceUnavailableError=kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var ma=Wt(),ga=re("fs"),ya=re("crypto"),eT=re("https");kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var sn=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};kt.CertificateSourceUnavailableError=sn;var Ft=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};kt.InvalidConfigurationError=Ft;var od=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Ft("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Ft("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Ft("Cannot create mTLS Agent with missing certificate or key");return new eT.Agent({key:this.key,cert:this.cert})}async getSubjectToken(){this.certificateConfigPath=await this.#e();let{certPath:e,keyPath:n}=await this.#t();return{cert:this.cert,key:this.key}=await this.#n(e,n),await this.#r(this.cert)}async#e(){let e=this.certificateConfigPath;if(e){if(await(0,ma.isValidFile)(e))return e;throw new sn(`Provided certificate config path is invalid: ${e}`)}let n=process.env[kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(n){if(await(0,ma.isValidFile)(n))return n;throw new sn(`Path from environment variable "${kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${n}`)}let r=(0,ma.getWellKnownCertificateConfigFileLocation)();if(await(0,ma.isValidFile)(r))return r;throw new sn(`Could not find certificate configuration file. Searched override path, the "${kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${r}).`)}async#t(){let e=this.certificateConfigPath,n;try{n=await ga.promises.readFile(e,"utf8")}catch{throw new sn(`Failed to read certificate config file at: ${e}`)}try{let r=JSON.parse(n),o=r?.cert_configs?.workload?.cert_path,s=r?.cert_configs?.workload?.key_path;if(!o||!s)throw new Ft(`Certificate config file (${e}) is missing required "cert_path" or "key_path" in the workload config.`);return{certPath:o,keyPath:s}}catch(r){throw r instanceof Ft?r:new Ft(`Failed to parse certificate config from ${e}: ${r.message}`)}}async#n(e,n){let r,o;try{r=await ga.promises.readFile(e),new ya.X509Certificate(r)}catch(s){let a=s instanceof Error?s.message:String(s);throw new sn(`Failed to read certificate file at ${e}: ${a}`)}try{o=await ga.promises.readFile(n),(0,ya.createPrivateKey)(o)}catch(s){let a=s instanceof Error?s.message:String(s);throw new sn(`Failed to read private key file at ${n}: ${a}`)}return{cert:r,key:o}}async#r(e){let n=new ya.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([n.raw.toString("base64")]);try{let s=((await ga.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((l,f)=>{try{return new ya.X509Certificate(l)}catch(d){let h=d instanceof Error?d.message:String(d);throw new Ft(`Failed to parse certificate at index ${f} in trust chain file ${this.trustChainPath}: ${h}`)}}),a=s.findIndex(l=>n.raw.equals(l.raw)),u;if(a===-1)u=[n,...s];else if(a===0)u=s;else throw new Ft(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${a}).`);return JSON.stringify(u.map(l=>l.raw.toString("base64")))}catch(r){if(r instanceof Ft)throw r;let o=r instanceof Error?r.message:String(r);throw new sn(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};kt.CertificateSubjectTokenSupplier=od});var ad=X(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.IdentityPoolClient=void 0;var tT=Kn(),sd=Wt(),nT=i0(),rT=a0(),c0=u0(),oT=fa(),l0=Xe(),id=class t extends tT.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let n=(0,sd.originalOrCamelOptions)(e),r=n.get("credential_source"),o=n.get("subject_token_supplier");if(!r&&!o)throw new Error("A credential source or subject token supplier must be specified.");if(r&&o)throw new Error("Only one of credential source or subject token supplier can be specified.");if(o)this.subjectTokenSupplier=o,this.credentialSourceType="programmatic";else{let s=(0,sd.originalOrCamelOptions)(r),a=(0,sd.originalOrCamelOptions)(s.get("format")),u=a.get("type")||"text",l=a.get("subject_token_field_name");if(u!=="json"&&u!=="text")throw new Error(`Invalid credential_source format "${u}"`);if(u==="json"&&!l)throw new Error("Missing subject_token_field_name for JSON credential_source format");let f=s.get("file"),d=s.get("url"),h=s.get("certificate"),m=s.get("headers");if(f&&d||d&&h||f&&h)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(f)this.credentialSourceType="file",this.subjectTokenSupplier=new nT.FileSubjectTokenSupplier({filePath:f,formatType:u,subjectTokenFieldName:l});else if(d)this.credentialSourceType="url",this.subjectTokenSupplier=new rT.UrlSubjectTokenSupplier({url:d,formatType:u,subjectTokenFieldName:l,headers:m,additionalGaxiosOptions:t.RETRY_CONFIG});else if(h){this.credentialSourceType="certificate";let C=new c0.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:h.use_default_certificate_config,certificateConfigLocation:h.certificate_config_location,trustChainPath:h.trust_chain_path});this.subjectTokenSupplier=C}else throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.')}}async retrieveSubjectToken(){let e=await this.subjectTokenSupplier.getSubjectToken(this.supplierContext);if(this.subjectTokenSupplier instanceof c0.CertificateSubjectTokenSupplier){let n=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new oT.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new l0.Gaxios({agent:n})}),this.transporter=new l0.Gaxios({...this.transporter.defaults||{},agent:n})}return e}};_a.IdentityPoolClient=id});var cd=X(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.AwsRequestSigner=void 0;var ba=Xe(),f0=Qo(),d0="AWS4-HMAC-SHA256",sT="aws4_request",ud=class{getCredentials;region;crypto;constructor(e,n){this.getCredentials=e,this.region=n,this.crypto=(0,f0.createCrypto)()}async getRequestOptions(e){if(!e.url)throw new RangeError('"url" is required in "amzOptions"');let n=typeof e.data=="object"?JSON.stringify(e.data):e.data,r=e.url,o=e.method||"GET",s=e.body||n,a=e.headers,u=await this.getCredentials(),l=new URL(r);if(typeof s!="string"&&s!==void 0)throw new TypeError(`'requestPayload' is expected to be a string if provided. Got: ${s}`);let f=await aT({crypto:this.crypto,host:l.host,canonicalUri:l.pathname,canonicalQuerystring:l.search.slice(1),method:o,region:this.region,securityCredentials:u,requestPayload:s,additionalAmzHeaders:a}),d=ba.Gaxios.mergeHeaders(f.amzDate?{"x-amz-date":f.amzDate}:{},{authorization:f.authorizationHeader,host:l.host},a||{});u.token&&ba.Gaxios.mergeHeaders(d,{"x-amz-security-token":u.token});let h={url:r,method:o,headers:d};return s!==void 0&&(h.body=s),h}};Ca.AwsRequestSigner=ud;async function us(t,e,n){return await t.signWithHmacSha256(e,n)}async function iT(t,e,n,r,o){let s=await us(t,`AWS4${e}`,n),a=await us(t,s,r),u=await us(t,a,o);return await us(t,u,"aws4_request")}async function aT(t){let e=ba.Gaxios.mergeHeaders(t.additionalAmzHeaders),n=t.requestPayload||"",r=t.host.split(".")[0],o=new Date,s=o.toISOString().replace(/[-:]/g,"").replace(/\.[0-9]+/,""),a=o.toISOString().replace(/[-]/g,"").replace(/T.*/,"");t.securityCredentials.token&&e.set("x-amz-security-token",t.securityCredentials.token);let u=ba.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":s},e),l="",f=[...u.keys()].sort();f.forEach(E=>{l+=`${E}:${u.get(E)}
|
|
52
|
+
"HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,ts="secret must be a string or buffer",io="key must be a string or a buffer",jA="key must be a string, a buffer or an object",Dl=typeof Ot.createPublicKey=="function";Dl&&(io+=" or a KeyObject",ts+="or a KeyObject");function my(t){if(!ao.isBuffer(t)&&typeof t!="string"&&(!Dl||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw Jt(io)}function gy(t){if(!ao.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw Jt(jA)}function UA(t){if(!ao.isBuffer(t)){if(typeof t=="string")return t;if(!Dl||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw Jt(ts)}}function Rl(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function yy(t){t=t.toString();var e=4-t.length%4;if(e!==4)for(var n=0;n<e;++n)t+="=";return t.replace(/\-/g,"+").replace(/_/g,"/")}function Jt(t){var e=[].slice.call(arguments,1),n=hy.format.bind(hy,t).apply(null,e);return new TypeError(n)}function $A(t){return ao.isBuffer(t)||typeof t=="string"}function ns(t){return $A(t)||(t=JSON.stringify(t)),t}function _y(t){return function(n,r){UA(r),n=ns(n);var o=Ot.createHmac("sha"+t,r),s=(o.update(n),o.digest("base64"));return Rl(s)}}var Tl,qA="timingSafeEqual"in Ot?function(e,n){return e.byteLength!==n.byteLength?!1:Ot.timingSafeEqual(e,n)}:function(e,n){return Tl||(Tl=fy()),Tl(e,n)};function zA(t){return function(n,r,o){var s=_y(t)(n,o);return qA(ao.from(r),ao.from(s))}}function by(t){return function(n,r){gy(r),n=ns(n);var o=Ot.createSign("RSA-SHA"+t),s=(o.update(n),o.sign(r,"base64"));return Rl(s)}}function Cy(t){return function(n,r,o){my(o),n=ns(n),r=yy(r);var s=Ot.createVerify("RSA-SHA"+t);return s.update(n),s.verify(o,r,"base64")}}function HA(t){return function(n,r){gy(r),n=ns(n);var o=Ot.createSign("RSA-SHA"+t),s=(o.update(n),o.sign({key:r,padding:Ot.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ot.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return Rl(s)}}function WA(t){return function(n,r,o){my(o),n=ns(n),r=yy(r);var s=Ot.createVerify("RSA-SHA"+t);return s.update(n),s.verify({key:o,padding:Ot.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ot.constants.RSA_PSS_SALTLEN_DIGEST},r,"base64")}}function GA(t){var e=by(t);return function(){var r=e.apply(null,arguments);return r=py.derToJose(r,"ES"+t),r}}function JA(t){var e=Cy(t);return function(r,o,s){o=py.joseToDer(o,"ES"+t).toString("base64");var a=e(r,o,s);return a}}function VA(){return function(){return""}}function KA(){return function(e,n){return n===""}}wy.exports=function(e){var n={hs:_y,rs:by,ps:HA,es:GA,none:VA},r={hs:zA,rs:Cy,ps:WA,es:JA,none:KA},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw Jt(LA,e);var s=(o[1]||o[3]).toLowerCase(),a=o[2];return{sign:n[s](a),verify:r[s](a)}}});var Ol=X((PP,Ey)=>{var YA=re("buffer").Buffer;Ey.exports=function(e){return typeof e=="string"?e:typeof e=="number"||YA.isBuffer(e)?e.toString():JSON.stringify(e)}});var Dy=X((FP,Ty)=>{var QA=ro().Buffer,ky=Sl(),XA=xl(),ZA=re("stream"),Ay=Ol(),Pl=re("util");function Sy(t,e){return QA.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function eS(t,e,n){n=n||"utf8";var r=Sy(Ay(t),"binary"),o=Sy(Ay(e),n);return Pl.format("%s.%s",r,o)}function vy(t){var e=t.header,n=t.payload,r=t.secret||t.privateKey,o=t.encoding,s=XA(e.alg),a=eS(e,n,o),u=s.sign(a,r);return Pl.format("%s.%s",a,u)}function oa(t){var e=t.secret||t.privateKey||t.key,n=new ky(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=n,this.payload=new ky(t.payload),this.secret.once("close",function(){!this.payload.writable&&this.readable&&this.sign()}.bind(this)),this.payload.once("close",function(){!this.secret.writable&&this.readable&&this.sign()}.bind(this))}Pl.inherits(oa,ZA);oa.prototype.sign=function(){try{var e=vy({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",e),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(n){this.readable=!1,this.emit("error",n),this.emit("close")}};oa.sign=vy;Ty.exports=oa});var Ly=X((IP,My)=>{var xy=ro().Buffer,Ry=Sl(),tS=xl(),nS=re("stream"),Oy=Ol(),rS=re("util"),oS=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function sS(t){return Object.prototype.toString.call(t)==="[object Object]"}function iS(t){if(sS(t))return t;try{return JSON.parse(t)}catch{return}}function Py(t){var e=t.split(".",1)[0];return iS(xy.from(e,"base64").toString("binary"))}function aS(t){return t.split(".",2).join(".")}function Fy(t){return t.split(".")[2]}function uS(t,e){e=e||"utf8";var n=t.split(".")[1];return xy.from(n,"base64").toString(e)}function Iy(t){return oS.test(t)&&!!Py(t)}function Ny(t,e,n){if(!e){var r=new Error("Missing algorithm parameter for jws.verify");throw r.code="MISSING_ALGORITHM",r}t=Oy(t);var o=Fy(t),s=aS(t),a=tS(e);return a.verify(s,o,n)}function By(t,e){if(e=e||{},t=Oy(t),!Iy(t))return null;var n=Py(t);if(!n)return null;var r=uS(t);return(n.typ==="JWT"||e.json)&&(r=JSON.parse(r,e.encoding)),{header:n,payload:r,signature:Fy(t)}}function uo(t){t=t||{};var e=t.secret||t.publicKey||t.key,n=new Ry(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=n,this.signature=new Ry(t.signature),this.secret.once("close",function(){!this.signature.writable&&this.readable&&this.verify()}.bind(this)),this.signature.once("close",function(){!this.secret.writable&&this.readable&&this.verify()}.bind(this))}rS.inherits(uo,nS);uo.prototype.verify=function(){try{var e=Ny(this.signature.buffer,this.algorithm,this.key.buffer),n=By(this.signature.buffer,this.encoding);return this.emit("done",e,n),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(r){this.readable=!1,this.emit("error",r),this.emit("close")}};uo.decode=By;uo.isValid=Iy;uo.verify=Ny;My.exports=uo});var Fl=X(Vn=>{var jy=Dy(),sa=Ly(),cS=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Vn.ALGORITHMS=cS;Vn.sign=jy.sign;Vn.verify=sa.verify;Vn.decode=sa.decode;Vn.isValid=sa.isValid;Vn.createSign=function(e){return new jy(e)};Vn.createVerify=function(e){return new sa(e)}});var e0=X(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.GoogleToken=void 0;var Uy=ia(re("fs")),lS=Xe(),dS=ia(Fl()),fS=ia(re("path")),hS=re("util");function ia(t,e){if(typeof WeakMap=="function")var n=new WeakMap,r=new WeakMap;return(ia=function(s,a){if(!a&&s&&s.__esModule)return s;var u,l,f={__proto__:null,default:s};if(s===null||Tn(s)!="object"&&typeof s!="function")return f;if(u=a?r:n){if(u.has(s))return u.get(s);u.set(s,f)}for(var d in s)d!=="default"&&{}.hasOwnProperty.call(s,d)&&((l=(u=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,d))&&(l.get||l.set)?u(f,d,l):f[d]=s[d]);return f})(t,e)}function Tn(t){"@babel/helpers - typeof";return Tn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Tn(t)}function pS(t,e){Ky(t,e),e.add(t)}function mS(t,e,n){Ky(t,e),e.set(t,n)}function Ky(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function $y(t,e,n){return t.set(Vt(t,e),n),n}function qy(t,e){return t.get(Vt(t,e))}function Vt(t,e,n){if(typeof t=="function"?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}function zy(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,Xy(r.key),r)}}function Yy(t,e,n){return e&&zy(t.prototype,e),n&&zy(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function Qy(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function gS(t,e,n){return e=is(e),yS(t,jl()?Reflect.construct(e,n||[],is(t).constructor):e.apply(t,n))}function yS(t,e){if(e&&(Tn(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _S(t)}function _S(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function bS(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&ss(t,e)}function Il(t){var e=typeof Map=="function"?new Map:void 0;return Il=function(r){if(r===null||!wS(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(r))return e.get(r);e.set(r,o)}function o(){return CS(r,arguments,is(this).constructor)}return o.prototype=Object.create(r.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),ss(o,r)},Il(t)}function CS(t,e,n){if(jl())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var o=new(t.bind.apply(t,r));return n&&ss(o,n.prototype),o}function jl(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(jl=function(){return!!t})()}function wS(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function ss(t,e){return ss=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},ss(t,e)}function is(t){return is=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},is(t)}function Ct(t,e,n){return(e=Xy(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Xy(t){var e=ES(t,"string");return Tn(e)=="symbol"?e:e+""}function ES(t,e){if(Tn(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e||"default");if(Tn(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Et(){var t,e,n=typeof Symbol=="function"?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function s(C,w,y,g){var _=w&&w.prototype instanceof u?w:u,E=Object.create(_.prototype);return wt(E,"_invoke",(function(b,S,T){var R,$,H,P=0,K=T||[],q=!1,Y={p:0,n:0,v:t,a:Q,f:Q.bind(t,4),d:function(se,ue){return R=se,$=0,H=t,Y.n=ue,a}};function Q(ee,se){for($=ee,H=se,e=0;!q&&P&&!ue&&e<K.length;e++){var ue,pe=K[e],J=Y.p,Z=pe[2];ee>3?(ue=Z===se)&&(H=pe[($=pe[4])?5:($=3,3)],pe[4]=pe[5]=t):pe[0]<=J&&((ue=ee<2&&J<pe[1])?($=0,Y.v=se,Y.n=pe[1]):J<Z&&(ue=ee<3||pe[0]>se||se>Z)&&(pe[4]=ee,pe[5]=se,Y.n=Z,$=0))}if(ue||ee>1)return a;throw q=!0,se}return function(ee,se,ue){if(P>1)throw TypeError("Generator is already running");for(q&&se===1&&Q(se,ue),$=se,H=ue;(e=$<2?t:H)||!q;){R||($?$<3?($>1&&(Y.n=-1),Q($,H)):Y.n=H:Y.v=H);try{if(P=2,R){if($||(ee="next"),e=R[ee]){if(!(e=e.call(R,H)))throw TypeError("iterator result is not an object");if(!e.done)return e;H=e.value,$<2&&($=0)}else $===1&&(e=R.return)&&e.call(R),$<2&&(H=TypeError("The iterator does not provide a '"+ee+"' method"),$=1);R=t}else if((e=(q=Y.n<0)?H:b.call(S,Y))!==a)break}catch(pe){R=t,$=1,H=pe}finally{P=1}}return{value:e,done:q}}})(C,y,g),!0),E}var a={};function u(){}function l(){}function f(){}e=Object.getPrototypeOf;var d=[][r]?e(e([][r]())):(wt(e={},r,function(){return this}),e),h=f.prototype=u.prototype=Object.create(d);function m(C){return Object.setPrototypeOf?Object.setPrototypeOf(C,f):(C.__proto__=f,wt(C,o,"GeneratorFunction")),C.prototype=Object.create(h),C}return l.prototype=f,wt(h,"constructor",f),wt(f,"constructor",l),l.displayName="GeneratorFunction",wt(f,o,"GeneratorFunction"),wt(h),wt(h,o,"Generator"),wt(h,r,function(){return this}),wt(h,"toString",function(){return"[object Generator]"}),(Et=function(){return{w:s,m}})()}function wt(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}wt=function(a,u,l,f){if(u)o?o(a,u,{value:l,enumerable:!f,configurable:!f,writable:!f}):a[u]=l;else{var d=function(m,C){wt(a,m,function(w){return this._invoke(m,C,w)})};d("next",0),d("throw",1),d("return",2)}},wt(t,e,n,r)}function Hy(t,e,n,r,o,s,a){try{var u=t[s](a),l=u.value}catch(f){return void n(f)}u.done?e(l):Promise.resolve(l).then(r,o)}function co(t){return function(){var e=this,n=arguments;return new Promise(function(r,o){var s=t.apply(e,n);function a(l){Hy(s,r,o,a,u,"next",l)}function u(l){Hy(s,r,o,a,u,"throw",l)}a(void 0)})}}var Wy=Uy.readFile?(0,hS.promisify)(Uy.readFile):co(Et().m(function t(){return Et().w(function(e){for(;;)switch(e.n){case 0:throw new os("use key rather than keyFile.","MISSING_CREDENTIALS");case 1:return e.a(2)}},t)})),Gy="https://oauth2.googleapis.com/token",kS="https://oauth2.googleapis.com/revoke?token=",os=(function(t){function e(n,r){var o;return Qy(this,e),o=gS(this,e,[n]),Ct(o,"code",void 0),o.code=r,o}return bS(e,t),Yy(e)})(Il(Error)),rs=new WeakMap,on=new WeakSet,BP=aa.GoogleToken=(function(){function t(e){Qy(this,t),pS(this,on),Ct(this,"expiresAt",void 0),Ct(this,"key",void 0),Ct(this,"keyFile",void 0),Ct(this,"iss",void 0),Ct(this,"sub",void 0),Ct(this,"scope",void 0),Ct(this,"rawToken",void 0),Ct(this,"tokenExpires",void 0),Ct(this,"email",void 0),Ct(this,"additionalClaims",void 0),Ct(this,"eagerRefreshThresholdMillis",void 0),Ct(this,"transporter",{request:function(r){return(0,lS.request)(r)}}),mS(this,rs,void 0),Vt(on,this,Zy).call(this,e)}return Yy(t,[{key:"accessToken",get:function(){return this.rawToken?this.rawToken.access_token:void 0}},{key:"idToken",get:function(){return this.rawToken?this.rawToken.id_token:void 0}},{key:"tokenType",get:function(){return this.rawToken?this.rawToken.token_type:void 0}},{key:"refreshToken",get:function(){return this.rawToken?this.rawToken.refresh_token:void 0}},{key:"hasExpired",value:function(){var n=new Date().getTime();return this.rawToken&&this.expiresAt?n>=this.expiresAt:!0}},{key:"isTokenExpiring",value:function(){var n,r=new Date().getTime(),o=(n=this.eagerRefreshThresholdMillis)!==null&&n!==void 0?n:0;return this.rawToken&&this.expiresAt?this.expiresAt<=r+o:!0}},{key:"getToken",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Tn(n)==="object"&&(r=n,n=void 0),r=Object.assign({forceRefresh:!1},r),n){var o=n;Vt(on,this,Jy).call(this,r).then(function(s){return o(null,s)},n);return}return Vt(on,this,Jy).call(this,r)}},{key:"getCredentials",value:(function(){var e=co(Et().m(function r(o){var s,a,u,l,f,d,h;return Et().w(function(m){for(;;)switch(m.n){case 0:s=fS.extname(o),h=s,m.n=h===".json"?1:h===".der"||h===".crt"||h===".pem"?4:h===".p12"||h===".pfx"?6:7;break;case 1:return m.n=2,Wy(o,"utf8");case 2:if(a=m.v,u=JSON.parse(a),l=u.private_key,f=u.client_email,!(!l||!f)){m.n=3;break}throw new os("private_key and client_email are required.","MISSING_CREDENTIALS");case 3:return m.a(2,{privateKey:l,clientEmail:f});case 4:return m.n=5,Wy(o,"utf8");case 5:return d=m.v,m.a(2,{privateKey:d});case 6:throw new os("*.p12 certificates are not supported after v6.1.2. Consider utilizing *.json format or converting *.p12 to *.pem using the OpenSSL CLI.","UNKNOWN_CERTIFICATE_TYPE");case 7:throw new os("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE");case 8:return m.a(2)}},r)}));function n(r){return e.apply(this,arguments)}return n})()},{key:"revokeToken",value:function(n){if(n){Vt(on,this,Vy).call(this).then(function(){return n()},n);return}return Vt(on,this,Vy).call(this)}}])})();function Jy(t){return Nl.apply(this,arguments)}function Nl(){return Nl=co(Et().m(function t(e){return Et().w(function(n){for(;;)switch(n.n){case 0:if(!(qy(rs,this)&&!e.forceRefresh)){n.n=1;break}return n.a(2,qy(rs,this));case 1:return n.p=1,n.n=2,$y(rs,this,Vt(on,this,AS).call(this,e));case 2:return n.a(2,n.v);case 3:return n.p=3,$y(rs,this,void 0),n.f(3);case 4:return n.a(2)}},t,this,[[1,,3,4]])})),Nl.apply(this,arguments)}function AS(t){return Bl.apply(this,arguments)}function Bl(){return Bl=co(Et().m(function t(e){var n;return Et().w(function(r){for(;;)switch(r.n){case 0:if(!(this.isTokenExpiring()===!1&&e.forceRefresh===!1)){r.n=1;break}return r.a(2,Promise.resolve(this.rawToken));case 1:if(!(!this.key&&!this.keyFile)){r.n=2;break}throw new Error("No key or keyFile set.");case 2:if(!(!this.key&&this.keyFile)){r.n=4;break}return r.n=3,this.getCredentials(this.keyFile);case 3:n=r.v,this.key=n.privateKey,this.iss=n.clientEmail||this.iss,n.clientEmail||Vt(on,this,SS).call(this);case 4:return r.a(2,Vt(on,this,vS).call(this))}},t,this)})),Bl.apply(this,arguments)}function SS(){if(!this.iss)throw new os("email is required.","MISSING_CREDENTIALS")}function Vy(){return Ml.apply(this,arguments)}function Ml(){return Ml=co(Et().m(function t(){var e;return Et().w(function(n){for(;;)switch(n.n){case 0:if(this.accessToken){n.n=1;break}throw new Error("No token to revoke.");case 1:return e=kS+this.accessToken,n.n=2,this.transporter.request({url:e,retry:!0});case 2:Vt(on,this,Zy).call(this,{email:this.iss,sub:this.sub,key:this.key,keyFile:this.keyFile,scope:this.scope,additionalClaims:this.additionalClaims});case 3:return n.a(2)}},t,this)})),Ml.apply(this,arguments)}function Zy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.keyFile=t.keyFile,this.key=t.key,this.rawToken=void 0,this.iss=t.email||t.iss,this.sub=t.sub,this.additionalClaims=t.additionalClaims,Tn(t.scope)==="object"?this.scope=t.scope.join(" "):this.scope=t.scope,this.eagerRefreshThresholdMillis=t.eagerRefreshThresholdMillis,t.transporter&&(this.transporter=t.transporter)}function vS(){return Ll.apply(this,arguments)}function Ll(){return Ll=co(Et().m(function t(){var e,n,r,o,s,a,u,l,f,d;return Et().w(function(h){for(;;)switch(h.n){case 0:return e=Math.floor(new Date().getTime()/1e3),n=this.additionalClaims||{},r=Object.assign({iss:this.iss,scope:this.scope,aud:Gy,exp:e+3600,iat:e,sub:this.sub},n),o=dS.sign({header:{alg:"RS256"},payload:r,secret:this.key}),h.p=1,h.n=2,this.transporter.request({method:"POST",url:Gy,data:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:o}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});case 2:return s=h.v,this.rawToken=s.data,this.expiresAt=s.data.expires_in===null||s.data.expires_in===void 0?void 0:(e+s.data.expires_in)*1e3,h.a(2,this.rawToken);case 3:throw h.p=3,d=h.v,this.rawToken=void 0,this.tokenExpires=void 0,l=d.response&&(a=d.response)!==null&&a!==void 0&&a.data?(u=d.response)===null||u===void 0?void 0:u.data:{},l.error&&(f=l.error_description?": ".concat(l.error_description):"",d.message="".concat(l.error).concat(f)),d;case 4:return h.a(2)}},t,this,[[1,3]])})),Ll.apply(this,arguments)}});var $l=X(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.JWTAccess=void 0;var TS=Fl(),DS=Wt(),t0={alg:"RS256",typ:"JWT"},Ul=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new DS.LRUCache({capacity:500,maxAge:3600*1e3});constructor(e,n,r,o){this.email=e,this.key=n,this.keyId=r,this.eagerRefreshThresholdMillis=o??300*1e3}getCachedKey(e,n){let r=e;if(n&&Array.isArray(n)&&n.length?r=e?`${e}_${n.join("_")}`:`${n.join("_")}`:typeof n=="string"&&(r=e?`${e}_${n}`:n),!r)throw Error("Scopes or url must be provided");return r}getRequestHeaders(e,n,r){let o=this.getCachedKey(e,r),s=this.cache.get(o),a=Date.now();if(s&&s.expiration-a>this.eagerRefreshThresholdMillis)return new Headers(s.headers);let u=Math.floor(Date.now()/1e3),l=t.getExpirationTime(u),f;if(Array.isArray(r)&&(r=r.join(" ")),r?f={iss:this.email,sub:this.email,scope:r,exp:l,iat:u}:f={iss:this.email,sub:this.email,aud:e,exp:l,iat:u},n){for(let w in f)if(n[w])throw new Error(`The '${w}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let d=this.keyId?{...t0,kid:this.keyId}:t0,h=Object.assign(f,n),m=TS.sign({header:d,payload:h,secret:this.key}),C=new Headers({authorization:`Bearer ${m}`});return this.cache.set(o,{expiration:l*1e3,headers:C}),C}static getExpirationTime(e){return e+3600}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id}fromStream(e,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((n,r)=>{e||r(new Error("Must pass in a stream containing the service account auth settings."));let o="";e.setEncoding("utf8").on("data",s=>o+=s).on("error",r).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),n()}catch(s){r(s)}})})}};ua.JWTAccess=Ul});var zl=X(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.JWT=void 0;var n0=e0(),RS=$l(),xS=_r(),ca=bt(),ql=class t extends xS.OAuth2Client{email;keyFile;key;keyId;defaultScopes;scopes;scope;subject;gtoken;additionalClaims;useJWTAccessWithScope;defaultServicePath;access;constructor(e={}){super(e),this.email=e.email,this.keyFile=e.keyFile,this.key=e.key,this.keyId=e.keyId,this.scopes=e.scopes,this.subject=e.subject,this.additionalClaims=e.additionalClaims,this.credentials={refresh_token:"jwt-placeholder",expiry_date:1}}createScoped(e){let n=new t(this);return n.scopes=e,n}async getRequestMetadataAsync(e){e=this.defaultServicePath?`https://${this.defaultServicePath}/`:e;let n=!this.hasUserScopes()&&e||this.useJWTAccessWithScope&&this.hasAnyScopes()||this.universeDomain!==ca.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==ca.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${ca.DEFAULT_UNIVERSE}`);if(!this.apiKey&&n)if(this.additionalClaims&&this.additionalClaims.target_audience){let{tokens:r}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders(new Headers({authorization:`Bearer ${r.id_token}`}))}}else{this.access||(this.access=new RS.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis));let r;this.hasUserScopes()?r=this.scopes:e||(r=this.defaultScopes);let o=this.useJWTAccessWithScope||this.universeDomain!==ca.DEFAULT_UNIVERSE,s=await this.access.getRequestHeaders(e??void 0,this.additionalClaims,o?r:void 0);return{headers:this.addSharedMetadataHeaders(s)}}else return this.hasAnyScopes()||this.apiKey?super.getRequestMetadataAsync(e):{headers:new Headers}}async fetchIdToken(e){let n=new n0.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:{target_audience:e},transporter:this.transporter});if(await n.getToken({forceRefresh:!0}),!n.idToken)throw new Error("Unknown error: Failed to fetch ID token");return n.idToken}hasUserScopes(){return this.scopes?this.scopes.length>0:!1}hasAnyScopes(){return!!(this.scopes&&this.scopes.length>0||this.defaultScopes&&this.defaultScopes.length>0)}authorize(e){if(e)this.authorizeAsync().then(n=>e(null,n),e);else return this.authorizeAsync()}async authorizeAsync(){let e=await this.refreshToken();if(!e)throw new Error("No result returned");return this.credentials=e.tokens,this.credentials.refresh_token="jwt-placeholder",this.key=this.gtoken.key,this.email=this.gtoken.iss,e.tokens}async refreshTokenNoCache(){let e=this.createGToken(),r={access_token:(await e.getToken({forceRefresh:this.isTokenExpiring()})).access_token,token_type:"Bearer",expiry_date:e.expiresAt,id_token:e.idToken};return this.emit("tokens",r),{res:null,tokens:r}}createGToken(){return this.gtoken||(this.gtoken=new n0.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:this.additionalClaims,transporter:this.transporter})),this.gtoken}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((n,r)=>{if(!e)throw new Error("Must pass in a stream containing the service account auth settings.");let o="";e.setEncoding("utf8").on("error",r).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),n()}catch(s){r(s)}})})}fromAPIKey(e){if(typeof e!="string")throw new Error("Must provide an API Key string.");this.apiKey=e}async getCredentials(){if(this.key)return{private_key:this.key,client_email:this.email};if(this.keyFile){let n=await this.createGToken().getCredentials(this.keyFile);return{private_key:n.privateKey,client_email:n.clientEmail}}throw new Error("A key or a keyFile must be provided to getCredentials.")}};la.JWT=ql});var Wl=X(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.UserRefreshClient=lo.USER_REFRESH_ACCOUNT_TYPE=void 0;var OS=_r(),PS=bt();lo.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var Hl=class t extends OS.OAuth2Client{_refreshToken;constructor(e,n,r,o,s){let a=e&&typeof e=="object"?e:{clientId:e,clientSecret:n,refreshToken:r,eagerRefreshThresholdMillis:o,forceRefreshOnFailure:s};super(a),this._refreshToken=a.refreshToken,this.credentials.refresh_token=a.refreshToken}async refreshTokenNoCache(){return super.refreshTokenNoCache(this._refreshToken)}async fetchIdToken(e){let n={...t.RETRY_CONFIG,url:this.endpoints.oauth2TokenUrl,method:"POST",data:new URLSearchParams({client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token",refresh_token:this._refreshToken,target_audience:e})};return PS.AuthClient.setMethodName(n,"fetchIdToken"),(await this.transporter.request(n)).data.id_token}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the user refresh token");if(e.type!=="authorized_user")throw new Error('The incoming JSON object does not have the "authorized_user" type');if(!e.client_id)throw new Error("The incoming JSON object does not contain a client_id field");if(!e.client_secret)throw new Error("The incoming JSON object does not contain a client_secret field");if(!e.refresh_token)throw new Error("The incoming JSON object does not contain a refresh_token field");this._clientId=e.client_id,this._clientSecret=e.client_secret,this._refreshToken=e.refresh_token,this.credentials.refresh_token=e.refresh_token,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}async fromStreamAsync(e){return new Promise((n,r)=>{if(!e)return r(new Error("Must pass in a stream containing the user refresh token."));let o="";e.setEncoding("utf8").on("error",r).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);return this.fromJSON(s),n()}catch(s){return r(s)}})})}static fromJSON(e){let n=new t;return n.fromJSON(e),n}};lo.UserRefreshClient=Hl});var Jl=X(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.Impersonated=fo.IMPERSONATED_ACCOUNT_TYPE=void 0;var r0=_r(),FS=Xe(),IS=Wt();fo.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var Gl=class t extends r0.OAuth2Client{sourceClient;targetPrincipal;targetScopes;delegates;lifetime;endpoint;constructor(e={}){if(super(e),console.warn("The `Impersonated` constructor does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.credentials={expiry_date:1,refresh_token:"impersonated-placeholder"},this.sourceClient=e.sourceClient??new r0.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,IS.originalOrCamelOptions)(e).get("universe_domain"))this.universeDomain=this.sourceClient.universeDomain;else if(this.sourceClient.universeDomain!==this.universeDomain)throw new RangeError(`Universe domain ${this.sourceClient.universeDomain} in source credentials does not match ${this.universeDomain} universe domain set for impersonated credentials.`);this.endpoint=e.endpoint??`https://iamcredentials.${this.universeDomain}`}async sign(e){await this.sourceClient.getAccessToken();let n=`projects/-/serviceAccounts/${this.targetPrincipal}`,r=`${this.endpoint}/v1/${n}:signBlob`,o={delegates:this.delegates,payload:Buffer.from(e).toString("base64")};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:r,data:o,method:"POST"})).data}getTargetPrincipal(){return this.targetPrincipal}async refreshToken(){try{await this.sourceClient.getAccessToken();let e="projects/-/serviceAccounts/"+this.targetPrincipal,n=`${this.endpoint}/v1/${e}:generateAccessToken`,r={delegates:this.delegates,scope:this.targetScopes,lifetime:this.lifetime+"s"},o=await this.sourceClient.request({...t.RETRY_CONFIG,url:n,data:r,method:"POST"}),s=o.data;return this.credentials.access_token=s.accessToken,this.credentials.expiry_date=Date.parse(s.expireTime),{tokens:this.credentials,res:o}}catch(e){if(!(e instanceof Error))throw e;let n=0,r="";throw e instanceof FS.GaxiosError&&(n=e?.response?.data?.error?.status,r=e?.response?.data?.error?.message),n&&r?(e.message=`${n}: unable to impersonate: ${r}`,e):(e.message=`unable to impersonate: ${e}`,e)}}async fetchIdToken(e,n){await this.sourceClient.getAccessToken();let r=`projects/-/serviceAccounts/${this.targetPrincipal}`,o=`${this.endpoint}/v1/${r}:generateIdToken`,s={delegates:this.delegates,audience:e,includeEmail:n?.includeEmail??!0,useEmailAzp:n?.includeEmail??!0};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:o,data:s,method:"POST"})).data.token}};fo.Impersonated=Gl});var Kl=X(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});as.OAuthClientAuthHandler=void 0;as.getErrorFromOAuthErrorResponse=MS;var ho=Xe(),NS=Qo(),BS=["PUT","POST","PATCH"],Vl=class{#e=(0,NS.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new ho.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new ho.Gaxios)}applyClientAuthenticationOptions(e,n){e.headers=ho.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,n),n||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,n){if(n)e.headers=ho.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${n}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=ho.Gaxios.mergeHeaders(e.headers);let r=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${r}:${o}`);ho.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let n=(e.method||"GET").toUpperCase();if(!BS.includes(n))throw new Error(`${n} HTTP method does not support ${this.#t.confidentialClientType} client authentication`);let o=new Headers(e.headers).get("content-type");if(o?.startsWith("application/x-www-form-urlencoded")||e.data instanceof URLSearchParams){let s=new URLSearchParams(e.data??"");s.append("client_id",this.#t.clientId),s.append("client_secret",this.#t.clientSecret||""),e.data=s}else if(o?.startsWith("application/json"))e.data=e.data||{},Object.assign(e.data,{client_id:this.#t.clientId,client_secret:this.#t.clientSecret||""});else throw new Error(`${o} content-types are not supported with ${this.#t.confidentialClientType} client authentication`)}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};as.OAuthClientAuthHandler=Vl;function MS(t,e){let n=t.error,r=t.error_description,o=t.error_uri,s=`Error code ${n}`;typeof r<"u"&&(s+=`: ${r}`),typeof o<"u"&&(s+=` - ${o}`);let a=new Error(s);if(e){let u=Object.keys(e);e.stack&&u.push("stack"),u.forEach(l=>{l!=="message"&&Object.defineProperty(a,l,{value:e[l],writable:!1,enumerable:!0})})}return a}});var fa=X(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.StsCredentials=void 0;var LS=Xe(),jS=bt(),o0=Kl(),US=Wt(),Yl=class t extends o0.OAuthClientAuthHandler{#e;constructor(e={tokenExchangeEndpoint:""},n){(typeof e!="object"||e instanceof URL)&&(e={tokenExchangeEndpoint:e,clientAuthentication:n}),super(e),this.#e=e.tokenExchangeEndpoint}async exchangeToken(e,n,r){let o={grant_type:e.grantType,resource:e.resource,audience:e.audience,scope:e.scope?.join(" "),requested_token_type:e.requestedTokenType,subject_token:e.subjectToken,subject_token_type:e.subjectTokenType,actor_token:e.actingParty?.actorToken,actor_token_type:e.actingParty?.actorTokenType,options:r&&JSON.stringify(r)},s={...t.RETRY_CONFIG,url:this.#e.toString(),method:"POST",headers:n,data:new URLSearchParams((0,US.removeUndefinedValuesInObject)(o))};jS.AuthClient.setMethodName(s,"exchangeToken"),this.applyClientAuthenticationOptions(s);try{let a=await this.transporter.request(s),u=a.data;return u.res=a,u}catch(a){throw a instanceof LS.GaxiosError&&a.response?(0,o0.getErrorFromOAuthErrorResponse)(a.response.data,a):a}}};da.StsCredentials=Yl});var Kn=X(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.BaseExternalAccountClient=Pt.CLOUD_RESOURCE_MANAGER=Pt.EXTERNAL_ACCOUNT_TYPE=Pt.EXPIRATION_TIME_OFFSET=void 0;var $S=Xe(),qS=re("stream"),Ql=bt(),zS=fa(),s0=Wt(),HS=fl(),WS="urn:ietf:params:oauth:grant-type:token-exchange",GS="urn:ietf:params:oauth:token-type:access_token",Xl="https://www.googleapis.com/auth/cloud-platform",JS=3600;Pt.EXPIRATION_TIME_OFFSET=300*1e3;Pt.EXTERNAL_ACCOUNT_TYPE="external_account";Pt.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var VS="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",KS="https://sts.{universeDomain}/v1/token",Zl=class t extends Ql.AuthClient{scopes;projectNumber;audience;subjectTokenType;stsCredential;clientAuth;credentialSourceType;cachedAccessToken;serviceAccountImpersonationUrl;serviceAccountImpersonationLifetime;workforcePoolUserProject;configLifetimeRequested;tokenUrl;cloudResourceManagerURL;supplierContext;#e=null;constructor(e){super(e);let n=(0,s0.originalOrCamelOptions)(e),r=n.get("type");if(r&&r!==Pt.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${Pt.EXTERNAL_ACCOUNT_TYPE}" type but received "${e.type}"`);let o=n.get("client_id"),s=n.get("client_secret");this.tokenUrl=n.get("token_url")??KS.replace("{universeDomain}",this.universeDomain);let a=n.get("subject_token_type"),u=n.get("workforce_pool_user_project"),l=n.get("service_account_impersonation_url"),f=n.get("service_account_impersonation"),d=(0,s0.originalOrCamelOptions)(f).get("token_lifetime_seconds");this.cloudResourceManagerURL=new URL(n.get("cloud_resource_manager_url")||`https://cloudresourcemanager.${this.universeDomain}/v1/projects/`),o&&(this.clientAuth={confidentialClientType:"basic",clientId:o,clientSecret:s}),this.stsCredential=new zS.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=n.get("scopes")||[Xl],this.cachedAccessToken=null,this.audience=n.get("audience"),this.subjectTokenType=a,this.workforcePoolUserProject=u;let h=new RegExp(VS);if(this.workforcePoolUserProject&&!this.audience.match(h))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=l,this.serviceAccountImpersonationLifetime=d,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=JS),this.projectNumber=this.getProjectNumber(this.audience),this.supplierContext={audience:this.audience,subjectTokenType:this.subjectTokenType,transporter:this.transporter}}getServiceAccountEmail(){if(this.serviceAccountImpersonationUrl){if(this.serviceAccountImpersonationUrl.length>256)throw new RangeError(`URL is too long: ${this.serviceAccountImpersonationUrl}`);return/serviceAccounts\/(?<email>[^:]+):generateAccessToken$/.exec(this.serviceAccountImpersonationUrl)?.groups?.email||null}return null}setCredentials(e){super.setCredentials(e),this.cachedAccessToken=e}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async getProjectId(){let e=this.projectNumber||this.workforcePoolUserProject;if(this.projectId)return this.projectId;if(e){let n=await this.getRequestHeaders(),r={...t.RETRY_CONFIG,headers:n,url:`${this.cloudResourceManagerURL.toString()}${e}`};Ql.AuthClient.setMethodName(r,"getProjectId");let o=await this.transporter.request(r);return this.projectId=o.data.projectId,this.projectId}return null}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=$S.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,u=s.config.data instanceof qS.Readable;if(!n&&(a===401||a===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}async refreshAccessTokenAsync(){this.#e=this.#e||this.#t();try{return await this.#e}finally{this.#e=null}}async#t(){let e=await this.retrieveSubjectToken(),n={grantType:WS,audience:this.audience,requestedTokenType:GS,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Xl]:this.getScopesArray()},r=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,o=new Headers({"x-goog-api-client":this.getMetricsHeaderValue()}),s=await this.stsCredential.exchangeToken(n,o,r);return this.serviceAccountImpersonationUrl?this.cachedAccessToken=await this.getImpersonatedAccessToken(s.access_token):s.expires_in?this.cachedAccessToken={access_token:s.access_token,expiry_date:new Date().getTime()+s.expires_in*1e3,res:s.res}:this.cachedAccessToken={access_token:s.access_token,res:s.res},this.credentials={},Object.assign(this.credentials,this.cachedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedAccessToken.expiry_date,access_token:this.cachedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedAccessToken}getProjectNumber(e){let n=e.match(/\/projects\/([^/]+)/);return n?n[1]:null}async getImpersonatedAccessToken(e){let n={...t.RETRY_CONFIG,url:this.serviceAccountImpersonationUrl,method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e}`},data:{scope:this.getScopesArray(),lifetime:this.serviceAccountImpersonationLifetime+"s"}};Ql.AuthClient.setMethodName(n,"getImpersonatedAccessToken");let r=await this.transporter.request(n),o=r.data;return{access_token:o.accessToken,expiry_date:new Date(o.expireTime).getTime(),res:r}}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}getScopesArray(){return typeof this.scopes=="string"?[this.scopes]:this.scopes||[Xl]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),n=this.serviceAccountImpersonationUrl!==void 0,r=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${HS.pkg.version} google-byoid-sdk source/${r} sa-impersonation/${n} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};Pt.BaseExternalAccountClient=Zl});var i0=X(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.FileSubjectTokenSupplier=void 0;var td=re("util"),nd=re("fs"),YS=(0,td.promisify)(nd.readFile??(()=>{})),QS=(0,td.promisify)(nd.realpath??(()=>{})),XS=(0,td.promisify)(nd.lstat??(()=>{})),ed=class{filePath;formatType;subjectTokenFieldName;constructor(e){this.filePath=e.filePath,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName}async getSubjectToken(){let e=this.filePath;try{if(e=await QS(e),!(await XS(e)).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let n,r=await YS(e,{encoding:"utf8"});if(this.formatType==="text"?n=r:this.formatType==="json"&&this.subjectTokenFieldName&&(n=JSON.parse(r)[this.subjectTokenFieldName]),!n)throw new Error("Unable to parse the subject_token from the credential_source file");return n}};ha.FileSubjectTokenSupplier=ed});var a0=X(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.UrlSubjectTokenSupplier=void 0;var ZS=bt(),rd=class{url;headers;formatType;subjectTokenFieldName;additionalGaxiosOptions;constructor(e){this.url=e.url,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName,this.headers=e.headers,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getSubjectToken(e){let n={...this.additionalGaxiosOptions,url:this.url,method:"GET",headers:this.headers};ZS.AuthClient.setMethodName(n,"getSubjectToken");let r;if(this.formatType==="text"?r=(await e.transporter.request(n)).data:this.formatType==="json"&&this.subjectTokenFieldName&&(r=(await e.transporter.request(n)).data[this.subjectTokenFieldName]),!r)throw new Error("Unable to parse the subject_token from the credential_source URL");return r}};pa.UrlSubjectTokenSupplier=rd});var u0=X(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.CertificateSubjectTokenSupplier=kt.InvalidConfigurationError=kt.CertificateSourceUnavailableError=kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var ma=Wt(),ga=re("fs"),ya=re("crypto"),ev=re("https");kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var sn=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};kt.CertificateSourceUnavailableError=sn;var Ft=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};kt.InvalidConfigurationError=Ft;var od=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Ft("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Ft("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Ft("Cannot create mTLS Agent with missing certificate or key");return new ev.Agent({key:this.key,cert:this.cert})}async getSubjectToken(){this.certificateConfigPath=await this.#e();let{certPath:e,keyPath:n}=await this.#t();return{cert:this.cert,key:this.key}=await this.#n(e,n),await this.#r(this.cert)}async#e(){let e=this.certificateConfigPath;if(e){if(await(0,ma.isValidFile)(e))return e;throw new sn(`Provided certificate config path is invalid: ${e}`)}let n=process.env[kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(n){if(await(0,ma.isValidFile)(n))return n;throw new sn(`Path from environment variable "${kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${n}`)}let r=(0,ma.getWellKnownCertificateConfigFileLocation)();if(await(0,ma.isValidFile)(r))return r;throw new sn(`Could not find certificate configuration file. Searched override path, the "${kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${r}).`)}async#t(){let e=this.certificateConfigPath,n;try{n=await ga.promises.readFile(e,"utf8")}catch{throw new sn(`Failed to read certificate config file at: ${e}`)}try{let r=JSON.parse(n),o=r?.cert_configs?.workload?.cert_path,s=r?.cert_configs?.workload?.key_path;if(!o||!s)throw new Ft(`Certificate config file (${e}) is missing required "cert_path" or "key_path" in the workload config.`);return{certPath:o,keyPath:s}}catch(r){throw r instanceof Ft?r:new Ft(`Failed to parse certificate config from ${e}: ${r.message}`)}}async#n(e,n){let r,o;try{r=await ga.promises.readFile(e),new ya.X509Certificate(r)}catch(s){let a=s instanceof Error?s.message:String(s);throw new sn(`Failed to read certificate file at ${e}: ${a}`)}try{o=await ga.promises.readFile(n),(0,ya.createPrivateKey)(o)}catch(s){let a=s instanceof Error?s.message:String(s);throw new sn(`Failed to read private key file at ${n}: ${a}`)}return{cert:r,key:o}}async#r(e){let n=new ya.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([n.raw.toString("base64")]);try{let s=((await ga.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((l,f)=>{try{return new ya.X509Certificate(l)}catch(d){let h=d instanceof Error?d.message:String(d);throw new Ft(`Failed to parse certificate at index ${f} in trust chain file ${this.trustChainPath}: ${h}`)}}),a=s.findIndex(l=>n.raw.equals(l.raw)),u;if(a===-1)u=[n,...s];else if(a===0)u=s;else throw new Ft(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${a}).`);return JSON.stringify(u.map(l=>l.raw.toString("base64")))}catch(r){if(r instanceof Ft)throw r;let o=r instanceof Error?r.message:String(r);throw new sn(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};kt.CertificateSubjectTokenSupplier=od});var ad=X(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.IdentityPoolClient=void 0;var tv=Kn(),sd=Wt(),nv=i0(),rv=a0(),c0=u0(),ov=fa(),l0=Xe(),id=class t extends tv.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let n=(0,sd.originalOrCamelOptions)(e),r=n.get("credential_source"),o=n.get("subject_token_supplier");if(!r&&!o)throw new Error("A credential source or subject token supplier must be specified.");if(r&&o)throw new Error("Only one of credential source or subject token supplier can be specified.");if(o)this.subjectTokenSupplier=o,this.credentialSourceType="programmatic";else{let s=(0,sd.originalOrCamelOptions)(r),a=(0,sd.originalOrCamelOptions)(s.get("format")),u=a.get("type")||"text",l=a.get("subject_token_field_name");if(u!=="json"&&u!=="text")throw new Error(`Invalid credential_source format "${u}"`);if(u==="json"&&!l)throw new Error("Missing subject_token_field_name for JSON credential_source format");let f=s.get("file"),d=s.get("url"),h=s.get("certificate"),m=s.get("headers");if(f&&d||d&&h||f&&h)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(f)this.credentialSourceType="file",this.subjectTokenSupplier=new nv.FileSubjectTokenSupplier({filePath:f,formatType:u,subjectTokenFieldName:l});else if(d)this.credentialSourceType="url",this.subjectTokenSupplier=new rv.UrlSubjectTokenSupplier({url:d,formatType:u,subjectTokenFieldName:l,headers:m,additionalGaxiosOptions:t.RETRY_CONFIG});else if(h){this.credentialSourceType="certificate";let C=new c0.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:h.use_default_certificate_config,certificateConfigLocation:h.certificate_config_location,trustChainPath:h.trust_chain_path});this.subjectTokenSupplier=C}else throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.')}}async retrieveSubjectToken(){let e=await this.subjectTokenSupplier.getSubjectToken(this.supplierContext);if(this.subjectTokenSupplier instanceof c0.CertificateSubjectTokenSupplier){let n=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new ov.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new l0.Gaxios({agent:n})}),this.transporter=new l0.Gaxios({...this.transporter.defaults||{},agent:n})}return e}};_a.IdentityPoolClient=id});var cd=X(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.AwsRequestSigner=void 0;var ba=Xe(),f0=Qo(),d0="AWS4-HMAC-SHA256",sv="aws4_request",ud=class{getCredentials;region;crypto;constructor(e,n){this.getCredentials=e,this.region=n,this.crypto=(0,f0.createCrypto)()}async getRequestOptions(e){if(!e.url)throw new RangeError('"url" is required in "amzOptions"');let n=typeof e.data=="object"?JSON.stringify(e.data):e.data,r=e.url,o=e.method||"GET",s=e.body||n,a=e.headers,u=await this.getCredentials(),l=new URL(r);if(typeof s!="string"&&s!==void 0)throw new TypeError(`'requestPayload' is expected to be a string if provided. Got: ${s}`);let f=await av({crypto:this.crypto,host:l.host,canonicalUri:l.pathname,canonicalQuerystring:l.search.slice(1),method:o,region:this.region,securityCredentials:u,requestPayload:s,additionalAmzHeaders:a}),d=ba.Gaxios.mergeHeaders(f.amzDate?{"x-amz-date":f.amzDate}:{},{authorization:f.authorizationHeader,host:l.host},a||{});u.token&&ba.Gaxios.mergeHeaders(d,{"x-amz-security-token":u.token});let h={url:r,method:o,headers:d};return s!==void 0&&(h.body=s),h}};Ca.AwsRequestSigner=ud;async function us(t,e,n){return await t.signWithHmacSha256(e,n)}async function iv(t,e,n,r,o){let s=await us(t,`AWS4${e}`,n),a=await us(t,s,r),u=await us(t,a,o);return await us(t,u,"aws4_request")}async function av(t){let e=ba.Gaxios.mergeHeaders(t.additionalAmzHeaders),n=t.requestPayload||"",r=t.host.split(".")[0],o=new Date,s=o.toISOString().replace(/[-:]/g,"").replace(/\.[0-9]+/,""),a=o.toISOString().replace(/[-]/g,"").replace(/T.*/,"");t.securityCredentials.token&&e.set("x-amz-security-token",t.securityCredentials.token);let u=ba.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":s},e),l="",f=[...u.keys()].sort();f.forEach(E=>{l+=`${E}:${u.get(E)}
|
|
53
53
|
`});let d=f.join(";"),h=await t.crypto.sha256DigestHex(n),m=`${t.method.toUpperCase()}
|
|
54
54
|
${t.canonicalUri}
|
|
55
55
|
${t.canonicalQuerystring}
|
|
56
56
|
${l}
|
|
57
57
|
${d}
|
|
58
|
-
${h}`,C=`${a}/${t.region}/${r}/${
|
|
58
|
+
${h}`,C=`${a}/${t.region}/${r}/${sv}`,w=`${d0}
|
|
59
59
|
${s}
|
|
60
60
|
${C}
|
|
61
|
-
`+await t.crypto.sha256DigestHex(m),y=await iT(t.crypto,t.securityCredentials.secretAccessKey,a,t.region,r),g=await us(t.crypto,y,w),_=`${d0} Credential=${t.securityCredentials.accessKeyId}/${C}, SignedHeaders=${d}, Signature=${(0,f0.fromArrayBufferToHex)(g)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:_,canonicalQuerystring:t.canonicalQuerystring}}});var h0=X(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.DefaultAwsSecurityCredentialsSupplier=void 0;var wa=bt(),ld=class{regionUrl;securityCredentialsUrl;imdsV2SessionTokenUrl;additionalGaxiosOptions;constructor(e){this.regionUrl=e.regionUrl,this.securityCredentialsUrl=e.securityCredentialsUrl,this.imdsV2SessionTokenUrl=e.imdsV2SessionTokenUrl,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getAwsRegion(e){if(this.#r)return this.#r;let n=new Headers;if(!this.#r&&this.imdsV2SessionTokenUrl&&n.set("x-aws-ec2-metadata-token",await this.#e(e.transporter)),!this.regionUrl)throw new RangeError('Unable to determine AWS region due to missing "options.credential_source.region_url"');let r={...this.additionalGaxiosOptions,url:this.regionUrl,method:"GET",headers:n};wa.AuthClient.setMethodName(r,"getAwsRegion");let o=await e.transporter.request(r);return o.data.substr(0,o.data.length-1)}async getAwsSecurityCredentials(e){if(this.#o)return this.#o;let n=new Headers;this.imdsV2SessionTokenUrl&&n.set("x-aws-ec2-metadata-token",await this.#e(e.transporter));let r=await this.#t(n,e.transporter),o=await this.#n(r,n,e.transporter);return{accessKeyId:o.AccessKeyId,secretAccessKey:o.SecretAccessKey,token:o.Token}}async#e(e){let n={...this.additionalGaxiosOptions,url:this.imdsV2SessionTokenUrl,method:"PUT",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"300"}};return wa.AuthClient.setMethodName(n,"#getImdsV2SessionToken"),(await e.request(n)).data}async#t(e,n){if(!this.securityCredentialsUrl)throw new Error('Unable to determine AWS role name due to missing "options.credential_source.url"');let r={...this.additionalGaxiosOptions,url:this.securityCredentialsUrl,method:"GET",headers:e};return wa.AuthClient.setMethodName(r,"#getAwsRoleName"),(await n.request(r)).data}async#n(e,n,r){let o={...this.additionalGaxiosOptions,url:`${this.securityCredentialsUrl}/${e}`,headers:n};return wa.AuthClient.setMethodName(o,"#retrieveAwsSecurityCredentials"),(await r.request(o)).data}get#r(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||null}get#o(){return process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY?{accessKeyId:process.env.AWS_ACCESS_KEY_ID,secretAccessKey:process.env.AWS_SECRET_ACCESS_KEY,token:process.env.AWS_SESSION_TOKEN}:null}};Ea.DefaultAwsSecurityCredentialsSupplier=ld});var fd=X(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.AwsClient=void 0;var uT=cd(),cT=Kn(),lT=h0(),p0=Wt(),dT=Xe(),dd=class t extends cT.BaseExternalAccountClient{environmentId;awsSecurityCredentialsSupplier;regionalCredVerificationUrl;awsRequestSigner;region;static#e="https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15";static AWS_EC2_METADATA_IPV4_ADDRESS="169.254.169.254";static AWS_EC2_METADATA_IPV6_ADDRESS="fd00:ec2::254";constructor(e){super(e);let n=(0,p0.originalOrCamelOptions)(e),r=n.get("credential_source"),o=n.get("aws_security_credentials_supplier");if(!r&&!o)throw new Error("A credential source or AWS security credentials supplier must be specified.");if(r&&o)throw new Error("Only one of credential source or AWS security credentials supplier can be specified.");if(o)this.awsSecurityCredentialsSupplier=o,this.regionalCredVerificationUrl=t.#e,this.credentialSourceType="programmatic";else{let s=(0,p0.originalOrCamelOptions)(r);this.environmentId=s.get("environment_id");let a=s.get("region_url"),u=s.get("url"),l=s.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new lT.DefaultAwsSecurityCredentialsSupplier({regionUrl:a,securityCredentialsUrl:u,imdsV2SessionTokenUrl:l}),this.regionalCredVerificationUrl=s.get("regional_cred_verification_url"),this.credentialSourceType="aws",this.validateEnvironmentId()}this.awsRequestSigner=null,this.region=""}validateEnvironmentId(){let e=this.environmentId?.match(/^(aws)(\d+)$/);if(!e||!this.regionalCredVerificationUrl)throw new Error('No valid AWS "credential_source" provided');if(parseInt(e[2],10)!==1)throw new Error(`aws version "${e[2]}" is not supported in the current build.`)}async retrieveSubjectToken(){this.awsRequestSigner||(this.region=await this.awsSecurityCredentialsSupplier.getAwsRegion(this.supplierContext),this.awsRequestSigner=new uT.AwsRequestSigner(async()=>this.awsSecurityCredentialsSupplier.getAwsSecurityCredentials(this.supplierContext),this.region));let e=await this.awsRequestSigner.getRequestOptions({...t.RETRY_CONFIG,url:this.regionalCredVerificationUrl.replace("{region}",this.region),method:"POST"}),n=[];return dT.Gaxios.mergeHeaders({"x-goog-cloud-target-resource":this.audience},e.headers).forEach((o,s)=>n.push({key:s,value:o})),encodeURIComponent(JSON.stringify({url:e.url,method:e.method,headers:n}))}};ka.AwsClient=dd});var yd=X($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.InvalidSubjectTokenError=$e.InvalidMessageFieldError=$e.InvalidCodeFieldError=$e.InvalidTokenTypeFieldError=$e.InvalidExpirationTimeFieldError=$e.InvalidSuccessFieldError=$e.InvalidVersionFieldError=$e.ExecutableResponseError=$e.ExecutableResponse=void 0;var Aa="urn:ietf:params:oauth:token-type:saml2",hd="urn:ietf:params:oauth:token-type:id_token",pd="urn:ietf:params:oauth:token-type:jwt",md=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new Sa("Executable response must contain a 'version' field.");if(e.success===void 0)throw new Ta("Executable response must contain a 'success' field.");if(this.version=e.version,this.success=e.success,this.success){if(this.expirationTime=e.expiration_time,this.tokenType=e.token_type,this.tokenType!==Aa&&this.tokenType!==hd&&this.tokenType!==pd)throw new va(`Executable response must contain a 'token_type' field when successful and it must be one of ${hd}, ${pd}, or ${Aa}.`);if(this.tokenType===Aa){if(!e.saml_response)throw new cs(`Executable response must contain a 'saml_response' field when token_type=${Aa}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new cs(`Executable response must contain a 'id_token' field when token_type=${hd} or ${pd}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new Da("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new Ra("Executable response must contain a 'message' field when unsuccessful.");this.errorCode=e.code,this.errorMessage=e.message}}isValid(){return!this.isExpired()&&this.success}isExpired(){return this.expirationTime!==void 0&&this.expirationTime<Math.round(Date.now()/1e3)}};$e.ExecutableResponse=md;var an=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};$e.ExecutableResponseError=an;var Sa=class extends an{};$e.InvalidVersionFieldError=Sa;var Ta=class extends an{};$e.InvalidSuccessFieldError=Ta;var gd=class extends an{};$e.InvalidExpirationTimeFieldError=gd;var va=class extends an{};$e.InvalidTokenTypeFieldError=va;var Da=class extends an{};$e.InvalidCodeFieldError=Da;var Ra=class extends an{};$e.InvalidMessageFieldError=Ra;var cs=class extends an{};$e.InvalidSubjectTokenError=cs});var Cd=X(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.PluggableAuthHandler=po.ExecutableError=void 0;var br=yd(),fT=re("child_process"),_d=re("fs"),xa=class extends Error{code;constructor(e,n){super(`The executable failed with exit code: ${n} and error message: ${e}.`),this.code=n,Object.setPrototypeOf(this,new.target.prototype)}};po.ExecutableError=xa;var bd=class t{commandComponents;timeoutMillis;outputFile;constructor(e){if(!e.command)throw new Error("No command provided.");if(this.commandComponents=t.parseCommand(e.command),this.timeoutMillis=e.timeoutMillis,!this.timeoutMillis)throw new Error("No timeoutMillis provided.");this.outputFile=e.outputFile}retrieveResponseFromExecutable(e){return new Promise((n,r)=>{let o=fT.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}}),s="";o.stdout.on("data",u=>{s+=u}),o.stderr.on("data",u=>{s+=u});let a=setTimeout(()=>(o.removeAllListeners(),o.kill(),r(new Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);o.on("close",u=>{if(clearTimeout(a),u===0)try{let l=JSON.parse(s),f=new br.ExecutableResponse(l);return n(f)}catch(l){return l instanceof br.ExecutableResponseError?r(l):r(new br.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return r(new xa(s,u.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await _d.promises.realpath(this.outputFile)}catch{return}if(!(await _d.promises.lstat(e)).isFile())return;let n=await _d.promises.readFile(e,{encoding:"utf8"});if(n!=="")try{let r=JSON.parse(n);return new br.ExecutableResponse(r).isValid()?new br.ExecutableResponse(r):void 0}catch(r){throw r instanceof br.ExecutableResponseError?r:new br.ExecutableResponseError(`The output file contained an invalid response: ${n}`)}}static parseCommand(e){let n=e.match(/(?:[^\s"]+|"[^"]*")+/g);if(!n)throw new Error(`Provided command: "${e}" could not be parsed.`);for(let r=0;r<n.length;r++)n[r][0]==='"'&&n[r].slice(-1)==='"'&&(n[r]=n[r].slice(1,-1));return n}};po.PluggableAuthHandler=bd});var Ed=X(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.PluggableAuthClient=mo.ExecutableError=void 0;var hT=Kn(),pT=yd(),m0=Cd(),mT=Cd();Object.defineProperty(mo,"ExecutableError",{enumerable:!0,get:function(){return mT.ExecutableError}});var gT=30*1e3,g0=5*1e3,y0=120*1e3,yT="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",_0=1,wd=class extends hT.BaseExternalAccountClient{command;timeoutMillis;outputFile;handler;constructor(e){if(super(e),!e.credential_source.executable)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(this.command=e.credential_source.executable.command,!this.command)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(e.credential_source.executable.timeout_millis===void 0)this.timeoutMillis=gT;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<g0||this.timeoutMillis>y0)throw new Error(`Timeout must be between ${g0} and ${y0} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new m0.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[yT]!=="1")throw new Error("Pluggable Auth executables need to be explicitly allowed to run by setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment Variable to 1.");let e;if(this.outputFile&&(e=await this.handler.retrieveCachedResponse()),!e){let n=new Map;n.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE",this.audience),n.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE",this.subjectTokenType),n.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE","0"),this.outputFile&&n.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE",this.outputFile);let r=this.getServiceAccountEmail();r&&n.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",r),e=await this.handler.retrieveResponseFromExecutable(n)}if(e.version>_0)throw new Error(`Version of executable is not currently supported, maximum supported version is ${_0}.`);if(!e.success)throw new m0.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new pT.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.");if(e.isExpired())throw new Error("Executable response is expired.");return e.subjectToken}};mo.PluggableAuthClient=wd});var Ad=X(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.ExternalAccountClient=void 0;var _T=Kn(),bT=ad(),CT=fd(),wT=Ed(),kd=class{constructor(){throw new Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()")}static fromJSON(e){return console.warn("The `fromJSON` method does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),e&&e.type===_T.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new CT.AwsClient(e):e.credential_source?.executable?new wT.PluggableAuthClient(e):new bT.IdentityPoolClient(e):null}};Oa.ExternalAccountClient=kd});var E0=X(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.ExternalAccountAuthorizedUserClient=go.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var C0=bt(),b0=Kl(),w0=Xe(),ET=re("stream"),kT=Kn();go.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var AT="https://sts.{universeDomain}/v1/oauthtoken",Sd=class t extends b0.OAuthClientAuthHandler{#e;constructor(e){super(e),this.#e=e.tokenRefreshEndpoint}async refreshToken(e,n){let r={...t.RETRY_CONFIG,url:this.#e,method:"POST",headers:n,data:new URLSearchParams({grant_type:"refresh_token",refresh_token:e})};C0.AuthClient.setMethodName(r,"refreshToken"),this.applyClientAuthenticationOptions(r);try{let o=await this.transporter.request(r),s=o.data;return s.res=o,s}catch(o){throw o instanceof w0.GaxiosError&&o.response?(0,b0.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},Td=class extends C0.AuthClient{cachedAccessToken;externalAccountAuthorizedUserHandler;refreshToken;constructor(e){super(e),e.universe_domain&&(this.universeDomain=e.universe_domain),this.refreshToken=e.refresh_token;let n={confidentialClientType:"basic",clientId:e.client_id,clientSecret:e.client_secret};this.externalAccountAuthorizedUserHandler=new Sd({tokenRefreshEndpoint:e.token_url??AT.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:n}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=kT.EXPIRATION_TIME_OFFSET:this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis,this.forceRefreshOnFailure=!!e?.forceRefreshOnFailure}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=w0.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,u=s.config.data instanceof ET.Readable;if(!n&&(a===401||a===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}async refreshAccessTokenAsync(){let e=await this.externalAccountAuthorizedUserHandler.refreshToken(this.refreshToken);return this.cachedAccessToken={access_token:e.access_token,expiry_date:new Date().getTime()+e.expires_in*1e3,res:e.res},e.refresh_token!==void 0&&(this.refreshToken=e.refresh_token),this.cachedAccessToken}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};go.ExternalAccountAuthorizedUserClient=Td});var T0=X(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.GoogleAuth=Kt.GoogleAuthExceptionMessages=void 0;var ST=re("child_process"),ls=re("fs"),TT=Xe(),ds=Yo(),vT=re("os"),vd=re("path"),DT=Qo(),RT=wl(),xT=kl(),OT=Al(),yo=zl(),k0=Wl(),_o=Jl(),PT=Ad(),fs=Kn(),Dd=bt(),A0=E0(),S0=Wt();Kt.GoogleAuthExceptionMessages={API_KEY_WITH_CREDENTIALS:"API Keys and Credentials are mutually exclusive authentication methods and cannot be used together.",NO_PROJECT_ID_FOUND:`Unable to detect a Project Id in the current environment.
|
|
61
|
+
`+await t.crypto.sha256DigestHex(m),y=await iv(t.crypto,t.securityCredentials.secretAccessKey,a,t.region,r),g=await us(t.crypto,y,w),_=`${d0} Credential=${t.securityCredentials.accessKeyId}/${C}, SignedHeaders=${d}, Signature=${(0,f0.fromArrayBufferToHex)(g)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:_,canonicalQuerystring:t.canonicalQuerystring}}});var h0=X(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.DefaultAwsSecurityCredentialsSupplier=void 0;var wa=bt(),ld=class{regionUrl;securityCredentialsUrl;imdsV2SessionTokenUrl;additionalGaxiosOptions;constructor(e){this.regionUrl=e.regionUrl,this.securityCredentialsUrl=e.securityCredentialsUrl,this.imdsV2SessionTokenUrl=e.imdsV2SessionTokenUrl,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getAwsRegion(e){if(this.#r)return this.#r;let n=new Headers;if(!this.#r&&this.imdsV2SessionTokenUrl&&n.set("x-aws-ec2-metadata-token",await this.#e(e.transporter)),!this.regionUrl)throw new RangeError('Unable to determine AWS region due to missing "options.credential_source.region_url"');let r={...this.additionalGaxiosOptions,url:this.regionUrl,method:"GET",headers:n};wa.AuthClient.setMethodName(r,"getAwsRegion");let o=await e.transporter.request(r);return o.data.substr(0,o.data.length-1)}async getAwsSecurityCredentials(e){if(this.#o)return this.#o;let n=new Headers;this.imdsV2SessionTokenUrl&&n.set("x-aws-ec2-metadata-token",await this.#e(e.transporter));let r=await this.#t(n,e.transporter),o=await this.#n(r,n,e.transporter);return{accessKeyId:o.AccessKeyId,secretAccessKey:o.SecretAccessKey,token:o.Token}}async#e(e){let n={...this.additionalGaxiosOptions,url:this.imdsV2SessionTokenUrl,method:"PUT",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"300"}};return wa.AuthClient.setMethodName(n,"#getImdsV2SessionToken"),(await e.request(n)).data}async#t(e,n){if(!this.securityCredentialsUrl)throw new Error('Unable to determine AWS role name due to missing "options.credential_source.url"');let r={...this.additionalGaxiosOptions,url:this.securityCredentialsUrl,method:"GET",headers:e};return wa.AuthClient.setMethodName(r,"#getAwsRoleName"),(await n.request(r)).data}async#n(e,n,r){let o={...this.additionalGaxiosOptions,url:`${this.securityCredentialsUrl}/${e}`,headers:n};return wa.AuthClient.setMethodName(o,"#retrieveAwsSecurityCredentials"),(await r.request(o)).data}get#r(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||null}get#o(){return process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY?{accessKeyId:process.env.AWS_ACCESS_KEY_ID,secretAccessKey:process.env.AWS_SECRET_ACCESS_KEY,token:process.env.AWS_SESSION_TOKEN}:null}};Ea.DefaultAwsSecurityCredentialsSupplier=ld});var fd=X(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.AwsClient=void 0;var uv=cd(),cv=Kn(),lv=h0(),p0=Wt(),dv=Xe(),dd=class t extends cv.BaseExternalAccountClient{environmentId;awsSecurityCredentialsSupplier;regionalCredVerificationUrl;awsRequestSigner;region;static#e="https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15";static AWS_EC2_METADATA_IPV4_ADDRESS="169.254.169.254";static AWS_EC2_METADATA_IPV6_ADDRESS="fd00:ec2::254";constructor(e){super(e);let n=(0,p0.originalOrCamelOptions)(e),r=n.get("credential_source"),o=n.get("aws_security_credentials_supplier");if(!r&&!o)throw new Error("A credential source or AWS security credentials supplier must be specified.");if(r&&o)throw new Error("Only one of credential source or AWS security credentials supplier can be specified.");if(o)this.awsSecurityCredentialsSupplier=o,this.regionalCredVerificationUrl=t.#e,this.credentialSourceType="programmatic";else{let s=(0,p0.originalOrCamelOptions)(r);this.environmentId=s.get("environment_id");let a=s.get("region_url"),u=s.get("url"),l=s.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new lv.DefaultAwsSecurityCredentialsSupplier({regionUrl:a,securityCredentialsUrl:u,imdsV2SessionTokenUrl:l}),this.regionalCredVerificationUrl=s.get("regional_cred_verification_url"),this.credentialSourceType="aws",this.validateEnvironmentId()}this.awsRequestSigner=null,this.region=""}validateEnvironmentId(){let e=this.environmentId?.match(/^(aws)(\d+)$/);if(!e||!this.regionalCredVerificationUrl)throw new Error('No valid AWS "credential_source" provided');if(parseInt(e[2],10)!==1)throw new Error(`aws version "${e[2]}" is not supported in the current build.`)}async retrieveSubjectToken(){this.awsRequestSigner||(this.region=await this.awsSecurityCredentialsSupplier.getAwsRegion(this.supplierContext),this.awsRequestSigner=new uv.AwsRequestSigner(async()=>this.awsSecurityCredentialsSupplier.getAwsSecurityCredentials(this.supplierContext),this.region));let e=await this.awsRequestSigner.getRequestOptions({...t.RETRY_CONFIG,url:this.regionalCredVerificationUrl.replace("{region}",this.region),method:"POST"}),n=[];return dv.Gaxios.mergeHeaders({"x-goog-cloud-target-resource":this.audience},e.headers).forEach((o,s)=>n.push({key:s,value:o})),encodeURIComponent(JSON.stringify({url:e.url,method:e.method,headers:n}))}};ka.AwsClient=dd});var yd=X($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.InvalidSubjectTokenError=$e.InvalidMessageFieldError=$e.InvalidCodeFieldError=$e.InvalidTokenTypeFieldError=$e.InvalidExpirationTimeFieldError=$e.InvalidSuccessFieldError=$e.InvalidVersionFieldError=$e.ExecutableResponseError=$e.ExecutableResponse=void 0;var Aa="urn:ietf:params:oauth:token-type:saml2",hd="urn:ietf:params:oauth:token-type:id_token",pd="urn:ietf:params:oauth:token-type:jwt",md=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new Sa("Executable response must contain a 'version' field.");if(e.success===void 0)throw new va("Executable response must contain a 'success' field.");if(this.version=e.version,this.success=e.success,this.success){if(this.expirationTime=e.expiration_time,this.tokenType=e.token_type,this.tokenType!==Aa&&this.tokenType!==hd&&this.tokenType!==pd)throw new Ta(`Executable response must contain a 'token_type' field when successful and it must be one of ${hd}, ${pd}, or ${Aa}.`);if(this.tokenType===Aa){if(!e.saml_response)throw new cs(`Executable response must contain a 'saml_response' field when token_type=${Aa}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new cs(`Executable response must contain a 'id_token' field when token_type=${hd} or ${pd}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new Da("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new Ra("Executable response must contain a 'message' field when unsuccessful.");this.errorCode=e.code,this.errorMessage=e.message}}isValid(){return!this.isExpired()&&this.success}isExpired(){return this.expirationTime!==void 0&&this.expirationTime<Math.round(Date.now()/1e3)}};$e.ExecutableResponse=md;var an=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};$e.ExecutableResponseError=an;var Sa=class extends an{};$e.InvalidVersionFieldError=Sa;var va=class extends an{};$e.InvalidSuccessFieldError=va;var gd=class extends an{};$e.InvalidExpirationTimeFieldError=gd;var Ta=class extends an{};$e.InvalidTokenTypeFieldError=Ta;var Da=class extends an{};$e.InvalidCodeFieldError=Da;var Ra=class extends an{};$e.InvalidMessageFieldError=Ra;var cs=class extends an{};$e.InvalidSubjectTokenError=cs});var Cd=X(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.PluggableAuthHandler=po.ExecutableError=void 0;var br=yd(),fv=re("child_process"),_d=re("fs"),xa=class extends Error{code;constructor(e,n){super(`The executable failed with exit code: ${n} and error message: ${e}.`),this.code=n,Object.setPrototypeOf(this,new.target.prototype)}};po.ExecutableError=xa;var bd=class t{commandComponents;timeoutMillis;outputFile;constructor(e){if(!e.command)throw new Error("No command provided.");if(this.commandComponents=t.parseCommand(e.command),this.timeoutMillis=e.timeoutMillis,!this.timeoutMillis)throw new Error("No timeoutMillis provided.");this.outputFile=e.outputFile}retrieveResponseFromExecutable(e){return new Promise((n,r)=>{let o=fv.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}}),s="";o.stdout.on("data",u=>{s+=u}),o.stderr.on("data",u=>{s+=u});let a=setTimeout(()=>(o.removeAllListeners(),o.kill(),r(new Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);o.on("close",u=>{if(clearTimeout(a),u===0)try{let l=JSON.parse(s),f=new br.ExecutableResponse(l);return n(f)}catch(l){return l instanceof br.ExecutableResponseError?r(l):r(new br.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return r(new xa(s,u.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await _d.promises.realpath(this.outputFile)}catch{return}if(!(await _d.promises.lstat(e)).isFile())return;let n=await _d.promises.readFile(e,{encoding:"utf8"});if(n!=="")try{let r=JSON.parse(n);return new br.ExecutableResponse(r).isValid()?new br.ExecutableResponse(r):void 0}catch(r){throw r instanceof br.ExecutableResponseError?r:new br.ExecutableResponseError(`The output file contained an invalid response: ${n}`)}}static parseCommand(e){let n=e.match(/(?:[^\s"]+|"[^"]*")+/g);if(!n)throw new Error(`Provided command: "${e}" could not be parsed.`);for(let r=0;r<n.length;r++)n[r][0]==='"'&&n[r].slice(-1)==='"'&&(n[r]=n[r].slice(1,-1));return n}};po.PluggableAuthHandler=bd});var Ed=X(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.PluggableAuthClient=mo.ExecutableError=void 0;var hv=Kn(),pv=yd(),m0=Cd(),mv=Cd();Object.defineProperty(mo,"ExecutableError",{enumerable:!0,get:function(){return mv.ExecutableError}});var gv=30*1e3,g0=5*1e3,y0=120*1e3,yv="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",_0=1,wd=class extends hv.BaseExternalAccountClient{command;timeoutMillis;outputFile;handler;constructor(e){if(super(e),!e.credential_source.executable)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(this.command=e.credential_source.executable.command,!this.command)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(e.credential_source.executable.timeout_millis===void 0)this.timeoutMillis=gv;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<g0||this.timeoutMillis>y0)throw new Error(`Timeout must be between ${g0} and ${y0} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new m0.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[yv]!=="1")throw new Error("Pluggable Auth executables need to be explicitly allowed to run by setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment Variable to 1.");let e;if(this.outputFile&&(e=await this.handler.retrieveCachedResponse()),!e){let n=new Map;n.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE",this.audience),n.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE",this.subjectTokenType),n.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE","0"),this.outputFile&&n.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE",this.outputFile);let r=this.getServiceAccountEmail();r&&n.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",r),e=await this.handler.retrieveResponseFromExecutable(n)}if(e.version>_0)throw new Error(`Version of executable is not currently supported, maximum supported version is ${_0}.`);if(!e.success)throw new m0.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new pv.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.");if(e.isExpired())throw new Error("Executable response is expired.");return e.subjectToken}};mo.PluggableAuthClient=wd});var Ad=X(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.ExternalAccountClient=void 0;var _v=Kn(),bv=ad(),Cv=fd(),wv=Ed(),kd=class{constructor(){throw new Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()")}static fromJSON(e){return console.warn("The `fromJSON` method does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),e&&e.type===_v.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new Cv.AwsClient(e):e.credential_source?.executable?new wv.PluggableAuthClient(e):new bv.IdentityPoolClient(e):null}};Oa.ExternalAccountClient=kd});var E0=X(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.ExternalAccountAuthorizedUserClient=go.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var C0=bt(),b0=Kl(),w0=Xe(),Ev=re("stream"),kv=Kn();go.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var Av="https://sts.{universeDomain}/v1/oauthtoken",Sd=class t extends b0.OAuthClientAuthHandler{#e;constructor(e){super(e),this.#e=e.tokenRefreshEndpoint}async refreshToken(e,n){let r={...t.RETRY_CONFIG,url:this.#e,method:"POST",headers:n,data:new URLSearchParams({grant_type:"refresh_token",refresh_token:e})};C0.AuthClient.setMethodName(r,"refreshToken"),this.applyClientAuthenticationOptions(r);try{let o=await this.transporter.request(r),s=o.data;return s.res=o,s}catch(o){throw o instanceof w0.GaxiosError&&o.response?(0,b0.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},vd=class extends C0.AuthClient{cachedAccessToken;externalAccountAuthorizedUserHandler;refreshToken;constructor(e){super(e),e.universe_domain&&(this.universeDomain=e.universe_domain),this.refreshToken=e.refresh_token;let n={confidentialClientType:"basic",clientId:e.client_id,clientSecret:e.client_secret};this.externalAccountAuthorizedUserHandler=new Sd({tokenRefreshEndpoint:e.token_url??Av.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:n}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=kv.EXPIRATION_TIME_OFFSET:this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis,this.forceRefreshOnFailure=!!e?.forceRefreshOnFailure}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=w0.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,u=s.config.data instanceof Ev.Readable;if(!n&&(a===401||a===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}async refreshAccessTokenAsync(){let e=await this.externalAccountAuthorizedUserHandler.refreshToken(this.refreshToken);return this.cachedAccessToken={access_token:e.access_token,expiry_date:new Date().getTime()+e.expires_in*1e3,res:e.res},e.refresh_token!==void 0&&(this.refreshToken=e.refresh_token),this.cachedAccessToken}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};go.ExternalAccountAuthorizedUserClient=vd});var v0=X(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.GoogleAuth=Kt.GoogleAuthExceptionMessages=void 0;var Sv=re("child_process"),ls=re("fs"),vv=Xe(),ds=Yo(),Tv=re("os"),Td=re("path"),Dv=Qo(),Rv=wl(),xv=kl(),Ov=Al(),yo=zl(),k0=Wl(),_o=Jl(),Pv=Ad(),fs=Kn(),Dd=bt(),A0=E0(),S0=Wt();Kt.GoogleAuthExceptionMessages={API_KEY_WITH_CREDENTIALS:"API Keys and Credentials are mutually exclusive authentication methods and cannot be used together.",NO_PROJECT_ID_FOUND:`Unable to detect a Project Id in the current environment.
|
|
62
62
|
To learn more about authentication and Google APIs, visit:
|
|
63
63
|
https://cloud.google.com/docs/authentication/getting-started`,NO_CREDENTIALS_FOUND:`Unable to find credentials in current environment.
|
|
64
64
|
To learn more about authentication and Google APIs, visit:
|
|
65
65
|
https://cloud.google.com/docs/authentication/getting-started`,NO_ADC_FOUND:"Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.",NO_UNIVERSE_DOMAIN_FOUND:`Unable to detect a Universe Domain in the current environment.
|
|
66
66
|
To learn more about Universe Domain retrieval, visit:
|
|
67
|
-
https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};var Rd=class{checkIsGCE=void 0;useJWTAccessWithScope;defaultServicePath;get isGCE(){return this.checkIsGCE}_findProjectIdPromise;_cachedProjectId;jsonContent=null;apiKey;cachedCredential=null;#e=null;defaultScopes;keyFilename;scopes;clientOptions={};constructor(e={}){if(this._cachedProjectId=e.projectId||null,this.cachedCredential=e.authClient||null,this.keyFilename=e.keyFilename||e.keyFile,this.keyFilename&&console.warn("The `keyFilename` option is deprecated. Please use the `credentials` option instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.scopes=e.scopes,this.clientOptions=e.clientOptions||{},this.jsonContent=e.credentials||null,this.jsonContent&&console.warn("The `credentials` option is deprecated. Please use the `auth` object constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.apiKey=e.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw new RangeError(Kt.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);e.universeDomain&&(this.clientOptions.universeDomain=e.universeDomain)}setGapicJWTValues(e){e.defaultServicePath=this.defaultServicePath,e.useJWTAccessWithScope=this.useJWTAccessWithScope,e.defaultScopes=this.defaultScopes}getProjectId(e){if(e)this.getProjectIdAsync().then(n=>e(null,n),e);else return this.getProjectIdAsync()}async getProjectIdOptional(){try{return await this.getProjectId()}catch(e){if(e instanceof Error&&e.message===Kt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;throw e}}async findAndCacheProjectId(){let e=null;if(e||=await this.getProductionProjectId(),e||=await this.getFileProjectId(),e||=await this.getDefaultServiceProjectId(),e||=await this.getGCEProjectId(),e||=await this.getExternalAccountClientProjectId(),e)return this._cachedProjectId=e,e;throw new Error(Kt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){return this._cachedProjectId?this._cachedProjectId:(this._findProjectIdPromise||(this._findProjectIdPromise=this.findAndCacheProjectId()),this._findProjectIdPromise)}async getUniverseDomainFromMetadataServer(){let e;try{e=await ds.universe("universe-domain"),e||=Dd.DEFAULT_UNIVERSE}catch(n){if(n&&n?.response?.status===404)e=Dd.DEFAULT_UNIVERSE;else throw n}return e}async getUniverseDomain(){let e=(0,S0.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=Dd.DEFAULT_UNIVERSE}return e}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(e={},n){let r;if(typeof e=="function"?n=e:r=e,n)this.getApplicationDefaultAsync(r).then(o=>n(null,o.credential,o.projectId),n);else return this.getApplicationDefaultAsync(r)}async getApplicationDefaultAsync(e={}){if(this.cachedCredential)return await this.#t(this.cachedCredential,null);let n;if(n=await this._tryGetApplicationCredentialsFromEnvironmentVariable(e),n)return n instanceof yo.JWT?n.scopes=this.scopes:n instanceof fs.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(n=await this._tryGetApplicationCredentialsFromWellKnownFile(e),n)return n instanceof yo.JWT?n.scopes=this.scopes:n instanceof fs.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new RT.Compute(e));throw new Error(Kt.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async#t(e,n=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let r=await this.getProjectIdOptional();return n&&(e.quotaProjectId=n),this.cachedCredential=e,{credential:e,projectId:r}}async _checkIsGCE(){return this.checkIsGCE===void 0&&(this.checkIsGCE=ds.getGCPResidency()||await ds.isAvailable()),this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(e){let n=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!n||n.length===0)return null;try{return this._getApplicationCredentialsFromFilePath(n,e)}catch(r){throw r instanceof Error&&(r.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${r.message}`),r}}async _tryGetApplicationCredentialsFromWellKnownFile(e){let n=null;if(this._isWindows())n=process.env.APPDATA;else{let o=process.env.HOME;o&&(n=vd.join(o,".config"))}return n&&(n=vd.join(n,"gcloud","application_default_credentials.json"),ls.existsSync(n)||(n=null)),n?await this._getApplicationCredentialsFromFilePath(n,e):null}async _getApplicationCredentialsFromFilePath(e,n={}){if(!e||e.length===0)throw new Error("The file path is invalid.");try{if(e=ls.realpathSync(e),!ls.lstatSync(e).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let r=ls.createReadStream(e);return this.fromStream(r,n)}fromImpersonatedJSON(e){if(!e)throw new Error("Must pass in a JSON object containing an impersonated refresh token");if(e.type!==_o.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${_o.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!e.source_credentials)throw new Error("The incoming JSON object does not contain a source_credentials field");if(!e.service_account_impersonation_url)throw new Error("The incoming JSON object does not contain a service_account_impersonation_url field");let n=this.fromJSON(e.source_credentials);if(e.service_account_impersonation_url?.length>256)throw new RangeError(`Target principal is too long: ${e.service_account_impersonation_url}`);let r=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(e.service_account_impersonation_url)?.groups?.target;if(!r)throw new RangeError(`Cannot extract target principal from ${e.service_account_impersonation_url}`);let o=this.getAnyScopes()??[];return new _o.Impersonated({...e,sourceClient:n,targetPrincipal:r,targetScopes:Array.isArray(o)?o:[o]})}fromJSON(e,n={}){console.warn("The `fromJSON` method is deprecated. Please use the `JWT` constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let r,o=(0,S0.originalOrCamelOptions)(n).get("universe_domain");return e.type===k0.USER_REFRESH_ACCOUNT_TYPE?(r=new k0.UserRefreshClient(n),r.fromJSON(e)):e.type===_o.IMPERSONATED_ACCOUNT_TYPE?r=this.fromImpersonatedJSON(e):e.type===fs.EXTERNAL_ACCOUNT_TYPE?(r=PT.ExternalAccountClient.fromJSON({...e,...n}),r.scopes=this.getAnyScopes()):e.type===A0.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?r=new A0.ExternalAccountAuthorizedUserClient({...e,...n}):(n.scopes=this.scopes,r=new yo.JWT(n),this.setGapicJWTValues(r),r.fromJSON(e)),o&&(r.universeDomain=o),r}_cacheClientFromJSON(e,n){let r=this.fromJSON(e,n);return this.jsonContent=e,this.cachedCredential=r,r}fromStream(e,n={},r){console.warn("The `fromStream` method is deprecated. Please use the `JWT` constructor with a parsed stream instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let o={};if(typeof n=="function"?r=n:o=n,r)this.fromStreamAsync(e,o).then(s=>r(null,s),r);else return this.fromStreamAsync(e,o)}fromStreamAsync(e,n){return new Promise((r,o)=>{if(!e)throw new Error("Must pass in a stream containing the Google auth settings.");let s=[];e.setEncoding("utf8").on("error",o).on("data",a=>s.push(a)).on("end",()=>{try{try{let a=JSON.parse(s.join("")),u=this._cacheClientFromJSON(a,n);return r(u)}catch(a){if(!this.keyFilename)throw a;let u=new yo.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=u,this.setGapicJWTValues(u),r(u)}}catch(a){return o(a)}})})}fromAPIKey(e,n={}){return new yo.JWT({...n,apiKey:e})}_isWindows(){let e=vT.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,ST.exec)("gcloud config config-helper --format json",(n,r)=>{if(!n&&r)try{let o=JSON.parse(r).configuration.properties.core.project;e(o);return}catch{}e(null)})})}getProductionProjectId(){return process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project}async getFileProjectId(){if(this.cachedCredential)return this.cachedCredential.projectId;if(this.keyFilename){let n=await this.getClient();if(n&&n.projectId)return n.projectId}let e=await this._tryGetApplicationCredentialsFromEnvironmentVariable();return e?e.projectId:null}async getExternalAccountClientProjectId(){return!this.jsonContent||this.jsonContent.type!==fs.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await ds.project("project-id")}catch{return null}}getCredentials(e){if(e)this.getCredentialsAsync().then(n=>e(null,n),e);else return this.getCredentialsAsync()}async getCredentialsAsync(){let e=await this.getClient();if(e instanceof _o.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof fs.BaseExternalAccountClient){let n=e.getServiceAccountEmail();if(n)return{client_email:n,universe_domain:e.universeDomain}}if(this.jsonContent)return{client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key,universe_domain:this.jsonContent.universe_domain};if(await this._checkIsGCE()){let[n,r]=await Promise.all([ds.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:n,universe_domain:r}}throw new Error(Kt.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#e=this.#e||this.#n();try{return await this.#e}finally{this.#e=null}}async#n(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);if(this.keyFilename){let e=vd.resolve(this.keyFilename),n=ls.createReadStream(e);return await this.fromStreamAsync(n,this.clientOptions)}else if(this.apiKey){let e=await this.fromAPIKey(this.apiKey,this.clientOptions);e.scopes=this.scopes;let{credential:n}=await this.#t(e);return n}else{let{credential:e}=await this.getApplicationDefaultAsync(this.clientOptions);return e}}async getIdTokenClient(e){let n=await this.getClient();if(!("fetchIdToken"in n))throw new Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");return new xT.IdTokenClient({targetAudience:e,idTokenProvider:n})}async getAccessToken(){return(await(await this.getClient()).getAccessToken()).token}async getRequestHeaders(e){return(await this.getClient()).getRequestHeaders(e)}async authorizeRequest(e={}){let n=e.url,o=await(await this.getClient()).getRequestHeaders(n);return e.headers=TT.Gaxios.mergeHeaders(e.headers,o),e}async fetch(...e){return(await this.getClient()).fetch(...e)}async request(e){return(await this.getClient()).request(e)}getEnv(){return(0,OT.getEnv)()}async sign(e,n){let r=await this.getClient(),o=await this.getUniverseDomain();if(n=n||`https://iamcredentials.${o}/v1/projects/-/serviceAccounts/`,r instanceof _o.Impersonated)return(await r.sign(e)).signedBlob;let s=(0,DT.createCrypto)();if(r instanceof yo.JWT&&r.key)return await s.sign(r.key,e);let a=await this.getCredentials();if(!a.client_email)throw new Error("Cannot sign data without `client_email`.");return this.signBlob(s,a.client_email,e,n)}async signBlob(e,n,r,o){let s=new URL(o+`${n}:signBlob`);return(await this.request({method:"POST",url:s.href,data:{payload:e.encodeBase64StringUtf8(r)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}};Kt.GoogleAuth=Rd});var v0=X(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.IAMAuth=void 0;var xd=class{selector;token;constructor(e,n){this.selector=e,this.token=n,this.selector=e,this.token=n}getRequestHeaders(){return{"x-goog-iam-authority-selector":this.selector,"x-goog-iam-authorization-token":this.token}}};Pa.IAMAuth=xd});var D0=X(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.DownscopedClient=un.EXPIRATION_TIME_OFFSET=un.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var FT=Xe(),IT=re("stream"),Od=bt(),NT=fa(),BT="urn:ietf:params:oauth:grant-type:token-exchange",MT="urn:ietf:params:oauth:token-type:access_token",LT="urn:ietf:params:oauth:token-type:access_token";un.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;un.EXPIRATION_TIME_OFFSET=300*1e3;var Pd=class extends Od.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,n={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof Od.AuthClient?{}:e),e instanceof Od.AuthClient?(this.authClient=e,this.credentialAccessBoundary=n):(this.authClient=e.authClient,this.credentialAccessBoundary=e.credentialAccessBoundary),this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length===0)throw new Error("At least one access boundary rule needs to be defined.");if(this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length>un.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${un.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`);for(let r of this.credentialAccessBoundary.accessBoundary.accessBoundaryRules)if(r.availablePermissions.length===0)throw new Error("At least one permission should be defined in access boundary rules.");this.stsCredential=new NT.StsCredentials({tokenExchangeEndpoint:`https://sts.${this.universeDomain}/v1/token`}),this.cachedDownscopedAccessToken=null}setCredentials(e){if(!e.expiry_date)throw new Error("The access token expiry_date field is missing in the provided credentials.");super.setCredentials(e),this.cachedDownscopedAccessToken=e}async getAccessToken(){return(!this.cachedDownscopedAccessToken||this.isExpired(this.cachedDownscopedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedDownscopedAccessToken.access_token,expirationTime:this.cachedDownscopedAccessToken.expiry_date,res:this.cachedDownscopedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=FT.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,u=s.config.data instanceof IT.Readable;if(!n&&(a===401||a===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}async refreshAccessTokenAsync(){let e=(await this.authClient.getAccessToken()).token,n={grantType:BT,requestedTokenType:MT,subjectToken:e,subjectTokenType:LT},r=await this.stsCredential.exchangeToken(n,void 0,this.credentialAccessBoundary),o=this.authClient.credentials?.expiry_date||null,s=r.expires_in?new Date().getTime()+r.expires_in*1e3:o;return this.cachedDownscopedAccessToken={access_token:r.access_token,expiry_date:s,res:r.res},this.credentials={},Object.assign(this.credentials,this.cachedDownscopedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedDownscopedAccessToken.expiry_date,access_token:this.cachedDownscopedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedDownscopedAccessToken}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};un.DownscopedClient=Pd});var R0=X(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.PassThroughClient=void 0;var jT=bt(),Fd=class extends jT.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};Fa.PassThroughClient=Fd});var Nd=X(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.GoogleAuth=le.auth=le.PassThroughClient=le.ExecutableError=le.PluggableAuthClient=le.DownscopedClient=le.BaseExternalAccountClient=le.ExternalAccountClient=le.IdentityPoolClient=le.AwsRequestSigner=le.AwsClient=le.UserRefreshClient=le.LoginTicket=le.ClientAuthentication=le.OAuth2Client=le.CodeChallengeMethod=le.Impersonated=le.JWT=le.JWTAccess=le.IdTokenClient=le.IAMAuth=le.GCPEnv=le.Compute=le.DEFAULT_UNIVERSE=le.AuthClient=le.gaxios=le.gcpMetadata=void 0;var x0=T0();Object.defineProperty(le,"GoogleAuth",{enumerable:!0,get:function(){return x0.GoogleAuth}});le.gcpMetadata=Yo();le.gaxios=Xe();var O0=bt();Object.defineProperty(le,"AuthClient",{enumerable:!0,get:function(){return O0.AuthClient}});Object.defineProperty(le,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return O0.DEFAULT_UNIVERSE}});var UT=wl();Object.defineProperty(le,"Compute",{enumerable:!0,get:function(){return UT.Compute}});var $T=Al();Object.defineProperty(le,"GCPEnv",{enumerable:!0,get:function(){return $T.GCPEnv}});var qT=v0();Object.defineProperty(le,"IAMAuth",{enumerable:!0,get:function(){return qT.IAMAuth}});var zT=kl();Object.defineProperty(le,"IdTokenClient",{enumerable:!0,get:function(){return zT.IdTokenClient}});var HT=$l();Object.defineProperty(le,"JWTAccess",{enumerable:!0,get:function(){return HT.JWTAccess}});var WT=zl();Object.defineProperty(le,"JWT",{enumerable:!0,get:function(){return WT.JWT}});var GT=Jl();Object.defineProperty(le,"Impersonated",{enumerable:!0,get:function(){return GT.Impersonated}});var Id=_r();Object.defineProperty(le,"CodeChallengeMethod",{enumerable:!0,get:function(){return Id.CodeChallengeMethod}});Object.defineProperty(le,"OAuth2Client",{enumerable:!0,get:function(){return Id.OAuth2Client}});Object.defineProperty(le,"ClientAuthentication",{enumerable:!0,get:function(){return Id.ClientAuthentication}});var JT=yl();Object.defineProperty(le,"LoginTicket",{enumerable:!0,get:function(){return JT.LoginTicket}});var VT=Wl();Object.defineProperty(le,"UserRefreshClient",{enumerable:!0,get:function(){return VT.UserRefreshClient}});var KT=fd();Object.defineProperty(le,"AwsClient",{enumerable:!0,get:function(){return KT.AwsClient}});var YT=cd();Object.defineProperty(le,"AwsRequestSigner",{enumerable:!0,get:function(){return YT.AwsRequestSigner}});var QT=ad();Object.defineProperty(le,"IdentityPoolClient",{enumerable:!0,get:function(){return QT.IdentityPoolClient}});var XT=Ad();Object.defineProperty(le,"ExternalAccountClient",{enumerable:!0,get:function(){return XT.ExternalAccountClient}});var ZT=Kn();Object.defineProperty(le,"BaseExternalAccountClient",{enumerable:!0,get:function(){return ZT.BaseExternalAccountClient}});var ev=D0();Object.defineProperty(le,"DownscopedClient",{enumerable:!0,get:function(){return ev.DownscopedClient}});var P0=Ed();Object.defineProperty(le,"PluggableAuthClient",{enumerable:!0,get:function(){return P0.PluggableAuthClient}});Object.defineProperty(le,"ExecutableError",{enumerable:!0,get:function(){return P0.ExecutableError}});var tv=R0();Object.defineProperty(le,"PassThroughClient",{enumerable:!0,get:function(){return tv.PassThroughClient}});var nv=new x0.GoogleAuth;le.auth=nv});var d_=X((WN,pf)=>{"use strict";var qR=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,zR=/(\w*(\.\w*)*)\..*/;pf.exports=function(e){if(e.name.length>0)return e.name;let n=Error.stackTraceLimit;Error.stackTraceLimit=10;try{throw new Error("anonymous function")}catch(r){return Error.stackTraceLimit=n,l_(r.stack)}};function l_(t){let e=t.match(qR);return e?e[1].split(/[/\\]/).slice(-1)[0].match(zR)[1]:"anonymous"}pf.exports.extractPluginName=l_});var h_=X((GN,f_)=>{"use strict";f_.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(n,r){return r.toUpperCase()})}});var p_=X((JN,cu)=>{"use strict";var HR=d_(),WR=h_(),GR=0;function mf(t,e={}){let n=!1;if(t.default!==void 0&&(t=t.default),typeof t!="function")throw new TypeError(`fastify-plugin expects a function, instead got a '${typeof t}'`);if(typeof e=="string"&&(e={fastify:e}),typeof e!="object"||Array.isArray(e)||e===null)throw new TypeError("The options object should be an object");if(e.fastify!==void 0&&typeof e.fastify!="string")throw new TypeError(`fastify-plugin expects a version string, instead got '${typeof e.fastify}'`);e.name||(n=!0,e.name=HR(t)+"-auto-"+GR++),t[Symbol.for("skip-override")]=e.encapsulate!==!0,t[Symbol.for("fastify.display-name")]=e.name,t[Symbol.for("plugin-meta")]=e,t.default||(t.default=t);let r=WR(e.name);return!n&&!t[r]&&(t[r]=t),t}cu.exports=mf;cu.exports.default=mf;cu.exports.fastifyPlugin=mf});var bs,gf=Le(()=>{"use strict";bs=class{type="console";config;colors={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"};constructor(e={}){this.config={colors:!0,level:"log",...e}}formatData(e,n){let{format:r="text",timestamp:o=!0,prefix:s,metadata:a}=n||{},u="";if(o){let l=new Date().toISOString();u+=this.config.colors?`${this.colors.cyan}[${l}]${this.colors.reset} `:`[${l}] `}switch(s&&(u+=this.config.colors?`${this.colors.bright}${s}${this.colors.reset} `:`${s} `),r){case"json":u+=JSON.stringify(e,null,2);break;case"markdown":typeof e=="object"?u+=this.toMarkdown(e):u+=String(e);break;case"text":default:typeof e=="object"?u+=JSON.stringify(e,null,2):u+=String(e);break}return a&&Object.keys(a).length>0&&(u+=`
|
|
67
|
+
https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};var Rd=class{checkIsGCE=void 0;useJWTAccessWithScope;defaultServicePath;get isGCE(){return this.checkIsGCE}_findProjectIdPromise;_cachedProjectId;jsonContent=null;apiKey;cachedCredential=null;#e=null;defaultScopes;keyFilename;scopes;clientOptions={};constructor(e={}){if(this._cachedProjectId=e.projectId||null,this.cachedCredential=e.authClient||null,this.keyFilename=e.keyFilename||e.keyFile,this.keyFilename&&console.warn("The `keyFilename` option is deprecated. Please use the `credentials` option instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.scopes=e.scopes,this.clientOptions=e.clientOptions||{},this.jsonContent=e.credentials||null,this.jsonContent&&console.warn("The `credentials` option is deprecated. Please use the `auth` object constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.apiKey=e.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw new RangeError(Kt.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);e.universeDomain&&(this.clientOptions.universeDomain=e.universeDomain)}setGapicJWTValues(e){e.defaultServicePath=this.defaultServicePath,e.useJWTAccessWithScope=this.useJWTAccessWithScope,e.defaultScopes=this.defaultScopes}getProjectId(e){if(e)this.getProjectIdAsync().then(n=>e(null,n),e);else return this.getProjectIdAsync()}async getProjectIdOptional(){try{return await this.getProjectId()}catch(e){if(e instanceof Error&&e.message===Kt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;throw e}}async findAndCacheProjectId(){let e=null;if(e||=await this.getProductionProjectId(),e||=await this.getFileProjectId(),e||=await this.getDefaultServiceProjectId(),e||=await this.getGCEProjectId(),e||=await this.getExternalAccountClientProjectId(),e)return this._cachedProjectId=e,e;throw new Error(Kt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){return this._cachedProjectId?this._cachedProjectId:(this._findProjectIdPromise||(this._findProjectIdPromise=this.findAndCacheProjectId()),this._findProjectIdPromise)}async getUniverseDomainFromMetadataServer(){let e;try{e=await ds.universe("universe-domain"),e||=Dd.DEFAULT_UNIVERSE}catch(n){if(n&&n?.response?.status===404)e=Dd.DEFAULT_UNIVERSE;else throw n}return e}async getUniverseDomain(){let e=(0,S0.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=Dd.DEFAULT_UNIVERSE}return e}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(e={},n){let r;if(typeof e=="function"?n=e:r=e,n)this.getApplicationDefaultAsync(r).then(o=>n(null,o.credential,o.projectId),n);else return this.getApplicationDefaultAsync(r)}async getApplicationDefaultAsync(e={}){if(this.cachedCredential)return await this.#t(this.cachedCredential,null);let n;if(n=await this._tryGetApplicationCredentialsFromEnvironmentVariable(e),n)return n instanceof yo.JWT?n.scopes=this.scopes:n instanceof fs.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(n=await this._tryGetApplicationCredentialsFromWellKnownFile(e),n)return n instanceof yo.JWT?n.scopes=this.scopes:n instanceof fs.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new Rv.Compute(e));throw new Error(Kt.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async#t(e,n=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let r=await this.getProjectIdOptional();return n&&(e.quotaProjectId=n),this.cachedCredential=e,{credential:e,projectId:r}}async _checkIsGCE(){return this.checkIsGCE===void 0&&(this.checkIsGCE=ds.getGCPResidency()||await ds.isAvailable()),this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(e){let n=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!n||n.length===0)return null;try{return this._getApplicationCredentialsFromFilePath(n,e)}catch(r){throw r instanceof Error&&(r.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${r.message}`),r}}async _tryGetApplicationCredentialsFromWellKnownFile(e){let n=null;if(this._isWindows())n=process.env.APPDATA;else{let o=process.env.HOME;o&&(n=Td.join(o,".config"))}return n&&(n=Td.join(n,"gcloud","application_default_credentials.json"),ls.existsSync(n)||(n=null)),n?await this._getApplicationCredentialsFromFilePath(n,e):null}async _getApplicationCredentialsFromFilePath(e,n={}){if(!e||e.length===0)throw new Error("The file path is invalid.");try{if(e=ls.realpathSync(e),!ls.lstatSync(e).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let r=ls.createReadStream(e);return this.fromStream(r,n)}fromImpersonatedJSON(e){if(!e)throw new Error("Must pass in a JSON object containing an impersonated refresh token");if(e.type!==_o.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${_o.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!e.source_credentials)throw new Error("The incoming JSON object does not contain a source_credentials field");if(!e.service_account_impersonation_url)throw new Error("The incoming JSON object does not contain a service_account_impersonation_url field");let n=this.fromJSON(e.source_credentials);if(e.service_account_impersonation_url?.length>256)throw new RangeError(`Target principal is too long: ${e.service_account_impersonation_url}`);let r=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(e.service_account_impersonation_url)?.groups?.target;if(!r)throw new RangeError(`Cannot extract target principal from ${e.service_account_impersonation_url}`);let o=this.getAnyScopes()??[];return new _o.Impersonated({...e,sourceClient:n,targetPrincipal:r,targetScopes:Array.isArray(o)?o:[o]})}fromJSON(e,n={}){console.warn("The `fromJSON` method is deprecated. Please use the `JWT` constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let r,o=(0,S0.originalOrCamelOptions)(n).get("universe_domain");return e.type===k0.USER_REFRESH_ACCOUNT_TYPE?(r=new k0.UserRefreshClient(n),r.fromJSON(e)):e.type===_o.IMPERSONATED_ACCOUNT_TYPE?r=this.fromImpersonatedJSON(e):e.type===fs.EXTERNAL_ACCOUNT_TYPE?(r=Pv.ExternalAccountClient.fromJSON({...e,...n}),r.scopes=this.getAnyScopes()):e.type===A0.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?r=new A0.ExternalAccountAuthorizedUserClient({...e,...n}):(n.scopes=this.scopes,r=new yo.JWT(n),this.setGapicJWTValues(r),r.fromJSON(e)),o&&(r.universeDomain=o),r}_cacheClientFromJSON(e,n){let r=this.fromJSON(e,n);return this.jsonContent=e,this.cachedCredential=r,r}fromStream(e,n={},r){console.warn("The `fromStream` method is deprecated. Please use the `JWT` constructor with a parsed stream instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let o={};if(typeof n=="function"?r=n:o=n,r)this.fromStreamAsync(e,o).then(s=>r(null,s),r);else return this.fromStreamAsync(e,o)}fromStreamAsync(e,n){return new Promise((r,o)=>{if(!e)throw new Error("Must pass in a stream containing the Google auth settings.");let s=[];e.setEncoding("utf8").on("error",o).on("data",a=>s.push(a)).on("end",()=>{try{try{let a=JSON.parse(s.join("")),u=this._cacheClientFromJSON(a,n);return r(u)}catch(a){if(!this.keyFilename)throw a;let u=new yo.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=u,this.setGapicJWTValues(u),r(u)}}catch(a){return o(a)}})})}fromAPIKey(e,n={}){return new yo.JWT({...n,apiKey:e})}_isWindows(){let e=Tv.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,Sv.exec)("gcloud config config-helper --format json",(n,r)=>{if(!n&&r)try{let o=JSON.parse(r).configuration.properties.core.project;e(o);return}catch{}e(null)})})}getProductionProjectId(){return process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project}async getFileProjectId(){if(this.cachedCredential)return this.cachedCredential.projectId;if(this.keyFilename){let n=await this.getClient();if(n&&n.projectId)return n.projectId}let e=await this._tryGetApplicationCredentialsFromEnvironmentVariable();return e?e.projectId:null}async getExternalAccountClientProjectId(){return!this.jsonContent||this.jsonContent.type!==fs.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await ds.project("project-id")}catch{return null}}getCredentials(e){if(e)this.getCredentialsAsync().then(n=>e(null,n),e);else return this.getCredentialsAsync()}async getCredentialsAsync(){let e=await this.getClient();if(e instanceof _o.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof fs.BaseExternalAccountClient){let n=e.getServiceAccountEmail();if(n)return{client_email:n,universe_domain:e.universeDomain}}if(this.jsonContent)return{client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key,universe_domain:this.jsonContent.universe_domain};if(await this._checkIsGCE()){let[n,r]=await Promise.all([ds.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:n,universe_domain:r}}throw new Error(Kt.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#e=this.#e||this.#n();try{return await this.#e}finally{this.#e=null}}async#n(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);if(this.keyFilename){let e=Td.resolve(this.keyFilename),n=ls.createReadStream(e);return await this.fromStreamAsync(n,this.clientOptions)}else if(this.apiKey){let e=await this.fromAPIKey(this.apiKey,this.clientOptions);e.scopes=this.scopes;let{credential:n}=await this.#t(e);return n}else{let{credential:e}=await this.getApplicationDefaultAsync(this.clientOptions);return e}}async getIdTokenClient(e){let n=await this.getClient();if(!("fetchIdToken"in n))throw new Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");return new xv.IdTokenClient({targetAudience:e,idTokenProvider:n})}async getAccessToken(){return(await(await this.getClient()).getAccessToken()).token}async getRequestHeaders(e){return(await this.getClient()).getRequestHeaders(e)}async authorizeRequest(e={}){let n=e.url,o=await(await this.getClient()).getRequestHeaders(n);return e.headers=vv.Gaxios.mergeHeaders(e.headers,o),e}async fetch(...e){return(await this.getClient()).fetch(...e)}async request(e){return(await this.getClient()).request(e)}getEnv(){return(0,Ov.getEnv)()}async sign(e,n){let r=await this.getClient(),o=await this.getUniverseDomain();if(n=n||`https://iamcredentials.${o}/v1/projects/-/serviceAccounts/`,r instanceof _o.Impersonated)return(await r.sign(e)).signedBlob;let s=(0,Dv.createCrypto)();if(r instanceof yo.JWT&&r.key)return await s.sign(r.key,e);let a=await this.getCredentials();if(!a.client_email)throw new Error("Cannot sign data without `client_email`.");return this.signBlob(s,a.client_email,e,n)}async signBlob(e,n,r,o){let s=new URL(o+`${n}:signBlob`);return(await this.request({method:"POST",url:s.href,data:{payload:e.encodeBase64StringUtf8(r)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}};Kt.GoogleAuth=Rd});var T0=X(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.IAMAuth=void 0;var xd=class{selector;token;constructor(e,n){this.selector=e,this.token=n,this.selector=e,this.token=n}getRequestHeaders(){return{"x-goog-iam-authority-selector":this.selector,"x-goog-iam-authorization-token":this.token}}};Pa.IAMAuth=xd});var D0=X(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.DownscopedClient=un.EXPIRATION_TIME_OFFSET=un.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var Fv=Xe(),Iv=re("stream"),Od=bt(),Nv=fa(),Bv="urn:ietf:params:oauth:grant-type:token-exchange",Mv="urn:ietf:params:oauth:token-type:access_token",Lv="urn:ietf:params:oauth:token-type:access_token";un.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;un.EXPIRATION_TIME_OFFSET=300*1e3;var Pd=class extends Od.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,n={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof Od.AuthClient?{}:e),e instanceof Od.AuthClient?(this.authClient=e,this.credentialAccessBoundary=n):(this.authClient=e.authClient,this.credentialAccessBoundary=e.credentialAccessBoundary),this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length===0)throw new Error("At least one access boundary rule needs to be defined.");if(this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length>un.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${un.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`);for(let r of this.credentialAccessBoundary.accessBoundary.accessBoundaryRules)if(r.availablePermissions.length===0)throw new Error("At least one permission should be defined in access boundary rules.");this.stsCredential=new Nv.StsCredentials({tokenExchangeEndpoint:`https://sts.${this.universeDomain}/v1/token`}),this.cachedDownscopedAccessToken=null}setCredentials(e){if(!e.expiry_date)throw new Error("The access token expiry_date field is missing in the provided credentials.");super.setCredentials(e),this.cachedDownscopedAccessToken=e}async getAccessToken(){return(!this.cachedDownscopedAccessToken||this.isExpired(this.cachedDownscopedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedDownscopedAccessToken.access_token,expirationTime:this.cachedDownscopedAccessToken.expiry_date,res:this.cachedDownscopedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=Fv.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,u=s.config.data instanceof Iv.Readable;if(!n&&(a===401||a===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}async refreshAccessTokenAsync(){let e=(await this.authClient.getAccessToken()).token,n={grantType:Bv,requestedTokenType:Mv,subjectToken:e,subjectTokenType:Lv},r=await this.stsCredential.exchangeToken(n,void 0,this.credentialAccessBoundary),o=this.authClient.credentials?.expiry_date||null,s=r.expires_in?new Date().getTime()+r.expires_in*1e3:o;return this.cachedDownscopedAccessToken={access_token:r.access_token,expiry_date:s,res:r.res},this.credentials={},Object.assign(this.credentials,this.cachedDownscopedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedDownscopedAccessToken.expiry_date,access_token:this.cachedDownscopedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedDownscopedAccessToken}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};un.DownscopedClient=Pd});var R0=X(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.PassThroughClient=void 0;var jv=bt(),Fd=class extends jv.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};Fa.PassThroughClient=Fd});var Nd=X(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.GoogleAuth=le.auth=le.PassThroughClient=le.ExecutableError=le.PluggableAuthClient=le.DownscopedClient=le.BaseExternalAccountClient=le.ExternalAccountClient=le.IdentityPoolClient=le.AwsRequestSigner=le.AwsClient=le.UserRefreshClient=le.LoginTicket=le.ClientAuthentication=le.OAuth2Client=le.CodeChallengeMethod=le.Impersonated=le.JWT=le.JWTAccess=le.IdTokenClient=le.IAMAuth=le.GCPEnv=le.Compute=le.DEFAULT_UNIVERSE=le.AuthClient=le.gaxios=le.gcpMetadata=void 0;var x0=v0();Object.defineProperty(le,"GoogleAuth",{enumerable:!0,get:function(){return x0.GoogleAuth}});le.gcpMetadata=Yo();le.gaxios=Xe();var O0=bt();Object.defineProperty(le,"AuthClient",{enumerable:!0,get:function(){return O0.AuthClient}});Object.defineProperty(le,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return O0.DEFAULT_UNIVERSE}});var Uv=wl();Object.defineProperty(le,"Compute",{enumerable:!0,get:function(){return Uv.Compute}});var $v=Al();Object.defineProperty(le,"GCPEnv",{enumerable:!0,get:function(){return $v.GCPEnv}});var qv=T0();Object.defineProperty(le,"IAMAuth",{enumerable:!0,get:function(){return qv.IAMAuth}});var zv=kl();Object.defineProperty(le,"IdTokenClient",{enumerable:!0,get:function(){return zv.IdTokenClient}});var Hv=$l();Object.defineProperty(le,"JWTAccess",{enumerable:!0,get:function(){return Hv.JWTAccess}});var Wv=zl();Object.defineProperty(le,"JWT",{enumerable:!0,get:function(){return Wv.JWT}});var Gv=Jl();Object.defineProperty(le,"Impersonated",{enumerable:!0,get:function(){return Gv.Impersonated}});var Id=_r();Object.defineProperty(le,"CodeChallengeMethod",{enumerable:!0,get:function(){return Id.CodeChallengeMethod}});Object.defineProperty(le,"OAuth2Client",{enumerable:!0,get:function(){return Id.OAuth2Client}});Object.defineProperty(le,"ClientAuthentication",{enumerable:!0,get:function(){return Id.ClientAuthentication}});var Jv=yl();Object.defineProperty(le,"LoginTicket",{enumerable:!0,get:function(){return Jv.LoginTicket}});var Vv=Wl();Object.defineProperty(le,"UserRefreshClient",{enumerable:!0,get:function(){return Vv.UserRefreshClient}});var Kv=fd();Object.defineProperty(le,"AwsClient",{enumerable:!0,get:function(){return Kv.AwsClient}});var Yv=cd();Object.defineProperty(le,"AwsRequestSigner",{enumerable:!0,get:function(){return Yv.AwsRequestSigner}});var Qv=ad();Object.defineProperty(le,"IdentityPoolClient",{enumerable:!0,get:function(){return Qv.IdentityPoolClient}});var Xv=Ad();Object.defineProperty(le,"ExternalAccountClient",{enumerable:!0,get:function(){return Xv.ExternalAccountClient}});var Zv=Kn();Object.defineProperty(le,"BaseExternalAccountClient",{enumerable:!0,get:function(){return Zv.BaseExternalAccountClient}});var eT=D0();Object.defineProperty(le,"DownscopedClient",{enumerable:!0,get:function(){return eT.DownscopedClient}});var P0=Ed();Object.defineProperty(le,"PluggableAuthClient",{enumerable:!0,get:function(){return P0.PluggableAuthClient}});Object.defineProperty(le,"ExecutableError",{enumerable:!0,get:function(){return P0.ExecutableError}});var tT=R0();Object.defineProperty(le,"PassThroughClient",{enumerable:!0,get:function(){return tT.PassThroughClient}});var nT=new x0.GoogleAuth;le.auth=nT});var d_=X((WN,pf)=>{"use strict";var qR=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,zR=/(\w*(\.\w*)*)\..*/;pf.exports=function(e){if(e.name.length>0)return e.name;let n=Error.stackTraceLimit;Error.stackTraceLimit=10;try{throw new Error("anonymous function")}catch(r){return Error.stackTraceLimit=n,l_(r.stack)}};function l_(t){let e=t.match(qR);return e?e[1].split(/[/\\]/).slice(-1)[0].match(zR)[1]:"anonymous"}pf.exports.extractPluginName=l_});var h_=X((GN,f_)=>{"use strict";f_.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(n,r){return r.toUpperCase()})}});var p_=X((JN,cu)=>{"use strict";var HR=d_(),WR=h_(),GR=0;function mf(t,e={}){let n=!1;if(t.default!==void 0&&(t=t.default),typeof t!="function")throw new TypeError(`fastify-plugin expects a function, instead got a '${typeof t}'`);if(typeof e=="string"&&(e={fastify:e}),typeof e!="object"||Array.isArray(e)||e===null)throw new TypeError("The options object should be an object");if(e.fastify!==void 0&&typeof e.fastify!="string")throw new TypeError(`fastify-plugin expects a version string, instead got '${typeof e.fastify}'`);e.name||(n=!0,e.name=HR(t)+"-auto-"+GR++),t[Symbol.for("skip-override")]=e.encapsulate!==!0,t[Symbol.for("fastify.display-name")]=e.name,t[Symbol.for("plugin-meta")]=e,t.default||(t.default=t);let r=WR(e.name);return!n&&!t[r]&&(t[r]=t),t}cu.exports=mf;cu.exports.default=mf;cu.exports.fastifyPlugin=mf});var bs,gf=Le(()=>{"use strict";bs=class{type="console";config;colors={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"};constructor(e={}){this.config={colors:!0,level:"log",...e}}formatData(e,n){let{format:r="text",timestamp:o=!0,prefix:s,metadata:a}=n||{},u="";if(o){let l=new Date().toISOString();u+=this.config.colors?`${this.colors.cyan}[${l}]${this.colors.reset} `:`[${l}] `}switch(s&&(u+=this.config.colors?`${this.colors.bright}${s}${this.colors.reset} `:`${s} `),r){case"json":u+=JSON.stringify(e,null,2);break;case"markdown":typeof e=="object"?u+=this.toMarkdown(e):u+=String(e);break;case"text":default:typeof e=="object"?u+=JSON.stringify(e,null,2):u+=String(e);break}return a&&Object.keys(a).length>0&&(u+=`
|
|
68
68
|
`+(this.config.colors?`${this.colors.dim}`:""),u+="Metadata: "+JSON.stringify(a,null,2),this.config.colors&&(u+=this.colors.reset)),u}toMarkdown(e,n=0){let r=" ".repeat(n);return Array.isArray(e)?e.map(o=>typeof o=="object"?`${r}-
|
|
69
69
|
${this.toMarkdown(o,n+1)}`:`${r}- ${o}`).join(`
|
|
70
70
|
`):typeof e=="object"&&e!==null?Object.entries(e).map(([o,s])=>typeof s=="object"&&s!==null?`${r}${o}:
|
|
71
71
|
${this.toMarkdown(s,n+1)}`:`${r}${o}: ${s}`).join(`
|
|
72
72
|
`):`${r}${e}`}async output(e,n={}){try{let r=this.formatData(e,n);switch(this.config.level||"log"){case"info":console.info(r);break;case"warn":console.warn(r);break;case"error":console.error(r);break;case"debug":console.debug(r);break;case"log":default:console.log(r);break}return!0}catch(r){return console.error("[ConsoleOutputHandler] Output failed:",r),!1}}}});var Cs,yf=Le(()=>{"use strict";Cs=class{type="webhook";config;defaultTimeout=3e4;constructor(e){if(!e.url)throw new Error("Webhook URL is required");this.config={method:"POST",retry:{maxAttempts:3,backoffMs:1e3},silent:!1,...e}}buildHeaders(){let e={"Content-Type":"application/json",...this.config.headers||{}};if(this.config.auth)switch(this.config.auth.type){case"bearer":this.config.auth.token&&(e.Authorization=`Bearer ${this.config.auth.token}`);break;case"basic":if(this.config.auth.username&&this.config.auth.password){let n=Buffer.from(`${this.config.auth.username}:${this.config.auth.password}`).toString("base64");e.Authorization=`Basic ${n}`}break;case"custom":this.config.auth.custom&&(e[this.config.auth.custom.header]=this.config.auth.custom.value);break}return e}buildBody(e,n){let{format:r="json",timestamp:o=!0,prefix:s,metadata:a}=n||{},u={data:e};return o&&(u.timestamp=new Date().toISOString()),s&&(u.prefix=s),a&&Object.keys(a).length>0&&(u.metadata=a),u}async sendRequest(e,n,r,o,s){let a=new AbortController,u=setTimeout(()=>a.abort(),s);try{let l=await fetch(e,{method:n,headers:r,body:JSON.stringify(o),signal:a.signal});if(clearTimeout(u),!l.ok)throw new Error(`HTTP ${l.status}: ${l.statusText}`);return l}catch(l){throw clearTimeout(u),l}}delay(e){return new Promise(n=>setTimeout(n,e))}async sendWithRetry(e,n,r,o,s,a){let u=null;for(let l=1;l<=a.maxAttempts;l++)try{return await this.sendRequest(e,n,r,o,s)}catch(f){if(u=f,l===a.maxAttempts)break;let d=a.backoffMs*Math.pow(2,l-1);console.warn(`[WebhookOutputHandler] Request failed (attempt ${l}/${a.maxAttempts}), retrying in ${d}ms...`,f.message),await this.delay(d)}throw u}async output(e,n={}){let r=n.timeout||this.defaultTimeout;try{let o=this.buildHeaders(),s=this.buildBody(e,n),a=await this.sendWithRetry(this.config.url,this.config.method,o,s,r,this.config.retry);return!0}catch(o){let s=o instanceof Error?o.message:String(o);if(this.config.silent)return console.error(`[WebhookOutputHandler] Failed to send data: ${s}`),!1;throw new Error(`Webhook output failed: ${s}`)}}}});import{writeFileSync as JR,existsSync as VR,mkdirSync as KR}from"fs";import{join as g_}from"path";import{tmpdir as YR}from"os";var ws,_f=Le(()=>{"use strict";ws=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let n=YR();this.baseDir=g_(n,this.config.subdirectory),this.ensureDir()}ensureDir(){try{VR(this.baseDir)||KR(this.baseDir,{recursive:!0})}catch{}}getFilePath(e){let n=this.config.prefix||"session",r=this.config.extension?`.${this.config.extension}`:"",o;if(this.config.includeTimestamp){let s=Date.now();o=`${n}-${e}-${s}${r}`}else o=`${n}-${e}${r}`;return g_(this.baseDir,o)}async output(e,n={}){try{let r=n.metadata?.sessionId;if(!r)return!1;let o={...e,timestamp:Date.now(),sessionId:r},s=this.getFilePath(r);return JR(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var bf,ko,y_=Le(()=>{"use strict";gf();yf();_f();bf=class{handlers=new Map;defaultOptions={};registerHandler(e,n){this.handlers.set(e,n)}registerHandlers(e){for(let n of e)if(n.enabled!==!1)try{let r=this.createHandler(n),o=n.type+"_"+Date.now();this.registerHandler(o,r)}catch(r){console.error(`[OutputManager] Failed to register ${n.type} handler:`,r)}}createHandler(e){switch(e.type){case"console":return new bs(e.config);case"webhook":return new Cs(e.config);case"temp-file":return new ws(e.config);default:throw new Error(`Unknown output handler type: ${e.type}`)}}unregisterHandler(e){return this.handlers.delete(e)}getHandler(e){return this.handlers.get(e)}getAllHandlers(){return new Map(this.handlers)}clearHandlers(){this.handlers.clear()}setDefaultOptions(e){this.defaultOptions={...this.defaultOptions,...e}}getDefaultOptions(){return{...this.defaultOptions}}async output(e,n){let r={...this.defaultOptions,...n},o={success:[],failed:[]},s=Array.from(this.handlers.entries()).map(async([a,u])=>{try{await u.output(e,r)?o.success.push(a):o.failed.push(a)}catch(l){console.error(`[OutputManager] Handler ${a} failed:`,l),o.failed.push(a)}});return await Promise.all(s),o}async outputTo(e,n,r){let o={...this.defaultOptions,...r},s={success:[],failed:[]},a=e.map(async u=>{let l=this.handlers.get(u);if(!l){console.warn(`[OutputManager] Handler ${u} not found`),s.failed.push(u);return}try{await l.output(n,o)?s.success.push(u):s.failed.push(u)}catch(f){console.error(`[OutputManager] Handler ${u} failed:`,f),s.failed.push(u)}});return await Promise.all(a),s}async outputToType(e,n,r){let o=Array.from(this.handlers.entries()).filter(([s,a])=>a.type===e).map(([s])=>s);return this.outputTo(o,n,r)}},ko=new bf});import XR from"fastify";import ZR from"@fastify/cors";var Mh=Ln(Ju(),1);import{readFileSync as yC,existsSync as Nh}from"fs";import{join as Bh}from"path";import{config as _C}from"dotenv";var Ir=class{config={};options;constructor(e={jsonPath:"./config.json"}){this.options={envPath:e.envPath||".env",jsonPath:e.jsonPath,useEnvFile:!1,useJsonFile:e.useJsonFile!==!1,useEnvironmentVariables:e.useEnvironmentVariables!==!1,...e},this.loadConfig()}loadConfig(){this.options.useJsonFile&&this.options.jsonPath&&this.loadJsonConfig(),this.options.initialConfig&&(this.config={...this.config,...this.options.initialConfig}),this.options.useEnvFile&&this.loadEnvConfig(),this.config.LOG_FILE&&(process.env.LOG_FILE=this.config.LOG_FILE),this.config.LOG&&(process.env.LOG=this.config.LOG)}loadJsonConfig(){if(!this.options.jsonPath)return;let e=this.isAbsolutePath(this.options.jsonPath)?this.options.jsonPath:Bh(process.cwd(),this.options.jsonPath);if(Nh(e))try{let n=yC(e,"utf-8"),r=Mh.default.parse(n);this.config={...this.config,...r},console.log(`Loaded JSON config from: ${e}`)}catch(n){console.warn(`Failed to load JSON config from ${e}:`,n)}else console.warn(`JSON config file not found: ${e}`)}loadEnvConfig(){let e=this.isAbsolutePath(this.options.envPath)?this.options.envPath:Bh(process.cwd(),this.options.envPath);if(Nh(e))try{let n=_C({path:e});n.parsed&&(this.config={...this.config,...this.parseEnvConfig(n.parsed)})}catch(n){console.warn(`Failed to load .env config from ${e}:`,n)}}loadEnvironmentVariables(){let e=this.parseEnvConfig(process.env);this.config={...this.config,...e}}parseEnvConfig(e){let n={};return Object.assign(n,e),n}isAbsolutePath(e){return e.startsWith("/")||e.includes(":")}get(e,n){let r=this.config[e];return r!==void 0?r:n}getAll(){return{...this.config}}getHttpsProxy(){return this.get("HTTPS_PROXY")||this.get("https_proxy")||this.get("httpsProxy")||this.get("PROXY_URL")}has(e){return this.config[e]!==void 0}set(e,n){this.config[e]=n}reload(){this.config={},this.loadConfig()}getConfigSummary(){let e=[];return this.options.initialConfig&&e.push("Initial Config"),this.options.useJsonFile&&this.options.jsonPath&&e.push(`JSON: ${this.options.jsonPath}`),this.options.useEnvFile&&e.push(`ENV: ${this.options.envPath}`),this.options.useEnvironmentVariables&&e.push("Environment Variables"),`Config sources: ${e.join(", ")}`}};function He(t,e=500,n="internal_error",r="api_error"){let o=new Error(t);return o.statusCode=e,o.code=n,o.type=r,o}async function Lh(t,e,n){e.log.error(t);let r=t.statusCode||500;if(t.rawBody)try{let s=JSON.parse(t.rawBody);return n.code(r).send(s)}catch{return n.code(r).send(t.rawBody)}let o={error:{message:t.message+(t.stack||"Internal Server Error"),type:t.type||"api_error",code:t.code||"internal_error"}};return n.code(r).send(o)}import{ProxyAgent as bC}from"undici";function jh(t,e,n,r,o){let s=new Headers({"Content-Type":"application/json"});n.headers&&Object.entries(n.headers).forEach(([f,d])=>{d&&s.set(f,d)});let a,u=AbortSignal.timeout(n.TIMEOUT??60*1e3*60);if(n.signal){let f=new AbortController,d=()=>f.abort();n.signal.addEventListener("abort",d),u.addEventListener("abort",d),a=f.signal}else a=u;let l={method:"POST",headers:s,body:JSON.stringify(e),signal:a};return n.httpsProxy&&(l.dispatcher=new bC(new URL(n.httpsProxy).toString())),o?.debug({reqId:r.req.id,request:l,headers:Object.fromEntries(s.entries()),requestUrl:typeof t=="string"?t:t.toString(),useProxy:n.httpsProxy},"final request"),fetch(typeof t=="string"?t:t.toString(),l)}var CC=new Set(["authorization","x-api-key","x-goog-api-key","cookie","set-cookie"]),Nr={maxBodyLength:4096,maxStreamChunks:100},Vu=!1;function wC(t){Vu=t}function EC(){return Vu}function ni(t){return Vu||t.get("DEBUG_LOG")===!0}function qh(t){let e=t.get("DEBUG_LOG_OPTIONS");return!e||typeof e!="object"?Nr:{maxBodyLength:e.maxBodyLength??Nr.maxBodyLength,maxStreamChunks:e.maxStreamChunks??Nr.maxStreamChunks}}function zh(t){let e={};for(let[n,r]of Object.entries(t))CC.has(n.toLowerCase())?e[n]="***MASKED***":e[n]=r;return e}function ri(t,e){return t.length<=e?t:t.slice(0,e)+`...[truncated, total ${t.length} bytes]`}function Hh(t,e,n){let r=typeof n.body=="string"?n.body:JSON.stringify(n.body);t.info({debug_log:!0,reqId:e,phase:"provider_request",url:n.url,headers:zh(n.headers),body:ri(r,Nr.maxBodyLength)})}function Wh(t,e,n){t.info({debug_log:!0,reqId:e,phase:"provider_response",status:n.status,headers:zh(n.headers),...n.body!==void 0?{body:ri(n.body,Nr.maxBodyLength)}:{}})}function Uh(t,e,n,r){let o=kC(r);t.info({debug_log:!0,reqId:e,phase:"provider_stream_chunk",chunkIndex:n,...o?{usage_monitor:o}:{},data:ri(r,Nr.maxBodyLength)})}function kC(t){let e=[];for(let n of t.split(/\r?\n/)){if(!n.startsWith("data:"))continue;let r=n.slice(5).trim();if(!(!r||r==="[DONE]"))try{let o=JSON.parse(r),s=o?.usage||o?.response?.usage;s&&e.push({path:o?.usage?"usage":"response.usage",usage:s,choicesLength:Array.isArray(o?.choices)?o.choices.length:void 0,finishReason:o?.choices?.[0]?.finish_reason})}catch{e.push({parseError:!0,data:ri(r,512)})}}if(e.length)return e.length===1?e[0]:e}function $h(t,e,n){t.info({debug_log:!0,reqId:e,phase:"provider_stream_end",totalChunks:n})}function Gh(t,e,n,r){(async()=>{let o=t.pipeThrough(new TextDecoderStream).getReader(),s=0;try{let a="";for(;;){let{done:u,value:l}=await o.read();if(u)break;a+=l;let f=a.split(`
|
|
73
73
|
|
|
74
|
-
`);a=f.pop()||"";for(let d of f)d.trim()&&(s<r.maxStreamChunks?Uh(e,n,s,d):s===r.maxStreamChunks&&e.info({debug_log:!0,reqId:n,phase:"provider_stream_chunk_omitted",message:`[chunks after #${s} omitted, maxStreamChunks=${r.maxStreamChunks}]`}),s++)}a.trim()&&(s<r.maxStreamChunks&&Uh(e,n,s,a.trim()),s++),$h(e,n,s)}catch(a){console.error(`[debug_log] Error reading debug stream for reqId=${n}:`,a),$h(e,n,s)}finally{o.releaseLock()}})()}var oi="2.3.
|
|
74
|
+
`);a=f.pop()||"";for(let d of f)d.trim()&&(s<r.maxStreamChunks?Uh(e,n,s,d):s===r.maxStreamChunks&&e.info({debug_log:!0,reqId:n,phase:"provider_stream_chunk_omitted",message:`[chunks after #${s} omitted, maxStreamChunks=${r.maxStreamChunks}]`}),s++)}a.trim()&&(s<r.maxStreamChunks&&Uh(e,n,s,a.trim()),s++),$h(e,n,s)}catch(a){console.error(`[debug_log] Error reading debug stream for reqId=${n}:`,a),$h(e,n,s)}finally{o.releaseLock()}})()}var oi="2.3.23";Un();import{existsSync as tp,mkdirSync as NC,readFileSync as BC,writeFileSync as MC}from"fs";import{join as np}from"path";import{HOME_DIR as LC}from"@wengine-ai/claude-code-router-shared";var tc=np(LC,"runtime"),nc=np(tc,"rate-limit.json"),Mr=new Map,Xh=!1,jC=null,UC=["x-ratelimit-remaining-tokens","x-ratelimit-remaining-requests","x-ratelimit-remaining"],$C=["x-ratelimit-limit-tokens","x-ratelimit-limit-requests","x-ratelimit-limit"],qC=["x-ratelimit-reset-tokens","x-ratelimit-reset-requests","x-ratelimit-reset"];function Io(t,e,n){let r=u=>{if(n instanceof Headers)return n.get(u);let l=Object.keys(n).find(f=>f.toLowerCase()===u);return l?n[l]:null},o=ec(r,UC),s=ec(r,$C),a=ec(r,qC);(o||s||a)&&Mr.set(t,{provider:t,remaining:Zh(o),limit:Zh(s),reset:WC(a),capturedAt:Date.now()})}function zC(t){return Mr.get(t)}function HC(){return Array.from(Mr.values())}function ec(t,e){for(let n of e){let r=t(n);if(r)return r}return null}function Zh(t){if(!t)return null;let e=Number(t.trim().replace(/,/g,""));return Number.isFinite(e)?e:null}function WC(t){if(!t)return null;let e=t.trim();if(!e)return null;let n=Number(e);if(Number.isFinite(n))return n>1e12?Math.floor(n/1e3):n>1e9?Math.floor(n):Math.floor(Date.now()/1e3+n);let r=Date.parse(e);if(Number.isFinite(r))return Math.floor(r/1e3);let o=GC(e);return o===null?null:Math.floor((Date.now()+o)/1e3)}function GC(t){let e=/(\d+(?:\.\d+)?)(ms|s|m|h|d)/gi,n=0,r=!1;for(let o of t.matchAll(e)){r=!0;let s=Number(o[1]),a=o[2].toLowerCase();if(Number.isFinite(s))switch(a){case"ms":n+=s;break;case"s":n+=s*1e3;break;case"m":n+=s*60*1e3;break;case"h":n+=s*60*60*1e3;break;case"d":n+=s*24*60*60*1e3;break}}return r?n:null}function JC(){try{if(!tp(nc))return;let t=JSON.parse(BC(nc,"utf-8"));if(!Array.isArray(t))return;let e=Date.now();for(let n of t)if(n&&n.provider){if(n.capturedAt&&e-n.capturedAt>3600*1e3)continue;Mr.set(n.provider,n)}}catch{}}function ep(){try{if(Mr.size===0)return;tp(tc)||NC(tc,{recursive:!0}),MC(nc,JSON.stringify(Array.from(Mr.values()),null,2),"utf-8")}catch{}}function rc(){Xh||(Xh=!0,JC(),jC=setInterval(ep,6e4),process.on("exit",ep))}si();var Lr=class{name="openai-responses";endPoint="/v1/responses";getCacheReadInputTokens(e){return e?.cache_read_input_tokens??e?.input_tokens_details?.cached_tokens??e?.prompt_tokens_details?.cached_tokens??0}getCacheCreationInputTokens(e){return e?.cache_creation_input_tokens??e?.input_tokens_details?.cache_creation_tokens??e?.input_tokens_details?.cache_write_tokens??e?.prompt_tokens_details?.cache_creation_tokens??e?.prompt_tokens_details?.cache_write_tokens??0}buildResponsesUsage(e){let n=e?.input_tokens??e?.prompt_tokens??0,r=e?.output_tokens??e?.completion_tokens??0,o=this.getCacheReadInputTokens(e),s=this.getCacheCreationInputTokens(e);return{input_tokens:n,output_tokens:r,total_tokens:e?.total_tokens??n+r,input_tokens_details:{cached_tokens:o,cache_creation_tokens:s},output_tokens_details:{reasoning_tokens:e?.output_tokens_details?.reasoning_tokens??0},cache_read_input_tokens:o,cache_creation_input_tokens:s}}async transformRequestIn(e){delete e.temperature,delete e.max_tokens,e.reasoning&&(e.reasoning={effort:e.reasoning.effort,summary:e.reasoning.summary||"auto"});let n=[],r=e.messages.filter(o=>o.role==="system");if(r.length>0){let o=r[0];Array.isArray(o.content)?o.content.forEach(s=>{let a="";typeof s=="string"?a=s:s&&typeof s=="object"&&"text"in s&&(a=s.text),n.push({role:"system",content:a})}):e.instructions=o.content}if(e.messages.forEach(o=>{if(o.role!=="system"){if(Array.isArray(o.content)){let s=o.content.map(a=>this.normalizeRequestContent(a,o.role)).filter(a=>a!==null);s.length>0?o.content=s:delete o.content}if(o.role==="tool"){let s={...o};s.type="function_call_output",s.call_id=o.tool_call_id,s.output=o.content,delete s.cache_control,delete s.role,delete s.tool_call_id,delete s.content,n.push(s);return}if(o.role==="assistant"&&Array.isArray(o.tool_calls)){o.tool_calls.forEach(s=>{n.push({type:"function_call",arguments:s.function.arguments,name:s.function.name,call_id:s.id})});return}n.push(o)}}),e.input=n,delete e.messages,Array.isArray(e.tools)){let o=e.tools.find(s=>s.function.name==="web_search");e.tools=e.tools.filter(s=>s.function.name!=="web_search").map(s=>(s.function.name==="WebSearch"&&delete s.function.parameters.properties.allowed_domains,s.function.name==="Edit"?{type:s.type,name:s.function.name,description:s.function.description,parameters:{...s.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:s.type,name:s.function.name,description:s.function.description,parameters:s.function.parameters})),o&&e.tools.push({type:"web_search"})}return e.parallel_tool_calls=!1,e}async transformResponseOut(e){let n=e.headers.get("Content-Type")||"";if(n.includes("application/json")){let r=await e.json();if(r.object==="response"&&r.output){let o=this.convertResponseToChat(r);return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}return r.type==="message"&&Array.isArray(r.content)?new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers}):new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(n.includes("text/event-stream")){if(!e.body)return e;let[r,o]=e.body.tee(),s=r.getReader(),a="";try{let{value:g,done:_}=await s.read();!_&&g&&(a=new TextDecoder().decode(g))}finally{s.releaseLock()}if(r.cancel().catch(()=>{}),a.includes("message_start")||a.includes("content_block_start")){let g=this.prependToStream(a,o);return new Response(g,{status:e.status,statusText:e.statusText,headers:e.headers})}if(a.includes("response.created")||a.includes("response.output_text.delta")||a.includes("response.in_progress")||a.includes("response.output_item.added")){let g=this.prependToStream(a,o);return new Response(g,{status:e.status,statusText:e.statusText,headers:e.headers})}let f=this.prependToStream(a,o),d=new TextDecoder,h=new TextEncoder,m="",C=!1,w=this,y=new ReadableStream({async start(g){let _=f.getReader(),E=-1,b="",S=T=>(T!==b&&(E++,b=T),E);try{for(;;){let{done:T,value:R}=await _.read();if(T){C||g.enqueue(h.encode(`data: [DONE]
|
|
75
75
|
|
|
76
76
|
`));break}let $=d.decode(R,{stream:!0});m+=$;let H=m.split(/\r?\n/);m=H.pop()||"";for(let P of H)if(P.trim())try{if(P.startsWith("event: "))continue;if(P.startsWith("data: ")){let K=P.slice(5).trim();if(K==="[DONE]"){C=!0,g.enqueue(h.encode(`data: [DONE]
|
|
77
77
|
|
|
@@ -97,25 +97,25 @@ ${this.toMarkdown(s,n+1)}`:`${r}${o}: ${s}`).join(`
|
|
|
97
97
|
`))}}m.trim()&&g.enqueue(h.encode(m+`
|
|
98
98
|
`)),C||g.enqueue(h.encode(`data: [DONE]
|
|
99
99
|
|
|
100
|
-
`))}catch(
|
|
100
|
+
`))}catch(T){console.error("Stream error:",T),g.error(T)}finally{try{_.releaseLock()}catch(T){console.error("Error releasing reader lock:",T)}g.close()}}});return new Response(y,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"}})}return e}normalizeRequestContent(e,n){let r={...e};if(delete r.cache_control,e.type==="text")return{type:n==="assistant"?"output_text":"input_text",text:e.text};if(e.type==="image_url"){console.log(e);let o={type:n==="assistant"?"output_image":"input_image"};return typeof e.image_url?.url=="string"&&(o.image_url=e.image_url.url),o}return null}async transformResponseIn(e,n){if(e.headers.get("Content-Type")?.includes("text/event-stream")&&e.body){let[o,s]=e.body.tee(),a=o.getReader(),u="";try{let{value:m,done:C}=await a.read();!C&&m&&(u=new TextDecoder().decode(m))}finally{a.releaseLock()}o.cancel().catch(()=>{});let l=u.includes("message_start")||u.includes("content_block_start"),f=u.includes("chat.completion.chunk");if(u.includes("response.created")||u.includes("response.output_text.delta")||u.includes("response.in_progress")||u.includes("response.output_item.added"))return new Response(s,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}});if(f&&!l){let m=this.convertOpenAIChatStreamToResponsesAPI(s,n);return new Response(m,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}let h=this.convertAnthropicStreamToResponsesAPI(s,n);return new Response(h,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}try{let o=await e.json();return new Response(JSON.stringify(this.wrapChatInResponses(o)),{headers:{"Content-Type":"application/json"}})}catch{return e}}prependToStream(e,n){let o=new TextEncoder().encode(e),s=n.getReader(),a=!1;return new ReadableStream({async pull(u){a||(a=!0,u.enqueue(o));try{let{done:l,value:f}=await s.read();l?u.close():u.enqueue(f)}catch(l){u.error(l)}},cancel(){s.cancel().catch(()=>{})}})}convertOpenAIChatStreamToResponsesAPI(e,n){let r=new TextDecoder,o=new TextEncoder,s=n?.provider?.models?.[0]||"gpt-5.4",a=`resp_${Date.now()}`,u=0,l=!1,f=!1,d="",h=-1,m=[],C=(y,g)=>o.encode(`event: ${y}
|
|
101
101
|
data: ${JSON.stringify(g)}
|
|
102
102
|
|
|
103
|
-
`),w=(y,g=[])=>({id:a,object:"response",created_at:Math.floor(Date.now()/1e3),status:y,model:s,output:g,usage:this.buildResponsesUsage()});return new ReadableStream({async start(y){try{let g=e.getReader(),_="",E=!1,b=S=>{if(!E){E=!0;for(let
|
|
103
|
+
`),w=(y,g=[])=>({id:a,object:"response",created_at:Math.floor(Date.now()/1e3),status:y,model:s,output:g,usage:this.buildResponsesUsage()});return new ReadableStream({async start(y){try{let g=e.getReader(),_="",E=!1,b=S=>{if(!E){E=!0;for(let T of m)if(T.type==="function_call"){let R=m.indexOf(T);y.enqueue(C("response.function_call_arguments.done",{type:"response.function_call_arguments.done",item_id:T.call_id||T.id,output_index:R,arguments:T.arguments||""})),T.status="completed",y.enqueue(C("response.output_item.done",{type:"response.output_item.done",output_index:R,item:T}))}for(let T of m)if(T.type==="message"){let R=m.indexOf(T);T.status="completed",y.enqueue(C("response.output_item.done",{type:"response.output_item.done",output_index:R,item:T}))}y.enqueue(C("response.completed",{type:"response.completed",response:{id:a,object:"response",created_at:Math.floor(Date.now()/1e3),status:"completed",model:S?.model||s,output:m.slice(),usage:S?.usage?{...this.buildResponsesUsage(S.usage)}:this.buildResponsesUsage()}}))}};for(;;){let{done:S,value:T}=await g.read();if(S)break;_+=r.decode(T,{stream:!0});let R=_.split(`
|
|
104
104
|
`);_=R.pop()||"";for(let $ of R){let H=$.trim();if(!H||H.startsWith("event:")||!H.startsWith("data:"))continue;let P=H.slice(5).trim();if(P==="[DONE]"){b({}),y.enqueue(o.encode(`data: [DONE]
|
|
105
105
|
|
|
106
|
-
`));continue}let K;try{K=JSON.parse(P)}catch{continue}l||(l=!0,y.enqueue(C("response.created",{type:"response.created",response:w("in_progress")})),y.enqueue(C("response.in_progress",{type:"response.in_progress",response:w("in_progress")})));let q=K.choices?.[0];if(!q)continue;let Y=q.delta;if(Y?.content){if(!f){f=!0;let Q=u++,ee={id:`${a}_msg`,type:"message",status:"in_progress",role:"assistant",content:[]};m.push(ee),y.enqueue(C("response.output_item.added",{type:"response.output_item.added",output_index:Q,item:ee}))}y.enqueue(C("response.output_text.delta",{type:"response.output_text.delta",item_id:`${a}_msg`,output_index:u-1,content_index:0,delta:Y.content}))}if(Array.isArray(Y?.tool_calls))for(let Q of Y.tool_calls){if(Q.id){d=Q.id,h=u++;let ee={id:Q.id,type:"function_call",status:"in_progress",call_id:Q.id,name:Q.function?.name||"",arguments:""};m.push(ee),y.enqueue(C("response.output_item.added",{type:"response.output_item.added",output_index:h,item:ee}))}if(Q.function?.arguments){y.enqueue(C("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:d,output_index:h,delta:Q.function.arguments}));let ee=m.find(se=>se.call_id===d);ee&&(ee.arguments+=Q.function.arguments)}}q.finish_reason&&b(K)}}E||b({}),y.close()}catch(g){y.error(g)}}})}convertAnthropicStreamToResponsesAPI(e,n){let r=new TextDecoder,o=new TextEncoder,s=n?.provider?.models?.[0]||"gpt-5.4",a=`resp_${Date.now()}`,u="",l="",f=-1,d="",h="",m="",C=-1,w="",y="",g=-1,_=0,E=!1,b=!1,S=!1,
|
|
106
|
+
`));continue}let K;try{K=JSON.parse(P)}catch{continue}l||(l=!0,y.enqueue(C("response.created",{type:"response.created",response:w("in_progress")})),y.enqueue(C("response.in_progress",{type:"response.in_progress",response:w("in_progress")})));let q=K.choices?.[0];if(!q)continue;let Y=q.delta;if(Y?.content){if(!f){f=!0;let Q=u++,ee={id:`${a}_msg`,type:"message",status:"in_progress",role:"assistant",content:[]};m.push(ee),y.enqueue(C("response.output_item.added",{type:"response.output_item.added",output_index:Q,item:ee}))}y.enqueue(C("response.output_text.delta",{type:"response.output_text.delta",item_id:`${a}_msg`,output_index:u-1,content_index:0,delta:Y.content}))}if(Array.isArray(Y?.tool_calls))for(let Q of Y.tool_calls){if(Q.id){d=Q.id,h=u++;let ee={id:Q.id,type:"function_call",status:"in_progress",call_id:Q.id,name:Q.function?.name||"",arguments:""};m.push(ee),y.enqueue(C("response.output_item.added",{type:"response.output_item.added",output_index:h,item:ee}))}if(Q.function?.arguments){y.enqueue(C("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:d,output_index:h,delta:Q.function.arguments}));let ee=m.find(se=>se.call_id===d);ee&&(ee.arguments+=Q.function.arguments)}}q.finish_reason&&b(K)}}E||b({}),y.close()}catch(g){y.error(g)}}})}convertAnthropicStreamToResponsesAPI(e,n){let r=new TextDecoder,o=new TextEncoder,s=n?.provider?.models?.[0]||"gpt-5.4",a=`resp_${Date.now()}`,u="",l="",f=-1,d="",h="",m="",C=-1,w="",y="",g=-1,_=0,E=!1,b=!1,S=!1,T=!1,R=null,$=[],H=(ee,se)=>o.encode(`event: ${ee}
|
|
107
107
|
data: ${JSON.stringify(se)}
|
|
108
108
|
|
|
109
|
-
`),P=(ee,se=[])=>({id:a,object:"response",created_at:Math.floor(Date.now()/1e3),status:ee,model:s,output:se,usage:this.buildResponsesUsage()}),K=()=>{E||(E=!0,Q.enqueue(H("response.created",{type:"response.created",response:P("in_progress")})),Q.enqueue(H("response.in_progress",{type:"response.in_progress",response:P("in_progress")})))},q=(ee,se)=>{Q.enqueue(H("response.output_item.done",{type:"response.output_item.done",output_index:ee,item:{...se,status:"completed"}}))},Y=ee=>{if(!
|
|
110
|
-
`);
|
|
109
|
+
`),P=(ee,se=[])=>({id:a,object:"response",created_at:Math.floor(Date.now()/1e3),status:ee,model:s,output:se,usage:this.buildResponsesUsage()}),K=()=>{E||(E=!0,Q.enqueue(H("response.created",{type:"response.created",response:P("in_progress")})),Q.enqueue(H("response.in_progress",{type:"response.in_progress",response:P("in_progress")})))},q=(ee,se)=>{Q.enqueue(H("response.output_item.done",{type:"response.output_item.done",output_index:ee,item:{...se,status:"completed"}}))},Y=ee=>{if(!T){if(T=!0,b){let se=$.find(ue=>ue.type==="message");se&&(se.content=[{type:"output_text",text:u}],se.status="completed")}for(let se of $)se.type==="function_call"&&(se.status="completed");return H("response.completed",{type:"response.completed",response:{id:a,object:"response",created_at:Math.floor(Date.now()/1e3),status:"completed",model:s,output:$,usage:ee?{...this.buildResponsesUsage(ee)}:this.buildResponsesUsage()}})}},Q;return new ReadableStream({async start(ee){Q=ee;try{let se=e.getReader(),ue="";for(;;){let{done:J,value:Z}=await se.read();if(J)break;ue+=r.decode(Z,{stream:!0});let ce=ue.split(`
|
|
110
|
+
`);ue=ce.pop()||"";for(let je of ce){let we=je.trim();if(!we||we.startsWith("event:")||!we.startsWith("data:"))continue;let V=we.slice(5).trim();if(V==="[DONE]")continue;let ae;try{ae=JSON.parse(V)}catch{continue}if(ae.type==="message_start"&&(a=ae.message?.id||a,K()),ae.type==="content_block_start"){let te=ae.content_block;if(R=te?.type||null,te?.type==="tool_use"){d=te.id||"",h=te.name||"",m="",C=_++;let Te={id:d,type:"function_call",status:"in_progress",call_id:d,name:h,arguments:""};$.push(Te),Q.enqueue(H("response.output_item.added",{type:"response.output_item.added",output_index:C,item:Te}))}if(te?.type==="thinking"&&(w=te.thinking||"",!S)){S=!0,g=_++,y=`rs_${a}`;let Te={id:y,type:"reasoning",status:"in_progress",summary:[]};$.push(Te),Q.enqueue(H("response.output_item.added",{type:"response.output_item.added",output_index:g,item:Te}))}if(te?.type==="text"&&(u=te?.text||"",!b)){b=!0,f=_++,l=`${a}_msg`;let Te={id:l,type:"message",status:"in_progress",role:"assistant",content:[]};$.push(Te),Q.enqueue(H("response.output_item.added",{type:"response.output_item.added",output_index:f,item:Te}))}}if(ae.type==="content_block_delta"){let te=ae.delta;if(te?.type==="text_delta"){if(!b){b=!0,f=_++,l=`${a}_msg`;let Te={id:l,type:"message",status:"in_progress",role:"assistant",content:[]};$.push(Te),Q.enqueue(H("response.output_item.added",{type:"response.output_item.added",output_index:f,item:Te}))}u+=te.text||"",Q.enqueue(H("response.output_text.delta",{type:"response.output_text.delta",item_id:l,output_index:f,content_index:0,delta:te.text||""}))}te?.type==="thinking_delta"&&(w+=te.thinking||"",Q.enqueue(H("response.reasoning_summary_text.delta",{type:"response.reasoning_summary_text.delta",item_id:y||`rs_${a}`,output_index:g>=0?g:0,summary_index:0,delta:te.thinking||""}))),te?.type==="input_json_delta"&&(m+=te.partial_json||"",Q.enqueue(H("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:d||"call_0",output_index:C>=0?C:0,delta:te.partial_json||""})))}if(ae.type==="content_block_stop"){if(R==="tool_use"&&d){Q.enqueue(H("response.function_call_arguments.done",{type:"response.function_call_arguments.done",item_id:d,output_index:C,arguments:m}));let te=$.find(Te=>Te.call_id===d);te&&(te.arguments=m,te.status="completed"),te&&q(C,te)}if(R==="text"&&b){Q.enqueue(H("response.output_text.done",{type:"response.output_text.done",item_id:l,output_index:f,content_index:0,text:u}));let te=$.find(Te=>Te.type==="message");te&&(te.content=[{type:"output_text",text:u}],q(f,te))}if(R==="thinking"&&S){let te=$.find(Te=>Te.type==="reasoning");te&&(te.summary=[{type:"summary_text",text:w}],q(g,te))}R=null}if(ae.type==="message_delta"){let te=Y(ae.usage);te&&Q.enqueue(te)}if(ae.type==="message_stop"){let te=Y();te&&Q.enqueue(te),Q.enqueue(o.encode(`data: [DONE]
|
|
111
111
|
|
|
112
|
-
`))}}}K();let pe=Y();pe&&Q.enqueue(pe),ie="",Q.close()}catch(se){Q.error(se)}}})}wrapChatInResponses(e){let n=e?.choices?.[0],r=[],o=[];if(n?.message?.content&&o.push({type:"output_text",text:n.message.content}),r.push({type:"message",role:"assistant",content:o}),Array.isArray(n?.message?.tool_calls))for(let s of n.message.tool_calls)r.push({type:"function_call",id:s.id,call_id:s.id,name:s.function?.name||"",arguments:s.function?.arguments||"{}"});return{id:e.id||`resp_${Date.now()}`,object:"response",model:e.model,output:r,usage:e.usage?{...this.buildResponsesUsage(e.usage)}:void 0}}convertResponseToChat(e){let n=e.output?.find(f=>f.type==="message"),r=e.output?.find(f=>f.type==="function_call"),o;n?.content?.length&&n?.content[0].annotations&&(o=n.content[0].annotations.map(f=>({type:"url_citation",url_citation:{url:f.url||"",title:f.title||"",content:"",start_index:f.start_index||0,end_index:f.end_index||0}}))),this.logger.debug({data:o,type:"url_citation"});let s=null,a=null,u=null;if(n&&n.reasoning&&(u={content:n.reasoning}),n&&n.content){let f=[],d=[];if(n.content.forEach(h=>{if(h.type==="output_text")f.push(h.text||"");else if(h.type==="output_image"){let m=this.buildImageContent({url:h.image_url,mime_type:h.mime_type});m&&d.push(m)}else if(h.type==="output_image_base64"){let m=this.buildImageContent({b64_json:h.image_base64,mime_type:h.mime_type});m&&d.push(m)}}),d.length>0){let h=[];f.length>0&&h.push({type:"text",text:f.join("")}),h.push(...d),s=h}else s=f.join("")}return r&&(a=[{id:r.call_id||r.id,function:{name:r.name,arguments:r.arguments},type:"function"}]),{id:e.id||"chatcmpl-"+Date.now(),object:"chat.completion",created:e.created_at,model:e.model,choices:[{index:0,message:{role:"assistant",content:s||null,tool_calls:a,thinking:u,annotations:o},logprobs:null,finish_reason:a?"tool_calls":"stop"}],usage:e.usage?{prompt_tokens:e.usage.input_tokens||0,completion_tokens:e.usage.output_tokens||0,total_tokens:e.usage.total_tokens||0,prompt_tokens_details:{cached_tokens:this.getCacheReadInputTokens(e.usage),cache_creation_tokens:this.getCacheCreationInputTokens(e.usage)},cache_read_input_tokens:this.getCacheReadInputTokens(e.usage),cache_creation_input_tokens:this.getCacheCreationInputTokens(e.usage)}:null}}buildImageContent(e){return e&&(e.url||e.b64_json)?{type:"image_url",image_url:{url:e.url||"",b64_json:e.b64_json},media_type:e.mime_type}:null}};import{get_encoding as nw}from"tiktoken";var oc=class{capacity;cache;constructor(e){this.capacity=e,this.cache=new Map}get(e){if(!this.cache.has(e))return;let n=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,n),n}put(e,n){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(e,n)}values(){return Array.from(this.cache.values())}},sc=new oc(100);Un();import{readFile as fc}from"fs/promises";import{opendir as rw,stat as ow}from"fs/promises";import{join as hc}from"path";import{CLAUDE_PROJECTS_DIR as ap,HOME_DIR as up}from"@wengine-ai/claude-code-router-shared";import{existsSync as sp,mkdirSync as VC,readFileSync as KC,writeFileSync as YC}from"fs";import{join as ip}from"path";import{HOME_DIR as QC}from"@wengine-ai/claude-code-router-shared";var ic=ip(QC,"runtime"),ac=ip(ic,"quota-store.json"),jr=new Map,rp=!1,XC=null;function uc(t,e){t&&jr.set(t,{...e,provider:t,capturedAt:Date.now()})}function cc(t){let e=jr.get(t);return e?{...e}:void 0}function ZC(){return Array.from(jr.values()).map(t=>({...t}))}function ew(){try{if(!sp(ac))return;let t=JSON.parse(KC(ac,"utf-8"));if(!Array.isArray(t))return;let e=Date.now();for(let n of t)if(n&&n.provider){if(n.capturedAt&&e-n.capturedAt>1440*60*1e3)continue;jr.set(n.provider,n)}}catch{}}function op(){try{if(jr.size===0)return;sp(ic)||VC(ic,{recursive:!0}),YC(ac,JSON.stringify(Array.from(jr.values()),null,2),"utf-8")}catch{}}function lc(){rp||(rp=!0,ew(),XC=setInterval(op,6e4),process.on("exit",op))}si();var tw=/^[A-Za-z0-9_-]+$/;function Ur(t){if(typeof t!="string")return;let e=t.trim();if(!(!e||!tw.test(e)))return e}function No(t){if(!t)return;if(typeof t=="object")return Ur(t.session_id??t.sessionId);if(typeof t!="string")return;let e=t.trim();if(!e)return;try{let o=JSON.parse(e),s=Ur(o?.session_id??o?.sessionId);if(s)return s}catch{}let n="_session_",r=e.lastIndexOf(n);if(r!==-1)return Ur(e.slice(r+n.length))}var En=nw("cl100k_base"),fp=(t,e,n)=>{let r=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?r+=En.encode(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?r+=En.encode(s.text).length:s.type==="tool_use"?r+=En.encode(JSON.stringify(s.input)).length:s.type==="tool_result"&&(r+=En.encode(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?r+=En.encode(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?r+=En.encode(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{r+=En.encode(s||"").length}))}),n&&n.forEach(o=>{o.description&&(r+=En.encode(o.name+o.description).length),o.input_schema&&(r+=En.encode(JSON.stringify(o.input_schema)).length)}),r},hp=async(t,e)=>{if(t.sessionId){let n=await gp(t.sessionId);if(n){let r=hc(up,n,"config.json"),o=hc(up,n,`${t.sessionId}.json`);try{let s=JSON.parse(await fc(o,"utf8"));if(s&&s.Router&&Object.keys(s.Router).length>0)return s.Router}catch{}try{let s=JSON.parse(await fc(r,"utf8"));if(s&&s.Router&&Object.keys(s.Router).length>0)return s.Router}catch{}}}};function ai(t){let e=t||"";return e.includes(",")&&(e=e.split(",").pop()||e),e.includes("/")&&(e=e.split("/").pop()||e),e.includes(":")&&(e=e.split(":")[0]),e.trim().toLowerCase()}function pp(t){let e=ai(t),n=e.includes("[1m]")||e.endsWith("[1m"),r=e.replace(/\[1m\]|\[1m$/g,""),o=r.match(/^ccr-(opus|sonnet|haiku)$/i);if(o)return{family:o[1].toLowerCase(),extended:n,isCcrAlias:!0};let s=r.match(/claude-(?:\d+-\d+-|\d+-)?(sonnet|opus|haiku)(?:-|$)/i)||r.match(/claude-(sonnet|opus|haiku)(?:-|$)/i);return s?{family:s[1].toLowerCase(),extended:n,isCcrAlias:!1}:{family:null,extended:n,isCcrAlias:!1}}function sw(t,e){if(!e||!t)return null;let n=ai(t);if(e[t])return e[t];if(e[n])return e[n];let{family:r}=pp(t);if(r&&e[r])return e[r];for(let[o,s]of Object.entries(e)){let a=ai(o);if(a&&n.includes(a))return s}return null}function mp(t){return t?(t.input_tokens||0)+(t.cache_read_input_tokens||0)+(t.cache_creation_input_tokens||0):0}function dc(t){if(!t?.includes(","))return null;let[e,...n]=t.split(","),r=e.trim(),o=n.join(",").trim();return!r||!o?null:{providerName:r,routeModel:o}}function Bo(t,e,n){let r=t.find(s=>s.name.toLowerCase()===e.toLowerCase());if(!r||r.enabled===!1)return null;let o=r.models?.find(s=>String(s).toLowerCase()===n.toLowerCase());return o?{provider:r,model:String(o)}:null}function tt(t,e,n,r,o){let s=dc(t);if(!s)return t;let{providerName:a,routeModel:u}=s,l=Bo(e,a,u);if(!l){if(o===!0&&r&&!n){let d=Br(),h=d.getPromotion(a,u,r,e);if(h){let m=dc(h);if(m){let C=Bo(e,m.providerName,m.routeModel);if(C)return`${C.provider.name},${C.model}`}d.clear(a,u,r)}}return null}if(o===!0&&r&&!n){let d=Br(),h=d.getPromotion(a,u,r,e);if(h){let m=dc(h);if(m){let C=Bo(e,m.providerName,m.routeModel);if(C)return`${C.provider.name},${C.model}`}d.clear(a,u,r)}}if(!n&&!Ye().isAvailable(l.provider.name,l.model))return null;let f=cc(l.provider.name);if(f){let d=f.limitDaily!==void 0&&f.usedDailyBalance!==void 0&&f.usedDailyBalance>=f.limitDaily,h=f.totalBalance!==void 0&&f.usedBalance!==void 0&&f.usedBalance>=f.totalBalance;if(d||h)return null}return`${l.provider.name},${l.model}`}function Ut(t,e,n,r,o){let s=Ye(),a=[n?.[t],r?.[t]];for(let u of a)if(!(!Array.isArray(u)||u.length===0))for(let l of u){let f=tt(l,e);if(f)return f}return null}function iw(t){return t.body.messages?.some(e=>e.role==="user"&&Array.isArray(e.content)&&e.content.some(n=>n.type==="image"||n.type==="image_url"||Array.isArray(n?.content)&&n.content.some(r=>r.type==="image"||r.type==="image_url")))}function aw(t){let e=ai(t);return[/claude/i,/gemini/i,/gpt-4o/i,/gpt-4\.1/i,/gpt-4-vision/i,/qwen.*vl/i,/glm-4v/i,/grok.*vision/i,/pixtral/i,/llava/i].some(r=>r.test(e))}function uw(t,e,n,r,o,s,a,u,l){let f=n.longContextThreshold??l??6e4,d=Math.max(e,mp(o)),h=t.modelFamily;if((s||d>2e5)&&n.extendedContext){let y=tt(n.extendedContext,r,!1,"extendedContext",u);if(y)return t.log.info(`Family: using extended context model (1M+), tokens: ${d}, estimated: ${e}, explicit: ${s}`),{model:y,scenarioType:"extendedContext",isFallback:!1};let g=u?Ut("extendedContext",r,n.fallback,a,h):null;if(g)return t.log.info(`Family: using extended context fallback model (1M+), tokens: ${d}, estimated: ${e}, explicit: ${s}`),{model:g,scenarioType:"extendedContext",isFallback:!0};t.log.warn("Family: extendedContext model unavailable (fail pool), skipping")}if(d>f&&(n.longContext||n.fallback?.longContext?.length||a?.longContext?.length)){let y=n.longContext?tt(n.longContext,r,!1,"longContext",u):null;if(y)return t.log.info(`Family: using long context model, tokens: ${d}, estimated: ${e}`),{model:y,scenarioType:"longContext",isFallback:!1};let g=u?Ut("longContext",r,n.fallback,a,h):null;if(g)return t.log.info(`Family: using long context fallback model, tokens: ${d}, estimated: ${e}`),{model:g,scenarioType:"longContext",isFallback:!0};t.log.warn("Family: no healthy longContext model available, falling through to other scenarios")}if(Array.isArray(t.body.tools)&&t.body.tools.some(y=>y.type?.startsWith("web_search"))&&n.webSearch){let y=tt(n.webSearch,r,!1,"webSearch",u);if(y)return{model:y,scenarioType:"webSearch",isFallback:!1};let g=u?Ut("webSearch",r,n.fallback,a,h):null;if(g)return t.log.info("Family: using webSearch fallback model"),{model:g,scenarioType:"webSearch",isFallback:!0};t.log.warn("Family: webSearch model unavailable (fail pool), skipping")}if(t.body.thinking?.type==="enabled"&&n.think){let y=tt(n.think,r,!1,"think",u);if(y)return{model:y,scenarioType:"think",isFallback:!1};let g=u?Ut("think",r,n.fallback,a,h):null;if(g)return t.log.info("Family: using think fallback model"),{model:g,scenarioType:"think",isFallback:!0};t.log.warn("Family: think model unavailable (fail pool), skipping")}if(n.default){let y=tt(n.default,r,!1,"default",u);if(y)return{model:y,scenarioType:"default",isFallback:!1};let g=u?Ut("default",r,n.fallback,a,h):null;if(g)return t.log.info("Family: using default fallback model"),{model:g,scenarioType:"default",isFallback:!0};t.log.warn("Family: default model unavailable (fail pool), skipping")}return null}var cw=async(t,e,n,r)=>{let o=await hp(t,n),s=n.get("providers")||[],a=o||n.get("Router"),u=a?.enableFallback===!0,l=u?a?.fallback||n.get("fallback"):void 0;if(t.body.model.includes(",")){let E=tt(t.body.model,s,!1,"default",u);if(E)return{model:E,scenarioType:"default"};t.log.warn(`Explicit model ${t.body.model} unavailable (fail pool), trying fallback`);let b=u?Ut("default",s,void 0,l):null;if(b)return t.log.info(`Using fallback for explicit model: ${b}`),{model:b,scenarioType:"default"};t.log.warn(`No fallback available for explicit model ${t.body.model}, continuing through routing logic`)}let{family:f,extended:d,isCcrAlias:h}=pp(t.body.model),m=a?.families?.[f||""];if(m&&a?.enableFamilyRouting){t.log.info(`Using model family routing for: ${f}${d?" (1M)":""}`),t.modelFamily=f,t.familyFallback=m.fallback;let E=uw(t,e,m,s,r,d,l,u,a?.longContextThreshold);if(E)return{model:E.model,scenarioType:E.scenarioType}}let C=h&&!a?.enableFamilyRouting?null:sw(t.body.model,a?.models);if(C){let E=tt(C,s,!1,"modelMapping",u);if(E)return t.log.info(`Using mapped model for ${t.body.model}: ${C}`),{model:E,scenarioType:"modelMapping"};t.log.warn(`Mapped model ${C} unavailable (fail pool), skipping`)}let w=Math.max(e,mp(r)),y=a?.extendedContextThreshold||2e5;if(w>y&&a?.extendedContext){t.log.info(`Using extended context (1M) model due to token count: ${w}, estimated: ${e}, threshold: ${y}`);let E=tt(a.extendedContext,s,!1,"extendedContext",u);if(E)return{model:E,scenarioType:"extendedContext"};t.log.warn(`Extended context model ${a.extendedContext} unavailable (fail pool), trying fallback`);let b=u?Ut("extendedContext",s,void 0,l):null;if(b)return{model:b,scenarioType:"extendedContext"}}let g=a?.longContextThreshold||6e4;if(w>g&&a?.longContext){t.log.info(`Using long context model due to token count: ${w}, estimated: ${e}, threshold: ${g}`);let E=tt(a.longContext,s,!1,"longContext",u);if(E)return{model:E,scenarioType:"longContext"};t.log.warn(`Long context model ${a.longContext} unavailable (fail pool), trying fallback`);let b=u?Ut("longContext",s,void 0,l):null;if(b)return{model:b,scenarioType:"longContext"}}if(t.body?.system?.length>1&&t.body?.system[1]?.text?.startsWith("<CCR-SUBAGENT-MODEL>")){let E=t.body?.system[1].text.match(/<CCR-SUBAGENT-MODEL>(.*?)<\/CCR-SUBAGENT-MODEL>/s);if(E)return t.body.system[1].text=t.body.system[1].text.replace(`<CCR-SUBAGENT-MODEL>${E[1]}</CCR-SUBAGENT-MODEL>`,""),{model:E[1],scenarioType:"default"}}if(t.body.model?.includes("claude")&&t.body.model?.includes("haiku")&&a?.background){t.log.info(`Using background model for ${t.body.model}`);let E=tt(a.background,s,!1,"background",u);if(E)return{model:E,scenarioType:"background"};t.log.warn(`Background model ${a.background} unavailable (fail pool), falling through`)}if(Array.isArray(t.body.tools)&&t.body.tools.some(E=>E.type?.startsWith("web_search"))&&a?.webSearch){let E=tt(a.webSearch,s,!1,"webSearch",u);if(E)return{model:E,scenarioType:"webSearch"};t.log.warn(`WebSearch model ${a.webSearch} unavailable (fail pool), trying fallback`);let b=u?Ut("webSearch",s,void 0,l):null;if(b)return{model:b,scenarioType:"webSearch"}}if(t.body.thinking?.type==="enabled"&&a?.think){t.log.info(`Using think model for ${t.body.thinking}`);let E=tt(a.think,s,!1,"think",u);if(E)return{model:E,scenarioType:"think"};t.log.warn(`Think model ${a.think} unavailable (fail pool), trying fallback`);let b=u?Ut("think",s,void 0,l):null;if(b)return{model:b,scenarioType:"think"}}if(a?.default){let E=tt(a.default,s,!1,"default",u);if(E)return{model:E,scenarioType:"default"};t.log.warn(`Default model ${a.default} unavailable (fail pool), trying fallback`);let b=u?Ut("default",s,void 0,l):null;if(b)return{model:b,scenarioType:"default"};let S=tt(a.default,s,!0,"default",u);if(S)return t.log.warn(`No fallback available; retrying default model ${a.default} despite fail-pool state`),{model:S,scenarioType:"default"}}return{model:void 0,scenarioType:"default"}},Mo=async(t,e,n)=>{let{configService:r,event:o}=n;t.originalModel=t.body.model;let s=No(t.body.metadata?.user_id);s&&(t.sessionId=s);let u=await hp(t,r)||r.get("Router"),l=u?.enableFallback===!0,f=r.get("providers")||[];t.enableFallback=l,t.fallbackConfig=u?.fallback||r.get("fallback");let d=sc.get(t.sessionId),{messages:h,system:m=[],tools:C}=t.body,w=r.get("REWRITE_SYSTEM_PROMPT");if(w&&m.length>1&&m[1]?.text?.includes("<env>")){let y=await fc(w,"utf-8");m[1].text=`${y}<env>${m[1].text.split("<env>").pop()}`}try{let[y,g]=t.body.model.split(","),_=n.tokenizerService?.getTokenizerConfigForModel(y,g),E;n.tokenizerService?E=(await n.tokenizerService.countTokens({messages:h,system:m,tools:C},_)).tokenCount:E=fp(h,m,C),t.tokenCount=E;let b,S=r.get("CUSTOM_ROUTER_PATH");if(S)try{b=await re(S)(t,r.getAll(),{event:o})}catch(v){t.log.error(`failed to load custom router: ${v.message}`)}if(b)t.scenarioType="default";else{let v=await cw(t,E,r,d);b=v.model,t.scenarioType=v.scenarioType}if(u?.image&&b!==u.image&&iw(t)&&!aw(b)){let v=tt(u.image,f,!1,"image",l);v?(t.log.info(`Using image model fallback for ${b}`),b=v,t.scenarioType="image"):(t.log.warn(`Image model ${u.image} unavailable (fail pool), keeping ${b}`),t.scenarioType="image")}typeof b=="string"&&b.trim()?t.body.model=b:(t.log.warn(`Router could not resolve a valid model for ${t.originalModel||t.body.model}; keeping original request model`),t.scenarioType=t.scenarioType||"default")}catch(y){t.log.error(`Error in router middleware: ${y.message}`),t.body.model=u?.default,t.scenarioType="default"}},lr=new Map,cp=1e3,$r=new Set,lp=1e3,lw=3,dw=50,fw=t=>new Promise(e=>setTimeout(e,t));function hw(){if(lr.size<=cp)return;let t=[...lr.keys()].slice(0,lr.size-cp);for(let e of t)lr.delete(e)}function pw(){if($r.size<=lp)return;let t=[...$r].slice(0,$r.size-lp);for(let e of t)$r.delete(e)}var dp=async t=>{let e=await rw(ap),n=[];for await(let s of e)s.isDirectory()&&n.push(s.name);let r=n.map(async s=>{let a=hc(ap,s,`${t}.jsonl`);try{return(await ow(a)).isFile()?s:null}catch{return null}}),o=await Promise.all(r);for(let s of o)if(s)return s;return null},gp=async t=>{let e=Ur(t);if(!e)return null;if(lr.has(e))return lr.get(e)||null;try{let n=await dp(e);if(!n&&!$r.has(e)){$r.add(e),pw();for(let r=0;r<lw&&!n;r++)await fw(dw),n=await dp(e)}return n?(lr.set(e,n),hw(),n):null}catch(n){return console.error("Error searching for project by session:",n),null}};var mw=/^ccr-(opus|sonnet|haiku)(\[1m\])?$/i;function yp(t){let e=[],n=Array.isArray(t.input)?t.input:[t.input];for(let r of n)if(r.type==="function_call")e.push({role:"assistant",tool_calls:[{id:r.call_id,type:"function",function:{name:r.name,arguments:r.arguments||"{}"}}]});else if(r.type==="function_call_output")e.push({role:"tool",tool_call_id:r.call_id,content:typeof r.output=="string"?r.output:JSON.stringify(r.output)});else if(r.type==="reasoning"){let o=Array.isArray(r.summary)?r.summary.filter(s=>s.type==="summary_text"&&s.text).map(s=>s.text).join(`
|
|
112
|
+
`))}}}K();let pe=Y();pe&&Q.enqueue(pe),ue="",Q.close()}catch(se){Q.error(se)}}})}wrapChatInResponses(e){let n=e?.choices?.[0],r=[],o=[];if(n?.message?.content&&o.push({type:"output_text",text:n.message.content}),r.push({type:"message",role:"assistant",content:o}),Array.isArray(n?.message?.tool_calls))for(let s of n.message.tool_calls)r.push({type:"function_call",id:s.id,call_id:s.id,name:s.function?.name||"",arguments:s.function?.arguments||"{}"});return{id:e.id||`resp_${Date.now()}`,object:"response",model:e.model,output:r,usage:e.usage?{...this.buildResponsesUsage(e.usage)}:void 0}}convertResponseToChat(e){let n=e.output?.find(f=>f.type==="message"),r=e.output?.find(f=>f.type==="function_call"),o;n?.content?.length&&n?.content[0].annotations&&(o=n.content[0].annotations.map(f=>({type:"url_citation",url_citation:{url:f.url||"",title:f.title||"",content:"",start_index:f.start_index||0,end_index:f.end_index||0}}))),this.logger.debug({data:o,type:"url_citation"});let s=null,a=null,u=null;if(n&&n.reasoning&&(u={content:n.reasoning}),n&&n.content){let f=[],d=[];if(n.content.forEach(h=>{if(h.type==="output_text")f.push(h.text||"");else if(h.type==="output_image"){let m=this.buildImageContent({url:h.image_url,mime_type:h.mime_type});m&&d.push(m)}else if(h.type==="output_image_base64"){let m=this.buildImageContent({b64_json:h.image_base64,mime_type:h.mime_type});m&&d.push(m)}}),d.length>0){let h=[];f.length>0&&h.push({type:"text",text:f.join("")}),h.push(...d),s=h}else s=f.join("")}return r&&(a=[{id:r.call_id||r.id,function:{name:r.name,arguments:r.arguments},type:"function"}]),{id:e.id||"chatcmpl-"+Date.now(),object:"chat.completion",created:e.created_at,model:e.model,choices:[{index:0,message:{role:"assistant",content:s||null,tool_calls:a,thinking:u,annotations:o},logprobs:null,finish_reason:a?"tool_calls":"stop"}],usage:e.usage?{prompt_tokens:e.usage.input_tokens||0,completion_tokens:e.usage.output_tokens||0,total_tokens:e.usage.total_tokens||0,prompt_tokens_details:{cached_tokens:this.getCacheReadInputTokens(e.usage),cache_creation_tokens:this.getCacheCreationInputTokens(e.usage)},cache_read_input_tokens:this.getCacheReadInputTokens(e.usage),cache_creation_input_tokens:this.getCacheCreationInputTokens(e.usage)}:null}}buildImageContent(e){return e&&(e.url||e.b64_json)?{type:"image_url",image_url:{url:e.url||"",b64_json:e.b64_json},media_type:e.mime_type}:null}};import{get_encoding as nw}from"tiktoken";var oc=class{capacity;cache;constructor(e){this.capacity=e,this.cache=new Map}get(e){if(!this.cache.has(e))return;let n=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,n),n}put(e,n){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(e,n)}values(){return Array.from(this.cache.values())}},sc=new oc(100);Un();import{readFile as fc}from"fs/promises";import{opendir as rw,stat as ow}from"fs/promises";import{join as hc}from"path";import{CLAUDE_PROJECTS_DIR as ap,HOME_DIR as up}from"@wengine-ai/claude-code-router-shared";import{existsSync as sp,mkdirSync as VC,readFileSync as KC,writeFileSync as YC}from"fs";import{join as ip}from"path";import{HOME_DIR as QC}from"@wengine-ai/claude-code-router-shared";var ic=ip(QC,"runtime"),ac=ip(ic,"quota-store.json"),jr=new Map,rp=!1,XC=null;function uc(t,e){t&&jr.set(t,{...e,provider:t,capturedAt:Date.now()})}function cc(t){let e=jr.get(t);return e?{...e}:void 0}function ZC(){return Array.from(jr.values()).map(t=>({...t}))}function ew(){try{if(!sp(ac))return;let t=JSON.parse(KC(ac,"utf-8"));if(!Array.isArray(t))return;let e=Date.now();for(let n of t)if(n&&n.provider){if(n.capturedAt&&e-n.capturedAt>1440*60*1e3)continue;jr.set(n.provider,n)}}catch{}}function op(){try{if(jr.size===0)return;sp(ic)||VC(ic,{recursive:!0}),YC(ac,JSON.stringify(Array.from(jr.values()),null,2),"utf-8")}catch{}}function lc(){rp||(rp=!0,ew(),XC=setInterval(op,6e4),process.on("exit",op))}si();var tw=/^[A-Za-z0-9_-]+$/;function Ur(t){if(typeof t!="string")return;let e=t.trim();if(!(!e||!tw.test(e)))return e}function No(t){if(!t)return;if(typeof t=="object")return Ur(t.session_id??t.sessionId);if(typeof t!="string")return;let e=t.trim();if(!e)return;try{let o=JSON.parse(e),s=Ur(o?.session_id??o?.sessionId);if(s)return s}catch{}let n="_session_",r=e.lastIndexOf(n);if(r!==-1)return Ur(e.slice(r+n.length))}var En=nw("cl100k_base"),fp=(t,e,n)=>{let r=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?r+=En.encode(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?r+=En.encode(s.text).length:s.type==="tool_use"?r+=En.encode(JSON.stringify(s.input)).length:s.type==="tool_result"&&(r+=En.encode(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?r+=En.encode(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?r+=En.encode(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{r+=En.encode(s||"").length}))}),n&&n.forEach(o=>{o.description&&(r+=En.encode(o.name+o.description).length),o.input_schema&&(r+=En.encode(JSON.stringify(o.input_schema)).length)}),r},hp=async(t,e)=>{if(t.sessionId){let n=await gp(t.sessionId);if(n){let r=hc(up,n,"config.json"),o=hc(up,n,`${t.sessionId}.json`);try{let s=JSON.parse(await fc(o,"utf8"));if(s&&s.Router&&Object.keys(s.Router).length>0)return s.Router}catch{}try{let s=JSON.parse(await fc(r,"utf8"));if(s&&s.Router&&Object.keys(s.Router).length>0)return s.Router}catch{}}}};function ai(t){let e=t||"";return e.includes(",")&&(e=e.split(",").pop()||e),e.includes("/")&&(e=e.split("/").pop()||e),e.includes(":")&&(e=e.split(":")[0]),e.trim().toLowerCase()}function pp(t){let e=ai(t),n=e.includes("[1m]")||e.endsWith("[1m"),r=e.replace(/\[1m\]|\[1m$/g,""),o=r.match(/^ccr-(opus|sonnet|haiku)$/i);if(o)return{family:o[1].toLowerCase(),extended:n,isCcrAlias:!0};let s=r.match(/claude-(?:\d+-\d+-|\d+-)?(sonnet|opus|haiku)(?:-|$)/i)||r.match(/claude-(sonnet|opus|haiku)(?:-|$)/i);return s?{family:s[1].toLowerCase(),extended:n,isCcrAlias:!1}:{family:null,extended:n,isCcrAlias:!1}}function sw(t,e){if(!e||!t)return null;let n=ai(t);if(e[t])return e[t];if(e[n])return e[n];let{family:r}=pp(t);if(r&&e[r])return e[r];for(let[o,s]of Object.entries(e)){let a=ai(o);if(a&&n.includes(a))return s}return null}function mp(t){return t?(t.input_tokens||0)+(t.cache_read_input_tokens||0)+(t.cache_creation_input_tokens||0):0}function dc(t){if(!t?.includes(","))return null;let[e,...n]=t.split(","),r=e.trim(),o=n.join(",").trim();return!r||!o?null:{providerName:r,routeModel:o}}function Bo(t,e,n){let r=t.find(s=>s.name.toLowerCase()===e.toLowerCase());if(!r||r.enabled===!1)return null;let o=r.models?.find(s=>String(s).toLowerCase()===n.toLowerCase());return o?{provider:r,model:String(o)}:null}function tt(t,e,n,r,o){let s=dc(t);if(!s)return t;let{providerName:a,routeModel:u}=s,l=Bo(e,a,u);if(!l){if(o===!0&&r&&!n){let d=Br(),h=d.getPromotion(a,u,r,e);if(h){let m=dc(h);if(m){let C=Bo(e,m.providerName,m.routeModel);if(C)return`${C.provider.name},${C.model}`}d.clear(a,u,r)}}return null}if(o===!0&&r&&!n){let d=Br(),h=d.getPromotion(a,u,r,e);if(h){let m=dc(h);if(m){let C=Bo(e,m.providerName,m.routeModel);if(C)return`${C.provider.name},${C.model}`}d.clear(a,u,r)}}if(!n&&!Ye().isAvailable(l.provider.name,l.model))return null;let f=cc(l.provider.name);if(f){let d=f.limitDaily!==void 0&&f.usedDailyBalance!==void 0&&f.usedDailyBalance>=f.limitDaily,h=f.totalBalance!==void 0&&f.usedBalance!==void 0&&f.usedBalance>=f.totalBalance;if(d||h)return null}return`${l.provider.name},${l.model}`}function Ut(t,e,n,r,o){let s=Ye(),a=[n?.[t],r?.[t]];for(let u of a)if(!(!Array.isArray(u)||u.length===0))for(let l of u){let f=tt(l,e);if(f)return f}return null}function iw(t){return t.body.messages?.some(e=>e.role==="user"&&Array.isArray(e.content)&&e.content.some(n=>n.type==="image"||n.type==="image_url"||Array.isArray(n?.content)&&n.content.some(r=>r.type==="image"||r.type==="image_url")))}function aw(t){let e=ai(t);return[/claude/i,/gemini/i,/gpt-4o/i,/gpt-4\.1/i,/gpt-4-vision/i,/qwen.*vl/i,/glm-4v/i,/grok.*vision/i,/pixtral/i,/llava/i].some(r=>r.test(e))}function uw(t,e,n,r,o,s,a,u,l){let f=n.longContextThreshold??l??6e4,d=Math.max(e,mp(o)),h=t.modelFamily;if((s||d>2e5)&&n.extendedContext){let y=tt(n.extendedContext,r,!1,"extendedContext",u);if(y)return t.log.info(`Family: using extended context model (1M+), tokens: ${d}, estimated: ${e}, explicit: ${s}`),{model:y,scenarioType:"extendedContext",isFallback:!1};let g=u?Ut("extendedContext",r,n.fallback,a,h):null;if(g)return t.log.info(`Family: using extended context fallback model (1M+), tokens: ${d}, estimated: ${e}, explicit: ${s}`),{model:g,scenarioType:"extendedContext",isFallback:!0};t.log.warn("Family: extendedContext model unavailable (fail pool), skipping")}if(d>f&&(n.longContext||n.fallback?.longContext?.length||a?.longContext?.length)){let y=n.longContext?tt(n.longContext,r,!1,"longContext",u):null;if(y)return t.log.info(`Family: using long context model, tokens: ${d}, estimated: ${e}`),{model:y,scenarioType:"longContext",isFallback:!1};let g=u?Ut("longContext",r,n.fallback,a,h):null;if(g)return t.log.info(`Family: using long context fallback model, tokens: ${d}, estimated: ${e}`),{model:g,scenarioType:"longContext",isFallback:!0};t.log.warn("Family: no healthy longContext model available, falling through to other scenarios")}if(Array.isArray(t.body.tools)&&t.body.tools.some(y=>y.type?.startsWith("web_search"))&&n.webSearch){let y=tt(n.webSearch,r,!1,"webSearch",u);if(y)return{model:y,scenarioType:"webSearch",isFallback:!1};let g=u?Ut("webSearch",r,n.fallback,a,h):null;if(g)return t.log.info("Family: using webSearch fallback model"),{model:g,scenarioType:"webSearch",isFallback:!0};t.log.warn("Family: webSearch model unavailable (fail pool), skipping")}if(t.body.thinking?.type==="enabled"&&n.think){let y=tt(n.think,r,!1,"think",u);if(y)return{model:y,scenarioType:"think",isFallback:!1};let g=u?Ut("think",r,n.fallback,a,h):null;if(g)return t.log.info("Family: using think fallback model"),{model:g,scenarioType:"think",isFallback:!0};t.log.warn("Family: think model unavailable (fail pool), skipping")}if(n.default){let y=tt(n.default,r,!1,"default",u);if(y)return{model:y,scenarioType:"default",isFallback:!1};let g=u?Ut("default",r,n.fallback,a,h):null;if(g)return t.log.info("Family: using default fallback model"),{model:g,scenarioType:"default",isFallback:!0};t.log.warn("Family: default model unavailable (fail pool), skipping")}return null}var cw=async(t,e,n,r)=>{let o=await hp(t,n),s=n.get("providers")||[],a=o||n.get("Router"),u=a?.enableFallback===!0,l=u?a?.fallback||n.get("fallback"):void 0;if(t.body.model.includes(",")){let E=tt(t.body.model,s,!1,"default",u);if(E)return{model:E,scenarioType:"default"};t.log.warn(`Explicit model ${t.body.model} unavailable (fail pool), trying fallback`);let b=u?Ut("default",s,void 0,l):null;if(b)return t.log.info(`Using fallback for explicit model: ${b}`),{model:b,scenarioType:"default"};t.log.warn(`No fallback available for explicit model ${t.body.model}, continuing through routing logic`)}let{family:f,extended:d,isCcrAlias:h}=pp(t.body.model),m=a?.families?.[f||""];if(m&&a?.enableFamilyRouting){t.log.info(`Using model family routing for: ${f}${d?" (1M)":""}`),t.modelFamily=f,t.familyFallback=m.fallback;let E=uw(t,e,m,s,r,d,l,u,a?.longContextThreshold);if(E)return{model:E.model,scenarioType:E.scenarioType}}let C=h&&!a?.enableFamilyRouting?null:sw(t.body.model,a?.models);if(C){let E=tt(C,s,!1,"modelMapping",u);if(E)return t.log.info(`Using mapped model for ${t.body.model}: ${C}`),{model:E,scenarioType:"modelMapping"};t.log.warn(`Mapped model ${C} unavailable (fail pool), skipping`)}let w=Math.max(e,mp(r)),y=a?.extendedContextThreshold||2e5;if(w>y&&a?.extendedContext){t.log.info(`Using extended context (1M) model due to token count: ${w}, estimated: ${e}, threshold: ${y}`);let E=tt(a.extendedContext,s,!1,"extendedContext",u);if(E)return{model:E,scenarioType:"extendedContext"};t.log.warn(`Extended context model ${a.extendedContext} unavailable (fail pool), trying fallback`);let b=u?Ut("extendedContext",s,void 0,l):null;if(b)return{model:b,scenarioType:"extendedContext"}}let g=a?.longContextThreshold||6e4;if(w>g&&a?.longContext){t.log.info(`Using long context model due to token count: ${w}, estimated: ${e}, threshold: ${g}`);let E=tt(a.longContext,s,!1,"longContext",u);if(E)return{model:E,scenarioType:"longContext"};t.log.warn(`Long context model ${a.longContext} unavailable (fail pool), trying fallback`);let b=u?Ut("longContext",s,void 0,l):null;if(b)return{model:b,scenarioType:"longContext"}}if(t.body?.system?.length>1&&t.body?.system[1]?.text?.startsWith("<CCR-SUBAGENT-MODEL>")){let E=t.body?.system[1].text.match(/<CCR-SUBAGENT-MODEL>(.*?)<\/CCR-SUBAGENT-MODEL>/s);if(E)return t.body.system[1].text=t.body.system[1].text.replace(`<CCR-SUBAGENT-MODEL>${E[1]}</CCR-SUBAGENT-MODEL>`,""),{model:E[1],scenarioType:"default"}}if(t.body.model?.includes("claude")&&t.body.model?.includes("haiku")&&a?.background){t.log.info(`Using background model for ${t.body.model}`);let E=tt(a.background,s,!1,"background",u);if(E)return{model:E,scenarioType:"background"};t.log.warn(`Background model ${a.background} unavailable (fail pool), falling through`)}if(Array.isArray(t.body.tools)&&t.body.tools.some(E=>E.type?.startsWith("web_search"))&&a?.webSearch){let E=tt(a.webSearch,s,!1,"webSearch",u);if(E)return{model:E,scenarioType:"webSearch"};t.log.warn(`WebSearch model ${a.webSearch} unavailable (fail pool), trying fallback`);let b=u?Ut("webSearch",s,void 0,l):null;if(b)return{model:b,scenarioType:"webSearch"}}if(t.body.thinking?.type==="enabled"&&a?.think){t.log.info(`Using think model for ${t.body.thinking}`);let E=tt(a.think,s,!1,"think",u);if(E)return{model:E,scenarioType:"think"};t.log.warn(`Think model ${a.think} unavailable (fail pool), trying fallback`);let b=u?Ut("think",s,void 0,l):null;if(b)return{model:b,scenarioType:"think"}}if(a?.default){let E=tt(a.default,s,!1,"default",u);if(E)return{model:E,scenarioType:"default"};t.log.warn(`Default model ${a.default} unavailable (fail pool), trying fallback`);let b=u?Ut("default",s,void 0,l):null;if(b)return{model:b,scenarioType:"default"};let S=tt(a.default,s,!0,"default",u);if(S)return t.log.warn(`No fallback available; retrying default model ${a.default} despite fail-pool state`),{model:S,scenarioType:"default"}}return{model:void 0,scenarioType:"default"}},Mo=async(t,e,n)=>{let{configService:r,event:o}=n;t.originalModel=t.body.model;let s=No(t.body.metadata?.user_id);s&&(t.sessionId=s);let u=await hp(t,r)||r.get("Router"),l=u?.enableFallback===!0,f=r.get("providers")||[];t.enableFallback=l,t.fallbackConfig=u?.fallback||r.get("fallback");let d=sc.get(t.sessionId),{messages:h,system:m=[],tools:C}=t.body,w=r.get("REWRITE_SYSTEM_PROMPT");if(w&&m.length>1&&m[1]?.text?.includes("<env>")){let y=await fc(w,"utf-8");m[1].text=`${y}<env>${m[1].text.split("<env>").pop()}`}try{let[y,g]=t.body.model.split(","),_=n.tokenizerService?.getTokenizerConfigForModel(y,g),E;n.tokenizerService?E=(await n.tokenizerService.countTokens({messages:h,system:m,tools:C},_)).tokenCount:E=fp(h,m,C),t.tokenCount=E;let b,S=r.get("CUSTOM_ROUTER_PATH");if(S)try{b=await re(S)(t,r.getAll(),{event:o})}catch(T){t.log.error(`failed to load custom router: ${T.message}`)}if(b)t.scenarioType="default";else{let T=await cw(t,E,r,d);b=T.model,t.scenarioType=T.scenarioType}if(u?.image&&b!==u.image&&iw(t)&&!aw(b)){let T=tt(u.image,f,!1,"image",l);T?(t.log.info(`Using image model fallback for ${b}`),b=T,t.scenarioType="image"):(t.log.warn(`Image model ${u.image} unavailable (fail pool), keeping ${b}`),t.scenarioType="image")}typeof b=="string"&&b.trim()?t.body.model=b:(t.log.warn(`Router could not resolve a valid model for ${t.originalModel||t.body.model}; keeping original request model`),t.scenarioType=t.scenarioType||"default")}catch(y){t.log.error(`Error in router middleware: ${y.message}`),t.body.model=u?.default,t.scenarioType="default"}},lr=new Map,cp=1e3,$r=new Set,lp=1e3,lw=3,dw=50,fw=t=>new Promise(e=>setTimeout(e,t));function hw(){if(lr.size<=cp)return;let t=[...lr.keys()].slice(0,lr.size-cp);for(let e of t)lr.delete(e)}function pw(){if($r.size<=lp)return;let t=[...$r].slice(0,$r.size-lp);for(let e of t)$r.delete(e)}var dp=async t=>{let e=await rw(ap),n=[];for await(let s of e)s.isDirectory()&&n.push(s.name);let r=n.map(async s=>{let a=hc(ap,s,`${t}.jsonl`);try{return(await ow(a)).isFile()?s:null}catch{return null}}),o=await Promise.all(r);for(let s of o)if(s)return s;return null},gp=async t=>{let e=Ur(t);if(!e)return null;if(lr.has(e))return lr.get(e)||null;try{let n=await dp(e);if(!n&&!$r.has(e)){$r.add(e),pw();for(let r=0;r<lw&&!n;r++)await fw(dw),n=await dp(e)}return n?(lr.set(e,n),hw(),n):null}catch(n){return console.error("Error searching for project by session:",n),null}};var mw=/^ccr-(opus|sonnet|haiku)(\[1m\])?$/i;function yp(t){let e=[],n=Array.isArray(t.input)?t.input:[t.input];for(let r of n)if(r.type==="function_call")e.push({role:"assistant",tool_calls:[{id:r.call_id,type:"function",function:{name:r.name,arguments:r.arguments||"{}"}}]});else if(r.type==="function_call_output")e.push({role:"tool",tool_call_id:r.call_id,content:typeof r.output=="string"?r.output:JSON.stringify(r.output)});else if(r.type==="reasoning"){let o=Array.isArray(r.summary)?r.summary.filter(s=>s.type==="summary_text"&&s.text).map(s=>s.text).join(`
|
|
113
113
|
`):"";o&&e.push({role:"assistant",content:[{type:"text",text:`[reasoning]
|
|
114
114
|
${o}`}],_reasoningItem:!0})}else if(r.role){let o=r.content;Array.isArray(o)&&(o=o.map(s=>s.type==="input_text"?{type:"text",text:s.text}:s.type==="output_text"?{type:"text",text:s.text}:s.type==="input_image"?{type:"image_url",image_url:{url:s.image_url},media_type:s.mime_type}:s)),e.push({role:r.role,content:o})}t.messages=e,delete t.input,t.instructions&&typeof t.instructions=="string"&&(t.system=t.instructions,delete t.instructions),Array.isArray(t.tools)&&(t.tools=t.tools.filter(r=>r&&typeof r=="object").map(r=>r.type==="function"&&r.name&&!r.function?{type:"function",function:{name:r.name,description:r.description||"",parameters:r.parameters||{type:"object",properties:{}}}}:r.function?.name?r:r.type==="web_search"?{type:"function",function:{name:"web_search",description:"Search the web",parameters:{type:"object",properties:{query:{type:"string"}}}}}:null).filter(Boolean)),t.reasoning&&typeof t.reasoning=="object"&&(t.reasoning={enabled:!0,effort:t.reasoning.effort}),delete t.store,delete t.previous_response_id,delete t.include}async function _p(t,e,n,r){let o=t.body;r.endPoint==="/v1/responses"&&o?.input&&!o?.messages&&yp(o),r.endPoint==="/v1/responses"&&!t.provider&&typeof o?.model=="string"&&mw.test(o.model)&&await Mo(t,e,{configService:n.configService,tokenizerService:n.tokenizerService});let s=t.provider;if(!s&&o?.model){let f=o.model.split(",");f.length>1&&(s=f[0],o.model=f.slice(1).join(","))}let a=s?n.providerService.getProvider(s):void 0;if(!a&&o?.model){let f=n.providerService.resolveModelRoute(o.model);f&&(a=f.provider,o.model=f.targetModel)}if(!a&&o?.model){let d=n.configService.get("Router")?.default;if(d&&d.includes(",")){let[h,...m]=d.split(","),C=n.providerService.getProvider(h);C&&(a=C,o.model=m.join(","))}}if(t.originalModel||(t.originalModel=o?.model),!a)throw He(`Provider '${s}' not found`,404,"provider_not_found");t.provider=a.name||s;let u=_w(t),l=r.endPoint==="/v1/messages"&&u;u&&e.header("X-Codex-Detected","true"),l&&e.header("X-Codex-On-Messages","true"),t.isCodexOnMessagesEndpoint=l,t.codexDetected=u;try{r.endPoint==="/v1/responses"&&o.input&&!o.messages&&yp(o);let{requestBody:f,config:d,bypass:h}=await Cp(o,a,r,t.headers,{req:t});if(f?.messages&&!h&&!t.isTargetAnthropic){let y=f.messages,g=new Set,_=[],E=[];for(let b of y){if(b?.role!=="system"){E.push(b);continue}let S=JSON.stringify(b.content??"");g.has(S)||(g.add(S),_.push(b))}_.length>0&&E.length>0&&(f.messages=[..._,...E])}let m=await wp(f,d,a,n,h,r,{req:t});try{a?.baseUrl&&m?.headers&&Io(s,a.baseUrl,m.headers)}catch{}let C=await Ep(f,m,a,r,h,{req:t,isCodexOnMessagesEndpoint:l});C=await bp(o,C,a.name||s);let w=kp(C,e,o,n);try{let y=o.model||t.originalModel;s&&y&&Ye().recordSuccess(s,y)}catch{}return w}catch(f){if(!t.__retryAttempted){t.__retryAttempted=!0;try{return await _p(t,e,n,r)}catch(h){if(t.__fallbackExhausted)throw h;f=h}}let d=await gw(t,e,n,r,f);if(d)return d;throw t.__fallbackExhausted=!0,f}}async function bp(t,e,n){if(!t?.stream||!e?.body)return e;let r=e.body.getReader(),o=await r.read();if(o.done)throw r.releaseLock(),He(`Provider returned empty streaming response from ${n}`,400,"provider_response_error");let s=new TextDecoder().decode(o.value);if(s.includes("event: error")){r.releaseLock();let l=s.length<500?s:s.slice(0,500);throw He(`Provider ${n} returned error in SSE stream: ${l}`,400,"provider_response_error")}if(s.split(`
|
|
115
|
-
`).filter(l=>l.startsWith("data:")&&l.trim().length>5).length===0){r.releaseLock();let l=s.length<500?s:s.slice(0,500);throw He(`Provider ${n} returned streaming response with no SSE data lines: ${l}`,400,"provider_response_error")}let u=new ReadableStream({start:l=>{l.enqueue(o.value);let f=()=>{r.read().then(({done:d,value:h})=>{d?l.close():(l.enqueue(h),f())}).catch(d=>l.error(d))};f()},cancel:()=>{r.cancel()}});return new Response(u,{headers:e.headers,status:e.status,statusText:e.statusText})}async function gw(t,e,n,r,o){let s=t.scenarioType||"default",a=t.familyFallback,u=t.modelFamily,l=t.fallbackConfig??n.configService.get("fallback"),f=Ye(),d=t.provider||"",h=t.body.model||"",m=new Set,C=o?.statusCode===429||o?.isRateLimit===!0||o?.rawBody&&ui(o.rawBody)||o?.message&&ui(o.message);if(d&&h&&(C?(f.markRateLimited(d,h,120,o?.message),t.log.warn(`Primary model ${d},${h} rate-limited, will try fallbacks`)):f.recordFailure(d,h,o?.message),m.add(`${d},${h}`),n.recordUsage?.({provider:d,model:h,originalModel:t.originalModel||h,scenarioType:s,modelFamily:t.modelFamily,errorMessage:o?.message||String(o),sessionId:t.usageSessionId||t.id,stream:t.body.stream,inputTokens:t.tokenCount||0,req:t})),!(t.enableFallback??n.configService.get("Router")?.enableFallback===!0))return t.log.info("Fallback disabled by configuration, skipping fallback attempts"),null;let y=E=>{let[b,...S]=E.split(","),v=b?.trim(),R=S.join(",").trim();return!v||!R?null:{provider:v,model:R,key:`${v},${R}`}},g=[];if(u){let E=a?.[s];Array.isArray(E)&&E.length>0?g.push({name:`${u}/${s}`,models:E}):t.log.warn(`No ${u} fallback configured for ${s}; will try global ${s} fallback`)}if(Array.isArray(l?.[s])&&l[s].length>0&&g.push({name:`global/${s}`,models:l[s]}),g.length===0&&s!=="image"&&t.body?.messages?.some(S=>S.role==="user"&&Array.isArray(S.content)&&S.content.some(v=>v.type==="image"||v.type==="image_url"||Array.isArray(v?.content)&&v.content.some(R=>R.type==="image"||R.type==="image_url")))&&Array.isArray(l?.image)&&l.image.length>0&&(t.log.info(`No fallback for scenario '${s}', but request has images \u2014 trying fallback.image`),g.push({name:"global/image (auto-detected)",models:l.image})),g.length===0)return null;let _=g.reduce((E,b)=>E+b.models.length,0);t.log.warn(`Request failed for ${s}, trying ${_} fallback models across ${g.length} fallback stage(s)`);for(let E of g){t.log.info(`Trying ${E.name} fallback stage with ${E.models.length} models`);for(let b of E.models){let S=y(b);if(!S){t.log.warn(`Fallback model '${b}' is invalid, skipping`);continue}if(m.has(S.key))continue;m.add(S.key);let v=n.providerService.getProviders(),R=Bo(v,S.provider,S.model);if(!R){t.log.warn(`Fallback model ${b} is not configured or provider is disabled, skipping`);continue}let $=R.provider.name,H=R.model;if(!f.isAvailable($,H)){t.log.warn(`Fallback model ${b} unavailable (fail pool), skipping`);continue}let P;for(let K=1;K<=2;K++)try{t.log.info(`Trying fallback model: ${$},${H}${K>1?" (retry)":""}`);let q={...t.body};q.model=H;let Y={...t,provider:$,body:q},Q=R.provider,{requestBody:ee,config:se,bypass:ie}=await Cp(q,Q,r,t.headers,{req:Y}),pe=await wp(ee,se,Q,n,ie,r,{req:Y});try{Q?.baseUrl&&pe?.headers&&Io($,Q.baseUrl,pe.headers)}catch{}let J=await Ep(ee,pe,Q,r,ie,{req:Y,isCodexOnMessagesEndpoint:t.isCodexOnMessagesEndpoint||!1});return J=await bp(q,J,$),t.log.info(`Fallback model ${$},${H} succeeded`),f.recordSuccess($,H),d&&h&&(Br().promote(d,h,s,$,H),t.log.info(`Promoted fallback model ${$},${H} for ${d},${h}:${s}`),C?t.log.info(`Rate-limited original model ${d},${h} already marked unavailable with cooldown`):(f.forceOpen(d,h,o?.message),t.log.info(`Marked original model ${d},${h} as unavailable`))),t.provider=$,t.body=q,kp(J,e,q,n)}catch(q){if(P=q,K===1){t.log.warn(`Fallback model ${$},${H} failed, retrying once: ${q.message}`);continue}}f.recordFailure($,H,P?.message),t.log.warn(`Fallback model ${$},${H} failed after retry: ${P?.message}`),n.recordUsage?.({provider:$,model:H,originalModel:t.originalModel||h||t.body.model,scenarioType:s,modelFamily:t.modelFamily,errorMessage:P?.message||String(P),sessionId:t.usageSessionId||t.id,stream:t.body.stream,inputTokens:t.tokenCount||0,req:t})}}return t.log.error(`All fallback models failed for ${s}`),null}async function Cp(t,e,n,r,o){let s=JSON.parse(JSON.stringify(t)),a=s?.system;if(typeof a=="string"&&a.includes("cch="))s.system=a.replace(/cch=[^;]+;?/g,"cch=ccr-stable;");else if(Array.isArray(a))for(let f=0;f<a.length;f++){let d=a[f],h=typeof d=="string"?d:d?.text??"";if(h.includes("cch=")){let m=h.replace(/cch=[^;]+;?/g,"cch=ccr-stable;");typeof d=="string"?a[f]=m:typeof d?.text=="string"&&(d.text=m)}}let u={},l=!1;if(l=yw(e,n,t),l&&(r instanceof Headers?r.delete("content-length"):delete r["content-length"],u.headers=r),!l&&typeof n.transformRequestOut=="function"){let f=await n.transformRequestOut(s);f.body?(s=f.body,u=f.config||{}):s=f}if(!l&&e.transformer?.use?.length)for(let f of e.transformer.use){if(!f||typeof f.transformRequestIn!="function")continue;let d=await f.transformRequestIn(s,e,o);d.body?(s=d.body,u={...u,...d.config}):s=d}if(!l&&e.transformer?.[t.model]?.use?.length)for(let f of e.transformer[t.model].use)!f||typeof f.transformRequestIn!="function"||(s=await f.transformRequestIn(s,e,o));return{requestBody:s,config:u,bypass:l}}function yw(t,e,n){return e.endPoint==="/v1/chat/completions"&&Array.isArray(n?.system)?!1:t.transformer?.use?.length===1&&t.transformer.use[0].name===e.name&&(!t.transformer?.[n.model]?.use.length||t.transformer?.[n.model]?.use.length===1&&t.transformer?.[n.model]?.use[0].name===e.name)}function _w(t){let e=t.headers||{},n=e["x-anthropic-billing-header"]||"";if(typeof n=="string"&&n.includes("cc_version="))return!1;let r=e["user-agent"]||"";if(typeof r=="string"&&/codex/i.test(r))return!0;let o=t.pathname||t.url||"";if(typeof o=="string"&&o.split("?",1)[0].endsWith("/v1/responses"))return!0;let s=t.originalModel||t.body?.model||"";return typeof s=="string"&&s.toLowerCase()==="ccr-codex"}async function wp(t,e,n,r,o,s,a){let u=e.url||new URL(n.baseUrl);if(!e.TIMEOUT){let d=r.configService.get("API_TIMEOUT_MS");d&&(e.TIMEOUT=typeof d=="string"?parseInt(d,10):d)}if(o&&typeof s.auth=="function"){let d=await s.auth(t,n);if(d.body){t=d.body;let h=e.headers||{};d.config?.headers&&(h={...h,...d.config.headers},delete h.host,delete d.config.headers),e={...e,...d.config,headers:h}}else t=d}let l={Authorization:`Bearer ${n.apiKey}`,...e?.headers||{}};for(let d in l)(l[d]==="undefined"||["authorization","Authorization"].includes(d)&&l[d]?.includes("undefined"))&&delete l[d];ni(r.configService)&&Hh(r.log,a.req.id,{url:String(u),headers:l,body:t});let f=await jh(u,t,{httpsProxy:r.configService.getHttpsProxy(),...e,headers:JSON.parse(JSON.stringify(l))},a,r.log);if(!f.ok){let d=await f.text();r.log.error(`[provider_response_error] Error from provider(${n.name},${t.model}: ${f.status}): ${d}`);let h=He(`Error from provider(${n.name},${t.model}: ${f.status}): ${d}`,f.status,"provider_response_error");throw h.isRateLimit=f.status===429||ui(d),h.rawBody=d,h}if(f.ok){let d=f.headers.get("content-type")||"",h=t.stream===!0;if(r.log.info(`[hidden-error-check] provider=${n.name} model=${t.model} stream=${t.stream} isStreamRequest=${h} contentType=${d} ok=${f.ok} status=${f.status} hasBody=${!!f.body}`),!h||d.includes("application/json")){let m=f.clone(),C="";try{if(C=await m.text(),!C||C.trim()==="")throw new SyntaxError("Empty JSON body");let w=JSON.parse(C);if(w&&typeof w=="object"&&w.error&&(typeof w.error=="string"||typeof w.error=="object"&&Object.keys(w.error).length>0)){r.log.error(`[provider_response_error] Hidden error from provider(${n.name},${t.model}: ${f.status}): ${C}`);let g=ui(C),_=He(`Error from provider(${n.name},${t.model}: ${f.status}): ${C}`,400,"provider_response_error");throw _.isRateLimit=g,_.rawBody=C,_}}catch(w){if(w instanceof SyntaxError){r.log.warn(`[provider_response_error] Empty or malformed JSON response from provider(${n.name},${t.model}: 200): "${C}"`);let y=He(`API returned an empty or malformed response (HTTP 200) from ${n.name} \u2014 check for a proxy or gateway intercepting the request`,400,"provider_response_error");throw y.rawBody=C,y}throw w}}}if(!t.stream&&ni(r.configService)){let h=await f.clone().text();Wh(r.log,a.req.id,{status:f.status,headers:Object.fromEntries(f.headers.entries()),body:h})}return f}async function Ep(t,e,n,r,o,s){let a=e;if(!o&&n.transformer?.use?.length)for(let u of Array.from(n.transformer.use).reverse())!u||typeof u.transformResponseOut!="function"||(a=await u.transformResponseOut(a,s));if(!o&&n.transformer?.[t.model]?.use?.length)for(let u of Array.from(n.transformer[t.model].use).reverse())!u||typeof u.transformResponseOut!="function"||(a=await u.transformResponseOut(a,s));if(!o&&r.transformResponseIn&&(s.provider||(s.provider=n),a=await r.transformResponseIn(a,s)),s?.isCodexOnMessagesEndpoint)try{a=await new Lr().transformResponseIn(a,{...s,provider:n})}catch(u){console.error("Failed to apply Responses API conversion for codex client:",u)}return a}function kp(t,e,n,r){if(t.ok||e.code(t.status),n.stream===!0){if(e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),r&&ni(r.configService)){let[s,a]=t.body.tee(),u=qh(r.configService);return Gh(s,r.log,e.request.id,u),e.send(a)}return e.send(t.body)}else return t.json()}var pc=async t=>{t.get("/",async()=>({message:"LLMs API",version:oi})),t.get("/health",async()=>({status:"ok",timestamp:new Date().toISOString()})),t.get("/providers/health",async()=>({states:Ye().getAllStates().map(o=>({provider:o.provider,model:o.model,status:o.status,failureCount:o.failureCount,successCount:o.successCount,lastFailureTime:o.lastFailureTime,lastError:o.lastError,rateLimitUntil:o.rateLimitUntil??null})),timestamp:new Date().toISOString()}));let e=t.transformerService.getTransformersWithEndpoint();for(let{transformer:n}of e)n.endPoint&&t.post(n.endPoint,async(r,o)=>_p(r,o,t,n));t.post("/providers",{schema:{body:{type:"object",properties:{id:{type:"string"},name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}}},required:["id","name","type","baseUrl","apiKey","models"]}}},async(n,r)=>{let{name:o,baseUrl:s,apiKey:a,models:u}=n.body;if(!o?.trim())throw He("Provider name is required",400,"invalid_request");if(!s||!bw(s))throw He("Valid base URL is required",400,"invalid_request");if(!a?.trim())throw He("API key is required",400,"invalid_request");if(!u||!Array.isArray(u)||u.length===0)throw He("At least one model is required",400,"invalid_request");if(t.providerService.getProvider(n.body.name))throw He(`Provider with name '${n.body.name}' already exists`,400,"provider_exists");return t.providerService.registerProvider(n.body)}),t.get("/providers",async()=>t.providerService.getProviders()),t.get("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async n=>{let r=t.providerService.getProvider(n.params.id);if(!r)throw He("Provider not found",404,"provider_not_found");return r}),t.put("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}},enabled:{type:"boolean"}}}}},async(n,r)=>{let o=t.providerService.updateProvider(n.params.id,n.body);if(!o)throw He("Provider not found",404,"provider_not_found");return o}),t.delete("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async n=>{if(!t.providerService.deleteProvider(n.params.id))throw He("Provider not found",404,"provider_not_found");return{message:"Provider deleted successfully"}}),t.patch("/providers/:id/toggle",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"]}}},async(n,r)=>{if(!t.providerService.toggleProvider(n.params.id,n.body.enabled))throw He("Provider not found",404,"provider_not_found");return{message:`Provider ${n.body.enabled?"enabled":"disabled"} successfully`}})};function ui(t){let e=t.toLowerCase();return e.includes("rate limit")||e.includes("rate_limit")||e.includes("rate_limit_error")||e.includes("too many requests")||e.includes("too many")||e.includes("quota exhausted")||e.includes("qps_limit")||e.includes("token_limit")||e.includes("\u9650\u6D41")||e.includes("\u9891\u7387\u9650\u5236")}function bw(t){try{return new URL(t),!0}catch{return!1}}var qr=class{constructor(e,n,r){this.configService=e;this.transformerService=n;this.logger=r;this.initializeCustomProviders()}providers=new Map;modelRoutes=new Map;initializeCustomProviders(){let e=this.configService.get("providers");if(e&&Array.isArray(e)){this.initializeFromProvidersArray(e);return}}initializeFromProvidersArray(e){e.forEach(n=>{try{if(!n.name||!n.api_base_url||!n.api_key)return;let r={};n.transformer&&Object.keys(n.transformer).forEach(o=>{o==="use"?Array.isArray(n.transformer.use)&&(r.use=n.transformer.use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")):Array.isArray(n.transformer[o]?.use)&&(r[o]={use:n.transformer[o].use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")})}),this.registerProvider({name:n.name,baseUrl:n.api_base_url,apiKey:n.api_key,models:n.models||[],quotaToken:n.quota_token,transformer:n.transformer?r:void 0,cacheMode:n.cache_mode||"exclusive",enabled:n.enabled!==!1,wakeupEnabled:n.wakeup_enabled===!0,wakeupTime:n.wakeup_time||"06:00",wakeupModel:n.wakeup_model||""}),this.logger.info(`${n.name} provider registered`)}catch(r){this.logger.error(`${n.name} provider registered error: ${r}`)}})}registerProvider(e){let n={...e,enabled:e.enabled!==!1,wakeupEnabled:e.wakeupEnabled===!0,wakeupTime:e.wakeupTime||"06:00",wakeupModel:e.wakeupModel||""};return this.providers.set(n.name,n),e.models.forEach(r=>{let o=`${n.name},${r}`,s={provider:n.name,model:r,fullModel:o};this.modelRoutes.set(o,s),this.modelRoutes.has(r)||this.modelRoutes.set(r,s)}),n}getProviders(){return Array.from(this.providers.values())}getProvider(e){return this.providers.get(e)}updateProvider(e,n){let r=this.providers.get(e);if(!r)return null;let o={...r,...n,updatedAt:new Date};return this.providers.set(e,o),n.models&&(r.models.forEach(s=>{let a=`${r.name},${s}`;this.modelRoutes.delete(a),this.modelRoutes.delete(s)}),n.models.forEach(s=>{let a=`${r.name},${s}`,u={provider:r.name,model:s,fullModel:a};this.modelRoutes.set(a,u),this.modelRoutes.has(s)||this.modelRoutes.set(s,u)})),o}deleteProvider(e){let n=this.providers.get(e);return n?(n.models.forEach(r=>{let o=`${n.name},${r}`;this.modelRoutes.delete(o),this.modelRoutes.delete(r)}),this.providers.delete(e),!0):!1}toggleProvider(e,n){let r=this.providers.get(e);if(!r)return!1;r.enabled=n;let o=this.configService.get("providers");if(o&&Array.isArray(o)){let s=o.find(a=>a.name===e);s&&(s.enabled=n)}return!0}resolveModelRoute(e){let n=this.modelRoutes.get(e);if(!n)return null;let r=this.providers.get(n.provider);return r?{provider:r,originalModel:e,targetModel:n.model}:null}getAvailableModelNames(){let e=[];return this.providers.forEach(n=>{n.enabled!==!1&&n.models.forEach(r=>{e.push(r),e.push(`${n.name},${r}`)})}),e}getModelRoutes(){return Array.from(this.modelRoutes.values())}parseTransformerConfig(e){return e?Array.isArray(e)?e.reduce((n,r)=>{if(Array.isArray(r)){let[o,s={}]=r;n[o]=s}else n[r]={};return n},{}):e:{}}async getAvailableModels(){let e=[];return this.providers.forEach(n=>{n.enabled!==!1&&n.models.forEach(r=>{e.push({id:r,object:"model",owned_by:n.name,provider:n.name}),e.push({id:`${n.name},${r}`,object:"model",owned_by:n.name,provider:n.name})})}),{object:"list",data:e}}};var Qe=[];for(let t=0;t<256;++t)Qe.push((t+256).toString(16).slice(1));function Ap(t,e=0){return(Qe[t[e+0]]+Qe[t[e+1]]+Qe[t[e+2]]+Qe[t[e+3]]+"-"+Qe[t[e+4]]+Qe[t[e+5]]+"-"+Qe[t[e+6]]+Qe[t[e+7]]+"-"+Qe[t[e+8]]+Qe[t[e+9]]+"-"+Qe[t[e+10]]+Qe[t[e+11]]+Qe[t[e+12]]+Qe[t[e+13]]+Qe[t[e+14]]+Qe[t[e+15]]).toLowerCase()}import{randomFillSync as Cw}from"crypto";var li=new Uint8Array(256),ci=li.length;function mc(){return ci>li.length-16&&(Cw(li),ci=0),li.slice(ci,ci+=16)}import{randomUUID as ww}from"crypto";var gc={randomUUID:ww};function Ew(t,e,n){if(gc.randomUUID&&!e&&!t)return gc.randomUUID();t=t||{};let r=t.random??t.rng?.()??mc();if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,e){if(n=n||0,n<0||n+16>e.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let o=0;o<16;++o)e[n+o]=r[o];return e}return Ap(r)}var pt=Ew;var Sp=t=>t<=0?"none":t<=1024?"low":t<=8192?"medium":"high";var Tp=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);function kw(t){return t.filter(e=>!!e?.function?.name).map(e=>({name:e.function.name,description:e.function.description,input_schema:e.function.parameters}))}function vp(t){let e=[],n=[],r=m=>{if(typeof m=="string"){n.push({type:"text",text:m});return}Array.isArray(m)&&m.forEach(C=>{if(typeof C=="string"){n.push({type:"text",text:C});return}C&&typeof C=="object"&&C.type==="text"&&C.text&&n.push({...C})})},o=()=>{let m=new Map;for(let C=0;C<n.length;C++){let w=n[C],y=w?.text??JSON.stringify(w),g=m.get(y);if(g===void 0){m.set(y,C);continue}!n[g]?.cache_control&&w?.cache_control&&(n[g]=w),n.splice(C,1),C--}};t.messages.forEach(m=>{m.role==="system"?r(m.content):e.push(m)}),o();let s=[];for(let m=0;m<e.length;m++){let C=e[m];if(C.role==="tool"){let w=C.content;try{typeof C.content=="string"&&(w=JSON.parse(C.content))}catch{}w!=null&&typeof w!="object"&&typeof w!="string"&&(w=String(w));let y={type:"tool_result",tool_use_id:C.tool_call_id,content:w};C.cache_control&&(y.cache_control=C.cache_control);let g=s[s.length-1];g&&g.role==="user"&&Array.isArray(g.content)?g.content.push(y):s.push({role:"user",content:[y]})}else if(C.role==="user"){let w=[];typeof C.content=="string"?w.push({type:"text",text:C.content}):Array.isArray(C.content)&&C.content.forEach(g=>{g&&typeof g=="object"&&g.type==="image_url"&&g.image_url?.url?w.push({type:"image",source:{type:"base64",media_type:g.media_type||"image/jpeg",data:g.image_url.url.split(",")[1]||g.image_url.url}}):w.push(g)});let y=s[s.length-1];y&&y.role==="user"&&Array.isArray(y.content)?y.content.push(...w):s.push({role:"user",content:w.length>0?w:[{type:"text",text:" "}]})}else if(C.role==="assistant"){let w=[];C.content&&(typeof C.content=="string"?w.push({type:"text",text:C.content}):Array.isArray(C.content)&&w.push(...C.content)),C.tool_calls&&C.tool_calls.length>0&&C.tool_calls.forEach(g=>{let _={};try{_=JSON.parse(g.function.arguments)}catch{_=g.function.arguments}w.push({type:"tool_use",id:g.id,name:g.function.name,input:_})}),C.thinking&&w.unshift({type:"thinking",thinking:C.thinking.content,signature:C.thinking.signature});let y=s[s.length-1];y&&y.role==="assistant"&&Array.isArray(y.content)?y.content.push(...w):s.push({role:"assistant",content:w.length>0?w:[{type:"text",text:" "}]})}}let a=()=>{let m=n.filter(C=>C?.cache_control).length;for(let C of s)Array.isArray(C.content)&&(m+=C.content.filter(w=>w?.cache_control).length);return m},u=m=>m&&typeof m=="object"?{...m}:{type:"ephemeral"},l=()=>{for(let m=s.length-1;m>=0;m--){let C=s[m]?.content;if(!Array.isArray(C))continue;let w=C.find(y=>y?.cache_control);if(w?.cache_control)return w.cache_control}for(let m=n.length-1;m>=0;m--)if(n[m]?.cache_control)return n[m].cache_control;return{type:"ephemeral"}},f=(m,C)=>{if(!Array.isArray(m?.content)||m.content.some(y=>y?.cache_control))return!1;let w=m.content.find(y=>y&&typeof y=="object"&&!y.cache_control);return w?(w.cache_control=u(C),!0):!1};(()=>{let m=4-a();if(m<=0||s.length===0)return;let C=s,w=l(),y=[];for(let g=C.length-1;g>=0;g--)C[g]?.role!=="user"||!Array.isArray(C[g].content)||y.push(g);for(let g of y){if(m<=0)break;f(C[g],w)&&m--}})();let h={messages:s,model:t.model,max_tokens:t.max_tokens||4096,temperature:t.temperature,stream:t.stream};if(n.length>0){let m=n.some(C=>C?.cache_control);h.system=m?n:n.map(C=>C.text||"").join(`
|
|
115
|
+
`).filter(l=>l.startsWith("data:")&&l.trim().length>5).length===0){r.releaseLock();let l=s.length<500?s:s.slice(0,500);throw He(`Provider ${n} returned streaming response with no SSE data lines: ${l}`,400,"provider_response_error")}let u=new ReadableStream({start:l=>{l.enqueue(o.value);let f=()=>{r.read().then(({done:d,value:h})=>{d?l.close():(l.enqueue(h),f())}).catch(d=>l.error(d))};f()},cancel:()=>{r.cancel()}});return new Response(u,{headers:e.headers,status:e.status,statusText:e.statusText})}async function gw(t,e,n,r,o){let s=t.scenarioType||"default",a=t.familyFallback,u=t.modelFamily,l=t.fallbackConfig??n.configService.get("fallback"),f=Ye(),d=t.provider||"",h=t.body.model||"",m=new Set,C=o?.statusCode===429||o?.isRateLimit===!0||o?.rawBody&&ui(o.rawBody)||o?.message&&ui(o.message);if(d&&h&&(C?(f.markRateLimited(d,h,120,o?.message),t.log.warn(`Primary model ${d},${h} rate-limited, will try fallbacks`)):f.recordFailure(d,h,o?.message),m.add(`${d},${h}`),n.recordUsage?.({provider:d,model:h,originalModel:t.originalModel||h,scenarioType:s,modelFamily:t.modelFamily,errorMessage:o?.message||String(o),sessionId:t.usageSessionId||t.id,stream:t.body.stream,inputTokens:t.tokenCount||0,req:t})),!(t.enableFallback??n.configService.get("Router")?.enableFallback===!0))return t.log.info("Fallback disabled by configuration, skipping fallback attempts"),null;let y=E=>{let[b,...S]=E.split(","),T=b?.trim(),R=S.join(",").trim();return!T||!R?null:{provider:T,model:R,key:`${T},${R}`}},g=[];if(u){let E=a?.[s];Array.isArray(E)&&E.length>0?g.push({name:`${u}/${s}`,models:E}):t.log.warn(`No ${u} fallback configured for ${s}; will try global ${s} fallback`)}if(Array.isArray(l?.[s])&&l[s].length>0&&g.push({name:`global/${s}`,models:l[s]}),g.length===0&&s!=="image"&&t.body?.messages?.some(S=>S.role==="user"&&Array.isArray(S.content)&&S.content.some(T=>T.type==="image"||T.type==="image_url"||Array.isArray(T?.content)&&T.content.some(R=>R.type==="image"||R.type==="image_url")))&&Array.isArray(l?.image)&&l.image.length>0&&(t.log.info(`No fallback for scenario '${s}', but request has images \u2014 trying fallback.image`),g.push({name:"global/image (auto-detected)",models:l.image})),g.length===0)return null;let _=g.reduce((E,b)=>E+b.models.length,0);t.log.warn(`Request failed for ${s}, trying ${_} fallback models across ${g.length} fallback stage(s)`);for(let E of g){t.log.info(`Trying ${E.name} fallback stage with ${E.models.length} models`);for(let b of E.models){let S=y(b);if(!S){t.log.warn(`Fallback model '${b}' is invalid, skipping`);continue}if(m.has(S.key))continue;m.add(S.key);let T=n.providerService.getProviders(),R=Bo(T,S.provider,S.model);if(!R){t.log.warn(`Fallback model ${b} is not configured or provider is disabled, skipping`);continue}let $=R.provider.name,H=R.model;if(!f.isAvailable($,H)){t.log.warn(`Fallback model ${b} unavailable (fail pool), skipping`);continue}let P;for(let K=1;K<=2;K++)try{t.log.info(`Trying fallback model: ${$},${H}${K>1?" (retry)":""}`);let q={...t.body};q.model=H;let Y={...t,provider:$,body:q},Q=R.provider,{requestBody:ee,config:se,bypass:ue}=await Cp(q,Q,r,t.headers,{req:Y}),pe=await wp(ee,se,Q,n,ue,r,{req:Y});try{Q?.baseUrl&&pe?.headers&&Io($,Q.baseUrl,pe.headers)}catch{}let J=await Ep(ee,pe,Q,r,ue,{req:Y,isCodexOnMessagesEndpoint:t.isCodexOnMessagesEndpoint||!1});return J=await bp(q,J,$),t.log.info(`Fallback model ${$},${H} succeeded`),f.recordSuccess($,H),d&&h&&(Br().promote(d,h,s,$,H),t.log.info(`Promoted fallback model ${$},${H} for ${d},${h}:${s}`),C?t.log.info(`Rate-limited original model ${d},${h} already marked unavailable with cooldown`):(f.forceOpen(d,h,o?.message),t.log.info(`Marked original model ${d},${h} as unavailable`))),t.provider=$,t.body=q,kp(J,e,q,n)}catch(q){if(P=q,K===1){t.log.warn(`Fallback model ${$},${H} failed, retrying once: ${q.message}`);continue}}f.recordFailure($,H,P?.message),t.log.warn(`Fallback model ${$},${H} failed after retry: ${P?.message}`),n.recordUsage?.({provider:$,model:H,originalModel:t.originalModel||h||t.body.model,scenarioType:s,modelFamily:t.modelFamily,errorMessage:P?.message||String(P),sessionId:t.usageSessionId||t.id,stream:t.body.stream,inputTokens:t.tokenCount||0,req:t})}}return t.log.error(`All fallback models failed for ${s}`),null}async function Cp(t,e,n,r,o){let s=JSON.parse(JSON.stringify(t)),a=s?.system;if(typeof a=="string"&&a.includes("cch="))s.system=a.replace(/cch=[^;]+;?/g,"cch=ccr-stable;");else if(Array.isArray(a))for(let f=0;f<a.length;f++){let d=a[f],h=typeof d=="string"?d:d?.text??"";if(h.includes("cch=")){let m=h.replace(/cch=[^;]+;?/g,"cch=ccr-stable;");typeof d=="string"?a[f]=m:typeof d?.text=="string"&&(d.text=m)}}let u={},l=!1;if(l=yw(e,n,t),l&&(r instanceof Headers?r.delete("content-length"):delete r["content-length"],u.headers=r),!l&&typeof n.transformRequestOut=="function"){let f=await n.transformRequestOut(s);f.body?(s=f.body,u=f.config||{}):s=f}if(!l&&e.transformer?.use?.length)for(let f of e.transformer.use){if(!f||typeof f.transformRequestIn!="function")continue;let d=await f.transformRequestIn(s,e,o);d.body?(s=d.body,u={...u,...d.config}):s=d}if(!l&&e.transformer?.[t.model]?.use?.length)for(let f of e.transformer[t.model].use)!f||typeof f.transformRequestIn!="function"||(s=await f.transformRequestIn(s,e,o));return{requestBody:s,config:u,bypass:l}}function yw(t,e,n){return e.endPoint==="/v1/chat/completions"&&Array.isArray(n?.system)?!1:t.transformer?.use?.length===1&&t.transformer.use[0].name===e.name&&(!t.transformer?.[n.model]?.use.length||t.transformer?.[n.model]?.use.length===1&&t.transformer?.[n.model]?.use[0].name===e.name)}function _w(t){let e=t.headers||{},n=e["x-anthropic-billing-header"]||"";if(typeof n=="string"&&n.includes("cc_version="))return!1;let r=e["user-agent"]||"";if(typeof r=="string"&&/codex/i.test(r))return!0;let o=t.pathname||t.url||"";if(typeof o=="string"&&o.split("?",1)[0].endsWith("/v1/responses"))return!0;let s=t.originalModel||t.body?.model||"";return typeof s=="string"&&s.toLowerCase()==="ccr-codex"}async function wp(t,e,n,r,o,s,a){let u=e.url||new URL(n.baseUrl);if(!e.TIMEOUT){let d=r.configService.get("API_TIMEOUT_MS");d&&(e.TIMEOUT=typeof d=="string"?parseInt(d,10):d)}if(o&&typeof s.auth=="function"){let d=await s.auth(t,n);if(d.body){t=d.body;let h=e.headers||{};d.config?.headers&&(h={...h,...d.config.headers},delete h.host,delete d.config.headers),e={...e,...d.config,headers:h}}else t=d}let l={Authorization:`Bearer ${n.apiKey}`,...e?.headers||{}};for(let d in l)(l[d]==="undefined"||["authorization","Authorization"].includes(d)&&l[d]?.includes("undefined"))&&delete l[d];ni(r.configService)&&Hh(r.log,a.req.id,{url:String(u),headers:l,body:t});let f=await jh(u,t,{httpsProxy:r.configService.getHttpsProxy(),...e,headers:JSON.parse(JSON.stringify(l))},a,r.log);if(!f.ok){let d=await f.text();r.log.error(`[provider_response_error] Error from provider(${n.name},${t.model}: ${f.status}): ${d}`);let h=He(`Error from provider(${n.name},${t.model}: ${f.status}): ${d}`,f.status,"provider_response_error");throw h.isRateLimit=f.status===429||ui(d),h.rawBody=d,h}if(f.ok){let d=f.headers.get("content-type")||"",h=t.stream===!0;if(r.log.info(`[hidden-error-check] provider=${n.name} model=${t.model} stream=${t.stream} isStreamRequest=${h} contentType=${d} ok=${f.ok} status=${f.status} hasBody=${!!f.body}`),!h||d.includes("application/json")){let m=f.clone(),C="";try{if(C=await m.text(),!C||C.trim()==="")throw new SyntaxError("Empty JSON body");let w=JSON.parse(C);if(w&&typeof w=="object"&&w.error&&(typeof w.error=="string"||typeof w.error=="object"&&Object.keys(w.error).length>0)){r.log.error(`[provider_response_error] Hidden error from provider(${n.name},${t.model}: ${f.status}): ${C}`);let g=ui(C),_=He(`Error from provider(${n.name},${t.model}: ${f.status}): ${C}`,400,"provider_response_error");throw _.isRateLimit=g,_.rawBody=C,_}}catch(w){if(w instanceof SyntaxError){r.log.warn(`[provider_response_error] Empty or malformed JSON response from provider(${n.name},${t.model}: 200): "${C}"`);let y=He(`API returned an empty or malformed response (HTTP 200) from ${n.name} \u2014 check for a proxy or gateway intercepting the request`,400,"provider_response_error");throw y.rawBody=C,y}throw w}}}if(!t.stream&&ni(r.configService)){let h=await f.clone().text();Wh(r.log,a.req.id,{status:f.status,headers:Object.fromEntries(f.headers.entries()),body:h})}return f}async function Ep(t,e,n,r,o,s){let a=e;if(!o&&n.transformer?.use?.length)for(let u of Array.from(n.transformer.use).reverse())!u||typeof u.transformResponseOut!="function"||(a=await u.transformResponseOut(a,s));if(!o&&n.transformer?.[t.model]?.use?.length)for(let u of Array.from(n.transformer[t.model].use).reverse())!u||typeof u.transformResponseOut!="function"||(a=await u.transformResponseOut(a,s));if(!o&&r.transformResponseIn&&(s.provider||(s.provider=n),a=await r.transformResponseIn(a,s)),s?.isCodexOnMessagesEndpoint)try{a=await new Lr().transformResponseIn(a,{...s,provider:n})}catch(u){console.error("Failed to apply Responses API conversion for codex client:",u)}return a}function kp(t,e,n,r){if(t.ok||e.code(t.status),n.stream===!0){if(e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),r&&ni(r.configService)){let[s,a]=t.body.tee(),u=qh(r.configService);return Gh(s,r.log,e.request.id,u),e.send(a)}return e.send(t.body)}else return t.json()}var pc=async t=>{t.get("/",async()=>({message:"LLMs API",version:oi})),t.get("/health",async()=>({status:"ok",timestamp:new Date().toISOString()})),t.get("/providers/health",async()=>({states:Ye().getAllStates().map(o=>({provider:o.provider,model:o.model,status:o.status,failureCount:o.failureCount,successCount:o.successCount,lastFailureTime:o.lastFailureTime,lastError:o.lastError,rateLimitUntil:o.rateLimitUntil??null})),timestamp:new Date().toISOString()}));let e=t.transformerService.getTransformersWithEndpoint();for(let{transformer:n}of e)n.endPoint&&t.post(n.endPoint,async(r,o)=>_p(r,o,t,n));t.post("/providers",{schema:{body:{type:"object",properties:{id:{type:"string"},name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}}},required:["id","name","type","baseUrl","apiKey","models"]}}},async(n,r)=>{let{name:o,baseUrl:s,apiKey:a,models:u}=n.body;if(!o?.trim())throw He("Provider name is required",400,"invalid_request");if(!s||!bw(s))throw He("Valid base URL is required",400,"invalid_request");if(!a?.trim())throw He("API key is required",400,"invalid_request");if(!u||!Array.isArray(u)||u.length===0)throw He("At least one model is required",400,"invalid_request");if(t.providerService.getProvider(n.body.name))throw He(`Provider with name '${n.body.name}' already exists`,400,"provider_exists");return t.providerService.registerProvider(n.body)}),t.get("/providers",async()=>t.providerService.getProviders()),t.get("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async n=>{let r=t.providerService.getProvider(n.params.id);if(!r)throw He("Provider not found",404,"provider_not_found");return r}),t.put("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}},enabled:{type:"boolean"}}}}},async(n,r)=>{let o=t.providerService.updateProvider(n.params.id,n.body);if(!o)throw He("Provider not found",404,"provider_not_found");return o}),t.delete("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async n=>{if(!t.providerService.deleteProvider(n.params.id))throw He("Provider not found",404,"provider_not_found");return{message:"Provider deleted successfully"}}),t.patch("/providers/:id/toggle",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"]}}},async(n,r)=>{if(!t.providerService.toggleProvider(n.params.id,n.body.enabled))throw He("Provider not found",404,"provider_not_found");return{message:`Provider ${n.body.enabled?"enabled":"disabled"} successfully`}})};function ui(t){let e=t.toLowerCase();return e.includes("rate limit")||e.includes("rate_limit")||e.includes("rate_limit_error")||e.includes("too many requests")||e.includes("too many")||e.includes("quota exhausted")||e.includes("qps_limit")||e.includes("token_limit")||e.includes("\u9650\u6D41")||e.includes("\u9891\u7387\u9650\u5236")}function bw(t){try{return new URL(t),!0}catch{return!1}}var qr=class{constructor(e,n,r){this.configService=e;this.transformerService=n;this.logger=r;this.initializeCustomProviders()}providers=new Map;modelRoutes=new Map;initializeCustomProviders(){let e=this.configService.get("providers");if(e&&Array.isArray(e)){this.initializeFromProvidersArray(e);return}}initializeFromProvidersArray(e){e.forEach(n=>{try{if(!n.name||!n.api_base_url||!n.api_key)return;let r={};n.transformer&&Object.keys(n.transformer).forEach(o=>{o==="use"?Array.isArray(n.transformer.use)&&(r.use=n.transformer.use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")):Array.isArray(n.transformer[o]?.use)&&(r[o]={use:n.transformer[o].use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")})}),this.registerProvider({name:n.name,baseUrl:n.api_base_url,apiKey:n.api_key,models:n.models||[],quotaToken:n.quota_token,transformer:n.transformer?r:void 0,cacheMode:n.cache_mode||"exclusive",enabled:n.enabled!==!1,wakeupEnabled:n.wakeup_enabled===!0,wakeupTime:n.wakeup_time||"06:00",wakeupModel:n.wakeup_model||""}),this.logger.info(`${n.name} provider registered`)}catch(r){this.logger.error(`${n.name} provider registered error: ${r}`)}})}registerProvider(e){let n={...e,enabled:e.enabled!==!1,wakeupEnabled:e.wakeupEnabled===!0,wakeupTime:e.wakeupTime||"06:00",wakeupModel:e.wakeupModel||""};return this.providers.set(n.name,n),e.models.forEach(r=>{let o=`${n.name},${r}`,s={provider:n.name,model:r,fullModel:o};this.modelRoutes.set(o,s),this.modelRoutes.has(r)||this.modelRoutes.set(r,s)}),n}getProviders(){return Array.from(this.providers.values())}getProvider(e){return this.providers.get(e)}updateProvider(e,n){let r=this.providers.get(e);if(!r)return null;let o={...r,...n,updatedAt:new Date};return this.providers.set(e,o),n.models&&(r.models.forEach(s=>{let a=`${r.name},${s}`;this.modelRoutes.delete(a),this.modelRoutes.delete(s)}),n.models.forEach(s=>{let a=`${r.name},${s}`,u={provider:r.name,model:s,fullModel:a};this.modelRoutes.set(a,u),this.modelRoutes.has(s)||this.modelRoutes.set(s,u)})),o}deleteProvider(e){let n=this.providers.get(e);return n?(n.models.forEach(r=>{let o=`${n.name},${r}`;this.modelRoutes.delete(o),this.modelRoutes.delete(r)}),this.providers.delete(e),!0):!1}toggleProvider(e,n){let r=this.providers.get(e);if(!r)return!1;r.enabled=n;let o=this.configService.get("providers");if(o&&Array.isArray(o)){let s=o.find(a=>a.name===e);s&&(s.enabled=n)}return!0}resolveModelRoute(e){let n=this.modelRoutes.get(e);if(!n)return null;let r=this.providers.get(n.provider);return r?{provider:r,originalModel:e,targetModel:n.model}:null}getAvailableModelNames(){let e=[];return this.providers.forEach(n=>{n.enabled!==!1&&n.models.forEach(r=>{e.push(r),e.push(`${n.name},${r}`)})}),e}getModelRoutes(){return Array.from(this.modelRoutes.values())}parseTransformerConfig(e){return e?Array.isArray(e)?e.reduce((n,r)=>{if(Array.isArray(r)){let[o,s={}]=r;n[o]=s}else n[r]={};return n},{}):e:{}}async getAvailableModels(){let e=[];return this.providers.forEach(n=>{n.enabled!==!1&&n.models.forEach(r=>{e.push({id:r,object:"model",owned_by:n.name,provider:n.name}),e.push({id:`${n.name},${r}`,object:"model",owned_by:n.name,provider:n.name})})}),{object:"list",data:e}}};var Qe=[];for(let t=0;t<256;++t)Qe.push((t+256).toString(16).slice(1));function Ap(t,e=0){return(Qe[t[e+0]]+Qe[t[e+1]]+Qe[t[e+2]]+Qe[t[e+3]]+"-"+Qe[t[e+4]]+Qe[t[e+5]]+"-"+Qe[t[e+6]]+Qe[t[e+7]]+"-"+Qe[t[e+8]]+Qe[t[e+9]]+"-"+Qe[t[e+10]]+Qe[t[e+11]]+Qe[t[e+12]]+Qe[t[e+13]]+Qe[t[e+14]]+Qe[t[e+15]]).toLowerCase()}import{randomFillSync as Cw}from"crypto";var li=new Uint8Array(256),ci=li.length;function mc(){return ci>li.length-16&&(Cw(li),ci=0),li.slice(ci,ci+=16)}import{randomUUID as ww}from"crypto";var gc={randomUUID:ww};function Ew(t,e,n){if(gc.randomUUID&&!e&&!t)return gc.randomUUID();t=t||{};let r=t.random??t.rng?.()??mc();if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,e){if(n=n||0,n<0||n+16>e.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let o=0;o<16;++o)e[n+o]=r[o];return e}return Ap(r)}var pt=Ew;var Sp=t=>t<=0?"none":t<=1024?"low":t<=8192?"medium":"high";var vp=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);function kw(t){return t.filter(e=>!!e?.function?.name).map(e=>({name:e.function.name,description:e.function.description,input_schema:e.function.parameters}))}function Tp(t){let e=[],n=[],r=m=>{if(typeof m=="string"){n.push({type:"text",text:m});return}Array.isArray(m)&&m.forEach(C=>{if(typeof C=="string"){n.push({type:"text",text:C});return}C&&typeof C=="object"&&C.type==="text"&&C.text&&n.push({...C})})},o=()=>{let m=new Map;for(let C=0;C<n.length;C++){let w=n[C],y=w?.text??JSON.stringify(w),g=m.get(y);if(g===void 0){m.set(y,C);continue}!n[g]?.cache_control&&w?.cache_control&&(n[g]=w),n.splice(C,1),C--}};t.messages.forEach(m=>{m.role==="system"?r(m.content):e.push(m)}),o();let s=[];for(let m=0;m<e.length;m++){let C=e[m];if(C.role==="tool"){let w=C.content;try{typeof C.content=="string"&&(w=JSON.parse(C.content))}catch{}w!=null&&typeof w!="object"&&typeof w!="string"&&(w=String(w));let y={type:"tool_result",tool_use_id:C.tool_call_id,content:w};C.cache_control&&(y.cache_control=C.cache_control);let g=s[s.length-1];g&&g.role==="user"&&Array.isArray(g.content)?g.content.push(y):s.push({role:"user",content:[y]})}else if(C.role==="user"){let w=[];typeof C.content=="string"?w.push({type:"text",text:C.content}):Array.isArray(C.content)&&C.content.forEach(g=>{g&&typeof g=="object"&&g.type==="image_url"&&g.image_url?.url?w.push({type:"image",source:{type:"base64",media_type:g.media_type||"image/jpeg",data:g.image_url.url.split(",")[1]||g.image_url.url}}):w.push(g)});let y=s[s.length-1];y&&y.role==="user"&&Array.isArray(y.content)?y.content.push(...w):s.push({role:"user",content:w.length>0?w:[{type:"text",text:" "}]})}else if(C.role==="assistant"){let w=[];C.content&&(typeof C.content=="string"?w.push({type:"text",text:C.content}):Array.isArray(C.content)&&w.push(...C.content)),C.tool_calls&&C.tool_calls.length>0&&C.tool_calls.forEach(g=>{let _={};try{_=JSON.parse(g.function.arguments)}catch{_=g.function.arguments}w.push({type:"tool_use",id:g.id,name:g.function.name,input:_})}),C.thinking&&w.unshift({type:"thinking",thinking:C.thinking.content,signature:C.thinking.signature});let y=s[s.length-1];y&&y.role==="assistant"&&Array.isArray(y.content)?y.content.push(...w):s.push({role:"assistant",content:w.length>0?w:[{type:"text",text:" "}]})}}let a=()=>{let m=n.filter(C=>C?.cache_control).length;for(let C of s)Array.isArray(C.content)&&(m+=C.content.filter(w=>w?.cache_control).length);return m},u=m=>m&&typeof m=="object"?{...m}:{type:"ephemeral"},l=()=>{for(let m=s.length-1;m>=0;m--){let C=s[m]?.content;if(!Array.isArray(C))continue;let w=C.find(y=>y?.cache_control);if(w?.cache_control)return w.cache_control}for(let m=n.length-1;m>=0;m--)if(n[m]?.cache_control)return n[m].cache_control;return{type:"ephemeral"}},f=(m,C)=>{if(!Array.isArray(m?.content)||m.content.some(y=>y?.cache_control))return!1;let w=m.content.find(y=>y&&typeof y=="object"&&!y.cache_control);return w?(w.cache_control=u(C),!0):!1};(()=>{let m=4-a();if(m<=0||s.length===0)return;let C=s,w=l(),y=[];for(let g=C.length-1;g>=0;g--)C[g]?.role!=="user"||!Array.isArray(C[g].content)||y.push(g);for(let g of y){if(m<=0)break;f(C[g],w)&&m--}})();let h={messages:s,model:t.model,max_tokens:t.max_tokens||4096,temperature:t.temperature,stream:t.stream};if(n.length>0){let m=n.some(C=>C?.cache_control);h.system=m?n:n.map(C=>C.text||"").join(`
|
|
116
116
|
|
|
117
|
-
`)}return t.tools&&t.tools.length>0&&(h.tools=kw(t.tools),t.tool_choice&&(t.tool_choice==="auto"?h.tool_choice={type:"auto"}:t.tool_choice==="any"||t.tool_choice==="required"?h.tool_choice={type:"any"}:typeof t.tool_choice=="string"?h.tool_choice={type:"tool",name:t.tool_choice}:typeof t.tool_choice=="object"&&t.tool_choice.type==="function"&&(h.tool_choice={type:"tool",name:t.tool_choice.function.name}))),h}var di=class{constructor(e){this.options=e;this.useBearer=this.options?.UseBearer??!1}name="Anthropic";endPoint="/v1/messages";useBearer;logger;async auth(e,n){let r={};return this.useBearer?(r.authorization=`Bearer ${n.apiKey}`,r["x-api-key"]=void 0):(r["x-api-key"]=n.apiKey,r.authorization=void 0),{body:e,config:{headers:r}}}async transformRequestOut(e){let n=[];if(e.system){if(typeof e.system=="string")n.push({role:"system",content:e.system});else if(Array.isArray(e.system)&&e.system.length){let s=e.system.filter(a=>a.type==="text"&&a.text).map(a=>({type:"text",text:a.text,cache_control:a.cache_control}));n.push({role:"system",content:s})}}let r=JSON.parse(JSON.stringify(e.messages||[]));r?.forEach(s=>{s.role==="system"&&n.push({role:"system",content:s.content})}),r?.forEach(s=>{if(s.role!=="system"&&(s.role==="user"||s.role==="assistant")){if(typeof s.content=="string"){n.push({role:s.role,content:s.content});return}if(Array.isArray(s.content)){if(s.role==="user"){let a=s.content.filter(l=>l.type==="tool_result"&&l.tool_use_id);a.length&&a.forEach(l=>{let f={role:"tool",content:typeof l.content=="string"?l.content:JSON.stringify(l.content),tool_call_id:l.tool_use_id,cache_control:l.cache_control};n.push(f)});let u=s.content.filter(l=>l.type==="text"&&l.text||l.type==="image"&&l.source);u.length&&n.push({role:"user",content:u.map(l=>l?.type==="image"?{type:"image_url",image_url:{url:l.source?.type==="base64"?
|
|
118
|
-
`));let l=s.content.filter(d=>d.type==="tool_use"&&d.id);l.length&&(a.tool_calls=l.map(d=>({id:d.id,type:"function",function:{name:d.name,arguments:JSON.stringify(d.input||{})}})));let f=s.content.find(d=>d.type==="thinking");f&&(a.thinking={content:f.thinking,signature:f.signature}),n.push(a)}return}}});let o={messages:n,model:e.model,max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream,tools:e.tools?.length?this.convertAnthropicToolsToUnified(e.tools):void 0,tool_choice:e.tool_choice};return e.thinking&&(o.reasoning={effort:Sp(e.thinking.budget_tokens),enabled:e.thinking.type==="enabled"}),e.tool_choice&&(e.tool_choice.type==="tool"?o.tool_choice={type:"function",function:{name:e.tool_choice.name}}:o.tool_choice=e.tool_choice.type),o}async transformRequestIn(e,n,r){if(!this.isAnthropicMessagesEndpoint(n.baseUrl))return e;r&&r.req&&(r.req.isTargetAnthropic=!0);let o=
|
|
117
|
+
`)}return t.tools&&t.tools.length>0&&(h.tools=kw(t.tools),t.tool_choice&&(t.tool_choice==="auto"?h.tool_choice={type:"auto"}:t.tool_choice==="any"||t.tool_choice==="required"?h.tool_choice={type:"any"}:typeof t.tool_choice=="string"?h.tool_choice={type:"tool",name:t.tool_choice}:typeof t.tool_choice=="object"&&t.tool_choice.type==="function"&&(h.tool_choice={type:"tool",name:t.tool_choice.function.name}))),h}var di=class{constructor(e){this.options=e;this.useBearer=this.options?.UseBearer??!1}name="Anthropic";endPoint="/v1/messages";useBearer;logger;async auth(e,n){let r={};return this.useBearer?(r.authorization=`Bearer ${n.apiKey}`,r["x-api-key"]=void 0):(r["x-api-key"]=n.apiKey,r.authorization=void 0),{body:e,config:{headers:r}}}async transformRequestOut(e){let n=[];if(e.system){if(typeof e.system=="string")n.push({role:"system",content:e.system});else if(Array.isArray(e.system)&&e.system.length){let s=e.system.filter(a=>a.type==="text"&&a.text).map(a=>({type:"text",text:a.text,cache_control:a.cache_control}));n.push({role:"system",content:s})}}let r=JSON.parse(JSON.stringify(e.messages||[]));r?.forEach(s=>{s.role==="system"&&n.push({role:"system",content:s.content})}),r?.forEach(s=>{if(s.role!=="system"&&(s.role==="user"||s.role==="assistant")){if(typeof s.content=="string"){n.push({role:s.role,content:s.content});return}if(Array.isArray(s.content)){if(s.role==="user"){let a=s.content.filter(l=>l.type==="tool_result"&&l.tool_use_id);a.length&&a.forEach(l=>{let f={role:"tool",content:typeof l.content=="string"?l.content:JSON.stringify(l.content),tool_call_id:l.tool_use_id,cache_control:l.cache_control};n.push(f)});let u=s.content.filter(l=>l.type==="text"&&l.text||l.type==="image"&&l.source);u.length&&n.push({role:"user",content:u.map(l=>l?.type==="image"?{type:"image_url",image_url:{url:l.source?.type==="base64"?vp(l.source.data,l.source.media_type):l.source.url},media_type:l.source.media_type}:l)})}else if(s.role==="assistant"){let a={role:"assistant",content:""},u=s.content.filter(d=>d.type==="text"&&d.text);u.length&&(a.content=u.map(d=>d.text).join(`
|
|
118
|
+
`));let l=s.content.filter(d=>d.type==="tool_use"&&d.id);l.length&&(a.tool_calls=l.map(d=>({id:d.id,type:"function",function:{name:d.name,arguments:JSON.stringify(d.input||{})}})));let f=s.content.find(d=>d.type==="thinking");f&&(a.thinking={content:f.thinking,signature:f.signature}),n.push(a)}return}}});let o={messages:n,model:e.model,max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream,tools:e.tools?.length?this.convertAnthropicToolsToUnified(e.tools):void 0,tool_choice:e.tool_choice};return e.thinking&&(o.reasoning={effort:Sp(e.thinking.budget_tokens),enabled:e.thinking.type==="enabled"}),e.tool_choice&&(e.tool_choice.type==="tool"?o.tool_choice={type:"function",function:{name:e.tool_choice.name}}:o.tool_choice=e.tool_choice.type),o}async transformRequestIn(e,n,r){if(!this.isAnthropicMessagesEndpoint(n.baseUrl))return e;r&&r.req&&(r.req.isTargetAnthropic=!0);let o=Tp(e),s={};return this.useBearer?(s.authorization=`Bearer ${n.apiKey}`,s["x-api-key"]=void 0):(s["x-api-key"]=n.apiKey,s.authorization=void 0),s["anthropic-version"]="2023-06-01",s["content-type"]="application/json",{body:o,config:{headers:s}}}isAnthropicMessagesEndpoint(e){try{return new URL(e.trim()).pathname.replace(/\/+$/,"").endsWith("/messages")}catch{return!1}}async transformResponseIn(e,n){if(n?.req?.isTargetAnthropic)return e;if(e.headers.get("Content-Type")?.includes("text/event-stream")){if(!e.body)throw new Error("Stream response body is null");let o=await this.convertOpenAIStreamToAnthropic(e.body,n);return new Response(o,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}else{let o=await e.json(),s=this.convertOpenAIResponseToAnthropic(o,n);return new Response(JSON.stringify(s),{headers:{"Content-Type":"application/json"}})}}convertAnthropicToolsToUnified(e){return e.map(n=>({type:"function",function:{name:n.name,description:n.description||"",parameters:n.input_schema}}))}async convertOpenAIStreamToAnthropic(e,n){return new ReadableStream({start:async o=>{let s=new TextEncoder,a=`msg_${Date.now()}`,u=null,l="unknown",f=!1,d=!1,h=!1,m=new Map,C=new Map,w=0,y=0,g=0,_=!1,E=!1,b=0,S=-1,T=()=>{let P=b;return b++,P},R=P=>{if(!_)try{o.enqueue(P);let K=new TextDecoder().decode(P);this.logger.debug({reqId:n.req.id,data:K,type:"send data"})}catch(K){if(K instanceof TypeError&&K.message.includes("Controller is already closed"))_=!0;else throw this.logger.debug({reqId:n.req.id,error:K instanceof Error?K.message:String(K),type:"send data error"}),K}},$=()=>{if(!_)try{if(!f){this.logger?.warn("[empty_stream] Upstream produced no data, closing silently"),o.close(),_=!0;return}if(S>=0){let K={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
|
|
119
119
|
data: ${JSON.stringify(K)}
|
|
120
120
|
|
|
121
121
|
`)),S=-1}if(u)R(s.encode(`event: message_delta
|
|
@@ -128,13 +128,13 @@ data: ${JSON.stringify({type:"message_delta",delta:{stop_reason:"end_turn",stop_
|
|
|
128
128
|
data: ${JSON.stringify(P)}
|
|
129
129
|
|
|
130
130
|
`)),o.close(),_=!0}catch(P){if(P instanceof TypeError&&P.message.includes("Controller is already closed"))_=!0;else throw P}},H=null;try{H=e.getReader();let P=new TextDecoder,K="";for(;!_;){let{done:q,value:Y}=await H.read();if(q)break;K+=P.decode(Y,{stream:!0});let Q=K.split(`
|
|
131
|
-
`);K=Q.pop()||"";for(let ee of Q){if(_)break;if(!ee.startsWith("data:"))continue;let se=ee.slice(5).trim();if(this.logger.debug({reqId:n.req.id,type:"recieved data",data:se}),se!=="[DONE]")try{let
|
|
131
|
+
`);K=Q.pop()||"";for(let ee of Q){if(_)break;if(!ee.startsWith("data:"))continue;let se=ee.slice(5).trim();if(this.logger.debug({reqId:n.req.id,type:"recieved data",data:se}),se!=="[DONE]")try{let ue=JSON.parse(se);if(w++,this.logger.debug({reqId:n.req.id,response:ue,tppe:"Original Response"}),ue.error){n?.req&&(n.req.sseError=ue.error);let J={type:"error",message:{type:"api_error",message:JSON.stringify(ue.error)}};R(s.encode(`event: error
|
|
132
132
|
data: ${JSON.stringify(J)}
|
|
133
133
|
|
|
134
|
-
`));continue}if(l=
|
|
134
|
+
`));continue}if(l=ue.model||l,!f&&!_&&!h){f=!0;let J=n?.req?.tokenCount||0,Z={type:"message_start",message:{id:a,type:"message",role:"assistant",content:[],model:l,stop_reason:null,stop_sequence:null,usage:{input_tokens:J,output_tokens:0}}};R(s.encode(`event: message_start
|
|
135
135
|
data: ${JSON.stringify(Z)}
|
|
136
136
|
|
|
137
|
-
`))}let pe=
|
|
137
|
+
`))}let pe=ue.choices?.[0];if(ue.usage){let J=ue.usage?.prompt_tokens_details?.cached_tokens||0,ce=(ue.usage?.prompt_tokens||0)-J,je=ue.usage?.completion_tokens||0;this.logger?.info({debug_log:!0,reqId:n.req.id,phase:"anthropic_transformer_usage",providerUsage:ue.usage,mappedUsage:{input_tokens:ce,output_tokens:je,cache_read_input_tokens:J},choicesLength:Array.isArray(ue.choices)?ue.choices.length:void 0,finishReason:pe?.finish_reason});let we={input_tokens:ce,output_tokens:je,cache_read_input_tokens:J};if(!u)u={type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:{...we}};else{let V=u.usage||{};u.usage={input_tokens:we.input_tokens||V.input_tokens||0,output_tokens:we.output_tokens||V.output_tokens||0,cache_read_input_tokens:we.cache_read_input_tokens||V.cache_read_input_tokens||0}}}if(!pe)continue;if(pe?.delta?.thinking&&!_&&!h&&!d){if(!E){let J=T(),Z={type:"content_block_start",index:J,content_block:{type:"thinking",thinking:""}};R(s.encode(`event: content_block_start
|
|
138
138
|
data: ${JSON.stringify(Z)}
|
|
139
139
|
|
|
140
140
|
`)),S=J,E=!0}if(pe.delta.thinking.signature){let J={type:"content_block_delta",index:S,delta:{type:"signature_delta",signature:pe.delta.thinking.signature}};R(s.encode(`event: content_block_delta
|
|
@@ -149,7 +149,7 @@ data: ${JSON.stringify(J)}
|
|
|
149
149
|
`))}}if(pe?.delta?.content&&!_&&!h){if(y++,S>=0&&!d){let Z={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
|
|
150
150
|
data: ${JSON.stringify(Z)}
|
|
151
151
|
|
|
152
|
-
`)),S=-1}if(!d&&!h){d=!0;let J=
|
|
152
|
+
`)),S=-1}if(!d&&!h){d=!0;let J=T(),Z={type:"content_block_start",index:J,content_block:{type:"text",text:""}};R(s.encode(`event: content_block_start
|
|
153
153
|
data: ${JSON.stringify(Z)}
|
|
154
154
|
|
|
155
155
|
`)),S=J}if(!_&&!h){let J={type:"content_block_delta",index:S,delta:{type:"text_delta",text:pe.delta.content}};R(s.encode(`event: content_block_delta
|
|
@@ -158,7 +158,7 @@ data: ${JSON.stringify(J)}
|
|
|
158
158
|
`))}}if(pe?.delta?.annotations?.length&&!_&&!h){if(S>=0&&d){let J={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
|
|
159
159
|
data: ${JSON.stringify(J)}
|
|
160
160
|
|
|
161
|
-
`)),S=-1,d=!1}pe?.delta?.annotations.forEach(J=>{let Z=
|
|
161
|
+
`)),S=-1,d=!1}pe?.delta?.annotations.forEach(J=>{let Z=T(),ce={type:"content_block_start",index:Z,content_block:{type:"web_search_tool_result",tool_use_id:`srvtoolu_${pt()}`,content:[{type:"web_search_result",title:J.url_citation.title,url:J.url_citation.url}]}};R(s.encode(`event: content_block_start
|
|
162
162
|
data: ${JSON.stringify(ce)}
|
|
163
163
|
|
|
164
164
|
`));let je={type:"content_block_stop",index:Z};R(s.encode(`event: content_block_stop
|
|
@@ -167,28 +167,28 @@ data: ${JSON.stringify(je)}
|
|
|
167
167
|
`)),S=-1})}if(pe?.delta?.tool_calls&&!_&&!h){g++;let J=new Set;for(let Z of pe.delta.tool_calls){if(_)break;let ce=Z.index??0;if(J.has(ce))continue;if(J.add(ce),!C.has(ce)){if(S>=0){let Oe={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
|
|
168
168
|
data: ${JSON.stringify(Oe)}
|
|
169
169
|
|
|
170
|
-
`)),S=-1}let we=
|
|
170
|
+
`)),S=-1}let we=T();C.set(ce,we);let V=Z.id||`call_ccr_${ce}`,ae=Z.function?.name||`tool_${ce}`,te={type:"content_block_start",index:we,content_block:{type:"tool_use",id:V,name:ae,input:{}}};R(s.encode(`event: content_block_start
|
|
171
171
|
data: ${JSON.stringify(te)}
|
|
172
172
|
|
|
173
|
-
`)),S=we;let
|
|
174
|
-
data: ${JSON.stringify(
|
|
173
|
+
`)),S=we;let Te={id:V,name:ae,arguments:"",contentBlockIndex:we};m.set(ce,Te)}else if(Z.id&&Z.function?.name){let we=m.get(ce);we.id.startsWith("call_")&&we.name.startsWith("tool_")&&(we.id=Z.id,we.name=Z.function.name)}if(Z.function?.arguments&&!_&&!h){let we=C.get(ce);if(we===void 0)continue;let V=m.get(ce);V&&(V.arguments+=Z.function.arguments);try{let ae={type:"content_block_delta",index:we,delta:{type:"input_json_delta",partial_json:Z.function.arguments}};R(s.encode(`event: content_block_delta
|
|
174
|
+
data: ${JSON.stringify(ae)}
|
|
175
175
|
|
|
176
|
-
`))}catch{try{let
|
|
176
|
+
`))}catch{try{let ae=Z.function.arguments.replace(/[\x00-\x1F\x7F-\x9F]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"'),te={type:"content_block_delta",index:we,delta:{type:"input_json_delta",partial_json:ae}};R(s.encode(`event: content_block_delta
|
|
177
177
|
data: ${JSON.stringify(te)}
|
|
178
178
|
|
|
179
|
-
`))}catch(
|
|
179
|
+
`))}catch(ae){console.error(ae)}}}}}if(pe?.finish_reason&&!_&&!h){if(y===0&&g===0&&console.error("Warning: No content in the stream response!"),S>=0){let J={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
|
|
180
180
|
data: ${JSON.stringify(J)}
|
|
181
181
|
|
|
182
|
-
`)),S=-1}if(!_){let Z={stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence"}[pe.finish_reason]||"end_turn";u?u.delta={...u.delta,stop_reason:Z,stop_sequence:null}:u={type:"message_delta",delta:{stop_reason:Z,stop_sequence:null},usage:{input_tokens:0,output_tokens:0,cache_read_input_tokens:0}}}h=!0}}catch(
|
|
183
|
-
`)||"",d={id:r.responseId,choices:[{finish_reason:r.candidates[0].finishReason?.toLowerCase()||null,index:0,message:{content:f,role:"assistant",tool_calls:l.length>0?l:void 0,...s&&{thinking:{content:o||"(no content)",signature:s}}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:r.modelVersion,object:"chat.completion",usage:{completion_tokens:r.usageMetadata?.candidatesTokenCount||0,prompt_tokens:r.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:r.usageMetadata?.cachedContentTokenCount||0},total_tokens:r.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:r.usageMetadata?.thoughtsTokenCount||0}}};return new Response(JSON.stringify(d),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let r=new TextDecoder,o=new TextEncoder,s=!1,a=!1,u=!1,l="",f=0,d=-1,h=new ReadableStream({async start(m){let C=async(g,_)=>{if(g.startsWith("data: ")){let E=g.slice(6).trim();if(E){n?.debug({chunkStr:E},`${e} chunk:`);try{let b=JSON.parse(E);if(!b.candidates||!b.candidates[0]){n?.debug({chunkStr:E},"Invalid chunk structure");return}let S=b.candidates[0],
|
|
182
|
+
`)),S=-1}if(!_){let Z={stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence"}[pe.finish_reason]||"end_turn";u?u.delta={...u.delta,stop_reason:Z,stop_sequence:null}:u={type:"message_delta",delta:{stop_reason:Z,stop_sequence:null},usage:{input_tokens:0,output_tokens:0,cache_read_input_tokens:0}}}h=!0}}catch(ue){this.logger?.error(`parseError: ${ue.name} message: ${ue.message} stack: ${ue.stack} data: ${se}`)}}}$()}catch(P){if(!_)try{o.error(P)}catch(K){console.error(K)}}finally{if(H)try{H.releaseLock()}catch(P){console.error(P)}}},cancel:o=>{this.logger.debug({reqId:n.req.id},`cancle stream: ${o}`)}})}convertOpenAIResponseToAnthropic(e,n){this.logger.debug({reqId:n.req.id,response:e},"Original OpenAI response");try{let r=e.choices[0];if(!r)throw new Error("No choices found in OpenAI response");let o=[];if(r.message.annotations){let l=`srvtoolu_${pt()}`;o.push({type:"server_tool_use",id:l,name:"web_search",input:{query:""}}),o.push({type:"web_search_tool_result",tool_use_id:l,content:r.message.annotations.map(f=>({type:"web_search_result",url:f.url_citation.url,title:f.url_citation.title}))})}r.message.content&&o.push({type:"text",text:r.message.content}),r.message.tool_calls&&r.message.tool_calls.length>0&&r.message.tool_calls.forEach(l=>{let f={};try{let d=l.function.arguments||"{}";typeof d=="object"?f=d:typeof d=="string"&&(f=JSON.parse(d))}catch{f={text:l.function.arguments||""}}o.push({type:"tool_use",id:l.id,name:l.function.name,input:f})}),r.message?.thinking?.content&&o.push({type:"thinking",thinking:r.message.thinking.content,signature:r.message.thinking.signature});let s=e.usage?.prompt_tokens_details?.cached_tokens||0,a=(e.usage?.prompt_tokens||0)-s,u={id:e.id?.startsWith("msg_")?e.id:`msg_${pt().replace(/-/g,"")}`,type:"message",role:"assistant",model:e.model,content:o,stop_reason:r.finish_reason==="stop"?"end_turn":r.finish_reason==="length"?"max_tokens":r.finish_reason==="tool_calls"?"tool_use":r.finish_reason==="content_filter"?"stop_sequence":"end_turn",stop_sequence:null,usage:{input_tokens:a,cache_creation_input_tokens:0,cache_read_input_tokens:s,output_tokens:e.usage?.completion_tokens||0,server_tool_use:{web_search_requests:0,web_fetch_requests:0},service_tier:"standard",cache_creation:{ephemeral_1h_input_tokens:0,ephemeral_5m_input_tokens:0},inference_geo:"",iterations:[],speed:"standard"},stop_details:null,context_management:null};return this.logger.debug({reqId:n.req.id,result:u},"Conversion complete, final Anthropic response"),u}catch{throw He(`Provider error: ${JSON.stringify(e)}`,500,"provider_error")}}};var zr={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function Aw(t,e){t.includes("null")&&(e.nullable=!0);let n=t.filter(r=>r!=="null");if(n.length===1){let r=n[0].toUpperCase();e.type=Object.values(zr).includes(r)?r:zr.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let r of n){let o=r.toUpperCase();e.anyOf.push({type:Object.values(zr).includes(o)?o:zr.TYPE_UNSPECIFIED})}}}function Lo(t){let e={},n=["items"],r=["anyOf"],o=["properties"];if(t.type&&t.anyOf)throw new Error("type and anyOf cannot be both populated.");let s=t.anyOf;s!=null&&Array.isArray(s)&&s.length==2&&(s[0]&&s[0].type==="null"?(e.nullable=!0,t=s[1]):s[1]&&s[1].type==="null"&&(e.nullable=!0,t=s[0])),t.type&&Array.isArray(t.type)&&Aw(t.type,e);for(let[a,u]of Object.entries(t))if(u!=null)if(a=="type"){if(u==="null")throw new Error("type: null can not be the only possible type for the field.");if(Array.isArray(u))continue;let l=u.toUpperCase();e.type=Object.values(zr).includes(l)?l:zr.TYPE_UNSPECIFIED}else if(n.includes(a))e[a]=Lo(u);else if(r.includes(a)){let l=[];for(let f of u){if(f.type=="null"){e.nullable=!0;continue}l.push(Lo(f))}e[a]=l}else if(o.includes(a)){let l={};for(let[f,d]of Object.entries(u))l[f]=Lo(d);e[a]=l}else{if(a==="additionalProperties")continue;e[a]=u}return e}function Sw(t){if(t.functionDeclarations)for(let e of t.functionDeclarations)e.parameters&&(Object.keys(e.parameters).includes("$schema")?e.parametersJsonSchema||(e.parametersJsonSchema=e.parameters,delete e.parameters):e.parameters=Lo(e.parameters)),e.response&&(Object.keys(e.response).includes("$schema")?e.responseJsonSchema||(e.responseJsonSchema=e.response,delete e.response):e.response=Lo(e.response));return t}function fi(t){let e=[],n=t.tools?.filter(l=>l.function.name!=="web_search")?.map(l=>({name:l.function.name,description:l.function.description,parametersJsonSchema:l.function.parameters}));n?.length&&e.push(Sw({functionDeclarations:n})),t.tools?.find(l=>l.function.name==="web_search")&&e.push({googleSearch:{}});let o=[],s=t.messages.filter(l=>l.role==="tool");t.messages.filter(l=>l.role!=="tool").forEach(l=>{let f;l.role==="assistant"?f="model":(["user","system"].includes(l.role),f="user");let d=[];if(typeof l.content=="string"){let h={text:l.content};l.thinking?.signature&&(h.thoughtSignature=l.thinking.signature),d.push(h)}else Array.isArray(l.content)?d.push(...l.content.map(h=>{if(h.type==="text")return{text:h.text||""};if(h.type==="image_url")return h.image_url.url.startsWith("http")?{file_data:{mime_type:h.media_type,file_uri:h.image_url.url}}:{inlineData:{mime_type:h.media_type,data:h.image_url.url?.split(",")?.pop()||h.image_url.url}}})):l.content&&typeof l.content=="object"&&(l.content.text?d.push({text:l.content.text}):d.push({text:JSON.stringify(l.content)}));if(Array.isArray(l.tool_calls)&&d.push(...l.tool_calls.map(h=>{let m={functionCall:{id:h.id||`tool_${Math.random().toString(36).substring(2,15)}`,name:h.function.name,args:JSON.parse(h.function.arguments||"{}")}};return l.thinking?.signature&&(m.thoughtSignature=l.thinking.signature),m})),d.length===0&&d.push({text:""}),o.push({role:f,parts:d}),f==="model"&&l.tool_calls){let h=l.tool_calls.map(m=>{let C=s.find(w=>w.tool_call_id===m.id);return{functionResponse:{name:m?.function?.name,response:{result:C?.content}}}});o.push({role:"user",parts:h})}});let a={};if(t.reasoning&&t.reasoning.effort&&t.reasoning.effort!=="none")if(a.thinkingConfig={includeThoughts:!0},t.model.includes("gemini-3"))a.thinkingConfig.thinkingLevel=t.reasoning.effort;else{let l=t.model.includes("pro")?[128,32768]:[0,24576],f,d=t.reasoning.max_tokens;typeof d<"u"&&(d>=l[0]&&d<=l[1]?f=d:d<l[0]?f=l[0]:d>l[1]&&(f=l[1]),a.thinkingConfig.thinkingBudget=f)}let u={contents:o,tools:e.length?e:void 0,generationConfig:a};if(t.tool_choice){let l={functionCallingConfig:{}};t.tool_choice==="auto"?l.functionCallingConfig.mode="auto":t.tool_choice==="none"?l.functionCallingConfig.mode="none":t.tool_choice==="required"?l.functionCallingConfig.mode="any":t.tool_choice?.function?.name&&(l.functionCallingConfig.mode="any",l.functionCallingConfig.allowedFunctionNames=[t.tool_choice?.function?.name]),u.toolConfig=l}return u}function hi(t){let e=t.contents,n=t.tools,r=t.model,o=t.max_tokens,s=t.temperature,a=t.stream,u=t.tool_choice,l={messages:[],model:r,max_tokens:o,temperature:s,stream:a,tool_choice:u};return Array.isArray(e)&&e.forEach(f=>{typeof f=="string"?l.messages.push({role:"user",content:f}):typeof f.text=="string"?l.messages.push({role:"user",content:f.text||null}):f.role==="user"?l.messages.push({role:"user",content:f?.parts?.map(d=>({type:"text",text:d.text||""}))||[]}):f.role==="model"&&l.messages.push({role:"assistant",content:f?.parts?.map(d=>({type:"text",text:d.text||""}))||[]})}),Array.isArray(n)&&(l.tools=[],n.forEach(f=>{Array.isArray(f.functionDeclarations)&&f.functionDeclarations.forEach(d=>{l.tools.push({type:"function",function:{name:d.name,description:d.description,parameters:d.parameters}})})})),l}async function pi(t,e,n){if(t.headers.get("Content-Type")?.includes("application/json")){let r=await t.json();n?.debug({response:r},`${e} response:`);let o="",s="",a=r.candidates[0]?.content?.parts||[],u=[];for(let h of a)h.text&&h.thought===!0?o+=h.text:u.push(h);s=a.find(h=>h.thoughtSignature)?.thoughtSignature;let l=u?.filter(h=>h.functionCall)?.map(h=>({id:h.functionCall?.id||`tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:h.functionCall?.name,arguments:JSON.stringify(h.functionCall?.args||{})}}))||[],f=u?.filter(h=>h.text)?.map(h=>h.text)?.join(`
|
|
183
|
+
`)||"",d={id:r.responseId,choices:[{finish_reason:r.candidates[0].finishReason?.toLowerCase()||null,index:0,message:{content:f,role:"assistant",tool_calls:l.length>0?l:void 0,...s&&{thinking:{content:o||"(no content)",signature:s}}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:r.modelVersion,object:"chat.completion",usage:{completion_tokens:r.usageMetadata?.candidatesTokenCount||0,prompt_tokens:r.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:r.usageMetadata?.cachedContentTokenCount||0},total_tokens:r.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:r.usageMetadata?.thoughtsTokenCount||0}}};return new Response(JSON.stringify(d),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let r=new TextDecoder,o=new TextEncoder,s=!1,a=!1,u=!1,l="",f=0,d=-1,h=new ReadableStream({async start(m){let C=async(g,_)=>{if(g.startsWith("data: ")){let E=g.slice(6).trim();if(E){n?.debug({chunkStr:E},`${e} chunk:`);try{let b=JSON.parse(E);if(!b.candidates||!b.candidates[0]){n?.debug({chunkStr:E},"Invalid chunk structure");return}let S=b.candidates[0],T=S.content?.parts||[];T.filter(P=>P.text&&P.thought===!0).forEach(P=>{u||(u=!0);let K={choices:[{delta:{role:"assistant",content:null,thinking:{content:P.text}},finish_reason:null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(K)}
|
|
184
184
|
|
|
185
|
-
`))});let R=
|
|
185
|
+
`))});let R=T.find(P=>P.thoughtSignature)?.thoughtSignature;if(R&&!s){if(!u){let K={choices:[{delta:{role:"assistant",content:null,thinking:{content:"(no content)"}},finish_reason:null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(K)}
|
|
186
186
|
|
|
187
187
|
`))}let P={choices:[{delta:{role:"assistant",content:null,thinking:{signature:R}},finish_reason:null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};if(_.enqueue(o.encode(`data: ${JSON.stringify(P)}
|
|
188
188
|
|
|
189
189
|
`)),s=!0,f++,l){let K={choices:[{delta:{role:"assistant",content:l},finish_reason:null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(K)}
|
|
190
190
|
|
|
191
|
-
`)),l="",a||(a=!0)}}let $=
|
|
191
|
+
`)),l="",a||(a=!0)}}let $=T.filter(P=>P.functionCall).map(P=>({id:P.functionCall?.id||`ccr_tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:P.functionCall?.name,arguments:JSON.stringify(P.functionCall?.args||{})}})),H=T.filter(P=>P.text&&P.thought!==!0).map(P=>P.text).join(`
|
|
192
192
|
`);if(!H&&s&&!a){let P={choices:[{delta:{role:"assistant",content:"(no content)"},index:f,finish_reason:null,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(P)}
|
|
193
193
|
|
|
194
194
|
`)),a||(a=!0)}if(u&&H&&!s)if(b.modelVersion.includes("3")){l+=H;return}else{let P={choices:[{delta:{role:"assistant",content:null,thinking:{signature:`ccr_${+new Date}`}},finish_reason:null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(P)}
|
|
@@ -198,16 +198,16 @@ data: ${JSON.stringify(J)}
|
|
|
198
198
|
`)),!a&&H&&(a=!0)}$.length>0&&($.forEach(P=>{f++,d++;let K={choices:[{delta:{role:"assistant",tool_calls:[{...P,index:d}]},finish_reason:S.finishReason?.toLowerCase()||null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:b.usageMetadata?.candidatesTokenCount||0,prompt_tokens:b.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:b.usageMetadata?.cachedContentTokenCount||0},total_tokens:b.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:b.usageMetadata?.thoughtsTokenCount||0}}};S?.groundingMetadata?.groundingChunks?.length&&(K.choices[0].delta.annotations=S.groundingMetadata.groundingChunks.map((q,Y)=>{let Q=S?.groundingMetadata?.groundingSupports?.filter(ee=>ee.groundingChunkIndices?.includes(Y));return{type:"url_citation",url_citation:{url:q?.web?.uri||"",title:q?.web?.title||"",content:Q?.[0]?.segment?.text||"",start_index:Q?.[0]?.segment?.startIndex||0,end_index:Q?.[0]?.segment?.endIndex||0}}})),_.enqueue(o.encode(`data: ${JSON.stringify(K)}
|
|
199
199
|
|
|
200
200
|
`))}),!a&&H&&(a=!0))}catch(b){n?.error(`Error parsing ${e} stream chunk`,E,b.message)}}}},w=t.body.getReader(),y="";try{for(;;){let{done:g,value:_}=await w.read();if(g){y&&await C(y,m);break}y+=r.decode(_,{stream:!0});let E=y.split(`
|
|
201
|
-
`);y=E.pop()||"";for(let b of E)await C(b,m)}}catch(g){m.error(g)}finally{m.close()}}});return new Response(h,{status:t.status,statusText:t.statusText,headers:t.headers})}}var mi=class{name="gemini";endPoint="/v1beta/models/:modelAndAction";async transformRequestIn(e,n){return{body:fi(e),config:{url:new URL(`./${e.model}:${e.stream?"streamGenerateContent?alt=sse":"generateContent"}`,n.baseUrl),headers:{"x-goog-api-key":n.apiKey,Authorization:void 0}}}}transformRequestOut=hi;async transformResponseOut(e){return pi(e,this.name,this.logger)}};async function
|
|
201
|
+
`);y=E.pop()||"";for(let b of E)await C(b,m)}}catch(g){m.error(g)}finally{m.close()}}});return new Response(h,{status:t.status,statusText:t.statusText,headers:t.headers})}}var mi=class{name="gemini";endPoint="/v1beta/models/:modelAndAction";async transformRequestIn(e,n){return{body:fi(e),config:{url:new URL(`./${e.model}:${e.stream?"streamGenerateContent?alt=sse":"generateContent"}`,n.baseUrl),headers:{"x-goog-api-key":n.apiKey,Authorization:void 0}}}}transformRequestOut=hi;async transformResponseOut(e){return pi(e,this.name,this.logger)}};async function rT(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>Ln(Nd(),1));return(await(await new t({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(t){throw console.error("Error getting access token:",t),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
|
|
202
202
|
1. Set GOOGLE_APPLICATION_CREDENTIALS to point to service account key file
|
|
203
203
|
2. Run "gcloud auth application-default login"
|
|
204
|
-
3. Use Google Cloud environment with default service account`)}}var Ia=class{name="vertex-gemini";async transformRequestIn(e,n){let r=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-central1";if(!r&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let u=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(u);l&&l.project_id&&(r=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!r)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await
|
|
204
|
+
3. Use Google Cloud environment with default service account`)}}var Ia=class{name="vertex-gemini";async transformRequestIn(e,n){let r=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-central1";if(!r&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let u=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(u);l&&l.project_id&&(r=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!r)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await rT();return{body:fi(e),config:{url:new URL(`./v1beta1/projects/${r}/locations/${o}/publishers/google/models/${e.model}:${e.stream?"streamGenerateContent":"generateContent"}`,n.baseUrl.endsWith("/")?n.baseUrl:n.baseUrl+"/"||`https://${o}-aiplatform.googleapis.com`),headers:{Authorization:`Bearer ${s}`,"x-goog-api-key":void 0}}}}async transformRequestOut(e){return hi(e)}async transformResponseOut(e){return pi(e,this.name)}};var Na=class{name="deepseek";async transformRequestIn(e){e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192);let n=e.model?.includes("reasoner")||e.model?.includes("v4")||e.model?.includes("pro")||e.model?.includes("think"),r=e.thinking||e.reasoning?.enabled||e.messages.some(o=>o.thinking?.content)||n;return r&&e.tool_choice&&delete e.tool_choice,e.messages.forEach(o=>{if(o.role==="assistant"){let s=o.thinking?.content,a=o.thinking?.signature,u="";if(typeof o.content=="string"){let f=/<thinking>([\s\S]*?)<\/thinking>/g.exec(o.content);f&&(u=f[1].trim(),o.content=o.content.replace(f[0],"").trim())}s&&typeof s=="string"&&s.trim()?(o.reasoning_content=s,a&&(o.reasoning_content_signature=a)):u&&(o.reasoning_content=u),r&&!o.reasoning_content&&(o.reasoning_content=" "),o.thinking&&delete o.thinking}}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o="",s=!1,a="",u=new ReadableStream({async start(l){let f=e.body.getReader(),d=(m,C,w)=>{let y=m.split(`
|
|
205
205
|
`);for(let g of y)g.trim()&&C.enqueue(w.encode(g+`
|
|
206
206
|
`))},h=(m,C)=>{let{controller:w,encoder:y}=C;if(m.startsWith("data: ")&&m.trim()!=="data: [DONE]")try{let g=JSON.parse(m.slice(6));if(g.choices?.[0]?.delta?.reasoning_content){C.appendReasoningContent(g.choices[0].delta.reasoning_content);let _={...g,choices:[{...g.choices[0],delta:{...g.choices[0].delta,thinking:{content:g.choices[0].delta.reasoning_content}}}]};delete _.choices[0].delta.reasoning_content;let E=`data: ${JSON.stringify(_)}
|
|
207
207
|
|
|
208
208
|
`;w.enqueue(y.encode(E));return}if(g.choices?.[0]?.delta?.content&&C.reasoningContent()&&!C.isReasoningComplete()){C.setReasoningComplete(!0);let _="ccr_think_signature",E=g.choices[0].delta.content,b={...g,choices:[{...g.choices[0],delta:{...g.choices[0].delta,content:null,thinking:{content:C.reasoningContent(),signature:_}}}]};delete b.choices[0].delta.reasoning_content;let S=`data: ${JSON.stringify(b)}
|
|
209
209
|
|
|
210
|
-
`;w.enqueue(y.encode(S));let
|
|
210
|
+
`;w.enqueue(y.encode(S));let T={...g,choices:[{...g.choices[0],delta:{...g.choices[0].delta,content:E}}]};delete T.choices[0].delta.reasoning_content;let R=`data: ${JSON.stringify(T)}
|
|
211
211
|
|
|
212
212
|
`;w.enqueue(y.encode(R));return}if(g.choices[0]?.delta?.reasoning_content&&delete g.choices[0].delta.reasoning_content,g.choices?.[0]?.delta&&Object.keys(g.choices[0].delta).length>0){let _=`data: ${JSON.stringify(g)}
|
|
213
213
|
|
|
@@ -221,7 +221,7 @@ Examples:
|
|
|
221
221
|
1. Task: "Use a tool to summarize this document" \u2014 Do not use ExitTool if a summarization tool is available.
|
|
222
222
|
2. Task: "What\u2019s the weather today?" \u2014 If no tool is available to answer, use ExitTool after reasoning that none can fulfill the task.`,parameters:{type:"object",properties:{response:{type:"string",description:"Your response will be forwarded to the user exactly as returned \u2014 the tool will not modify or post-process it in any way."}},required:["response"]}}})),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();if(n?.choices?.[0]?.message.tool_calls?.length&&n?.choices?.[0]?.message.tool_calls[0]?.function?.name==="ExitTool"){let r=n?.choices[0]?.message.tool_calls[0],o=JSON.parse(r.function.arguments||"{}");n.choices[0].message.content=o.response||"",delete n.choices[0].message.tool_calls}return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o=-1,s="",a="",u=new ReadableStream({async start(l){let f=e.body.getReader(),d=(m,C,w)=>{let y=m.split(`
|
|
223
223
|
`);for(let g of y)g.trim()&&C.enqueue(w.encode(g+`
|
|
224
|
-
`))},h=(m,C)=>{let{controller:w,encoder:y,exitToolIndex:g,setExitToolIndex:_,appendExitToolResponse:E}=C;if(m.startsWith("data: ")&&m.trim()!=="data: [DONE]")try{let b=JSON.parse(m.slice(6));if(b.choices[0]?.delta?.tool_calls?.length){let S=b.choices[0].delta.tool_calls[0];if(S.function?.name==="ExitTool"){_(S.index);return}else if(g()>-1&&S.index===g()&&S.function.arguments){E(S.function.arguments);try{let
|
|
224
|
+
`))},h=(m,C)=>{let{controller:w,encoder:y,exitToolIndex:g,setExitToolIndex:_,appendExitToolResponse:E}=C;if(m.startsWith("data: ")&&m.trim()!=="data: [DONE]")try{let b=JSON.parse(m.slice(6));if(b.choices[0]?.delta?.tool_calls?.length){let S=b.choices[0].delta.tool_calls[0];if(S.function?.name==="ExitTool"){_(S.index);return}else if(g()>-1&&S.index===g()&&S.function.arguments){E(S.function.arguments);try{let T=JSON.parse(C.exitToolResponse());b.choices=[{delta:{role:"assistant",content:T.response||""}}];let R=`data: ${JSON.stringify(b)}
|
|
225
225
|
|
|
226
226
|
`;w.enqueue(y.encode(R))}catch{}return}}if(b.choices?.[0]?.delta&&Object.keys(b.choices[0].delta).length>0){let S=`data: ${JSON.stringify(b)}
|
|
227
227
|
|
|
@@ -239,7 +239,7 @@ Examples:
|
|
|
239
239
|
|
|
240
240
|
`;g.enqueue(_.encode(Y));let Q={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,content:K}}]};Q.choices?.[0]?.delta&&(delete Q.choices[0].delta.reasoning,delete Q.choices[0].delta.reasoning_content);let ee=`data: ${JSON.stringify(Q)}
|
|
241
241
|
|
|
242
|
-
`;g.enqueue(_.encode(ee));return}b.choices?.[0]?.delta?.reasoning&&delete b.choices[0].delta.reasoning,b.choices?.[0]?.delta?.reasoning_content&&delete b.choices[0].delta.reasoning_content,b.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(b.choices?.[0]?.delta?.tool_calls[0].id,10))&&b.choices?.[0]?.delta?.tool_calls.forEach(P=>{P.id=`call_${pt()}`}),b.choices?.[0]?.delta?.tool_calls?.length&&!u&&(u=!0);let
|
|
242
|
+
`;g.enqueue(_.encode(ee));return}b.choices?.[0]?.delta?.reasoning&&delete b.choices[0].delta.reasoning,b.choices?.[0]?.delta?.reasoning_content&&delete b.choices[0].delta.reasoning_content,b.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(b.choices?.[0]?.delta?.tool_calls[0].id,10))&&b.choices?.[0]?.delta?.tool_calls.forEach(P=>{P.id=`call_${pt()}`}),b.choices?.[0]?.delta?.tool_calls?.length&&!u&&(u=!0);let T=b.choices?.[0]?.delta,R=T&&Object.keys(T).length>0,$=b.choices?.[0]?.finish_reason,H=b.usage;if(R||$||H){let P=`data: ${JSON.stringify(b)}
|
|
243
243
|
|
|
244
244
|
`;g.enqueue(_.encode(P))}}catch{g.enqueue(_.encode(w+`
|
|
245
245
|
`))}}else g.enqueue(_.encode(w+`
|
|
@@ -259,25 +259,25 @@ Examples:
|
|
|
259
259
|
`);u=g.pop()||"";for(let _ of g)if(_.trim())try{m(_,{controller:f,encoder:r,hasTextContent:()=>o,setHasTextContent:E=>o=E,reasoningContent:()=>s,appendReasoningContent:E=>s+=E,isReasoningComplete:()=>a,setReasoningComplete:E=>a=E})}catch(E){console.error("Error processing line:",_,E),f.enqueue(r.encode(_+`
|
|
260
260
|
`))}}}catch(C){console.error("Stream error:",C),f.error(C)}finally{try{d.releaseLock()}catch(C){console.error("Error releasing reader lock:",C)}f.close()}}});return new Response(l,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ua=class{name="cleancache";async transformRequestIn(e){return Array.isArray(e.messages)&&e.messages.forEach(n=>{Array.isArray(n.content)?n.content.forEach(r=>{r.cache_control&&delete r.cache_control}):n.cache_control&&delete n.cache_control}),e}};var U0=Ln(Ju());var Dn=class extends Error{constructor(e,n){super(`${e} at position ${n}`),this.position=n}};function F0(t){return/^[0-9A-Fa-f]$/.test(t)}function Qn(t){return t>="0"&&t<="9"}function I0(t){return t>=" "}function hs(t){return`,:[]/{}()
|
|
261
261
|
+`.includes(t)}function Bd(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function Md(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var Ld=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,jd=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function Ud(t){return`,[]/{}
|
|
262
|
-
+`.includes(t)}function $d(t){return ps(t)||
|
|
263
|
-
`||t==="\r"||t===" "||t==="\b"||t==="\f"}function Yn(t,e){let n=t.charCodeAt(e);return n===32||n===10||n===9||n===13}function B0(t,e){let n=t.charCodeAt(e);return n===32||n===9||n===13}function M0(t,e){let n=t.charCodeAt(e);return n===160||n>=8192&&n<=8202||n===8239||n===8287||n===12288}function ps(t){return qd(t)||$a(t)}function qd(t){return t==='"'||t==="\u201C"||t==="\u201D"}function zd(t){return t==='"'}function $a(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function Hd(t){return t==="'"}function bo(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=t.lastIndexOf(e);return r!==-1?t.substring(0,r)+(n?"":t.substring(r+1)):t}function It(t,e){let n=t.length;if(!Yn(t,n-1))return t+e;for(;Yn(t,n-1);)n--;return t.substring(0,n)+e+t.substring(n)}function L0(t,e,n){return t.substring(0,e)+t.substring(e+n)}function j0(t){return/[,\n][ \t\r]*$/.test(t)}var
|
|
264
|
-
`,r:"\r",t:" "};function Wd(t){let e=0,n="";f(["```","[```","{```"]),s()||ee(),f(["```","```]","```}"]);let o=h(",");for(o&&a(),$d(t[e])&&j0(n)?(o||(n=It(n,",")),_()):o&&(n=bo(n,","));t[e]==="}"||t[e]==="]";)e++,a();if(e>=t.length)return n;Q();function s(){a();let J=y()||g()||E()||S()||
|
|
265
|
-
`;)e++;return!0}return!1}function f(J){if(d(J)){if(Bd(t[e]))for(;e<t.length&&Md(t[e]);)e++;return a(),!0}return!1}function d(J){u(!0);for(let Z of J){let ce=e+Z.length;if(t.slice(e,ce)===Z)return e=ce,!0}return!1}function h(J){return t[e]===J?(n+=t[e],e++,!0):!1}function m(J){return t[e]===J?(e++,!0):!1}function C(){return m("\\")}function w(){return a(),t[e]==="."&&t[e+1]==="."&&t[e+2]==="."?(e+=3,a(),m(","),!0):!1}function y(){if(t[e]==="{"){n+="{",e++,a(),m(",")&&a();let J=!0;for(;e<t.length&&t[e]!=="}";){let Z;if(J?(Z=!0,J=!1):(Z=h(","),Z||(n=It(n,",")),a()),w(),!(E()||$(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?n=bo(n,","):se();break}a();let je=h(":"),we=e>=t.length;je||($d(t[e])||we?n=It(n,":"):
|
|
262
|
+
+`.includes(t)}function $d(t){return ps(t)||oT.test(t)}var oT=/^[[{\w-]$/;function N0(t){return t===`
|
|
263
|
+
`||t==="\r"||t===" "||t==="\b"||t==="\f"}function Yn(t,e){let n=t.charCodeAt(e);return n===32||n===10||n===9||n===13}function B0(t,e){let n=t.charCodeAt(e);return n===32||n===9||n===13}function M0(t,e){let n=t.charCodeAt(e);return n===160||n>=8192&&n<=8202||n===8239||n===8287||n===12288}function ps(t){return qd(t)||$a(t)}function qd(t){return t==='"'||t==="\u201C"||t==="\u201D"}function zd(t){return t==='"'}function $a(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function Hd(t){return t==="'"}function bo(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=t.lastIndexOf(e);return r!==-1?t.substring(0,r)+(n?"":t.substring(r+1)):t}function It(t,e){let n=t.length;if(!Yn(t,n-1))return t+e;for(;Yn(t,n-1);)n--;return t.substring(0,n)+e+t.substring(n)}function L0(t,e,n){return t.substring(0,e)+t.substring(e+n)}function j0(t){return/[,\n][ \t\r]*$/.test(t)}var sT={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},iT={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
264
|
+
`,r:"\r",t:" "};function Wd(t){let e=0,n="";f(["```","[```","{```"]),s()||ee(),f(["```","```]","```}"]);let o=h(",");for(o&&a(),$d(t[e])&&j0(n)?(o||(n=It(n,",")),_()):o&&(n=bo(n,","));t[e]==="}"||t[e]==="]";)e++,a();if(e>=t.length)return n;Q();function s(){a();let J=y()||g()||E()||S()||T()||$(!1)||H();return a(),J}function a(){let J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,Z=e,ce=u(J);do ce=l(),ce&&(ce=u(J));while(ce);return e>Z}function u(J){let Z=J?Yn:B0,ce="";for(;;)if(Z(t,e))ce+=t[e],e++;else if(M0(t,e))ce+=" ",e++;else break;return ce.length>0?(n+=ce,!0):!1}function l(){if(t[e]==="/"&&t[e+1]==="*"){for(;e<t.length&&!aT(t,e);)e++;return e+=2,!0}if(t[e]==="/"&&t[e+1]==="/"){for(;e<t.length&&t[e]!==`
|
|
265
|
+
`;)e++;return!0}return!1}function f(J){if(d(J)){if(Bd(t[e]))for(;e<t.length&&Md(t[e]);)e++;return a(),!0}return!1}function d(J){u(!0);for(let Z of J){let ce=e+Z.length;if(t.slice(e,ce)===Z)return e=ce,!0}return!1}function h(J){return t[e]===J?(n+=t[e],e++,!0):!1}function m(J){return t[e]===J?(e++,!0):!1}function C(){return m("\\")}function w(){return a(),t[e]==="."&&t[e+1]==="."&&t[e+2]==="."?(e+=3,a(),m(","),!0):!1}function y(){if(t[e]==="{"){n+="{",e++,a(),m(",")&&a();let J=!0;for(;e<t.length&&t[e]!=="}";){let Z;if(J?(Z=!0,J=!1):(Z=h(","),Z||(n=It(n,",")),a()),w(),!(E()||$(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?n=bo(n,","):se();break}a();let je=h(":"),we=e>=t.length;je||($d(t[e])||we?n=It(n,":"):ue()),s()||(je||we?n+="null":ue())}return t[e]==="}"?(n+="}",e++):n=It(n,"}"),!0}return!1}function g(){if(t[e]==="["){n+="[",e++,a(),m(",")&&a();let J=!0;for(;e<t.length&&t[e]!=="]";)if(J?J=!1:h(",")||(n=It(n,",")),w(),!s()){n=bo(n,",");break}return t[e]==="]"?(n+="]",e++):n=It(n,"]"),!0}return!1}function _(){let J=!0,Z=!0;for(;Z;)J?J=!1:h(",")||(n=It(n,",")),Z=s();Z||(n=bo(n,",")),n=`[
|
|
266
266
|
${n}
|
|
267
|
-
]`}function E(){let J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,ce=t[e]==="\\";if(ce&&(e++,ce=!0),ps(t[e])){let je=zd(t[e])?zd:Hd(t[e])?Hd:$a(t[e])?$a:qd,we=e,V=n.length,
|
|
267
|
+
]`}function E(){let J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,ce=t[e]==="\\";if(ce&&(e++,ce=!0),ps(t[e])){let je=zd(t[e])?zd:Hd(t[e])?Hd:$a(t[e])?$a:qd,we=e,V=n.length,ae='"';for(e++;;){if(e>=t.length){let te=P(e-1);return!J&&hs(t.charAt(te))?(e=we,n=n.substring(0,V),E(!0)):(ae=It(ae,'"'),n+=ae,!0)}if(e===Z)return ae=It(ae,'"'),n+=ae,!0;if(je(t[e])){let te=e,Te=ae.length;if(ae+='"',e++,n+=ae,a(!1),J||e>=t.length||hs(t[e])||ps(t[e])||Qn(t[e]))return b(),!0;let Oe=P(te-1),Ue=t.charAt(Oe);if(Ue===",")return e=we,n=n.substring(0,V),E(!1,Oe);if(hs(Ue))return e=we,n=n.substring(0,V),E(!0);n=n.substring(0,V),e=te+1,ae=`${ae.substring(0,Te)}\\${ae.substring(Te)}`}else if(J&&Ud(t[e])){if(t[e-1]===":"&&Ld.test(t.substring(we+1,e+2)))for(;e<t.length&&jd.test(t[e]);)ae+=t[e],e++;return ae=It(ae,'"'),n+=ae,b(),!0}else if(t[e]==="\\"){let te=t.charAt(e+1);if(iT[te]!==void 0)ae+=t.slice(e,e+2),e+=2;else if(te==="u"){let Oe=2;for(;Oe<6&&F0(t[e+Oe]);)Oe++;Oe===6?(ae+=t.slice(e,e+6),e+=6):e+Oe>=t.length?e=t.length:pe()}else ae+=te,e+=2}else{let te=t.charAt(e);te==='"'&&t[e-1]!=="\\"?(ae+=`\\${te}`,e++):N0(te)?(ae+=sT[te],e++):(I0(te)||Y(te),ae+=te,e++)}ce&&C()}}return!1}function b(){let J=!1;for(a();t[e]==="+";){J=!0,e++,a(),n=bo(n,'"',!0);let Z=n.length;E()?n=L0(n,Z,1):n=It(n,'"')}return J}function S(){let J=e;if(t[e]==="-"){if(e++,K())return q(J),!0;if(!Qn(t[e]))return e=J,!1}for(;Qn(t[e]);)e++;if(t[e]==="."){if(e++,K())return q(J),!0;if(!Qn(t[e]))return e=J,!1;for(;Qn(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,K())return q(J),!0;if(!Qn(t[e]))return e=J,!1;for(;Qn(t[e]);)e++}if(!K())return e=J,!1;if(e>J){let Z=t.slice(J,e),ce=/^0\d/.test(Z);return n+=ce?`"${Z}"`:Z,!0}return!1}function T(){return R("true","true")||R("false","false")||R("null","null")||R("True","true")||R("False","false")||R("None","null")}function R(J,Z){return t.slice(e,e+J.length)===J?(n+=Z,e+=J.length,!0):!1}function $(J){let Z=e;if(Bd(t[e])){for(;e<t.length&&Md(t[e]);)e++;let ce=e;for(;Yn(t,ce);)ce++;if(t[ce]==="(")return e=ce+1,s(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!Ud(t[e])&&!ps(t[e])&&(!J||t[e]!==":");)e++;if(t[e-1]===":"&&Ld.test(t.substring(Z,e+2)))for(;e<t.length&&jd.test(t[e]);)e++;if(e>Z){for(;Yn(t,e-1)&&e>0;)e--;let ce=t.slice(Z,e);return n+=ce==="undefined"?"null":JSON.stringify(ce),t[e]==='"'&&e++,!0}}function H(){if(t[e]==="/"){let J=e;for(e++;e<t.length&&(t[e]!=="/"||t[e-1]==="\\");)e++;return e++,n+=`"${t.substring(J,e)}"`,!0}}function P(J){let Z=J;for(;Z>0&&Yn(t,Z);)Z--;return Z}function K(){return e>=t.length||hs(t[e])||Yn(t,e)}function q(J){n+=`${t.slice(J,e)}0`}function Y(J){throw new Dn(`Invalid character ${JSON.stringify(J)}`,e)}function Q(){throw new Dn(`Unexpected character ${JSON.stringify(t[e])}`,e)}function ee(){throw new Dn("Unexpected end of json string",t.length)}function se(){throw new Dn("Object key expected",e)}function ue(){throw new Dn("Colon expected",e)}function pe(){let J=t.slice(e,e+6);throw new Dn(`Invalid unicode character "${J}"`,e)}}function aT(t,e){return t[e]==="*"&&t[e+1]==="/"}function Gd(t,e){if(!t||t.trim()===""||t==="{}")return"{}";try{return JSON.parse(t),e?.debug("\u5DE5\u5177\u8C03\u7528\u53C2\u6570\u6807\u51C6JSON\u89E3\u6790\u6210\u529F / Tool arguments standard JSON parsing successful"),t}catch(n){try{let r=U0.default.parse(t);return e?.debug("Tool arguments JSON5 parsing successful"),JSON.stringify(r)}catch(r){try{let o=Wd(t);return e?.debug("Tool arguments safely repaired"),o}catch(o){return e?.error(`JSON parsing failed: ${n.message}. JSON5 parsing failed: ${r.message}. JSON repair failed: ${o.message}. Input data: ${JSON.stringify(t)}`),e?.debug("Returning safe empty object as fallback"),"{}"}}}}var qa=class{name="enhancetool";async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();if(n?.choices?.[0]?.message?.tool_calls?.length)for(let r of n.choices[0].message.tool_calls)r.function?.arguments&&(r.function.arguments=Gd(r.function.arguments,this.logger));return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o={},s=!1,a="",u=!1,l=!1,f="",d=new ReadableStream({async start(h){let m=e.body.getReader(),C=(g,_,E)=>{let b=g.split(`
|
|
268
268
|
`);for(let S of b)S.trim()&&_.enqueue(E.encode(S+`
|
|
269
|
-
`))},w=(g,_,E)=>{let b="";try{b=Gd(o.arguments||"",this.logger)}catch($){console.error(`${$.message} ${$.stack} \u5DE5\u5177\u8C03\u7528\u53C2\u6570\u89E3\u6790\u5931\u8D25: ${JSON.stringify(o)}`),b=o.arguments||""}let S={role:"assistant",tool_calls:[{function:{name:o.name,arguments:b},id:o.id,index:o.index,type:"function"}]},
|
|
269
|
+
`))},w=(g,_,E)=>{let b="";try{b=Gd(o.arguments||"",this.logger)}catch($){console.error(`${$.message} ${$.stack} \u5DE5\u5177\u8C03\u7528\u53C2\u6570\u89E3\u6790\u5931\u8D25: ${JSON.stringify(o)}`),b=o.arguments||""}let S={role:"assistant",tool_calls:[{function:{name:o.name,arguments:b},id:o.id,index:o.index,type:"function"}]},T={...g,choices:[{...g.choices[0],delta:S}]};T.choices[0].delta.content!==void 0&&delete T.choices[0].delta.content;let R=`data: ${JSON.stringify(T)}
|
|
270
270
|
|
|
271
|
-
`;_.enqueue(E.encode(R))},y=(g,_)=>{let{controller:E,encoder:b}=_;if(g.startsWith("data: ")&&g.trim()!=="data: [DONE]"){let S=g.slice(6);try{let
|
|
271
|
+
`;_.enqueue(E.encode(R))},y=(g,_)=>{let{controller:E,encoder:b}=_;if(g.startsWith("data: ")&&g.trim()!=="data: [DONE]"){let S=g.slice(6);try{let T=JSON.parse(S);if(T.choices?.[0]?.delta?.tool_calls?.length){let $=T.choices[0].delta.tool_calls[0];if(typeof o.index>"u"){o={index:$.index,name:$.function?.name||"",id:$.id||"",arguments:$.function?.arguments||""},$.function?.arguments&&($.function.arguments="");let H=`data: ${JSON.stringify(T)}
|
|
272
272
|
|
|
273
|
-
`;E.enqueue(b.encode(H));return}else if(o.index===$.index){$.function?.arguments&&(o.arguments+=$.function.arguments);return}else{w(
|
|
273
|
+
`;E.enqueue(b.encode(H));return}else if(o.index===$.index){$.function?.arguments&&(o.arguments+=$.function.arguments);return}else{w(T,E,b),o={index:$.index,name:$.function?.name||"",id:$.id||"",arguments:$.function?.arguments||""};return}}if(T.choices?.[0]?.finish_reason==="tool_calls"&&o.index!==void 0){w(T,E,b),o={};return}T.choices?.[0]?.delta?.tool_calls?.length&&_.hasTextContent()&&(typeof T.choices[0].index=="number"?T.choices[0].index+=1:T.choices[0].index=1);let R=`data: ${JSON.stringify(T)}
|
|
274
274
|
|
|
275
275
|
`;E.enqueue(b.encode(R))}catch{E.enqueue(b.encode(g+`
|
|
276
276
|
`))}}else E.enqueue(b.encode(g+`
|
|
277
277
|
`))};try{for(;;){let{done:g,value:_}=await m.read();if(g){f.trim()&&C(f,h,r);break}if(!_||_.length===0)continue;let E;try{E=n.decode(_,{stream:!0})}catch(S){console.warn("Failed to decode chunk",S);continue}if(E.length===0)continue;if(f+=E,f.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let S=f.split(`
|
|
278
|
-
`);f=S.pop()||"";for(let
|
|
278
|
+
`);f=S.pop()||"";for(let T of S)if(T.trim())try{y(T,{controller:h,encoder:r,hasTextContent:()=>s,setHasTextContent:R=>s=R,reasoningContent:()=>a,appendReasoningContent:R=>a+=R,isReasoningComplete:()=>u,setReasoningComplete:R=>u=R})}catch(R){console.error("Error processing line:",T,R),h.enqueue(r.encode(T+`
|
|
279
279
|
`))}continue}let b=f.split(`
|
|
280
|
-
`);f=b.pop()||"";for(let S of b)if(S.trim())try{y(S,{controller:h,encoder:r,hasTextContent:()=>s,setHasTextContent:
|
|
280
|
+
`);f=b.pop()||"";for(let S of b)if(S.trim())try{y(S,{controller:h,encoder:r,hasTextContent:()=>s,setHasTextContent:T=>s=T,reasoningContent:()=>a,appendReasoningContent:T=>a+=T,isReasoningComplete:()=>u,setReasoningComplete:T=>u=T})}catch(T){console.error("Error processing line:",S,T),h.enqueue(r.encode(S+`
|
|
281
281
|
`))}}}catch(g){console.error("Stream error:",g),h.error(g)}finally{try{m.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}h.close()}}});return new Response(d,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var za=class{constructor(e){this.options=e;this.enable=this.options?.enable??!0}static TransformerName="reasoning";enable;async transformRequestIn(e){return this.enable?(e.reasoning&&(e.thinking={type:"enabled",budget_tokens:e.reasoning.max_tokens},e.enable_thinking=!0),e):(e.thinking={type:"disabled",budget_tokens:-1},e.enable_thinking=!1,e)}async transformResponseOut(e){if(!this.enable)return e;if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return n.choices[0]?.message.reasoning_content&&(n.thinking={content:n.choices[0]?.message.reasoning_content}),new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o="",s=!1,a="",u=new ReadableStream({async start(l){let f=e.body.getReader(),d=(m,C,w)=>{let y=m.split(`
|
|
282
282
|
`);for(let g of y)g.trim()&&C.enqueue(w.encode(g+`
|
|
283
283
|
`))},h=(m,C)=>{let{controller:w,encoder:y}=C;if(this.logger?.debug({line:m},"Processing reason line"),m.startsWith("data: ")&&m.trim()!=="data: [DONE]")try{let g=JSON.parse(m.slice(6));if(console.log(JSON.stringify(g)),g.choices?.[0]?.delta?.reasoning_content){C.appendReasoningContent(g.choices[0].delta.reasoning_content);let _={...g,choices:[{...g.choices[0],delta:{...g.choices[0].delta,thinking:{content:g.choices[0].delta.reasoning_content}}}]};delete _.choices[0].delta.reasoning_content;let E=`data: ${JSON.stringify(_)}
|
|
@@ -303,18 +303,18 @@ ${n}
|
|
|
303
303
|
`));else{let h={choices:[{delta:{role:"assistant",content:d.content?.[0]?.text||""},finish_reason:d.stop_reason?.toLowerCase()||null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:d.id||"",model:d.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:d.usage?.output_tokens||0,prompt_tokens:d.usage?.input_tokens||0,total_tokens:(d.usage?.input_tokens||0)+(d.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(h)}
|
|
304
304
|
|
|
305
305
|
`))}}catch(d){n?.error(`Error parsing ${e} stream chunk`,f,d.message)}}}},a=new ReadableStream({async start(u){let l=t.body.getReader(),f="";try{for(;;){let{done:d,value:h}=await l.read();if(d){f&&s(f,u);break}f+=r.decode(h,{stream:!0});let m=f.split(`
|
|
306
|
-
`);f=m.pop()||"";for(let C of m)s(C,u)}}catch(d){u.error(d)}finally{u.close()}}});return new Response(a,{status:t.status,statusText:t.statusText,headers:t.headers})}return t}async function
|
|
306
|
+
`);f=m.pop()||"";for(let C of m)s(C,u)}}catch(d){u.error(d)}finally{u.close()}}});return new Response(a,{status:t.status,statusText:t.statusText,headers:t.headers})}return t}async function uT(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>Ln(Nd(),1));return(await(await new t({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(t){throw console.error("Error getting access token:",t),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
|
|
307
307
|
1. Set GOOGLE_APPLICATION_CREDENTIALS to point to service account key file
|
|
308
308
|
2. Run "gcloud auth application-default login"
|
|
309
|
-
3. Use Google Cloud environment with default service account`)}}var Ga=class{name="vertex-claude";async transformRequestIn(e,n){let r=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-east5";if(!r&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let u=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(u);l&&l.project_id&&(r=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!r)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await
|
|
309
|
+
3. Use Google Cloud environment with default service account`)}}var Ga=class{name="vertex-claude";async transformRequestIn(e,n){let r=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-east5";if(!r&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let u=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(u);l&&l.project_id&&(r=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!r)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await uT();return{body:$0(e),config:{url:new URL(`/v1/projects/${r}/locations/${o}/publishers/anthropic/models/${e.model}:${e.stream?"streamRawPredict":"rawPredict"}`,`https://${o}-aiplatform.googleapis.com`).toString(),headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json"}}}}async transformRequestOut(e){return q0(e)}async transformResponseOut(e){return z0(e,this.name,this.logger)}};var Ja=class{name="cerebras";async transformRequestIn(e,n){let r=JSON.parse(JSON.stringify(e));return r.reasoning?delete r.reasoning:r.disable_reasoning=!1,{body:r,config:{headers:{Authorization:`Bearer ${n.apiKey}`,"Content-Type":"application/json"}}}}async transformResponseOut(e){return e}};var Va=class{name="streamoptions";async transformRequestIn(e){return e.stream&&(e.stream_options={include_usage:!0}),e}};var Ka=class{name="OpenAI";endPoint="/v1/chat/completions"};var Ya=class{static TransformerName="customparams";options;constructor(e={}){this.options=e}async transformRequestIn(e){let n={...e},r=Object.entries(this.options);for(let[o,s]of r)if(o in n)if(typeof n[o]=="object"&&typeof s=="object"&&!Array.isArray(n[o])&&!Array.isArray(s)&&n[o]!==null&&s!==null)n[o]=this.deepMergeObjects(n[o],s);else continue;else n[o]=this.cloneValue(s);return n}async transformResponseOut(e){return e}deepMergeObjects(e,n){let r={...e};for(let[o,s]of Object.entries(n))o in r&&typeof r[o]=="object"&&typeof s=="object"&&!Array.isArray(r[o])&&!Array.isArray(s)&&r[o]!==null&&s!==null?r[o]=this.deepMergeObjects(r[o],s):r[o]=this.cloneValue(s);return r}cloneValue(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(r=>this.cloneValue(r));let n={};for(let[r,o]of Object.entries(e))n[r]=this.cloneValue(o);return n}};var Qa=class{constructor(e){this.options=e}static TransformerName="vercel";endPoint="/v1/chat/completions";async transformRequestIn(e){return e.model.includes("claude")?e.messages.forEach(n=>{Array.isArray(n.content)&&n.content.forEach(r=>{r.type==="image_url"&&(r.image_url.url.startsWith("http")||(r.image_url.url=`data:${r.media_type};base64,${r.image_url.url}`),delete r.media_type)})}):e.messages.forEach(n=>{Array.isArray(n.content)?n.content.forEach(r=>{r.cache_control&&delete r.cache_control,r.type==="image_url"&&(r.image_url.url.startsWith("http")||(r.image_url.url=`data:${r.media_type};base64,${r.image_url.url}`),delete r.media_type)}):n.cache_control&&delete n.cache_control}),Object.assign(e,this.options||{}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o=!1,s="",a=!1,u=!1,l="",f=new ReadableStream({async start(d){let h=e.body.getReader(),m=(w,y,g)=>{let _=w.split(`
|
|
310
310
|
`);for(let E of _)E.trim()&&y.enqueue(g.encode(E+`
|
|
311
311
|
`))},C=(w,y)=>{let{controller:g,encoder:_}=y;if(w.startsWith("data: ")&&w.trim()!=="data: [DONE]"){let E=w.slice(6);try{let b=JSON.parse(E);if(b.usage&&(this.logger?.debug({usage:b.usage,hasToolCall:u},"usage"),b.choices[0].finish_reason=u?"tool_calls":"stop"),b.choices?.[0]?.finish_reason==="error"&&g.enqueue(_.encode(`data: ${JSON.stringify({error:b.choices?.[0].error})}
|
|
312
312
|
|
|
313
|
-
`)),b.choices?.[0]?.delta?.content&&!y.hasTextContent()&&y.setHasTextContent(!0),b.choices?.[0]?.delta?.reasoning){y.appendReasoningContent(b.choices[0].delta.reasoning);let
|
|
313
|
+
`)),b.choices?.[0]?.delta?.content&&!y.hasTextContent()&&y.setHasTextContent(!0),b.choices?.[0]?.delta?.reasoning){y.appendReasoningContent(b.choices[0].delta.reasoning);let T={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,thinking:{content:b.choices[0].delta.reasoning}}}]};T.choices?.[0]?.delta&&delete T.choices[0].delta.reasoning;let R=`data: ${JSON.stringify(T)}
|
|
314
314
|
|
|
315
315
|
`;g.enqueue(_.encode(R));return}if(b.choices?.[0]?.delta?.content&&y.reasoningContent()&&!y.isReasoningComplete()){y.setReasoningComplete(!0);let R={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,content:null,thinking:{content:y.reasoningContent(),signature:"ccr_think_signature"}}}]};R.choices?.[0]?.delta&&delete R.choices[0].delta.reasoning;let $=`data: ${JSON.stringify(R)}
|
|
316
316
|
|
|
317
|
-
`;g.enqueue(_.encode($))}b.choices?.[0]?.delta?.reasoning&&delete b.choices[0].delta.reasoning,b.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(b.choices?.[0]?.delta?.tool_calls[0].id,10))&&b.choices?.[0]?.delta?.tool_calls.forEach(
|
|
317
|
+
`;g.enqueue(_.encode($))}b.choices?.[0]?.delta?.reasoning&&delete b.choices[0].delta.reasoning,b.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(b.choices?.[0]?.delta?.tool_calls[0].id,10))&&b.choices?.[0]?.delta?.tool_calls.forEach(T=>{T.id=`call_${pt()}`}),b.choices?.[0]?.delta?.tool_calls?.length&&!u&&(u=!0),b.choices?.[0]?.delta?.tool_calls?.length&&y.hasTextContent()&&(typeof b.choices[0].index=="number"?b.choices[0].index+=1:b.choices[0].index=1);let S=`data: ${JSON.stringify(b)}
|
|
318
318
|
|
|
319
319
|
`;g.enqueue(_.encode(S))}catch{g.enqueue(_.encode(w+`
|
|
320
320
|
`))}}else g.enqueue(_.encode(w+`
|
|
@@ -328,16 +328,16 @@ Output format:
|
|
|
328
328
|
<reasoning_content>
|
|
329
329
|
Your detailed thinking process goes here
|
|
330
330
|
</reasoning_content>
|
|
331
|
-
Your final answer must follow after the closing tag above.`,
|
|
331
|
+
Your final answer must follow after the closing tag above.`,cT=10,Xa=class{name="forcereasoning";async transformRequestIn(e){let n=0;e.messages.filter(o=>o.role==="assistant").reverse().forEach(o=>{o.thinking&&(o.thinking.content&&(!o.content||n<cT)&&(n++,o.content=`<reasoning_content>${o.thinking.content}</reasoning_content>
|
|
332
332
|
${o.content}`),delete o.thinking)});let r=e.messages[e.messages.length-1];return r.role==="user"&&(Array.isArray(r.content)?r.content.push({type:"text",text:Jd}):r.content=[{type:"text",text:Jd},{type:"text",text:r.content||""}]),r.role==="tool"&&e.messages.push({role:"user",content:[{type:"text",text:Jd}]}),e}async transformResponseOut(e){let n="<reasoning_content>",r="</reasoning_content>";if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();if(o.choices[0]?.message.content){let s=/<reasoning_content>(.*?)<\/reasoning_content>/s,a=o.choices[0]?.message.content.match(s);a&&a[1]&&(o.thinking={content:a[1]})}return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let o=0,s=new TextDecoder,a=new TextEncoder,u=new ReadableStream({async start(l){let f=e.body.getReader(),d="",h="SEARCHING",m="",C="",w=(y,g)=>{if(typeof g!="string"){y.choices?.[0]?.delta&&Object.keys(y.choices[0].delta).length>0&&!y.choices[0].delta.content&&(y.choices[0].index=o,l.enqueue(a.encode(`data: ${JSON.stringify(y)}
|
|
333
333
|
|
|
334
334
|
`)));return}let _=m+g;for(m="";_.length>0;)if(h==="SEARCHING"){let E=_.indexOf(n);if(E!==-1)_=_.substring(E+n.length),h="REASONING";else{for(let b=n.length-1;b>0;b--)if(_.endsWith(n.substring(0,b))){m=_.substring(_.length-b);break}_=""}}else if(h==="REASONING"){let E=_.indexOf(r);if(E!==-1){let b=_.substring(0,E);if(b.length>0){let R={...y.choices[0].delta,thinking:{content:b}};delete R.content;let $={...y,choices:[{...y.choices[0],delta:R,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify($)}
|
|
335
335
|
|
|
336
|
-
`))}let S={...y.choices[0].delta,thinking:{signature:"ccr_think_signature"}};delete S.content;let
|
|
336
|
+
`))}let S={...y.choices[0].delta,thinking:{signature:"ccr_think_signature"}};delete S.content;let T={...y,choices:[{...y.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(T)}
|
|
337
337
|
|
|
338
|
-
`)),o++,_=_.substring(E+r.length),h="FINAL"}else{let b=_;for(let S=r.length-1;S>0;S--)if(_.endsWith(r.substring(0,S))){m=_.substring(_.length-S),b=_.substring(0,_.length-S);break}if(b.length>0){let S={...y.choices[0].delta,thinking:{content:b}};delete S.content;let
|
|
338
|
+
`)),o++,_=_.substring(E+r.length),h="FINAL"}else{let b=_;for(let S=r.length-1;S>0;S--)if(_.endsWith(r.substring(0,S))){m=_.substring(_.length-S),b=_.substring(0,_.length-S);break}if(b.length>0){let S={...y.choices[0].delta,thinking:{content:b}};delete S.content;let T={...y,choices:[{...y.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(T)}
|
|
339
339
|
|
|
340
|
-
`))}_=""}}else if(h==="FINAL"){if(_.length>0)if(/^\s*$/.test(_))C+=_;else{let b=C+_,S={...y.choices[0].delta,content:b};S.thinking&&delete S.thinking;let
|
|
340
|
+
`))}_=""}}else if(h==="FINAL"){if(_.length>0)if(/^\s*$/.test(_))C+=_;else{let b=C+_,S={...y.choices[0].delta,content:b};S.thinking&&delete S.thinking;let T={...y,choices:[{...y.choices[0],delta:S}]};l.enqueue(a.encode(`data: ${JSON.stringify(T)}
|
|
341
341
|
|
|
342
342
|
`)),C=""}o++,_=""}};try{for(;;){let{done:y,value:g}=await f.read();if(y)break;let _=s.decode(g,{stream:!0});d+=_;let E=d.split(`
|
|
343
343
|
`);d=E.pop()||"";for(let b of E)if(b.trim()){if(b.trim()==="data: [DONE]"){l.enqueue(a.encode(b+`
|
|
@@ -366,7 +366,7 @@ ${o.content}`),delete o.thinking)});let r=e.messages[e.messages.length-1];return
|
|
|
366
366
|
|
|
367
367
|
`));let q={...E,choices:[{...E.choices?.[0],delta:{...E.choices[0].delta,content:P}}]};q.choices?.[0]?.delta&&(delete q.choices[0].delta.reasoning,delete q.choices[0].delta.reasoning_content),g.enqueue(_.encode(`data: ${JSON.stringify(q)}
|
|
368
368
|
|
|
369
|
-
`));return}E.choices?.[0]?.delta?.reasoning&&delete E.choices[0].delta.reasoning,E.choices?.[0]?.delta?.reasoning_content&&delete E.choices[0].delta.reasoning_content,E.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(E.choices?.[0]?.delta?.tool_calls[0].id,10))&&E.choices?.[0]?.delta?.tool_calls.forEach(H=>{H.id=`call_${pt()}`}),E.choices?.[0]?.delta?.tool_calls?.length&&!u&&(u=!0);let S=E.choices?.[0]?.delta,
|
|
369
|
+
`));return}E.choices?.[0]?.delta?.reasoning&&delete E.choices[0].delta.reasoning,E.choices?.[0]?.delta?.reasoning_content&&delete E.choices[0].delta.reasoning_content,E.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(E.choices?.[0]?.delta?.tool_calls[0].id,10))&&E.choices?.[0]?.delta?.tool_calls.forEach(H=>{H.id=`call_${pt()}`}),E.choices?.[0]?.delta?.tool_calls?.length&&!u&&(u=!0);let S=E.choices?.[0]?.delta,T=S&&Object.keys(S).length>0,R=E.choices?.[0]?.finish_reason,$=E.usage;(T||R||$)&&g.enqueue(_.encode(`data: ${JSON.stringify(E)}
|
|
370
370
|
|
|
371
371
|
`))}catch{g.enqueue(_.encode(w+`
|
|
372
372
|
`))}else g.enqueue(_.encode(w+`
|
|
@@ -377,15 +377,15 @@ ${o.content}`),delete o.thinking)});let r=e.messages[e.messages.length-1];return
|
|
|
377
377
|
`))}}}catch(w){console.error("Stream error:",w),d.error(w)}finally{try{h.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}d.close()}}});return new Response(f,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var H0={AnthropicTransformer:di,GeminiTransformer:mi,VertexGeminiTransformer:Ia,VertexClaudeTransformer:Ga,DeepseekTransformer:Na,TooluseTransformer:Ba,OpenrouterTransformer:Ma,OpenAITransformer:Ka,MaxTokenTransformer:La,GroqTransformer:ja,CleancacheTransformer:Ua,EnhanceToolTransformer:qa,ReasoningTransformer:za,SamplingTransformer:Ha,MaxCompletionTokens:Wa,CerebrasTransformer:Ja,StreamOptionsTransformer:Va,CustomParamsTransformer:Ya,VercelTransformer:Qa,OpenAIResponsesTransformer:Lr,ForceReasoningTransformer:Xa,KimiTransformer:Za,OpenCodeTransformer:eu};var Co=class{constructor(e,n){this.configService=e;this.logger=n}transformers=new Map;registerTransformer(e,n){this.transformers.set(e,n),this.logger.info(`register transformer: ${e}${n.endPoint?` (endpoint: ${n.endPoint})`:" (no endpoint)"}`)}getTransformer(e){return this.transformers.get(e)}getAllTransformers(){return new Map(this.transformers)}getTransformersWithEndpoint(){let e=[];return this.transformers.forEach((n,r)=>{typeof n=="object"&&n.endPoint&&e.push({name:r,transformer:n})}),e}getTransformersWithoutEndpoint(){let e=[];return this.transformers.forEach((n,r)=>{typeof n=="object"&&!n.endPoint&&e.push({name:r,transformer:n})}),e}removeTransformer(e){return this.transformers.delete(e)}hasTransformer(e){return this.transformers.has(e)}async registerTransformerFromConfig(e){try{if(e.path){let n=re(re.resolve(e.path));if(n){let r=new n(e.options);if(r&&typeof r=="object"&&(r.logger=this.logger),!r.name)throw new Error(`Transformer instance from ${e.path} does not have a name property.`);return this.registerTransformer(r.name,r),!0}}return!1}catch(n){return this.logger.error(`load transformer (${e.path})
|
|
378
378
|
error: ${n.message}
|
|
379
379
|
stack: ${n.stack}`),!1}}async initialize(){try{await this.registerDefaultTransformersInternal(),await this.loadFromConfig()}catch(e){this.logger.error(`TransformerService init error: ${e.message}
|
|
380
|
-
Stack: ${e.stack}`)}}async registerDefaultTransformersInternal(){try{Object.values(H0).forEach(e=>{if("TransformerName"in e&&typeof e.TransformerName=="string")this.registerTransformer(e.TransformerName,e);else{let n=new e;n&&typeof n=="object"&&(n.logger=this.logger),this.registerTransformer(n.name,n)}})}catch(e){this.logger.error({error:e},"transformer regist error:")}}async loadFromConfig(){let e=this.configService.get("transformers",[]);for(let n of e)await this.registerTransformerFromConfig(n)}};import{get_encoding as
|
|
381
|
-
`:case"\r":return!1;default:return new RegExp("^\\p{Cc}|\\p{Cf}|\\p{Co}|\\p{Cs}$","u").test(t)}}clean_text(t){let e=[];for(let n of t){let r=n.charCodeAt(0);r===0||r===65533||this.is_control(n)||(/^\s$/.test(n)?e.push(" "):e.push(n))}return e.join("")}normalize(t){return this.config.clean_text&&(t=this.clean_text(t)),this.config.handle_chinese_chars&&(t=this.tokenize_chinese_chars(t)),this.config.lowercase?(t=t.toLowerCase(),this.config.strip_accents!==!1&&(t=this.strip_accents(t))):this.config.strip_accents&&(t=this.strip_accents(t)),t}},Rv=Dv,xv=class extends Rn{constructor(t){super(t),this.charsmap=t.precompiled_charsmap??null}normalize(t){return t=t.replace(/[\u0001-\u0008\u000B\u000E-\u001F\u007F\u008F\u009F]/gm,""),t=t.replace(/[\u0009\u000A\u000C\u000D\u00A0\u1680\u2000-\u200F\u2028\u2029\u202F\u205F\u2581\u3000\uFEFF\uFFFD]/gm," "),t.includes("\uFF5E")?t=t.split("\uFF5E").map(e=>e.normalize("NFKC")).join("\uFF5E"):t=t.normalize("NFKC"),t}},Ov=xv,Pv=class extends Rn{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>Z0(e))}normalize(t){return this.normalizers.reduce((e,n)=>n?n.normalize(e):e,t)}},Fv=Pv,Iv=class extends Rn{normalize(t){let e=tu(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},Nv=Iv,Bv=class extends Rn{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},nu=Bv,Mv=class extends nu{constructor(){super(...arguments),this.form="NFC"}},Lv=Mv,jv=class extends nu{constructor(){super(...arguments),this.form="NFD"}},Uv=jv,$v=class extends nu{constructor(){super(...arguments),this.form="NFKC"}},qv=$v,zv=class extends nu{constructor(){super(...arguments),this.form="NFKD"}},Hv=zv,Wv=class extends Rn{normalize(t){return this.config.strip_left&&this.config.strip_right?t=t.trim():(this.config.strip_left&&(t=t.trimStart()),this.config.strip_right&&(t=t.trimEnd())),t}},Gv=Wv,Jv=class extends Rn{normalize(t){return X0(t)}},Vv=Jv,Kv=class extends Rn{normalize(t){return t.toLowerCase()}},Yv=Kv,Qv=class extends Rn{normalize(t){return t=this.config.prepend+t,t}},Xv=Qv;function Zv(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new Rv(t);case"Precompiled":return new Ov(t);case"Sequence":return new Fv(t);case"Replace":return new Nv(t);case"NFC":return new Lv(t);case"NFD":return new Uv(t);case"NFKC":return new qv(t);case"NFKD":return new Hv(t);case"Strip":return new Gv(t);case"StripAccents":return new Vv(t);case"Lowercase":return new Yv(t);case"Prepend":return new Xv(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var Z0=Zv,eD=class extends ys{pre_tokenize(t,e){return(Array.isArray(t)?t.map(n=>this.pre_tokenize_text(n,e)):this.pre_tokenize_text(t,e)).flat()}_call(t,e){return this.pre_tokenize(t,e)}},cn=eD,tD=class extends cn{constructor(t){super(),this.config=t,this.add_prefix_space=this.config.add_prefix_space??!1,this.trim_offsets=this.config.trim_offsets??!1,this.use_regex=this.config.use_regex??!0,this.pattern=new RegExp("'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+","gu"),this.byte_encoder=Q0,this.text_encoder=new TextEncoder}pre_tokenize_text(t,e){return this.add_prefix_space&&!t.startsWith(" ")&&(t=" "+t),(this.use_regex?t.match(this.pattern)||[]:[t]).map(n=>Array.from(this.text_encoder.encode(n),r=>this.byte_encoder[r]).join(""))}},nD=tD,rD=class extends cn{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},oD=rD,sD=class extends cn{constructor(t){super(),this.replacement=t.replacement??"\u2581",this.str_rep=t.str_rep||this.replacement,this.prepend_scheme=t.prepend_scheme??"always"}pre_tokenize_text(t,e){let{section_index:n=void 0}=e??{},r=t.replaceAll(" ",this.str_rep);return!r.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&n===0)&&(r=this.str_rep+r),[r]}},iD=sD,aD=class extends cn{constructor(t){super(),this.config=t,this.pattern=tu(this.config.pattern??{},this.config.invert??!0)}pre_tokenize_text(t){return this.pattern===null?[]:this.config.invert?t.match(this.pattern)||[]:this.config.behavior?.toLowerCase()==="removed"?t.split(this.pattern).filter(e=>e):Av(t,this.pattern)}},uD=aD,cD=class extends cn{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${gs}]+|[${gs}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},lD=cD,dD=class extends cn{constructor(t){super(),this.config=t;let e=`[^\\d]+|\\d${this.config.individual_digits?"":"+"}`;this.pattern=new RegExp(e,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},fD=dD,hD=class extends cn{constructor(){super(),this.pattern=new RegExp(`[^\\s${gs}]+|[${gs}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},pD=hD,mD=class extends cn{constructor(t){super(),this.config=t,this.pattern=tu(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},gD=mD,yD=class extends cn{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>e_(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((n,r)=>r?r.pre_tokenize(n,e):n,[t])}},_D=yD,bD=class extends cn{pre_tokenize_text(t){return Sv(t)}},CD=bD;function wD(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new pD;case"Sequence":return new _D(t);case"Whitespace":return new oD;case"WhitespaceSplit":return new CD;case"Metaspace":return new iD(t);case"ByteLevel":return new nD(t);case"Split":return new uD(t);case"Punctuation":return new lD(t);case"Digits":return new fD(t);case"Replace":return new gD(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var e_=wD,ED=class extends ys{constructor(t){super(),this.config=t,this.vocab=[],this.tokens_to_ids=new Map,this.unk_token_id=void 0,this.unk_token=void 0,this.end_of_word_suffix=void 0,this.fuse_unk=this.config.fuse_unk??!1}_call(t){let e=this.encode(t);return this.fuse_unk&&(e=bv(e,this.tokens_to_ids,this.unk_token_id)),e}convert_tokens_to_ids(t){return t.map(e=>this.tokens_to_ids.get(e)??this.unk_token_id)}convert_ids_to_tokens(t){return t.map(e=>this.vocab[Number(e)]??this.unk_token)}},ru=ED,kD=class extends ru{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=Yd(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.max_input_chars_per_word=t.max_input_chars_per_word??100,this.vocab=new Array(this.tokens_to_ids.size);for(let[e,n]of this.tokens_to_ids)this.vocab[n]=e}encode(t){let e=[];for(let n of t){let r=[...n];if(r.length>this.max_input_chars_per_word){e.push(this.unk_token);continue}let o=!1,s=0,a=[];for(;s<r.length;){let u=r.length,l=null;for(;s<u;){let f=r.slice(s,u).join("");if(s>0&&(f=this.config.continuing_subword_prefix+f),this.tokens_to_ids.has(f)){l=f;break}--u}if(l===null){o=!0;break}a.push(l),s=u}o?e.push(this.unk_token):e.push(...a)}return e}},J0=kD,V0=class t_{constructor(e,n){this.is_leaf=e,this.children=n}static default(){return new t_(!1,new Map)}},AD=class{constructor(){this.root=V0.default()}extend(t){for(let e of t)this.push(e)}push(t){let e=this.root;for(let n of t){let r=e.children.get(n);r===void 0&&(r=V0.default(),e.children.set(n,r)),e=r}e.is_leaf=!0}*common_prefix_search(t){let e=this.root;if(e===void 0)return;let n="";for(let r of t){if(n+=r,e=e.children.get(r),e===void 0)return;e.is_leaf&&(yield n)}}},SD=AD,Vd=class n_{constructor(e,n,r,o,s){this.token_id=e,this.node_id=n,this.pos=r,this.length=o,this.score=s,this.prev=null,this.backtrace_score=0}clone(){let e=new n_(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},TD=class{constructor(t,e,n){this.chars=Array.from(t),this.len=this.chars.length,this.bos_token_id=e,this.eos_token_id=n,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);let r=new Vd(this.bos_token_id??0,0,0,0,0),o=new Vd(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(r.clone()),this.nodes.push(o.clone()),this.begin_nodes[this.len].push(o),this.end_nodes[0].push(r)}insert(t,e,n,r){let o=this.nodes.length,s=new Vd(r,o,t,e,n);this.begin_nodes[t].push(s),this.end_nodes[t+e].push(s),this.nodes.push(s)}viterbi(){let t=this.len,e=0;for(;e<=t;){if(this.begin_nodes[e].length==0)return[];for(let s of this.begin_nodes[e]){s.prev=null;let a=0,u=null;for(let l of this.end_nodes[e]){let f=l.backtrace_score+s.score;(u===null||f>a)&&(u=l.clone(),a=f)}if(u!==null)s.prev=u,s.backtrace_score=a;else return[]}++e}let n=[],r=this.begin_nodes[t][0].prev;if(r===null)return[];let o=r.clone();for(;o.prev!==null;)n.push(o.clone()),o=o.clone().prev.clone();return n.reverse(),n}piece(t){return this.chars.slice(t.pos,t.pos+t.length).join("")}tokens(){return this.viterbi().map(t=>this.piece(t))}token_ids(){return this.viterbi().map(t=>t.token_id)}},vD=TD;function DD(t){if(t.length===0)throw new Error("Array must not be empty");let e=t[0],n=0;for(let r=1;r<t.length;++r)t[r]<e&&(e=t[r],n=r);return[e,n]}var RD=class extends ru{constructor(t,e){super(t);let n=t.vocab.length;this.vocab=new Array(n),this.scores=new Array(n);for(let r=0;r<n;++r)[this.vocab[r],this.scores[r]]=t.vocab[r];this.unk_token_id=t.unk_id,this.unk_token=this.vocab[t.unk_id],this.tokens_to_ids=new Map(this.vocab.map((r,o)=>[r,o])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.min_score=DD(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new SD,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(t){let e=t.chars,n=1,r=0;for(;r<e.length;){let o=!1,s=[],a=e.slice(r).join(""),u=this.trie.common_prefix_search(a);for(let l of u){s.push(l);let f=this.tokens_to_ids.get(l),d=this.scores[f],h=Ev(l);t.insert(r,h,d,f),!o&&h===n&&(o=!0)}o||t.insert(r,n,this.unk_score,this.unk_token_id),r+=n}}tokenize(t){let e=new vD(t,this.bos_token_id,this.eos_token_id);return this.populate_nodes(e),e.tokens()}encode(t){let e=[];for(let n of t){let r=this.tokenize(n);e.push(...r)}return e}},K0=RD,xD=class{constructor(t=(n,r)=>n>r,e=1/0){this._heap=[],this._comparator=t,this._max_size=e}get size(){return this._heap.length}is_empty(){return this.size===0}peek(){return this._heap[0]}push(...t){return this.extend(t)}extend(t){for(let e of t)if(this.size<this._max_size)this._heap.push(e),this._sift_up();else{let n=this._smallest();this._comparator(e,this._heap[n])&&(this._heap[n]=e,this._sift_up_from(n))}return this.size}pop(){let t=this.peek(),e=this.size-1;return e>0&&this._swap(0,e),this._heap.pop(),this._sift_down(),t}replace(t){let e=this.peek();return this._heap[0]=t,this._sift_down(),e}_parent(t){return(t+1>>>1)-1}_left(t){return(t<<1)+1}_right(t){return t+1<<1}_greater(t,e){return this._comparator(this._heap[t],this._heap[e])}_swap(t,e){let n=this._heap[t];this._heap[t]=this._heap[e],this._heap[e]=n}_sift_up(){this._sift_up_from(this.size-1)}_sift_up_from(t){for(;t>0&&this._greater(t,this._parent(t));)this._swap(t,this._parent(t)),t=this._parent(t)}_sift_down(){let t=0;for(;this._left(t)<this.size&&this._greater(this._left(t),t)||this._right(t)<this.size&&this._greater(this._right(t),t);){let e=this._right(t)<this.size&&this._greater(this._right(t),this._left(t))?this._right(t):this._left(t);this._swap(t,e),t=e}}_smallest(){return 2**Math.floor(Math.log2(this.size))-1}},OD=xD,PD=class{constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let e=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,e),e}put(t,e){this.cache.has(t)&&this.cache.delete(t),this.cache.set(t,e),this.cache.size>this.capacity&&this.cache.delete(this.cache.keys().next().value)}clear(){this.cache.clear()}},FD=PD,ID=class extends ru{constructor(t){super(t),this.tokens_to_ids=Yd(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.vocab=new Array(this.tokens_to_ids.size);for(let[n,r]of this.tokens_to_ids)this.vocab[r]=n;let e=Array.isArray(t.merges[0]);this.merges=e?t.merges:t.merges.map(n=>n.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((n,r)=>[JSON.stringify(n),r])),this.end_of_word_suffix=t.end_of_word_suffix,this.continuing_subword_suffix=t.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback&&(this.text_encoder=new TextEncoder),this.ignore_merges=this.config.ignore_merges??!1,this.max_length_to_cache=256,this.cache_capacity=1e4,this.cache=new FD(this.cache_capacity)}clear_cache(){this.cache.clear()}bpe(t){if(t.length===0)return[];let e=this.cache.get(t);if(e!==void 0)return e;let n=Array.from(t);this.end_of_word_suffix&&(n[n.length-1]+=this.end_of_word_suffix);let r=[];if(n.length>1){let o=new OD((u,l)=>u.score<l.score),s={token:n[0],bias:0,prev:null,next:null},a=s;for(let u=1;u<n.length;++u){let l={bias:u/n.length,token:n[u],prev:a,next:null};a.next=l,this.add_node(o,a),a=l}for(;!o.is_empty();){let u=o.pop();if(u.deleted||!u.next||u.next.deleted)continue;if(u.deleted=!0,u.next.deleted=!0,u.prev){let f={...u.prev};u.prev.deleted=!0,u.prev=f,f.prev?f.prev.next=f:s=f}let l={token:u.token+u.next.token,bias:u.bias,prev:u.prev,next:u.next.next};l.prev?(l.prev.next=l,this.add_node(o,l.prev)):s=l,l.next&&(l.next.prev=l,this.add_node(o,l))}for(let u=s;u!==null;u=u.next)r.push(u.token)}else r=n;if(this.continuing_subword_suffix)for(let o=0;o<r.length-1;++o)r[o]+=this.continuing_subword_suffix;return t.length<this.max_length_to_cache&&this.cache.put(t,r),r}add_node(t,e){let n=this.bpe_ranks.get(JSON.stringify([e.token,e.next.token]));n!==void 0&&(e.score=n+e.bias,t.push(e))}encode(t){let e=[];for(let n of t){if(this.ignore_merges&&this.tokens_to_ids.has(n)){e.push(n);continue}let r=this.bpe(n);for(let o of r)if(this.tokens_to_ids.has(o))e.push(o);else if(this.byte_fallback){let s=Array.from(this.text_encoder.encode(o)).map(a=>`<0x${a.toString(16).toUpperCase().padStart(2,"0")}>`);s.every(a=>this.tokens_to_ids.has(a))?e.push(...s):e.push(this.unk_token)}else e.push(this.unk_token)}return e}},Y0=ID,ND=class extends ru{constructor(t,e){super(t);let n=t.vocab;this.tokens_to_ids=Yd(e.target_lang?n[e.target_lang]:n),this.bos_token=e.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=e.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=e.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=new Array(this.tokens_to_ids.size);for(let[r,o]of this.tokens_to_ids)this.vocab[o]=r}encode(t){return t}},BD=ND;function MD(t,e){switch(t.type){case"WordPiece":return new J0(t);case"Unigram":return new K0(t,e.eos_token);case"BPE":return new Y0(t);default:if(t.vocab)return Array.isArray(t.vocab)?new K0(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new Y0(t):new J0(t):new BD(t,{target_lang:e.target_lang,bos_token:e.bos_token,eos_token:e.eos_token,pad_token:e.pad_token,unk_token:e.unk_token});throw new Error(`Unknown TokenizerModel type: ${t?.type}`)}}var LD=MD,jD=class extends ys{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},_s=jD,UD=class extends _s{post_process(t,e=null,n=!0){let r=e===null?this.config.single:this.config.pair,o=[],s=[];for(let a of r)"SpecialToken"in a?n&&(o.push(a.SpecialToken.id),s.push(a.SpecialToken.type_id)):"Sequence"in a&&(a.Sequence.id==="A"?(o=Nt(o,t),s=Nt(s,new Array(t.length).fill(a.Sequence.type_id))):a.Sequence.id==="B"&&(o=Nt(o,e),s=Nt(s,new Array(e.length).fill(a.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},$D=UD,qD=class extends _s{post_process(t,e=null){return{tokens:e?Nt(t,e):t}}},zD=qD,HD=class extends _s{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,n=!0){n&&(t=Nt([this.cls[0]],t,[this.sep[0]]));let r=new Array(t.length).fill(0);if(e){let o=[],s=n?[this.sep[0]]:[];t=Nt(t,o,e,s),r=Nt(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},WD=HD,GD=class extends _s{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,n=!0){n&&(t=Nt([this.cls[0]],t,[this.sep[0]]));let r=new Array(t.length).fill(0);if(e){let o=n?[this.sep[0]]:[],s=n?[this.sep[0]]:[];t=Nt(t,o,e,s),r=Nt(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},JD=GD,VD=class extends _s{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>r_(e))}post_process(t,e=null,n=!0){let r={tokens:t};for(let o of this.processors)r=o.post_process(r.tokens,e,n);return r}},KD=VD;function YD(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new $D(t);case"ByteLevel":return new zD(t);case"BertProcessing":return new WD(t);case"RobertaProcessing":return new JD(t);case"Sequence":return new KD(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var r_=YD,QD=class extends ys{constructor(t){super(),this.config=t,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets="trim_offsets"in t?t.trim_offsets:!1}_call(t){return this.decode(t)}decode(t){return this.decode_chain(t).join("")}},ln=QD,XD=class extends ln{constructor(t){super(t),this.byte_decoder=gv,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(t){let e=t.join(""),n=new Uint8Array([...e].map(r=>this.byte_decoder[r]));return this.text_decoder.decode(n)}decode_chain(t){let e=[],n=[];for(let r of t)this.added_tokens.find(o=>o.content===r)!==void 0?(n.length>0&&(e.push(this.convert_tokens_to_string(n)),n=[]),e.push(r)):n.push(r);return n.length>0&&e.push(this.convert_tokens_to_string(n)),e}},ZD=XD,eR=class extends ln{constructor(t){super(t),this.cleanup=t.cleanup}decode_chain(t){return t.map((e,n)=>{if(n!==0){let r=this.config.prefix;r&&e.startsWith(r)?e=e.replace(r,""):e=" "+e}return this.cleanup&&(e=Kd(e)),e})}},tR=eR,nR=class extends ln{constructor(t){super(t),this.replacement=t.replacement??"\u2581"}decode_chain(t){let e=[];for(let n=0;n<t.length;++n){let r=t[n].replaceAll(this.replacement," ");n==0&&r.startsWith(" ")&&(r=r.substring(1)),e.push(r)}return e}},rR=nR,oR=class extends ln{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,n)=>e.replaceAll(this.suffix,n===t.length-1?"":" "))}},sR=oR,iR=class extends ln{constructor(t){super(t),this.pad_token=t.pad_token??"",this.word_delimiter_token=t.word_delimiter_token??"",this.cleanup=t.cleanup}convert_tokens_to_string(t){if(t.length===0)return"";let e=[t[0]];for(let r=1;r<t.length;++r)t[r]!==e.at(-1)&&e.push(t[r]);let n=e.filter(r=>r!==this.pad_token).join("");return this.cleanup&&(n=Kd(n).replaceAll(this.word_delimiter_token," ").trim()),n}decode_chain(t){return[this.convert_tokens_to_string(t)]}},aR=iR,uR=class extends ln{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>o_(e))}decode_chain(t){return this.decoders.reduce((e,n)=>n.decode_chain(e),t)}},cR=uR,lR=class extends ln{decode_chain(t){let e=tu(this.config.pattern),n=this.config.content??"";return e===null?t:t.map(r=>r.replaceAll(e,n))}},dR=lR,fR=class extends ln{decode_chain(t){return[t.join("")]}},hR=fR,pR=class extends ln{constructor(t){super(t),this.content=t.content??"",this.start=t.start??0,this.stop=t.stop??0}decode_chain(t){return t.map(e=>{let n=0;for(let o=0;o<this.start&&e[o]===this.content;++o)n=o+1;let r=e.length;for(let o=0;o<this.stop;++o){let s=e.length-o-1;if(e[s]===this.content){r=s;continue}else break}return e.slice(n,r)})}},mR=pR,gR=class extends ln{constructor(t){super(t),this.text_decoder=new TextDecoder}decode_chain(t){let e=[],n=[];for(let r of t){let o=null;if(r.length===6&&r.startsWith("<0x")&&r.endsWith(">")){let s=parseInt(r.slice(3,5),16);isNaN(s)||(o=s)}if(o!==null)n.push(o);else{if(n.length>0){let s=this.text_decoder.decode(Uint8Array.from(n));e.push(s),n=[]}e.push(r)}}if(n.length>0){let r=this.text_decoder.decode(Uint8Array.from(n));e.push(r),n=[]}return e}},yR=gR;function _R(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new ZD(t);case"WordPiece":return new tR(t);case"Metaspace":return new rR(t);case"BPEDecoder":return new sR(t);case"CTC":return new aR(t);case"Sequence":return new cR(t);case"Replace":return new dR(t);case"Fuse":return new hR(t);case"Strip":return new mR(t);case"ByteFallback":return new yR(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var o_=_R,bR=class{constructor(t,e){let n=G0(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(n)throw new Error(n);let r=G0(e,"Config");if(r)throw new Error(r);this.tokenizer=t,this.config=e,this.normalizer=Z0(this.tokenizer.normalizer),this.pre_tokenizer=e_(this.tokenizer.pre_tokenizer),this.model=LD(this.tokenizer.model,this.config),this.post_processor=r_(this.tokenizer.post_processor),this.decoder=o_(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[],this.tokenizer.added_tokens.forEach(o=>{let s=new pv(o);this.added_tokens.push(s),this.model.tokens_to_ids.set(s.content,s.id),this.model.vocab[s.id]=s.content,s.special&&(this.special_tokens.push(s.content),this.all_special_ids.push(s.id))}),(this.config.additional_special_tokens??[]).forEach(o=>{this.special_tokens.includes(o)||this.special_tokens.push(o)}),this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.added_tokens_splitter=new fv(this.added_tokens.map(o=>o.content)),this.added_tokens_map=new Map(this.added_tokens.map(o=>[o.content,o])),this.remove_space=this.config.remove_space,this.clean_up_tokenization_spaces=this.config.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=this.config.do_lowercase_and_remove_accent??!1}encode(t,{text_pair:e=null,add_special_tokens:n=!0,return_token_type_ids:r=null}={}){let{tokens:o,token_type_ids:s}=this.tokenize_helper(t,{text_pair:e,add_special_tokens:n}),a=this.model.convert_tokens_to_ids(o),u={ids:a,tokens:o,attention_mask:new Array(a.length).fill(1)};return r&&s&&(u.token_type_ids=s),u}decode(t,e={}){if(!Array.isArray(t)||t.length===0||!wv(t[0]))throw Error("token_ids must be a non-empty array of integers.");let n=this.model.convert_ids_to_tokens(t);e.skip_special_tokens&&(n=n.filter(o=>!this.special_tokens.includes(o)));let r=this.decoder?this.decoder(n):n.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(r=r.replaceAll(this.decoder.end_of_word_suffix," "),e.skip_special_tokens&&(r=r.trim())),(e.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)&&(r=Kd(r)),r}tokenize(t,{text_pair:e=null,add_special_tokens:n=!1}={}){return this.tokenize_helper(t,{text_pair:e,add_special_tokens:n}).tokens}encode_text(t){if(t===null)return null;let e=this.added_tokens_splitter.split(t);return e.forEach((n,r)=>{let o=this.added_tokens_map.get(n);o&&(o.lstrip&&r>0&&(e[r-1]=e[r-1].trimEnd()),o.rstrip&&r<e.length-1&&(e[r+1]=e[r+1].trimStart()))}),e.flatMap((n,r)=>{if(n.length===0)return[];if(this.added_tokens_map.has(n))return[n];if(this.remove_space===!0&&(n=n.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(n=kv(n)),this.normalizer!==null&&(n=this.normalizer(n)),n.length===0)return[];let o=this.pre_tokenizer!==null?this.pre_tokenizer(n,{section_index:r}):[n];return this.model(o)})}tokenize_helper(t,{text_pair:e=null,add_special_tokens:n=!0}){let r=this.encode_text(t),o=this.encode_text(e||null);return this.post_processor?this.post_processor(r,o,n):{tokens:Nt(r??[],o??[])}}token_to_id(t){return this.model.tokens_to_ids.get(t)}id_to_token(t){return this.model.vocab[t]}get_added_tokens_decoder(){let t=new Map;for(let e of this.added_tokens)t.set(e.id,e);return t}},s_=bR;var iu=class{type="huggingface";name;modelId;logger;options;tokenizer=null;cacheDir;safeModelName;constructor(e,n,r={}){this.modelId=e,this.logger=n,this.options=r,this.cacheDir=r.cacheDir||ou(CR(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=ou(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:ou(e,"tokenizer.json"),tokenizerConfig:ou(e,"tokenizer_config.json")}}ensureDir(e){Qd(e)||wR(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!Qd(e.tokenizerJson)||!Qd(e.tokenizerConfig))return null;let[n,r]=await Promise.all([su.readFile(e.tokenizerJson,"utf-8"),su.readFile(e.tokenizerConfig,"utf-8")]);return{tokenizerJson:JSON.parse(n),tokenizerConfig:JSON.parse(r)}}catch(e){return this.logger?.warn(`Failed to load from cache: ${e.message}`),null}}async downloadAndCache(){let e=this.getCachePaths(),n={json:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer.json`,config:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer_config.json`};this.logger?.info(`Downloading tokenizer files for ${this.modelId}`);let r=new AbortController,o=setTimeout(()=>r.abort(),this.options.timeout||3e4);try{let[s,a]=await Promise.all([fetch(n.json,{signal:r.signal}),fetch(n.config,{signal:r.signal})]);if(!s.ok)throw new Error(`Failed to fetch tokenizer.json: ${s.statusText}`);let[u,l]=await Promise.all([s.json(),a.ok?a.json():Promise.resolve({})]);return this.ensureDir(e.modelDir),await Promise.all([su.writeFile(e.tokenizerJson,JSON.stringify(u,null,2)),su.writeFile(e.tokenizerConfig,JSON.stringify(l,null,2))]),{tokenizerJson:u,tokenizerConfig:l}}finally{clearTimeout(o)}}async initialize(){try{this.logger?.info(`Initializing HuggingFace tokenizer: ${this.modelId}`);let e=this.getCachePaths();this.ensureDir(this.cacheDir);let n=await this.loadFromCache()||await this.downloadAndCache();this.tokenizer=new s_(n.tokenizerJson,n.tokenizerConfig),this.logger?.info(`Tokenizer initialized: ${this.name}`)}catch(e){throw this.logger?.error(`Failed to initialize tokenizer: ${e.message}`),new Error(`Failed to initialize HuggingFace tokenizer for ${this.modelId}: ${e.message}`)}}async countTokens(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");try{let n=this.extractTextFromRequest(e);return this.tokenizer.encode(n).ids.length}catch(n){throw this.logger?.error(`Error counting tokens: ${n.message}`),n}}isInitialized(){return this.tokenizer!==null}encodeText(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");return this.tokenizer.encode(e).ids}dispose(){this.tokenizer=null}extractTextFromRequest(e){let n=[],{messages:r,system:o,tools:s}=e;if(Array.isArray(r)){for(let a of r)if(typeof a.content=="string")n.push(a.content);else if(Array.isArray(a.content))for(let u of a.content)u.type==="text"&&u.text?n.push(u.text):u.type==="tool_use"&&u.input?n.push(JSON.stringify(u.input)):u.type==="tool_result"&&n.push(typeof u.content=="string"?u.content:JSON.stringify(u.content))}if(typeof o=="string")n.push(o);else if(Array.isArray(o)){for(let a of o)if(a.type==="text"){if(typeof a.text=="string")n.push(a.text);else if(Array.isArray(a.text))for(let u of a.text)u&&n.push(u)}}if(s)for(let a of s)a.name&&n.push(a.name),a.description&&n.push(a.description),a.input_schema&&n.push(JSON.stringify(a.input_schema));return n.join(" ")}};var au=class{type="api";name;config;logger;options;constructor(e,n,r={}){if(!e.url||!e.apiKey)throw new Error("API tokenizer requires url and apiKey");this.config={url:e.url,apiKey:e.apiKey,requestFormat:e.requestFormat||"standard",responseField:e.responseField||"token_count",headers:e.headers||{}},this.logger=n,this.options=r;try{let o=new URL(e.url);this.name=`api-${o.hostname}`}catch{this.name=`api-${e.url}`}}async initialize(){try{new URL(this.config.url)}catch{throw new Error(`Invalid API URL: ${this.config.url}`)}}async countTokens(e){try{let n=this.formatRequestBody(e),r={"Content-Type":"application/json",Authorization:`Bearer ${this.config.apiKey}`,...this.config.headers},o=new AbortController,s=setTimeout(()=>o.abort(),this.options.timeout||3e4),a=await fetch(this.config.url,{method:"POST",headers:r,body:JSON.stringify(n),signal:o.signal});if(clearTimeout(s),!a.ok)throw new Error(`API tokenizer request failed: ${a.status} ${a.statusText}`);let u=await a.json();return this.extractTokenCount(u)}catch(n){throw n.name==="AbortError"?new Error("API tokenizer request timed out"):n}}isInitialized(){return!0}dispose(){}formatRequestBody(e){switch(this.config.requestFormat){case"standard":return e;case"openai":return{model:"gpt-3.5-turbo",messages:this.extractMessagesAsOpenAIFormat(e)};case"anthropic":return{messages:e.messages||[],system:e.system,tools:e.tools};case"custom":return{text:this.extractConcatenatedText(e)};default:return e}}extractMessagesAsOpenAIFormat(e){return e.messages?e.messages.map(n=>({role:n.role,content:this.extractTextFromMessage(n)})):[]}extractTextFromMessage(e){return typeof e.content=="string"?e.content:Array.isArray(e.content)?e.content.map(n=>n.type==="text"&&n.text?n.text:n.type==="tool_use"&&n.input?JSON.stringify(n.input):n.type==="tool_result"?typeof n.content=="string"?n.content:JSON.stringify(n.content):"").join(" "):""}extractConcatenatedText(e){let n=[];return e.messages&&e.messages.forEach(r=>{n.push(this.extractTextFromMessage(r))}),typeof e.system=="string"?n.push(e.system):Array.isArray(e.system)&&e.system.forEach(r=>{r.type==="text"&&(typeof r.text=="string"?n.push(r.text):Array.isArray(r.text)&&r.text.forEach(o=>{o&&n.push(o)}))}),e.tools&&e.tools.forEach(r=>{r.name&&n.push(r.name),r.description&&n.push(r.description),r.input_schema&&n.push(JSON.stringify(r.input_schema))}),n.join(" ")}extractTokenCount(e){try{let n=this.config.responseField,r=n.split("."),o=e;for(let s of r){if(o==null)throw new Error(`Field path '${n}' not found in response`);o=o[s]}if(typeof o!="number")throw new Error(`Expected number at field path '${n}', got ${typeof o}`);return o}catch(n){throw this.logger?.error(`Failed to extract token count from API response: ${n.message}. Response: ${JSON.stringify(e)}`),new Error(`Invalid response from API tokenizer: ${n.message}`)}}};var wo=class{tokenizers=new Map;configService;logger;options;fallbackTokenizer;constructor(e,n,r={}){this.configService=e,this.logger=n,this.options={timeout:r.timeout??3e4,...r}}async initialize(){try{this.fallbackTokenizer=new ms("cl100k_base"),await this.fallbackTokenizer.initialize(),this.tokenizers.set("fallback",this.fallbackTokenizer),this.logger?.info("TokenizerService initialized successfully")}catch(e){throw this.logger?.error(`TokenizerService initialization error: ${e.message}`),e}}async getTokenizer(e){let n=this.getCacheKey(e);if(this.tokenizers.has(n))return this.tokenizers.get(n);let r;try{switch(e.type){case"tiktoken":r=new ms(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),r=new iu(e.model,this.logger,{timeout:this.options.timeout});break;case"api":r=new au(e,this.logger,{timeout:this.options.timeout});break;default:throw new Error(`Unknown tokenizer type: ${e.type}`)}return this.logger?.info(`Calling initialize() on ${e.type} tokenizer...`),await r.initialize(),this.tokenizers.set(n,r),this.logger?.info(`Tokenizer initialized successfully: ${e.type} (${n})`),r}catch(o){return this.logger?.error(`Failed to initialize ${e.type} tokenizer: ${o.message}`),this.logger?.error(`Error stack: ${o.stack}`),this.fallbackTokenizer||await this.initialize(),this.fallbackTokenizer}}async countTokens(e,n){let r=n?await this.getTokenizer(n):this.fallbackTokenizer;return{tokenCount:await r.countTokens(e),tokenizerUsed:r.name,cached:!1}}getTokenizerConfigForModel(e,n){let o=(this.configService.get("providers")||[]).find(s=>s.name===e);if(o?.tokenizer)return o.tokenizer.models?.[n]?o.tokenizer.models[n]:o.tokenizer.default}dispose(){this.tokenizers.forEach(e=>{try{e.dispose()}catch(n){this.logger?.error(`Error disposing tokenizer: ${n}`)}}),this.tokenizers.clear()}getCacheKey(e){switch(e.type){case"tiktoken":return`tiktoken:${e.encoding||"cl100k_base"}`;case"huggingface":return`hf:${e.model}`;case"api":return`api:${e.url}`;default:return`unknown:${JSON.stringify(e)}`}}};Un();var dn=class{async fetchJson(e,n,r,o,s){let a=s||n.apiKey;if(!a)return null;let u={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${a}`},signal:AbortSignal.timeout(r)};if(o)try{let{ProxyAgent:l}=await import("undici");u.dispatcher=new l(new URL(o).toString())}catch{}try{let l=await fetch(e,u);return l.ok?await l.json():null}catch{return null}}hasQuotaData(e){return e.totalBalance!==void 0||e.usedBalance!==void 0||e.remainingBalance!==void 0||e.usedDailyBalance!==void 0||e.limitDaily!==void 0||e.resetTime!==void 0}},Xd=class extends dn{async queryQuota(e,n,r){let o=await this.fetchJson("https://api.deepseek.com/user/balance",e,n,r),a=(Array.isArray(o?.balance_infos)?o.balance_infos:[]).find(l=>_e(l?.total_balance)!==void 0);if(!a)return null;let u=_e(a.total_balance);return u===void 0?null:{totalBalance:u,currency:typeof a.currency=="string"?a.currency:void 0}}},Zd=class extends dn{async queryQuota(e,n,r){let s=(await this.fetchJson("https://openrouter.ai/api/v1/key",e,n,r))?.data;if(!s||typeof s!="object")return null;let a={},u=_e(s.limit),l=_e(s.limit_remaining),f=_e(s.usage),d=_e(s.usage_daily);return u!==void 0&&(a.totalBalance=u),l!==void 0&&(a.remainingBalance=l),f!==void 0&&(a.usedBalance=f),d!==void 0&&(a.usedDailyBalance=d),this.hasQuotaData(a)?a:null}},ef=class extends dn{async queryQuota(e,n,r){let o=xR(e.baseUrl),a=(await this.fetchJson(o,e,n,r))?.data;if(!a||typeof a!="object")return null;let u={},l=_e(a.totalBalance),f=_e(a.balance);return l!==void 0&&(u.totalBalance=l),f!==void 0&&(u.remainingBalance=f),l!==void 0&&f!==void 0&&(u.usedBalance=Math.max(0,l-f)),this.hasQuotaData(u)?u:null}},tf=class extends dn{async queryQuota(e,n,r){if(!e.apiKey)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:e.apiKey.trim()},signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(r).toString())}catch{}try{let a=await fetch("https://api.z.ai/api/monitor/usage/quota/limit",s);if(!a.ok)return null;let u=await a.json(),l=Array.isArray(u?.data?.limits)?u.data.limits:[],f=null,d=null,h=null;for(let C of l)C.type==="TOKENS_LIMIT"?C.unit===3?f=C:C.unit===6?d=C:f||(f=C):C.type==="TIME_LIMIT"&&(h=C);let m={};if(f){let C=_e(f.currentValue),w=_e(f.usage),y=_e(f.remaining),g=_e(f.percentage);C!==void 0?m.usedDailyBalance=C:g!==void 0&&(m.usedDailyBalance=g,m.limitDaily=100),w!==void 0?m.limitDaily=w:C!==void 0&&y!==void 0&&(m.limitDaily=C+y),f.nextResetTime&&(m.resetTime=new Date(f.nextResetTime).toISOString())}if(d){let C=_e(d.currentValue),w=_e(d.usage),y=_e(d.remaining),g=_e(d.percentage);C!==void 0?m.usedBalance=C:g!==void 0&&(m.usedBalance=g,m.totalBalance=100),w!==void 0?m.totalBalance=w:C!==void 0&&y!==void 0&&(m.totalBalance=C+y),d.nextResetTime&&!m.resetTime&&(m.resetTime=new Date(d.nextResetTime).toISOString())}if(h){if(m.usedDailyBalance===void 0){let C=_e(h.currentValue);C!==void 0&&(m.usedDailyBalance=C)}if(m.limitDaily===void 0){let C=_e(h.usage),w=_e(h.currentValue),y=_e(h.remaining);C!==void 0?m.limitDaily=C:w!==void 0&&y!==void 0&&(m.limitDaily=w+y)}h.nextResetTime&&!m.resetTime&&(m.resetTime=new Date(h.nextResetTime).toISOString())}return this.hasQuotaData(m)?m:null}catch{return null}}},nf=class extends dn{async queryQuota(e,n,r){if(!e.quotaToken)return null;let o={method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",Origin:"https://bailian.console.aliyun.com",Referer:"https://bailian.console.aliyun.com/cn-beijing",Cookie:e.quotaToken},signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:u}=await import("undici");o.dispatcher=new u(new URL(r).toString())}catch{}let s=JSON.stringify({Api:"zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",V:"1.0",Data:{queryCodingPlanInstanceInfoRequest:{commodityCode:"sfm_codingplan_public_cn",onlyLatestOne:!0},cornerstoneParam:{feTraceId:`ccr-${Date.now()}`,feURL:"https://bailian.console.aliyun.com/cn-beijing",protocol:"V2",console:"ONE_CONSOLE",productCode:"p_efm",switchAgent:10736808,switchUserType:3,domain:"bailian.console.aliyun.com",consoleSite:"BAILIAN_ALIYUN",userNickName:"",userPrincipalName:"",xsp_lang:"zh-CN"}}}),a=new URLSearchParams({params:s,region:"cn-beijing"}).toString();try{let u=await fetch("https://bailian-cs.console.aliyun.com/data/api.json?action=BroadScopeAspnGateway&product=sfm_bailian&api=zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",{...o,body:a});if(!u.ok)return null;let f=(await u.json())?.data?.DataV2?.data?.data?.codingPlanInstanceInfos;if(!Array.isArray(f)||f.length===0)return null;let d=f[0]?.codingPlanQuotaInfo;if(!d)return null;let h={},m=_e(d.per5HourUsedQuota),C=_e(d.per5HourTotalQuota);m!==void 0&&(h.usedDailyBalance=m),C!==void 0&&(h.limitDaily=C);let w=_e(d.perWeekUsedQuota),y=_e(d.perWeekTotalQuota);return w!==void 0&&(h.usedBalance=w),y!==void 0&&(h.totalBalance=y),this.hasQuotaData(h)?h:null}catch{return null}}},rf=class extends dn{async queryQuota(e,n,r){if(!e.quotaToken)return null;let s={method:"GET",headers:{Accept:"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",Origin:"https://maas.xfyun.cn",Referer:"https://maas.xfyun.cn/packageSubscription",Authorization:(i_(e.quotaToken,"atp-auth-token")||i_(e.quotaToken,"tenantToken")||e.quotaToken).trim(),Cookie:e.quotaToken},signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(r).toString())}catch{}try{let a=await fetch("https://maas.xfyun.cn/api/v1/gpt-finetune/coding-plan/list?page=1&size=10",s);if(!a.ok)return null;let u=await a.json();if(u?.succeed===!1||u?.failed===!0)return null;let l=OR(u,e.apiKey),f=l?.codingPlanUsageDTO||l?.usage||l;if(!f||typeof f!="object")return null;let d={},h=_e(f.rp5hUsage),m=_e(f.rp5hLimit);h!==void 0&&(d.usedDailyBalance=h),m!==void 0&&(d.limitDaily=m);let C=_e(f.rpwUsage),w=_e(f.rpwLimit);return C!==void 0&&(d.usedBalance=C),w!==void 0&&(d.totalBalance=w),d.remainingBalance===void 0&&w!==void 0&&C!==void 0&&(d.remainingBalance=Math.max(0,w-C)),this.hasQuotaData(d)?d:null}catch{return null}}},of=class extends dn{async queryQuota(e,n,r){let o=e.quotaToken||e.apiKey;if(!o)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${o.trim()}`},signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(r).toString())}catch{}try{let a=await fetch("https://api.kimi.com/coding/v1/usages",s);if(!a.ok)return null;let u=await a.json(),l={},f=Array.isArray(u?.limits)?u.limits:[];if(f.length>0&&f[0]?.detail){let h=f[0].detail,m=_e(h.limit),C=_e(h.remaining),w=h.resetTime;m!==void 0&&C!==void 0&&(l.usedDailyBalance=Math.max(0,m-C),l.limitDaily=m),w&&(l.resetTime=new Date(w).toISOString())}let d=u?.usage;if(d){let h=_e(d.limit),m=_e(d.remaining),C=_e(d.used),w=d.resetTime;h!==void 0&&(l.totalBalance=h,C!==void 0?l.usedBalance=C:m!==void 0&&(l.usedBalance=Math.max(0,h-m),l.remainingBalance=m)),w&&(l.resetTime7d=new Date(w).toISOString(),l.resetTime||(l.resetTime=l.resetTime7d))}return this.hasQuotaData(l)?l:null}catch{return null}}},sf=class extends dn{async queryQuota(e,n,r){let o=e.quotaToken||e.apiKey;if(!o)return null;let s=cf(e.baseUrl)||"api.minimaxi.com",a=s.endsWith(".minimax.io")||s==="minimax.io"?"api.minimax.io":"api.minimaxi.com";try{let u=[`https://${a}/v1/token_plan/remains`,`https://${a}/v1/api/openplatform/coding_plan/remains`],l=null;for(let S of u)if(l=await this.fetchJson(S,e,n,r,o.trim()),l)break;if(!l)return null;if(l?.base_resp){let S=l.base_resp.status_code;if(S!==void 0&&S!==0)return null}let f=Array.isArray(l?.model_remains)?l.model_remains:[];if(f.length===0)return null;let d=f[0],h={},m=_e(d.current_interval_total_count),C=_e(d.current_interval_usage_count),w=_e(d.current_interval_remaining_percent),y=_e(d.end_time);m!==void 0&&C!==void 0&&m>0?(h.usedDailyBalance=Math.max(0,m-C),h.limitDaily=m):w!==void 0&&(h.limitDaily=100,h.usedDailyBalance=Math.max(0,100-w)),y&&(h.resetTime=new Date(y).toISOString());let g=_e(d.current_weekly_total_count),_=_e(d.current_weekly_usage_count),E=_e(d.current_weekly_remaining_percent),b=_e(d.weekly_end_time);return g!==void 0&&_!==void 0&&g>0?(h.usedBalance=Math.max(0,g-_),h.remainingBalance=_,h.totalBalance=g):E!==void 0&&(h.totalBalance=100,h.usedBalance=Math.max(0,100-E),h.remainingBalance=E),b&&!h.resetTime&&(h.resetTime=new Date(b).toISOString()),this.hasQuotaData(h)?h:null}catch{return null}}},ER=new Xd,kR=new Zd,AR=new ef,SR=new tf,TR=new nf,vR=new rf,DR=new of,RR=new sf;function uf(t){let e=cf(t);return e?e==="kimi.com"||e.endsWith(".kimi.com")||e==="moonshot.cn"||e.endsWith(".moonshot.cn")?DR:e==="minimaxi.com"||e.endsWith(".minimaxi.com")||e==="minimax.io"||e.endsWith(".minimax.io")?RR:e==="deepseek.com"||e.endsWith(".deepseek.com")?ER:e==="openrouter.ai"||e.endsWith(".openrouter.ai")?kR:e==="siliconflow.com"||e.endsWith(".siliconflow.com")||e==="siliconflow.cn"||e.endsWith(".siliconflow.cn")?AR:e==="bigmodel.cn"||e.endsWith(".bigmodel.cn")?SR:e==="dashscope.aliyuncs.com"||e.endsWith(".dashscope.aliyuncs.com")?TR:e==="xf-yun.com"||e.endsWith(".xf-yun.com")||e==="xfyun.cn"||e.endsWith(".xfyun.cn")||e==="xfyun.com"||e.endsWith(".xfyun.com")?vR:null:null}function xR(t){let e=cf(t);return e?.endsWith(".siliconflow.cn")||e==="siliconflow.cn"?"https://api.siliconflow.cn/v1/user/info":"https://api.siliconflow.com/v1/user/info"}function OR(t,e){let n=af(t);if(n.length===0)return null;let r=String(e||"").split(":").map(s=>s.trim()).filter(Boolean);return n.find(s=>{let a=s?.codingPlanAppCredentialDTO||s?.appCredential||s,u=String(a?.apiKey||a?.api_key||"").trim();return u&&r.some(l=>l.includes(u)||u.includes(l))})||n[0]}function af(t){return!t||typeof t!="object"?[]:!Array.isArray(t)&&t.codingPlanUsageDTO?[t]:Array.isArray(t)?t.flatMap(e=>af(e)):Object.values(t).flatMap(e=>af(e))}function i_(t,e){let n=t.match(new RegExp(`(?:^|;\\s*)${e}=([^;]+)`));return n?decodeURIComponent(n[1]):void 0}function cf(t){try{return new URL(t).hostname.toLowerCase()}catch{return null}}function _e(t){if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(typeof t!="string")return;let e=t.trim().replace(/,/g,"");if(!e)return;let n=Number(e);return Number.isFinite(n)?n:void 0}var PR="x-claude-code-router-source",FR="x-claude-code-router-version";function a_(t){return{[PR]:t,[FR]:oi}}var IR={enabled:!0,quotaProbeIntervalMinutes:10,probeTimeoutMs:15e3,initialDelayMs:5e3,excludeProviders:[]};function NR(t){return t===!0||t==="true"||t===1||t==="1"}function BR(t){let e=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0");return`${e}-${n}-${r}`}function MR(t){try{let e=new URL(t),n=e.pathname;return n.endsWith("/v1/messages")?n=n.slice(0,-12):n.endsWith("/messages")?n=n.slice(0,-9):n.endsWith("/v1/chat/completions")?n=n.slice(0,-20):n.endsWith("/chat/completions")&&(n=n.slice(0,-17)),n.endsWith("/v1")||(n=n.endsWith("/")?`${n}v1`:`${n}/v1`),e.pathname=`${n}/models`,e.toString()}catch{return null}}function LR(t){try{let e=new URL(t).hostname.toLowerCase();return e.includes("moonshot")||e.includes("kimi")}catch{return!1}}async function lf(t,e,n){let r=MR(t.baseUrl);if(!r)return{success:!1,error:"Cannot derive models endpoint from baseUrl"};try{let o={method:"GET",headers:{Authorization:`Bearer ${t.apiKey}`},signal:AbortSignal.timeout(e)};if(n)try{let{ProxyAgent:u}=await import("undici");o.dispatcher=new u(new URL(n).toString())}catch{}let s=await fetch(r,o);if(s.headers&&Io(t.name,t.baseUrl,s.headers),s.ok)return{success:!0,headers:s.headers};if(s.status===429)return{success:!1,error:`HTTP 429: ${(await s.text().catch(()=>"")).slice(0,100)||"Rate limited"}`,headers:s.headers};if(s.status>=400&&s.status<500)return{success:!0,headers:s.headers};let a=await s.text().catch(()=>"");return{success:!1,error:`HTTP ${s.status}: ${a.slice(0,100)}`,headers:s.headers}}catch(o){return{success:!1,error:o?.message||o?.toString()||"Unknown probe error"}}}async function jR(t,e,n,r){let o=t.wakeupModel||(Array.isArray(t.models)?t.models[0]:void 0);if(!o)return{success:!1,error:"No models configured for provider"};let s=t.baseUrl,a=t.baseUrl.includes("/messages")||o.includes("claude");try{let u={"Content-Type":"application/json",...a_("scheduled-wakeup")};a?(u["x-api-key"]=t.apiKey,u["anthropic-version"]="2023-06-01"):u.Authorization=`Bearer ${t.apiKey}`;let l={method:"POST",headers:u,body:JSON.stringify({model:o,messages:[{role:"user",content:"Wake up and acknowledge with a short greeting."}],max_tokens:10}),signal:AbortSignal.timeout(e)};if(n)try{let{ProxyAgent:h}=await import("undici");l.dispatcher=new h(new URL(n).toString())}catch{}r?.info(`Sending scheduled wake-up call to provider ${t.name} using model ${o}...`);let f=await fetch(s,l);if(f.ok)return{success:!0};let d=await f.text().catch(()=>"");return{success:!1,error:`HTTP ${f.status}: ${d.slice(0,200)||"Unknown error"}`}}catch(u){return{success:!1,error:u?.message||u?.toString()||"Unknown wake-up error"}}}async function UR(t,e,n,r,o){let s=t.baseUrl,a=t.baseUrl.includes("/messages")||e.includes("claude");try{let u={"Content-Type":"application/json",...a_("rate-limit-probe")};a?(u["x-api-key"]=t.apiKey,u["anthropic-version"]="2023-06-01"):u.Authorization=`Bearer ${t.apiKey}`;let l={method:"POST",headers:u,body:JSON.stringify({model:e,messages:[{role:"user",content:"Hello, please reply briefly."}],max_tokens:10}),signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:h}=await import("undici");l.dispatcher=new h(new URL(r).toString())}catch{}o?.debug?.(`Sending independent ping to rate-limited model ${t.name} (${e})...`);let f=await fetch(s,l);if(f.ok)return{success:!0};let d=await f.text().catch(()=>"");return{success:!1,error:`HTTP ${f.status}: ${d.slice(0,200)||"Unknown error"}`}}catch(u){return{success:!1,error:u?.message||u?.toString()||"Unknown ping error"}}}var uu=class{config;quotaProbeTimer;healthProbeTimer;wakeupTimer;rateLimitProbeTimer;lastWakeupDate=new Map;getProviders;getHttpsProxy;logger;getConfig;running=!1;constructor(e,n,r,o,s){this.config={...IR,...n},this.getProviders=e,this.getHttpsProxy=r,this.logger=o,this.getConfig=s}start(){if(this.running)return;let e=this.isWakeupGloballyEnabled();!this.config.enabled&&!e||(this.running=!0,setTimeout(()=>{this.running&&(this.config.enabled&&(this.runQuotaProbe(),this.runHealthProbe(),this.runRateLimitProbe()),this.runScheduledWakeup())},this.config.initialDelayMs),this.config.enabled&&(this.quotaProbeTimer=setInterval(()=>this.runQuotaProbe(),this.config.quotaProbeIntervalMinutes*60*1e3),this.healthProbeTimer=setInterval(()=>this.runHealthProbe(),300*1e3),this.rateLimitProbeTimer=setInterval(()=>this.runRateLimitProbe(),120*1e3)),this.wakeupTimer=setInterval(()=>this.runScheduledWakeup(),60*1e3),this.logger?.info("Active probe service started"))}stop(){this.running=!1,this.quotaProbeTimer&&(clearInterval(this.quotaProbeTimer),this.quotaProbeTimer=void 0),this.healthProbeTimer&&(clearInterval(this.healthProbeTimer),this.healthProbeTimer=void 0),this.rateLimitProbeTimer&&(clearInterval(this.rateLimitProbeTimer),this.rateLimitProbeTimer=void 0),this.wakeupTimer&&(clearInterval(this.wakeupTimer),this.wakeupTimer=void 0),this.logger?.info("Active probe service stopped")}async runQuotaProbe(){let e=this.getProviders().filter(a=>a?.name&&a.enabled!==!1&&!this.config.excludeProviders.includes(a.name)),n=this.getHttpsProxy?.(),r=Ye();if(e.length===0)return;let o=[];for(let a of e){let u=uf(a.baseUrl),l=Array.isArray(a.models)?a.models:[];u&&o.push({provider:a.name,models:l,type:"quota-adapter",promise:u.queryQuota(a,this.config.probeTimeoutMs,n).then(f=>{if(f){uc(a.name,f),this.logger?.debug?.(`Stored quota probe result for ${a.name}`);let d=f.limitDaily!==void 0&&f.usedDailyBalance!==void 0&&f.usedDailyBalance>=f.limitDaily,h=f.totalBalance!==void 0&&f.usedBalance!==void 0&&f.usedBalance>=f.totalBalance;if(d||h){let m=d?`Quota exhausted: 5h limit reached (${f.usedDailyBalance}/${f.limitDaily})`:`Quota exhausted: 7d balance depleted (${f.usedBalance}/${f.totalBalance})`;for(let C of l){if(r.getState(a.name,C)?.rateLimitUntil){this.logger?.debug?.(`Skip forceOpen for ${a.name} (${C}): already rate-limited with active cooldown`);continue}r.forceOpen(a.name,C,m)}this.logger?.warn?.(`${m} for ${a.name}, marked as unhealthy`)}else for(let m of l){let C=r.getState(a.name,m);C&&C.status==="open"&&C.lastError?.includes("Quota exhausted")&&(r.recover(a.name,m),this.logger?.info?.(`Quota recovered for ${a.name} (${m}), marked as healthy`))}}})}),LR(a.baseUrl)&&o.push({provider:a.name,models:l,type:"rate-limit-headers",promise:lf(a,this.config.probeTimeoutMs,n).then(()=>{})})}if(o.length===0)return;this.logger?.debug?.(`Running quota probe with ${o.length} tasks for ${e.length} providers`);let s=await Promise.allSettled(o.map(a=>a.promise));for(let a=0;a<o.length;a++){let u=s[a];if(u.status==="rejected"){let l=o[a];this.logger?.warn?.(`Quota probe failed for ${l.provider} (${l.type}): ${u.reason}`)}}}async runHealthProbe(){let e=Ye(),n=this.getProviders().filter(s=>s?.name&&s.enabled!==!1&&!this.config.excludeProviders.includes(s.name)),r=this.getHttpsProxy?.();if(n.length===0)return;this.logger?.debug?.(`Running health probe for ${n.length} providers`);let o=await Promise.allSettled(n.map(s=>lf(s,this.config.probeTimeoutMs,r)));for(let s=0;s<n.length;s++){let a=n[s],u=o[s],l=Array.isArray(a.models)?a.models:[];if(u.status==="fulfilled"){let f=u.value;if(f.success){let d=0;for(let h of l){let m=e.getState(a.name,h);if(m&&m.status==="open"){let C=m.lastError?.includes("Quota exhausted"),w=m.rateLimitUntil||m.lastError&&(m.lastError.includes("429")||m.lastError.toLowerCase().includes("rate limit")||m.lastError.toLowerCase().includes("rate_limit")||m.lastError.toLowerCase().includes("too many requests")||m.lastError.toLowerCase().includes("\u9650\u6D41"));if(C){this.logger?.debug?.(`Skipping health probe recovery for ${a.name} (${h}) because quota is exhausted`);continue}if(w||m.rateLimitUntil){this.logger?.debug?.(`Skipping health probe recovery for rate-limited ${a.name} (${h})`);continue}}e.recordSuccess(a.name,h),d++}d>0&&this.logger?.info?.(`Health probe succeeded for ${a.name}`)}else{for(let d of l)e.recordFailure(a.name,d,f.error);this.logger?.warn?.(`Health probe failed for ${a.name}: ${f.error}`)}}else{for(let f of l)e.recordFailure(a.name,f,u.reason?.message||"Probe error");this.logger?.warn?.(`Health probe error for ${a.name}: ${u.reason}`)}}}async runRateLimitProbe(){let e=Ye(),n=e.getRateLimitedModels();if(n.length===0)return;let r=this.getProviders(),o=this.getHttpsProxy?.(),s=this.config.probeTimeoutMs;this.logger?.debug?.(`Running rate-limit recovery probe for ${n.length} model(s)`);for(let a of n){let[u,...l]=a.split(","),f=l.join(",");if(!u||!f)continue;let d=e.getState(u,f);if(!d||!d.rateLimitUntil)continue;if(Date.now()>=d.rateLimitUntil){e.recover(u,f),this.logger?.info?.(`Rate-limit cooldown expired, auto-recovered ${a}`);continue}let h=r.find(m=>m?.name===u&&m.enabled!==!1);if(!h){this.logger?.warn?.(`Provider ${u} not found or disabled for rate-limit probe`);continue}try{let m=await UR(h,f,s,o,this.logger);if(m.success)this.logger?.info?.(`Rate-limit probe succeeded for ${a}, recovering model`),e.recover(u,f);else if(m.error&&(m.error.includes("429")||m.error.toLowerCase().includes("rate limit")||m.error.toLowerCase().includes("rate_limit")||m.error.toLowerCase().includes("too many requests")||m.error.toLowerCase().includes("\u9650\u6D41"))){let C=Date.now();d.rateLimitUntil&&d.rateLimitUntil>C?d.rateLimitUntil+=120*1e3:d.rateLimitUntil=C+120*1e3,this.logger?.debug?.(`Rate-limit probe for ${a} confirmed still limited, extending cooldown`)}else this.logger?.debug?.(`Rate-limit probe for ${a} returned non-rate-limit error: ${m.error?.slice(0,100)}`)}catch(m){this.logger?.warn?.(`Rate-limit probe exception for ${a}: ${m?.message||m}`)}}}async runScheduledWakeup(){if(!this.isWakeupGloballyEnabled())return;let e=this.getProviders().filter(l=>l?.name&&l.enabled!==!1&&l.wakeupEnabled===!0);if(e.length===0)return;let n=new Date,r=n.getHours(),o=n.getMinutes(),s=BR(n),a=this.getHttpsProxy?.(),u=this.getConfig&&this.getConfig("WAKEUP_TIME")||"06:00";for(let l of e){let f=l.wakeupTime||u,[d,h]=f.split(":"),m=parseInt(d,10),C=parseInt(h,10);if(isNaN(m)||isNaN(C))continue;let w=r>m||r===m&&o>=C,y=(m*60+C)*6e4-(r*60+o)*6e4,g=y>0&&y<=300*1e3;(w||g)&&!this.hasWakeupFiredToday(l.name,s)&&(this.logger?.info?.(`Scheduled wake-up triggered for provider ${l.name} at ${f}`),jR(l,3e4,a,this.logger).then(_=>{_.success?this.logger?.info?.(`Successfully woke up provider ${l.name}`):this.logger?.error?.(`Failed to wake up provider ${l.name}: ${_.error}`)}).catch(_=>{this.logger?.error?.(`Error in wake-up task for ${l.name}: ${_}`)}))}}isWakeupGloballyEnabled(){return this.getConfig?NR(this.getConfig("WAKEUP_ENABLED")):!1}hasWakeupFiredToday(e,n){return this.lastWakeupDate.get(e)===n?!0:(this.lastWakeupDate.set(e,n),!1)}async probeProviderManually(e){let r=this.getProviders().find(u=>u.name===e);if(!r)return this.logger?.warn?.(`Provider ${e} not found for manual probe`),!1;if(r.enabled===!1)return this.logger?.warn?.(`Provider ${e} is disabled, skipping manual probe`),!1;let o=this.getHttpsProxy?.(),s=await lf(r,this.config.probeTimeoutMs,o),a=Array.isArray(r.models)?r.models:[];if(s.success)for(let u of a)Ye().recordSuccess(r.name,u);else for(let u of a)Ye().recordFailure(r.name,u,s.error);return s.success}},Xn=null;function u_(t,e,n,r,o){return Xn||(Xn=new uu(t,e,n,r,o)),Xn}function df(t,e,n,r,o){let s=u_(t,e,n,r,o);return s.start(),s}function ff(){Xn&&Xn.stop()}function $R(){Xn&&(Xn.stop(),Xn=null)}Un();var hf=class{plugins=new Map;pluginInstances=new Map;registerPlugin(e,n={}){this.pluginInstances.set(e.name,e),this.plugins.set(e.name,{name:e.name,enabled:n.enabled!==!1,options:n})}async enablePlugin(e,n){let r=this.plugins.get(e),o=this.pluginInstances.get(e);if(!r||!o)throw new Error(`Plugin ${e} not found`);r.enabled&&await n.register(o.register,r.options)}async enablePlugins(e){for(let[n,r]of this.plugins)if(r.enabled)try{await this.enablePlugin(n,e)}catch(o){let s=o instanceof Error?o.message:String(o);e.log?.error(`Failed to enable plugin ${n}: ${s}`)}}getPlugins(){return Array.from(this.plugins.values())}getPlugin(e){return this.pluginInstances.get(e)}hasPlugin(e){return this.pluginInstances.has(e)}isPluginEnabled(e){return this.plugins.get(e)?.enabled||!1}setPluginEnabled(e,n){let r=this.plugins.get(e);r&&(r.enabled=n)}removePlugin(e){this.plugins.delete(e),this.pluginInstances.delete(e)}clear(){this.plugins.clear(),this.pluginInstances.clear()}},c_=new hf;var C_=Ln(p_(),1);var Eo=class extends TransformStream{buffer="";currentEvent={};constructor(){super({transform:(e,n)=>{this.buffer+=e;let r=this.buffer.split(`
|
|
380
|
+
Stack: ${e.stack}`)}}async registerDefaultTransformersInternal(){try{Object.values(H0).forEach(e=>{if("TransformerName"in e&&typeof e.TransformerName=="string")this.registerTransformer(e.TransformerName,e);else{let n=new e;n&&typeof n=="object"&&(n.logger=this.logger),this.registerTransformer(n.name,n)}})}catch(e){this.logger.error({error:e},"transformer regist error:")}}async loadFromConfig(){let e=this.configService.get("transformers",[]);for(let n of e)await this.registerTransformerFromConfig(n)}};import{get_encoding as lT}from"tiktoken";var ms=class{type="tiktoken";name;encoding;constructor(e="cl100k_base"){this.name=`tiktoken-${e}`;try{this.encoding=lT(e)}catch{throw new Error(`Failed to initialize tiktoken encoding: ${e}`)}}async initialize(){if(!this.encoding)throw new Error("Tiktoken encoding not initialized")}async countTokens(e){let n=this.encoding;if(!n)throw new Error("Encoding not initialized");let r=0,{messages:o,system:s,tools:a}=e;return Array.isArray(o)&&o.forEach(u=>{typeof u.content=="string"?r+=n.encode(u.content).length:Array.isArray(u.content)&&u.content.forEach(l=>{if(l.type==="text")r+=n.encode(l.text).length;else if(l.type==="tool_use")r+=n.encode(JSON.stringify(l.input)).length;else if(l.type==="tool_result"){let f=typeof l.content=="string"?l.content:JSON.stringify(l.content);r+=n.encode(f).length}})}),typeof s=="string"?r+=n.encode(s).length:Array.isArray(s)&&s.forEach(u=>{u.type==="text"&&(typeof u.text=="string"?r+=n.encode(u.text).length:Array.isArray(u.text)&&u.text.forEach(l=>{r+=n.encode(l||"").length}))}),a&&a.forEach(u=>{u.description&&(r+=n.encode(u.name+u.description).length),u.input_schema&&(r+=n.encode(JSON.stringify(u.input_schema)).length)}),r}isInitialized(){return this.encoding!==void 0}encodeText(e){let n=this.encoding;if(!n)throw new Error("Encoding not initialized");return Array.from(n.encode(e))}dispose(){this.encoding&&(this.encoding.free(),this.encoding=void 0)}};import{join as ou}from"path";import{homedir as CR}from"os";import{existsSync as Qd,mkdirSync as wR}from"fs";import{promises as su}from"fs";var dT=class{constructor(t){this.trie=this._build_trie(t)}_build_trie(t){let e=Object.create(null);for(let n of t){let r=e;for(let o=0;o<n.length;++o){let s=n[o];r=r[s]??=Object.create(null)}r.end=n}return e}split(t){let e=[],n=t.length,r=0,o=0;for(;o<n;){let s=this.trie,a=null,u=o;for(;u<n&&(s=s[t[u]]);)s.end&&(a=s.end),++u;a?(o>r&&e.push(t.slice(r,o)),e.push(a),o+=a.length,r=o):++o}return r<n&&e.push(t.slice(r)),e}},fT=dT,hT=class{constructor(t){this.content=t.content,this.id=t.id,this.single_word=t.single_word??!1,this.lstrip=t.lstrip??!1,this.rstrip=t.rstrip??!1,this.special=t.special??!1,this.normalized=t.normalized??null}},pT=hT,Q0=(()=>{let t=[...Array.from({length:94},(o,s)=>s+33),...Array.from({length:12},(o,s)=>s+161),...Array.from({length:82},(o,s)=>s+174)],e=t.slice(),n=0;for(let o=0;o<256;++o)t.includes(o)||(t.push(o),e.push(256+n),n+=1);let r=e.map(o=>String.fromCharCode(o));return Object.fromEntries(t.map((o,s)=>[o,r[s]]))})(),mT=t=>Object.fromEntries(Object.entries(t).map(([e,n])=>[n,e])),gT=mT(Q0),W0=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",yT=new Map([["(?i:'s|'t|'re|'ve|'m|'ll|'d)","(?:'([sS]|[tT]|[rR][eE]|[vV][eE]|[mM]|[lL][lL]|[dD]))"],["(?i:[sdmt]|ll|ve|re)","(?:[sS]|[dD]|[mM]|[tT]|[lL][lL]|[vV][eE]|[rR][eE])"],["[^\\r\\n\\p{L}\\p{N}]?+","[^\\r\\n\\p{L}\\p{N}]?"],["[^\\s\\p{L}\\p{N}]++","[^\\s\\p{L}\\p{N}]+"],[` ?[^(\\s|[${W0}])]+`,` ?[^\\s${W0}]+`]]),gs="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",EI=new RegExp(`^[${gs}]+$`,"gu"),Kd=t=>t.replace(/ \./g,".").replace(/ \?/g,"?").replace(/ \!/g,"!").replace(/ ,/g,",").replace(/ \' /g,"'").replace(/ n't/g,"n't").replace(/ 'm/g,"'m").replace(/ 's/g,"'s").replace(/ 've/g,"'ve").replace(/ 're/g,"'re"),tu=(t,e=!0)=>{if(t.Regex!==void 0){let n=t.Regex.replace(/\\([#&~])/g,"$1");for(let[r,o]of yT)n=n.replaceAll(r,o);return new RegExp(n,"gu")}else if(t.String!==void 0){let n=_T(t.String);return new RegExp(e?n:`(${n})`,"gu")}else return console.warn("Unknown pattern type:",t),null},_T=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),bT=(t,e,n)=>{let r=[],o=0;for(;o<t.length;){if(r.push(t[o]),(e.get(t[o])??n)!==n){++o;continue}for(;++o<t.length&&(e.get(t[o])??n)===n;)e.get(r.at(-1))!==n&&(r[r.length-1]+=t[o])}return r},CT=t=>t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=63744&&t<=64255||t>=194560&&t<=195103,wT=t=>Number.isInteger(t)||typeof t=="bigint",ET=t=>{let e=0;for(let n of t)++e;return e},kT=t=>X0(t.toLowerCase()),Nt=(...t)=>Array.prototype.concat.apply([],t),Yd=t=>new Map(Object.entries(t)),AT=(t,e)=>{let n=[],r=0;for(let o of t.matchAll(e)){let s=o[0];r<o.index&&n.push(t.slice(r,o.index)),s.length>0&&n.push(s),r=o.index+s.length}return r<t.length&&n.push(t.slice(r)),n},X0=t=>t.replace(new RegExp("\\p{M}","gu"),""),G0=(t,e,n=[])=>{if(!t||Array.isArray(t)||typeof t!="object")return`${e} must be a valid object`;for(let r of n)if(!(r in t))return`${e} must contain a "${r}" property`;return null},ST=t=>t.match(/\S+/g)||[],vT=class{constructor(){let t=function(...e){return t._call(...e)};return Object.setPrototypeOf(t,new.target.prototype)}},ys=vT,TT=class extends ys{constructor(t){super(),this.config=t}_call(t){return this.normalize(t)}},Rn=TT,DT=class extends Rn{tokenize_chinese_chars(t){let e=[];for(let n=0;n<t.length;++n){let r=t[n],o=r.charCodeAt(0);CT(o)?(e.push(" "),e.push(r),e.push(" ")):e.push(r)}return e.join("")}strip_accents(t){return t.normalize("NFD").replace(new RegExp("\\p{Mn}","gu"),"")}is_control(t){switch(t){case" ":case`
|
|
381
|
+
`:case"\r":return!1;default:return new RegExp("^\\p{Cc}|\\p{Cf}|\\p{Co}|\\p{Cs}$","u").test(t)}}clean_text(t){let e=[];for(let n of t){let r=n.charCodeAt(0);r===0||r===65533||this.is_control(n)||(/^\s$/.test(n)?e.push(" "):e.push(n))}return e.join("")}normalize(t){return this.config.clean_text&&(t=this.clean_text(t)),this.config.handle_chinese_chars&&(t=this.tokenize_chinese_chars(t)),this.config.lowercase?(t=t.toLowerCase(),this.config.strip_accents!==!1&&(t=this.strip_accents(t))):this.config.strip_accents&&(t=this.strip_accents(t)),t}},RT=DT,xT=class extends Rn{constructor(t){super(t),this.charsmap=t.precompiled_charsmap??null}normalize(t){return t=t.replace(/[\u0001-\u0008\u000B\u000E-\u001F\u007F\u008F\u009F]/gm,""),t=t.replace(/[\u0009\u000A\u000C\u000D\u00A0\u1680\u2000-\u200F\u2028\u2029\u202F\u205F\u2581\u3000\uFEFF\uFFFD]/gm," "),t.includes("\uFF5E")?t=t.split("\uFF5E").map(e=>e.normalize("NFKC")).join("\uFF5E"):t=t.normalize("NFKC"),t}},OT=xT,PT=class extends Rn{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>Z0(e))}normalize(t){return this.normalizers.reduce((e,n)=>n?n.normalize(e):e,t)}},FT=PT,IT=class extends Rn{normalize(t){let e=tu(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},NT=IT,BT=class extends Rn{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},nu=BT,MT=class extends nu{constructor(){super(...arguments),this.form="NFC"}},LT=MT,jT=class extends nu{constructor(){super(...arguments),this.form="NFD"}},UT=jT,$T=class extends nu{constructor(){super(...arguments),this.form="NFKC"}},qT=$T,zT=class extends nu{constructor(){super(...arguments),this.form="NFKD"}},HT=zT,WT=class extends Rn{normalize(t){return this.config.strip_left&&this.config.strip_right?t=t.trim():(this.config.strip_left&&(t=t.trimStart()),this.config.strip_right&&(t=t.trimEnd())),t}},GT=WT,JT=class extends Rn{normalize(t){return X0(t)}},VT=JT,KT=class extends Rn{normalize(t){return t.toLowerCase()}},YT=KT,QT=class extends Rn{normalize(t){return t=this.config.prepend+t,t}},XT=QT;function ZT(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new RT(t);case"Precompiled":return new OT(t);case"Sequence":return new FT(t);case"Replace":return new NT(t);case"NFC":return new LT(t);case"NFD":return new UT(t);case"NFKC":return new qT(t);case"NFKD":return new HT(t);case"Strip":return new GT(t);case"StripAccents":return new VT(t);case"Lowercase":return new YT(t);case"Prepend":return new XT(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var Z0=ZT,eD=class extends ys{pre_tokenize(t,e){return(Array.isArray(t)?t.map(n=>this.pre_tokenize_text(n,e)):this.pre_tokenize_text(t,e)).flat()}_call(t,e){return this.pre_tokenize(t,e)}},cn=eD,tD=class extends cn{constructor(t){super(),this.config=t,this.add_prefix_space=this.config.add_prefix_space??!1,this.trim_offsets=this.config.trim_offsets??!1,this.use_regex=this.config.use_regex??!0,this.pattern=new RegExp("'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+","gu"),this.byte_encoder=Q0,this.text_encoder=new TextEncoder}pre_tokenize_text(t,e){return this.add_prefix_space&&!t.startsWith(" ")&&(t=" "+t),(this.use_regex?t.match(this.pattern)||[]:[t]).map(n=>Array.from(this.text_encoder.encode(n),r=>this.byte_encoder[r]).join(""))}},nD=tD,rD=class extends cn{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},oD=rD,sD=class extends cn{constructor(t){super(),this.replacement=t.replacement??"\u2581",this.str_rep=t.str_rep||this.replacement,this.prepend_scheme=t.prepend_scheme??"always"}pre_tokenize_text(t,e){let{section_index:n=void 0}=e??{},r=t.replaceAll(" ",this.str_rep);return!r.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&n===0)&&(r=this.str_rep+r),[r]}},iD=sD,aD=class extends cn{constructor(t){super(),this.config=t,this.pattern=tu(this.config.pattern??{},this.config.invert??!0)}pre_tokenize_text(t){return this.pattern===null?[]:this.config.invert?t.match(this.pattern)||[]:this.config.behavior?.toLowerCase()==="removed"?t.split(this.pattern).filter(e=>e):AT(t,this.pattern)}},uD=aD,cD=class extends cn{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${gs}]+|[${gs}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},lD=cD,dD=class extends cn{constructor(t){super(),this.config=t;let e=`[^\\d]+|\\d${this.config.individual_digits?"":"+"}`;this.pattern=new RegExp(e,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},fD=dD,hD=class extends cn{constructor(){super(),this.pattern=new RegExp(`[^\\s${gs}]+|[${gs}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},pD=hD,mD=class extends cn{constructor(t){super(),this.config=t,this.pattern=tu(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},gD=mD,yD=class extends cn{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>e_(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((n,r)=>r?r.pre_tokenize(n,e):n,[t])}},_D=yD,bD=class extends cn{pre_tokenize_text(t){return ST(t)}},CD=bD;function wD(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new pD;case"Sequence":return new _D(t);case"Whitespace":return new oD;case"WhitespaceSplit":return new CD;case"Metaspace":return new iD(t);case"ByteLevel":return new nD(t);case"Split":return new uD(t);case"Punctuation":return new lD(t);case"Digits":return new fD(t);case"Replace":return new gD(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var e_=wD,ED=class extends ys{constructor(t){super(),this.config=t,this.vocab=[],this.tokens_to_ids=new Map,this.unk_token_id=void 0,this.unk_token=void 0,this.end_of_word_suffix=void 0,this.fuse_unk=this.config.fuse_unk??!1}_call(t){let e=this.encode(t);return this.fuse_unk&&(e=bT(e,this.tokens_to_ids,this.unk_token_id)),e}convert_tokens_to_ids(t){return t.map(e=>this.tokens_to_ids.get(e)??this.unk_token_id)}convert_ids_to_tokens(t){return t.map(e=>this.vocab[Number(e)]??this.unk_token)}},ru=ED,kD=class extends ru{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=Yd(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.max_input_chars_per_word=t.max_input_chars_per_word??100,this.vocab=new Array(this.tokens_to_ids.size);for(let[e,n]of this.tokens_to_ids)this.vocab[n]=e}encode(t){let e=[];for(let n of t){let r=[...n];if(r.length>this.max_input_chars_per_word){e.push(this.unk_token);continue}let o=!1,s=0,a=[];for(;s<r.length;){let u=r.length,l=null;for(;s<u;){let f=r.slice(s,u).join("");if(s>0&&(f=this.config.continuing_subword_prefix+f),this.tokens_to_ids.has(f)){l=f;break}--u}if(l===null){o=!0;break}a.push(l),s=u}o?e.push(this.unk_token):e.push(...a)}return e}},J0=kD,V0=class t_{constructor(e,n){this.is_leaf=e,this.children=n}static default(){return new t_(!1,new Map)}},AD=class{constructor(){this.root=V0.default()}extend(t){for(let e of t)this.push(e)}push(t){let e=this.root;for(let n of t){let r=e.children.get(n);r===void 0&&(r=V0.default(),e.children.set(n,r)),e=r}e.is_leaf=!0}*common_prefix_search(t){let e=this.root;if(e===void 0)return;let n="";for(let r of t){if(n+=r,e=e.children.get(r),e===void 0)return;e.is_leaf&&(yield n)}}},SD=AD,Vd=class n_{constructor(e,n,r,o,s){this.token_id=e,this.node_id=n,this.pos=r,this.length=o,this.score=s,this.prev=null,this.backtrace_score=0}clone(){let e=new n_(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},vD=class{constructor(t,e,n){this.chars=Array.from(t),this.len=this.chars.length,this.bos_token_id=e,this.eos_token_id=n,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);let r=new Vd(this.bos_token_id??0,0,0,0,0),o=new Vd(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(r.clone()),this.nodes.push(o.clone()),this.begin_nodes[this.len].push(o),this.end_nodes[0].push(r)}insert(t,e,n,r){let o=this.nodes.length,s=new Vd(r,o,t,e,n);this.begin_nodes[t].push(s),this.end_nodes[t+e].push(s),this.nodes.push(s)}viterbi(){let t=this.len,e=0;for(;e<=t;){if(this.begin_nodes[e].length==0)return[];for(let s of this.begin_nodes[e]){s.prev=null;let a=0,u=null;for(let l of this.end_nodes[e]){let f=l.backtrace_score+s.score;(u===null||f>a)&&(u=l.clone(),a=f)}if(u!==null)s.prev=u,s.backtrace_score=a;else return[]}++e}let n=[],r=this.begin_nodes[t][0].prev;if(r===null)return[];let o=r.clone();for(;o.prev!==null;)n.push(o.clone()),o=o.clone().prev.clone();return n.reverse(),n}piece(t){return this.chars.slice(t.pos,t.pos+t.length).join("")}tokens(){return this.viterbi().map(t=>this.piece(t))}token_ids(){return this.viterbi().map(t=>t.token_id)}},TD=vD;function DD(t){if(t.length===0)throw new Error("Array must not be empty");let e=t[0],n=0;for(let r=1;r<t.length;++r)t[r]<e&&(e=t[r],n=r);return[e,n]}var RD=class extends ru{constructor(t,e){super(t);let n=t.vocab.length;this.vocab=new Array(n),this.scores=new Array(n);for(let r=0;r<n;++r)[this.vocab[r],this.scores[r]]=t.vocab[r];this.unk_token_id=t.unk_id,this.unk_token=this.vocab[t.unk_id],this.tokens_to_ids=new Map(this.vocab.map((r,o)=>[r,o])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.min_score=DD(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new SD,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(t){let e=t.chars,n=1,r=0;for(;r<e.length;){let o=!1,s=[],a=e.slice(r).join(""),u=this.trie.common_prefix_search(a);for(let l of u){s.push(l);let f=this.tokens_to_ids.get(l),d=this.scores[f],h=ET(l);t.insert(r,h,d,f),!o&&h===n&&(o=!0)}o||t.insert(r,n,this.unk_score,this.unk_token_id),r+=n}}tokenize(t){let e=new TD(t,this.bos_token_id,this.eos_token_id);return this.populate_nodes(e),e.tokens()}encode(t){let e=[];for(let n of t){let r=this.tokenize(n);e.push(...r)}return e}},K0=RD,xD=class{constructor(t=(n,r)=>n>r,e=1/0){this._heap=[],this._comparator=t,this._max_size=e}get size(){return this._heap.length}is_empty(){return this.size===0}peek(){return this._heap[0]}push(...t){return this.extend(t)}extend(t){for(let e of t)if(this.size<this._max_size)this._heap.push(e),this._sift_up();else{let n=this._smallest();this._comparator(e,this._heap[n])&&(this._heap[n]=e,this._sift_up_from(n))}return this.size}pop(){let t=this.peek(),e=this.size-1;return e>0&&this._swap(0,e),this._heap.pop(),this._sift_down(),t}replace(t){let e=this.peek();return this._heap[0]=t,this._sift_down(),e}_parent(t){return(t+1>>>1)-1}_left(t){return(t<<1)+1}_right(t){return t+1<<1}_greater(t,e){return this._comparator(this._heap[t],this._heap[e])}_swap(t,e){let n=this._heap[t];this._heap[t]=this._heap[e],this._heap[e]=n}_sift_up(){this._sift_up_from(this.size-1)}_sift_up_from(t){for(;t>0&&this._greater(t,this._parent(t));)this._swap(t,this._parent(t)),t=this._parent(t)}_sift_down(){let t=0;for(;this._left(t)<this.size&&this._greater(this._left(t),t)||this._right(t)<this.size&&this._greater(this._right(t),t);){let e=this._right(t)<this.size&&this._greater(this._right(t),this._left(t))?this._right(t):this._left(t);this._swap(t,e),t=e}}_smallest(){return 2**Math.floor(Math.log2(this.size))-1}},OD=xD,PD=class{constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let e=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,e),e}put(t,e){this.cache.has(t)&&this.cache.delete(t),this.cache.set(t,e),this.cache.size>this.capacity&&this.cache.delete(this.cache.keys().next().value)}clear(){this.cache.clear()}},FD=PD,ID=class extends ru{constructor(t){super(t),this.tokens_to_ids=Yd(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.vocab=new Array(this.tokens_to_ids.size);for(let[n,r]of this.tokens_to_ids)this.vocab[r]=n;let e=Array.isArray(t.merges[0]);this.merges=e?t.merges:t.merges.map(n=>n.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((n,r)=>[JSON.stringify(n),r])),this.end_of_word_suffix=t.end_of_word_suffix,this.continuing_subword_suffix=t.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback&&(this.text_encoder=new TextEncoder),this.ignore_merges=this.config.ignore_merges??!1,this.max_length_to_cache=256,this.cache_capacity=1e4,this.cache=new FD(this.cache_capacity)}clear_cache(){this.cache.clear()}bpe(t){if(t.length===0)return[];let e=this.cache.get(t);if(e!==void 0)return e;let n=Array.from(t);this.end_of_word_suffix&&(n[n.length-1]+=this.end_of_word_suffix);let r=[];if(n.length>1){let o=new OD((u,l)=>u.score<l.score),s={token:n[0],bias:0,prev:null,next:null},a=s;for(let u=1;u<n.length;++u){let l={bias:u/n.length,token:n[u],prev:a,next:null};a.next=l,this.add_node(o,a),a=l}for(;!o.is_empty();){let u=o.pop();if(u.deleted||!u.next||u.next.deleted)continue;if(u.deleted=!0,u.next.deleted=!0,u.prev){let f={...u.prev};u.prev.deleted=!0,u.prev=f,f.prev?f.prev.next=f:s=f}let l={token:u.token+u.next.token,bias:u.bias,prev:u.prev,next:u.next.next};l.prev?(l.prev.next=l,this.add_node(o,l.prev)):s=l,l.next&&(l.next.prev=l,this.add_node(o,l))}for(let u=s;u!==null;u=u.next)r.push(u.token)}else r=n;if(this.continuing_subword_suffix)for(let o=0;o<r.length-1;++o)r[o]+=this.continuing_subword_suffix;return t.length<this.max_length_to_cache&&this.cache.put(t,r),r}add_node(t,e){let n=this.bpe_ranks.get(JSON.stringify([e.token,e.next.token]));n!==void 0&&(e.score=n+e.bias,t.push(e))}encode(t){let e=[];for(let n of t){if(this.ignore_merges&&this.tokens_to_ids.has(n)){e.push(n);continue}let r=this.bpe(n);for(let o of r)if(this.tokens_to_ids.has(o))e.push(o);else if(this.byte_fallback){let s=Array.from(this.text_encoder.encode(o)).map(a=>`<0x${a.toString(16).toUpperCase().padStart(2,"0")}>`);s.every(a=>this.tokens_to_ids.has(a))?e.push(...s):e.push(this.unk_token)}else e.push(this.unk_token)}return e}},Y0=ID,ND=class extends ru{constructor(t,e){super(t);let n=t.vocab;this.tokens_to_ids=Yd(e.target_lang?n[e.target_lang]:n),this.bos_token=e.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=e.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=e.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=new Array(this.tokens_to_ids.size);for(let[r,o]of this.tokens_to_ids)this.vocab[o]=r}encode(t){return t}},BD=ND;function MD(t,e){switch(t.type){case"WordPiece":return new J0(t);case"Unigram":return new K0(t,e.eos_token);case"BPE":return new Y0(t);default:if(t.vocab)return Array.isArray(t.vocab)?new K0(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new Y0(t):new J0(t):new BD(t,{target_lang:e.target_lang,bos_token:e.bos_token,eos_token:e.eos_token,pad_token:e.pad_token,unk_token:e.unk_token});throw new Error(`Unknown TokenizerModel type: ${t?.type}`)}}var LD=MD,jD=class extends ys{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},_s=jD,UD=class extends _s{post_process(t,e=null,n=!0){let r=e===null?this.config.single:this.config.pair,o=[],s=[];for(let a of r)"SpecialToken"in a?n&&(o.push(a.SpecialToken.id),s.push(a.SpecialToken.type_id)):"Sequence"in a&&(a.Sequence.id==="A"?(o=Nt(o,t),s=Nt(s,new Array(t.length).fill(a.Sequence.type_id))):a.Sequence.id==="B"&&(o=Nt(o,e),s=Nt(s,new Array(e.length).fill(a.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},$D=UD,qD=class extends _s{post_process(t,e=null){return{tokens:e?Nt(t,e):t}}},zD=qD,HD=class extends _s{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,n=!0){n&&(t=Nt([this.cls[0]],t,[this.sep[0]]));let r=new Array(t.length).fill(0);if(e){let o=[],s=n?[this.sep[0]]:[];t=Nt(t,o,e,s),r=Nt(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},WD=HD,GD=class extends _s{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,n=!0){n&&(t=Nt([this.cls[0]],t,[this.sep[0]]));let r=new Array(t.length).fill(0);if(e){let o=n?[this.sep[0]]:[],s=n?[this.sep[0]]:[];t=Nt(t,o,e,s),r=Nt(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},JD=GD,VD=class extends _s{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>r_(e))}post_process(t,e=null,n=!0){let r={tokens:t};for(let o of this.processors)r=o.post_process(r.tokens,e,n);return r}},KD=VD;function YD(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new $D(t);case"ByteLevel":return new zD(t);case"BertProcessing":return new WD(t);case"RobertaProcessing":return new JD(t);case"Sequence":return new KD(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var r_=YD,QD=class extends ys{constructor(t){super(),this.config=t,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets="trim_offsets"in t?t.trim_offsets:!1}_call(t){return this.decode(t)}decode(t){return this.decode_chain(t).join("")}},ln=QD,XD=class extends ln{constructor(t){super(t),this.byte_decoder=gT,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(t){let e=t.join(""),n=new Uint8Array([...e].map(r=>this.byte_decoder[r]));return this.text_decoder.decode(n)}decode_chain(t){let e=[],n=[];for(let r of t)this.added_tokens.find(o=>o.content===r)!==void 0?(n.length>0&&(e.push(this.convert_tokens_to_string(n)),n=[]),e.push(r)):n.push(r);return n.length>0&&e.push(this.convert_tokens_to_string(n)),e}},ZD=XD,eR=class extends ln{constructor(t){super(t),this.cleanup=t.cleanup}decode_chain(t){return t.map((e,n)=>{if(n!==0){let r=this.config.prefix;r&&e.startsWith(r)?e=e.replace(r,""):e=" "+e}return this.cleanup&&(e=Kd(e)),e})}},tR=eR,nR=class extends ln{constructor(t){super(t),this.replacement=t.replacement??"\u2581"}decode_chain(t){let e=[];for(let n=0;n<t.length;++n){let r=t[n].replaceAll(this.replacement," ");n==0&&r.startsWith(" ")&&(r=r.substring(1)),e.push(r)}return e}},rR=nR,oR=class extends ln{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,n)=>e.replaceAll(this.suffix,n===t.length-1?"":" "))}},sR=oR,iR=class extends ln{constructor(t){super(t),this.pad_token=t.pad_token??"",this.word_delimiter_token=t.word_delimiter_token??"",this.cleanup=t.cleanup}convert_tokens_to_string(t){if(t.length===0)return"";let e=[t[0]];for(let r=1;r<t.length;++r)t[r]!==e.at(-1)&&e.push(t[r]);let n=e.filter(r=>r!==this.pad_token).join("");return this.cleanup&&(n=Kd(n).replaceAll(this.word_delimiter_token," ").trim()),n}decode_chain(t){return[this.convert_tokens_to_string(t)]}},aR=iR,uR=class extends ln{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>o_(e))}decode_chain(t){return this.decoders.reduce((e,n)=>n.decode_chain(e),t)}},cR=uR,lR=class extends ln{decode_chain(t){let e=tu(this.config.pattern),n=this.config.content??"";return e===null?t:t.map(r=>r.replaceAll(e,n))}},dR=lR,fR=class extends ln{decode_chain(t){return[t.join("")]}},hR=fR,pR=class extends ln{constructor(t){super(t),this.content=t.content??"",this.start=t.start??0,this.stop=t.stop??0}decode_chain(t){return t.map(e=>{let n=0;for(let o=0;o<this.start&&e[o]===this.content;++o)n=o+1;let r=e.length;for(let o=0;o<this.stop;++o){let s=e.length-o-1;if(e[s]===this.content){r=s;continue}else break}return e.slice(n,r)})}},mR=pR,gR=class extends ln{constructor(t){super(t),this.text_decoder=new TextDecoder}decode_chain(t){let e=[],n=[];for(let r of t){let o=null;if(r.length===6&&r.startsWith("<0x")&&r.endsWith(">")){let s=parseInt(r.slice(3,5),16);isNaN(s)||(o=s)}if(o!==null)n.push(o);else{if(n.length>0){let s=this.text_decoder.decode(Uint8Array.from(n));e.push(s),n=[]}e.push(r)}}if(n.length>0){let r=this.text_decoder.decode(Uint8Array.from(n));e.push(r),n=[]}return e}},yR=gR;function _R(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new ZD(t);case"WordPiece":return new tR(t);case"Metaspace":return new rR(t);case"BPEDecoder":return new sR(t);case"CTC":return new aR(t);case"Sequence":return new cR(t);case"Replace":return new dR(t);case"Fuse":return new hR(t);case"Strip":return new mR(t);case"ByteFallback":return new yR(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var o_=_R,bR=class{constructor(t,e){let n=G0(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(n)throw new Error(n);let r=G0(e,"Config");if(r)throw new Error(r);this.tokenizer=t,this.config=e,this.normalizer=Z0(this.tokenizer.normalizer),this.pre_tokenizer=e_(this.tokenizer.pre_tokenizer),this.model=LD(this.tokenizer.model,this.config),this.post_processor=r_(this.tokenizer.post_processor),this.decoder=o_(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[],this.tokenizer.added_tokens.forEach(o=>{let s=new pT(o);this.added_tokens.push(s),this.model.tokens_to_ids.set(s.content,s.id),this.model.vocab[s.id]=s.content,s.special&&(this.special_tokens.push(s.content),this.all_special_ids.push(s.id))}),(this.config.additional_special_tokens??[]).forEach(o=>{this.special_tokens.includes(o)||this.special_tokens.push(o)}),this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.added_tokens_splitter=new fT(this.added_tokens.map(o=>o.content)),this.added_tokens_map=new Map(this.added_tokens.map(o=>[o.content,o])),this.remove_space=this.config.remove_space,this.clean_up_tokenization_spaces=this.config.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=this.config.do_lowercase_and_remove_accent??!1}encode(t,{text_pair:e=null,add_special_tokens:n=!0,return_token_type_ids:r=null}={}){let{tokens:o,token_type_ids:s}=this.tokenize_helper(t,{text_pair:e,add_special_tokens:n}),a=this.model.convert_tokens_to_ids(o),u={ids:a,tokens:o,attention_mask:new Array(a.length).fill(1)};return r&&s&&(u.token_type_ids=s),u}decode(t,e={}){if(!Array.isArray(t)||t.length===0||!wT(t[0]))throw Error("token_ids must be a non-empty array of integers.");let n=this.model.convert_ids_to_tokens(t);e.skip_special_tokens&&(n=n.filter(o=>!this.special_tokens.includes(o)));let r=this.decoder?this.decoder(n):n.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(r=r.replaceAll(this.decoder.end_of_word_suffix," "),e.skip_special_tokens&&(r=r.trim())),(e.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)&&(r=Kd(r)),r}tokenize(t,{text_pair:e=null,add_special_tokens:n=!1}={}){return this.tokenize_helper(t,{text_pair:e,add_special_tokens:n}).tokens}encode_text(t){if(t===null)return null;let e=this.added_tokens_splitter.split(t);return e.forEach((n,r)=>{let o=this.added_tokens_map.get(n);o&&(o.lstrip&&r>0&&(e[r-1]=e[r-1].trimEnd()),o.rstrip&&r<e.length-1&&(e[r+1]=e[r+1].trimStart()))}),e.flatMap((n,r)=>{if(n.length===0)return[];if(this.added_tokens_map.has(n))return[n];if(this.remove_space===!0&&(n=n.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(n=kT(n)),this.normalizer!==null&&(n=this.normalizer(n)),n.length===0)return[];let o=this.pre_tokenizer!==null?this.pre_tokenizer(n,{section_index:r}):[n];return this.model(o)})}tokenize_helper(t,{text_pair:e=null,add_special_tokens:n=!0}){let r=this.encode_text(t),o=this.encode_text(e||null);return this.post_processor?this.post_processor(r,o,n):{tokens:Nt(r??[],o??[])}}token_to_id(t){return this.model.tokens_to_ids.get(t)}id_to_token(t){return this.model.vocab[t]}get_added_tokens_decoder(){let t=new Map;for(let e of this.added_tokens)t.set(e.id,e);return t}},s_=bR;var iu=class{type="huggingface";name;modelId;logger;options;tokenizer=null;cacheDir;safeModelName;constructor(e,n,r={}){this.modelId=e,this.logger=n,this.options=r,this.cacheDir=r.cacheDir||ou(CR(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=ou(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:ou(e,"tokenizer.json"),tokenizerConfig:ou(e,"tokenizer_config.json")}}ensureDir(e){Qd(e)||wR(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!Qd(e.tokenizerJson)||!Qd(e.tokenizerConfig))return null;let[n,r]=await Promise.all([su.readFile(e.tokenizerJson,"utf-8"),su.readFile(e.tokenizerConfig,"utf-8")]);return{tokenizerJson:JSON.parse(n),tokenizerConfig:JSON.parse(r)}}catch(e){return this.logger?.warn(`Failed to load from cache: ${e.message}`),null}}async downloadAndCache(){let e=this.getCachePaths(),n={json:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer.json`,config:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer_config.json`};this.logger?.info(`Downloading tokenizer files for ${this.modelId}`);let r=new AbortController,o=setTimeout(()=>r.abort(),this.options.timeout||3e4);try{let[s,a]=await Promise.all([fetch(n.json,{signal:r.signal}),fetch(n.config,{signal:r.signal})]);if(!s.ok)throw new Error(`Failed to fetch tokenizer.json: ${s.statusText}`);let[u,l]=await Promise.all([s.json(),a.ok?a.json():Promise.resolve({})]);return this.ensureDir(e.modelDir),await Promise.all([su.writeFile(e.tokenizerJson,JSON.stringify(u,null,2)),su.writeFile(e.tokenizerConfig,JSON.stringify(l,null,2))]),{tokenizerJson:u,tokenizerConfig:l}}finally{clearTimeout(o)}}async initialize(){try{this.logger?.info(`Initializing HuggingFace tokenizer: ${this.modelId}`);let e=this.getCachePaths();this.ensureDir(this.cacheDir);let n=await this.loadFromCache()||await this.downloadAndCache();this.tokenizer=new s_(n.tokenizerJson,n.tokenizerConfig),this.logger?.info(`Tokenizer initialized: ${this.name}`)}catch(e){throw this.logger?.error(`Failed to initialize tokenizer: ${e.message}`),new Error(`Failed to initialize HuggingFace tokenizer for ${this.modelId}: ${e.message}`)}}async countTokens(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");try{let n=this.extractTextFromRequest(e);return this.tokenizer.encode(n).ids.length}catch(n){throw this.logger?.error(`Error counting tokens: ${n.message}`),n}}isInitialized(){return this.tokenizer!==null}encodeText(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");return this.tokenizer.encode(e).ids}dispose(){this.tokenizer=null}extractTextFromRequest(e){let n=[],{messages:r,system:o,tools:s}=e;if(Array.isArray(r)){for(let a of r)if(typeof a.content=="string")n.push(a.content);else if(Array.isArray(a.content))for(let u of a.content)u.type==="text"&&u.text?n.push(u.text):u.type==="tool_use"&&u.input?n.push(JSON.stringify(u.input)):u.type==="tool_result"&&n.push(typeof u.content=="string"?u.content:JSON.stringify(u.content))}if(typeof o=="string")n.push(o);else if(Array.isArray(o)){for(let a of o)if(a.type==="text"){if(typeof a.text=="string")n.push(a.text);else if(Array.isArray(a.text))for(let u of a.text)u&&n.push(u)}}if(s)for(let a of s)a.name&&n.push(a.name),a.description&&n.push(a.description),a.input_schema&&n.push(JSON.stringify(a.input_schema));return n.join(" ")}};var au=class{type="api";name;config;logger;options;constructor(e,n,r={}){if(!e.url||!e.apiKey)throw new Error("API tokenizer requires url and apiKey");this.config={url:e.url,apiKey:e.apiKey,requestFormat:e.requestFormat||"standard",responseField:e.responseField||"token_count",headers:e.headers||{}},this.logger=n,this.options=r;try{let o=new URL(e.url);this.name=`api-${o.hostname}`}catch{this.name=`api-${e.url}`}}async initialize(){try{new URL(this.config.url)}catch{throw new Error(`Invalid API URL: ${this.config.url}`)}}async countTokens(e){try{let n=this.formatRequestBody(e),r={"Content-Type":"application/json",Authorization:`Bearer ${this.config.apiKey}`,...this.config.headers},o=new AbortController,s=setTimeout(()=>o.abort(),this.options.timeout||3e4),a=await fetch(this.config.url,{method:"POST",headers:r,body:JSON.stringify(n),signal:o.signal});if(clearTimeout(s),!a.ok)throw new Error(`API tokenizer request failed: ${a.status} ${a.statusText}`);let u=await a.json();return this.extractTokenCount(u)}catch(n){throw n.name==="AbortError"?new Error("API tokenizer request timed out"):n}}isInitialized(){return!0}dispose(){}formatRequestBody(e){switch(this.config.requestFormat){case"standard":return e;case"openai":return{model:"gpt-3.5-turbo",messages:this.extractMessagesAsOpenAIFormat(e)};case"anthropic":return{messages:e.messages||[],system:e.system,tools:e.tools};case"custom":return{text:this.extractConcatenatedText(e)};default:return e}}extractMessagesAsOpenAIFormat(e){return e.messages?e.messages.map(n=>({role:n.role,content:this.extractTextFromMessage(n)})):[]}extractTextFromMessage(e){return typeof e.content=="string"?e.content:Array.isArray(e.content)?e.content.map(n=>n.type==="text"&&n.text?n.text:n.type==="tool_use"&&n.input?JSON.stringify(n.input):n.type==="tool_result"?typeof n.content=="string"?n.content:JSON.stringify(n.content):"").join(" "):""}extractConcatenatedText(e){let n=[];return e.messages&&e.messages.forEach(r=>{n.push(this.extractTextFromMessage(r))}),typeof e.system=="string"?n.push(e.system):Array.isArray(e.system)&&e.system.forEach(r=>{r.type==="text"&&(typeof r.text=="string"?n.push(r.text):Array.isArray(r.text)&&r.text.forEach(o=>{o&&n.push(o)}))}),e.tools&&e.tools.forEach(r=>{r.name&&n.push(r.name),r.description&&n.push(r.description),r.input_schema&&n.push(JSON.stringify(r.input_schema))}),n.join(" ")}extractTokenCount(e){try{let n=this.config.responseField,r=n.split("."),o=e;for(let s of r){if(o==null)throw new Error(`Field path '${n}' not found in response`);o=o[s]}if(typeof o!="number")throw new Error(`Expected number at field path '${n}', got ${typeof o}`);return o}catch(n){throw this.logger?.error(`Failed to extract token count from API response: ${n.message}. Response: ${JSON.stringify(e)}`),new Error(`Invalid response from API tokenizer: ${n.message}`)}}};var wo=class{tokenizers=new Map;configService;logger;options;fallbackTokenizer;constructor(e,n,r={}){this.configService=e,this.logger=n,this.options={timeout:r.timeout??3e4,...r}}async initialize(){try{this.fallbackTokenizer=new ms("cl100k_base"),await this.fallbackTokenizer.initialize(),this.tokenizers.set("fallback",this.fallbackTokenizer),this.logger?.info("TokenizerService initialized successfully")}catch(e){throw this.logger?.error(`TokenizerService initialization error: ${e.message}`),e}}async getTokenizer(e){let n=this.getCacheKey(e);if(this.tokenizers.has(n))return this.tokenizers.get(n);let r;try{switch(e.type){case"tiktoken":r=new ms(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),r=new iu(e.model,this.logger,{timeout:this.options.timeout});break;case"api":r=new au(e,this.logger,{timeout:this.options.timeout});break;default:throw new Error(`Unknown tokenizer type: ${e.type}`)}return this.logger?.info(`Calling initialize() on ${e.type} tokenizer...`),await r.initialize(),this.tokenizers.set(n,r),this.logger?.info(`Tokenizer initialized successfully: ${e.type} (${n})`),r}catch(o){return this.logger?.error(`Failed to initialize ${e.type} tokenizer: ${o.message}`),this.logger?.error(`Error stack: ${o.stack}`),this.fallbackTokenizer||await this.initialize(),this.fallbackTokenizer}}async countTokens(e,n){let r=n?await this.getTokenizer(n):this.fallbackTokenizer;return{tokenCount:await r.countTokens(e),tokenizerUsed:r.name,cached:!1}}getTokenizerConfigForModel(e,n){let o=(this.configService.get("providers")||[]).find(s=>s.name===e);if(o?.tokenizer)return o.tokenizer.models?.[n]?o.tokenizer.models[n]:o.tokenizer.default}dispose(){this.tokenizers.forEach(e=>{try{e.dispose()}catch(n){this.logger?.error(`Error disposing tokenizer: ${n}`)}}),this.tokenizers.clear()}getCacheKey(e){switch(e.type){case"tiktoken":return`tiktoken:${e.encoding||"cl100k_base"}`;case"huggingface":return`hf:${e.model}`;case"api":return`api:${e.url}`;default:return`unknown:${JSON.stringify(e)}`}}};Un();var dn=class{async fetchJson(e,n,r,o,s){let a=s||n.apiKey;if(!a)return null;let u={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${a}`},signal:AbortSignal.timeout(r)};if(o)try{let{ProxyAgent:l}=await import("undici");u.dispatcher=new l(new URL(o).toString())}catch{}try{let l=await fetch(e,u);return l.ok?await l.json():null}catch{return null}}hasQuotaData(e){return e.totalBalance!==void 0||e.usedBalance!==void 0||e.remainingBalance!==void 0||e.usedDailyBalance!==void 0||e.limitDaily!==void 0||e.resetTime!==void 0}},Xd=class extends dn{async queryQuota(e,n,r){let o=await this.fetchJson("https://api.deepseek.com/user/balance",e,n,r),a=(Array.isArray(o?.balance_infos)?o.balance_infos:[]).find(l=>_e(l?.total_balance)!==void 0);if(!a)return null;let u=_e(a.total_balance);return u===void 0?null:{totalBalance:u,currency:typeof a.currency=="string"?a.currency:void 0}}},Zd=class extends dn{async queryQuota(e,n,r){let s=(await this.fetchJson("https://openrouter.ai/api/v1/key",e,n,r))?.data;if(!s||typeof s!="object")return null;let a={},u=_e(s.limit),l=_e(s.limit_remaining),f=_e(s.usage),d=_e(s.usage_daily);return u!==void 0&&(a.totalBalance=u),l!==void 0&&(a.remainingBalance=l),f!==void 0&&(a.usedBalance=f),d!==void 0&&(a.usedDailyBalance=d),this.hasQuotaData(a)?a:null}},ef=class extends dn{async queryQuota(e,n,r){let o=xR(e.baseUrl),a=(await this.fetchJson(o,e,n,r))?.data;if(!a||typeof a!="object")return null;let u={},l=_e(a.totalBalance),f=_e(a.balance);return l!==void 0&&(u.totalBalance=l),f!==void 0&&(u.remainingBalance=f),l!==void 0&&f!==void 0&&(u.usedBalance=Math.max(0,l-f)),this.hasQuotaData(u)?u:null}},tf=class extends dn{async queryQuota(e,n,r){if(!e.apiKey)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:e.apiKey.trim()},signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(r).toString())}catch{}try{let a=await fetch("https://api.z.ai/api/monitor/usage/quota/limit",s);if(!a.ok)return null;let u=await a.json(),l=Array.isArray(u?.data?.limits)?u.data.limits:[],f=null,d=null,h=null;for(let C of l)C.type==="TOKENS_LIMIT"?C.unit===3?f=C:C.unit===6?d=C:f||(f=C):C.type==="TIME_LIMIT"&&(h=C);let m={};if(f){let C=_e(f.currentValue),w=_e(f.usage),y=_e(f.remaining),g=_e(f.percentage);C!==void 0?m.usedDailyBalance=C:g!==void 0&&(m.usedDailyBalance=g,m.limitDaily=100),w!==void 0?m.limitDaily=w:C!==void 0&&y!==void 0&&(m.limitDaily=C+y),f.nextResetTime&&(m.resetTime=new Date(f.nextResetTime).toISOString())}if(d){let C=_e(d.currentValue),w=_e(d.usage),y=_e(d.remaining),g=_e(d.percentage);C!==void 0?m.usedBalance=C:g!==void 0&&(m.usedBalance=g,m.totalBalance=100),w!==void 0?m.totalBalance=w:C!==void 0&&y!==void 0&&(m.totalBalance=C+y),d.nextResetTime&&!m.resetTime&&(m.resetTime=new Date(d.nextResetTime).toISOString())}if(h){if(m.usedDailyBalance===void 0){let C=_e(h.currentValue);C!==void 0&&(m.usedDailyBalance=C)}if(m.limitDaily===void 0){let C=_e(h.usage),w=_e(h.currentValue),y=_e(h.remaining);C!==void 0?m.limitDaily=C:w!==void 0&&y!==void 0&&(m.limitDaily=w+y)}h.nextResetTime&&!m.resetTime&&(m.resetTime=new Date(h.nextResetTime).toISOString())}return this.hasQuotaData(m)?m:null}catch{return null}}},nf=class extends dn{async queryQuota(e,n,r){if(!e.quotaToken)return null;let o={method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",Origin:"https://bailian.console.aliyun.com",Referer:"https://bailian.console.aliyun.com/cn-beijing",Cookie:e.quotaToken},signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:u}=await import("undici");o.dispatcher=new u(new URL(r).toString())}catch{}let s=JSON.stringify({Api:"zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",V:"1.0",Data:{queryCodingPlanInstanceInfoRequest:{commodityCode:"sfm_codingplan_public_cn",onlyLatestOne:!0},cornerstoneParam:{feTraceId:`ccr-${Date.now()}`,feURL:"https://bailian.console.aliyun.com/cn-beijing",protocol:"V2",console:"ONE_CONSOLE",productCode:"p_efm",switchAgent:10736808,switchUserType:3,domain:"bailian.console.aliyun.com",consoleSite:"BAILIAN_ALIYUN",userNickName:"",userPrincipalName:"",xsp_lang:"zh-CN"}}}),a=new URLSearchParams({params:s,region:"cn-beijing"}).toString();try{let u=await fetch("https://bailian-cs.console.aliyun.com/data/api.json?action=BroadScopeAspnGateway&product=sfm_bailian&api=zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",{...o,body:a});if(!u.ok)return null;let f=(await u.json())?.data?.DataV2?.data?.data?.codingPlanInstanceInfos;if(!Array.isArray(f)||f.length===0)return null;let d=f[0]?.codingPlanQuotaInfo;if(!d)return null;let h={},m=_e(d.per5HourUsedQuota),C=_e(d.per5HourTotalQuota);m!==void 0&&(h.usedDailyBalance=m),C!==void 0&&(h.limitDaily=C);let w=_e(d.perWeekUsedQuota),y=_e(d.perWeekTotalQuota);return w!==void 0&&(h.usedBalance=w),y!==void 0&&(h.totalBalance=y),this.hasQuotaData(h)?h:null}catch{return null}}},rf=class extends dn{async queryQuota(e,n,r){if(!e.quotaToken)return null;let s={method:"GET",headers:{Accept:"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",Origin:"https://maas.xfyun.cn",Referer:"https://maas.xfyun.cn/packageSubscription",Authorization:(i_(e.quotaToken,"atp-auth-token")||i_(e.quotaToken,"tenantToken")||e.quotaToken).trim(),Cookie:e.quotaToken},signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(r).toString())}catch{}try{let a=await fetch("https://maas.xfyun.cn/api/v1/gpt-finetune/coding-plan/list?page=1&size=10",s);if(!a.ok)return null;let u=await a.json();if(u?.succeed===!1||u?.failed===!0)return null;let l=OR(u,e.apiKey),f=l?.codingPlanUsageDTO||l?.usage||l;if(!f||typeof f!="object")return null;let d={},h=_e(f.rp5hUsage),m=_e(f.rp5hLimit);h!==void 0&&(d.usedDailyBalance=h),m!==void 0&&(d.limitDaily=m);let C=_e(f.rpwUsage),w=_e(f.rpwLimit);return C!==void 0&&(d.usedBalance=C),w!==void 0&&(d.totalBalance=w),d.remainingBalance===void 0&&w!==void 0&&C!==void 0&&(d.remainingBalance=Math.max(0,w-C)),this.hasQuotaData(d)?d:null}catch{return null}}},of=class extends dn{async queryQuota(e,n,r){let o=e.quotaToken||e.apiKey;if(!o)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${o.trim()}`},signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(r).toString())}catch{}try{let a=await fetch("https://api.kimi.com/coding/v1/usages",s);if(!a.ok)return null;let u=await a.json(),l={},f=Array.isArray(u?.limits)?u.limits:[];if(f.length>0&&f[0]?.detail){let h=f[0].detail,m=_e(h.limit),C=_e(h.remaining),w=h.resetTime;m!==void 0&&C!==void 0&&(l.usedDailyBalance=Math.max(0,m-C),l.limitDaily=m),w&&(l.resetTime=new Date(w).toISOString())}let d=u?.usage;if(d){let h=_e(d.limit),m=_e(d.remaining),C=_e(d.used),w=d.resetTime;h!==void 0&&(l.totalBalance=h,C!==void 0?l.usedBalance=C:m!==void 0&&(l.usedBalance=Math.max(0,h-m),l.remainingBalance=m)),w&&(l.resetTime7d=new Date(w).toISOString(),l.resetTime||(l.resetTime=l.resetTime7d))}return this.hasQuotaData(l)?l:null}catch{return null}}},sf=class extends dn{async queryQuota(e,n,r){let o=e.quotaToken||e.apiKey;if(!o)return null;let s=cf(e.baseUrl)||"api.minimaxi.com",a=s.endsWith(".minimax.io")||s==="minimax.io"?"api.minimax.io":"api.minimaxi.com";try{let u=[`https://${a}/v1/token_plan/remains`,`https://${a}/v1/api/openplatform/coding_plan/remains`],l=null;for(let S of u)if(l=await this.fetchJson(S,e,n,r,o.trim()),l)break;if(!l)return null;if(l?.base_resp){let S=l.base_resp.status_code;if(S!==void 0&&S!==0)return null}let f=Array.isArray(l?.model_remains)?l.model_remains:[];if(f.length===0)return null;let d=f[0],h={},m=_e(d.current_interval_total_count),C=_e(d.current_interval_usage_count),w=_e(d.current_interval_remaining_percent),y=_e(d.end_time);m!==void 0&&C!==void 0&&m>0?(h.usedDailyBalance=Math.max(0,m-C),h.limitDaily=m):w!==void 0&&(h.limitDaily=100,h.usedDailyBalance=Math.max(0,100-w)),y&&(h.resetTime=new Date(y).toISOString());let g=_e(d.current_weekly_total_count),_=_e(d.current_weekly_usage_count),E=_e(d.current_weekly_remaining_percent),b=_e(d.weekly_end_time);return g!==void 0&&_!==void 0&&g>0?(h.usedBalance=Math.max(0,g-_),h.remainingBalance=_,h.totalBalance=g):E!==void 0&&(h.totalBalance=100,h.usedBalance=Math.max(0,100-E),h.remainingBalance=E),b&&!h.resetTime&&(h.resetTime=new Date(b).toISOString()),this.hasQuotaData(h)?h:null}catch{return null}}},ER=new Xd,kR=new Zd,AR=new ef,SR=new tf,vR=new nf,TR=new rf,DR=new of,RR=new sf;function uf(t){let e=cf(t);return e?e==="kimi.com"||e.endsWith(".kimi.com")||e==="moonshot.cn"||e.endsWith(".moonshot.cn")?DR:e==="minimaxi.com"||e.endsWith(".minimaxi.com")||e==="minimax.io"||e.endsWith(".minimax.io")?RR:e==="deepseek.com"||e.endsWith(".deepseek.com")?ER:e==="openrouter.ai"||e.endsWith(".openrouter.ai")?kR:e==="siliconflow.com"||e.endsWith(".siliconflow.com")||e==="siliconflow.cn"||e.endsWith(".siliconflow.cn")?AR:e==="bigmodel.cn"||e.endsWith(".bigmodel.cn")?SR:e==="dashscope.aliyuncs.com"||e.endsWith(".dashscope.aliyuncs.com")?vR:e==="xf-yun.com"||e.endsWith(".xf-yun.com")||e==="xfyun.cn"||e.endsWith(".xfyun.cn")||e==="xfyun.com"||e.endsWith(".xfyun.com")?TR:null:null}function xR(t){let e=cf(t);return e?.endsWith(".siliconflow.cn")||e==="siliconflow.cn"?"https://api.siliconflow.cn/v1/user/info":"https://api.siliconflow.com/v1/user/info"}function OR(t,e){let n=af(t);if(n.length===0)return null;let r=String(e||"").split(":").map(s=>s.trim()).filter(Boolean);return n.find(s=>{let a=s?.codingPlanAppCredentialDTO||s?.appCredential||s,u=String(a?.apiKey||a?.api_key||"").trim();return u&&r.some(l=>l.includes(u)||u.includes(l))})||n[0]}function af(t){return!t||typeof t!="object"?[]:!Array.isArray(t)&&t.codingPlanUsageDTO?[t]:Array.isArray(t)?t.flatMap(e=>af(e)):Object.values(t).flatMap(e=>af(e))}function i_(t,e){let n=t.match(new RegExp(`(?:^|;\\s*)${e}=([^;]+)`));return n?decodeURIComponent(n[1]):void 0}function cf(t){try{return new URL(t).hostname.toLowerCase()}catch{return null}}function _e(t){if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(typeof t!="string")return;let e=t.trim().replace(/,/g,"");if(!e)return;let n=Number(e);return Number.isFinite(n)?n:void 0}var PR="x-claude-code-router-source",FR="x-claude-code-router-version";function a_(t){return{[PR]:t,[FR]:oi}}var IR={enabled:!0,quotaProbeIntervalMinutes:10,probeTimeoutMs:15e3,initialDelayMs:5e3,excludeProviders:[]};function NR(t){return t===!0||t==="true"||t===1||t==="1"}function BR(t){let e=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0");return`${e}-${n}-${r}`}function MR(t){try{let e=new URL(t),n=e.pathname;return n.endsWith("/v1/messages")?n=n.slice(0,-12):n.endsWith("/messages")?n=n.slice(0,-9):n.endsWith("/v1/chat/completions")?n=n.slice(0,-20):n.endsWith("/chat/completions")&&(n=n.slice(0,-17)),n.endsWith("/v1")||(n=n.endsWith("/")?`${n}v1`:`${n}/v1`),e.pathname=`${n}/models`,e.toString()}catch{return null}}function LR(t){try{let e=new URL(t).hostname.toLowerCase();return e.includes("moonshot")||e.includes("kimi")}catch{return!1}}async function lf(t,e,n){let r=MR(t.baseUrl);if(!r)return{success:!1,error:"Cannot derive models endpoint from baseUrl"};try{let o={method:"GET",headers:{Authorization:`Bearer ${t.apiKey}`},signal:AbortSignal.timeout(e)};if(n)try{let{ProxyAgent:u}=await import("undici");o.dispatcher=new u(new URL(n).toString())}catch{}let s=await fetch(r,o);if(s.headers&&Io(t.name,t.baseUrl,s.headers),s.ok)return{success:!0,headers:s.headers};if(s.status===429)return{success:!1,error:`HTTP 429: ${(await s.text().catch(()=>"")).slice(0,100)||"Rate limited"}`,headers:s.headers};if(s.status>=400&&s.status<500)return{success:!0,headers:s.headers};let a=await s.text().catch(()=>"");return{success:!1,error:`HTTP ${s.status}: ${a.slice(0,100)}`,headers:s.headers}}catch(o){return{success:!1,error:o?.message||o?.toString()||"Unknown probe error"}}}async function jR(t,e,n,r){let o=t.wakeupModel||(Array.isArray(t.models)?t.models[0]:void 0);if(!o)return{success:!1,error:"No models configured for provider"};let s=t.baseUrl,a=t.baseUrl.includes("/messages")||o.includes("claude");try{let u={"Content-Type":"application/json",...a_("scheduled-wakeup")};a?(u["x-api-key"]=t.apiKey,u["anthropic-version"]="2023-06-01"):u.Authorization=`Bearer ${t.apiKey}`;let l={method:"POST",headers:u,body:JSON.stringify({model:o,messages:[{role:"user",content:"Wake up and acknowledge with a short greeting."}],max_tokens:10}),signal:AbortSignal.timeout(e)};if(n)try{let{ProxyAgent:h}=await import("undici");l.dispatcher=new h(new URL(n).toString())}catch{}r?.info(`Sending scheduled wake-up call to provider ${t.name} using model ${o}...`);let f=await fetch(s,l);if(f.ok)return{success:!0};let d=await f.text().catch(()=>"");return{success:!1,error:`HTTP ${f.status}: ${d.slice(0,200)||"Unknown error"}`}}catch(u){return{success:!1,error:u?.message||u?.toString()||"Unknown wake-up error"}}}async function UR(t,e,n,r,o){let s=t.baseUrl,a=t.baseUrl.includes("/messages")||e.includes("claude");try{let u={"Content-Type":"application/json",...a_("rate-limit-probe")};a?(u["x-api-key"]=t.apiKey,u["anthropic-version"]="2023-06-01"):u.Authorization=`Bearer ${t.apiKey}`;let l={method:"POST",headers:u,body:JSON.stringify({model:e,messages:[{role:"user",content:"Hello, please reply briefly."}],max_tokens:10}),signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:h}=await import("undici");l.dispatcher=new h(new URL(r).toString())}catch{}o?.debug?.(`Sending independent ping to rate-limited model ${t.name} (${e})...`);let f=await fetch(s,l);if(f.ok)return{success:!0};let d=await f.text().catch(()=>"");return{success:!1,error:`HTTP ${f.status}: ${d.slice(0,200)||"Unknown error"}`}}catch(u){return{success:!1,error:u?.message||u?.toString()||"Unknown ping error"}}}var uu=class{config;quotaProbeTimer;healthProbeTimer;wakeupTimer;rateLimitProbeTimer;lastWakeupDate=new Map;getProviders;getHttpsProxy;logger;getConfig;running=!1;constructor(e,n,r,o,s){this.config={...IR,...n},this.getProviders=e,this.getHttpsProxy=r,this.logger=o,this.getConfig=s}start(){if(this.running)return;let e=this.isWakeupGloballyEnabled();!this.config.enabled&&!e||(this.running=!0,setTimeout(()=>{this.running&&(this.config.enabled&&(this.runQuotaProbe(),this.runHealthProbe(),this.runRateLimitProbe()),this.runScheduledWakeup())},this.config.initialDelayMs),this.config.enabled&&(this.quotaProbeTimer=setInterval(()=>this.runQuotaProbe(),this.config.quotaProbeIntervalMinutes*60*1e3),this.healthProbeTimer=setInterval(()=>this.runHealthProbe(),300*1e3),this.rateLimitProbeTimer=setInterval(()=>this.runRateLimitProbe(),120*1e3)),this.wakeupTimer=setInterval(()=>this.runScheduledWakeup(),60*1e3),this.logger?.info("Active probe service started"))}stop(){this.running=!1,this.quotaProbeTimer&&(clearInterval(this.quotaProbeTimer),this.quotaProbeTimer=void 0),this.healthProbeTimer&&(clearInterval(this.healthProbeTimer),this.healthProbeTimer=void 0),this.rateLimitProbeTimer&&(clearInterval(this.rateLimitProbeTimer),this.rateLimitProbeTimer=void 0),this.wakeupTimer&&(clearInterval(this.wakeupTimer),this.wakeupTimer=void 0),this.logger?.info("Active probe service stopped")}async runQuotaProbe(){let e=this.getProviders().filter(a=>a?.name&&a.enabled!==!1&&!this.config.excludeProviders.includes(a.name)),n=this.getHttpsProxy?.(),r=Ye();if(e.length===0)return;let o=[];for(let a of e){let u=uf(a.baseUrl),l=Array.isArray(a.models)?a.models:[];u&&o.push({provider:a.name,models:l,type:"quota-adapter",promise:u.queryQuota(a,this.config.probeTimeoutMs,n).then(f=>{if(f){uc(a.name,f),this.logger?.debug?.(`Stored quota probe result for ${a.name}`);let d=f.limitDaily!==void 0&&f.usedDailyBalance!==void 0&&f.usedDailyBalance>=f.limitDaily,h=f.totalBalance!==void 0&&f.usedBalance!==void 0&&f.usedBalance>=f.totalBalance;if(d||h){let m=d?`Quota exhausted: 5h limit reached (${f.usedDailyBalance}/${f.limitDaily})`:`Quota exhausted: 7d balance depleted (${f.usedBalance}/${f.totalBalance})`;for(let C of l){if(r.getState(a.name,C)?.rateLimitUntil){this.logger?.debug?.(`Skip forceOpen for ${a.name} (${C}): already rate-limited with active cooldown`);continue}r.forceOpen(a.name,C,m)}this.logger?.warn?.(`${m} for ${a.name}, marked as unhealthy`)}else for(let m of l){let C=r.getState(a.name,m);C&&C.status==="open"&&C.lastError?.includes("Quota exhausted")&&(r.recover(a.name,m),this.logger?.info?.(`Quota recovered for ${a.name} (${m}), marked as healthy`))}}})}),LR(a.baseUrl)&&o.push({provider:a.name,models:l,type:"rate-limit-headers",promise:lf(a,this.config.probeTimeoutMs,n).then(()=>{})})}if(o.length===0)return;this.logger?.debug?.(`Running quota probe with ${o.length} tasks for ${e.length} providers`);let s=await Promise.allSettled(o.map(a=>a.promise));for(let a=0;a<o.length;a++){let u=s[a];if(u.status==="rejected"){let l=o[a];this.logger?.warn?.(`Quota probe failed for ${l.provider} (${l.type}): ${u.reason}`)}}}async runHealthProbe(){let e=Ye(),n=this.getProviders().filter(s=>s?.name&&s.enabled!==!1&&!this.config.excludeProviders.includes(s.name)),r=this.getHttpsProxy?.();if(n.length===0)return;this.logger?.debug?.(`Running health probe for ${n.length} providers`);let o=await Promise.allSettled(n.map(s=>lf(s,this.config.probeTimeoutMs,r)));for(let s=0;s<n.length;s++){let a=n[s],u=o[s],l=Array.isArray(a.models)?a.models:[];if(u.status==="fulfilled"){let f=u.value;if(f.success){let d=0;for(let h of l){let m=e.getState(a.name,h);if(m&&m.status==="open"){let C=m.lastError?.includes("Quota exhausted"),w=m.rateLimitUntil||m.lastError&&(m.lastError.includes("429")||m.lastError.toLowerCase().includes("rate limit")||m.lastError.toLowerCase().includes("rate_limit")||m.lastError.toLowerCase().includes("too many requests")||m.lastError.toLowerCase().includes("\u9650\u6D41"));if(C){this.logger?.debug?.(`Skipping health probe recovery for ${a.name} (${h}) because quota is exhausted`);continue}if(w||m.rateLimitUntil){this.logger?.debug?.(`Skipping health probe recovery for rate-limited ${a.name} (${h})`);continue}}e.recordSuccess(a.name,h),d++}d>0&&this.logger?.info?.(`Health probe succeeded for ${a.name}`)}else{for(let d of l)e.recordFailure(a.name,d,f.error);this.logger?.warn?.(`Health probe failed for ${a.name}: ${f.error}`)}}else{for(let f of l)e.recordFailure(a.name,f,u.reason?.message||"Probe error");this.logger?.warn?.(`Health probe error for ${a.name}: ${u.reason}`)}}}async runRateLimitProbe(){let e=Ye(),n=e.getRateLimitedModels();if(n.length===0)return;let r=this.getProviders(),o=this.getHttpsProxy?.(),s=this.config.probeTimeoutMs;this.logger?.debug?.(`Running rate-limit recovery probe for ${n.length} model(s)`);for(let a of n){let[u,...l]=a.split(","),f=l.join(",");if(!u||!f)continue;let d=e.getState(u,f);if(!d||!d.rateLimitUntil)continue;if(Date.now()>=d.rateLimitUntil){e.recover(u,f),this.logger?.info?.(`Rate-limit cooldown expired, auto-recovered ${a}`);continue}let h=r.find(m=>m?.name===u&&m.enabled!==!1);if(!h){this.logger?.warn?.(`Provider ${u} not found or disabled for rate-limit probe`);continue}try{let m=await UR(h,f,s,o,this.logger);if(m.success)this.logger?.info?.(`Rate-limit probe succeeded for ${a}, recovering model`),e.recover(u,f);else if(m.error&&(m.error.includes("429")||m.error.toLowerCase().includes("rate limit")||m.error.toLowerCase().includes("rate_limit")||m.error.toLowerCase().includes("too many requests")||m.error.toLowerCase().includes("\u9650\u6D41"))){let C=Date.now();d.rateLimitUntil&&d.rateLimitUntil>C?d.rateLimitUntil+=120*1e3:d.rateLimitUntil=C+120*1e3,this.logger?.debug?.(`Rate-limit probe for ${a} confirmed still limited, extending cooldown`)}else this.logger?.debug?.(`Rate-limit probe for ${a} returned non-rate-limit error: ${m.error?.slice(0,100)}`)}catch(m){this.logger?.warn?.(`Rate-limit probe exception for ${a}: ${m?.message||m}`)}}}async runScheduledWakeup(){if(!this.isWakeupGloballyEnabled())return;let e=this.getProviders().filter(l=>l?.name&&l.enabled!==!1&&l.wakeupEnabled===!0);if(e.length===0)return;let n=new Date,r=n.getHours(),o=n.getMinutes(),s=BR(n),a=this.getHttpsProxy?.(),u=this.getConfig&&this.getConfig("WAKEUP_TIME")||"06:00";for(let l of e){let f=l.wakeupTime||u,[d,h]=f.split(":"),m=parseInt(d,10),C=parseInt(h,10);if(isNaN(m)||isNaN(C))continue;let w=r>m||r===m&&o>=C,y=(m*60+C)*6e4-(r*60+o)*6e4,g=y>0&&y<=300*1e3;(w||g)&&!this.hasWakeupFiredToday(l.name,s)&&(this.logger?.info?.(`Scheduled wake-up triggered for provider ${l.name} at ${f}`),jR(l,3e4,a,this.logger).then(_=>{_.success?this.logger?.info?.(`Successfully woke up provider ${l.name}`):this.logger?.error?.(`Failed to wake up provider ${l.name}: ${_.error}`)}).catch(_=>{this.logger?.error?.(`Error in wake-up task for ${l.name}: ${_}`)}))}}isWakeupGloballyEnabled(){return this.getConfig?NR(this.getConfig("WAKEUP_ENABLED")):!1}hasWakeupFiredToday(e,n){return this.lastWakeupDate.get(e)===n?!0:(this.lastWakeupDate.set(e,n),!1)}async probeProviderManually(e){let r=this.getProviders().find(u=>u.name===e);if(!r)return this.logger?.warn?.(`Provider ${e} not found for manual probe`),!1;if(r.enabled===!1)return this.logger?.warn?.(`Provider ${e} is disabled, skipping manual probe`),!1;let o=this.getHttpsProxy?.(),s=await lf(r,this.config.probeTimeoutMs,o),a=Array.isArray(r.models)?r.models:[];if(s.success)for(let u of a)Ye().recordSuccess(r.name,u);else for(let u of a)Ye().recordFailure(r.name,u,s.error);return s.success}},Xn=null;function u_(t,e,n,r,o){return Xn||(Xn=new uu(t,e,n,r,o)),Xn}function df(t,e,n,r,o){let s=u_(t,e,n,r,o);return s.start(),s}function ff(){Xn&&Xn.stop()}function $R(){Xn&&(Xn.stop(),Xn=null)}Un();var hf=class{plugins=new Map;pluginInstances=new Map;registerPlugin(e,n={}){this.pluginInstances.set(e.name,e),this.plugins.set(e.name,{name:e.name,enabled:n.enabled!==!1,options:n})}async enablePlugin(e,n){let r=this.plugins.get(e),o=this.pluginInstances.get(e);if(!r||!o)throw new Error(`Plugin ${e} not found`);r.enabled&&await n.register(o.register,r.options)}async enablePlugins(e){for(let[n,r]of this.plugins)if(r.enabled)try{await this.enablePlugin(n,e)}catch(o){let s=o instanceof Error?o.message:String(o);e.log?.error(`Failed to enable plugin ${n}: ${s}`)}}getPlugins(){return Array.from(this.plugins.values())}getPlugin(e){return this.pluginInstances.get(e)}hasPlugin(e){return this.pluginInstances.has(e)}isPluginEnabled(e){return this.plugins.get(e)?.enabled||!1}setPluginEnabled(e,n){let r=this.plugins.get(e);r&&(r.enabled=n)}removePlugin(e){this.plugins.delete(e),this.pluginInstances.delete(e)}clear(){this.plugins.clear(),this.pluginInstances.clear()}},c_=new hf;var C_=Ln(p_(),1);var Eo=class extends TransformStream{buffer="";currentEvent={};constructor(){super({transform:(e,n)=>{this.buffer+=e;let r=this.buffer.split(`
|
|
382
382
|
`);this.buffer=r.pop()||"";for(let o of r){let s=this.processLine(o);s&&n.enqueue(s)}},flush:e=>{if(this.buffer.trim()){let n=[];this.processLine(this.buffer.trim(),n),n.forEach(r=>e.enqueue(r))}Object.keys(this.currentEvent).length>0&&e.enqueue(this.currentEvent)}})}processLine(e,n){if(!e.trim()){if(Object.keys(this.currentEvent).length>0){let r={...this.currentEvent};return this.currentEvent={},n?(n.push(r),null):r}return null}if(e.startsWith("event:"))this.currentEvent.event=e.slice(6).trim();else if(e.startsWith("data:")){let r=e.slice(5).trim();if(r==="[DONE]")this.currentEvent.data={type:"done"};else try{this.currentEvent.data=JSON.parse(r)}catch{this.currentEvent.data={raw:r,error:"JSON parse failed"}}}else e.startsWith("id:")?this.currentEvent.id=e.slice(3).trim():e.startsWith("retry:")&&(this.currentEvent.retry=parseInt(e.slice(6).trim()));return null}};var lu=class extends TransformStream{constructor(){super({transform:(e,n)=>{let r="";e.event&&(r+=`event: ${e.event}
|
|
383
383
|
`),e.id&&(r+=`id: ${e.id}
|
|
384
384
|
`),e.retry&&(r+=`retry: ${e.retry}
|
|
385
385
|
`),e.data&&(e.data.type==="done"?r+=`data: [DONE]
|
|
386
386
|
`:r+=`data: ${JSON.stringify(e.data)}
|
|
387
387
|
`),r+=`
|
|
388
|
-
`,n.enqueue(r)}})}};var m_=(t,e)=>{let n=t.getReader();return new ReadableStream({async start(r){try{for(;;){let{done:o,value:s}=await n.read();if(o){r.close();break}let a=await e(s,r);a!==void 0&&r.enqueue(a)}}catch(o){r.error(o)}finally{n.releaseLock()}}})};gf();yf();_f();y_();var Es=new Map,Cf=new Map,QR=1,w_={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,C_.default)(async(t,e)=>{let n={reporter:["console","temp-file"],...e},r=Array.isArray(n.reporter)?n.reporter:[n.reporter];if(n.outputHandlers&&n.outputHandlers.length>0)ko.registerHandlers(n.outputHandlers);else{let a=[];for(let u of r)u==="console"?a.push({type:"console",enabled:!0,config:{colors:!0,level:"log"}}):u==="temp-file"?a.push({type:"temp-file",enabled:!0,config:{subdirectory:"claude-code-router",extension:"json",includeTimestamp:!0,prefix:"session"}}):u==="webhook"&&console.warn("[TokenSpeedPlugin] Webhook reporter requires explicit configuration in outputHandlers");a.length>0&&ko.registerHandlers(a)}n.outputOptions&&ko.setDefaultOptions(n.outputOptions);let o=async a=>{let u=t.tokenizerService;if(!u)return t.log?.warn("TokenizerService not available"),null;if(!a.provider||!a.model)return null;let l=a.provider,f=a.model,d=`${l}:${f}`;if(Cf.has(d))return Cf.get(d);let h=u.getTokenizerConfigForModel(l,f);if(!h)return t.log?.debug(`No tokenizer config for ${l}:${f}, using fallback`),null;try{let m=await u.getTokenizer(h);return Cf.set(d,m),t.log?.info(`Created tokenizer for ${l}:${f} - ${m.name}`),m}catch(m){return t.log?.warn(`Failed to create tokenizer for ${l}:${f}: ${m.message}`),null}},s=a=>{let u=new URL(`http://127.0.0.1${a}`).pathname;return u.endsWith("/v1/messages")||u.endsWith("/v1/responses")};t.addHook("onRequest",async a=>{s(a.url)&&(a.requestStartTime=performance.now())}),t.addHook("onSend",async(a,u,l)=>{let f=a.requestStartTime;if(!f)return;let d=a.id||Date.now().toString(),h;try{h=No(a.body?.metadata?.user_id)}catch{}if(!h){let g=a.headers?.["x-request-id"],_=Array.isArray(g)?g[0]:g;h=a.sessionId||(typeof _=="string"?_:void 0)||d}let m=await o(a);if(l instanceof ReadableStream){Es.set(d,{requestId:d,sessionId:h,startTime:f,lastTokenTime:f,tokenCount:0,tokensPerSecond:0,tokenTimestamps:[],stream:!0});let[g,_]=l.tee();return(async()=>{let b=null,S=async v=>{let R=Es.get(d);if(!R)return;let $=performance.now();if(v){let H=R.firstTokenTime?R.firstTokenTime-R.startTime:0,P=R.lastTokenTime-R.startTime;R.tokensPerSecond=__(R.tokenCount,P,H)}else{let H=$-1e3;R.tokenTimestamps=R.tokenTimestamps.filter(P=>P>H),R.tokensPerSecond=R.tokenTimestamps.length}await b_(R,r,n.outputOptions,v).catch(H=>{t.log?.warn(`Failed to output streaming stats: ${H.message}`)})};try{let R=_.pipeThrough(new TextDecoderStream).pipeThrough(new Eo).getReader();for(b=setInterval(async()=>{Es.get(d)&&await S(!1)},1e3);;){let{done:$,value:H}=await R.read();if($)break;let P=H,K=Es.get(d);if(!K)continue;let q=performance.now(),Y=P.event||P.data?.type,Q=P.event==="content_block_start"||P.event==="content_block_delta"||P.event==="text_block"||P.event==="content_block"||Y==="response.output_text.delta"||Y==="response.function_call_arguments.delta"||Y==="response.reasoning_summary_text.delta";!K.firstTokenTime&&Q&&(K.firstTokenTime=q,K.timeToFirstToken=Math.round(q-K.startTime));let ee="";if(P.event==="content_block_delta"&&P.data?.delta){let se=P.data.delta.type;se==="text_delta"?ee=P.data.delta.text||"":se==="input_json_delta"?ee=P.data.delta.partial_json||"":se==="thinking_delta"&&(ee=P.data.delta.thinking||"")}if((Y==="response.output_text.delta"||Y==="response.function_call_arguments.delta"||Y==="response.reasoning_summary_text.delta")&&(ee=typeof P.data?.delta=="string"?P.data.delta:""),ee){let se=m&&m.encodeText?m.encodeText(ee).length:ks(ee);K.tokenCount+=se,K.lastTokenTime=q;for(let ie=0;ie<se;ie++)K.tokenTimestamps.push(q)}(P.event==="message_stop"||Y==="response.completed"||Y==="response.failed")&&(b&&(clearInterval(b),b=null),await S(!0),Es.delete(d))}}catch(v){b&&clearInterval(b),v.name!=="AbortError"&&v.code!=="ERR_STREAM_PREMATURE_CLOSE"&&t.log?.warn(`Error processing token stats: ${v.message}`)}})().catch(b=>{console.log(b),t.log?.warn(`Background stats processing failed: ${b.message}`)}),g}let C=performance.now(),w=0,y=!1;if(l&&typeof l=="string")try{let g=JSON.parse(l);if(typeof g.usage?.output_tokens=="number")w=g.usage.output_tokens,y=!0;else{let _=g.content??g.message?.content;if(_!==void 0)if(y=!0,m)Array.isArray(_)?w=_.reduce((E,b)=>{if(b.type==="text"){let S=b.text||"";return E+(m.encodeText?m.encodeText(S).length:ks(S))}return E},0):typeof _=="string"&&(w=m.encodeText?m.encodeText(_).length:ks(_));else{let E=Array.isArray(_)?_.map(b=>b.text).join(""):typeof _=="string"?_:"";w=ks(E)}}}catch{}if(y){let g=Math.round(C-f),_=C-f,E={requestId:d,sessionId:h,startTime:f,lastTokenTime:C,tokenCount:w,tokensPerSecond:__(w,_),timeToFirstToken:g,stream:!1,tokenTimestamps:[]};await b_(E,r,n.outputOptions,!0)}return l})})};function __(t,e,n=0){if(t<=0)return 0;let r=Math.max((e-n)/1e3,QR);return Math.round(t/r)}function ks(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,n=t.length-e;return Math.ceil(e/1.5+n/4)}async function b_(t,e,n,r=!1){let o=r?"[Token Speed Final]":"[Token Speed]",s={requestId:t.requestId.substring(0,8),sessionId:t.sessionId,stream:t.stream,tokenCount:t.tokenCount,tokensPerSecond:t.tokensPerSecond,timeToFirstToken:t.timeToFirstToken?`${t.timeToFirstToken}ms`:"N/A",duration:`${((t.lastTokenTime-t.startTime)/1e3).toFixed(2)}s`,timestamp:Date.now()},a={prefix:o,metadata:{sessionId:t.sessionId},...n};for(let u of e)try{await ko.outputToType(u,s,a)}catch(l){console.error(`[TokenSpeedPlugin] Failed to output to ${u}:`,l)}}Un();Un();function ex(t={}){let e=XR({bodyLimit:52428800,...t});return e.setErrorHandler(Lh),e.register(ZR),e}var wf=class{app;configService;providerService;transformerService;tokenizerService;activeProbeService;recordUsage;constructor(e={}){let{initialConfig:n,...r}=e;this.app=ex({...r,logger:r.logger??!0}),this.configService=new Ir(e),this.transformerService=new Co(this.configService,this.app.log),this.tokenizerService=new wo(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new qr(this.configService,this.transformerService,this.app.log)}),this.tokenizerService.initialize().catch(o=>{this.app.log.error(`Failed to initialize TokenizerService: ${o}`)})}async register(e,n){await this.app.register(e,n)}addHook(e,n){this.app.addHook(e,n)}async registerNamespace(e,n){if(!e)throw new Error("name is required");if(e==="/"){await this.app.register(async u=>{u.decorate("configService",this.configService),u.decorate("transformerService",this.transformerService),u.decorate("providerService",this.providerService),u.decorate("tokenizerService",this.tokenizerService),u.decorate("recordUsage",this.recordUsage||(()=>{})),u.addHook("preHandler",async(l,f)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Mo(l,f,{configService:this.configService,tokenizerService:this.tokenizerService})}),await pc(u)});return}if(!n)throw new Error("options is required");let r=new Ir({initialConfig:{providers:n.Providers,Router:n.Router}}),o=new Co(r,this.app.log);await o.initialize();let s=new qr(r,o,this.app.log),a=new wo(r,this.app.log);await a.initialize(),await this.app.register(async u=>{u.decorate("configService",r),u.decorate("transformerService",o),u.decorate("providerService",s),u.decorate("tokenizerService",a),u.decorate("recordUsage",this.recordUsage||(()=>{})),u.addHook("preHandler",async(l,f)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Mo(l,f,{configService:r,tokenizerService:a})}),await pc(u)},{prefix:e})}async start(){try{this.app._server=this,this.app.addHook("preHandler",(r,o,s)=>{if(new URL(`http://127.0.0.1${r.url}`).pathname.endsWith("/v1/messages")&&r.body){let u=r.body;r.log.info({data:u,type:"request body"}),u.stream||(u.stream=!1)}s()}),await this.registerNamespace("/"),this.app.addHook("preHandler",async(r,o)=>{if(new URL(`http://127.0.0.1${r.url}`).pathname.endsWith("/v1/messages")&&r.body)try{let a=r.body;if(!a||!a.model)return o.code(400).send({error:"Missing model in request body"});let u=a.model.split(","),l=a.model;if(u.length>1){let[f,...d]=u;l=d.join(","),a.model=l,r.provider=f}r.model=l;return}catch(a){return r.log.error({error:a},"Error in modelProviderMiddleware:"),o.code(500).send({error:"Internal server error"})}});let e=await this.app.listen({port:parseInt(this.configService.get("PORT")||"3000",10),host:this.configService.get("HOST")||"127.0.0.1"});this.app.log.info(`\u{1F680} LLMs API server listening on ${e}`);try{rc()}catch{}try{lc()}catch{}try{Zu()}catch{}try{let r={enabled:this.configService.get("ACTIVE_PROBE_ENABLED")??!0,quotaProbeIntervalMinutes:this.configService.get("QUOTA_PROBE_INTERVAL_MINUTES")??10,probeTimeoutMs:this.configService.get("PROBE_TIMEOUT_MS")??15e3,initialDelayMs:this.configService.get("PROBE_INITIAL_DELAY_MS")??5e3,excludeProviders:this.configService.get("EXCLUDE_PROBE_PROVIDERS")??[]};this.activeProbeService=df(()=>this.providerService.getProviders(),r,()=>this.configService.getHttpsProxy(),this.app.log,o=>this.configService.get(o))}catch(r){this.app.log.warn?.(`Failed to start active probe service: ${r.message}`)}let n=async r=>{this.app.log.info(`Received ${r}, shutting down gracefully...`);try{ff()}catch{}await this.app.close(),process.exit(0)};process.on("SIGINT",()=>n("SIGINT")),process.on("SIGTERM",()=>n("SIGTERM"))}catch(e){this.app.log.error(`Error starting server: ${e}`),process.exit(1)}}},wM=wf;export{uu as ActiveProbeService,Ir as ConfigService,ii as ProviderHealthStore,qr as ProviderService,Eo as SSEParserTransform,lu as SSESerializerTransform,wo as TokenizerService,Co as TransformerService,fp as calculateTokenCount,wM as default,No as extractSessionIdFromUserId,u_ as getActiveProbeService,ZC as getAllQuotaResults,HC as getAllRateLimitInfo,Ye as getHealthStore,uf as getQuotaAdapter,cc as getQuotaResult,zC as getRateLimitInfo,EC as getRuntimeDebugLog,Zu as initProviderHealthPersistence,lc as initQuotaStorePersistence,rc as initRateLimitPersistence,Ur as normalizeSessionId,c_ as pluginManager,$R as resetActiveProbeService,m_ as rewriteStream,Mo as router,gp as searchProjectBySession,sc as sessionUsageCache,wC as setRuntimeDebugLog,df as startActiveProbe,ff as stopActiveProbe,uc as storeQuotaResult,w_ as tokenSpeedPlugin};
|
|
388
|
+
`,n.enqueue(r)}})}};var m_=(t,e)=>{let n=t.getReader();return new ReadableStream({async start(r){try{for(;;){let{done:o,value:s}=await n.read();if(o){r.close();break}let a=await e(s,r);a!==void 0&&r.enqueue(a)}}catch(o){r.error(o)}finally{n.releaseLock()}}})};gf();yf();_f();y_();var Es=new Map,Cf=new Map,QR=1,w_={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,C_.default)(async(t,e)=>{let n={reporter:["console","temp-file"],...e},r=Array.isArray(n.reporter)?n.reporter:[n.reporter];if(n.outputHandlers&&n.outputHandlers.length>0)ko.registerHandlers(n.outputHandlers);else{let a=[];for(let u of r)u==="console"?a.push({type:"console",enabled:!0,config:{colors:!0,level:"log"}}):u==="temp-file"?a.push({type:"temp-file",enabled:!0,config:{subdirectory:"claude-code-router",extension:"json",includeTimestamp:!0,prefix:"session"}}):u==="webhook"&&console.warn("[TokenSpeedPlugin] Webhook reporter requires explicit configuration in outputHandlers");a.length>0&&ko.registerHandlers(a)}n.outputOptions&&ko.setDefaultOptions(n.outputOptions);let o=async a=>{let u=t.tokenizerService;if(!u)return t.log?.warn("TokenizerService not available"),null;if(!a.provider||!a.model)return null;let l=a.provider,f=a.model,d=`${l}:${f}`;if(Cf.has(d))return Cf.get(d);let h=u.getTokenizerConfigForModel(l,f);if(!h)return t.log?.debug(`No tokenizer config for ${l}:${f}, using fallback`),null;try{let m=await u.getTokenizer(h);return Cf.set(d,m),t.log?.info(`Created tokenizer for ${l}:${f} - ${m.name}`),m}catch(m){return t.log?.warn(`Failed to create tokenizer for ${l}:${f}: ${m.message}`),null}},s=a=>{let u=new URL(`http://127.0.0.1${a}`).pathname;return u.endsWith("/v1/messages")||u.endsWith("/v1/responses")};t.addHook("onRequest",async a=>{s(a.url)&&(a.requestStartTime=performance.now())}),t.addHook("onSend",async(a,u,l)=>{let f=a.requestStartTime;if(!f)return;let d=a.id||Date.now().toString(),h;try{h=No(a.body?.metadata?.user_id)}catch{}if(!h){let g=a.headers?.["x-request-id"],_=Array.isArray(g)?g[0]:g;h=a.sessionId||(typeof _=="string"?_:void 0)||d}let m=await o(a);if(l instanceof ReadableStream){Es.set(d,{requestId:d,sessionId:h,startTime:f,lastTokenTime:f,tokenCount:0,tokensPerSecond:0,stream:!0});let[g,_]=l.tee();return(async()=>{let b=null,S=async T=>{let R=Es.get(d);if(!R)return;let $=R.firstTokenTime?R.firstTokenTime-R.startTime:0,P=(T?R.lastTokenTime:performance.now())-R.startTime;R.tokensPerSecond=__(R.tokenCount,P,$),await b_(R,r,n.outputOptions,T).catch(K=>{t.log?.warn(`Failed to output streaming stats: ${K.message}`)})};try{let R=_.pipeThrough(new TextDecoderStream).pipeThrough(new Eo).getReader();for(b=setInterval(async()=>{Es.get(d)&&await S(!1)},1e3);;){let{done:$,value:H}=await R.read();if($)break;let P=H,K=Es.get(d);if(!K)continue;let q=performance.now(),Y=P.event||P.data?.type,Q=P.event==="content_block_start"||P.event==="content_block_delta"||P.event==="text_block"||P.event==="content_block"||Y==="response.output_text.delta"||Y==="response.function_call_arguments.delta"||Y==="response.reasoning_summary_text.delta";!K.firstTokenTime&&Q&&(K.firstTokenTime=q,K.timeToFirstToken=Math.round(q-K.startTime));let ee="";if(P.event==="content_block_delta"&&P.data?.delta){let se=P.data.delta.type;se==="text_delta"?ee=P.data.delta.text||"":se==="input_json_delta"?ee=P.data.delta.partial_json||"":se==="thinking_delta"&&(ee=P.data.delta.thinking||"")}if((Y==="response.output_text.delta"||Y==="response.function_call_arguments.delta"||Y==="response.reasoning_summary_text.delta")&&(ee=typeof P.data?.delta=="string"?P.data.delta:""),ee){let se=m&&m.encodeText?m.encodeText(ee).length:ks(ee);K.tokenCount+=se,K.lastTokenTime=q}(P.event==="message_stop"||Y==="response.completed"||Y==="response.failed")&&(b&&(clearInterval(b),b=null),await S(!0),Es.delete(d))}}catch(T){b&&clearInterval(b),T.name!=="AbortError"&&T.code!=="ERR_STREAM_PREMATURE_CLOSE"&&t.log?.warn(`Error processing token stats: ${T.message}`)}})().catch(b=>{console.log(b),t.log?.warn(`Background stats processing failed: ${b.message}`)}),g}let C=performance.now(),w=0,y=!1;if(l&&typeof l=="string")try{let g=JSON.parse(l);if(typeof g.usage?.output_tokens=="number")w=g.usage.output_tokens,y=!0;else{let _=g.content??g.message?.content;if(_!==void 0)if(y=!0,m)Array.isArray(_)?w=_.reduce((E,b)=>{if(b.type==="text"){let S=b.text||"";return E+(m.encodeText?m.encodeText(S).length:ks(S))}return E},0):typeof _=="string"&&(w=m.encodeText?m.encodeText(_).length:ks(_));else{let E=Array.isArray(_)?_.map(b=>b.text).join(""):typeof _=="string"?_:"";w=ks(E)}}}catch{}if(y){let g=Math.round(C-f),_=C-f,E={requestId:d,sessionId:h,startTime:f,lastTokenTime:C,tokenCount:w,tokensPerSecond:__(w,_),timeToFirstToken:g,stream:!1};await b_(E,r,n.outputOptions,!0)}return l})})};function __(t,e,n=0){if(t<=0)return 0;let r=Math.max((e-n)/1e3,QR);return Math.round(t/r)}function ks(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,n=t.length-e;return Math.ceil(e/1.5+n/4)}async function b_(t,e,n,r=!1){let o=r?"[Token Speed Final]":"[Token Speed]",s={requestId:t.requestId.substring(0,8),sessionId:t.sessionId,stream:t.stream,tokenCount:t.tokenCount,tokensPerSecond:t.tokensPerSecond,timeToFirstToken:t.timeToFirstToken?`${t.timeToFirstToken}ms`:"N/A",duration:`${((t.lastTokenTime-t.startTime)/1e3).toFixed(2)}s`,timestamp:Date.now()},a={prefix:o,metadata:{sessionId:t.sessionId},...n};for(let u of e)try{await ko.outputToType(u,s,a)}catch(l){console.error(`[TokenSpeedPlugin] Failed to output to ${u}:`,l)}}Un();Un();function ex(t={}){let e=XR({bodyLimit:52428800,...t});return e.setErrorHandler(Lh),e.register(ZR),e}var wf=class{app;configService;providerService;transformerService;tokenizerService;activeProbeService;recordUsage;constructor(e={}){let{initialConfig:n,...r}=e;this.app=ex({...r,logger:r.logger??!0}),this.configService=new Ir(e),this.transformerService=new Co(this.configService,this.app.log),this.tokenizerService=new wo(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new qr(this.configService,this.transformerService,this.app.log)}),this.tokenizerService.initialize().catch(o=>{this.app.log.error(`Failed to initialize TokenizerService: ${o}`)})}async register(e,n){await this.app.register(e,n)}addHook(e,n){this.app.addHook(e,n)}async registerNamespace(e,n){if(!e)throw new Error("name is required");if(e==="/"){await this.app.register(async u=>{u.decorate("configService",this.configService),u.decorate("transformerService",this.transformerService),u.decorate("providerService",this.providerService),u.decorate("tokenizerService",this.tokenizerService),u.decorate("recordUsage",this.recordUsage||(()=>{})),u.addHook("preHandler",async(l,f)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Mo(l,f,{configService:this.configService,tokenizerService:this.tokenizerService})}),await pc(u)});return}if(!n)throw new Error("options is required");let r=new Ir({initialConfig:{providers:n.Providers,Router:n.Router}}),o=new Co(r,this.app.log);await o.initialize();let s=new qr(r,o,this.app.log),a=new wo(r,this.app.log);await a.initialize(),await this.app.register(async u=>{u.decorate("configService",r),u.decorate("transformerService",o),u.decorate("providerService",s),u.decorate("tokenizerService",a),u.decorate("recordUsage",this.recordUsage||(()=>{})),u.addHook("preHandler",async(l,f)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Mo(l,f,{configService:r,tokenizerService:a})}),await pc(u)},{prefix:e})}async start(){try{this.app._server=this,this.app.addHook("preHandler",(r,o,s)=>{if(new URL(`http://127.0.0.1${r.url}`).pathname.endsWith("/v1/messages")&&r.body){let u=r.body;r.log.info({data:u,type:"request body"}),u.stream||(u.stream=!1)}s()}),await this.registerNamespace("/"),this.app.addHook("preHandler",async(r,o)=>{if(new URL(`http://127.0.0.1${r.url}`).pathname.endsWith("/v1/messages")&&r.body)try{let a=r.body;if(!a||!a.model)return o.code(400).send({error:"Missing model in request body"});let u=a.model.split(","),l=a.model;if(u.length>1){let[f,...d]=u;l=d.join(","),a.model=l,r.provider=f}r.model=l;return}catch(a){return r.log.error({error:a},"Error in modelProviderMiddleware:"),o.code(500).send({error:"Internal server error"})}});let e=await this.app.listen({port:parseInt(this.configService.get("PORT")||"3000",10),host:this.configService.get("HOST")||"127.0.0.1"});this.app.log.info(`\u{1F680} LLMs API server listening on ${e}`);try{rc()}catch{}try{lc()}catch{}try{Zu()}catch{}try{let r={enabled:this.configService.get("ACTIVE_PROBE_ENABLED")??!0,quotaProbeIntervalMinutes:this.configService.get("QUOTA_PROBE_INTERVAL_MINUTES")??10,probeTimeoutMs:this.configService.get("PROBE_TIMEOUT_MS")??15e3,initialDelayMs:this.configService.get("PROBE_INITIAL_DELAY_MS")??5e3,excludeProviders:this.configService.get("EXCLUDE_PROBE_PROVIDERS")??[]};this.activeProbeService=df(()=>this.providerService.getProviders(),r,()=>this.configService.getHttpsProxy(),this.app.log,o=>this.configService.get(o))}catch(r){this.app.log.warn?.(`Failed to start active probe service: ${r.message}`)}let n=async r=>{this.app.log.info(`Received ${r}, shutting down gracefully...`);try{ff()}catch{}await this.app.close(),process.exit(0)};process.on("SIGINT",()=>n("SIGINT")),process.on("SIGTERM",()=>n("SIGTERM"))}catch(e){this.app.log.error(`Error starting server: ${e}`),process.exit(1)}}},wM=wf;export{uu as ActiveProbeService,Ir as ConfigService,ii as ProviderHealthStore,qr as ProviderService,Eo as SSEParserTransform,lu as SSESerializerTransform,wo as TokenizerService,Co as TransformerService,fp as calculateTokenCount,wM as default,No as extractSessionIdFromUserId,u_ as getActiveProbeService,ZC as getAllQuotaResults,HC as getAllRateLimitInfo,Ye as getHealthStore,uf as getQuotaAdapter,cc as getQuotaResult,zC as getRateLimitInfo,EC as getRuntimeDebugLog,Zu as initProviderHealthPersistence,lc as initQuotaStorePersistence,rc as initRateLimitPersistence,Ur as normalizeSessionId,c_ as pluginManager,$R as resetActiveProbeService,m_ as rewriteStream,Mo as router,gp as searchProjectBySession,sc as sessionUsageCache,wC as setRuntimeDebugLog,df as startActiveProbe,ff as stopActiveProbe,uc as storeQuotaResult,w_ as tokenSpeedPlugin};
|
|
389
389
|
/*! Bundled license information:
|
|
390
390
|
|
|
391
391
|
web-streams-polyfill/dist/ponyfill.es2018.js:
|