@wengine-ai/llms 2.3.10 → 2.3.12

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.
@@ -1,91 +1,91 @@
1
- var Kb=Object.create;var Ks=Object.defineProperty;var Qb=Object.getOwnPropertyDescriptor;var Yb=Object.getOwnPropertyNames;var Xb=Object.getPrototypeOf,Zb=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),Iu=(t,e)=>{for(var n in e)Ks(t,n,{get:e[n],enumerable:!0})},bh=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Yb(e))!Zb.call(t,o)&&o!==n&&Ks(t,o,{get:()=>e[o],enumerable:!(r=Qb(e,o))||r.enumerable});return t};var Ln=(t,e,n)=>(n=t!=null?Kb(Xb(t)):{},bh(e||!t||!t.__esModule?Ks(n,"default",{value:t,enumerable:!0}):n,t)),eC=t=>bh(Ks({},"__esModule",{value:!0}),t);var Ch=X((zR,Qs)=>{Qs.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;Qs.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]/;Qs.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 Nu=X((HR,wh)=>{var Bu=Ch();wh.exports={isSpaceSeparator(t){return typeof t=="string"&&Bu.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||Bu.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"||Bu.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 Th=X((WR,Sh)=>{var We=Nu(),Lu,ot,Cn,Xs,jn,Lt,Ge,$u,Oo;Sh.exports=function(e,n){Lu=String(e),ot="start",Cn=[],Xs=0,jn=1,Lt=0,Ge=void 0,$u=void 0,Oo=void 0;do Ge=tC(),oC[ot]();while(Ge.type!=="eof");return typeof n=="function"?ju({"":Oo},"",n):Oo};function ju(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=ju(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=ju(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,xo,bn,Ee;function tC(){for(be="default",ye="",xo=!1,bn=1;;){Ee=wn();let t=kh[be]();if(t)return t}}function wn(){if(Lu[Xs])return String.fromCodePoint(Lu.codePointAt(Xs))}function W(){let t=wn();return t===`
2
- `?(jn++,Lt=0):t?Lt+=t.length:Lt++,t&&(Xs+=t.length),t}var kh={default(){switch(Ee){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
3
- `:case"\r":case"\u2028":case"\u2029":W();return;case"/":W(),be="comment";return;case void 0:return W(),Be("eof")}if(We.isSpaceSeparator(Ee)){W();return}return kh[ot]()},comment(){switch(Ee){case"*":W(),be="multiLineComment";return;case"/":W(),be="singleLineComment";return}throw Ne(W())},multiLineComment(){switch(Ee){case"*":W(),be="multiLineCommentAsterisk";return;case void 0:throw Ne(W())}W()},multiLineCommentAsterisk(){switch(Ee){case"*":W();return;case"/":W(),be="default";return;case void 0:throw Ne(W())}W(),be="multiLineComment"},singleLineComment(){switch(Ee){case`
4
- `:case"\r":case"\u2028":case"\u2029":W(),be="default";return;case void 0:return W(),Be("eof")}W()},value(){switch(Ee){case"{":case"[":return Be("punctuator",W());case"n":return W(),ar("ull"),Be("null",null);case"t":return W(),ar("rue"),Be("boolean",!0);case"f":return W(),ar("alse"),Be("boolean",!1);case"-":case"+":W()==="-"&&(bn=-1),be="sign";return;case".":ye=W(),be="decimalPointLeading";return;case"0":ye=W(),be="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":ye=W(),be="decimalInteger";return;case"I":return W(),ar("nfinity"),Be("numeric",1/0);case"N":return W(),ar("aN"),Be("numeric",NaN);case'"':case"'":xo=W()==='"',ye="",be="string";return}throw Ne(W())},identifierNameStartEscape(){if(Ee!=="u")throw Ne(W());W();let t=Uu();switch(t){case"$":case"_":break;default:if(!We.isIdStartChar(t))throw Eh();break}ye+=t,be="identifierName"},identifierName(){switch(Ee){case"$":case"_":case"\u200C":case"\u200D":ye+=W();return;case"\\":W(),be="identifierNameEscape";return}if(We.isIdContinueChar(Ee)){ye+=W();return}return Be("identifier",ye)},identifierNameEscape(){if(Ee!=="u")throw Ne(W());W();let t=Uu();switch(t){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!We.isIdContinueChar(t))throw Eh();break}ye+=t,be="identifierName"},sign(){switch(Ee){case".":ye=W(),be="decimalPointLeading";return;case"0":ye=W(),be="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":ye=W(),be="decimalInteger";return;case"I":return W(),ar("nfinity"),Be("numeric",bn*(1/0));case"N":return W(),ar("aN"),Be("numeric",NaN)}throw Ne(W())},zero(){switch(Ee){case".":ye+=W(),be="decimalPoint";return;case"e":case"E":ye+=W(),be="decimalExponent";return;case"x":case"X":ye+=W(),be="hexadecimal";return}return Be("numeric",bn*0)},decimalInteger(){switch(Ee){case".":ye+=W(),be="decimalPoint";return;case"e":case"E":ye+=W(),be="decimalExponent";return}if(We.isDigit(Ee)){ye+=W();return}return Be("numeric",bn*Number(ye))},decimalPointLeading(){if(We.isDigit(Ee)){ye+=W(),be="decimalFraction";return}throw Ne(W())},decimalPoint(){switch(Ee){case"e":case"E":ye+=W(),be="decimalExponent";return}if(We.isDigit(Ee)){ye+=W(),be="decimalFraction";return}return Be("numeric",bn*Number(ye))},decimalFraction(){switch(Ee){case"e":case"E":ye+=W(),be="decimalExponent";return}if(We.isDigit(Ee)){ye+=W();return}return Be("numeric",bn*Number(ye))},decimalExponent(){switch(Ee){case"+":case"-":ye+=W(),be="decimalExponentSign";return}if(We.isDigit(Ee)){ye+=W(),be="decimalExponentInteger";return}throw Ne(W())},decimalExponentSign(){if(We.isDigit(Ee)){ye+=W(),be="decimalExponentInteger";return}throw Ne(W())},decimalExponentInteger(){if(We.isDigit(Ee)){ye+=W();return}return Be("numeric",bn*Number(ye))},hexadecimal(){if(We.isHexDigit(Ee)){ye+=W(),be="hexadecimalInteger";return}throw Ne(W())},hexadecimalInteger(){if(We.isHexDigit(Ee)){ye+=W();return}return Be("numeric",bn*Number(ye))},string(){switch(Ee){case"\\":W(),ye+=nC();return;case'"':if(xo)return W(),Be("string",ye);ye+=W();return;case"'":if(!xo)return W(),Be("string",ye);ye+=W();return;case`
5
- `:case"\r":throw Ne(W());case"\u2028":case"\u2029":sC(Ee);break;case void 0:throw Ne(W())}ye+=W()},start(){switch(Ee){case"{":case"[":return Be("punctuator",W())}be="value"},beforePropertyName(){switch(Ee){case"$":case"_":ye=W(),be="identifierName";return;case"\\":W(),be="identifierNameStartEscape";return;case"}":return Be("punctuator",W());case'"':case"'":xo=W()==='"',be="string";return}if(We.isIdStartChar(Ee)){ye+=W(),be="identifierName";return}throw Ne(W())},afterPropertyName(){if(Ee===":")return Be("punctuator",W());throw Ne(W())},beforePropertyValue(){be="value"},afterPropertyValue(){switch(Ee){case",":case"}":return Be("punctuator",W())}throw Ne(W())},beforeArrayValue(){if(Ee==="]")return Be("punctuator",W());be="value"},afterArrayValue(){switch(Ee){case",":case"]":return Be("punctuator",W())}throw Ne(W())},end(){throw Ne(W())}};function Be(t,e){return{type:t,value:e,line:jn,column:Lt}}function ar(t){for(let e of t){if(wn()!==e)throw Ne(W());W()}}function nC(){switch(wn()){case"b":return W(),"\b";case"f":return W(),"\f";case"n":return W(),`
6
- `;case"r":return W(),"\r";case"t":return W()," ";case"v":return W(),"\v";case"0":if(W(),We.isDigit(wn()))throw Ne(W());return"\0";case"x":return W(),rC();case"u":return W(),Uu();case`
1
+ var Zb=Object.create;var Ys=Object.defineProperty;var eC=Object.getOwnPropertyDescriptor;var tC=Object.getOwnPropertyNames;var nC=Object.getPrototypeOf,rC=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),Bu=(t,e)=>{for(var n in e)Ys(t,n,{get:e[n],enumerable:!0})},wh=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of tC(e))!rC.call(t,o)&&o!==n&&Ys(t,o,{get:()=>e[o],enumerable:!(r=eC(e,o))||r.enumerable});return t};var Ln=(t,e,n)=>(n=t!=null?Zb(nC(t)):{},wh(e||!t||!t.__esModule?Ys(n,"default",{value:t,enumerable:!0}):n,t)),oC=t=>wh(Ys({},"__esModule",{value:!0}),t);var Eh=X((ZR,Qs)=>{Qs.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;Qs.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]/;Qs.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 Lu=X((ex,kh)=>{var Mu=Eh();kh.exports={isSpaceSeparator(t){return typeof t=="string"&&Mu.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||Mu.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"||Mu.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 Dh=X((tx,Th)=>{var We=Lu(),Uu,ot,Cn,Zs,jn,Lt,Ge,zu,Po;Th.exports=function(e,n){Uu=String(e),ot="start",Cn=[],Zs=0,jn=1,Lt=0,Ge=void 0,zu=void 0,Po=void 0;do Ge=sC(),uC[ot]();while(Ge.type!=="eof");return typeof n=="function"?$u({"":Po},"",n):Po};function $u(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=$u(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=$u(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,Oo,bn,Ee;function sC(){for(be="default",ye="",Oo=!1,bn=1;;){Ee=wn();let t=Sh[be]();if(t)return t}}function wn(){if(Uu[Zs])return String.fromCodePoint(Uu.codePointAt(Zs))}function W(){let t=wn();return t===`
2
+ `?(jn++,Lt=0):t?Lt+=t.length:Lt++,t&&(Zs+=t.length),t}var Sh={default(){switch(Ee){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
3
+ `:case"\r":case"\u2028":case"\u2029":W();return;case"/":W(),be="comment";return;case void 0:return W(),Ne("eof")}if(We.isSpaceSeparator(Ee)){W();return}return Sh[ot]()},comment(){switch(Ee){case"*":W(),be="multiLineComment";return;case"/":W(),be="singleLineComment";return}throw Be(W())},multiLineComment(){switch(Ee){case"*":W(),be="multiLineCommentAsterisk";return;case void 0:throw Be(W())}W()},multiLineCommentAsterisk(){switch(Ee){case"*":W();return;case"/":W(),be="default";return;case void 0:throw Be(W())}W(),be="multiLineComment"},singleLineComment(){switch(Ee){case`
4
+ `:case"\r":case"\u2028":case"\u2029":W(),be="default";return;case void 0:return W(),Ne("eof")}W()},value(){switch(Ee){case"{":case"[":return Ne("punctuator",W());case"n":return W(),ar("ull"),Ne("null",null);case"t":return W(),ar("rue"),Ne("boolean",!0);case"f":return W(),ar("alse"),Ne("boolean",!1);case"-":case"+":W()==="-"&&(bn=-1),be="sign";return;case".":ye=W(),be="decimalPointLeading";return;case"0":ye=W(),be="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":ye=W(),be="decimalInteger";return;case"I":return W(),ar("nfinity"),Ne("numeric",1/0);case"N":return W(),ar("aN"),Ne("numeric",NaN);case'"':case"'":Oo=W()==='"',ye="",be="string";return}throw Be(W())},identifierNameStartEscape(){if(Ee!=="u")throw Be(W());W();let t=qu();switch(t){case"$":case"_":break;default:if(!We.isIdStartChar(t))throw Ah();break}ye+=t,be="identifierName"},identifierName(){switch(Ee){case"$":case"_":case"\u200C":case"\u200D":ye+=W();return;case"\\":W(),be="identifierNameEscape";return}if(We.isIdContinueChar(Ee)){ye+=W();return}return Ne("identifier",ye)},identifierNameEscape(){if(Ee!=="u")throw Be(W());W();let t=qu();switch(t){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!We.isIdContinueChar(t))throw Ah();break}ye+=t,be="identifierName"},sign(){switch(Ee){case".":ye=W(),be="decimalPointLeading";return;case"0":ye=W(),be="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":ye=W(),be="decimalInteger";return;case"I":return W(),ar("nfinity"),Ne("numeric",bn*(1/0));case"N":return W(),ar("aN"),Ne("numeric",NaN)}throw Be(W())},zero(){switch(Ee){case".":ye+=W(),be="decimalPoint";return;case"e":case"E":ye+=W(),be="decimalExponent";return;case"x":case"X":ye+=W(),be="hexadecimal";return}return Ne("numeric",bn*0)},decimalInteger(){switch(Ee){case".":ye+=W(),be="decimalPoint";return;case"e":case"E":ye+=W(),be="decimalExponent";return}if(We.isDigit(Ee)){ye+=W();return}return Ne("numeric",bn*Number(ye))},decimalPointLeading(){if(We.isDigit(Ee)){ye+=W(),be="decimalFraction";return}throw Be(W())},decimalPoint(){switch(Ee){case"e":case"E":ye+=W(),be="decimalExponent";return}if(We.isDigit(Ee)){ye+=W(),be="decimalFraction";return}return Ne("numeric",bn*Number(ye))},decimalFraction(){switch(Ee){case"e":case"E":ye+=W(),be="decimalExponent";return}if(We.isDigit(Ee)){ye+=W();return}return Ne("numeric",bn*Number(ye))},decimalExponent(){switch(Ee){case"+":case"-":ye+=W(),be="decimalExponentSign";return}if(We.isDigit(Ee)){ye+=W(),be="decimalExponentInteger";return}throw Be(W())},decimalExponentSign(){if(We.isDigit(Ee)){ye+=W(),be="decimalExponentInteger";return}throw Be(W())},decimalExponentInteger(){if(We.isDigit(Ee)){ye+=W();return}return Ne("numeric",bn*Number(ye))},hexadecimal(){if(We.isHexDigit(Ee)){ye+=W(),be="hexadecimalInteger";return}throw Be(W())},hexadecimalInteger(){if(We.isHexDigit(Ee)){ye+=W();return}return Ne("numeric",bn*Number(ye))},string(){switch(Ee){case"\\":W(),ye+=iC();return;case'"':if(Oo)return W(),Ne("string",ye);ye+=W();return;case"'":if(!Oo)return W(),Ne("string",ye);ye+=W();return;case`
5
+ `:case"\r":throw Be(W());case"\u2028":case"\u2029":cC(Ee);break;case void 0:throw Be(W())}ye+=W()},start(){switch(Ee){case"{":case"[":return Ne("punctuator",W())}be="value"},beforePropertyName(){switch(Ee){case"$":case"_":ye=W(),be="identifierName";return;case"\\":W(),be="identifierNameStartEscape";return;case"}":return Ne("punctuator",W());case'"':case"'":Oo=W()==='"',be="string";return}if(We.isIdStartChar(Ee)){ye+=W(),be="identifierName";return}throw Be(W())},afterPropertyName(){if(Ee===":")return Ne("punctuator",W());throw Be(W())},beforePropertyValue(){be="value"},afterPropertyValue(){switch(Ee){case",":case"}":return Ne("punctuator",W())}throw Be(W())},beforeArrayValue(){if(Ee==="]")return Ne("punctuator",W());be="value"},afterArrayValue(){switch(Ee){case",":case"]":return Ne("punctuator",W())}throw Be(W())},end(){throw Be(W())}};function Ne(t,e){return{type:t,value:e,line:jn,column:Lt}}function ar(t){for(let e of t){if(wn()!==e)throw Be(W());W()}}function iC(){switch(wn()){case"b":return W(),"\b";case"f":return W(),"\f";case"n":return W(),`
6
+ `;case"r":return W(),"\r";case"t":return W()," ";case"v":return W(),"\v";case"0":if(W(),We.isDigit(wn()))throw Be(W());return"\0";case"x":return W(),aC();case"u":return W(),qu();case`
7
7
  `:case"\u2028":case"\u2029":return W(),"";case"\r":return W(),wn()===`
8
- `&&W(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw Ne(W());case void 0:throw Ne(W())}return W()}function rC(){let t="",e=wn();if(!We.isHexDigit(e)||(t+=W(),e=wn(),!We.isHexDigit(e)))throw Ne(W());return t+=W(),String.fromCodePoint(parseInt(t,16))}function Uu(){let t="",e=4;for(;e-- >0;){let n=wn();if(!We.isHexDigit(n))throw Ne(W());t+=W()}return String.fromCodePoint(parseInt(t,16))}var oC={start(){if(Ge.type==="eof")throw ur();Mu()},beforePropertyName(){switch(Ge.type){case"identifier":case"string":$u=Ge.value,ot="afterPropertyName";return;case"punctuator":Ys();return;case"eof":throw ur()}},afterPropertyName(){if(Ge.type==="eof")throw ur();ot="beforePropertyValue"},beforePropertyValue(){if(Ge.type==="eof")throw ur();Mu()},beforeArrayValue(){if(Ge.type==="eof")throw ur();if(Ge.type==="punctuator"&&Ge.value==="]"){Ys();return}Mu()},afterPropertyValue(){if(Ge.type==="eof")throw ur();switch(Ge.value){case",":ot="beforePropertyName";return;case"}":Ys()}},afterArrayValue(){if(Ge.type==="eof")throw ur();switch(Ge.value){case",":ot="beforeArrayValue";return;case"]":Ys()}},end(){}};function Mu(){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(Oo===void 0)Oo=t;else{let e=Cn[Cn.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,$u,{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 Ys(){Cn.pop();let t=Cn[Cn.length-1];t==null?ot="end":Array.isArray(t)?ot="afterArrayValue":ot="afterPropertyValue"}function Ne(t){return Zs(t===void 0?`JSON5: invalid end of input at ${jn}:${Lt}`:`JSON5: invalid character '${Ah(t)}' at ${jn}:${Lt}`)}function ur(){return Zs(`JSON5: invalid end of input at ${jn}:${Lt}`)}function Eh(){return Lt-=5,Zs(`JSON5: invalid identifier character at ${jn}:${Lt}`)}function sC(t){console.warn(`JSON5: '${Ah(t)}' in strings is not valid ECMAScript; consider escaping`)}function Ah(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 Zs(t){let e=new SyntaxError(t);return e.lineNumber=jn,e.columnNumber=Lt,e}});var Dh=X((GR,vh)=>{var qu=Nu();vh.exports=function(e,n,r){let o=[],s="",a,u,l="",d;if(n!=null&&typeof n=="object"&&!Array.isArray(n)&&(r=n.space,d=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)),f("",{"":e});function f(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 p(_,!1);if(typeof _=="number")return String(_);if(typeof _=="object")return Array.isArray(_)?w(_):m(_)}function p(y){let g={"'":.1,'"':.2},_={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},A="";for(let S=0;S<y.length;S++){let v=y[S];switch(v){case"'":case'"':g[v]++,A+=v;continue;case"\0":if(qu.isDigit(y[S+1])){A+="\\x00";continue}}if(_[v]){A+=_[v];continue}if(v<" "){let R=v.charCodeAt(0).toString(16);A+="\\x"+("00"+R).substring(R.length);continue}A+=v}let C=d||Object.keys(g).reduce((S,v)=>g[S]<g[v]?S:v);return A=A.replace(new RegExp(C,"g"),_[C]),C+A+C}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),A=[];for(let S of _){let v=f(S,y);if(v!==void 0){let R=b(S)+":";l!==""&&(R+=" "),R+=v,A.push(R)}}let C;if(A.length===0)C="{}";else{let S;if(l==="")S=A.join(","),C="{"+S+"}";else{let v=`,
9
- `+s;S=A.join(v),C=`{
8
+ `&&W(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw Be(W());case void 0:throw Be(W())}return W()}function aC(){let t="",e=wn();if(!We.isHexDigit(e)||(t+=W(),e=wn(),!We.isHexDigit(e)))throw Be(W());return t+=W(),String.fromCodePoint(parseInt(t,16))}function qu(){let t="",e=4;for(;e-- >0;){let n=wn();if(!We.isHexDigit(n))throw Be(W());t+=W()}return String.fromCodePoint(parseInt(t,16))}var uC={start(){if(Ge.type==="eof")throw ur();ju()},beforePropertyName(){switch(Ge.type){case"identifier":case"string":zu=Ge.value,ot="afterPropertyName";return;case"punctuator":Xs();return;case"eof":throw ur()}},afterPropertyName(){if(Ge.type==="eof")throw ur();ot="beforePropertyValue"},beforePropertyValue(){if(Ge.type==="eof")throw ur();ju()},beforeArrayValue(){if(Ge.type==="eof")throw ur();if(Ge.type==="punctuator"&&Ge.value==="]"){Xs();return}ju()},afterPropertyValue(){if(Ge.type==="eof")throw ur();switch(Ge.value){case",":ot="beforePropertyName";return;case"}":Xs()}},afterArrayValue(){if(Ge.type==="eof")throw ur();switch(Ge.value){case",":ot="beforeArrayValue";return;case"]":Xs()}},end(){}};function ju(){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(Po===void 0)Po=t;else{let e=Cn[Cn.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,zu,{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 Xs(){Cn.pop();let t=Cn[Cn.length-1];t==null?ot="end":Array.isArray(t)?ot="afterArrayValue":ot="afterPropertyValue"}function Be(t){return ei(t===void 0?`JSON5: invalid end of input at ${jn}:${Lt}`:`JSON5: invalid character '${vh(t)}' at ${jn}:${Lt}`)}function ur(){return ei(`JSON5: invalid end of input at ${jn}:${Lt}`)}function Ah(){return Lt-=5,ei(`JSON5: invalid identifier character at ${jn}:${Lt}`)}function cC(t){console.warn(`JSON5: '${vh(t)}' in strings is not valid ECMAScript; consider escaping`)}function vh(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 ei(t){let e=new SyntaxError(t);return e.lineNumber=jn,e.columnNumber=Lt,e}});var xh=X((nx,Rh)=>{var Hu=Lu();Rh.exports=function(e,n,r){let o=[],s="",a,u,l="",d;if(n!=null&&typeof n=="object"&&!Array.isArray(n)&&(r=n.space,d=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)),f("",{"":e});function f(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 p(_,!1);if(typeof _=="number")return String(_);if(typeof _=="object")return Array.isArray(_)?w(_):m(_)}function p(y){let g={"'":.1,'"':.2},_={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},A="";for(let S=0;S<y.length;S++){let T=y[S];switch(T){case"'":case'"':g[T]++,A+=T;continue;case"\0":if(Hu.isDigit(y[S+1])){A+="\\x00";continue}}if(_[T]){A+=_[T];continue}if(T<" "){let R=T.charCodeAt(0).toString(16);A+="\\x"+("00"+R).substring(R.length);continue}A+=T}let C=d||Object.keys(g).reduce((S,T)=>g[S]<g[T]?S:T);return A=A.replace(new RegExp(C,"g"),_[C]),C+A+C}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),A=[];for(let S of _){let T=f(S,y);if(T!==void 0){let R=b(S)+":";l!==""&&(R+=" "),R+=T,A.push(R)}}let C;if(A.length===0)C="{}";else{let S;if(l==="")S=A.join(","),C="{"+S+"}";else{let T=`,
9
+ `+s;S=A.join(T),C=`{
10
10
  `+s+S+`,
11
- `+g+"}"}}return o.pop(),s=g,C}function b(y){if(y.length===0)return p(y,!0);let g=String.fromCodePoint(y.codePointAt(0));if(!qu.isIdStartChar(g))return p(y,!0);for(let _=g.length;_<y.length;_++)if(!qu.isIdContinueChar(String.fromCodePoint(y.codePointAt(_))))return p(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 C=0;C<y.length;C++){let S=f(String(C),y);_.push(S!==void 0?S:"null")}let A;if(_.length===0)A="[]";else if(l==="")A="["+_.join(",")+"]";else{let C=`,
11
+ `+g+"}"}}return o.pop(),s=g,C}function b(y){if(y.length===0)return p(y,!0);let g=String.fromCodePoint(y.codePointAt(0));if(!Hu.isIdStartChar(g))return p(y,!0);for(let _=g.length;_<y.length;_++)if(!Hu.isIdContinueChar(String.fromCodePoint(y.codePointAt(_))))return p(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 C=0;C<y.length;C++){let S=f(String(C),y);_.push(S!==void 0?S:"null")}let A;if(_.length===0)A="[]";else if(l==="")A="["+_.join(",")+"]";else{let C=`,
12
12
  `+s,S=_.join(C);A=`[
13
13
  `+s+S+`,
14
- `+g+"]"}return o.pop(),s=g,A}}});var zu=X((JR,Rh)=>{var iC=Th(),aC=Dh(),uC={parse:iC,stringify:aC};Rh.exports=uC});var zh={};Iu(zh,{getFallbackPromotionStore:()=>Po,resetFallbackPromotionStore:()=>_C});function Po(t){return cr||(cr=new Wu,t&&cr.configure(t)),cr}function _C(){cr&&(cr.clearAll(),cr=null)}var yC,Wu,cr,ni=Le(()=>{"use strict";Un();yC=600*1e3,Wu=class{promotions=new Map;enabled=!0;ttlMs=yC;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,...d]=a.promotedModel.split(","),f=d.join(",");if(!Qe().isAvailable(l,f))return this.promotions.delete(s),null;let m=o.find(w=>w.name.toLowerCase()===l.toLowerCase()),b=m?.models?.find(w=>String(w).toLowerCase()===f.toLowerCase());return!m||!b||m.enabled===!1?(this.promotions.delete(s),null):`${m.name},${b}`}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 Gh,mkdirSync as bC,readFileSync as CC,writeFileSync as wC}from"fs";import{join as Jh}from"path";import{HOME_DIR as EC}from"@wengine-ai/claude-code-router-shared";function TC(t){try{if(!Gh(Vu))return;let e=JSON.parse(CC(Vu,"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 Wh(t){try{let e=t.getAllStates();if(e.length===0)return;Gh(Ju)||bC(Ju,{recursive:!0});let n=e.map(r=>({...r,updatedAt:Date.now()}));wC(Vu,JSON.stringify(n,null,2),"utf-8")}catch{}}function Ku(){if(Hh)return;Hh=!0;let t=Qe();TC(t),SC=setInterval(()=>Wh(t),6e4),process.on("exit",()=>Wh(t))}function Qe(t){return Gu||(Gu=new ri(t)),Gu}var kC,AC,ri,Ju,Vu,Hh,SC,Gu,Un=Le(()=>{"use strict";kC=120,AC={enabled:!0,failureThreshold:3,probeIntervalMinutes:5,halfOpenSuccessThreshold:2},ri=class{states=new Map;config;probeTimer;constructor(e){this.config={...AC,...e}}getKey(e,n){return`${e},${n}`}recordSuccess(e,n){if(!this.config.enabled)return;let r=this.getKey(e,n),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}=(ni(),eC(zh));r().clearByPrimary(e,n)}catch{}}recordFailure(e,n,r){if(!this.config.enabled)return;let o=this.getKey(e,n),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){return this.states.get(this.getKey(e,n))}isAvailable(e,n){if(!this.config.enabled)return!0;let r=this.getState(e,n);return r?r.status==="open"&&r.rateLimitUntil?!(Date.now()<r.rateLimitUntil):r.status!=="open":!0}getPriority(e,n){if(!this.config.enabled)return 0;let r=this.getState(e,n);if(!r)return 0;switch(r.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),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),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??kC)*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),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);this.states.delete(r)}getAllStates(){return Array.from(this.states.values())}restore(e){this.states.set(this.getKey(e.provider,e.model),{...e})}stopProbeTimer(){this.probeTimer&&(clearInterval(this.probeTimer),this.probeTimer=void 0)}},Ju=Jh(EC,"runtime"),Vu=Jh(Ju,"provider-health.json"),Hh=!1,SC=null;Gu=null});var fc=X((f1,Dp)=>{"use strict";var hi=Object.prototype.hasOwnProperty,vp=Object.prototype.toString,wp=Object.defineProperty,Ep=Object.getOwnPropertyDescriptor,kp=function(e){return typeof Array.isArray=="function"?Array.isArray(e):vp.call(e)==="[object Array]"},Ap=function(e){if(!e||vp.call(e)!=="[object Object]")return!1;var n=hi.call(e,"constructor"),r=e.constructor&&e.constructor.prototype&&hi.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!n&&!r)return!1;var o;for(o in e);return typeof o>"u"||hi.call(e,o)},Sp=function(e,n){wp&&n.name==="__proto__"?wp(e,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):e[n.name]=n.newValue},Tp=function(e,n){if(n==="__proto__")if(hi.call(e,n)){if(Ep)return Ep(e,n).value}else return;return e[n]};Dp.exports=function t(){var e,n,r,o,s,a,u=arguments[0],l=1,d=arguments.length,f=!1;for(typeof u=="boolean"&&(f=u,u=arguments[1]||{},l=2),(u==null||typeof u!="object"&&typeof u!="function")&&(u={});l<d;++l)if(e=arguments[l],e!=null)for(n in e)r=Tp(u,n),o=Tp(e,n),u!==o&&(f&&o&&(Ap(o)||(s=kp(o)))?(s?(s=!1,a=r&&kp(r)?r:[]):a=r&&Ap(r)?r:{},Sp(u,{name:n,newValue:t(f,a,o)})):typeof o<"u"&&Sp(u,{name:n,newValue:o}));return u}});var Rp=X((h1,mw)=>{mw.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 Op=X((p1,xp)=>{"use strict";var gw=Rp();xp.exports={pkg:gw}});var mc=X(St=>{"use strict";var Fp=St&&St.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(St,"__esModule",{value:!0});St.GaxiosError=St.GAXIOS_ERROR_SYMBOL=void 0;St.defaultErrorRedactor=Ip;var Pp=Fp(fc()),yw=Fp(Op()),hc=yw.default.pkg;St.GAXIOS_ERROR_SYMBOL=Symbol.for(`${hc.name}-gaxios-error`);var pc=class t extends Error{config;response;code;status;error;[St.GAXIOS_ERROR_SYMBOL]=hc.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&St.GAXIOS_ERROR_SYMBOL in e&&e[St.GAXIOS_ERROR_SYMBOL]===hc.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,Pp.default)(!0,{},n),this.response&&(this.response.config=(0,Pp.default)(!0,{},this.response.config)),this.response){try{this.response.data=_w(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}}};St.GaxiosError=pc;function _w(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 Ip(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&&(Ip({config:t.response.config}),n(t.response.headers),t.response.bodyUsed&&(r(t.response,"data"),o(t.response.data))),t}});var Np=X(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.getRetryConfig=bw;async function bw(t){let e=Bp(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||Cw)(t))return{shouldRetry:!1,config:t.config};let o=ww(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 Cw(t){let e=Bp(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 Bp(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function ww(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 _c=X(pi=>{"use strict";Object.defineProperty(pi,"__esModule",{value:!0});pi.GaxiosInterceptorManager=void 0;var yc=class extends Set{};pi.GaxiosInterceptorManager=yc});var Lp=X((_1,Mp)=>{var qr=1e3,zr=qr*60,Hr=zr*60,dr=Hr*24,Ew=dr*7,kw=dr*365.25;Mp.exports=function(t,e){e=e||{};var n=typeof t;if(n==="string"&&t.length>0)return Aw(t);if(n==="number"&&isFinite(t))return e.long?Tw(t):Sw(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function Aw(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*kw;case"weeks":case"week":case"w":return n*Ew;case"days":case"day":case"d":return n*dr;case"hours":case"hour":case"hrs":case"hr":case"h":return n*Hr;case"minutes":case"minute":case"mins":case"min":case"m":return n*zr;case"seconds":case"second":case"secs":case"sec":case"s":return n*qr;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function Sw(t){var e=Math.abs(t);return e>=dr?Math.round(t/dr)+"d":e>=Hr?Math.round(t/Hr)+"h":e>=zr?Math.round(t/zr)+"m":e>=qr?Math.round(t/qr)+"s":t+"ms"}function Tw(t){var e=Math.abs(t);return e>=dr?mi(t,e,dr,"day"):e>=Hr?mi(t,e,Hr,"hour"):e>=zr?mi(t,e,zr,"minute"):e>=qr?mi(t,e,qr,"second"):t+" ms"}function mi(t,e,n,r){var o=e>=n*1.5;return Math.round(t/n)+" "+r+(o?"s":"")}});var bc=X((b1,jp)=>{function vw(t){n.debug=n,n.default=n,n.coerce=l,n.disable=a,n.enable=o,n.enabled=u,n.humanize=Lp(),n.destroy=d,Object.keys(t).forEach(f=>{n[f]=t[f]}),n.names=[],n.skips=[],n.formatters={};function e(f){let p=0;for(let m=0;m<f.length;m++)p=(p<<5)-p+f.charCodeAt(m),p|=0;return n.colors[Math.abs(p)%n.colors.length]}n.selectColor=e;function n(f){let p,m=null,b,w;function y(...g){if(!y.enabled)return;let _=y,A=Number(new Date),C=A-(p||A);_.diff=C,_.prev=p,_.curr=A,p=A,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 V=n.formatters[$];if(typeof V=="function"){let P=g[S];R=V.call(_,P),g.splice(S,1),S--}return R}),n.formatArgs.call(_,g),(_.log||n.log).apply(_,g)}return y.namespace=f,y.useColors=n.useColors(),y.color=n.selectColor(f),y.extend=r,y.destroy=n.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(b!==n.namespaces&&(b=n.namespaces,w=n.enabled(f)),w),set:g=>{m=g}}),typeof n.init=="function"&&n.init(y),y}function r(f,p){let m=n(this.namespace+(typeof p>"u"?":":p)+f);return m.log=this.log,m}function o(f){n.save(f),n.namespaces=f,n.names=[],n.skips=[];let p=(typeof f=="string"?f:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let m of p)m[0]==="-"?n.skips.push(m.slice(1)):n.names.push(m)}function s(f,p){let m=0,b=0,w=-1,y=0;for(;m<f.length;)if(b<p.length&&(p[b]===f[m]||p[b]==="*"))p[b]==="*"?(w=b,y=m,b++):(m++,b++);else if(w!==-1)b=w+1,y++,m=y;else return!1;for(;b<p.length&&p[b]==="*";)b++;return b===p.length}function a(){let f=[...n.names,...n.skips.map(p=>"-"+p)].join(",");return n.enable(""),f}function u(f){for(let p of n.skips)if(s(f,p))return!1;for(let p of n.names)if(s(f,p))return!0;return!1}function l(f){return f instanceof Error?f.stack||f.message:f}function d(){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}jp.exports=vw});var Up=X((ut,gi)=>{ut.formatArgs=Rw;ut.save=xw;ut.load=Ow;ut.useColors=Dw;ut.storage=Pw();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 Dw(){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 Rw(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+gi.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 xw(t){try{t?ut.storage.setItem("debug",t):ut.storage.removeItem("debug")}catch{}}function Ow(){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 Pw(){try{return localStorage}catch{}}gi.exports=bc()(ut);var{formatters:Fw}=gi.exports;Fw.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var qp=X((C1,$p)=>{"use strict";$p.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 Wp=X((w1,Hp)=>{"use strict";var Iw=re("os"),zp=re("tty"),Tt=qp(),{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 Cc(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function wc(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=Iw.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 Bw(t){let e=wc(t,t&&t.isTTY);return Cc(e)}Hp.exports={supportsColor:Bw,stdout:Cc(wc(!0,zp.isatty(1))),stderr:Cc(wc(!0,zp.isatty(2)))}});var Jp=X((Ve,_i)=>{var Nw=re("tty"),yi=re("util");Ve.init=zw;Ve.log=Uw;Ve.formatArgs=Lw;Ve.save=$w;Ve.load=qw;Ve.useColors=Mw;Ve.destroy=yi.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=Wp();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 Mw(){return"colors"in Ve.inspectOpts?!!Ve.inspectOpts.colors:Nw.isatty(process.stderr.fd)}function Lw(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,A}}});var Wu=X((rx,Oh)=>{var lC=Dh(),dC=xh(),fC={parse:lC,stringify:dC};Oh.exports=fC});var Hh={};Bu(Hh,{getFallbackPromotionStore:()=>Fo,resetFallbackPromotionStore:()=>EC});function Fo(t){return cr||(cr=new Ju,t&&cr.configure(t)),cr}function EC(){cr&&(cr.clearAll(),cr=null)}var wC,Ju,cr,oi=Le(()=>{"use strict";Un();wC=600*1e3,Ju=class{promotions=new Map;enabled=!0;ttlMs=wC;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,...d]=a.promotedModel.split(","),f=d.join(",");if(!Ye().isAvailable(l,f))return this.promotions.delete(s),null;let m=o.find(w=>w.name.toLowerCase()===l.toLowerCase()),b=m?.models?.find(w=>String(w).toLowerCase()===f.toLowerCase());return!m||!b||m.enabled===!1?(this.promotions.delete(s),null):`${m.name},${b}`}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 Jh,mkdirSync as kC,readFileSync as AC,writeFileSync as SC}from"fs";import{join as Vh}from"path";import{HOME_DIR as vC}from"@wengine-ai/claude-code-router-shared";function xC(t){try{if(!Jh(Yu))return;let e=JSON.parse(AC(Yu,"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 Gh(t){try{let e=t.getAllStates();if(e.length===0)return;Jh(Ku)||kC(Ku,{recursive:!0});let n=e.map(r=>({...r,updatedAt:Date.now()}));SC(Yu,JSON.stringify(n,null,2),"utf-8")}catch{}}function Qu(){if(Wh)return;Wh=!0;let t=Ye();xC(t),RC=setInterval(()=>Gh(t),6e4),process.on("exit",()=>Gh(t))}function Ye(t){return Vu||(Vu=new si(t)),Vu}var TC,DC,si,Ku,Yu,Wh,RC,Vu,Un=Le(()=>{"use strict";TC=120,DC={enabled:!0,failureThreshold:3,probeIntervalMinutes:5,halfOpenSuccessThreshold:2},si=class{states=new Map;config;probeTimer;constructor(e){this.config={...DC,...e}}getKey(e,n){return`${e},${n}`}recordSuccess(e,n){if(!this.config.enabled)return;let r=this.getKey(e,n),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}=(oi(),oC(Hh));r().clearByPrimary(e,n)}catch{}}recordFailure(e,n,r){if(!this.config.enabled)return;let o=this.getKey(e,n),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){return this.states.get(this.getKey(e,n))}isAvailable(e,n){if(!this.config.enabled)return!0;let r=this.getState(e,n);return r?r.status==="open"&&r.rateLimitUntil?!(Date.now()<r.rateLimitUntil):r.status!=="open":!0}getPriority(e,n){if(!this.config.enabled)return 0;let r=this.getState(e,n);if(!r)return 0;switch(r.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),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),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??TC)*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),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);this.states.delete(r)}getAllStates(){return Array.from(this.states.values())}restore(e){this.states.set(this.getKey(e.provider,e.model),{...e})}stopProbeTimer(){this.probeTimer&&(clearInterval(this.probeTimer),this.probeTimer=void 0)}},Ku=Vh(vC,"runtime"),Yu=Vh(Ku,"provider-health.json"),Wh=!1,RC=null;Vu=null});var pc=X((E1,Op)=>{"use strict";var mi=Object.prototype.hasOwnProperty,xp=Object.prototype.toString,Ap=Object.defineProperty,Sp=Object.getOwnPropertyDescriptor,vp=function(e){return typeof Array.isArray=="function"?Array.isArray(e):xp.call(e)==="[object Array]"},Tp=function(e){if(!e||xp.call(e)!=="[object Object]")return!1;var n=mi.call(e,"constructor"),r=e.constructor&&e.constructor.prototype&&mi.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!n&&!r)return!1;var o;for(o in e);return typeof o>"u"||mi.call(e,o)},Dp=function(e,n){Ap&&n.name==="__proto__"?Ap(e,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):e[n.name]=n.newValue},Rp=function(e,n){if(n==="__proto__")if(mi.call(e,n)){if(Sp)return Sp(e,n).value}else return;return e[n]};Op.exports=function t(){var e,n,r,o,s,a,u=arguments[0],l=1,d=arguments.length,f=!1;for(typeof u=="boolean"&&(f=u,u=arguments[1]||{},l=2),(u==null||typeof u!="object"&&typeof u!="function")&&(u={});l<d;++l)if(e=arguments[l],e!=null)for(n in e)r=Rp(u,n),o=Rp(e,n),u!==o&&(f&&o&&(Tp(o)||(s=vp(o)))?(s?(s=!1,a=r&&vp(r)?r:[]):a=r&&Tp(r)?r:{},Dp(u,{name:n,newValue:t(f,a,o)})):typeof o<"u"&&Dp(u,{name:n,newValue:o}));return u}});var Pp=X((k1,kw)=>{kw.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 Ip=X((A1,Fp)=>{"use strict";var Aw=Pp();Fp.exports={pkg:Aw}});var yc=X(St=>{"use strict";var Bp=St&&St.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(St,"__esModule",{value:!0});St.GaxiosError=St.GAXIOS_ERROR_SYMBOL=void 0;St.defaultErrorRedactor=Mp;var Np=Bp(pc()),Sw=Bp(Ip()),mc=Sw.default.pkg;St.GAXIOS_ERROR_SYMBOL=Symbol.for(`${mc.name}-gaxios-error`);var gc=class t extends Error{config;response;code;status;error;[St.GAXIOS_ERROR_SYMBOL]=mc.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&St.GAXIOS_ERROR_SYMBOL in e&&e[St.GAXIOS_ERROR_SYMBOL]===mc.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,Np.default)(!0,{},n),this.response&&(this.response.config=(0,Np.default)(!0,{},this.response.config)),this.response){try{this.response.data=vw(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}}};St.GaxiosError=gc;function vw(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 Mp(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&&(Mp({config:t.response.config}),n(t.response.headers),t.response.bodyUsed&&(r(t.response,"data"),o(t.response.data))),t}});var jp=X(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.getRetryConfig=Tw;async function Tw(t){let e=Lp(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||Dw)(t))return{shouldRetry:!1,config:t.config};let o=Rw(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 Dw(t){let e=Lp(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 Lp(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function Rw(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 Cc=X(gi=>{"use strict";Object.defineProperty(gi,"__esModule",{value:!0});gi.GaxiosInterceptorManager=void 0;var bc=class extends Set{};gi.GaxiosInterceptorManager=bc});var $p=X((D1,Up)=>{var zr=1e3,Hr=zr*60,Wr=Hr*60,dr=Wr*24,xw=dr*7,Ow=dr*365.25;Up.exports=function(t,e){e=e||{};var n=typeof t;if(n==="string"&&t.length>0)return Pw(t);if(n==="number"&&isFinite(t))return e.long?Iw(t):Fw(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function Pw(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*Ow;case"weeks":case"week":case"w":return n*xw;case"days":case"day":case"d":return n*dr;case"hours":case"hour":case"hrs":case"hr":case"h":return n*Wr;case"minutes":case"minute":case"mins":case"min":case"m":return n*Hr;case"seconds":case"second":case"secs":case"sec":case"s":return n*zr;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function Fw(t){var e=Math.abs(t);return e>=dr?Math.round(t/dr)+"d":e>=Wr?Math.round(t/Wr)+"h":e>=Hr?Math.round(t/Hr)+"m":e>=zr?Math.round(t/zr)+"s":t+"ms"}function Iw(t){var e=Math.abs(t);return e>=dr?yi(t,e,dr,"day"):e>=Wr?yi(t,e,Wr,"hour"):e>=Hr?yi(t,e,Hr,"minute"):e>=zr?yi(t,e,zr,"second"):t+" ms"}function yi(t,e,n,r){var o=e>=n*1.5;return Math.round(t/n)+" "+r+(o?"s":"")}});var wc=X((R1,qp)=>{function Nw(t){n.debug=n,n.default=n,n.coerce=l,n.disable=a,n.enable=o,n.enabled=u,n.humanize=$p(),n.destroy=d,Object.keys(t).forEach(f=>{n[f]=t[f]}),n.names=[],n.skips=[],n.formatters={};function e(f){let p=0;for(let m=0;m<f.length;m++)p=(p<<5)-p+f.charCodeAt(m),p|=0;return n.colors[Math.abs(p)%n.colors.length]}n.selectColor=e;function n(f){let p,m=null,b,w;function y(...g){if(!y.enabled)return;let _=y,A=Number(new Date),C=A-(p||A);_.diff=C,_.prev=p,_.curr=A,p=A,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 V=n.formatters[$];if(typeof V=="function"){let P=g[S];R=V.call(_,P),g.splice(S,1),S--}return R}),n.formatArgs.call(_,g),(_.log||n.log).apply(_,g)}return y.namespace=f,y.useColors=n.useColors(),y.color=n.selectColor(f),y.extend=r,y.destroy=n.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(b!==n.namespaces&&(b=n.namespaces,w=n.enabled(f)),w),set:g=>{m=g}}),typeof n.init=="function"&&n.init(y),y}function r(f,p){let m=n(this.namespace+(typeof p>"u"?":":p)+f);return m.log=this.log,m}function o(f){n.save(f),n.namespaces=f,n.names=[],n.skips=[];let p=(typeof f=="string"?f:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let m of p)m[0]==="-"?n.skips.push(m.slice(1)):n.names.push(m)}function s(f,p){let m=0,b=0,w=-1,y=0;for(;m<f.length;)if(b<p.length&&(p[b]===f[m]||p[b]==="*"))p[b]==="*"?(w=b,y=m,b++):(m++,b++);else if(w!==-1)b=w+1,y++,m=y;else return!1;for(;b<p.length&&p[b]==="*";)b++;return b===p.length}function a(){let f=[...n.names,...n.skips.map(p=>"-"+p)].join(",");return n.enable(""),f}function u(f){for(let p of n.skips)if(s(f,p))return!1;for(let p of n.names)if(s(f,p))return!0;return!1}function l(f){return f instanceof Error?f.stack||f.message:f}function d(){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}qp.exports=Nw});var zp=X((ut,_i)=>{ut.formatArgs=Mw;ut.save=Lw;ut.load=jw;ut.useColors=Bw;ut.storage=Uw();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 Bw(){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 Mw(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+_i.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 Lw(t){try{t?ut.storage.setItem("debug",t):ut.storage.removeItem("debug")}catch{}}function jw(){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 Uw(){try{return localStorage}catch{}}_i.exports=wc()(ut);var{formatters:$w}=_i.exports;$w.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Wp=X((x1,Hp)=>{"use strict";Hp.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 Vp=X((O1,Jp)=>{"use strict";var qw=re("os"),Gp=re("tty"),vt=Wp(),{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 Ec(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function kc(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=qw.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 zw(t){let e=kc(t,t&&t.isTTY);return Ec(e)}Jp.exports={supportsColor:zw,stdout:Ec(kc(!0,Gp.isatty(1))),stderr:Ec(kc(!0,Gp.isatty(2)))}});var Yp=X((Ve,Ci)=>{var Hw=re("tty"),bi=re("util");Ve.init=Qw;Ve.log=Vw;Ve.formatArgs=Gw;Ve.save=Kw;Ve.load=Yw;Ve.useColors=Ww;Ve.destroy=bi.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=Vp();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 Ww(){return"colors"in Ve.inspectOpts?!!Ve.inspectOpts.colors:Hw.isatty(process.stderr.fd)}function Gw(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
- `+s),t.push(o+"m+"+_i.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=jw()+e+" "+t[0]}function jw(){return Ve.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Uw(...t){return process.stderr.write(yi.formatWithOptions(Ve.inspectOpts,...t)+`
18
- `)}function $w(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function qw(){return process.env.DEBUG}function zw(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]]}_i.exports=bc()(Ve);var{formatters:Gp}=_i.exports;Gp.o=function(t){return this.inspectOpts.colors=this.useColors,yi.inspect(t,this.inspectOpts).split(`
19
- `).map(e=>e.trim()).join(" ")};Gp.O=function(t){return this.inspectOpts.colors=this.useColors,yi.inspect(t,this.inspectOpts)}});var kc=X((E1,Ec)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Ec.exports=Up():Ec.exports=Jp()});var Qp=X(ct=>{"use strict";var Hw=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]})),Ww=ct&&ct.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Vp=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)&&Hw(e,t,n);return Ww(e,t),e};Object.defineProperty(ct,"__esModule",{value:!0});ct.req=ct.json=ct.toBuffer=void 0;var Gw=Vp(re("http")),Jw=Vp(re("https"));async function Kp(t){let e=0,n=[];for await(let r of t)e+=r.length,n.push(r);return Buffer.concat(n,e)}ct.toBuffer=Kp;async function Vw(t){let n=(await Kp(t)).toString("utf8");try{return JSON.parse(n)}catch(r){let o=r;throw o.message+=` (input: ${n})`,o}}ct.json=Vw;function Kw(t,e={}){let r=((typeof t=="string"?t:t.href).startsWith("https:")?Jw:Gw).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=Kw});var em=X(pt=>{"use strict";var Xp=pt&&pt.__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]})),Qw=pt&&pt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Zp=pt&&pt.__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)&&Xp(e,t,n);return Qw(e,t),e},Yw=pt&&pt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Xp(e,t,n)};Object.defineProperty(pt,"__esModule",{value:!0});pt.Agent=void 0;var Xw=Zp(re("net")),Yp=Zp(re("http")),Zw=re("https");Yw(Qp(),pt);var Yt=Symbol("AgentBaseInternalState"),Ac=class extends Yp.Agent{constructor(e){super(e),this[Yt]={}}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
- `).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 Xw.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)?Zw.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 Yp.Agent)try{return u.addRequest(e,o)}catch(l){return r(l)}this[Yt].currentSocket=u,super.createSocket(e,n,r)},u=>{this.decrementSockets(s,a),r(u)})}createConnection(){let e=this[Yt].currentSocket;if(this[Yt].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Yt].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Yt]&&(this[Yt].defaultPort=e)}get protocol(){return this[Yt].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Yt]&&(this[Yt].protocol=e)}};pt.Agent=Ac});var tm=X(Wr=>{"use strict";var eE=Wr&&Wr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Wr,"__esModule",{value:!0});Wr.parseProxyResponse=void 0;var tE=eE(kc()),bi=(0,tE.default)("https-proxy-agent:parse-proxy-response");function nE(t){return new Promise((e,n)=>{let r=0,o=[];function s(){let f=t.read();f?d(f):t.once("readable",s)}function a(){t.removeListener("end",u),t.removeListener("error",l),t.removeListener("readable",s)}function u(){a(),bi("onend"),n(new Error("Proxy connection ended before receiving CONNECT response"))}function l(f){a(),bi("onerror %o",f),n(f)}function d(f){o.push(f),r+=f.length;let p=Buffer.concat(o,r),m=p.indexOf(`\r
17
+ `+s),t.push(o+"m+"+Ci.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=Jw()+e+" "+t[0]}function Jw(){return Ve.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Vw(...t){return process.stderr.write(bi.formatWithOptions(Ve.inspectOpts,...t)+`
18
+ `)}function Kw(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function Yw(){return process.env.DEBUG}function Qw(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]]}Ci.exports=wc()(Ve);var{formatters:Kp}=Ci.exports;Kp.o=function(t){return this.inspectOpts.colors=this.useColors,bi.inspect(t,this.inspectOpts).split(`
19
+ `).map(e=>e.trim()).join(" ")};Kp.O=function(t){return this.inspectOpts.colors=this.useColors,bi.inspect(t,this.inspectOpts)}});var Sc=X((P1,Ac)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Ac.exports=zp():Ac.exports=Yp()});var Zp=X(ct=>{"use strict";var Xw=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]})),Zw=ct&&ct.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Qp=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)&&Xw(e,t,n);return Zw(e,t),e};Object.defineProperty(ct,"__esModule",{value:!0});ct.req=ct.json=ct.toBuffer=void 0;var eE=Qp(re("http")),tE=Qp(re("https"));async function Xp(t){let e=0,n=[];for await(let r of t)e+=r.length,n.push(r);return Buffer.concat(n,e)}ct.toBuffer=Xp;async function nE(t){let n=(await Xp(t)).toString("utf8");try{return JSON.parse(n)}catch(r){let o=r;throw o.message+=` (input: ${n})`,o}}ct.json=nE;function rE(t,e={}){let r=((typeof t=="string"?t:t.href).startsWith("https:")?tE:eE).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=rE});var rm=X(pt=>{"use strict";var tm=pt&&pt.__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]})),oE=pt&&pt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),nm=pt&&pt.__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)&&tm(e,t,n);return oE(e,t),e},sE=pt&&pt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&tm(e,t,n)};Object.defineProperty(pt,"__esModule",{value:!0});pt.Agent=void 0;var iE=nm(re("net")),em=nm(re("http")),aE=re("https");sE(Zp(),pt);var Qt=Symbol("AgentBaseInternalState"),vc=class extends em.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
+ `).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 iE.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)?aE.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 em.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)}};pt.Agent=vc});var om=X(Gr=>{"use strict";var uE=Gr&&Gr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Gr,"__esModule",{value:!0});Gr.parseProxyResponse=void 0;var cE=uE(Sc()),wi=(0,cE.default)("https-proxy-agent:parse-proxy-response");function lE(t){return new Promise((e,n)=>{let r=0,o=[];function s(){let f=t.read();f?d(f):t.once("readable",s)}function a(){t.removeListener("end",u),t.removeListener("error",l),t.removeListener("readable",s)}function u(){a(),wi("onend"),n(new Error("Proxy connection ended before receiving CONNECT response"))}function l(f){a(),wi("onerror %o",f),n(f)}function d(f){o.push(f),r+=f.length;let p=Buffer.concat(o,r),m=p.indexOf(`\r
21
21
  \r
22
- `);if(m===-1){bi("have not received end of HTTP headers yet..."),s();return}let b=p.slice(0,m).toString("ascii").split(`\r
23
- `),w=b.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(" "),A={};for(let C of b){if(!C)continue;let S=C.indexOf(":");if(S===-1)return t.destroy(),n(new Error(`Invalid header from proxy CONNECT response: "${C}"`));let v=C.slice(0,S).toLowerCase(),R=C.slice(S+1).trimStart(),$=A[v];typeof $=="string"?A[v]=[$,R]:Array.isArray($)?$.push(R):A[v]=R}bi("got proxy server response: %o %o",w,A),a(),e({connect:{statusCode:g,statusText:_,headers:A},buffered:p})}t.on("error",l),t.on("end",u),s()})}Wr.parseProxyResponse=nE});var am=X(vt=>{"use strict";var rE=vt&&vt.__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]})),oE=vt&&vt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),sm=vt&&vt.__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)&&rE(e,t,n);return oE(e,t),e},im=vt&&vt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vt,"__esModule",{value:!0});vt.HttpsProxyAgent=void 0;var Ci=sm(re("net")),nm=sm(re("tls")),sE=im(re("assert")),iE=im(kc()),aE=em(),uE=re("url"),cE=tm(),Mo=(0,iE.default)("https-proxy-agent"),rm=t=>t.servername===void 0&&t.host&&!Ci.isIP(t.host)?{...t,servername:t.host}:t,wi=class extends aE.Agent{constructor(e,n){super(n),this.options={path:void 0},this.proxy=typeof e=="string"?new uE.URL(e):e,this.proxyHeaders=n?.headers??{},Mo("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?om(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:"?(Mo("Creating `tls.Socket`: %o",this.connectOpts),o=nm.connect(rm(this.connectOpts))):(Mo("Creating `net.Socket`: %o",this.connectOpts),o=Ci.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=Ci.isIPv6(n.host)?`[${n.host}]`:n.host,u=`CONNECT ${a}:${n.port} HTTP/1.1\r
22
+ `);if(m===-1){wi("have not received end of HTTP headers yet..."),s();return}let b=p.slice(0,m).toString("ascii").split(`\r
23
+ `),w=b.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(" "),A={};for(let C of b){if(!C)continue;let S=C.indexOf(":");if(S===-1)return t.destroy(),n(new Error(`Invalid header from proxy CONNECT response: "${C}"`));let T=C.slice(0,S).toLowerCase(),R=C.slice(S+1).trimStart(),$=A[T];typeof $=="string"?A[T]=[$,R]:Array.isArray($)?$.push(R):A[T]=R}wi("got proxy server response: %o %o",w,A),a(),e({connect:{statusCode:g,statusText:_,headers:A},buffered:p})}t.on("error",l),t.on("end",u),s()})}Gr.parseProxyResponse=lE});var lm=X(Tt=>{"use strict";var dE=Tt&&Tt.__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]})),fE=Tt&&Tt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),um=Tt&&Tt.__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)&&dE(e,t,n);return fE(e,t),e},cm=Tt&&Tt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Tt,"__esModule",{value:!0});Tt.HttpsProxyAgent=void 0;var Ei=um(re("net")),sm=um(re("tls")),hE=cm(re("assert")),pE=cm(Sc()),mE=rm(),gE=re("url"),yE=om(),Lo=(0,pE.default)("https-proxy-agent"),im=t=>t.servername===void 0&&t.host&&!Ei.isIP(t.host)?{...t,servername:t.host}:t,ki=class extends mE.Agent{constructor(e,n){super(n),this.options={path:void 0},this.proxy=typeof e=="string"?new gE.URL(e):e,this.proxyHeaders=n?.headers??{},Lo("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?am(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:"?(Lo("Creating `tls.Socket`: %o",this.connectOpts),o=sm.connect(im(this.connectOpts))):(Lo("Creating `net.Socket`: %o",this.connectOpts),o=Ei.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=Ei.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
- `;let l=(0,cE.parseProxyResponse)(o);o.write(`${u}\r
26
- `);let{connect:d,buffered:f}=await l;if(e.emit("proxyConnect",d),this.emit("proxyConnect",d,e),d.statusCode===200)return e.once("socket",lE),n.secureEndpoint?(Mo("Upgrading socket connection to TLS"),nm.connect({...om(rm(n),"host","path","port"),socket:o})):o;o.destroy();let p=new Ci.Socket({writable:!1});return p.readable=!0,e.once("socket",m=>{Mo("Replaying proxy buffer for failed request"),(0,sE.default)(m.listenerCount("data")>0),m.push(f),m.push(null)}),p}};wi.protocols=["http","https"];vt.HttpsProxyAgent=wi;function lE(t){t.resume()}function om(t,...e){let n={},r;for(r in t)e.includes(r)||(n[r]=t[r]);return n}});function dE(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 f=1;f<n.length;f++)n[f]==="base64"?o=!0:n[f]&&(a+=`;${n[f]}`,n[f].indexOf("charset=")===0&&(r=n[f].substring(8)));!n[0]&&!r.length&&(a+=";charset=US-ASCII",r="US-ASCII");let u=o?"base64":"ascii",l=unescape(t.substring(e+1)),d=Buffer.from(l,u);return d.type=s,d.typeFull=a,d.charset=r,d}var um,cm=Le(()=>{um=dE});var dm=X((Ei,lm)=>{(function(t,e){typeof Ei=="object"&&typeof lm<"u"?e(Ei):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(Ei,(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 d(i){return l(c=>c(i))}function f(i){return u(i)}function p(i,c,h){return a.call(i,c,h)}function m(i,c,h){p(p(i,c,h),void 0,r)}function b(i,c){m(i,c)}function w(i,c){m(i,void 0,c)}function y(i,c,h){return p(i,c,h)}function g(i){p(i,void 0,r)}let _=i=>{if(typeof queueMicrotask=="function")_=queueMicrotask;else{let c=d(void 0);_=h=>p(c,h)}return _(i)};function A(i,c,h){if(typeof i!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(i,c,h)}function C(i,c,h){try{return d(A(i,c,h))}catch(k){return f(k)}}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 h=this._back,k=h;h._elements.length===S-1&&(k={_elements:[],_next:void 0}),h._elements.push(c),k!==h&&(this._back=k,h._next=k),++this._size}shift(){let c=this._front,h=c,k=this._cursor,x=k+1,j=c._elements,q=j[k];return x===S&&(h=c._next,x=0),--this._size,this._cursor=x,c!==h&&(this._front=h),j[k]=void 0,q}forEach(c){let h=this._cursor,k=this._front,x=k._elements;for(;(h!==x.length||k._next!==void 0)&&!(h===x.length&&(k=k._next,x=k._elements,h=0,x.length===0));)c(x[h]),++h}peek(){let c=this._front,h=this._cursor;return c._elements[h]}}let R=Symbol("[[AbortSteps]]"),$=Symbol("[[ErrorSteps]]"),V=Symbol("[[CancelSteps]]"),P=Symbol("[[PullSteps]]"),Q=Symbol("[[ReleaseSteps]]");function z(i,c){i._ownerReadableStream=c,c._reader=i,c._state==="readable"?ae(i):c._state==="closed"?me(i):se(i,c._storedError)}function K(i,c){let h=i._ownerReadableStream;return Nt(h,c)}function Y(i){let c=i._ownerReadableStream;c._state==="readable"?G(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[Q](),c._reader=void 0,i._ownerReadableStream=void 0}function ee(i){return new TypeError("Cannot "+i+" a stream using a released reader")}function ae(i){i._closedPromise=l((c,h)=>{i._closedPromise_resolve=c,i._closedPromise_reject=h})}function se(i,c){ae(i),G(i,c)}function me(i){ae(i),ie(i)}function G(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){se(i,c)}function ie(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}let Ue=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},Ae=Math.trunc||function(i){return i<0?Math.ceil(i):Math.floor(i)};function J(i){return typeof i=="object"||typeof i=="function"}function ce(i,c){if(i!==void 0&&!J(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 je(i,c,h){if(i===void 0)throw new TypeError(`Parameter ${c} is required in '${h}'.`)}function E(i,c,h){if(i===void 0)throw new TypeError(`${c} is required in '${h}'.`)}function T(i){return Number(i)}function D(i){return i===0?0:i}function M(i){return D(Ae(i))}function F(i,c){let k=Number.MAX_SAFE_INTEGER,x=Number(i);if(x=D(x),!Ue(x))throw new TypeError(`${c} is not a finite number`);if(x=M(x),x<0||x>k)throw new TypeError(`${c} is outside the accepted range of 0 to ${k}, inclusive`);return!Ue(x)||x===0?0:x}function B(i,c){if(!In(i))throw new TypeError(`${c} is not a ReadableStream.`)}function U(i){return new H(i)}function O(i,c){i._reader._readRequests.push(c)}function I(i,c,h){let x=i._reader._readRequests.shift();h?x._closeSteps():x._chunkSteps(c)}function L(i){return i._reader._readRequests.length}function N(i){let c=i._reader;return!(c===void 0||!oe(c))}class H{constructor(c){if(je(c,1,"ReadableStreamDefaultReader"),B(c,"First parameter"),Bn(c))throw new TypeError("This stream has already been locked for exclusive reading by another reader");z(this,c),this._readRequests=new v}get closed(){return oe(this)?this._closedPromise:f(Me("closed"))}cancel(c=void 0){return oe(this)?this._ownerReadableStream===void 0?f(ee("cancel")):K(this,c):f(Me("cancel"))}read(){if(!oe(this))return f(Me("read"));if(this._ownerReadableStream===void 0)return f(ee("read from"));let c,h,k=l((j,q)=>{c=j,h=q});return ue(this,{_chunkSteps:j=>c({value:j,done:!1}),_closeSteps:()=>c({value:void 0,done:!0}),_errorSteps:j=>h(j)}),k}releaseLock(){if(!oe(this))throw Me("releaseLock");this._ownerReadableStream!==void 0&&Se(this)}}Object.defineProperties(H.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(H.prototype.cancel,"cancel"),o(H.prototype.read,"read"),o(H.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(H.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function oe(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_readRequests")?!1:i instanceof H}function ue(i,c){let h=i._ownerReadableStream;h._disturbed=!0,h._state==="closed"?c._closeSteps():h._state==="errored"?c._errorSteps(h._storedError):h._readableStreamController[P](c)}function Se(i){Y(i);let c=new TypeError("Reader was released");Ie(i,c)}function Ie(i,c){let h=i._readRequests;i._readRequests=new v,h.forEach(k=>{k._errorSteps(c)})}function Me(i){return new TypeError(`ReadableStreamDefaultReader.prototype.${i} can only be used on a ReadableStreamDefaultReader`)}let ke=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class Te{constructor(c,h){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=c,this._preventCancel=h}next(){let c=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?y(this._ongoingPromise,c,c):c(),this._ongoingPromise}return(c){let h=()=>this._returnSteps(c);return this._ongoingPromise?y(this._ongoingPromise,h,h):h()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let c=this._reader,h,k,x=l((q,ne)=>{h=q,k=ne});return ue(c,{_chunkSteps:q=>{this._ongoingPromise=void 0,_(()=>h({value:q,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Y(c),h({value:void 0,done:!0})},_errorSteps:q=>{this._ongoingPromise=void 0,this._isFinished=!0,Y(c),k(q)}}),x}_returnSteps(c){if(this._isFinished)return Promise.resolve({value:c,done:!0});this._isFinished=!0;let h=this._reader;if(!this._preventCancel){let k=K(h,c);return Y(h),y(k,()=>({value:c,done:!0}))}return Y(h),d({value:c,done:!0})}}let qe={next(){return wr(this)?this._asyncIteratorImpl.next():f(Er("next"))},return(i){return wr(this)?this._asyncIteratorImpl.return(i):f(Er("return"))}};Object.setPrototypeOf(qe,ke);function Cr(i,c){let h=U(i),k=new Te(h,c),x=Object.create(qe);return x._asyncIteratorImpl=k,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 yf(i,c,h,k,x){new Uint8Array(i).set(new Uint8Array(h,k,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 _f(i,c,h){if(i.slice)return i.slice(c,h);let k=h-c,x=new ArrayBuffer(k);return yf(x,0,i,c,k),x}function Es(i,c){let h=i[c];if(h!=null){if(typeof h!="function")throw new TypeError(`${String(c)} is not a function`);return h}}function p_(i){let c={[Symbol.iterator]:()=>i.iterator},h=(async function*(){return yield*c})(),k=h.next;return{iterator:h,nextMethod:k,done:!1}}let au=(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 bf(i,c="sync",h){if(h===void 0)if(c==="async"){if(h=Es(i,au),h===void 0){let j=Es(i,Symbol.iterator),q=bf(i,"sync",j);return p_(q)}}else h=Es(i,Symbol.iterator);if(h===void 0)throw new TypeError("The object is not iterable");let k=A(h,i,[]);if(!n(k))throw new TypeError("The iterator method must return an object");let x=k.next;return{iterator:k,nextMethod:x,done:!1}}function m_(i){let c=A(i.nextMethod,i.iterator,[]);if(!n(c))throw new TypeError("The iterator.next() method must return an object");return c}function g_(i){return!!i.done}function y_(i){return i.value}function __(i){return!(typeof i!="number"||ft(i)||i<0)}function Cf(i){let c=_f(i.buffer,i.byteOffset,i.byteOffset+i.byteLength);return new Uint8Array(c)}function uu(i){let c=i._queue.shift();return i._queueTotalSize-=c.size,i._queueTotalSize<0&&(i._queueTotalSize=0),c.value}function cu(i,c,h){if(!__(h)||h===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");i._queue.push({value:c,size:h}),i._queueTotalSize+=h}function b_(i){return i._queue.peek().value}function On(i){i._queue=new v,i._queueTotalSize=0}function wf(i){return i===DataView}function C_(i){return wf(i.constructor)}function w_(i){return wf(i)?1:i.BYTES_PER_ELEMENT}class Zn{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!lu(this))throw mu("view");return this._view}respond(c){if(!lu(this))throw mu("respond");if(je(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");Ts(this._associatedReadableByteStreamController,c)}respondWithNewView(c){if(!lu(this))throw mu("respondWithNewView");if(je(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");vs(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 ko("byobRequest");return pu(this)}get desiredSize(){if(!er(this))throw ko("desiredSize");return Of(this)}close(){if(!er(this))throw ko("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`);Eo(this)}enqueue(c){if(!er(this))throw ko("enqueue");if(je(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 h=this._controlledReadableByteStream._state;if(h!=="readable")throw new TypeError(`The stream (in ${h} state) is not in the readable state and cannot be enqueued to`);Ss(this,c)}error(c=void 0){if(!er(this))throw ko("error");kt(this,c)}[V](c){Ef(this),On(this);let h=this._cancelAlgorithm(c);return As(this),h}[P](c){let h=this._controlledReadableByteStream;if(this._queueTotalSize>0){xf(this,c);return}let k=this._autoAllocateChunkSize;if(k!==void 0){let x;try{x=new ArrayBuffer(k)}catch(q){c._errorSteps(q);return}let j={buffer:x,bufferByteLength:k,byteOffset:0,byteLength:k,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(j)}O(h,c),tr(this)}[Q](){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 lu(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_associatedReadableByteStreamController")?!1:i instanceof Zn}function tr(i){if(!T_(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();m(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,tr(i)),null),k=>(kt(i,k),null))}function Ef(i){fu(i),i._pendingPullIntos=new v}function du(i,c){let h=!1;i._state==="closed"&&(h=!0);let k=kf(c);c.readerType==="default"?I(i,k,h):P_(i,k,h)}function kf(i){let c=i.bytesFilled,h=i.elementSize;return new i.viewConstructor(i.buffer,i.byteOffset,c/h)}function ks(i,c,h,k){i._queue.push({buffer:c,byteOffset:h,byteLength:k}),i._queueTotalSize+=k}function Af(i,c,h,k){let x;try{x=_f(c,h,h+k)}catch(j){throw kt(i,j),j}ks(i,x,0,k)}function Sf(i,c){c.bytesFilled>0&&Af(i,c.buffer,c.byteOffset,c.bytesFilled),kr(i)}function Tf(i,c){let h=Math.min(i._queueTotalSize,c.byteLength-c.bytesFilled),k=c.bytesFilled+h,x=h,j=!1,q=k%c.elementSize,ne=k-q;ne>=c.minimumFill&&(x=ne-c.bytesFilled,j=!0);let pe=i._queue;for(;x>0;){let de=pe.peek(),ge=Math.min(x,de.byteLength),Ce=c.byteOffset+c.bytesFilled;yf(c.buffer,Ce,de.buffer,de.byteOffset,ge),de.byteLength===ge?pe.shift():(de.byteOffset+=ge,de.byteLength-=ge),i._queueTotalSize-=ge,vf(i,ge,c),x-=ge}return j}function vf(i,c,h){h.bytesFilled+=c}function Df(i){i._queueTotalSize===0&&i._closeRequested?(As(i),Ro(i._controlledReadableByteStream)):tr(i)}function fu(i){i._byobRequest!==null&&(i._byobRequest._associatedReadableByteStreamController=void 0,i._byobRequest._view=null,i._byobRequest=null)}function hu(i){for(;i._pendingPullIntos.length>0;){if(i._queueTotalSize===0)return;let c=i._pendingPullIntos.peek();Tf(i,c)&&(kr(i),du(i._controlledReadableByteStream,c))}}function E_(i){let c=i._controlledReadableByteStream._reader;for(;c._readRequests.length>0;){if(i._queueTotalSize===0)return;let h=c._readRequests.shift();xf(i,h)}}function k_(i,c,h,k){let x=i._controlledReadableByteStream,j=c.constructor,q=w_(j),{byteOffset:ne,byteLength:pe}=c,de=h*q,ge;try{ge=hn(c.buffer)}catch(xe){k._errorSteps(xe);return}let Ce={buffer:ge,bufferByteLength:ge.byteLength,byteOffset:ne,byteLength:pe,bytesFilled:0,minimumFill:de,elementSize:q,viewConstructor:j,readerType:"byob"};if(i._pendingPullIntos.length>0){i._pendingPullIntos.push(Ce),If(x,k);return}if(x._state==="closed"){let xe=new j(Ce.buffer,Ce.byteOffset,0);k._closeSteps(xe);return}if(i._queueTotalSize>0){if(Tf(i,Ce)){let xe=kf(Ce);Df(i),k._chunkSteps(xe);return}if(i._closeRequested){let xe=new TypeError("Insufficient bytes to fill elements in the given buffer");kt(i,xe),k._errorSteps(xe);return}}i._pendingPullIntos.push(Ce),If(x,k),tr(i)}function A_(i,c){c.readerType==="none"&&kr(i);let h=i._controlledReadableByteStream;if(gu(h))for(;Bf(h)>0;){let k=kr(i);du(h,k)}}function S_(i,c,h){if(vf(i,c,h),h.readerType==="none"){Sf(i,h),hu(i);return}if(h.bytesFilled<h.minimumFill)return;kr(i);let k=h.bytesFilled%h.elementSize;if(k>0){let x=h.byteOffset+h.bytesFilled;Af(i,h.buffer,x-k,k)}h.bytesFilled-=k,du(i._controlledReadableByteStream,h),hu(i)}function Rf(i,c){let h=i._pendingPullIntos.peek();fu(i),i._controlledReadableByteStream._state==="closed"?A_(i,h):S_(i,c,h),tr(i)}function kr(i){return i._pendingPullIntos.shift()}function T_(i){let c=i._controlledReadableByteStream;return c._state!=="readable"||i._closeRequested||!i._started?!1:!!(N(c)&&L(c)>0||gu(c)&&Bf(c)>0||Of(i)>0)}function As(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0}function Eo(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 h=i._pendingPullIntos.peek();if(h.bytesFilled%h.elementSize!==0){let k=new TypeError("Insufficient bytes to fill elements in the given buffer");throw kt(i,k),k}}As(i),Ro(c)}}function Ss(i,c){let h=i._controlledReadableByteStream;if(i._closeRequested||h._state!=="readable")return;let{buffer:k,byteOffset:x,byteLength:j}=c;if(xn(k))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let q=hn(k);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");fu(i),ne.buffer=hn(ne.buffer),ne.readerType==="none"&&Sf(i,ne)}if(N(h))if(E_(i),L(h)===0)ks(i,q,x,j);else{i._pendingPullIntos.length>0&&kr(i);let ne=new Uint8Array(q,x,j);I(h,ne,!1)}else gu(h)?(ks(i,q,x,j),hu(i)):ks(i,q,x,j);tr(i)}function kt(i,c){let h=i._controlledReadableByteStream;h._state==="readable"&&(Ef(i),On(i),As(i),sh(h,c))}function xf(i,c){let h=i._queue.shift();i._queueTotalSize-=h.byteLength,Df(i);let k=new Uint8Array(h.buffer,h.byteOffset,h.byteLength);c._chunkSteps(k)}function pu(i){if(i._byobRequest===null&&i._pendingPullIntos.length>0){let c=i._pendingPullIntos.peek(),h=new Uint8Array(c.buffer,c.byteOffset+c.bytesFilled,c.byteLength-c.bytesFilled),k=Object.create(Zn.prototype);D_(k,i,h),i._byobRequest=k}return i._byobRequest}function Of(i){let c=i._controlledReadableByteStream._state;return c==="errored"?null:c==="closed"?0:i._strategyHWM-i._queueTotalSize}function Ts(i,c){let h=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(h.bytesFilled+c>h.byteLength)throw new RangeError("bytesWritten out of range")}h.buffer=hn(h.buffer),Rf(i,c)}function vs(i,c){let h=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(h.byteOffset+h.bytesFilled!==c.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(h.bufferByteLength!==c.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(h.bytesFilled+c.byteLength>h.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let x=c.byteLength;h.buffer=hn(c.buffer),Rf(i,x)}function Pf(i,c,h,k,x,j,q){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=k,c._cancelAlgorithm=x,c._autoAllocateChunkSize=q,c._pendingPullIntos=new v,i._readableStreamController=c;let ne=h();m(d(ne),()=>(c._started=!0,tr(c),null),pe=>(kt(c,pe),null))}function v_(i,c,h){let k=Object.create(pn.prototype),x,j,q;c.start!==void 0?x=()=>c.start(k):x=()=>{},c.pull!==void 0?j=()=>c.pull(k):j=()=>d(void 0),c.cancel!==void 0?q=pe=>c.cancel(pe):q=()=>d(void 0);let ne=c.autoAllocateChunkSize;if(ne===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Pf(i,k,x,j,q,h,ne)}function D_(i,c,h){i._associatedReadableByteStreamController=c,i._view=h}function mu(i){return new TypeError(`ReadableStreamBYOBRequest.prototype.${i} can only be used on a ReadableStreamBYOBRequest`)}function ko(i){return new TypeError(`ReadableByteStreamController.prototype.${i} can only be used on a ReadableByteStreamController`)}function R_(i,c){ce(i,c);let h=i?.mode;return{mode:h===void 0?void 0:x_(h,`${c} has member 'mode' that`)}}function x_(i,c){if(i=`${i}`,i!=="byob")throw new TypeError(`${c} '${i}' is not a valid enumeration value for ReadableStreamReaderMode`);return i}function O_(i,c){var h;ce(i,c);let k=(h=i?.min)!==null&&h!==void 0?h:1;return{min:F(k,`${c} has member 'min' that`)}}function Ff(i){return new Pn(i)}function If(i,c){i._reader._readIntoRequests.push(c)}function P_(i,c,h){let x=i._reader._readIntoRequests.shift();h?x._closeSteps(c):x._chunkSteps(c)}function Bf(i){return i._reader._readIntoRequests.length}function gu(i){let c=i._reader;return!(c===void 0||!nr(c))}class Pn{constructor(c){if(je(c,1,"ReadableStreamBYOBReader"),B(c,"First parameter"),Bn(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");z(this,c),this._readIntoRequests=new v}get closed(){return nr(this)?this._closedPromise:f(Ds("closed"))}cancel(c=void 0){return nr(this)?this._ownerReadableStream===void 0?f(ee("cancel")):K(this,c):f(Ds("cancel"))}read(c,h={}){if(!nr(this))return f(Ds("read"));if(!ArrayBuffer.isView(c))return f(new TypeError("view must be an array buffer view"));if(c.byteLength===0)return f(new TypeError("view must have non-zero byteLength"));if(c.buffer.byteLength===0)return f(new TypeError("view's buffer must have non-zero byteLength"));if(xn(c.buffer))return f(new TypeError("view's buffer has been detached"));let k;try{k=O_(h,"options")}catch(de){return f(de)}let x=k.min;if(x===0)return f(new TypeError("options.min must be greater than 0"));if(C_(c)){if(x>c.byteLength)return f(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(x>c.length)return f(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return f(ee("read from"));let j,q,ne=l((de,ge)=>{j=de,q=ge});return Nf(this,c,x,{_chunkSteps:de=>j({value:de,done:!1}),_closeSteps:de=>j({value:de,done:!0}),_errorSteps:de=>q(de)}),ne}releaseLock(){if(!nr(this))throw Ds("releaseLock");this._ownerReadableStream!==void 0&&F_(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 Nf(i,c,h,k){let x=i._ownerReadableStream;x._disturbed=!0,x._state==="errored"?k._errorSteps(x._storedError):k_(x._readableStreamController,c,h,k)}function F_(i){Y(i);let c=new TypeError("Reader was released");Mf(i,c)}function Mf(i,c){let h=i._readIntoRequests;i._readIntoRequests=new v,h.forEach(k=>{k._errorSteps(c)})}function Ds(i){return new TypeError(`ReadableStreamBYOBReader.prototype.${i} can only be used on a ReadableStreamBYOBReader`)}function Ao(i,c){let{highWaterMark:h}=i;if(h===void 0)return c;if(ft(h)||h<0)throw new RangeError("Invalid highWaterMark");return h}function Rs(i){let{size:c}=i;return c||(()=>1)}function xs(i,c){ce(i,c);let h=i?.highWaterMark,k=i?.size;return{highWaterMark:h===void 0?void 0:T(h),size:k===void 0?void 0:I_(k,`${c} has member 'size' that`)}}function I_(i,c){return te(i,c),h=>T(i(h))}function B_(i,c){ce(i,c);let h=i?.abort,k=i?.close,x=i?.start,j=i?.type,q=i?.write;return{abort:h===void 0?void 0:N_(h,i,`${c} has member 'abort' that`),close:k===void 0?void 0:M_(k,i,`${c} has member 'close' that`),start:x===void 0?void 0:L_(x,i,`${c} has member 'start' that`),write:q===void 0?void 0:j_(q,i,`${c} has member 'write' that`),type:j}}function N_(i,c,h){return te(i,h),k=>C(i,c,[k])}function M_(i,c,h){return te(i,h),()=>C(i,c,[])}function L_(i,c,h){return te(i,h),k=>A(i,c,[k])}function j_(i,c,h){return te(i,h),(k,x)=>C(i,c,[k,x])}function Lf(i,c){if(!Ar(i))throw new TypeError(`${c} is not a WritableStream.`)}function U_(i){if(typeof i!="object"||i===null)return!1;try{return typeof i.aborted=="boolean"}catch{return!1}}let $_=typeof AbortController=="function";function q_(){if($_)return new AbortController}class Fn{constructor(c={},h={}){c===void 0?c=null:Oe(c,"First parameter");let k=xs(h,"Second parameter"),x=B_(c,"First parameter");if(Uf(this),x.type!==void 0)throw new RangeError("Invalid type is specified");let q=Rs(k),ne=Ao(k,1);nb(this,x,ne,q)}get locked(){if(!Ar(this))throw Bs("locked");return Sr(this)}abort(c=void 0){return Ar(this)?Sr(this)?f(new TypeError("Cannot abort a stream that already has a writer")):Os(this,c):f(Bs("abort"))}close(){return Ar(this)?Sr(this)?f(new TypeError("Cannot close a stream that already has a writer")):Qt(this)?f(new TypeError("Cannot close an already-closing stream")):$f(this):f(Bs("close"))}getWriter(){if(!Ar(this))throw Bs("getWriter");return jf(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 jf(i){return new mn(i)}function z_(i,c,h,k,x=1,j=()=>1){let q=Object.create(Fn.prototype);Uf(q);let ne=Object.create(Tr.prototype);return Jf(q,ne,i,c,h,k,x,j),q}function Uf(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 Os(i,c){var h;if(i._state==="closed"||i._state==="errored")return d(void 0);i._writableStreamController._abortReason=c,(h=i._writableStreamController._abortController)===null||h===void 0||h.abort(c);let k=i._state;if(k==="closed"||k==="errored")return d(void 0);if(i._pendingAbortRequest!==void 0)return i._pendingAbortRequest._promise;let x=!1;k==="erroring"&&(x=!0,c=void 0);let j=l((q,ne)=>{i._pendingAbortRequest={_promise:void 0,_resolve:q,_reject:ne,_reason:c,_wasAlreadyErroring:x}});return i._pendingAbortRequest._promise=j,x||_u(i,c),j}function $f(i){let c=i._state;if(c==="closed"||c==="errored")return f(new TypeError(`The stream (in ${c} state) is not in the writable state and cannot be closed`));let h=l((x,j)=>{let q={_resolve:x,_reject:j};i._closeRequest=q}),k=i._writer;return k!==void 0&&i._backpressure&&c==="writable"&&Tu(k),rb(i._writableStreamController),h}function H_(i){return l((h,k)=>{let x={_resolve:h,_reject:k};i._writeRequests.push(x)})}function yu(i,c){if(i._state==="writable"){_u(i,c);return}bu(i)}function _u(i,c){let h=i._writableStreamController;i._state="erroring",i._storedError=c;let k=i._writer;k!==void 0&&zf(k,c),!K_(i)&&h._started&&bu(i)}function bu(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){Ps(i);return}let h=i._pendingAbortRequest;if(i._pendingAbortRequest=void 0,h._wasAlreadyErroring){h._reject(c),Ps(i);return}let k=i._writableStreamController[R](h._reason);m(k,()=>(h._resolve(),Ps(i),null),x=>(h._reject(x),Ps(i),null))}function W_(i){i._inFlightWriteRequest._resolve(void 0),i._inFlightWriteRequest=void 0}function G_(i,c){i._inFlightWriteRequest._reject(c),i._inFlightWriteRequest=void 0,yu(i,c)}function J_(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 h=i._writer;h!==void 0&&Yf(h)}function V_(i,c){i._inFlightCloseRequest._reject(c),i._inFlightCloseRequest=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._reject(c),i._pendingAbortRequest=void 0),yu(i,c)}function Qt(i){return!(i._closeRequest===void 0&&i._inFlightCloseRequest===void 0)}function K_(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}function Q_(i){i._inFlightCloseRequest=i._closeRequest,i._closeRequest=void 0}function Y_(i){i._inFlightWriteRequest=i._writeRequests.shift()}function Ps(i){i._closeRequest!==void 0&&(i._closeRequest._reject(i._storedError),i._closeRequest=void 0);let c=i._writer;c!==void 0&&Au(c,i._storedError)}function Cu(i,c){let h=i._writer;h!==void 0&&c!==i._backpressure&&(c?lb(h):Tu(h)),i._backpressure=c}class mn{constructor(c){if(je(c,1,"WritableStreamDefaultWriter"),Lf(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 h=c._state;if(h==="writable")!Qt(c)&&c._backpressure?Ms(this):Xf(this),Ns(this);else if(h==="erroring")Su(this,c._storedError),Ns(this);else if(h==="closed")Xf(this),ub(this);else{let k=c._storedError;Su(this,k),Qf(this,k)}}get closed(){return rr(this)?this._closedPromise:f(or("closed"))}get desiredSize(){if(!rr(this))throw or("desiredSize");if(this._ownerWritableStream===void 0)throw To("desiredSize");return tb(this)}get ready(){return rr(this)?this._readyPromise:f(or("ready"))}abort(c=void 0){return rr(this)?this._ownerWritableStream===void 0?f(To("abort")):X_(this,c):f(or("abort"))}close(){if(!rr(this))return f(or("close"));let c=this._ownerWritableStream;return c===void 0?f(To("close")):Qt(c)?f(new TypeError("Cannot close an already-closing stream")):qf(this)}releaseLock(){if(!rr(this))throw or("releaseLock");this._ownerWritableStream!==void 0&&Hf(this)}write(c=void 0){return rr(this)?this._ownerWritableStream===void 0?f(To("write to")):Wf(this,c):f(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 X_(i,c){let h=i._ownerWritableStream;return Os(h,c)}function qf(i){let c=i._ownerWritableStream;return $f(c)}function Z_(i){let c=i._ownerWritableStream,h=c._state;return Qt(c)||h==="closed"?d(void 0):h==="errored"?f(c._storedError):qf(i)}function eb(i,c){i._closedPromiseState==="pending"?Au(i,c):cb(i,c)}function zf(i,c){i._readyPromiseState==="pending"?Zf(i,c):db(i,c)}function tb(i){let c=i._ownerWritableStream,h=c._state;return h==="errored"||h==="erroring"?null:h==="closed"?0:Vf(c._writableStreamController)}function Hf(i){let c=i._ownerWritableStream,h=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");zf(i,h),eb(i,h),c._writer=void 0,i._ownerWritableStream=void 0}function Wf(i,c){let h=i._ownerWritableStream,k=h._writableStreamController,x=ob(k,c);if(h!==i._ownerWritableStream)return f(To("write to"));let j=h._state;if(j==="errored")return f(h._storedError);if(Qt(h)||j==="closed")return f(new TypeError("The stream is closing or closed and cannot be written to"));if(j==="erroring")return f(h._storedError);let q=H_(h);return sb(k,c,x),q}let Gf={};class Tr{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!wu(this))throw ku("abortReason");return this._abortReason}get signal(){if(!wu(this))throw ku("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(c=void 0){if(!wu(this))throw ku("error");this._controlledWritableStream._state==="writable"&&Kf(this,c)}[R](c){let h=this._abortAlgorithm(c);return Fs(this),h}[$](){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 wu(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledWritableStream")?!1:i instanceof Tr}function Jf(i,c,h,k,x,j,q,ne){c._controlledWritableStream=i,i._writableStreamController=c,c._queue=void 0,c._queueTotalSize=void 0,On(c),c._abortReason=void 0,c._abortController=q_(),c._started=!1,c._strategySizeAlgorithm=ne,c._strategyHWM=q,c._writeAlgorithm=k,c._closeAlgorithm=x,c._abortAlgorithm=j;let pe=Eu(c);Cu(i,pe);let de=h(),ge=d(de);m(ge,()=>(c._started=!0,Is(c),null),Ce=>(c._started=!0,yu(i,Ce),null))}function nb(i,c,h,k){let x=Object.create(Tr.prototype),j,q,ne,pe;c.start!==void 0?j=()=>c.start(x):j=()=>{},c.write!==void 0?q=de=>c.write(de,x):q=()=>d(void 0),c.close!==void 0?ne=()=>c.close():ne=()=>d(void 0),c.abort!==void 0?pe=de=>c.abort(de):pe=()=>d(void 0),Jf(i,x,j,q,ne,pe,h,k)}function Fs(i){i._writeAlgorithm=void 0,i._closeAlgorithm=void 0,i._abortAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function rb(i){cu(i,Gf,0),Is(i)}function ob(i,c){try{return i._strategySizeAlgorithm(c)}catch(h){return So(i,h),1}}function Vf(i){return i._strategyHWM-i._queueTotalSize}function sb(i,c,h){try{cu(i,c,h)}catch(x){So(i,x);return}let k=i._controlledWritableStream;if(!Qt(k)&&k._state==="writable"){let x=Eu(i);Cu(k,x)}Is(i)}function Is(i){let c=i._controlledWritableStream;if(!i._started||c._inFlightWriteRequest!==void 0)return;if(c._state==="erroring"){bu(c);return}if(i._queue.length===0)return;let k=b_(i);k===Gf?ib(i):ab(i,k)}function So(i,c){i._controlledWritableStream._state==="writable"&&Kf(i,c)}function ib(i){let c=i._controlledWritableStream;Q_(c),uu(i);let h=i._closeAlgorithm();Fs(i),m(h,()=>(J_(c),null),k=>(V_(c,k),null))}function ab(i,c){let h=i._controlledWritableStream;Y_(h);let k=i._writeAlgorithm(c);m(k,()=>{W_(h);let x=h._state;if(uu(i),!Qt(h)&&x==="writable"){let j=Eu(i);Cu(h,j)}return Is(i),null},x=>(h._state==="writable"&&Fs(i),G_(h,x),null))}function Eu(i){return Vf(i)<=0}function Kf(i,c){let h=i._controlledWritableStream;Fs(i),_u(h,c)}function Bs(i){return new TypeError(`WritableStream.prototype.${i} can only be used on a WritableStream`)}function ku(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 To(i){return new TypeError("Cannot "+i+" a stream using a released writer")}function Ns(i){i._closedPromise=l((c,h)=>{i._closedPromise_resolve=c,i._closedPromise_reject=h,i._closedPromiseState="pending"})}function Qf(i,c){Ns(i),Au(i,c)}function ub(i){Ns(i),Yf(i)}function Au(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 cb(i,c){Qf(i,c)}function Yf(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 Ms(i){i._readyPromise=l((c,h)=>{i._readyPromise_resolve=c,i._readyPromise_reject=h}),i._readyPromiseState="pending"}function Su(i,c){Ms(i),Zf(i,c)}function Xf(i){Ms(i),Tu(i)}function Zf(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 lb(i){Ms(i)}function db(i,c){Su(i,c)}function Tu(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 fb(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let vu=fb();function hb(i){if(!(typeof i=="function"||typeof i=="object")||i.name!=="DOMException")return!1;try{return new i,!0}catch{return!1}}function pb(){let i=vu?.DOMException;return hb(i)?i:void 0}function mb(){let i=function(h,k){this.message=h||"",this.name=k||"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 gb=pb()||mb();function eh(i,c,h,k,x,j){let q=U(i),ne=jf(c);i._disturbed=!0;let pe=!1,de=d(void 0);return l((ge,Ce)=>{let xe;if(j!==void 0){if(xe=()=>{let fe=j.reason!==void 0?j.reason:new gb("Aborted","AbortError"),we=[];k||we.push(()=>c._state==="writable"?Os(c,fe):d(void 0)),x||we.push(()=>i._state==="readable"?Nt(i,fe):d(void 0)),at(()=>Promise.all(we.map(Pe=>Pe())),!0,fe)},j.aborted){xe();return}j.addEventListener("abort",xe)}function Mt(){return l((fe,we)=>{function Pe(ht){ht?fe():p(xr(),Pe,we)}Pe(!1)})}function xr(){return pe?d(!0):p(ne._readyPromise,()=>l((fe,we)=>{ue(q,{_chunkSteps:Pe=>{de=p(Wf(ne,Pe),void 0,e),fe(!1)},_closeSteps:()=>fe(!0),_errorSteps:we})}))}if(yn(i,q._closedPromise,fe=>(k?At(!0,fe):at(()=>Os(c,fe),!0,fe),null)),yn(c,ne._closedPromise,fe=>(x?At(!0,fe):at(()=>Nt(i,fe),!0,fe),null)),rt(i,q._closedPromise,()=>(h?At():at(()=>Z_(ne)),null)),Qt(c)||c._state==="closed"){let fe=new TypeError("the destination writable stream closed before all data could be piped to it");x?At(!0,fe):at(()=>Nt(i,fe),!0,fe)}g(Mt());function Mn(){let fe=de;return p(de,()=>fe!==de?Mn():void 0)}function yn(fe,we,Pe){fe._state==="errored"?Pe(fe._storedError):w(we,Pe)}function rt(fe,we,Pe){fe._state==="closed"?Pe():b(we,Pe)}function at(fe,we,Pe){if(pe)return;pe=!0,c._state==="writable"&&!Qt(c)?b(Mn(),ht):ht();function ht(){return m(fe(),()=>_n(we,Pe),Or=>_n(!0,Or)),null}}function At(fe,we){pe||(pe=!0,c._state==="writable"&&!Qt(c)?b(Mn(),()=>_n(fe,we)):_n(fe,we))}function _n(fe,we){return Hf(ne),Y(q),j!==void 0&&j.removeEventListener("abort",xe),fe?Ce(we):ge(void 0),null}})}class gn{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Ls(this))throw Us("desiredSize");return Du(this)}close(){if(!Ls(this))throw Us("close");if(!Dr(this))throw new TypeError("The stream is not in a state that permits close");sr(this)}enqueue(c=void 0){if(!Ls(this))throw Us("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(!Ls(this))throw Us("error");Bt(this,c)}[V](c){On(this);let h=this._cancelAlgorithm(c);return js(this),h}[P](c){let h=this._controlledReadableStream;if(this._queue.length>0){let k=uu(this);this._closeRequested&&this._queue.length===0?(js(this),Ro(h)):vo(this),c._chunkSteps(k)}else O(h,c),vo(this)}[Q](){}}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 Ls(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableStream")?!1:i instanceof gn}function vo(i){if(!th(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();m(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,vo(i)),null),k=>(Bt(i,k),null))}function th(i){let c=i._controlledReadableStream;return!Dr(i)||!i._started?!1:!!(Bn(c)&&L(c)>0||Du(i)>0)}function js(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&&(js(i),Ro(c))}function vr(i,c){if(!Dr(i))return;let h=i._controlledReadableStream;if(Bn(h)&&L(h)>0)I(h,c,!1);else{let k;try{k=i._strategySizeAlgorithm(c)}catch(x){throw Bt(i,x),x}try{cu(i,c,k)}catch(x){throw Bt(i,x),x}}vo(i)}function Bt(i,c){let h=i._controlledReadableStream;h._state==="readable"&&(On(i),js(i),sh(h,c))}function Du(i){let c=i._controlledReadableStream._state;return c==="errored"?null:c==="closed"?0:i._strategyHWM-i._queueTotalSize}function yb(i){return!th(i)}function Dr(i){let c=i._controlledReadableStream._state;return!i._closeRequested&&c==="readable"}function nh(i,c,h,k,x,j,q){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=q,c._strategyHWM=j,c._pullAlgorithm=k,c._cancelAlgorithm=x,i._readableStreamController=c;let ne=h();m(d(ne),()=>(c._started=!0,vo(c),null),pe=>(Bt(c,pe),null))}function _b(i,c,h,k){let x=Object.create(gn.prototype),j,q,ne;c.start!==void 0?j=()=>c.start(x):j=()=>{},c.pull!==void 0?q=()=>c.pull(x):q=()=>d(void 0),c.cancel!==void 0?ne=pe=>c.cancel(pe):ne=()=>d(void 0),nh(i,x,j,q,ne,h,k)}function Us(i){return new TypeError(`ReadableStreamDefaultController.prototype.${i} can only be used on a ReadableStreamDefaultController`)}function bb(i,c){return er(i._readableStreamController)?wb(i):Cb(i)}function Cb(i,c){let h=U(i),k=!1,x=!1,j=!1,q=!1,ne,pe,de,ge,Ce,xe=l(rt=>{Ce=rt});function Mt(){return k?(x=!0,d(void 0)):(k=!0,ue(h,{_chunkSteps:at=>{_(()=>{x=!1;let At=at,_n=at;j||vr(de._readableStreamController,At),q||vr(ge._readableStreamController,_n),k=!1,x&&Mt()})},_closeSteps:()=>{k=!1,j||sr(de._readableStreamController),q||sr(ge._readableStreamController),(!j||!q)&&Ce(void 0)},_errorSteps:()=>{k=!1}}),d(void 0))}function xr(rt){if(j=!0,ne=rt,q){let at=De([ne,pe]),At=Nt(i,at);Ce(At)}return xe}function Mn(rt){if(q=!0,pe=rt,j){let at=De([ne,pe]),At=Nt(i,at);Ce(At)}return xe}function yn(){}return de=Do(yn,Mt,xr),ge=Do(yn,Mt,Mn),w(h._closedPromise,rt=>(Bt(de._readableStreamController,rt),Bt(ge._readableStreamController,rt),(!j||!q)&&Ce(void 0),null)),[de,ge]}function wb(i){let c=U(i),h=!1,k=!1,x=!1,j=!1,q=!1,ne,pe,de,ge,Ce,xe=l(fe=>{Ce=fe});function Mt(fe){w(fe._closedPromise,we=>(fe!==c||(kt(de._readableStreamController,we),kt(ge._readableStreamController,we),(!j||!q)&&Ce(void 0)),null))}function xr(){nr(c)&&(Y(c),c=U(i),Mt(c)),ue(c,{_chunkSteps:we=>{_(()=>{k=!1,x=!1;let Pe=we,ht=we;if(!j&&!q)try{ht=Cf(we)}catch(Or){kt(de._readableStreamController,Or),kt(ge._readableStreamController,Or),Ce(Nt(i,Or));return}j||Ss(de._readableStreamController,Pe),q||Ss(ge._readableStreamController,ht),h=!1,k?yn():x&&rt()})},_closeSteps:()=>{h=!1,j||Eo(de._readableStreamController),q||Eo(ge._readableStreamController),de._readableStreamController._pendingPullIntos.length>0&&Ts(de._readableStreamController,0),ge._readableStreamController._pendingPullIntos.length>0&&Ts(ge._readableStreamController,0),(!j||!q)&&Ce(void 0)},_errorSteps:()=>{h=!1}})}function Mn(fe,we){oe(c)&&(Y(c),c=Ff(i),Mt(c));let Pe=we?ge:de,ht=we?de:ge;Nf(c,fe,1,{_chunkSteps:Pr=>{_(()=>{k=!1,x=!1;let Fr=we?q:j;if(we?j:q)Fr||vs(Pe._readableStreamController,Pr);else{let _h;try{_h=Cf(Pr)}catch(Fu){kt(Pe._readableStreamController,Fu),kt(ht._readableStreamController,Fu),Ce(Nt(i,Fu));return}Fr||vs(Pe._readableStreamController,Pr),Ss(ht._readableStreamController,_h)}h=!1,k?yn():x&&rt()})},_closeSteps:Pr=>{h=!1;let Fr=we?q:j,Vs=we?j:q;Fr||Eo(Pe._readableStreamController),Vs||Eo(ht._readableStreamController),Pr!==void 0&&(Fr||vs(Pe._readableStreamController,Pr),!Vs&&ht._readableStreamController._pendingPullIntos.length>0&&Ts(ht._readableStreamController,0)),(!Fr||!Vs)&&Ce(void 0)},_errorSteps:()=>{h=!1}})}function yn(){if(h)return k=!0,d(void 0);h=!0;let fe=pu(de._readableStreamController);return fe===null?xr():Mn(fe._view,!1),d(void 0)}function rt(){if(h)return x=!0,d(void 0);h=!0;let fe=pu(ge._readableStreamController);return fe===null?xr():Mn(fe._view,!0),d(void 0)}function at(fe){if(j=!0,ne=fe,q){let we=De([ne,pe]),Pe=Nt(i,we);Ce(Pe)}return xe}function At(fe){if(q=!0,pe=fe,j){let we=De([ne,pe]),Pe=Nt(i,we);Ce(Pe)}return xe}function _n(){}return de=oh(_n,yn,at),ge=oh(_n,rt,At),Mt(c),[de,ge]}function Eb(i){return n(i)&&typeof i.getReader<"u"}function kb(i){return Eb(i)?Sb(i.getReader()):Ab(i)}function Ab(i){let c,h=bf(i,"async"),k=e;function x(){let q;try{q=m_(h)}catch(pe){return f(pe)}let ne=d(q);return y(ne,pe=>{if(!n(pe))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(g_(pe))sr(c._readableStreamController);else{let ge=y_(pe);vr(c._readableStreamController,ge)}})}function j(q){let ne=h.iterator,pe;try{pe=Es(ne,"return")}catch(Ce){return f(Ce)}if(pe===void 0)return d(void 0);let de;try{de=A(pe,ne,[q])}catch(Ce){return f(Ce)}let ge=d(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=Do(k,x,j,0),c}function Sb(i){let c,h=e;function k(){let j;try{j=i.read()}catch(q){return f(q)}return y(j,q=>{if(!n(q))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(q.done)sr(c._readableStreamController);else{let ne=q.value;vr(c._readableStreamController,ne)}})}function x(j){try{return d(i.cancel(j))}catch(q){return f(q)}}return c=Do(h,k,x,0),c}function Tb(i,c){ce(i,c);let h=i,k=h?.autoAllocateChunkSize,x=h?.cancel,j=h?.pull,q=h?.start,ne=h?.type;return{autoAllocateChunkSize:k===void 0?void 0:F(k,`${c} has member 'autoAllocateChunkSize' that`),cancel:x===void 0?void 0:vb(x,h,`${c} has member 'cancel' that`),pull:j===void 0?void 0:Db(j,h,`${c} has member 'pull' that`),start:q===void 0?void 0:Rb(q,h,`${c} has member 'start' that`),type:ne===void 0?void 0:xb(ne,`${c} has member 'type' that`)}}function vb(i,c,h){return te(i,h),k=>C(i,c,[k])}function Db(i,c,h){return te(i,h),k=>C(i,c,[k])}function Rb(i,c,h){return te(i,h),k=>A(i,c,[k])}function xb(i,c){if(i=`${i}`,i!=="bytes")throw new TypeError(`${c} '${i}' is not a valid enumeration value for ReadableStreamType`);return i}function Ob(i,c){return ce(i,c),{preventCancel:!!i?.preventCancel}}function rh(i,c){ce(i,c);let h=i?.preventAbort,k=i?.preventCancel,x=i?.preventClose,j=i?.signal;return j!==void 0&&Pb(j,`${c} has member 'signal' that`),{preventAbort:!!h,preventCancel:!!k,preventClose:!!x,signal:j}}function Pb(i,c){if(!U_(i))throw new TypeError(`${c} is not an AbortSignal.`)}function Fb(i,c){ce(i,c);let h=i?.readable;E(h,"readable","ReadableWritablePair"),B(h,`${c} has member 'readable' that`);let k=i?.writable;return E(k,"writable","ReadableWritablePair"),Lf(k,`${c} has member 'writable' that`),{readable:h,writable:k}}class et{constructor(c={},h={}){c===void 0?c=null:Oe(c,"First parameter");let k=xs(h,"Second parameter"),x=Tb(c,"First parameter");if(Ru(this),x.type==="bytes"){if(k.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let j=Ao(k,0);v_(this,x,j)}else{let j=Rs(k),q=Ao(k,1);_b(this,x,q,j)}}get locked(){if(!In(this))throw ir("locked");return Bn(this)}cancel(c=void 0){return In(this)?Bn(this)?f(new TypeError("Cannot cancel a stream that already has a reader")):Nt(this,c):f(ir("cancel"))}getReader(c=void 0){if(!In(this))throw ir("getReader");return R_(c,"First parameter").mode===void 0?U(this):Ff(this)}pipeThrough(c,h={}){if(!In(this))throw ir("pipeThrough");je(c,1,"pipeThrough");let k=Fb(c,"First parameter"),x=rh(h,"Second parameter");if(Bn(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Sr(k.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let j=eh(this,k.writable,x.preventClose,x.preventAbort,x.preventCancel,x.signal);return g(j),k.readable}pipeTo(c,h={}){if(!In(this))return f(ir("pipeTo"));if(c===void 0)return f("Parameter 1 is required in 'pipeTo'.");if(!Ar(c))return f(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let k;try{k=rh(h,"Second parameter")}catch(x){return f(x)}return Bn(this)?f(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Sr(c)?f(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):eh(this,c,k.preventClose,k.preventAbort,k.preventCancel,k.signal)}tee(){if(!In(this))throw ir("tee");let c=bb(this);return De(c)}values(c=void 0){if(!In(this))throw ir("values");let h=Ob(c,"First parameter");return Cr(this,h.preventCancel)}[au](c){return this.values(c)}static from(c){return kb(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,au,{value:et.prototype.values,writable:!0,configurable:!0});function Do(i,c,h,k=1,x=()=>1){let j=Object.create(et.prototype);Ru(j);let q=Object.create(gn.prototype);return nh(j,q,i,c,h,k,x),j}function oh(i,c,h){let k=Object.create(et.prototype);Ru(k);let x=Object.create(pn.prototype);return Pf(k,x,i,c,h,0,void 0),k}function Ru(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 Bn(i){return i._reader!==void 0}function Nt(i,c){if(i._disturbed=!0,i._state==="closed")return d(void 0);if(i._state==="errored")return f(i._storedError);Ro(i);let h=i._reader;if(h!==void 0&&nr(h)){let x=h._readIntoRequests;h._readIntoRequests=new v,x.forEach(j=>{j._closeSteps(void 0)})}let k=i._readableStreamController[V](c);return y(k,e)}function Ro(i){i._state="closed";let c=i._reader;if(c!==void 0&&(ie(c),oe(c))){let h=c._readRequests;c._readRequests=new v,h.forEach(k=>{k._closeSteps()})}}function sh(i,c){i._state="errored",i._storedError=c;let h=i._reader;h!==void 0&&(G(h,c),oe(h)?Ie(h,c):Mf(h,c))}function ir(i){return new TypeError(`ReadableStream.prototype.${i} can only be used on a ReadableStream`)}function ih(i,c){ce(i,c);let h=i?.highWaterMark;return E(h,"highWaterMark","QueuingStrategyInit"),{highWaterMark:T(h)}}let ah=i=>i.byteLength;o(ah,"size");class $s{constructor(c){je(c,1,"ByteLengthQueuingStrategy"),c=ih(c,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=c.highWaterMark}get highWaterMark(){if(!ch(this))throw uh("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!ch(this))throw uh("size");return ah}}Object.defineProperties($s.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty($s.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function uh(i){return new TypeError(`ByteLengthQueuingStrategy.prototype.${i} can only be used on a ByteLengthQueuingStrategy`)}function ch(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_byteLengthQueuingStrategyHighWaterMark")?!1:i instanceof $s}let lh=()=>1;o(lh,"size");class qs{constructor(c){je(c,1,"CountQueuingStrategy"),c=ih(c,"First parameter"),this._countQueuingStrategyHighWaterMark=c.highWaterMark}get highWaterMark(){if(!fh(this))throw dh("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!fh(this))throw dh("size");return lh}}Object.defineProperties(qs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(qs.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function dh(i){return new TypeError(`CountQueuingStrategy.prototype.${i} can only be used on a CountQueuingStrategy`)}function fh(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_countQueuingStrategyHighWaterMark")?!1:i instanceof qs}function Ib(i,c){ce(i,c);let h=i?.cancel,k=i?.flush,x=i?.readableType,j=i?.start,q=i?.transform,ne=i?.writableType;return{cancel:h===void 0?void 0:Lb(h,i,`${c} has member 'cancel' that`),flush:k===void 0?void 0:Bb(k,i,`${c} has member 'flush' that`),readableType:x,start:j===void 0?void 0:Nb(j,i,`${c} has member 'start' that`),transform:q===void 0?void 0:Mb(q,i,`${c} has member 'transform' that`),writableType:ne}}function Bb(i,c,h){return te(i,h),k=>C(i,c,[k])}function Nb(i,c,h){return te(i,h),k=>A(i,c,[k])}function Mb(i,c,h){return te(i,h),(k,x)=>C(i,c,[k,x])}function Lb(i,c,h){return te(i,h),k=>C(i,c,[k])}class zs{constructor(c={},h={},k={}){c===void 0&&(c=null);let x=xs(h,"Second parameter"),j=xs(k,"Third parameter"),q=Ib(c,"First parameter");if(q.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(q.writableType!==void 0)throw new RangeError("Invalid writableType specified");let ne=Ao(j,0),pe=Rs(j),de=Ao(x,1),ge=Rs(x),Ce,xe=l(Mt=>{Ce=Mt});jb(this,xe,de,ge,ne,pe),$b(this,q),q.start!==void 0?Ce(q.start(this._transformStreamController)):Ce(void 0)}get readable(){if(!hh(this))throw yh("readable");return this._readable}get writable(){if(!hh(this))throw yh("writable");return this._writable}}Object.defineProperties(zs.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(zs.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function jb(i,c,h,k,x,j){function q(){return c}function ne(xe){return Hb(i,xe)}function pe(xe){return Wb(i,xe)}function de(){return Gb(i)}i._writable=z_(q,ne,de,pe,h,k);function ge(){return Jb(i)}function Ce(xe){return Vb(i,xe)}i._readable=Do(q,ge,Ce,x,j),i._backpressure=void 0,i._backpressureChangePromise=void 0,i._backpressureChangePromise_resolve=void 0,Hs(i,!0),i._transformStreamController=void 0}function hh(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_transformStreamController")?!1:i instanceof zs}function ph(i,c){Bt(i._readable._readableStreamController,c),xu(i,c)}function xu(i,c){Gs(i._transformStreamController),So(i._writable._writableStreamController,c),Ou(i)}function Ou(i){i._backpressure&&Hs(i,!1)}function Hs(i,c){i._backpressureChangePromise!==void 0&&i._backpressureChangePromise_resolve(),i._backpressureChangePromise=l(h=>{i._backpressureChangePromise_resolve=h}),i._backpressure=c}class Nn{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Ws(this))throw Js("desiredSize");let c=this._controlledTransformStream._readable._readableStreamController;return Du(c)}enqueue(c=void 0){if(!Ws(this))throw Js("enqueue");mh(this,c)}error(c=void 0){if(!Ws(this))throw Js("error");qb(this,c)}terminate(){if(!Ws(this))throw Js("terminate");zb(this)}}Object.defineProperties(Nn.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),o(Nn.prototype.enqueue,"enqueue"),o(Nn.prototype.error,"error"),o(Nn.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Nn.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function Ws(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledTransformStream")?!1:i instanceof Nn}function Ub(i,c,h,k,x){c._controlledTransformStream=i,i._transformStreamController=c,c._transformAlgorithm=h,c._flushAlgorithm=k,c._cancelAlgorithm=x,c._finishPromise=void 0,c._finishPromise_resolve=void 0,c._finishPromise_reject=void 0}function $b(i,c){let h=Object.create(Nn.prototype),k,x,j;c.transform!==void 0?k=q=>c.transform(q,h):k=q=>{try{return mh(h,q),d(void 0)}catch(ne){return f(ne)}},c.flush!==void 0?x=()=>c.flush(h):x=()=>d(void 0),c.cancel!==void 0?j=q=>c.cancel(q):j=()=>d(void 0),Ub(i,h,k,x,j)}function Gs(i){i._transformAlgorithm=void 0,i._flushAlgorithm=void 0,i._cancelAlgorithm=void 0}function mh(i,c){let h=i._controlledTransformStream,k=h._readable._readableStreamController;if(!Dr(k))throw new TypeError("Readable side is not in a state that permits enqueue");try{vr(k,c)}catch(j){throw xu(h,j),h._readable._storedError}yb(k)!==h._backpressure&&Hs(h,!0)}function qb(i,c){ph(i._controlledTransformStream,c)}function gh(i,c){let h=i._transformAlgorithm(c);return y(h,void 0,k=>{throw ph(i._controlledTransformStream,k),k})}function zb(i){let c=i._controlledTransformStream,h=c._readable._readableStreamController;sr(h);let k=new TypeError("TransformStream terminated");xu(c,k)}function Hb(i,c){let h=i._transformStreamController;if(i._backpressure){let k=i._backpressureChangePromise;return y(k,()=>{let x=i._writable;if(x._state==="erroring")throw x._storedError;return gh(h,c)})}return gh(h,c)}function Wb(i,c){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let k=i._readable;h._finishPromise=l((j,q)=>{h._finishPromise_resolve=j,h._finishPromise_reject=q});let x=h._cancelAlgorithm(c);return Gs(h),m(x,()=>(k._state==="errored"?Rr(h,k._storedError):(Bt(k._readableStreamController,c),Pu(h)),null),j=>(Bt(k._readableStreamController,j),Rr(h,j),null)),h._finishPromise}function Gb(i){let c=i._transformStreamController;if(c._finishPromise!==void 0)return c._finishPromise;let h=i._readable;c._finishPromise=l((x,j)=>{c._finishPromise_resolve=x,c._finishPromise_reject=j});let k=c._flushAlgorithm();return Gs(c),m(k,()=>(h._state==="errored"?Rr(c,h._storedError):(sr(h._readableStreamController),Pu(c)),null),x=>(Bt(h._readableStreamController,x),Rr(c,x),null)),c._finishPromise}function Jb(i){return Hs(i,!1),i._backpressureChangePromise}function Vb(i,c){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let k=i._writable;h._finishPromise=l((j,q)=>{h._finishPromise_resolve=j,h._finishPromise_reject=q});let x=h._cancelAlgorithm(c);return Gs(h),m(x,()=>(k._state==="errored"?Rr(h,k._storedError):(So(k._writableStreamController,c),Ou(i),Pu(h)),null),j=>(So(k._writableStreamController,j),Ou(i),Rr(h,j),null)),h._finishPromise}function Js(i){return new TypeError(`TransformStreamDefaultController.prototype.${i} can only be used on a TransformStreamDefaultController`)}function Pu(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 yh(i){return new TypeError(`TransformStream.prototype.${i} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=$s,t.CountQueuingStrategy=qs,t.ReadableByteStreamController=pn,t.ReadableStream=et,t.ReadableStreamBYOBReader=Pn,t.ReadableStreamBYOBRequest=Zn,t.ReadableStreamDefaultController=gn,t.ReadableStreamDefaultReader=H,t.TransformStream=zs,t.TransformStreamDefaultController=Nn,t.WritableStream=Fn,t.WritableStreamDefaultController=Tr,t.WritableStreamDefaultWriter=mn}))});var fm=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,dm())}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*Sc(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,hm),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+hm)).arrayBuffer();r+=a.byteLength,yield new Uint8Array(a)}}}var x1,hm,pm,fE,$t,Lo=Le(()=>{x1=Ln(fm(),1);hm=65536;pm=class Tc{#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 Tc?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 Sc(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 Sc(this.#e,!1))e.set(r,n),n+=r.length;return e.buffer}stream(){let e=Sc(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,d=[],f=0;for(let m of l){if(f>=u)break;let b=ArrayBuffer.isView(m)?m.byteLength:m.size;if(s&&b<=s)s-=b,a-=b;else{let w;ArrayBuffer.isView(m)?(w=m.subarray(s,Math.min(b,a)),f+=w.byteLength):(w=m.slice(s,Math.min(b,a)),f+=w.size),a-=b,d.push(w),s=0}}let p=new Tc([],{type:String(r).toLowerCase()});return p.#n=u,p.#e=d,p}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(pm.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});fE=pm,$t=fE});var hE,pE,qn,vc=Le(()=>{Lo();hE=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])}},pE=hE,qn=pE});function ym(t,e=$t){var n=`${mm()}${mm()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),r=[],o=`--${n}\r
27
- Content-Disposition: form-data; name="`;return t.forEach((s,a)=>typeof s=="string"?r.push(o+Dc(a)+`"\r
25
+ `;let l=(0,yE.parseProxyResponse)(o);o.write(`${u}\r
26
+ `);let{connect:d,buffered:f}=await l;if(e.emit("proxyConnect",d),this.emit("proxyConnect",d,e),d.statusCode===200)return e.once("socket",_E),n.secureEndpoint?(Lo("Upgrading socket connection to TLS"),sm.connect({...am(im(n),"host","path","port"),socket:o})):o;o.destroy();let p=new Ei.Socket({writable:!1});return p.readable=!0,e.once("socket",m=>{Lo("Replaying proxy buffer for failed request"),(0,hE.default)(m.listenerCount("data")>0),m.push(f),m.push(null)}),p}};ki.protocols=["http","https"];Tt.HttpsProxyAgent=ki;function _E(t){t.resume()}function am(t,...e){let n={},r;for(r in t)e.includes(r)||(n[r]=t[r]);return n}});function bE(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 f=1;f<n.length;f++)n[f]==="base64"?o=!0:n[f]&&(a+=`;${n[f]}`,n[f].indexOf("charset=")===0&&(r=n[f].substring(8)));!n[0]&&!r.length&&(a+=";charset=US-ASCII",r="US-ASCII");let u=o?"base64":"ascii",l=unescape(t.substring(e+1)),d=Buffer.from(l,u);return d.type=s,d.typeFull=a,d.charset=r,d}var dm,fm=Le(()=>{dm=bE});var pm=X((Ai,hm)=>{(function(t,e){typeof Ai=="object"&&typeof hm<"u"?e(Ai):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(Ai,(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 d(i){return l(c=>c(i))}function f(i){return u(i)}function p(i,c,h){return a.call(i,c,h)}function m(i,c,h){p(p(i,c,h),void 0,r)}function b(i,c){m(i,c)}function w(i,c){m(i,void 0,c)}function y(i,c,h){return p(i,c,h)}function g(i){p(i,void 0,r)}let _=i=>{if(typeof queueMicrotask=="function")_=queueMicrotask;else{let c=d(void 0);_=h=>p(c,h)}return _(i)};function A(i,c,h){if(typeof i!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(i,c,h)}function C(i,c,h){try{return d(A(i,c,h))}catch(k){return f(k)}}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 h=this._back,k=h;h._elements.length===S-1&&(k={_elements:[],_next:void 0}),h._elements.push(c),k!==h&&(this._back=k,h._next=k),++this._size}shift(){let c=this._front,h=c,k=this._cursor,x=k+1,j=c._elements,q=j[k];return x===S&&(h=c._next,x=0),--this._size,this._cursor=x,c!==h&&(this._front=h),j[k]=void 0,q}forEach(c){let h=this._cursor,k=this._front,x=k._elements;for(;(h!==x.length||k._next!==void 0)&&!(h===x.length&&(k=k._next,x=k._elements,h=0,x.length===0));)c(x[h]),++h}peek(){let c=this._front,h=this._cursor;return c._elements[h]}}let R=Symbol("[[AbortSteps]]"),$=Symbol("[[ErrorSteps]]"),V=Symbol("[[CancelSteps]]"),P=Symbol("[[PullSteps]]"),Y=Symbol("[[ReleaseSteps]]");function z(i,c){i._ownerReadableStream=c,c._reader=i,c._state==="readable"?ae(i):c._state==="closed"?me(i):se(i,c._storedError)}function K(i,c){let h=i._ownerReadableStream;return Bt(h,c)}function Q(i){let c=i._ownerReadableStream;c._state==="readable"?G(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[Y](),c._reader=void 0,i._ownerReadableStream=void 0}function ee(i){return new TypeError("Cannot "+i+" a stream using a released reader")}function ae(i){i._closedPromise=l((c,h)=>{i._closedPromise_resolve=c,i._closedPromise_reject=h})}function se(i,c){ae(i),G(i,c)}function me(i){ae(i),ie(i)}function G(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){se(i,c)}function ie(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}let Ue=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},Ae=Math.trunc||function(i){return i<0?Math.ceil(i):Math.floor(i)};function J(i){return typeof i=="object"||typeof i=="function"}function ce(i,c){if(i!==void 0&&!J(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 je(i,c,h){if(i===void 0)throw new TypeError(`Parameter ${c} is required in '${h}'.`)}function E(i,c,h){if(i===void 0)throw new TypeError(`${c} is required in '${h}'.`)}function v(i){return Number(i)}function D(i){return i===0?0:i}function M(i){return D(Ae(i))}function F(i,c){let k=Number.MAX_SAFE_INTEGER,x=Number(i);if(x=D(x),!Ue(x))throw new TypeError(`${c} is not a finite number`);if(x=M(x),x<0||x>k)throw new TypeError(`${c} is outside the accepted range of 0 to ${k}, inclusive`);return!Ue(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 H(i)}function O(i,c){i._reader._readRequests.push(c)}function I(i,c,h){let x=i._reader._readRequests.shift();h?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 H{constructor(c){if(je(c,1,"ReadableStreamDefaultReader"),N(c,"First parameter"),Nn(c))throw new TypeError("This stream has already been locked for exclusive reading by another reader");z(this,c),this._readRequests=new T}get closed(){return oe(this)?this._closedPromise:f(Me("closed"))}cancel(c=void 0){return oe(this)?this._ownerReadableStream===void 0?f(ee("cancel")):K(this,c):f(Me("cancel"))}read(){if(!oe(this))return f(Me("read"));if(this._ownerReadableStream===void 0)return f(ee("read from"));let c,h,k=l((j,q)=>{c=j,h=q});return ue(this,{_chunkSteps:j=>c({value:j,done:!1}),_closeSteps:()=>c({value:void 0,done:!0}),_errorSteps:j=>h(j)}),k}releaseLock(){if(!oe(this))throw Me("releaseLock");this._ownerReadableStream!==void 0&&Se(this)}}Object.defineProperties(H.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(H.prototype.cancel,"cancel"),o(H.prototype.read,"read"),o(H.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(H.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function oe(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_readRequests")?!1:i instanceof H}function ue(i,c){let h=i._ownerReadableStream;h._disturbed=!0,h._state==="closed"?c._closeSteps():h._state==="errored"?c._errorSteps(h._storedError):h._readableStreamController[P](c)}function Se(i){Q(i);let c=new TypeError("Reader was released");Ie(i,c)}function Ie(i,c){let h=i._readRequests;i._readRequests=new T,h.forEach(k=>{k._errorSteps(c)})}function Me(i){return new TypeError(`ReadableStreamDefaultReader.prototype.${i} can only be used on a ReadableStreamDefaultReader`)}let ke=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class ve{constructor(c,h){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=c,this._preventCancel=h}next(){let c=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?y(this._ongoingPromise,c,c):c(),this._ongoingPromise}return(c){let h=()=>this._returnSteps(c);return this._ongoingPromise?y(this._ongoingPromise,h,h):h()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let c=this._reader,h,k,x=l((q,ne)=>{h=q,k=ne});return ue(c,{_chunkSteps:q=>{this._ongoingPromise=void 0,_(()=>h({value:q,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Q(c),h({value:void 0,done:!0})},_errorSteps:q=>{this._ongoingPromise=void 0,this._isFinished=!0,Q(c),k(q)}}),x}_returnSteps(c){if(this._isFinished)return Promise.resolve({value:c,done:!0});this._isFinished=!0;let h=this._reader;if(!this._preventCancel){let k=K(h,c);return Q(h),y(k,()=>({value:c,done:!0}))}return Q(h),d({value:c,done:!0})}}let qe={next(){return wr(this)?this._asyncIteratorImpl.next():f(Er("next"))},return(i){return wr(this)?this._asyncIteratorImpl.return(i):f(Er("return"))}};Object.setPrototypeOf(qe,ke);function Cr(i,c){let h=U(i),k=new ve(h,c),x=Object.create(qe);return x._asyncIteratorImpl=k,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 bf(i,c,h,k,x){new Uint8Array(i).set(new Uint8Array(h,k,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 Cf(i,c,h){if(i.slice)return i.slice(c,h);let k=h-c,x=new ArrayBuffer(k);return bf(x,0,i,c,k),x}function ks(i,c){let h=i[c];if(h!=null){if(typeof h!="function")throw new TypeError(`${String(c)} is not a function`);return h}}function __(i){let c={[Symbol.iterator]:()=>i.iterator},h=(async function*(){return yield*c})(),k=h.next;return{iterator:h,nextMethod:k,done:!1}}let cu=(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 wf(i,c="sync",h){if(h===void 0)if(c==="async"){if(h=ks(i,cu),h===void 0){let j=ks(i,Symbol.iterator),q=wf(i,"sync",j);return __(q)}}else h=ks(i,Symbol.iterator);if(h===void 0)throw new TypeError("The object is not iterable");let k=A(h,i,[]);if(!n(k))throw new TypeError("The iterator method must return an object");let x=k.next;return{iterator:k,nextMethod:x,done:!1}}function b_(i){let c=A(i.nextMethod,i.iterator,[]);if(!n(c))throw new TypeError("The iterator.next() method must return an object");return c}function C_(i){return!!i.done}function w_(i){return i.value}function E_(i){return!(typeof i!="number"||ft(i)||i<0)}function Ef(i){let c=Cf(i.buffer,i.byteOffset,i.byteOffset+i.byteLength);return new Uint8Array(c)}function lu(i){let c=i._queue.shift();return i._queueTotalSize-=c.size,i._queueTotalSize<0&&(i._queueTotalSize=0),c.value}function du(i,c,h){if(!E_(h)||h===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");i._queue.push({value:c,size:h}),i._queueTotalSize+=h}function k_(i){return i._queue.peek().value}function On(i){i._queue=new T,i._queueTotalSize=0}function kf(i){return i===DataView}function A_(i){return kf(i.constructor)}function S_(i){return kf(i)?1:i.BYTES_PER_ELEMENT}class Zn{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!fu(this))throw yu("view");return this._view}respond(c){if(!fu(this))throw yu("respond");if(je(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");Ts(this._associatedReadableByteStreamController,c)}respondWithNewView(c){if(!fu(this))throw yu("respondWithNewView");if(je(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");Ds(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 Ao("byobRequest");return gu(this)}get desiredSize(){if(!er(this))throw Ao("desiredSize");return Ff(this)}close(){if(!er(this))throw Ao("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`);ko(this)}enqueue(c){if(!er(this))throw Ao("enqueue");if(je(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 h=this._controlledReadableByteStream._state;if(h!=="readable")throw new TypeError(`The stream (in ${h} state) is not in the readable state and cannot be enqueued to`);vs(this,c)}error(c=void 0){if(!er(this))throw Ao("error");kt(this,c)}[V](c){Af(this),On(this);let h=this._cancelAlgorithm(c);return Ss(this),h}[P](c){let h=this._controlledReadableByteStream;if(this._queueTotalSize>0){Pf(this,c);return}let k=this._autoAllocateChunkSize;if(k!==void 0){let x;try{x=new ArrayBuffer(k)}catch(q){c._errorSteps(q);return}let j={buffer:x,bufferByteLength:k,byteOffset:0,byteLength:k,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(j)}O(h,c),tr(this)}[Y](){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 fu(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_associatedReadableByteStreamController")?!1:i instanceof Zn}function tr(i){if(!x_(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();m(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,tr(i)),null),k=>(kt(i,k),null))}function Af(i){pu(i),i._pendingPullIntos=new T}function hu(i,c){let h=!1;i._state==="closed"&&(h=!0);let k=Sf(c);c.readerType==="default"?I(i,k,h):B_(i,k,h)}function Sf(i){let c=i.bytesFilled,h=i.elementSize;return new i.viewConstructor(i.buffer,i.byteOffset,c/h)}function As(i,c,h,k){i._queue.push({buffer:c,byteOffset:h,byteLength:k}),i._queueTotalSize+=k}function vf(i,c,h,k){let x;try{x=Cf(c,h,h+k)}catch(j){throw kt(i,j),j}As(i,x,0,k)}function Tf(i,c){c.bytesFilled>0&&vf(i,c.buffer,c.byteOffset,c.bytesFilled),kr(i)}function Df(i,c){let h=Math.min(i._queueTotalSize,c.byteLength-c.bytesFilled),k=c.bytesFilled+h,x=h,j=!1,q=k%c.elementSize,ne=k-q;ne>=c.minimumFill&&(x=ne-c.bytesFilled,j=!0);let pe=i._queue;for(;x>0;){let de=pe.peek(),ge=Math.min(x,de.byteLength),Ce=c.byteOffset+c.bytesFilled;bf(c.buffer,Ce,de.buffer,de.byteOffset,ge),de.byteLength===ge?pe.shift():(de.byteOffset+=ge,de.byteLength-=ge),i._queueTotalSize-=ge,Rf(i,ge,c),x-=ge}return j}function Rf(i,c,h){h.bytesFilled+=c}function xf(i){i._queueTotalSize===0&&i._closeRequested?(Ss(i),xo(i._controlledReadableByteStream)):tr(i)}function pu(i){i._byobRequest!==null&&(i._byobRequest._associatedReadableByteStreamController=void 0,i._byobRequest._view=null,i._byobRequest=null)}function mu(i){for(;i._pendingPullIntos.length>0;){if(i._queueTotalSize===0)return;let c=i._pendingPullIntos.peek();Df(i,c)&&(kr(i),hu(i._controlledReadableByteStream,c))}}function v_(i){let c=i._controlledReadableByteStream._reader;for(;c._readRequests.length>0;){if(i._queueTotalSize===0)return;let h=c._readRequests.shift();Pf(i,h)}}function T_(i,c,h,k){let x=i._controlledReadableByteStream,j=c.constructor,q=S_(j),{byteOffset:ne,byteLength:pe}=c,de=h*q,ge;try{ge=hn(c.buffer)}catch(xe){k._errorSteps(xe);return}let Ce={buffer:ge,bufferByteLength:ge.byteLength,byteOffset:ne,byteLength:pe,bytesFilled:0,minimumFill:de,elementSize:q,viewConstructor:j,readerType:"byob"};if(i._pendingPullIntos.length>0){i._pendingPullIntos.push(Ce),Bf(x,k);return}if(x._state==="closed"){let xe=new j(Ce.buffer,Ce.byteOffset,0);k._closeSteps(xe);return}if(i._queueTotalSize>0){if(Df(i,Ce)){let xe=Sf(Ce);xf(i),k._chunkSteps(xe);return}if(i._closeRequested){let xe=new TypeError("Insufficient bytes to fill elements in the given buffer");kt(i,xe),k._errorSteps(xe);return}}i._pendingPullIntos.push(Ce),Bf(x,k),tr(i)}function D_(i,c){c.readerType==="none"&&kr(i);let h=i._controlledReadableByteStream;if(_u(h))for(;Mf(h)>0;){let k=kr(i);hu(h,k)}}function R_(i,c,h){if(Rf(i,c,h),h.readerType==="none"){Tf(i,h),mu(i);return}if(h.bytesFilled<h.minimumFill)return;kr(i);let k=h.bytesFilled%h.elementSize;if(k>0){let x=h.byteOffset+h.bytesFilled;vf(i,h.buffer,x-k,k)}h.bytesFilled-=k,hu(i._controlledReadableByteStream,h),mu(i)}function Of(i,c){let h=i._pendingPullIntos.peek();pu(i),i._controlledReadableByteStream._state==="closed"?D_(i,h):R_(i,c,h),tr(i)}function kr(i){return i._pendingPullIntos.shift()}function x_(i){let c=i._controlledReadableByteStream;return c._state!=="readable"||i._closeRequested||!i._started?!1:!!(B(c)&&L(c)>0||_u(c)&&Mf(c)>0||Ff(i)>0)}function Ss(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0}function ko(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 h=i._pendingPullIntos.peek();if(h.bytesFilled%h.elementSize!==0){let k=new TypeError("Insufficient bytes to fill elements in the given buffer");throw kt(i,k),k}}Ss(i),xo(c)}}function vs(i,c){let h=i._controlledReadableByteStream;if(i._closeRequested||h._state!=="readable")return;let{buffer:k,byteOffset:x,byteLength:j}=c;if(xn(k))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let q=hn(k);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");pu(i),ne.buffer=hn(ne.buffer),ne.readerType==="none"&&Tf(i,ne)}if(B(h))if(v_(i),L(h)===0)As(i,q,x,j);else{i._pendingPullIntos.length>0&&kr(i);let ne=new Uint8Array(q,x,j);I(h,ne,!1)}else _u(h)?(As(i,q,x,j),mu(i)):As(i,q,x,j);tr(i)}function kt(i,c){let h=i._controlledReadableByteStream;h._state==="readable"&&(Af(i),On(i),Ss(i),ah(h,c))}function Pf(i,c){let h=i._queue.shift();i._queueTotalSize-=h.byteLength,xf(i);let k=new Uint8Array(h.buffer,h.byteOffset,h.byteLength);c._chunkSteps(k)}function gu(i){if(i._byobRequest===null&&i._pendingPullIntos.length>0){let c=i._pendingPullIntos.peek(),h=new Uint8Array(c.buffer,c.byteOffset+c.bytesFilled,c.byteLength-c.bytesFilled),k=Object.create(Zn.prototype);P_(k,i,h),i._byobRequest=k}return i._byobRequest}function Ff(i){let c=i._controlledReadableByteStream._state;return c==="errored"?null:c==="closed"?0:i._strategyHWM-i._queueTotalSize}function Ts(i,c){let h=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(h.bytesFilled+c>h.byteLength)throw new RangeError("bytesWritten out of range")}h.buffer=hn(h.buffer),Of(i,c)}function Ds(i,c){let h=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(h.byteOffset+h.bytesFilled!==c.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(h.bufferByteLength!==c.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(h.bytesFilled+c.byteLength>h.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let x=c.byteLength;h.buffer=hn(c.buffer),Of(i,x)}function If(i,c,h,k,x,j,q){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=k,c._cancelAlgorithm=x,c._autoAllocateChunkSize=q,c._pendingPullIntos=new T,i._readableStreamController=c;let ne=h();m(d(ne),()=>(c._started=!0,tr(c),null),pe=>(kt(c,pe),null))}function O_(i,c,h){let k=Object.create(pn.prototype),x,j,q;c.start!==void 0?x=()=>c.start(k):x=()=>{},c.pull!==void 0?j=()=>c.pull(k):j=()=>d(void 0),c.cancel!==void 0?q=pe=>c.cancel(pe):q=()=>d(void 0);let ne=c.autoAllocateChunkSize;if(ne===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");If(i,k,x,j,q,h,ne)}function P_(i,c,h){i._associatedReadableByteStreamController=c,i._view=h}function yu(i){return new TypeError(`ReadableStreamBYOBRequest.prototype.${i} can only be used on a ReadableStreamBYOBRequest`)}function Ao(i){return new TypeError(`ReadableByteStreamController.prototype.${i} can only be used on a ReadableByteStreamController`)}function F_(i,c){ce(i,c);let h=i?.mode;return{mode:h===void 0?void 0:I_(h,`${c} has member 'mode' that`)}}function I_(i,c){if(i=`${i}`,i!=="byob")throw new TypeError(`${c} '${i}' is not a valid enumeration value for ReadableStreamReaderMode`);return i}function N_(i,c){var h;ce(i,c);let k=(h=i?.min)!==null&&h!==void 0?h:1;return{min:F(k,`${c} has member 'min' that`)}}function Nf(i){return new Pn(i)}function Bf(i,c){i._reader._readIntoRequests.push(c)}function B_(i,c,h){let x=i._reader._readIntoRequests.shift();h?x._closeSteps(c):x._chunkSteps(c)}function Mf(i){return i._reader._readIntoRequests.length}function _u(i){let c=i._reader;return!(c===void 0||!nr(c))}class Pn{constructor(c){if(je(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");z(this,c),this._readIntoRequests=new T}get closed(){return nr(this)?this._closedPromise:f(Rs("closed"))}cancel(c=void 0){return nr(this)?this._ownerReadableStream===void 0?f(ee("cancel")):K(this,c):f(Rs("cancel"))}read(c,h={}){if(!nr(this))return f(Rs("read"));if(!ArrayBuffer.isView(c))return f(new TypeError("view must be an array buffer view"));if(c.byteLength===0)return f(new TypeError("view must have non-zero byteLength"));if(c.buffer.byteLength===0)return f(new TypeError("view's buffer must have non-zero byteLength"));if(xn(c.buffer))return f(new TypeError("view's buffer has been detached"));let k;try{k=N_(h,"options")}catch(de){return f(de)}let x=k.min;if(x===0)return f(new TypeError("options.min must be greater than 0"));if(A_(c)){if(x>c.byteLength)return f(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(x>c.length)return f(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return f(ee("read from"));let j,q,ne=l((de,ge)=>{j=de,q=ge});return Lf(this,c,x,{_chunkSteps:de=>j({value:de,done:!1}),_closeSteps:de=>j({value:de,done:!0}),_errorSteps:de=>q(de)}),ne}releaseLock(){if(!nr(this))throw Rs("releaseLock");this._ownerReadableStream!==void 0&&M_(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 Lf(i,c,h,k){let x=i._ownerReadableStream;x._disturbed=!0,x._state==="errored"?k._errorSteps(x._storedError):T_(x._readableStreamController,c,h,k)}function M_(i){Q(i);let c=new TypeError("Reader was released");jf(i,c)}function jf(i,c){let h=i._readIntoRequests;i._readIntoRequests=new T,h.forEach(k=>{k._errorSteps(c)})}function Rs(i){return new TypeError(`ReadableStreamBYOBReader.prototype.${i} can only be used on a ReadableStreamBYOBReader`)}function So(i,c){let{highWaterMark:h}=i;if(h===void 0)return c;if(ft(h)||h<0)throw new RangeError("Invalid highWaterMark");return h}function xs(i){let{size:c}=i;return c||(()=>1)}function Os(i,c){ce(i,c);let h=i?.highWaterMark,k=i?.size;return{highWaterMark:h===void 0?void 0:v(h),size:k===void 0?void 0:L_(k,`${c} has member 'size' that`)}}function L_(i,c){return te(i,c),h=>v(i(h))}function j_(i,c){ce(i,c);let h=i?.abort,k=i?.close,x=i?.start,j=i?.type,q=i?.write;return{abort:h===void 0?void 0:U_(h,i,`${c} has member 'abort' that`),close:k===void 0?void 0:$_(k,i,`${c} has member 'close' that`),start:x===void 0?void 0:q_(x,i,`${c} has member 'start' that`),write:q===void 0?void 0:z_(q,i,`${c} has member 'write' that`),type:j}}function U_(i,c,h){return te(i,h),k=>C(i,c,[k])}function $_(i,c,h){return te(i,h),()=>C(i,c,[])}function q_(i,c,h){return te(i,h),k=>A(i,c,[k])}function z_(i,c,h){return te(i,h),(k,x)=>C(i,c,[k,x])}function Uf(i,c){if(!Ar(i))throw new TypeError(`${c} is not a WritableStream.`)}function H_(i){if(typeof i!="object"||i===null)return!1;try{return typeof i.aborted=="boolean"}catch{return!1}}let W_=typeof AbortController=="function";function G_(){if(W_)return new AbortController}class Fn{constructor(c={},h={}){c===void 0?c=null:Oe(c,"First parameter");let k=Os(h,"Second parameter"),x=j_(c,"First parameter");if(qf(this),x.type!==void 0)throw new RangeError("Invalid type is specified");let q=xs(k),ne=So(k,1);ib(this,x,ne,q)}get locked(){if(!Ar(this))throw Bs("locked");return Sr(this)}abort(c=void 0){return Ar(this)?Sr(this)?f(new TypeError("Cannot abort a stream that already has a writer")):Ps(this,c):f(Bs("abort"))}close(){return Ar(this)?Sr(this)?f(new TypeError("Cannot close a stream that already has a writer")):Yt(this)?f(new TypeError("Cannot close an already-closing stream")):zf(this):f(Bs("close"))}getWriter(){if(!Ar(this))throw Bs("getWriter");return $f(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 $f(i){return new mn(i)}function J_(i,c,h,k,x=1,j=()=>1){let q=Object.create(Fn.prototype);qf(q);let ne=Object.create(vr.prototype);return Kf(q,ne,i,c,h,k,x,j),q}function qf(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 Ps(i,c){var h;if(i._state==="closed"||i._state==="errored")return d(void 0);i._writableStreamController._abortReason=c,(h=i._writableStreamController._abortController)===null||h===void 0||h.abort(c);let k=i._state;if(k==="closed"||k==="errored")return d(void 0);if(i._pendingAbortRequest!==void 0)return i._pendingAbortRequest._promise;let x=!1;k==="erroring"&&(x=!0,c=void 0);let j=l((q,ne)=>{i._pendingAbortRequest={_promise:void 0,_resolve:q,_reject:ne,_reason:c,_wasAlreadyErroring:x}});return i._pendingAbortRequest._promise=j,x||Cu(i,c),j}function zf(i){let c=i._state;if(c==="closed"||c==="errored")return f(new TypeError(`The stream (in ${c} state) is not in the writable state and cannot be closed`));let h=l((x,j)=>{let q={_resolve:x,_reject:j};i._closeRequest=q}),k=i._writer;return k!==void 0&&i._backpressure&&c==="writable"&&Du(k),ab(i._writableStreamController),h}function V_(i){return l((h,k)=>{let x={_resolve:h,_reject:k};i._writeRequests.push(x)})}function bu(i,c){if(i._state==="writable"){Cu(i,c);return}wu(i)}function Cu(i,c){let h=i._writableStreamController;i._state="erroring",i._storedError=c;let k=i._writer;k!==void 0&&Wf(k,c),!Z_(i)&&h._started&&wu(i)}function wu(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){Fs(i);return}let h=i._pendingAbortRequest;if(i._pendingAbortRequest=void 0,h._wasAlreadyErroring){h._reject(c),Fs(i);return}let k=i._writableStreamController[R](h._reason);m(k,()=>(h._resolve(),Fs(i),null),x=>(h._reject(x),Fs(i),null))}function K_(i){i._inFlightWriteRequest._resolve(void 0),i._inFlightWriteRequest=void 0}function Y_(i,c){i._inFlightWriteRequest._reject(c),i._inFlightWriteRequest=void 0,bu(i,c)}function Q_(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 h=i._writer;h!==void 0&&Zf(h)}function X_(i,c){i._inFlightCloseRequest._reject(c),i._inFlightCloseRequest=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._reject(c),i._pendingAbortRequest=void 0),bu(i,c)}function Yt(i){return!(i._closeRequest===void 0&&i._inFlightCloseRequest===void 0)}function Z_(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}function eb(i){i._inFlightCloseRequest=i._closeRequest,i._closeRequest=void 0}function tb(i){i._inFlightWriteRequest=i._writeRequests.shift()}function Fs(i){i._closeRequest!==void 0&&(i._closeRequest._reject(i._storedError),i._closeRequest=void 0);let c=i._writer;c!==void 0&&vu(c,i._storedError)}function Eu(i,c){let h=i._writer;h!==void 0&&c!==i._backpressure&&(c?pb(h):Du(h)),i._backpressure=c}class mn{constructor(c){if(je(c,1,"WritableStreamDefaultWriter"),Uf(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 h=c._state;if(h==="writable")!Yt(c)&&c._backpressure?Ls(this):eh(this),Ms(this);else if(h==="erroring")Tu(this,c._storedError),Ms(this);else if(h==="closed")eh(this),fb(this);else{let k=c._storedError;Tu(this,k),Xf(this,k)}}get closed(){return rr(this)?this._closedPromise:f(or("closed"))}get desiredSize(){if(!rr(this))throw or("desiredSize");if(this._ownerWritableStream===void 0)throw To("desiredSize");return sb(this)}get ready(){return rr(this)?this._readyPromise:f(or("ready"))}abort(c=void 0){return rr(this)?this._ownerWritableStream===void 0?f(To("abort")):nb(this,c):f(or("abort"))}close(){if(!rr(this))return f(or("close"));let c=this._ownerWritableStream;return c===void 0?f(To("close")):Yt(c)?f(new TypeError("Cannot close an already-closing stream")):Hf(this)}releaseLock(){if(!rr(this))throw or("releaseLock");this._ownerWritableStream!==void 0&&Gf(this)}write(c=void 0){return rr(this)?this._ownerWritableStream===void 0?f(To("write to")):Jf(this,c):f(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 nb(i,c){let h=i._ownerWritableStream;return Ps(h,c)}function Hf(i){let c=i._ownerWritableStream;return zf(c)}function rb(i){let c=i._ownerWritableStream,h=c._state;return Yt(c)||h==="closed"?d(void 0):h==="errored"?f(c._storedError):Hf(i)}function ob(i,c){i._closedPromiseState==="pending"?vu(i,c):hb(i,c)}function Wf(i,c){i._readyPromiseState==="pending"?th(i,c):mb(i,c)}function sb(i){let c=i._ownerWritableStream,h=c._state;return h==="errored"||h==="erroring"?null:h==="closed"?0:Yf(c._writableStreamController)}function Gf(i){let c=i._ownerWritableStream,h=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Wf(i,h),ob(i,h),c._writer=void 0,i._ownerWritableStream=void 0}function Jf(i,c){let h=i._ownerWritableStream,k=h._writableStreamController,x=ub(k,c);if(h!==i._ownerWritableStream)return f(To("write to"));let j=h._state;if(j==="errored")return f(h._storedError);if(Yt(h)||j==="closed")return f(new TypeError("The stream is closing or closed and cannot be written to"));if(j==="erroring")return f(h._storedError);let q=V_(h);return cb(k,c,x),q}let Vf={};class vr{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!ku(this))throw Su("abortReason");return this._abortReason}get signal(){if(!ku(this))throw Su("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(c=void 0){if(!ku(this))throw Su("error");this._controlledWritableStream._state==="writable"&&Qf(this,c)}[R](c){let h=this._abortAlgorithm(c);return Is(this),h}[$](){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 ku(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledWritableStream")?!1:i instanceof vr}function Kf(i,c,h,k,x,j,q,ne){c._controlledWritableStream=i,i._writableStreamController=c,c._queue=void 0,c._queueTotalSize=void 0,On(c),c._abortReason=void 0,c._abortController=G_(),c._started=!1,c._strategySizeAlgorithm=ne,c._strategyHWM=q,c._writeAlgorithm=k,c._closeAlgorithm=x,c._abortAlgorithm=j;let pe=Au(c);Eu(i,pe);let de=h(),ge=d(de);m(ge,()=>(c._started=!0,Ns(c),null),Ce=>(c._started=!0,bu(i,Ce),null))}function ib(i,c,h,k){let x=Object.create(vr.prototype),j,q,ne,pe;c.start!==void 0?j=()=>c.start(x):j=()=>{},c.write!==void 0?q=de=>c.write(de,x):q=()=>d(void 0),c.close!==void 0?ne=()=>c.close():ne=()=>d(void 0),c.abort!==void 0?pe=de=>c.abort(de):pe=()=>d(void 0),Kf(i,x,j,q,ne,pe,h,k)}function Is(i){i._writeAlgorithm=void 0,i._closeAlgorithm=void 0,i._abortAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function ab(i){du(i,Vf,0),Ns(i)}function ub(i,c){try{return i._strategySizeAlgorithm(c)}catch(h){return vo(i,h),1}}function Yf(i){return i._strategyHWM-i._queueTotalSize}function cb(i,c,h){try{du(i,c,h)}catch(x){vo(i,x);return}let k=i._controlledWritableStream;if(!Yt(k)&&k._state==="writable"){let x=Au(i);Eu(k,x)}Ns(i)}function Ns(i){let c=i._controlledWritableStream;if(!i._started||c._inFlightWriteRequest!==void 0)return;if(c._state==="erroring"){wu(c);return}if(i._queue.length===0)return;let k=k_(i);k===Vf?lb(i):db(i,k)}function vo(i,c){i._controlledWritableStream._state==="writable"&&Qf(i,c)}function lb(i){let c=i._controlledWritableStream;eb(c),lu(i);let h=i._closeAlgorithm();Is(i),m(h,()=>(Q_(c),null),k=>(X_(c,k),null))}function db(i,c){let h=i._controlledWritableStream;tb(h);let k=i._writeAlgorithm(c);m(k,()=>{K_(h);let x=h._state;if(lu(i),!Yt(h)&&x==="writable"){let j=Au(i);Eu(h,j)}return Ns(i),null},x=>(h._state==="writable"&&Is(i),Y_(h,x),null))}function Au(i){return Yf(i)<=0}function Qf(i,c){let h=i._controlledWritableStream;Is(i),Cu(h,c)}function Bs(i){return new TypeError(`WritableStream.prototype.${i} can only be used on a WritableStream`)}function Su(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 To(i){return new TypeError("Cannot "+i+" a stream using a released writer")}function Ms(i){i._closedPromise=l((c,h)=>{i._closedPromise_resolve=c,i._closedPromise_reject=h,i._closedPromiseState="pending"})}function Xf(i,c){Ms(i),vu(i,c)}function fb(i){Ms(i),Zf(i)}function vu(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 hb(i,c){Xf(i,c)}function Zf(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 Ls(i){i._readyPromise=l((c,h)=>{i._readyPromise_resolve=c,i._readyPromise_reject=h}),i._readyPromiseState="pending"}function Tu(i,c){Ls(i),th(i,c)}function eh(i){Ls(i),Du(i)}function th(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 pb(i){Ls(i)}function mb(i,c){Tu(i,c)}function Du(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 gb(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let Ru=gb();function yb(i){if(!(typeof i=="function"||typeof i=="object")||i.name!=="DOMException")return!1;try{return new i,!0}catch{return!1}}function _b(){let i=Ru?.DOMException;return yb(i)?i:void 0}function bb(){let i=function(h,k){this.message=h||"",this.name=k||"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 Cb=_b()||bb();function nh(i,c,h,k,x,j){let q=U(i),ne=$f(c);i._disturbed=!0;let pe=!1,de=d(void 0);return l((ge,Ce)=>{let xe;if(j!==void 0){if(xe=()=>{let fe=j.reason!==void 0?j.reason:new Cb("Aborted","AbortError"),we=[];k||we.push(()=>c._state==="writable"?Ps(c,fe):d(void 0)),x||we.push(()=>i._state==="readable"?Bt(i,fe):d(void 0)),at(()=>Promise.all(we.map(Pe=>Pe())),!0,fe)},j.aborted){xe();return}j.addEventListener("abort",xe)}function Mt(){return l((fe,we)=>{function Pe(ht){ht?fe():p(xr(),Pe,we)}Pe(!1)})}function xr(){return pe?d(!0):p(ne._readyPromise,()=>l((fe,we)=>{ue(q,{_chunkSteps:Pe=>{de=p(Jf(ne,Pe),void 0,e),fe(!1)},_closeSteps:()=>fe(!0),_errorSteps:we})}))}if(yn(i,q._closedPromise,fe=>(k?At(!0,fe):at(()=>Ps(c,fe),!0,fe),null)),yn(c,ne._closedPromise,fe=>(x?At(!0,fe):at(()=>Bt(i,fe),!0,fe),null)),rt(i,q._closedPromise,()=>(h?At():at(()=>rb(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?At(!0,fe):at(()=>Bt(i,fe),!0,fe)}g(Mt());function Mn(){let fe=de;return p(de,()=>fe!==de?Mn():void 0)}function yn(fe,we,Pe){fe._state==="errored"?Pe(fe._storedError):w(we,Pe)}function rt(fe,we,Pe){fe._state==="closed"?Pe():b(we,Pe)}function at(fe,we,Pe){if(pe)return;pe=!0,c._state==="writable"&&!Yt(c)?b(Mn(),ht):ht();function ht(){return m(fe(),()=>_n(we,Pe),Or=>_n(!0,Or)),null}}function At(fe,we){pe||(pe=!0,c._state==="writable"&&!Yt(c)?b(Mn(),()=>_n(fe,we)):_n(fe,we))}function _n(fe,we){return Gf(ne),Q(q),j!==void 0&&j.removeEventListener("abort",xe),fe?Ce(we):ge(void 0),null}})}class gn{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!js(this))throw $s("desiredSize");return xu(this)}close(){if(!js(this))throw $s("close");if(!Dr(this))throw new TypeError("The stream is not in a state that permits close");sr(this)}enqueue(c=void 0){if(!js(this))throw $s("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(!js(this))throw $s("error");Nt(this,c)}[V](c){On(this);let h=this._cancelAlgorithm(c);return Us(this),h}[P](c){let h=this._controlledReadableStream;if(this._queue.length>0){let k=lu(this);this._closeRequested&&this._queue.length===0?(Us(this),xo(h)):Do(this),c._chunkSteps(k)}else O(h,c),Do(this)}[Y](){}}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 js(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableStream")?!1:i instanceof gn}function Do(i){if(!rh(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();m(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,Do(i)),null),k=>(Nt(i,k),null))}function rh(i){let c=i._controlledReadableStream;return!Dr(i)||!i._started?!1:!!(Nn(c)&&L(c)>0||xu(i)>0)}function Us(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&&(Us(i),xo(c))}function Tr(i,c){if(!Dr(i))return;let h=i._controlledReadableStream;if(Nn(h)&&L(h)>0)I(h,c,!1);else{let k;try{k=i._strategySizeAlgorithm(c)}catch(x){throw Nt(i,x),x}try{du(i,c,k)}catch(x){throw Nt(i,x),x}}Do(i)}function Nt(i,c){let h=i._controlledReadableStream;h._state==="readable"&&(On(i),Us(i),ah(h,c))}function xu(i){let c=i._controlledReadableStream._state;return c==="errored"?null:c==="closed"?0:i._strategyHWM-i._queueTotalSize}function wb(i){return!rh(i)}function Dr(i){let c=i._controlledReadableStream._state;return!i._closeRequested&&c==="readable"}function oh(i,c,h,k,x,j,q){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=q,c._strategyHWM=j,c._pullAlgorithm=k,c._cancelAlgorithm=x,i._readableStreamController=c;let ne=h();m(d(ne),()=>(c._started=!0,Do(c),null),pe=>(Nt(c,pe),null))}function Eb(i,c,h,k){let x=Object.create(gn.prototype),j,q,ne;c.start!==void 0?j=()=>c.start(x):j=()=>{},c.pull!==void 0?q=()=>c.pull(x):q=()=>d(void 0),c.cancel!==void 0?ne=pe=>c.cancel(pe):ne=()=>d(void 0),oh(i,x,j,q,ne,h,k)}function $s(i){return new TypeError(`ReadableStreamDefaultController.prototype.${i} can only be used on a ReadableStreamDefaultController`)}function kb(i,c){return er(i._readableStreamController)?Sb(i):Ab(i)}function Ab(i,c){let h=U(i),k=!1,x=!1,j=!1,q=!1,ne,pe,de,ge,Ce,xe=l(rt=>{Ce=rt});function Mt(){return k?(x=!0,d(void 0)):(k=!0,ue(h,{_chunkSteps:at=>{_(()=>{x=!1;let At=at,_n=at;j||Tr(de._readableStreamController,At),q||Tr(ge._readableStreamController,_n),k=!1,x&&Mt()})},_closeSteps:()=>{k=!1,j||sr(de._readableStreamController),q||sr(ge._readableStreamController),(!j||!q)&&Ce(void 0)},_errorSteps:()=>{k=!1}}),d(void 0))}function xr(rt){if(j=!0,ne=rt,q){let at=De([ne,pe]),At=Bt(i,at);Ce(At)}return xe}function Mn(rt){if(q=!0,pe=rt,j){let at=De([ne,pe]),At=Bt(i,at);Ce(At)}return xe}function yn(){}return de=Ro(yn,Mt,xr),ge=Ro(yn,Mt,Mn),w(h._closedPromise,rt=>(Nt(de._readableStreamController,rt),Nt(ge._readableStreamController,rt),(!j||!q)&&Ce(void 0),null)),[de,ge]}function Sb(i){let c=U(i),h=!1,k=!1,x=!1,j=!1,q=!1,ne,pe,de,ge,Ce,xe=l(fe=>{Ce=fe});function Mt(fe){w(fe._closedPromise,we=>(fe!==c||(kt(de._readableStreamController,we),kt(ge._readableStreamController,we),(!j||!q)&&Ce(void 0)),null))}function xr(){nr(c)&&(Q(c),c=U(i),Mt(c)),ue(c,{_chunkSteps:we=>{_(()=>{k=!1,x=!1;let Pe=we,ht=we;if(!j&&!q)try{ht=Ef(we)}catch(Or){kt(de._readableStreamController,Or),kt(ge._readableStreamController,Or),Ce(Bt(i,Or));return}j||vs(de._readableStreamController,Pe),q||vs(ge._readableStreamController,ht),h=!1,k?yn():x&&rt()})},_closeSteps:()=>{h=!1,j||ko(de._readableStreamController),q||ko(ge._readableStreamController),de._readableStreamController._pendingPullIntos.length>0&&Ts(de._readableStreamController,0),ge._readableStreamController._pendingPullIntos.length>0&&Ts(ge._readableStreamController,0),(!j||!q)&&Ce(void 0)},_errorSteps:()=>{h=!1}})}function Mn(fe,we){oe(c)&&(Q(c),c=Nf(i),Mt(c));let Pe=we?ge:de,ht=we?de:ge;Lf(c,fe,1,{_chunkSteps:Pr=>{_(()=>{k=!1,x=!1;let Fr=we?q:j;if(we?j:q)Fr||Ds(Pe._readableStreamController,Pr);else{let Ch;try{Ch=Ef(Pr)}catch(Nu){kt(Pe._readableStreamController,Nu),kt(ht._readableStreamController,Nu),Ce(Bt(i,Nu));return}Fr||Ds(Pe._readableStreamController,Pr),vs(ht._readableStreamController,Ch)}h=!1,k?yn():x&&rt()})},_closeSteps:Pr=>{h=!1;let Fr=we?q:j,Ks=we?j:q;Fr||ko(Pe._readableStreamController),Ks||ko(ht._readableStreamController),Pr!==void 0&&(Fr||Ds(Pe._readableStreamController,Pr),!Ks&&ht._readableStreamController._pendingPullIntos.length>0&&Ts(ht._readableStreamController,0)),(!Fr||!Ks)&&Ce(void 0)},_errorSteps:()=>{h=!1}})}function yn(){if(h)return k=!0,d(void 0);h=!0;let fe=gu(de._readableStreamController);return fe===null?xr():Mn(fe._view,!1),d(void 0)}function rt(){if(h)return x=!0,d(void 0);h=!0;let fe=gu(ge._readableStreamController);return fe===null?xr():Mn(fe._view,!0),d(void 0)}function at(fe){if(j=!0,ne=fe,q){let we=De([ne,pe]),Pe=Bt(i,we);Ce(Pe)}return xe}function At(fe){if(q=!0,pe=fe,j){let we=De([ne,pe]),Pe=Bt(i,we);Ce(Pe)}return xe}function _n(){}return de=ih(_n,yn,at),ge=ih(_n,rt,At),Mt(c),[de,ge]}function vb(i){return n(i)&&typeof i.getReader<"u"}function Tb(i){return vb(i)?Rb(i.getReader()):Db(i)}function Db(i){let c,h=wf(i,"async"),k=e;function x(){let q;try{q=b_(h)}catch(pe){return f(pe)}let ne=d(q);return y(ne,pe=>{if(!n(pe))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(C_(pe))sr(c._readableStreamController);else{let ge=w_(pe);Tr(c._readableStreamController,ge)}})}function j(q){let ne=h.iterator,pe;try{pe=ks(ne,"return")}catch(Ce){return f(Ce)}if(pe===void 0)return d(void 0);let de;try{de=A(pe,ne,[q])}catch(Ce){return f(Ce)}let ge=d(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=Ro(k,x,j,0),c}function Rb(i){let c,h=e;function k(){let j;try{j=i.read()}catch(q){return f(q)}return y(j,q=>{if(!n(q))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(q.done)sr(c._readableStreamController);else{let ne=q.value;Tr(c._readableStreamController,ne)}})}function x(j){try{return d(i.cancel(j))}catch(q){return f(q)}}return c=Ro(h,k,x,0),c}function xb(i,c){ce(i,c);let h=i,k=h?.autoAllocateChunkSize,x=h?.cancel,j=h?.pull,q=h?.start,ne=h?.type;return{autoAllocateChunkSize:k===void 0?void 0:F(k,`${c} has member 'autoAllocateChunkSize' that`),cancel:x===void 0?void 0:Ob(x,h,`${c} has member 'cancel' that`),pull:j===void 0?void 0:Pb(j,h,`${c} has member 'pull' that`),start:q===void 0?void 0:Fb(q,h,`${c} has member 'start' that`),type:ne===void 0?void 0:Ib(ne,`${c} has member 'type' that`)}}function Ob(i,c,h){return te(i,h),k=>C(i,c,[k])}function Pb(i,c,h){return te(i,h),k=>C(i,c,[k])}function Fb(i,c,h){return te(i,h),k=>A(i,c,[k])}function Ib(i,c){if(i=`${i}`,i!=="bytes")throw new TypeError(`${c} '${i}' is not a valid enumeration value for ReadableStreamType`);return i}function Nb(i,c){return ce(i,c),{preventCancel:!!i?.preventCancel}}function sh(i,c){ce(i,c);let h=i?.preventAbort,k=i?.preventCancel,x=i?.preventClose,j=i?.signal;return j!==void 0&&Bb(j,`${c} has member 'signal' that`),{preventAbort:!!h,preventCancel:!!k,preventClose:!!x,signal:j}}function Bb(i,c){if(!H_(i))throw new TypeError(`${c} is not an AbortSignal.`)}function Mb(i,c){ce(i,c);let h=i?.readable;E(h,"readable","ReadableWritablePair"),N(h,`${c} has member 'readable' that`);let k=i?.writable;return E(k,"writable","ReadableWritablePair"),Uf(k,`${c} has member 'writable' that`),{readable:h,writable:k}}class et{constructor(c={},h={}){c===void 0?c=null:Oe(c,"First parameter");let k=Os(h,"Second parameter"),x=xb(c,"First parameter");if(Ou(this),x.type==="bytes"){if(k.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let j=So(k,0);O_(this,x,j)}else{let j=xs(k),q=So(k,1);Eb(this,x,q,j)}}get locked(){if(!In(this))throw ir("locked");return Nn(this)}cancel(c=void 0){return In(this)?Nn(this)?f(new TypeError("Cannot cancel a stream that already has a reader")):Bt(this,c):f(ir("cancel"))}getReader(c=void 0){if(!In(this))throw ir("getReader");return F_(c,"First parameter").mode===void 0?U(this):Nf(this)}pipeThrough(c,h={}){if(!In(this))throw ir("pipeThrough");je(c,1,"pipeThrough");let k=Mb(c,"First parameter"),x=sh(h,"Second parameter");if(Nn(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Sr(k.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let j=nh(this,k.writable,x.preventClose,x.preventAbort,x.preventCancel,x.signal);return g(j),k.readable}pipeTo(c,h={}){if(!In(this))return f(ir("pipeTo"));if(c===void 0)return f("Parameter 1 is required in 'pipeTo'.");if(!Ar(c))return f(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let k;try{k=sh(h,"Second parameter")}catch(x){return f(x)}return Nn(this)?f(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Sr(c)?f(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):nh(this,c,k.preventClose,k.preventAbort,k.preventCancel,k.signal)}tee(){if(!In(this))throw ir("tee");let c=kb(this);return De(c)}values(c=void 0){if(!In(this))throw ir("values");let h=Nb(c,"First parameter");return Cr(this,h.preventCancel)}[cu](c){return this.values(c)}static from(c){return Tb(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,cu,{value:et.prototype.values,writable:!0,configurable:!0});function Ro(i,c,h,k=1,x=()=>1){let j=Object.create(et.prototype);Ou(j);let q=Object.create(gn.prototype);return oh(j,q,i,c,h,k,x),j}function ih(i,c,h){let k=Object.create(et.prototype);Ou(k);let x=Object.create(pn.prototype);return If(k,x,i,c,h,0,void 0),k}function Ou(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 Bt(i,c){if(i._disturbed=!0,i._state==="closed")return d(void 0);if(i._state==="errored")return f(i._storedError);xo(i);let h=i._reader;if(h!==void 0&&nr(h)){let x=h._readIntoRequests;h._readIntoRequests=new T,x.forEach(j=>{j._closeSteps(void 0)})}let k=i._readableStreamController[V](c);return y(k,e)}function xo(i){i._state="closed";let c=i._reader;if(c!==void 0&&(ie(c),oe(c))){let h=c._readRequests;c._readRequests=new T,h.forEach(k=>{k._closeSteps()})}}function ah(i,c){i._state="errored",i._storedError=c;let h=i._reader;h!==void 0&&(G(h,c),oe(h)?Ie(h,c):jf(h,c))}function ir(i){return new TypeError(`ReadableStream.prototype.${i} can only be used on a ReadableStream`)}function uh(i,c){ce(i,c);let h=i?.highWaterMark;return E(h,"highWaterMark","QueuingStrategyInit"),{highWaterMark:v(h)}}let ch=i=>i.byteLength;o(ch,"size");class qs{constructor(c){je(c,1,"ByteLengthQueuingStrategy"),c=uh(c,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=c.highWaterMark}get highWaterMark(){if(!dh(this))throw lh("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!dh(this))throw lh("size");return ch}}Object.defineProperties(qs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(qs.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function lh(i){return new TypeError(`ByteLengthQueuingStrategy.prototype.${i} can only be used on a ByteLengthQueuingStrategy`)}function dh(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_byteLengthQueuingStrategyHighWaterMark")?!1:i instanceof qs}let fh=()=>1;o(fh,"size");class zs{constructor(c){je(c,1,"CountQueuingStrategy"),c=uh(c,"First parameter"),this._countQueuingStrategyHighWaterMark=c.highWaterMark}get highWaterMark(){if(!ph(this))throw hh("highWaterMark");return this._countQueuingStrategyHighWaterMark}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:"CountQueuingStrategy",configurable:!0});function hh(i){return new TypeError(`CountQueuingStrategy.prototype.${i} can only be used on a CountQueuingStrategy`)}function ph(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_countQueuingStrategyHighWaterMark")?!1:i instanceof zs}function Lb(i,c){ce(i,c);let h=i?.cancel,k=i?.flush,x=i?.readableType,j=i?.start,q=i?.transform,ne=i?.writableType;return{cancel:h===void 0?void 0:qb(h,i,`${c} has member 'cancel' that`),flush:k===void 0?void 0:jb(k,i,`${c} has member 'flush' that`),readableType:x,start:j===void 0?void 0:Ub(j,i,`${c} has member 'start' that`),transform:q===void 0?void 0:$b(q,i,`${c} has member 'transform' that`),writableType:ne}}function jb(i,c,h){return te(i,h),k=>C(i,c,[k])}function Ub(i,c,h){return te(i,h),k=>A(i,c,[k])}function $b(i,c,h){return te(i,h),(k,x)=>C(i,c,[k,x])}function qb(i,c,h){return te(i,h),k=>C(i,c,[k])}class Hs{constructor(c={},h={},k={}){c===void 0&&(c=null);let x=Os(h,"Second parameter"),j=Os(k,"Third parameter"),q=Lb(c,"First parameter");if(q.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(q.writableType!==void 0)throw new RangeError("Invalid writableType specified");let ne=So(j,0),pe=xs(j),de=So(x,1),ge=xs(x),Ce,xe=l(Mt=>{Ce=Mt});zb(this,xe,de,ge,ne,pe),Wb(this,q),q.start!==void 0?Ce(q.start(this._transformStreamController)):Ce(void 0)}get readable(){if(!mh(this))throw bh("readable");return this._readable}get writable(){if(!mh(this))throw bh("writable");return this._writable}}Object.defineProperties(Hs.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Hs.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function zb(i,c,h,k,x,j){function q(){return c}function ne(xe){return Vb(i,xe)}function pe(xe){return Kb(i,xe)}function de(){return Yb(i)}i._writable=J_(q,ne,de,pe,h,k);function ge(){return Qb(i)}function Ce(xe){return Xb(i,xe)}i._readable=Ro(q,ge,Ce,x,j),i._backpressure=void 0,i._backpressureChangePromise=void 0,i._backpressureChangePromise_resolve=void 0,Ws(i,!0),i._transformStreamController=void 0}function mh(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_transformStreamController")?!1:i instanceof Hs}function gh(i,c){Nt(i._readable._readableStreamController,c),Pu(i,c)}function Pu(i,c){Js(i._transformStreamController),vo(i._writable._writableStreamController,c),Fu(i)}function Fu(i){i._backpressure&&Ws(i,!1)}function Ws(i,c){i._backpressureChangePromise!==void 0&&i._backpressureChangePromise_resolve(),i._backpressureChangePromise=l(h=>{i._backpressureChangePromise_resolve=h}),i._backpressure=c}class Bn{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Gs(this))throw Vs("desiredSize");let c=this._controlledTransformStream._readable._readableStreamController;return xu(c)}enqueue(c=void 0){if(!Gs(this))throw Vs("enqueue");yh(this,c)}error(c=void 0){if(!Gs(this))throw Vs("error");Gb(this,c)}terminate(){if(!Gs(this))throw Vs("terminate");Jb(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 Gs(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledTransformStream")?!1:i instanceof Bn}function Hb(i,c,h,k,x){c._controlledTransformStream=i,i._transformStreamController=c,c._transformAlgorithm=h,c._flushAlgorithm=k,c._cancelAlgorithm=x,c._finishPromise=void 0,c._finishPromise_resolve=void 0,c._finishPromise_reject=void 0}function Wb(i,c){let h=Object.create(Bn.prototype),k,x,j;c.transform!==void 0?k=q=>c.transform(q,h):k=q=>{try{return yh(h,q),d(void 0)}catch(ne){return f(ne)}},c.flush!==void 0?x=()=>c.flush(h):x=()=>d(void 0),c.cancel!==void 0?j=q=>c.cancel(q):j=()=>d(void 0),Hb(i,h,k,x,j)}function Js(i){i._transformAlgorithm=void 0,i._flushAlgorithm=void 0,i._cancelAlgorithm=void 0}function yh(i,c){let h=i._controlledTransformStream,k=h._readable._readableStreamController;if(!Dr(k))throw new TypeError("Readable side is not in a state that permits enqueue");try{Tr(k,c)}catch(j){throw Pu(h,j),h._readable._storedError}wb(k)!==h._backpressure&&Ws(h,!0)}function Gb(i,c){gh(i._controlledTransformStream,c)}function _h(i,c){let h=i._transformAlgorithm(c);return y(h,void 0,k=>{throw gh(i._controlledTransformStream,k),k})}function Jb(i){let c=i._controlledTransformStream,h=c._readable._readableStreamController;sr(h);let k=new TypeError("TransformStream terminated");Pu(c,k)}function Vb(i,c){let h=i._transformStreamController;if(i._backpressure){let k=i._backpressureChangePromise;return y(k,()=>{let x=i._writable;if(x._state==="erroring")throw x._storedError;return _h(h,c)})}return _h(h,c)}function Kb(i,c){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let k=i._readable;h._finishPromise=l((j,q)=>{h._finishPromise_resolve=j,h._finishPromise_reject=q});let x=h._cancelAlgorithm(c);return Js(h),m(x,()=>(k._state==="errored"?Rr(h,k._storedError):(Nt(k._readableStreamController,c),Iu(h)),null),j=>(Nt(k._readableStreamController,j),Rr(h,j),null)),h._finishPromise}function Yb(i){let c=i._transformStreamController;if(c._finishPromise!==void 0)return c._finishPromise;let h=i._readable;c._finishPromise=l((x,j)=>{c._finishPromise_resolve=x,c._finishPromise_reject=j});let k=c._flushAlgorithm();return Js(c),m(k,()=>(h._state==="errored"?Rr(c,h._storedError):(sr(h._readableStreamController),Iu(c)),null),x=>(Nt(h._readableStreamController,x),Rr(c,x),null)),c._finishPromise}function Qb(i){return Ws(i,!1),i._backpressureChangePromise}function Xb(i,c){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let k=i._writable;h._finishPromise=l((j,q)=>{h._finishPromise_resolve=j,h._finishPromise_reject=q});let x=h._cancelAlgorithm(c);return Js(h),m(x,()=>(k._state==="errored"?Rr(h,k._storedError):(vo(k._writableStreamController,c),Fu(i),Iu(h)),null),j=>(vo(k._writableStreamController,j),Fu(i),Rr(h,j),null)),h._finishPromise}function Vs(i){return new TypeError(`TransformStreamDefaultController.prototype.${i} can only be used on a TransformStreamDefaultController`)}function Iu(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 bh(i){return new TypeError(`TransformStream.prototype.${i} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=qs,t.CountQueuingStrategy=zs,t.ReadableByteStreamController=pn,t.ReadableStream=et,t.ReadableStreamBYOBReader=Pn,t.ReadableStreamBYOBRequest=Zn,t.ReadableStreamDefaultController=gn,t.ReadableStreamDefaultReader=H,t.TransformStream=Hs,t.TransformStreamDefaultController=Bn,t.WritableStream=Fn,t.WritableStreamDefaultController=vr,t.WritableStreamDefaultWriter=mn}))});var mm=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,pm())}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*Tc(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,gm),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+gm)).arrayBuffer();r+=a.byteLength,yield new Uint8Array(a)}}}var U1,gm,ym,CE,$t,jo=Le(()=>{U1=Ln(mm(),1);gm=65536;ym=class Dc{#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 Dc?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 Tc(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 Tc(this.#e,!1))e.set(r,n),n+=r.length;return e.buffer}stream(){let e=Tc(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,d=[],f=0;for(let m of l){if(f>=u)break;let b=ArrayBuffer.isView(m)?m.byteLength:m.size;if(s&&b<=s)s-=b,a-=b;else{let w;ArrayBuffer.isView(m)?(w=m.subarray(s,Math.min(b,a)),f+=w.byteLength):(w=m.slice(s,Math.min(b,a)),f+=w.size),a-=b,d.push(w),s=0}}let p=new Dc([],{type:String(r).toLowerCase()});return p.#n=u,p.#e=d,p}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(ym.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});CE=ym,$t=CE});var wE,EE,qn,Rc=Le(()=>{jo();wE=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])}},EE=wE,qn=EE});function Cm(t,e=$t){var n=`${_m()}${_m()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),r=[],o=`--${n}\r
27
+ Content-Disposition: form-data; name="`;return t.forEach((s,a)=>typeof s=="string"?r.push(o+xc(a)+`"\r
28
28
  \r
29
29
  ${s.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
30
30
  `)}\r
31
- `):r.push(o+Dc(a)+`"; filename="${Dc(s.name,1)}"\r
31
+ `):r.push(o+xc(a)+`"; filename="${xc(s.name,1)}"\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 jo,mE,gE,mm,yE,gm,Dc,fr,zn,ki=Le(()=>{Lo();vc();({toStringTag:jo,iterator:mE,hasInstance:gE}=Symbol),mm=Math.random,yE="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),gm=(t,e,n)=>(t+="",/^(Blob|File)$/.test(e&&e[jo])?[(n=n!==void 0?n+"":e[jo]=="File"?e.name:"blob",t),e.name!==n||e[jo]=="blob"?new qn([e],n,e):e]:[t,e+""]),Dc=(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[jo](){return"FormData"}[mE](){return this.entries()}static[gE](e){return e&&typeof e=="object"&&e[jo]==="FormData"&&!yE.some(n=>typeof e[n]!="function")}append(...e){fr("append",arguments,2),this.#e.push(gm(...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=gm(...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,Ai=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,Rc=Le(()=>{Ai();st=class extends kn{constructor(e,n,r){super(e,n),r&&(this.code=this.errno=r.code,this.erroredSysCall=r.syscall)}}});var Si,xc,Uo,_m,bm,Cm,Ti=Le(()=>{Si=Symbol.toStringTag,xc=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[Si]==="URLSearchParams",Uo=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[Si]),_m=t=>typeof t=="object"&&(t[Si]==="AbortSignal"||t[Si]==="EventTarget"),bm=(t,e)=>{let n=new URL(e).hostname,r=new URL(t).hostname;return n===r||n.endsWith(`.${r}`)},Cm=(t,e)=>{let n=new URL(e).protocol,r=new URL(t).protocol;return n===r}});var Em=X((z1,wm)=>{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)}wm.exports=globalThis.DOMException});import{statSync as km,createReadStream as _E,promises as bE}from"node:fs";import{basename as CE}from"node:path";var Am,Oc,Sm,Tm,vm,Dm,Rm,xm,vi,Pc=Le(()=>{Am=Ln(Em(),1);vc();Lo();({stat:Oc}=bE),Sm=(t,e)=>Rm(km(t),t,e),Tm=(t,e)=>Oc(t).then(n=>Rm(n,t,e)),vm=(t,e)=>Oc(t).then(n=>xm(n,t,e)),Dm=(t,e)=>xm(km(t),t,e),Rm=(t,e,n="")=>new $t([new vi({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:n}),xm=(t,e,n="")=>new qn([new vi({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],CE(e),{type:n,lastModified:t.mtimeMs}),vi=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 Oc(this.#e);if(e>this.lastModified)throw new Am.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*_E(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});var Pm={};Iu(Pm,{toFormData:()=>vE});function TE(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 vE(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 Fc(n[1]||n[2]),o,s,a,u,l,d,f=[],p=new zn,m=_=>{a+=g.decode(_,{stream:!0})},b=_=>{f.push(_)},w=()=>{let _=new qn(f,d,{type:l});p.append(u,_)},y=()=>{p.append(u,a)},g=new TextDecoder("utf-8");g.decode(),r.onPartBegin=function(){r.onPartData=m,r.onPartEnd=y,o="",s="",a="",u="",l="",d=null,f.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]||""),d=TE(s),d&&(r.onPartData=b,r.onPartEnd=w)}else o==="content-type"&&(l=s);s="",o=""};for await(let _ of t)r.write(_);return r.end(),p}var Xt,Fe,Om,Hn,Di,Ri,wE,$o,EE,kE,AE,SE,hr,Fc,Fm=Le(()=>{Pc();ki();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++},Om=1,Hn={PART_BOUNDARY:Om,LAST_BOUNDARY:Om*=2},Di=10,Ri=13,wE=32,$o=45,EE=58,kE=97,AE=122,SE=t=>t|32,hr=()=>{},Fc=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:d,flags:f}=this,p=this.boundary.length,m=p-1,b=e.length,w,y,g=S=>{this[S+"Mark"]=n},_=S=>{delete this[S+"Mark"]},A=(S,v,R,$)=>{(v===void 0||v!==R)&&this[S]($&&$.subarray(v,R))},C=(S,v)=>{let R=S+"Mark";R in this&&(v?(A(S,this[R],n,e),delete this[R]):(A(S,this[R],e.length,e),this[R]=0))};for(n=0;n<r;n++)switch(w=e[n],d){case Fe.START_BOUNDARY:if(l===a.length-2){if(w===$o)f|=Hn.LAST_BOUNDARY;else if(w!==Ri)return;l++;break}else if(l-1===a.length-2){if(f&Hn.LAST_BOUNDARY&&w===$o)d=Fe.END,f=0;else if(!(f&Hn.LAST_BOUNDARY)&&w===Di)l=0,A("onPartBegin"),d=Fe.HEADER_FIELD_START;else return;break}w!==a[l+2]&&(l=-2),w===a[l+2]&&l++;break;case Fe.HEADER_FIELD_START:d=Fe.HEADER_FIELD,g("onHeaderField"),l=0;case Fe.HEADER_FIELD:if(w===Ri){_("onHeaderField"),d=Fe.HEADERS_ALMOST_DONE;break}if(l++,w===$o)break;if(w===EE){if(l===1)return;C("onHeaderField",!0),d=Fe.HEADER_VALUE_START;break}if(y=SE(w),y<kE||y>AE)return;break;case Fe.HEADER_VALUE_START:if(w===wE)break;g("onHeaderValue"),d=Fe.HEADER_VALUE;case Fe.HEADER_VALUE:w===Ri&&(C("onHeaderValue",!0),A("onHeaderEnd"),d=Fe.HEADER_VALUE_ALMOST_DONE);break;case Fe.HEADER_VALUE_ALMOST_DONE:if(w!==Di)return;d=Fe.HEADER_FIELD_START;break;case Fe.HEADERS_ALMOST_DONE:if(w!==Di)return;A("onHeadersEnd"),d=Fe.PART_DATA_START;break;case Fe.PART_DATA_START:d=Fe.PART_DATA,g("onPartData");case Fe.PART_DATA:if(o=l,l===0){for(n+=m;n<b&&!(e[n]in u);)n+=p;n-=m,w=e[n]}if(l<a.length)a[l]===w?(l===0&&C("onPartData",!0),l++):l=0;else if(l===a.length)l++,w===Ri?f|=Hn.PART_BOUNDARY:w===$o?f|=Hn.LAST_BOUNDARY:l=0;else if(l-1===a.length)if(f&Hn.PART_BOUNDARY){if(l=0,w===Di){f&=~Hn.PART_BOUNDARY,A("onPartEnd"),A("onPartBegin"),d=Fe.HEADER_FIELD_START;break}}else f&Hn.LAST_BOUNDARY&&w===$o?(A("onPartEnd"),d=Fe.END,f=0):l=0;if(l>0)s[l-1]=w;else if(o>0){let S=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);A("onPartData",0,o,S),o=0,g("onPartData"),n--}break;case Fe.END:break;default:throw new Error(`Unexpected state entered: ${d}`)}C("onHeaderField"),C("onHeaderValue"),C("onPartData"),this.index=l,this.state=d,this.flags=f}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 Im}from"node:stream";import{types as Bm,deprecate as Bc,promisify as DE}from"node:util";import{Buffer as Dt}from"node:buffer";async function Ic(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 Dt.alloc(0);if(!(e instanceof Wn))return Dt.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")?Dt.from(n.join("")):Dt.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 RE,lt,Zt,Gr,xE,xi,Nm,Mm,Oi=Le(()=>{Lo();ki();Rc();Ai();Ti();RE=DE(Wn.pipeline),lt=Symbol("Body internals"),Zt=class{constructor(e,{size:n=0}={}){let r=null;e===null?e=null:xc(e)?e=Dt.from(e.toString()):Uo(e)||Dt.isBuffer(e)||(Bm.isAnyArrayBuffer(e)?e=Dt.from(e):ArrayBuffer.isView(e)?e=Dt.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Wn||(e instanceof zn?(e=ym(e),r=e.type.split("=")[1]):e=Dt.from(String(e))));let o=e;Dt.isBuffer(e)?o=Wn.Readable.from(e):Uo(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 Ic(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(()=>(Fm(),Pm));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 Ic(this);return new TextDecoder().decode(e)}buffer(){return Ic(this)}};Zt.prototype.buffer=Bc(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:Bc(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});Gr=(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 Im({highWaterMark:e}),r=new Im({highWaterMark:e}),o.pipe(n),o.pipe(r),t[lt].stream=n,o=r),o},xE=Bc(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"),xi=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":xc(t)?"application/x-www-form-urlencoded;charset=UTF-8":Uo(t)?t.type||null:Dt.isBuffer(t)||Bm.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=${xE(t)}`:t instanceof Wn?null:"text/plain;charset=UTF-8",Nm=t=>{let{body:e}=t[lt];return e===null?0:Uo(e)?e.size:Dt.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},Mm=async(t,{body:e})=>{e===null?t.end():await RE(e,t)}});import{types as Lm}from"node:util";import Fi from"node:http";function jm(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 Pi(e),Nc(e,String(n)),!0}catch{return!1}}))}var Pi,Nc,dt,Ii=Le(()=>{Pi=typeof Fi.validateHeaderName=="function"?Fi.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}},Nc=typeof Fi.validateHeaderValue=="function"?Fi.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"&&!Lm.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"||Lm.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])=>(Pi(r),Nc(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)=>(Pi(a),Nc(a,String(u)),URLSearchParams.prototype[o].call(r,String(a).toLowerCase(),String(u)));case"delete":case"has":case"getAll":return a=>(Pi(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 OE,qo,Mc=Le(()=>{OE=new Set([301,302,303,307,308]),qo=t=>OE.has(t)});var qt,mt,Um=Le(()=>{Ii();Oi();Mc();qt=Symbol("Response internals"),mt=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=xi(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(Gr(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(!qo(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(mt.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 $m,qm=Le(()=>{$m=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 PE}from"node:net";function zm(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 Gm(t){if(!Hm.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function FE(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),n=PE(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 Jr(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:FE(t)}function Jm(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=zm(o),a=zm(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 Jr(s)&&!Jr(u)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return s.origin===u.origin?s:Jr(s)&&!Jr(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 Jr(s)&&!Jr(u)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${r}`)}}function Vm(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),n="";for(let r of e)r&&Hm.has(r)&&(n=r);return n}var Hm,Wm,Lc=Le(()=>{Hm=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),Wm="strict-origin-when-cross-origin"});import{format as IE}from"node:url";import{deprecate as BE}from"node:util";var Ke,zo,NE,Gn,Km,Qm=Le(()=>{Ii();Oi();Ti();qm();Lc();Ke=Symbol("Request internals"),zo=t=>typeof t=="object"&&typeof t[Ke]=="object",NE=BE(()=>{},".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(zo(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()),!zo(n)&&"data"in n&&NE(),(n.body!=null||zo(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:zo(e)&&e.body!==null?Gr(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 d=xi(s,this);d&&a.set("Content-Type",d)}let u=zo(e)?e.signal:null;if("signal"in n&&(u=n.signal),u!=null&&!_m(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 d=new URL(l);l=/^about:(\/\/)?client$/.test(d)?"client":d}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 IE(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=Gm(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}});Km=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=Nm(t);typeof u=="number"&&!Number.isNaN(u)&&(r=String(u))}r&&n.set("Content-Length",r),t.referrerPolicy===""&&(t.referrerPolicy=Wm),t.referrer&&t.referrer!=="no-referrer"?t[Ke].referrer=Jm(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=$m(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 Ho,Ym=Le(()=>{Ai();Ho=class extends kn{constructor(e,n="aborted"){super(e,n)}}});var eg={};Iu(eg,{AbortError:()=>Ho,Blob:()=>$t,FetchError:()=>st,File:()=>qn,FormData:()=>zn,Headers:()=>dt,Request:()=>Gn,Response:()=>mt,blobFrom:()=>Tm,blobFromSync:()=>Sm,default:()=>jc,fileFrom:()=>vm,fileFromSync:()=>Dm,isRedirect:()=>qo});import ME from"node:http";import LE from"node:https";import Vr from"node:zlib";import Xm,{PassThrough as Zm,pipeline as Kr}from"node:stream";import{Buffer as Bi}from"node:buffer";async function jc(t,e){return new Promise((n,r)=>{let o=new Gn(t,e),{parsedURL:s,options:a}=Km(o);if(!jE.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=um(o.url),y=new mt(w,{headers:{"Content-Type":w.typeFull}});n(y);return}let u=(s.protocol==="https:"?LE:ME).request,{signal:l}=o,d=null,f=()=>{let w=new Ho("The operation was aborted.");r(w),o.body&&o.body instanceof Xm.Readable&&o.body.destroy(w),!(!d||!d.body)&&d.body.emit("error",w)};if(l&&l.aborted){f();return}let p=()=>{f(),b()},m=u(s.toString(),a);l&&l.addEventListener("abort",p);let b=()=>{m.abort(),l&&l.removeEventListener("abort",p)};m.on("error",w=>{r(new st(`request to ${o.url} failed, reason: ${w.message}`,"system",w)),b()}),UE(m,w=>{d&&d.body&&d.body.destroy(w)}),process.version<"v14"&&m.on("socket",w=>{let y;w.prependListener("end",()=>{y=w._eventsCount}),w.prependListener("close",g=>{if(d&&y<w._eventsCount&&!g){let _=new Error("Premature close");_.code="ERR_STREAM_PREMATURE_CLOSE",d.body.emit("error",_)}})}),m.on("response",w=>{m.setTimeout(0);let y=jm(w.rawHeaders);if(qo(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")),b();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")),b();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")),b();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:Gr(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!bm(o.url,v)||!Cm(o.url,v))for(let V of["authorization","www-authenticate","cookie","cookie2"])R.headers.delete(V);if(w.statusCode!==303&&o.body&&e.body instanceof Xm.Readable){r(new st("Cannot follow redirect with body being a readable stream","unsupported-redirect")),b();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 $=Vm(y);$&&(R.referrerPolicy=$),n(jc(new Gn(v,R))),b();return}default:return r(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}l&&w.once("end",()=>{l.removeEventListener("abort",p)});let g=Kr(w,new Zm,S=>{S&&r(S)});process.version<"v12.10"&&w.on("aborted",p);let _={url:o.url,status:w.statusCode,statusText:w.statusMessage,headers:y,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},A=y.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||A===null||w.statusCode===204||w.statusCode===304){d=new mt(g,_),n(d);return}let C={flush:Vr.Z_SYNC_FLUSH,finishFlush:Vr.Z_SYNC_FLUSH};if(A==="gzip"||A==="x-gzip"){g=Kr(g,Vr.createGunzip(C),S=>{S&&r(S)}),d=new mt(g,_),n(d);return}if(A==="deflate"||A==="x-deflate"){let S=Kr(w,new Zm,v=>{v&&r(v)});S.once("data",v=>{(v[0]&15)===8?g=Kr(g,Vr.createInflate(),R=>{R&&r(R)}):g=Kr(g,Vr.createInflateRaw(),R=>{R&&r(R)}),d=new mt(g,_),n(d)}),S.once("end",()=>{d||(d=new mt(g,_),n(d))});return}if(A==="br"){g=Kr(g,Vr.createBrotliDecompress(),S=>{S&&r(S)}),d=new mt(g,_),n(d);return}d=new mt(g,_),n(d)}),Mm(m,o).catch(r)})}function UE(t,e){let n=Bi.from(`0\r
35
+ `)),r.push(`--${n}--`),new e(r,{type:"multipart/form-data; boundary="+n})}var Uo,kE,AE,_m,SE,bm,xc,fr,zn,Si=Le(()=>{jo();Rc();({toStringTag:Uo,iterator:kE,hasInstance:AE}=Symbol),_m=Math.random,SE="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),bm=(t,e,n)=>(t+="",/^(Blob|File)$/.test(e&&e[Uo])?[(n=n!==void 0?n+"":e[Uo]=="File"?e.name:"blob",t),e.name!==n||e[Uo]=="blob"?new qn([e],n,e):e]:[t,e+""]),xc=(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[Uo](){return"FormData"}[kE](){return this.entries()}static[AE](e){return e&&typeof e=="object"&&e[Uo]==="FormData"&&!SE.some(n=>typeof e[n]!="function")}append(...e){fr("append",arguments,2),this.#e.push(bm(...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=bm(...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,vi=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,Oc=Le(()=>{vi();st=class extends kn{constructor(e,n,r){super(e,n),r&&(this.code=this.errno=r.code,this.erroredSysCall=r.syscall)}}});var Ti,Pc,$o,wm,Em,km,Di=Le(()=>{Ti=Symbol.toStringTag,Pc=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[Ti]==="URLSearchParams",$o=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[Ti]),wm=t=>typeof t=="object"&&(t[Ti]==="AbortSignal"||t[Ti]==="EventTarget"),Em=(t,e)=>{let n=new URL(e).hostname,r=new URL(t).hostname;return n===r||n.endsWith(`.${r}`)},km=(t,e)=>{let n=new URL(e).protocol,r=new URL(t).protocol;return n===r}});var Sm=X((Z1,Am)=>{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)}Am.exports=globalThis.DOMException});import{statSync as vm,createReadStream as vE,promises as TE}from"node:fs";import{basename as DE}from"node:path";var Tm,Fc,Dm,Rm,xm,Om,Pm,Fm,Ri,Ic=Le(()=>{Tm=Ln(Sm(),1);Rc();jo();({stat:Fc}=TE),Dm=(t,e)=>Pm(vm(t),t,e),Rm=(t,e)=>Fc(t).then(n=>Pm(n,t,e)),xm=(t,e)=>Fc(t).then(n=>Fm(n,t,e)),Om=(t,e)=>Fm(vm(t),t,e),Pm=(t,e,n="")=>new $t([new Ri({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:n}),Fm=(t,e,n="")=>new qn([new Ri({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],DE(e),{type:n,lastModified:t.mtimeMs}),Ri=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 Fc(this.#e);if(e>this.lastModified)throw new Tm.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*vE(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});var Nm={};Bu(Nm,{toFormData:()=>NE});function IE(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 NE(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 Nc(n[1]||n[2]),o,s,a,u,l,d,f=[],p=new zn,m=_=>{a+=g.decode(_,{stream:!0})},b=_=>{f.push(_)},w=()=>{let _=new qn(f,d,{type:l});p.append(u,_)},y=()=>{p.append(u,a)},g=new TextDecoder("utf-8");g.decode(),r.onPartBegin=function(){r.onPartData=m,r.onPartEnd=y,o="",s="",a="",u="",l="",d=null,f.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]||""),d=IE(s),d&&(r.onPartData=b,r.onPartEnd=w)}else o==="content-type"&&(l=s);s="",o=""};for await(let _ of t)r.write(_);return r.end(),p}var Xt,Fe,Im,Hn,xi,Oi,RE,qo,xE,OE,PE,FE,hr,Nc,Bm=Le(()=>{Ic();Si();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++},Im=1,Hn={PART_BOUNDARY:Im,LAST_BOUNDARY:Im*=2},xi=10,Oi=13,RE=32,qo=45,xE=58,OE=97,PE=122,FE=t=>t|32,hr=()=>{},Nc=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:d,flags:f}=this,p=this.boundary.length,m=p-1,b=e.length,w,y,g=S=>{this[S+"Mark"]=n},_=S=>{delete this[S+"Mark"]},A=(S,T,R,$)=>{(T===void 0||T!==R)&&this[S]($&&$.subarray(T,R))},C=(S,T)=>{let R=S+"Mark";R in this&&(T?(A(S,this[R],n,e),delete this[R]):(A(S,this[R],e.length,e),this[R]=0))};for(n=0;n<r;n++)switch(w=e[n],d){case Fe.START_BOUNDARY:if(l===a.length-2){if(w===qo)f|=Hn.LAST_BOUNDARY;else if(w!==Oi)return;l++;break}else if(l-1===a.length-2){if(f&Hn.LAST_BOUNDARY&&w===qo)d=Fe.END,f=0;else if(!(f&Hn.LAST_BOUNDARY)&&w===xi)l=0,A("onPartBegin"),d=Fe.HEADER_FIELD_START;else return;break}w!==a[l+2]&&(l=-2),w===a[l+2]&&l++;break;case Fe.HEADER_FIELD_START:d=Fe.HEADER_FIELD,g("onHeaderField"),l=0;case Fe.HEADER_FIELD:if(w===Oi){_("onHeaderField"),d=Fe.HEADERS_ALMOST_DONE;break}if(l++,w===qo)break;if(w===xE){if(l===1)return;C("onHeaderField",!0),d=Fe.HEADER_VALUE_START;break}if(y=FE(w),y<OE||y>PE)return;break;case Fe.HEADER_VALUE_START:if(w===RE)break;g("onHeaderValue"),d=Fe.HEADER_VALUE;case Fe.HEADER_VALUE:w===Oi&&(C("onHeaderValue",!0),A("onHeaderEnd"),d=Fe.HEADER_VALUE_ALMOST_DONE);break;case Fe.HEADER_VALUE_ALMOST_DONE:if(w!==xi)return;d=Fe.HEADER_FIELD_START;break;case Fe.HEADERS_ALMOST_DONE:if(w!==xi)return;A("onHeadersEnd"),d=Fe.PART_DATA_START;break;case Fe.PART_DATA_START:d=Fe.PART_DATA,g("onPartData");case Fe.PART_DATA:if(o=l,l===0){for(n+=m;n<b&&!(e[n]in u);)n+=p;n-=m,w=e[n]}if(l<a.length)a[l]===w?(l===0&&C("onPartData",!0),l++):l=0;else if(l===a.length)l++,w===Oi?f|=Hn.PART_BOUNDARY:w===qo?f|=Hn.LAST_BOUNDARY:l=0;else if(l-1===a.length)if(f&Hn.PART_BOUNDARY){if(l=0,w===xi){f&=~Hn.PART_BOUNDARY,A("onPartEnd"),A("onPartBegin"),d=Fe.HEADER_FIELD_START;break}}else f&Hn.LAST_BOUNDARY&&w===qo?(A("onPartEnd"),d=Fe.END,f=0):l=0;if(l>0)s[l-1]=w;else if(o>0){let S=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);A("onPartData",0,o,S),o=0,g("onPartData"),n--}break;case Fe.END:break;default:throw new Error(`Unexpected state entered: ${d}`)}C("onHeaderField"),C("onHeaderValue"),C("onPartData"),this.index=l,this.state=d,this.flags=f}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 Mm}from"node:stream";import{types as Lm,deprecate as Mc,promisify as BE}from"node:util";import{Buffer as Dt}from"node:buffer";async function Bc(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 Dt.alloc(0);if(!(e instanceof Wn))return Dt.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")?Dt.from(n.join("")):Dt.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 ME,lt,Zt,Jr,LE,Pi,jm,Um,Fi=Le(()=>{jo();Si();Oc();vi();Di();ME=BE(Wn.pipeline),lt=Symbol("Body internals"),Zt=class{constructor(e,{size:n=0}={}){let r=null;e===null?e=null:Pc(e)?e=Dt.from(e.toString()):$o(e)||Dt.isBuffer(e)||(Lm.isAnyArrayBuffer(e)?e=Dt.from(e):ArrayBuffer.isView(e)?e=Dt.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Wn||(e instanceof zn?(e=Cm(e),r=e.type.split("=")[1]):e=Dt.from(String(e))));let o=e;Dt.isBuffer(e)?o=Wn.Readable.from(e):$o(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 Bc(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(()=>(Bm(),Nm));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 Bc(this);return new TextDecoder().decode(e)}buffer(){return Bc(this)}};Zt.prototype.buffer=Mc(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:Mc(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});Jr=(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 Mm({highWaterMark:e}),r=new Mm({highWaterMark:e}),o.pipe(n),o.pipe(r),t[lt].stream=n,o=r),o},LE=Mc(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"),Pi=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":Pc(t)?"application/x-www-form-urlencoded;charset=UTF-8":$o(t)?t.type||null:Dt.isBuffer(t)||Lm.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=${LE(t)}`:t instanceof Wn?null:"text/plain;charset=UTF-8",jm=t=>{let{body:e}=t[lt];return e===null?0:$o(e)?e.size:Dt.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},Um=async(t,{body:e})=>{e===null?t.end():await ME(e,t)}});import{types as $m}from"node:util";import Ni from"node:http";function qm(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 Ii(e),Lc(e,String(n)),!0}catch{return!1}}))}var Ii,Lc,dt,Bi=Le(()=>{Ii=typeof Ni.validateHeaderName=="function"?Ni.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}},Lc=typeof Ni.validateHeaderValue=="function"?Ni.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"&&!$m.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"||$m.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])=>(Ii(r),Lc(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)=>(Ii(a),Lc(a,String(u)),URLSearchParams.prototype[o].call(r,String(a).toLowerCase(),String(u)));case"delete":case"has":case"getAll":return a=>(Ii(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 jE,zo,jc=Le(()=>{jE=new Set([301,302,303,307,308]),zo=t=>jE.has(t)});var qt,mt,zm=Le(()=>{Bi();Fi();jc();qt=Symbol("Response internals"),mt=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=Pi(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(Jr(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(!zo(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(mt.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 Hm,Wm=Le(()=>{Hm=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 UE}from"node:net";function Gm(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 Km(t){if(!Jm.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function $E(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),n=UE(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 Vr(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:$E(t)}function Ym(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=Gm(o),a=Gm(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 Vr(s)&&!Vr(u)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return s.origin===u.origin?s:Vr(s)&&!Vr(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 Vr(s)&&!Vr(u)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${r}`)}}function Qm(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),n="";for(let r of e)r&&Jm.has(r)&&(n=r);return n}var Jm,Vm,Uc=Le(()=>{Jm=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),Vm="strict-origin-when-cross-origin"});import{format as qE}from"node:url";import{deprecate as zE}from"node:util";var Ke,Ho,HE,Gn,Xm,Zm=Le(()=>{Bi();Fi();Di();Wm();Uc();Ke=Symbol("Request internals"),Ho=t=>typeof t=="object"&&typeof t[Ke]=="object",HE=zE(()=>{},".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(Ho(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()),!Ho(n)&&"data"in n&&HE(),(n.body!=null||Ho(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:Ho(e)&&e.body!==null?Jr(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 d=Pi(s,this);d&&a.set("Content-Type",d)}let u=Ho(e)?e.signal:null;if("signal"in n&&(u=n.signal),u!=null&&!wm(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 d=new URL(l);l=/^about:(\/\/)?client$/.test(d)?"client":d}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 qE(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=Km(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}});Xm=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=jm(t);typeof u=="number"&&!Number.isNaN(u)&&(r=String(u))}r&&n.set("Content-Length",r),t.referrerPolicy===""&&(t.referrerPolicy=Vm),t.referrer&&t.referrer!=="no-referrer"?t[Ke].referrer=Ym(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=Hm(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 Wo,eg=Le(()=>{vi();Wo=class extends kn{constructor(e,n="aborted"){super(e,n)}}});var rg={};Bu(rg,{AbortError:()=>Wo,Blob:()=>$t,FetchError:()=>st,File:()=>qn,FormData:()=>zn,Headers:()=>dt,Request:()=>Gn,Response:()=>mt,blobFrom:()=>Rm,blobFromSync:()=>Dm,default:()=>$c,fileFrom:()=>xm,fileFromSync:()=>Om,isRedirect:()=>zo});import WE from"node:http";import GE from"node:https";import Kr from"node:zlib";import tg,{PassThrough as ng,pipeline as Yr}from"node:stream";import{Buffer as Mi}from"node:buffer";async function $c(t,e){return new Promise((n,r)=>{let o=new Gn(t,e),{parsedURL:s,options:a}=Xm(o);if(!JE.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=dm(o.url),y=new mt(w,{headers:{"Content-Type":w.typeFull}});n(y);return}let u=(s.protocol==="https:"?GE:WE).request,{signal:l}=o,d=null,f=()=>{let w=new Wo("The operation was aborted.");r(w),o.body&&o.body instanceof tg.Readable&&o.body.destroy(w),!(!d||!d.body)&&d.body.emit("error",w)};if(l&&l.aborted){f();return}let p=()=>{f(),b()},m=u(s.toString(),a);l&&l.addEventListener("abort",p);let b=()=>{m.abort(),l&&l.removeEventListener("abort",p)};m.on("error",w=>{r(new st(`request to ${o.url} failed, reason: ${w.message}`,"system",w)),b()}),VE(m,w=>{d&&d.body&&d.body.destroy(w)}),process.version<"v14"&&m.on("socket",w=>{let y;w.prependListener("end",()=>{y=w._eventsCount}),w.prependListener("close",g=>{if(d&&y<w._eventsCount&&!g){let _=new Error("Premature close");_.code="ERR_STREAM_PREMATURE_CLOSE",d.body.emit("error",_)}})}),m.on("response",w=>{m.setTimeout(0);let y=qm(w.rawHeaders);if(zo(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")),b();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")),b();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")),b();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:Jr(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!Em(o.url,T)||!km(o.url,T))for(let V of["authorization","www-authenticate","cookie","cookie2"])R.headers.delete(V);if(w.statusCode!==303&&o.body&&e.body instanceof tg.Readable){r(new st("Cannot follow redirect with body being a readable stream","unsupported-redirect")),b();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 $=Qm(y);$&&(R.referrerPolicy=$),n($c(new Gn(T,R))),b();return}default:return r(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}l&&w.once("end",()=>{l.removeEventListener("abort",p)});let g=Yr(w,new ng,S=>{S&&r(S)});process.version<"v12.10"&&w.on("aborted",p);let _={url:o.url,status:w.statusCode,statusText:w.statusMessage,headers:y,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},A=y.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||A===null||w.statusCode===204||w.statusCode===304){d=new mt(g,_),n(d);return}let C={flush:Kr.Z_SYNC_FLUSH,finishFlush:Kr.Z_SYNC_FLUSH};if(A==="gzip"||A==="x-gzip"){g=Yr(g,Kr.createGunzip(C),S=>{S&&r(S)}),d=new mt(g,_),n(d);return}if(A==="deflate"||A==="x-deflate"){let S=Yr(w,new ng,T=>{T&&r(T)});S.once("data",T=>{(T[0]&15)===8?g=Yr(g,Kr.createInflate(),R=>{R&&r(R)}):g=Yr(g,Kr.createInflateRaw(),R=>{R&&r(R)}),d=new mt(g,_),n(d)}),S.once("end",()=>{d||(d=new mt(g,_),n(d))});return}if(A==="br"){g=Yr(g,Kr.createBrotliDecompress(),S=>{S&&r(S)}),d=new mt(g,_),n(d);return}d=new mt(g,_),n(d)}),Um(m,o).catch(r)})}function VE(t,e){let n=Mi.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 d=new Error("Premature close");d.code="ERR_STREAM_PREMATURE_CLOSE",e(d)}},l=d=>{o=Bi.compare(d.slice(-5),n)===0,!o&&s&&(o=Bi.compare(s.slice(-3),n.slice(0,3))===0&&Bi.compare(d.slice(-2),n.slice(3))===0),s=d};a.prependListener("close",u),a.on("data",l),t.on("close",()=>{a.removeListener("close",u),a.removeListener("data",l)})})}var jE,tg=Le(()=>{cm();Oi();Um();Ii();Qm();Rc();Ym();Mc();ki();Ti();Lc();Pc();jE=new Set(["data:","http:","https:"])});var og=X(Yr=>{"use strict";var $E=Yr&&Yr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Qr;Object.defineProperty(Yr,"__esModule",{value:!0});Yr.Gaxios=void 0;var qE=$E(fc()),zE=re("https"),pr=mc(),HE=Np(),ng=re("stream"),rg=_c(),WE=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),Ni=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new rg.GaxiosInterceptorManager,response:new rg.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&&Qr.mergeHeaders(s,n.headers),r&&Qr.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 Qr.#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,HE.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);Qr.mergeHeaders(n,e.headers);let r=(0,qE.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 ng.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 WE();n.set("content-type",`multipart/related; boundary=${a}`),r.body=ng.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 Qr.#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 zE.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
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 d=new Error("Premature close");d.code="ERR_STREAM_PREMATURE_CLOSE",e(d)}},l=d=>{o=Mi.compare(d.slice(-5),n)===0,!o&&s&&(o=Mi.compare(s.slice(-3),n.slice(0,3))===0&&Mi.compare(d.slice(-2),n.slice(3))===0),s=d};a.prependListener("close",u),a.on("data",l),t.on("close",()=>{a.removeListener("close",u),a.removeListener("data",l)})})}var JE,og=Le(()=>{fm();Fi();zm();Bi();Zm();Oc();eg();jc();Si();Di();Uc();Ic();JE=new Set(["data:","http:","https:"])});var ag=X(Xr=>{"use strict";var KE=Xr&&Xr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Qr;Object.defineProperty(Xr,"__esModule",{value:!0});Xr.Gaxios=void 0;var YE=KE(pc()),QE=re("https"),pr=yc(),XE=jp(),sg=re("stream"),ig=Cc(),ZE=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),Li=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new ig.GaxiosInterceptorManager,response:new ig.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&&Qr.mergeHeaders(s,n.headers),r&&Qr.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 Qr.#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,XE.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);Qr.mergeHeaders(n,e.headers);let r=(0,YE.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 sg.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 ZE();n.set("content-type",`multipart/related; boundary=${a}`),r.body=sg.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 Qr.#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 QE.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(am()))).HttpsProxyAgent,this.#s}static async#u(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(tg(),eg))).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}};Yr.Gaxios=Ni;Qr=Ni});var Xe=X(it=>{"use strict";var GE=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]})),JE=it&&it.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&GE(e,t,n)};Object.defineProperty(it,"__esModule",{value:!0});it.instance=it.Gaxios=it.GaxiosError=void 0;it.request=KE;var sg=og();Object.defineProperty(it,"Gaxios",{enumerable:!0,get:function(){return sg.Gaxios}});var VE=mc();Object.defineProperty(it,"GaxiosError",{enumerable:!0,get:function(){return VE.GaxiosError}});JE(_c(),it);it.instance=new sg.Gaxios;async function KE(t){return it.instance.request(t)}});var Uc=X((ig,Mi)=>{(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,d=9007199254740991,f=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],p=1e7,m=1e9;function b(v){var R,$,V,P=J.prototype={constructor:J,toString:null,valueOf:null},Q=new J(1),z=20,K=4,Y=-7,ee=21,ae=-1e7,se=1e7,me=!1,G=1,Z=0,ie={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},Ue="0123456789abcdefghijklmnopqrstuvwxyz",Ae=!0;function J(E,T){var D,M,F,B,U,O,I,L,N=this;if(!(N instanceof J))return new J(E,T);if(T==null){if(E&&E._isBigNumber===!0){N.s=E.s,!E.c||E.e>se?N.c=N.e=null:E.e<ae?N.c=[N.e=0]:(N.e=E.e,N.c=E.c.slice());return}if((O=typeof E=="number")&&E*0==0){if(N.s=1/E<0?(E=-E,-1):1,E===~~E){for(B=0,U=E;U>=10;U/=10,B++);B>se?N.c=N.e=null:(N.e=B,N.c=[E]);return}L=String(E)}else{if(!n.test(L=String(E)))return V(N,L,O);N.s=L.charCodeAt(0)==45?(L=L.slice(1),-1):1}(B=L.indexOf("."))>-1&&(L=L.replace(".","")),(U=L.search(/e/i))>0?(B<0&&(B=U),B+=+L.slice(U+1),L=L.substring(0,U)):B<0&&(B=L.length)}else{if(_(T,2,Ue.length,"Base"),T==10&&Ae)return N=new J(E),Oe(N,z+N.e+1,K);if(L=String(E),O=typeof E=="number"){if(E*0!=0)return V(N,L,O,T);if(N.s=1/E<0?(L=L.slice(1),-1):1,J.DEBUG&&L.replace(/^0\.0*|\./,"").length>15)throw Error(a+E)}else N.s=L.charCodeAt(0)===45?(L=L.slice(1),-1):1;for(D=Ue.slice(0,T),B=U=0,I=L.length;U<I;U++)if(D.indexOf(M=L.charAt(U))<0){if(M=="."){if(U>B){B=I;continue}}else if(!F&&(L==L.toUpperCase()&&(L=L.toLowerCase())||L==L.toLowerCase()&&(L=L.toUpperCase()))){F=!0,U=-1,B=0;continue}return V(N,String(E),O,T)}O=!1,L=$(L,T,10,N.s),(B=L.indexOf("."))>-1?L=L.replace(".",""):B=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&&J.DEBUG&&I>15&&(E>d||E!==o(E)))throw Error(a+N.s*E);if((B=B-U-1)>se)N.c=N.e=null;else if(B<ae)N.c=[N.e=0];else{if(N.e=B,N.c=[],U=(B+1)%l,B<0&&(U+=l),U<I){for(U&&N.c.push(+L.slice(0,U)),I-=l;U<I;)N.c.push(+L.slice(U,U+=l));U=l-(L=L.slice(U)).length}else U-=I;for(;U--;L+="0");N.c.push(+L)}}else N.c=[N.e=0]}J.clone=b,J.ROUND_UP=0,J.ROUND_DOWN=1,J.ROUND_CEIL=2,J.ROUND_FLOOR=3,J.ROUND_HALF_UP=4,J.ROUND_HALF_DOWN=5,J.ROUND_HALF_EVEN=6,J.ROUND_HALF_CEIL=7,J.ROUND_HALF_FLOOR=8,J.EUCLID=9,J.config=J.set=function(E){var T,D;if(E!=null)if(typeof E=="object"){if(E.hasOwnProperty(T="DECIMAL_PLACES")&&(D=E[T],_(D,0,m,T),z=D),E.hasOwnProperty(T="ROUNDING_MODE")&&(D=E[T],_(D,0,8,T),K=D),E.hasOwnProperty(T="EXPONENTIAL_AT")&&(D=E[T],D&&D.pop?(_(D[0],-m,0,T),_(D[1],0,m,T),Y=D[0],ee=D[1]):(_(D,-m,m,T),Y=-(ee=D<0?-D:D))),E.hasOwnProperty(T="RANGE"))if(D=E[T],D&&D.pop)_(D[0],-m,-1,T),_(D[1],1,m,T),ae=D[0],se=D[1];else if(_(D,-m,m,T),D)ae=-(se=D<0?-D:D);else throw Error(s+T+" cannot be zero: "+D);if(E.hasOwnProperty(T="CRYPTO"))if(D=E[T],D===!!D)if(D)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))me=D;else throw me=!D,Error(s+"crypto unavailable");else me=D;else throw Error(s+T+" not true or false: "+D);if(E.hasOwnProperty(T="MODULO_MODE")&&(D=E[T],_(D,0,9,T),G=D),E.hasOwnProperty(T="POW_PRECISION")&&(D=E[T],_(D,0,m,T),Z=D),E.hasOwnProperty(T="FORMAT"))if(D=E[T],typeof D=="object")ie=D;else throw Error(s+T+" not an object: "+D);if(E.hasOwnProperty(T="ALPHABET"))if(D=E[T],typeof D=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(D))Ae=D.slice(0,10)=="0123456789",Ue=D;else throw Error(s+T+" invalid: "+D)}else throw Error(s+"Object expected: "+E);return{DECIMAL_PLACES:z,ROUNDING_MODE:K,EXPONENTIAL_AT:[Y,ee],RANGE:[ae,se],CRYPTO:me,MODULO_MODE:G,POW_PRECISION:Z,FORMAT:ie,ALPHABET:Ue}},J.isBigNumber=function(E){if(!E||E._isBigNumber!==!0)return!1;if(!J.DEBUG)return!0;var T,D,M=E.c,F=E.e,B=E.s;e:if({}.toString.call(M)=="[object Array]"){if((B===1||B===-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&&(B===null||B===1||B===-1))return!0;throw Error(s+"Invalid BigNumber: "+E)},J.maximum=J.max=function(){return te(arguments,-1)},J.minimum=J.min=function(){return te(arguments,1)},J.random=(function(){var E=9007199254740992,T=Math.random()*E&2097151?function(){return o(Math.random()*E)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(D){var M,F,B,U,O,I=0,L=[],N=new J(Q);if(D==null?D=z:_(D,0,m),U=r(D/l),me)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 me=!1,Error(s+"crypto unavailable");if(!me)for(;I<U;)O=T(),O<9e15&&(L[I++]=O%1e14);for(U=L[--I],D%=l,U&&D&&(O=f[l-D],L[I]=o(U/O)*O);L[I]===0;L.pop(),I--);if(I<0)L=[B=0];else{for(B=-1;L[0]===0;L.splice(0,1),B-=l);for(I=1,O=L[0];O>=10;O/=10,I++);I<l&&(B-=l-I)}return N.e=B,N.c=L,N}})(),J.sum=function(){for(var E=1,T=arguments,D=new J(T[0]);E<T.length;)D=D.plus(T[E++]);return D},$=(function(){var E="0123456789";function T(D,M,F,B){for(var U,O=[0],I,L=0,N=D.length;L<N;){for(I=O.length;I--;O[I]*=M);for(O[0]+=B.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,B,U){var O,I,L,N,H,oe,ue,Se,Ie=D.indexOf("."),Me=z,ke=K;for(Ie>=0&&(N=Z,Z=0,D=D.replace(".",""),Se=new J(M),oe=Se.pow(D.length-Ie),Z=N,Se.c=T(S(y(oe.c),oe.e,"0"),10,F,E),Se.e=Se.c.length),ue=T(D,M,F,U?(O=Ue,E):(O=E,Ue)),L=N=ue.length;ue[--N]==0;ue.pop());if(!ue[0])return O.charAt(0);if(Ie<0?--L:(oe.c=ue,oe.e=L,oe.s=B,oe=R(oe,Se,Me,ke,F),ue=oe.c,H=oe.r,L=oe.e),I=L+Me+1,Ie=ue[I],N=F/2,H=H||I<0||ue[I+1]!=null,H=ke<4?(Ie!=null||H)&&(ke==0||ke==(oe.s<0?3:2)):Ie>N||Ie==N&&(ke==4||H||ke==6&&ue[I-1]&1||ke==(oe.s<0?8:7)),I<1||!ue[0])D=H?S(O.charAt(1),-Me,O.charAt(0)):O.charAt(0);else{if(ue.length=I,H)for(--F;++ue[--I]>F;)ue[I]=0,I||(++L,ue=[1].concat(ue));for(N=ue.length;!ue[--N];);for(Ie=0,D="";Ie<=N;D+=O.charAt(ue[Ie++]));D=S(D,L,O.charAt(0))}return D}})(),R=(function(){function E(M,F,B){var U,O,I,L,N=0,H=M.length,oe=F%p,ue=F/p|0;for(M=M.slice();H--;)I=M[H]%p,L=M[H]/p|0,U=ue*I+L*oe,O=oe*I+U%p*p+N,N=(O/B|0)+(U/p|0)+ue*L,M[H]=O%B;return N&&(M=[N].concat(M)),M}function T(M,F,B,U){var O,I;if(B!=U)I=B>U?1:-1;else for(O=I=0;O<B;O++)if(M[O]!=F[O]){I=M[O]>F[O]?1:-1;break}return I}function D(M,F,B,U){for(var O=0;B--;)M[B]-=O,O=M[B]<F[B]?1:0,M[B]=O*U+M[B]-F[B];for(;!M[0]&&M.length>1;M.splice(0,1));}return function(M,F,B,U,O){var I,L,N,H,oe,ue,Se,Ie,Me,ke,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 J(!M.s||!F.s||(ze?De&&ze[0]==De[0]:!De)?NaN:ze&&ze[0]==0||!De?Ze*0:Ze/0);for(Ie=new J(Ze),Me=Ie.c=[],L=M.e-F.e,Ze=B+L+1,O||(O=u,L=w(M.e/l)-w(F.e/l),Ze=Ze/l|0),N=0;De[N]==(ze[N]||0);N++);if(De[N]>(ze[N]||0)&&L--,Ze<0)Me.push(1),H=!0;else{for(wr=ze.length,ft=De.length,N=0,Ze+=2,oe=o(O/(De[0]+1)),oe>1&&(De=E(De,oe,O),ze=E(ze,oe,O),ft=De.length,wr=ze.length),Cr=ft,ke=ze.slice(0,ft),Te=ke.length;Te<ft;ke[Te++]=0);fn=De.slice(),fn=[0].concat(fn),Er=De[0],De[1]>=O/2&&Er++;do{if(oe=0,I=T(De,ke,ft,Te),I<0){if(qe=ke[0],ft!=Te&&(qe=qe*O+(ke[1]||0)),oe=o(qe/Er),oe>1)for(oe>=O&&(oe=O-1),ue=E(De,oe,O),Se=ue.length,Te=ke.length;T(ue,ke,Se,Te)==1;)oe--,D(ue,ft<Se?fn:De,Se,O),Se=ue.length,I=1;else oe==0&&(I=oe=1),ue=De.slice(),Se=ue.length;if(Se<Te&&(ue=[0].concat(ue)),D(ke,ue,Te,O),Te=ke.length,I==-1)for(;T(De,ke,ft,Te)<1;)oe++,D(ke,ft<Te?fn:De,Te,O),Te=ke.length}else I===0&&(oe++,ke=[0]);Me[N++]=oe,ke[0]?ke[Te++]=ze[Cr]||0:(ke=[ze[Cr]],Te=1)}while((Cr++<wr||ke[0]!=null)&&Ze--);H=ke[0]!=null,Me[0]||Me.splice(0,1)}if(O==u){for(N=1,Ze=Me[0];Ze>=10;Ze/=10,N++);Oe(Ie,B+(Ie.e=N+L*l-1)+1,U,H)}else Ie.e=L,Ie.r=+H;return Ie}})();function ce(E,T,D,M){var F,B,U,O,I;if(D==null?D=K:_(D,0,8),!E.c)return E.toString();if(F=E.c[0],U=E.e,T==null)I=y(E.c),I=M==1||M==2&&(U<=Y||U>=ee)?C(I,U):S(I,U,"0");else if(E=Oe(new J(E),T,D),B=E.e,I=y(E.c),O=I.length,M==1||M==2&&(T<=B||B<=Y)){for(;O<T;I+="0",O++);I=C(I,B)}else if(T-=U+(M===2&&B>U),I=S(I,B,"0"),B+1>O){if(--T>0)for(I+=".";T--;I+="0");}else if(T+=B-O,T>0)for(B+1==O&&(I+=".");T--;I+="0");return E.s<0&&F?"-"+I:I}function te(E,T){for(var D,M,F=1,B=new J(E[0]);F<E.length;F++)M=new J(E[F]),(!M.s||(D=g(B,M))===T||D===0&&B.s===T)&&(B=M);return B}function ve(E,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)>se?E.c=E.e=null:D<ae?E.c=[E.e=0]:(E.e=D,E.c=T),E}V=(function(){var E=/^(-?)0([xbo])(?=\w[\w.]*$)/i,T=/^([^.]+)\.$/,D=/^\.([^.]+)$/,M=/^-?(Infinity|NaN)$/,F=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(B,U,O,I){var L,N=O?U:U.replace(F,"");if(M.test(N))B.s=isNaN(N)?null:N<0?-1:1;else{if(!O&&(N=N.replace(E,function(H,oe,ue){return L=(ue=ue.toLowerCase())=="x"?16:ue=="b"?2:8,!I||I==L?oe:H}),I&&(L=I,N=N.replace(T,"$1").replace(D,"0.$1")),U!=N))return new J(N,L);if(J.DEBUG)throw Error(s+"Not a"+(I?" base "+I:"")+" number: "+U);B.s=null}B.c=B.e=null}})();function Oe(E,T,D,M){var F,B,U,O,I,L,N,H=E.c,oe=f;if(H){e:{for(F=1,O=H[0];O>=10;O/=10,F++);if(B=T-F,B<0)B+=l,U=T,I=H[L=0],N=o(I/oe[F-U-1]%10);else if(L=r((B+1)/l),L>=H.length)if(M){for(;H.length<=L;H.push(0));I=N=0,F=1,B%=l,U=B-l+1}else break e;else{for(I=O=H[L],F=1;O>=10;O/=10,F++);B%=l,U=B-l+F,N=U<0?0:o(I/oe[F-U-1]%10)}if(M=M||T<0||H[L+1]!=null||(U<0?I:I%oe[F-U-1]),M=D<4?(N||M)&&(D==0||D==(E.s<0?3:2)):N>5||N==5&&(D==4||M||D==6&&(B>0?U>0?I/oe[F-U]:0:H[L-1])%10&1||D==(E.s<0?8:7)),T<1||!H[0])return H.length=0,M?(T-=E.e+1,H[0]=oe[(l-T%l)%l],E.e=-T||0):H[0]=E.e=0,E;if(B==0?(H.length=L,O=1,L--):(H.length=L+1,O=oe[l-B],H[L]=U>0?o(I/oe[F-U]%oe[U])*O:0),M)for(;;)if(L==0){for(B=1,U=H[0];U>=10;U/=10,B++);for(U=H[0]+=O,O=1;U>=10;U/=10,O++);B!=O&&(E.e++,H[0]==u&&(H[0]=1));break}else{if(H[L]+=O,H[L]!=u)break;H[L--]=0,O=1}for(B=H.length;H[--B]===0;H.pop());}E.e>se?E.c=E.e=null:E.e<ae&&(E.c=[E.e=0])}return E}function je(E){var T,D=E.e;return D===null?E.toString():(T=y(E.c),T=D<=Y||D>=ee?C(T,D):S(T,D,"0"),E.s<0?"-"+T:T)}return P.absoluteValue=P.abs=function(){var E=new J(this);return E.s<0&&(E.s=1),E},P.comparedTo=function(E,T){return g(this,new J(E,T))},P.decimalPlaces=P.dp=function(E,T){var D,M,F,B=this;if(E!=null)return _(E,0,m),T==null?T=K:_(T,0,8),Oe(new J(B),E+B.e+1,T);if(!(D=B.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(E,T){return R(this,new J(E,T),z,K)},P.dividedToIntegerBy=P.idiv=function(E,T){return R(this,new J(E,T),0,1)},P.exponentiatedBy=P.pow=function(E,T){var D,M,F,B,U,O,I,L,N,H=this;if(E=new J(E),E.c&&!E.isInteger())throw Error(s+"Exponent not an integer: "+je(E));if(T!=null&&(T=new J(T)),O=E.e>14,!H.c||!H.c[0]||H.c[0]==1&&!H.e&&H.c.length==1||!E.c||!E.c[0])return N=new J(Math.pow(+je(H),O?E.s*(2-A(E)):+je(E))),T?N.mod(T):N;if(I=E.s<0,T){if(T.c?!T.c[0]:!T.s)return new J(NaN);M=!I&&H.isInteger()&&T.isInteger(),M&&(H=H.mod(T))}else{if(E.e>9&&(H.e>0||H.e<-1||(H.e==0?H.c[0]>1||O&&H.c[1]>=24e7:H.c[0]<8e13||O&&H.c[0]<=9999975e7)))return B=H.s<0&&A(E)?-0:0,H.e>-1&&(B=1/B),new J(I?1/B:B);Z&&(B=r(Z/l+2))}for(O?(D=new J(.5),I&&(E.s=1),L=A(E)):(F=Math.abs(+je(E)),L=F%2),N=new J(Q);;){if(L){if(N=N.times(H),!N.c)break;B?N.c.length>B&&(N.c.length=B):M&&(N=N.mod(T))}if(F){if(F=o(F/2),F===0)break;L=F%2}else if(E=E.times(D),Oe(E,E.e+1,1),E.e>14)L=A(E);else{if(F=+je(E),F===0)break;L=F%2}H=H.times(H),B?H.c&&H.c.length>B&&(H.c.length=B):M&&(H=H.mod(T))}return M?N:(I&&(N=Q.div(N)),T?N.mod(T):B?Oe(N,Z,K,U):N)},P.integerValue=function(E){var T=new J(this);return E==null?E=K:_(E,0,8),Oe(T,T.e+1,E)},P.isEqualTo=P.eq=function(E,T){return g(this,new J(E,T))===0},P.isFinite=function(){return!!this.c},P.isGreaterThan=P.gt=function(E,T){return g(this,new J(E,T))>0},P.isGreaterThanOrEqualTo=P.gte=function(E,T){return(T=g(this,new J(E,T)))===1||T===0},P.isInteger=function(){return!!this.c&&w(this.e/l)>this.c.length-2},P.isLessThan=P.lt=function(E,T){return g(this,new J(E,T))<0},P.isLessThanOrEqualTo=P.lte=function(E,T){return(T=g(this,new J(E,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(E,T){var D,M,F,B,U=this,O=U.s;if(E=new J(E,T),T=E.s,!O||!T)return new J(NaN);if(O!=T)return E.s=-T,U.plus(E);var I=U.e/l,L=E.e/l,N=U.c,H=E.c;if(!I||!L){if(!N||!H)return N?(E.s=-T,E):new J(H?U:NaN);if(!N[0]||!H[0])return H[0]?(E.s=-T,E):new J(N[0]?U:K==3?-0:0)}if(I=w(I),L=w(L),N=N.slice(),O=I-L){for((B=O<0)?(O=-O,F=N):(L=I,F=H),F.reverse(),T=O;T--;F.push(0));F.reverse()}else for(M=(B=(O=N.length)<(T=H.length))?O:T,O=T=0;T<M;T++)if(N[T]!=H[T]){B=N[T]<H[T];break}if(B&&(F=N,N=H,H=F,E.s=-E.s),T=(M=H.length)-(D=N.length),T>0)for(;T--;N[D++]=0);for(T=u-1;M>O;){if(N[--M]<H[M]){for(D=M;D&&!N[--D];N[D]=T);--N[D],N[M]+=u}N[M]-=H[M]}for(;N[0]==0;N.splice(0,1),--L);return N[0]?ve(E,N,L):(E.s=K==3?-1:1,E.c=[E.e=0],E)},P.modulo=P.mod=function(E,T){var D,M,F=this;return E=new J(E,T),!F.c||!E.s||E.c&&!E.c[0]?new J(NaN):!E.c||F.c&&!F.c[0]?new J(F):(G==9?(M=E.s,E.s=1,D=R(F,E,0,3),E.s=M,D.s*=M):D=R(F,E,0,G),E=F.minus(D.times(E)),!E.c[0]&&G==1&&(E.s=F.s),E)},P.multipliedBy=P.times=function(E,T){var D,M,F,B,U,O,I,L,N,H,oe,ue,Se,Ie,Me,ke=this,Te=ke.c,qe=(E=new J(E,T)).c;if(!Te||!qe||!Te[0]||!qe[0])return!ke.s||!E.s||Te&&!Te[0]&&!qe||qe&&!qe[0]&&!Te?E.c=E.e=E.s=null:(E.s*=ke.s,!Te||!qe?E.c=E.e=null:(E.c=[0],E.e=0)),E;for(M=w(ke.e/l)+w(E.e/l),E.s*=ke.s,I=Te.length,H=qe.length,I<H&&(Se=Te,Te=qe,qe=Se,F=I,I=H,H=F),F=I+H,Se=[];F--;Se.push(0));for(Ie=u,Me=p,F=H;--F>=0;){for(D=0,oe=qe[F]%Me,ue=qe[F]/Me|0,U=I,B=F+U;B>F;)L=Te[--U]%Me,N=Te[U]/Me|0,O=ue*L+N*oe,L=oe*L+O%Me*Me+Se[B]+D,D=(L/Ie|0)+(O/Me|0)+ue*N,Se[B--]=L%Ie;Se[B]=D}return D?++M:Se.splice(0,1),ve(E,Se,M)},P.negated=function(){var E=new J(this);return E.s=-E.s||null,E},P.plus=function(E,T){var D,M=this,F=M.s;if(E=new J(E,T),T=E.s,!F||!T)return new J(NaN);if(F!=T)return E.s=-T,M.minus(E);var B=M.e/l,U=E.e/l,O=M.c,I=E.c;if(!B||!U){if(!O||!I)return new J(F/0);if(!O[0]||!I[0])return I[0]?E:new J(O[0]?M:F*0)}if(B=w(B),U=w(U),O=O.slice(),F=B-U){for(F>0?(U=B,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(E,O,U)},P.precision=P.sd=function(E,T){var D,M,F,B=this;if(E!=null&&E!==!!E)return _(E,1,m),T==null?T=K:_(T,0,8),Oe(new J(B),E,T);if(!(D=B.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 E&&B.e+1>M&&(M=B.e+1),M},P.shiftedBy=function(E){return _(E,-d,d),this.times("1e"+E)},P.squareRoot=P.sqrt=function(){var E,T,D,M,F,B=this,U=B.c,O=B.s,I=B.e,L=z+4,N=new J("0.5");if(O!==1||!U||!U[0])return new J(!O||O<0&&(!U||U[0])?NaN:U?B:1/0);if(O=Math.sqrt(+je(B)),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 J(T)):D=new J(O+""),D.c[0]){for(I=D.e,O=I+L,O<3&&(O=0);;)if(F=D,D=N.times(F.plus(R(B,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+z+2,0),F.times(F).eq(B))){D=F;break}L+=4,O+=4,M=1}else{(!+T||!+T.slice(1)&&T.charAt(0)=="5")&&(Oe(D,D.e+z+2,1),E=!D.times(D).eq(B));break}}return Oe(D,D.e+z+1,K,E)},P.toExponential=function(E,T){return E!=null&&(_(E,0,m),E++),ce(this,E,T,1)},P.toFixed=function(E,T){return E!=null&&(_(E,0,m),E=E+this.e+1),ce(this,E,T)},P.toFormat=function(E,T,D){var M,F=this;if(D==null)E!=null&&T&&typeof T=="object"?(D=T,T=null):E&&typeof E=="object"?(D=E,E=T=null):D=ie;else if(typeof D!="object")throw Error(s+"Argument not an object: "+D);if(M=F.toFixed(E,T),F.c){var B,U=M.split("."),O=+D.groupSize,I=+D.secondaryGroupSize,L=D.groupSeparator||"",N=U[0],H=U[1],oe=F.s<0,ue=oe?N.slice(1):N,Se=ue.length;if(I&&(B=O,O=I,I=B,Se-=B),O>0&&Se>0){for(B=Se%O||O,N=ue.substr(0,B);B<Se;B+=O)N+=L+ue.substr(B,O);I>0&&(N+=L+ue.slice(B)),oe&&(N="-"+N)}M=H?N+(D.decimalSeparator||"")+((I=+D.fractionGroupSize)?H.replace(new RegExp("\\d{"+I+"}\\B","g"),"$&"+(D.fractionGroupSeparator||"")):H):N}return(D.prefix||"")+M+(D.suffix||"")},P.toFraction=function(E){var T,D,M,F,B,U,O,I,L,N,H,oe,ue=this,Se=ue.c;if(E!=null&&(O=new J(E),!O.isInteger()&&(O.c||O.s!==1)||O.lt(Q)))throw Error(s+"Argument "+(O.isInteger()?"out of range: ":"not an integer: ")+je(O));if(!Se)return new J(ue);for(T=new J(Q),L=D=new J(Q),M=I=new J(Q),oe=y(Se),B=T.e=oe.length-ue.e-1,T.c[0]=f[(U=B%l)<0?l+U:U],E=!E||O.comparedTo(T)>0?B>0?T:L:O,U=se,se=1/0,O=new J(oe),I.c[0]=0;N=R(O,T,0,1),F=D.plus(N.times(M)),F.comparedTo(E)!=1;)D=M,M=F,L=I.plus(N.times(F=L)),I=F,T=O.minus(N.times(F=T)),O=F;return F=R(E.minus(D),M,0,1),I=I.plus(F.times(L)),D=D.plus(F.times(M)),I.s=L.s=ue.s,B=B*2,H=R(L,M,B,K).minus(ue).abs().comparedTo(R(I,D,B,K).minus(ue).abs())<1?[L,M]:[I,D],se=U,H},P.toNumber=function(){return+je(this)},P.toPrecision=function(E,T){return E!=null&&_(E,1,m),ce(this,E,T,2)},P.toString=function(E){var T,D=this,M=D.s,F=D.e;return F===null?M?(T="Infinity",M<0&&(T="-"+T)):T="NaN":(E==null?T=F<=Y||F>=ee?C(y(D.c),F):S(y(D.c),F,"0"):E===10&&Ae?(D=Oe(new J(D),z+F+1,K),T=S(y(D.c),D.e,"0")):(_(E,2,Ue.length,"Base"),T=$(S(y(D.c),F,"0"),10,E,M,!0)),M<0&&D.c[0]&&(T="-"+T)),T},P.valueOf=P.toJSON=function(){return je(this)},P._isBigNumber=!0,v!=null&&J.set(v),J}function w(v){var R=v|0;return v>0||v===R?R:R-1}function y(v){for(var R,$,V=1,P=v.length,Q=v[0]+"";V<P;){for(R=v[V++]+"",$=l-R.length;$--;R="0"+R);Q+=R}for(P=Q.length;Q.charCodeAt(--P)===48;);return Q.slice(0,P+1||1)}function g(v,R){var $,V,P=v.c,Q=R.c,z=v.s,K=R.s,Y=v.e,ee=R.e;if(!z||!K)return null;if($=P&&!P[0],V=Q&&!Q[0],$||V)return $?V?0:-K:z;if(z!=K)return z;if($=z<0,V=Y==ee,!P||!Q)return V?0:!P^$?1:-1;if(!V)return Y>ee^$?1:-1;for(K=(Y=P.length)<(ee=Q.length)?Y:ee,z=0;z<K;z++)if(P[z]!=Q[z])return P[z]>Q[z]^$?1:-1;return Y==ee?0:Y>ee^$?1:-1}function _(v,R,$,V){if(v<R||v>$||v!==o(v))throw Error(s+(V||"Argument")+(typeof v=="number"?v<R||v>$?" out of range: ":" not an integer: ":" not a primitive number: ")+String(v))}function A(v){var R=v.c.length-1;return w(v.e/l)==R&&v.c[R]%2!=0}function C(v,R){return(v.length>1?v.charAt(0)+"."+v.slice(1):v)+(R<0?"e":"e+")+R}function S(v,R,$){var V,P;if(R<0){for(P=$+".";++R;P+=$);v=P+v}else if(V=v.length,++R>V){for(P=$,R-=V;--R;P+=$);v+=P}else R<V&&(v=v.slice(0,R)+"."+v.slice(R));return v}e=b(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof Mi<"u"&&Mi.exports?Mi.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(ig)});var lg=X((GO,cg)=>{var ag=Uc(),ug=cg.exports;(function(){"use strict";function t(d){return d<10?"0"+d:d}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(d){return n.lastIndex=0,n.test(d)?'"'+d.replace(n,function(f){var p=s[f];return typeof p=="string"?p:"\\u"+("0000"+f.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+d+'"'}function l(d,f){var p,m,b,w,y=r,g,_=f[d],A=_!=null&&(_ instanceof ag||ag.isBigNumber(_));switch(_&&typeof _=="object"&&typeof _.toJSON=="function"&&(_=_.toJSON(d)),typeof a=="function"&&(_=a.call(f,d,_)),typeof _){case"string":return A?_: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,p=0;p<w;p+=1)g[p]=l(p,_)||"null";return b=g.length===0?"[]":r?`[
43
+ `}yield r}static#s;static#i;static async#a(){return this.#s||=(await Promise.resolve().then(()=>Ln(lm()))).HttpsProxyAgent,this.#s}static async#u(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(og(),rg))).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}};Xr.Gaxios=Li;Qr=Li});var Xe=X(it=>{"use strict";var ek=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]})),tk=it&&it.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&ek(e,t,n)};Object.defineProperty(it,"__esModule",{value:!0});it.instance=it.Gaxios=it.GaxiosError=void 0;it.request=rk;var ug=ag();Object.defineProperty(it,"Gaxios",{enumerable:!0,get:function(){return ug.Gaxios}});var nk=yc();Object.defineProperty(it,"GaxiosError",{enumerable:!0,get:function(){return nk.GaxiosError}});tk(Cc(),it);it.instance=new ug.Gaxios;async function rk(t){return it.instance.request(t)}});var qc=X((cg,ji)=>{(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,d=9007199254740991,f=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],p=1e7,m=1e9;function b(T){var R,$,V,P=J.prototype={constructor:J,toString:null,valueOf:null},Y=new J(1),z=20,K=4,Q=-7,ee=21,ae=-1e7,se=1e7,me=!1,G=1,Z=0,ie={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},Ue="0123456789abcdefghijklmnopqrstuvwxyz",Ae=!0;function J(E,v){var D,M,F,N,U,O,I,L,B=this;if(!(B instanceof J))return new J(E,v);if(v==null){if(E&&E._isBigNumber===!0){B.s=E.s,!E.c||E.e>se?B.c=B.e=null:E.e<ae?B.c=[B.e=0]:(B.e=E.e,B.c=E.c.slice());return}if((O=typeof E=="number")&&E*0==0){if(B.s=1/E<0?(E=-E,-1):1,E===~~E){for(N=0,U=E;U>=10;U/=10,N++);N>se?B.c=B.e=null:(B.e=N,B.c=[E]);return}L=String(E)}else{if(!n.test(L=String(E)))return V(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,Ue.length,"Base"),v==10&&Ae)return B=new J(E),Oe(B,z+B.e+1,K);if(L=String(E),O=typeof E=="number"){if(E*0!=0)return V(B,L,O,v);if(B.s=1/E<0?(L=L.slice(1),-1):1,J.DEBUG&&L.replace(/^0\.0*|\./,"").length>15)throw Error(a+E)}else B.s=L.charCodeAt(0)===45?(L=L.slice(1),-1):1;for(D=Ue.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 V(B,String(E),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&&J.DEBUG&&I>15&&(E>d||E!==o(E)))throw Error(a+B.s*E);if((N=N-U-1)>se)B.c=B.e=null;else if(N<ae)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]}J.clone=b,J.ROUND_UP=0,J.ROUND_DOWN=1,J.ROUND_CEIL=2,J.ROUND_FLOOR=3,J.ROUND_HALF_UP=4,J.ROUND_HALF_DOWN=5,J.ROUND_HALF_EVEN=6,J.ROUND_HALF_CEIL=7,J.ROUND_HALF_FLOOR=8,J.EUCLID=9,J.config=J.set=function(E){var v,D;if(E!=null)if(typeof E=="object"){if(E.hasOwnProperty(v="DECIMAL_PLACES")&&(D=E[v],_(D,0,m,v),z=D),E.hasOwnProperty(v="ROUNDING_MODE")&&(D=E[v],_(D,0,8,v),K=D),E.hasOwnProperty(v="EXPONENTIAL_AT")&&(D=E[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))),E.hasOwnProperty(v="RANGE"))if(D=E[v],D&&D.pop)_(D[0],-m,-1,v),_(D[1],1,m,v),ae=D[0],se=D[1];else if(_(D,-m,m,v),D)ae=-(se=D<0?-D:D);else throw Error(s+v+" cannot be zero: "+D);if(E.hasOwnProperty(v="CRYPTO"))if(D=E[v],D===!!D)if(D)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))me=D;else throw me=!D,Error(s+"crypto unavailable");else me=D;else throw Error(s+v+" not true or false: "+D);if(E.hasOwnProperty(v="MODULO_MODE")&&(D=E[v],_(D,0,9,v),G=D),E.hasOwnProperty(v="POW_PRECISION")&&(D=E[v],_(D,0,m,v),Z=D),E.hasOwnProperty(v="FORMAT"))if(D=E[v],typeof D=="object")ie=D;else throw Error(s+v+" not an object: "+D);if(E.hasOwnProperty(v="ALPHABET"))if(D=E[v],typeof D=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(D))Ae=D.slice(0,10)=="0123456789",Ue=D;else throw Error(s+v+" invalid: "+D)}else throw Error(s+"Object expected: "+E);return{DECIMAL_PLACES:z,ROUNDING_MODE:K,EXPONENTIAL_AT:[Q,ee],RANGE:[ae,se],CRYPTO:me,MODULO_MODE:G,POW_PRECISION:Z,FORMAT:ie,ALPHABET:Ue}},J.isBigNumber=function(E){if(!E||E._isBigNumber!==!0)return!1;if(!J.DEBUG)return!0;var v,D,M=E.c,F=E.e,N=E.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: "+E)},J.maximum=J.max=function(){return te(arguments,-1)},J.minimum=J.min=function(){return te(arguments,1)},J.random=(function(){var E=9007199254740992,v=Math.random()*E&2097151?function(){return o(Math.random()*E)}: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 J(Y);if(D==null?D=z:_(D,0,m),U=r(D/l),me)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 me=!1,Error(s+"crypto unavailable");if(!me)for(;I<U;)O=v(),O<9e15&&(L[I++]=O%1e14);for(U=L[--I],D%=l,U&&D&&(O=f[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}})(),J.sum=function(){for(var E=1,v=arguments,D=new J(v[0]);E<v.length;)D=D.plus(v[E++]);return D},$=(function(){var E="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,H,oe,ue,Se,Ie=D.indexOf("."),Me=z,ke=K;for(Ie>=0&&(B=Z,Z=0,D=D.replace(".",""),Se=new J(M),oe=Se.pow(D.length-Ie),Z=B,Se.c=v(S(y(oe.c),oe.e,"0"),10,F,E),Se.e=Se.c.length),ue=v(D,M,F,U?(O=Ue,E):(O=E,Ue)),L=B=ue.length;ue[--B]==0;ue.pop());if(!ue[0])return O.charAt(0);if(Ie<0?--L:(oe.c=ue,oe.e=L,oe.s=N,oe=R(oe,Se,Me,ke,F),ue=oe.c,H=oe.r,L=oe.e),I=L+Me+1,Ie=ue[I],B=F/2,H=H||I<0||ue[I+1]!=null,H=ke<4?(Ie!=null||H)&&(ke==0||ke==(oe.s<0?3:2)):Ie>B||Ie==B&&(ke==4||H||ke==6&&ue[I-1]&1||ke==(oe.s<0?8:7)),I<1||!ue[0])D=H?S(O.charAt(1),-Me,O.charAt(0)):O.charAt(0);else{if(ue.length=I,H)for(--F;++ue[--I]>F;)ue[I]=0,I||(++L,ue=[1].concat(ue));for(B=ue.length;!ue[--B];);for(Ie=0,D="";Ie<=B;D+=O.charAt(ue[Ie++]));D=S(D,L,O.charAt(0))}return D}})(),R=(function(){function E(M,F,N){var U,O,I,L,B=0,H=M.length,oe=F%p,ue=F/p|0;for(M=M.slice();H--;)I=M[H]%p,L=M[H]/p|0,U=ue*I+L*oe,O=oe*I+U%p*p+B,B=(O/N|0)+(U/p|0)+ue*L,M[H]=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,H,oe,ue,Se,Ie,Me,ke,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 J(!M.s||!F.s||(ze?De&&ze[0]==De[0]:!De)?NaN:ze&&ze[0]==0||!De?Ze*0:Ze/0);for(Ie=new J(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),H=!0;else{for(wr=ze.length,ft=De.length,B=0,Ze+=2,oe=o(O/(De[0]+1)),oe>1&&(De=E(De,oe,O),ze=E(ze,oe,O),ft=De.length,wr=ze.length),Cr=ft,ke=ze.slice(0,ft),ve=ke.length;ve<ft;ke[ve++]=0);fn=De.slice(),fn=[0].concat(fn),Er=De[0],De[1]>=O/2&&Er++;do{if(oe=0,I=v(De,ke,ft,ve),I<0){if(qe=ke[0],ft!=ve&&(qe=qe*O+(ke[1]||0)),oe=o(qe/Er),oe>1)for(oe>=O&&(oe=O-1),ue=E(De,oe,O),Se=ue.length,ve=ke.length;v(ue,ke,Se,ve)==1;)oe--,D(ue,ft<Se?fn:De,Se,O),Se=ue.length,I=1;else oe==0&&(I=oe=1),ue=De.slice(),Se=ue.length;if(Se<ve&&(ue=[0].concat(ue)),D(ke,ue,ve,O),ve=ke.length,I==-1)for(;v(De,ke,ft,ve)<1;)oe++,D(ke,ft<ve?fn:De,ve,O),ve=ke.length}else I===0&&(oe++,ke=[0]);Me[B++]=oe,ke[0]?ke[ve++]=ze[Cr]||0:(ke=[ze[Cr]],ve=1)}while((Cr++<wr||ke[0]!=null)&&Ze--);H=ke[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,H)}else Ie.e=L,Ie.r=+H;return Ie}})();function ce(E,v,D,M){var F,N,U,O,I;if(D==null?D=K:_(D,0,8),!E.c)return E.toString();if(F=E.c[0],U=E.e,v==null)I=y(E.c),I=M==1||M==2&&(U<=Q||U>=ee)?C(I,U):S(I,U,"0");else if(E=Oe(new J(E),v,D),N=E.e,I=y(E.c),O=I.length,M==1||M==2&&(v<=N||N<=Q)){for(;O<v;I+="0",O++);I=C(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 E.s<0&&F?"-"+I:I}function te(E,v){for(var D,M,F=1,N=new J(E[0]);F<E.length;F++)M=new J(E[F]),(!M.s||(D=g(N,M))===v||D===0&&N.s===v)&&(N=M);return N}function Te(E,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)>se?E.c=E.e=null:D<ae?E.c=[E.e=0]:(E.e=D,E.c=v),E}V=(function(){var E=/^(-?)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(E,function(H,oe,ue){return L=(ue=ue.toLowerCase())=="x"?16:ue=="b"?2:8,!I||I==L?oe:H}),I&&(L=I,B=B.replace(v,"$1").replace(D,"0.$1")),U!=B))return new J(B,L);if(J.DEBUG)throw Error(s+"Not a"+(I?" base "+I:"")+" number: "+U);N.s=null}N.c=N.e=null}})();function Oe(E,v,D,M){var F,N,U,O,I,L,B,H=E.c,oe=f;if(H){e:{for(F=1,O=H[0];O>=10;O/=10,F++);if(N=v-F,N<0)N+=l,U=v,I=H[L=0],B=o(I/oe[F-U-1]%10);else if(L=r((N+1)/l),L>=H.length)if(M){for(;H.length<=L;H.push(0));I=B=0,F=1,N%=l,U=N-l+1}else break e;else{for(I=O=H[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||H[L+1]!=null||(U<0?I:I%oe[F-U-1]),M=D<4?(B||M)&&(D==0||D==(E.s<0?3:2)):B>5||B==5&&(D==4||M||D==6&&(N>0?U>0?I/oe[F-U]:0:H[L-1])%10&1||D==(E.s<0?8:7)),v<1||!H[0])return H.length=0,M?(v-=E.e+1,H[0]=oe[(l-v%l)%l],E.e=-v||0):H[0]=E.e=0,E;if(N==0?(H.length=L,O=1,L--):(H.length=L+1,O=oe[l-N],H[L]=U>0?o(I/oe[F-U]%oe[U])*O:0),M)for(;;)if(L==0){for(N=1,U=H[0];U>=10;U/=10,N++);for(U=H[0]+=O,O=1;U>=10;U/=10,O++);N!=O&&(E.e++,H[0]==u&&(H[0]=1));break}else{if(H[L]+=O,H[L]!=u)break;H[L--]=0,O=1}for(N=H.length;H[--N]===0;H.pop());}E.e>se?E.c=E.e=null:E.e<ae&&(E.c=[E.e=0])}return E}function je(E){var v,D=E.e;return D===null?E.toString():(v=y(E.c),v=D<=Q||D>=ee?C(v,D):S(v,D,"0"),E.s<0?"-"+v:v)}return P.absoluteValue=P.abs=function(){var E=new J(this);return E.s<0&&(E.s=1),E},P.comparedTo=function(E,v){return g(this,new J(E,v))},P.decimalPlaces=P.dp=function(E,v){var D,M,F,N=this;if(E!=null)return _(E,0,m),v==null?v=K:_(v,0,8),Oe(new J(N),E+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(E,v){return R(this,new J(E,v),z,K)},P.dividedToIntegerBy=P.idiv=function(E,v){return R(this,new J(E,v),0,1)},P.exponentiatedBy=P.pow=function(E,v){var D,M,F,N,U,O,I,L,B,H=this;if(E=new J(E),E.c&&!E.isInteger())throw Error(s+"Exponent not an integer: "+je(E));if(v!=null&&(v=new J(v)),O=E.e>14,!H.c||!H.c[0]||H.c[0]==1&&!H.e&&H.c.length==1||!E.c||!E.c[0])return B=new J(Math.pow(+je(H),O?E.s*(2-A(E)):+je(E))),v?B.mod(v):B;if(I=E.s<0,v){if(v.c?!v.c[0]:!v.s)return new J(NaN);M=!I&&H.isInteger()&&v.isInteger(),M&&(H=H.mod(v))}else{if(E.e>9&&(H.e>0||H.e<-1||(H.e==0?H.c[0]>1||O&&H.c[1]>=24e7:H.c[0]<8e13||O&&H.c[0]<=9999975e7)))return N=H.s<0&&A(E)?-0:0,H.e>-1&&(N=1/N),new J(I?1/N:N);Z&&(N=r(Z/l+2))}for(O?(D=new J(.5),I&&(E.s=1),L=A(E)):(F=Math.abs(+je(E)),L=F%2),B=new J(Y);;){if(L){if(B=B.times(H),!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(E=E.times(D),Oe(E,E.e+1,1),E.e>14)L=A(E);else{if(F=+je(E),F===0)break;L=F%2}H=H.times(H),N?H.c&&H.c.length>N&&(H.c.length=N):M&&(H=H.mod(v))}return M?B:(I&&(B=Y.div(B)),v?B.mod(v):N?Oe(B,Z,K,U):B)},P.integerValue=function(E){var v=new J(this);return E==null?E=K:_(E,0,8),Oe(v,v.e+1,E)},P.isEqualTo=P.eq=function(E,v){return g(this,new J(E,v))===0},P.isFinite=function(){return!!this.c},P.isGreaterThan=P.gt=function(E,v){return g(this,new J(E,v))>0},P.isGreaterThanOrEqualTo=P.gte=function(E,v){return(v=g(this,new J(E,v)))===1||v===0},P.isInteger=function(){return!!this.c&&w(this.e/l)>this.c.length-2},P.isLessThan=P.lt=function(E,v){return g(this,new J(E,v))<0},P.isLessThanOrEqualTo=P.lte=function(E,v){return(v=g(this,new J(E,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(E,v){var D,M,F,N,U=this,O=U.s;if(E=new J(E,v),v=E.s,!O||!v)return new J(NaN);if(O!=v)return E.s=-v,U.plus(E);var I=U.e/l,L=E.e/l,B=U.c,H=E.c;if(!I||!L){if(!B||!H)return B?(E.s=-v,E):new J(H?U:NaN);if(!B[0]||!H[0])return H[0]?(E.s=-v,E):new J(B[0]?U:K==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=H),F.reverse(),v=O;v--;F.push(0));F.reverse()}else for(M=(N=(O=B.length)<(v=H.length))?O:v,O=v=0;v<M;v++)if(B[v]!=H[v]){N=B[v]<H[v];break}if(N&&(F=B,B=H,H=F,E.s=-E.s),v=(M=H.length)-(D=B.length),v>0)for(;v--;B[D++]=0);for(v=u-1;M>O;){if(B[--M]<H[M]){for(D=M;D&&!B[--D];B[D]=v);--B[D],B[M]+=u}B[M]-=H[M]}for(;B[0]==0;B.splice(0,1),--L);return B[0]?Te(E,B,L):(E.s=K==3?-1:1,E.c=[E.e=0],E)},P.modulo=P.mod=function(E,v){var D,M,F=this;return E=new J(E,v),!F.c||!E.s||E.c&&!E.c[0]?new J(NaN):!E.c||F.c&&!F.c[0]?new J(F):(G==9?(M=E.s,E.s=1,D=R(F,E,0,3),E.s=M,D.s*=M):D=R(F,E,0,G),E=F.minus(D.times(E)),!E.c[0]&&G==1&&(E.s=F.s),E)},P.multipliedBy=P.times=function(E,v){var D,M,F,N,U,O,I,L,B,H,oe,ue,Se,Ie,Me,ke=this,ve=ke.c,qe=(E=new J(E,v)).c;if(!ve||!qe||!ve[0]||!qe[0])return!ke.s||!E.s||ve&&!ve[0]&&!qe||qe&&!qe[0]&&!ve?E.c=E.e=E.s=null:(E.s*=ke.s,!ve||!qe?E.c=E.e=null:(E.c=[0],E.e=0)),E;for(M=w(ke.e/l)+w(E.e/l),E.s*=ke.s,I=ve.length,H=qe.length,I<H&&(Se=ve,ve=qe,qe=Se,F=I,I=H,H=F),F=I+H,Se=[];F--;Se.push(0));for(Ie=u,Me=p,F=H;--F>=0;){for(D=0,oe=qe[F]%Me,ue=qe[F]/Me|0,U=I,N=F+U;N>F;)L=ve[--U]%Me,B=ve[U]/Me|0,O=ue*L+B*oe,L=oe*L+O%Me*Me+Se[N]+D,D=(L/Ie|0)+(O/Me|0)+ue*B,Se[N--]=L%Ie;Se[N]=D}return D?++M:Se.splice(0,1),Te(E,Se,M)},P.negated=function(){var E=new J(this);return E.s=-E.s||null,E},P.plus=function(E,v){var D,M=this,F=M.s;if(E=new J(E,v),v=E.s,!F||!v)return new J(NaN);if(F!=v)return E.s=-v,M.minus(E);var N=M.e/l,U=E.e/l,O=M.c,I=E.c;if(!N||!U){if(!O||!I)return new J(F/0);if(!O[0]||!I[0])return I[0]?E:new J(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(E,O,U)},P.precision=P.sd=function(E,v){var D,M,F,N=this;if(E!=null&&E!==!!E)return _(E,1,m),v==null?v=K:_(v,0,8),Oe(new J(N),E,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 E&&N.e+1>M&&(M=N.e+1),M},P.shiftedBy=function(E){return _(E,-d,d),this.times("1e"+E)},P.squareRoot=P.sqrt=function(){var E,v,D,M,F,N=this,U=N.c,O=N.s,I=N.e,L=z+4,B=new J("0.5");if(O!==1||!U||!U[0])return new J(!O||O<0&&(!U||U[0])?NaN:U?N:1/0);if(O=Math.sqrt(+je(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 J(v)):D=new J(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+z+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+z+2,1),E=!D.times(D).eq(N));break}}return Oe(D,D.e+z+1,K,E)},P.toExponential=function(E,v){return E!=null&&(_(E,0,m),E++),ce(this,E,v,1)},P.toFixed=function(E,v){return E!=null&&(_(E,0,m),E=E+this.e+1),ce(this,E,v)},P.toFormat=function(E,v,D){var M,F=this;if(D==null)E!=null&&v&&typeof v=="object"?(D=v,v=null):E&&typeof E=="object"?(D=E,E=v=null):D=ie;else if(typeof D!="object")throw Error(s+"Argument not an object: "+D);if(M=F.toFixed(E,v),F.c){var N,U=M.split("."),O=+D.groupSize,I=+D.secondaryGroupSize,L=D.groupSeparator||"",B=U[0],H=U[1],oe=F.s<0,ue=oe?B.slice(1):B,Se=ue.length;if(I&&(N=O,O=I,I=N,Se-=N),O>0&&Se>0){for(N=Se%O||O,B=ue.substr(0,N);N<Se;N+=O)B+=L+ue.substr(N,O);I>0&&(B+=L+ue.slice(N)),oe&&(B="-"+B)}M=H?B+(D.decimalSeparator||"")+((I=+D.fractionGroupSize)?H.replace(new RegExp("\\d{"+I+"}\\B","g"),"$&"+(D.fractionGroupSeparator||"")):H):B}return(D.prefix||"")+M+(D.suffix||"")},P.toFraction=function(E){var v,D,M,F,N,U,O,I,L,B,H,oe,ue=this,Se=ue.c;if(E!=null&&(O=new J(E),!O.isInteger()&&(O.c||O.s!==1)||O.lt(Y)))throw Error(s+"Argument "+(O.isInteger()?"out of range: ":"not an integer: ")+je(O));if(!Se)return new J(ue);for(v=new J(Y),L=D=new J(Y),M=I=new J(Y),oe=y(Se),N=v.e=oe.length-ue.e-1,v.c[0]=f[(U=N%l)<0?l+U:U],E=!E||O.comparedTo(v)>0?N>0?v:L:O,U=se,se=1/0,O=new J(oe),I.c[0]=0;B=R(O,v,0,1),F=D.plus(B.times(M)),F.comparedTo(E)!=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(E.minus(D),M,0,1),I=I.plus(F.times(L)),D=D.plus(F.times(M)),I.s=L.s=ue.s,N=N*2,H=R(L,M,N,K).minus(ue).abs().comparedTo(R(I,D,N,K).minus(ue).abs())<1?[L,M]:[I,D],se=U,H},P.toNumber=function(){return+je(this)},P.toPrecision=function(E,v){return E!=null&&_(E,1,m),ce(this,E,v,2)},P.toString=function(E){var v,D=this,M=D.s,F=D.e;return F===null?M?(v="Infinity",M<0&&(v="-"+v)):v="NaN":(E==null?v=F<=Q||F>=ee?C(y(D.c),F):S(y(D.c),F,"0"):E===10&&Ae?(D=Oe(new J(D),z+F+1,K),v=S(y(D.c),D.e,"0")):(_(E,2,Ue.length,"Base"),v=$(S(y(D.c),F,"0"),10,E,M,!0)),M<0&&D.c[0]&&(v="-"+v)),v},P.valueOf=P.toJSON=function(){return je(this)},P._isBigNumber=!0,T!=null&&J.set(T),J}function w(T){var R=T|0;return T>0||T===R?R:R-1}function y(T){for(var R,$,V=1,P=T.length,Y=T[0]+"";V<P;){for(R=T[V++]+"",$=l-R.length;$--;R="0"+R);Y+=R}for(P=Y.length;Y.charCodeAt(--P)===48;);return Y.slice(0,P+1||1)}function g(T,R){var $,V,P=T.c,Y=R.c,z=T.s,K=R.s,Q=T.e,ee=R.e;if(!z||!K)return null;if($=P&&!P[0],V=Y&&!Y[0],$||V)return $?V?0:-K:z;if(z!=K)return z;if($=z<0,V=Q==ee,!P||!Y)return V?0:!P^$?1:-1;if(!V)return Q>ee^$?1:-1;for(K=(Q=P.length)<(ee=Y.length)?Q:ee,z=0;z<K;z++)if(P[z]!=Y[z])return P[z]>Y[z]^$?1:-1;return Q==ee?0:Q>ee^$?1:-1}function _(T,R,$,V){if(T<R||T>$||T!==o(T))throw Error(s+(V||"Argument")+(typeof T=="number"?T<R||T>$?" out of range: ":" not an integer: ":" not a primitive number: ")+String(T))}function A(T){var R=T.c.length-1;return w(T.e/l)==R&&T.c[R]%2!=0}function C(T,R){return(T.length>1?T.charAt(0)+"."+T.slice(1):T)+(R<0?"e":"e+")+R}function S(T,R,$){var V,P;if(R<0){for(P=$+".";++R;P+=$);T=P+T}else if(V=T.length,++R>V){for(P=$,R-=V;--R;P+=$);T+=P}else R<V&&(T=T.slice(0,R)+"."+T.slice(R));return T}e=b(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof ji<"u"&&ji.exports?ji.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(cg)});var hg=X((nP,fg)=>{var lg=qc(),dg=fg.exports;(function(){"use strict";function t(d){return d<10?"0"+d:d}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(d){return n.lastIndex=0,n.test(d)?'"'+d.replace(n,function(f){var p=s[f];return typeof p=="string"?p:"\\u"+("0000"+f.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+d+'"'}function l(d,f){var p,m,b,w,y=r,g,_=f[d],A=_!=null&&(_ instanceof lg||lg.isBigNumber(_));switch(_&&typeof _=="object"&&typeof _.toJSON=="function"&&(_=_.toJSON(d)),typeof a=="function"&&(_=a.call(f,d,_)),typeof _){case"string":return A?_: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,p=0;p<w;p+=1)g[p]=l(p,_)||"null";return b=g.length===0?"[]":r?`[
44
44
  `+r+g.join(`,
45
45
  `+r)+`
46
46
  `+y+"]":"["+g.join(",")+"]",r=y,b}if(a&&typeof a=="object")for(w=a.length,p=0;p<w;p+=1)typeof a[p]=="string"&&(m=a[p],b=l(m,_),b&&g.push(u(m)+(r?": ":":")+b));else Object.keys(_).forEach(function(C){var S=l(C,_);S&&g.push(u(C)+(r?": ":":")+S)});return b=g.length===0?"{}":r?`{
47
47
  `+r+g.join(`,
48
48
  `+r)+`
49
- `+y+"}":"{"+g.join(",")+"}",r=y,b}}typeof ug.stringify!="function"&&(ug.stringify=function(d,f,p){var m;if(r="",o="",typeof p=="number")for(m=0;m<p;m+=1)o+=" ";else typeof p=="string"&&(o=p);if(a=f,f&&typeof f!="function"&&(typeof f!="object"||typeof f.length!="number"))throw new Error("JSON.stringify");return l("",{"":d})})})()});var fg=X((JO,dg)=>{var Li=null,QE=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,YE=/(?: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)/,XE=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 Li==null&&(Li=Uc()),g.length>15?e.storeAsString?g:e.useNativeBigInt?BigInt(g):new Li(g):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(y):new Li(y):y},d=function(){var y,g,_="",A;if(r==='"')for(var C=n;u();){if(r==='"')return n-1>C&&(_+=s.substring(C,n-1)),u(),_;if(r==="\\"){if(n-1>C&&(_+=s.substring(C,n-1)),u(),r==="u"){for(A=0,g=0;g<4&&(y=parseInt(u(),16),!!isFinite(y));g+=1)A=A*16+y;_+=String.fromCharCode(A)}else if(typeof o[r]=="string")_+=o[r];else break;C=n}}a("Bad string")},f=function(){for(;r&&r<=" ";)u()},p=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,b=function(){var y=[];if(r==="["){if(u("["),f(),r==="]")return u("]"),y;for(;r;){if(y.push(m()),f(),r==="]")return u("]"),y;u(","),f()}}a("Bad array")},w=function(){var y,g=Object.create(null);if(r==="{"){if(u("{"),f(),r==="}")return u("}"),g;for(;r;){if(y=d(),f(),u(":"),e.strict===!0&&Object.hasOwnProperty.call(g,y)&&a('Duplicate key "'+y+'"'),QE.test(y)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?m():g[y]=m():YE.test(y)===!0?e.constructorAction==="error"?a("Object contains forbidden constructor property"):e.constructorAction==="ignore"?m():g[y]=m():g[y]=m(),f(),r==="}")return u("}"),g;u(","),f()}}a("Bad object")};return m=function(){switch(f(),r){case"{":return w();case"[":return b();case'"':return d();case"-":return l();default:return r>="0"&&r<="9"?l():p()}},function(y,g){var _;return s=y+"",n=0,r=" ",_=m(),f(),r&&a("Syntax error"),typeof g=="function"?(function A(C,S){var v,R,$=C[S];return $&&typeof $=="object"&&Object.keys($).forEach(function(V){R=A($,V),R!==void 0?$[V]=R:delete $[V]}),g.call(C,S,$)})({"":_},""):_}};dg.exports=XE});var mg=X((VO,ji)=>{var hg=lg().stringify,pg=fg();ji.exports=function(t){return{parse:pg(t),stringify:hg}};ji.exports.parse=pg();ji.exports.stringify=hg});var $c=X(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.GCE_LINUX_BIOS_PATHS=void 0;zt.isGoogleCloudServerless=_g;zt.isGoogleComputeEngineLinux=bg;zt.isGoogleComputeEngineMACAddress=Cg;zt.isGoogleComputeEngine=wg;zt.detectGCPResidency=ek;var gg=re("fs"),yg=re("os");zt.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var ZE=/^42:01/;function _g(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function bg(){if((0,yg.platform)()!=="linux")return!1;try{(0,gg.statSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,gg.readFileSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function Cg(){let t=(0,yg.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:n}of e)if(ZE.test(n))return!0}return!1}function wg(){return bg()||Cg()}function ek(){return _g()||wg()}});var Eg=X(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.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="")}};Ui.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 Tg=X(Re=>{"use strict";var tk=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]})),nk=Re&&Re.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),kg=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"&&tk(n,e,r[o]);return nk(n,e),n}})();Object.defineProperty(Re,"__esModule",{value:!0});Re.env=Re.DebugLogBackendBase=Re.placeholder=Re.AdhocDebugLogger=Re.LogSeverity=void 0;Re.getNodeBackend=zc;Re.getDebugBackend=ok;Re.getStructuredBackend=sk;Re.setBackend=ik;Re.log=Sg;var rk=re("events"),Wo=kg(re("process")),Ag=kg(re("util")),gt=Eg(),Ht;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(Ht||(Re.LogSeverity=Ht={}));var Go=class extends rk.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=>Sg(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=Go;Re.placeholder=new Go("",()=>{}).func;var Xr=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let n=(e=Wo.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=Xr;var qc=class extends Xr{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=`${gt.Colours.green}${e}${gt.Colours.reset}`,a=`${gt.Colours.yellow}${Wo.pid}${gt.Colours.reset}`,u;switch(n.severity){case Ht.ERROR:u=`${gt.Colours.red}${n.severity}${gt.Colours.reset}`;break;case Ht.INFO:u=`${gt.Colours.magenta}${n.severity}${gt.Colours.reset}`;break;case Ht.WARNING:u=`${gt.Colours.yellow}${n.severity}${gt.Colours.reset}`;break;default:u=(o=n.severity)!==null&&o!==void 0?o:Ht.DEFAULT;break}let l=Ag.formatWithOptions({colors:gt.Colours.enabled},...r),d=Object.assign({},n);delete d.severity;let f=Object.getOwnPropertyNames(d).length?JSON.stringify(d):"",p=f?`${gt.Colours.grey}${f}${gt.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",a,s,u,l,f?` ${p}`:"")}:()=>{}}setFilters(){let n=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${n}$`,"i")}};function zc(){return new qc}var Hc=class extends Xr{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=Wo.env.NODE_DEBUG)!==null&&e!==void 0?e:"";Wo.env.NODE_DEBUG=`${n}${n?",":""}${this.filters.join(",")}`}};function ok(t){return new Hc(t)}var Wc=class extends Xr{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:Ag.format(...s)},o),d=JSON.stringify(l);r?r(o,d):console.log("%s",d)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}};function sk(t){return new Wc(t)}Re.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var Gc=new Map,yt;function ik(t){yt=t,Gc.clear()}function Sg(t,e){if(!yt&&!Wo.env[Re.env.nodeEnables]||!t)return Re.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let n=Gc.get(t);if(n)return n.func;if(yt===null)return Re.placeholder;yt===void 0&&(yt=zc());let r=(()=>{let o;return new Go(t,(a,...u)=>{if(o!==yt){if(yt===null)return;yt===void 0&&(yt=zc()),o=yt}yt?.log(t,a,...u)})})();return Gc.set(t,r),r.func}});var Jc=X(mr=>{"use strict";var ak=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]})),uk=mr&&mr.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&ak(e,t,n)};Object.defineProperty(mr,"__esModule",{value:!0});uk(Tg(),mr)});var Vo=X(he=>{"use strict";var Dg=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}),lk=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"&&Dg(n,e,r[o]);return ck(n,e),n}})(),dk=he&&he.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Dg(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=yk;he.project=_k;he.universe=bk;he.bulk=Ck;he.isAvailable=Ek;he.resetIsAvailableCache=kk;he.getGCPResidency=Qc;he.setGCPResidency=Rg;he.requestTimeout=xg;var Vc=Xe(),fk=mg(),hk=$c(),pk=lk(Jc());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 vg=pk.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 Kc(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 mk(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 Jo(t,e={},n=3,r=!1){let o=new Headers(he.HEADERS),s="",a={};if(typeof t=="object"){let p=t;new Headers(p.headers).forEach((m,b)=>o.set(b,m)),s=p.metadataKey,a=p.params||a,n=p.noResponseRetries||n,r=p.fastFail||r}else s=t;typeof e=="string"?s+=`/${e}`:(mk(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((p,m)=>o.set(m,p)),a=e.params||a);let u=r?gk:Vc.request,l={url:`${Kc()}/${s}`,headers:o,retryConfig:{noResponseRetries:n},params:a,responseType:"text",timeout:xg()};vg.info("instance request %j",l);let d=await u(l);vg.info("instance metadata is %s",d.data);let f=d.headers.get(he.HEADER_NAME);if(f!==he.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${he.HEADER_NAME} header. Expected '${he.HEADER_VALUE}', got ${f?`'${f}'`:"no header"}`);if(typeof d.data=="string")try{return fk.parse(d.data)}catch{}return d.data}async function gk(t){let e={...t,url:t.url?.toString().replace(Kc(),Kc(he.SECONDARY_HOST_ADDRESS))},n=(0,Vc.request)(t),r=(0,Vc.request)(e);return Promise.any([n,r])}function yk(t){return Jo("instance",t)}function _k(t){return Jo("project",t)}function bk(t){return Jo("universe",t)}async function Ck(t){let e={};return await Promise.all(t.map(n=>(async()=>{let r=await Jo(n),o=n.metadataKey;e[o]=r})())),e}function wk(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var $i;async function Ek(){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 Qc();case"ping-only":}}try{return $i===void 0&&($i=Jo("instance",void 0,wk(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await $i,!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 kk(){$i=void 0}he.gcpResidencyCache=null;function Qc(){return he.gcpResidencyCache===null&&Rg(),he.gcpResidencyCache}function Rg(t=null){he.gcpResidencyCache=t!==null?t:(0,hk.detectGCPResidency)()}function xg(){return Qc()?0:3e3}dk($c(),he)});var Fg=X(qi=>{"use strict";qi.byteLength=Sk;qi.toByteArray=vk;qi.fromByteArray=xk;var en=[],Rt=[],Ak=typeof Uint8Array<"u"?Uint8Array:Array,Yc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(gr=0,Og=Yc.length;gr<Og;++gr)en[gr]=Yc[gr],Rt[Yc.charCodeAt(gr)]=gr;var gr,Og;Rt[45]=62;Rt[95]=63;function Pg(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 Sk(t){var e=Pg(t),n=e[0],r=e[1];return(n+r)*3/4-r}function Tk(t,e,n){return(e+n)*3/4-n}function vk(t){var e,n=Pg(t),r=n[0],o=n[1],s=new Ak(Tk(t,r,o)),a=0,u=o>0?r-4:r,l;for(l=0;l<u;l+=4)e=Rt[t.charCodeAt(l)]<<18|Rt[t.charCodeAt(l+1)]<<12|Rt[t.charCodeAt(l+2)]<<6|Rt[t.charCodeAt(l+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return o===2&&(e=Rt[t.charCodeAt(l)]<<2|Rt[t.charCodeAt(l+1)]>>4,s[a++]=e&255),o===1&&(e=Rt[t.charCodeAt(l)]<<10|Rt[t.charCodeAt(l+1)]<<4|Rt[t.charCodeAt(l+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function Dk(t){return en[t>>18&63]+en[t>>12&63]+en[t>>6&63]+en[t&63]}function Rk(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(Dk(r));return o.join("")}function xk(t){for(var e,n=t.length,r=n%3,o=[],s=16383,a=0,u=n-r;a<u;a+=s)o.push(Rk(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 Zc=X(Xc=>{"use strict";Object.defineProperty(Xc,"__esModule",{value:!0});Xc.fromArrayBufferToHex=Ok;function Ok(t){return Array.from(new Uint8Array(t)).map(n=>n.toString(16).padStart(2,"0")).join("")}});var Ig=X(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.BrowserCrypto=void 0;var Zr=Fg(),Pk=Zc(),el=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 Zr.fromByteArray(new Uint8Array(r))}randomBytesBase64(e){let n=new Uint8Array(e);return window.crypto.getRandomValues(n),Zr.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=Zr.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 Zr.fromByteArray(new Uint8Array(a))}decodeBase64StringUtf8(e){let n=Zr.toByteArray(t.padBase64(e));return new TextDecoder().decode(n)}encodeBase64StringUtf8(e){let n=new TextEncoder().encode(e);return Zr.fromByteArray(n)}async sha256DigestHex(e){let n=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",n);return(0,Pk.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))}};zi.BrowserCrypto=el});var Bg=X(Hi=>{"use strict";Object.defineProperty(Hi,"__esModule",{value:!0});Hi.NodeCrypto=void 0;var eo=re("crypto"),tl=class{async sha256DigestBase64(e){return eo.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return eo.randomBytes(e).toString("base64")}async verify(e,n,r){let o=eo.createVerify("RSA-SHA256");return o.update(n),o.end(),o.verify(e,r,"base64")}async sign(e,n){let r=eo.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 eo.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,n){let r=typeof e=="string"?e:Ik(e);return Fk(eo.createHmac("sha256",r).update(n).digest())}};Hi.NodeCrypto=tl;function Fk(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function Ik(t){return Buffer.from(t)}});var Ko=X(An=>{"use strict";var Bk=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]})),Nk=An&&An.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Bk(e,t,n)};Object.defineProperty(An,"__esModule",{value:!0});An.createCrypto=jk;An.hasBrowserCrypto=Ng;var Mk=Ig(),Lk=Bg();Nk(Zc(),An);function jk(){return Ng()?new Mk.BrowserCrypto:new Lk.NodeCrypto}function Ng(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var to=X((nl,Lg)=>{var Wi=re("buffer"),tn=Wi.Buffer;function Mg(t,e){for(var n in t)e[n]=t[n]}tn.from&&tn.alloc&&tn.allocUnsafe&&tn.allocUnsafeSlow?Lg.exports=Wi:(Mg(Wi,nl),nl.Buffer=yr);function yr(t,e,n){return tn(t,e,n)}yr.prototype=Object.create(tn.prototype);Mg(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 Wi.SlowBuffer(t)}});var Ug=X((sP,jg)=>{"use strict";function rl(t){var e=(t/8|0)+(t%8===0?0:1);return e}var Uk={ES256:rl(256),ES384:rl(384),ES512:rl(521)};function $k(t){var e=Uk[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}jg.exports=$k});var ol=X((iP,Gg)=>{"use strict";var Gi=to().Buffer,qg=Ug(),Ji=128,zg=0,qk=32,zk=16,Hk=2,Hg=zk|qk|zg<<6,Vi=Hk|zg<<6;function Wk(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Wg(t){if(Gi.isBuffer(t))return t;if(typeof t=="string")return Gi.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function Gk(t,e){t=Wg(t);var n=qg(e),r=n+1,o=t.length,s=0;if(t[s++]!==Hg)throw new Error('Could not find expected "seq"');var a=t[s++];if(a===(Ji|1)&&(a=t[s++]),o-s<a)throw new Error('"seq" specified length of "'+a+'", only "'+(o-s)+'" remaining');if(t[s++]!==Vi)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++]!==Vi)throw new Error('Could not find expected "int" for "s"');var d=t[s++];if(o-s!==d)throw new Error('"s" specified length of "'+d+'", expected "'+(o-s)+'"');if(r<d)throw new Error('"s" specified length of "'+d+'", max of "'+r+'" is acceptable');var f=s;if(s+=d,s!==o)throw new Error('Expected to consume entire buffer, but "'+(o-s)+'" bytes remain');var p=n-u,m=n-d,b=Gi.allocUnsafe(p+u+m+d);for(s=0;s<p;++s)b[s]=0;t.copy(b,s,l+Math.max(-p,0),l+u),s=n;for(var w=s;s<w+m;++s)b[s]=0;return t.copy(b,s,f+Math.max(-m,0),f+d),b=b.toString("base64"),b=Wk(b),b}function $g(t,e,n){for(var r=0;e+r<n&&t[e+r]===0;)++r;var o=t[e+r]>=Ji;return o&&--r,r}function Jk(t,e){t=Wg(t);var n=qg(e),r=t.length;if(r!==n*2)throw new TypeError('"'+e+'" signatures must be "'+n*2+'" bytes, saw "'+r+'"');var o=$g(t,0,n),s=$g(t,n,t.length),a=n-o,u=n-s,l=2+a+1+1+u,d=l<Ji,f=Gi.allocUnsafe((d?2:3)+l),p=0;return f[p++]=Hg,d?f[p++]=l:(f[p++]=Ji|1,f[p++]=l&255),f[p++]=Vi,f[p++]=a,o<0?(f[p++]=0,p+=t.copy(f,p,0,n)):p+=t.copy(f,p,o,n),f[p++]=Vi,f[p++]=u,s<0?(f[p++]=0,t.copy(f,p,n)):t.copy(f,p,n+s),f}Gg.exports={derToJose:Gk,joseToDer:Jk}});var Wt=X(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.LRUCache=void 0;Sn.snakeToCamel=Vg;Sn.originalOrCamelOptions=Yk;Sn.removeUndefinedValuesInObject=Xk;Sn.isValidFile=Zk;Sn.getWellKnownCertificateConfigFileLocation=eA;var Vk=re("fs"),Kk=re("os"),sl=re("path"),Qk="certificate_config.json",Jg="gcloud";function Vg(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function Yk(t){function e(n){let r=t||{};return r[n]??r[Vg(n)]}return{get:e}}var il=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=il;function Xk(t){return Object.entries(t).forEach(([e,n])=>{(n===void 0||n==="undefined")&&delete t[e]}),t}async function Zk(t){try{return(await Vk.promises.lstat(t)).isFile()}catch{return!1}}function eA(){let t=process.env.CLOUDSDK_CONFIG||(tA()?sl.join(process.env.APPDATA||"",Jg):sl.join(process.env.HOME||"",".config",Jg));return sl.join(t,Qk)}function tA(){return Kk.platform().startsWith("win")}});var Kg=X((uP,nA)=>{nA.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 al=X(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.USER_AGENT=Jn.PRODUCT_NAME=Jn.pkg=void 0;var Qg=Kg();Jn.pkg=Qg;var Yg="google-api-nodejs-client";Jn.PRODUCT_NAME=Yg;var rA=`${Yg}/${Qg.version}`;Jn.USER_AGENT=rA});var _t=X(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.AuthClient=Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Gt.DEFAULT_UNIVERSE=void 0;var oA=re("events"),ul=Xe(),sA=Wt(),iA=Jc(),cl=al();Gt.DEFAULT_UNIVERSE="googleapis.com";Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var ll=class t extends oA.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,sA.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 ul.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&&ul.Gaxios.mergeHeaders(s,n.headers),r&&ul.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,iA.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(`${cl.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${n} ${cl.USER_AGENT}`):e.headers.set("User-Agent",cl.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=ll});var fl=X(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.LoginTicket=void 0;var dl=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()}}};Ki.LoginTicket=dl});var _r=X(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});nn.OAuth2Client=nn.ClientAuthentication=nn.CertificateFormat=nn.CodeChallengeMethod=void 0;var Xg=Xe(),aA=re("querystring"),uA=re("stream"),cA=ol(),Zg=Wt(),hl=Ko(),no=_t(),lA=fl(),ey;(function(t){t.Plain="plain",t.S256="S256"})(ey||(nn.CodeChallengeMethod=ey={}));var Tn;(function(t){t.PEM="PEM",t.JWK="JWK"})(Tn||(nn.CertificateFormat=Tn={}));var Qo;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(Qo||(nn.ClientAuthentication=Qo={}));var pl=class t extends no.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||Qo.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()+"?"+aA.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,hl.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===Qo.ClientSecretBasic){let l=Buffer.from(`${this._clientId}:${this._clientSecret}`);r.set("authorization",`Basic ${l.toString("base64")}`)}this.clientAuthentication===Qo.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,Zg.removeUndefinedValuesInObject)(o)),headers:r};no.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,Zg.removeUndefinedValuesInObject)(r))};no.AuthClient.setMethodName(a,"refreshTokenNoCache"),o=await this.transporter.request(a)}catch(a){throw a instanceof Xg.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(no.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=Xg.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 uA.Readable,d=s===401||s===403;if(!n&&d&&!l&&a)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!n&&d&&!l&&u){let f=await this.processAndValidateRefreshHandler();return f?.access_token&&this.setCredentials(f),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,hl.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 d={...t.RETRY_CONFIG,url:o};no.AuthClient.setMethodName(d,"getFederatedSignonCertsAsync"),r=await this.transporter.request(d)}catch(d){throw d instanceof Error&&(d.message=`Failed to retrieve verification certificates: ${d.message}`),d}let s=r?.headers.get("cache-control"),a=-1;if(s){let d=/max-age=(?<maxAge>[0-9]+)/.exec(s)?.groups?.maxAge;d&&(a=Number(d)*1e3)}let u={};switch(n){case Tn.PEM:u=r.data;break;case Tn.JWK:for(let d of r.data.keys)u[d.kid]=d;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};no.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,hl.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],d=u[2],f,p;try{f=JSON.parse(a.decodeBase64StringUtf8(u[0]))}catch(C){throw C instanceof Error&&(C.message=`Can't parse token envelope: ${u[0]}': ${C.message}`),C}if(!f)throw new Error("Can't parse token envelope: "+u[0]);try{p=JSON.parse(a.decodeBase64StringUtf8(u[1]))}catch(C){throw C instanceof Error&&(C.message=`Can't parse token payload '${u[0]}`),C}if(!p)throw new Error("Can't parse token payload: "+u[1]);if(!Object.prototype.hasOwnProperty.call(n,f.kid))throw new Error("No pem found for envelope: "+JSON.stringify(f));let m=n[f.kid];if(f.alg==="ES256"&&(d=cA.joseToDer(d,"ES256").toString("base64")),!await a.verify(m,l,d))throw new Error("Invalid token signature: "+e);if(!p.iat)throw new Error("No issue time in token: "+JSON.stringify(p));if(!p.exp)throw new Error("No expiration time in token: "+JSON.stringify(p));let w=Number(p.iat);if(isNaN(w))throw new Error("iat field using invalid format");let y=Number(p.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(p));let _=w-t.CLOCK_SKEW_SECS_,A=y+t.CLOCK_SKEW_SECS_;if(g<_)throw new Error("Token used too early, "+g+" < "+_+": "+JSON.stringify(p));if(g>A)throw new Error("Token used too late, "+g+" > "+A+": "+JSON.stringify(p));if(o&&o.indexOf(p.iss)<0)throw new Error("Invalid issuer, expected one of ["+o+"], but got "+p.iss);if(typeof r<"u"&&r!==null){let C=p.aud,S=!1;if(r.constructor===Array?S=r.indexOf(C)>-1:S=C===r,!S)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new lA.LoginTicket(f,p)}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=pl});var gl=X(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.Compute=void 0;var dA=Xe(),ty=Vo(),fA=_r(),ml=class extends fA.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 ty.instance(o)}catch(o){throw o instanceof dA.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 ty.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))}};Qi.Compute=ml});var _l=X(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.IdTokenClient=void 0;var hA=_r(),yl=class extends hA.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}};Yi.IdTokenClient=yl});var bl=X(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});ro.GCPEnv=void 0;ro.clear=pA;ro.getEnv=mA;var ny=Vo(),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||(ro.GCPEnv=rn={}));var Yo;function pA(){Yo=void 0}async function mA(){return Yo||(Yo=gA(),Yo)}async function gA(){let t=rn.NONE;return yA()?t=rn.APP_ENGINE:_A()?t=rn.CLOUD_FUNCTIONS:await EA()?await wA()?t=rn.KUBERNETES_ENGINE:bA()?t=rn.CLOUD_RUN:CA()?t=rn.CLOUD_RUN_JOBS:t=rn.COMPUTE_ENGINE:t=rn.NONE,t}function yA(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function _A(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function bA(){return!!process.env.K_CONFIGURATION}function CA(){return!!process.env.CLOUD_RUN_JOB}async function wA(){try{return await ny.instance("attributes/cluster-name"),!0}catch{return!1}}async function EA(){return ny.isAvailable()}});var Cl=X((gP,ry)=>{var Xi=to().Buffer,kA=re("stream"),AA=re("util");function Zi(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=Xi.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=Xi.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+")")}AA.inherits(Zi,kA);Zi.prototype.write=function(e){this.buffer=Xi.concat([this.buffer,Xi.from(e)]),this.emit("data",e)};Zi.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};ry.exports=Zi});var sy=X((yP,oy)=>{"use strict";var Xo=re("buffer").Buffer,wl=re("buffer").SlowBuffer;oy.exports=ea;function ea(t,e){if(!Xo.isBuffer(t)||!Xo.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}ea.install=function(){Xo.prototype.equal=wl.prototype.equal=function(e){return ea(this,e)}};var SA=Xo.prototype.equal,TA=wl.prototype.equal;ea.restore=function(){Xo.prototype.equal=SA,wl.prototype.equal=TA}});var Sl=X((_P,py)=>{var so=to().Buffer,xt=re("crypto"),ay=ol(),iy=re("util"),vA=`"%s" is not a valid algorithm.
49
+ `+y+"}":"{"+g.join(",")+"}",r=y,b}}typeof dg.stringify!="function"&&(dg.stringify=function(d,f,p){var m;if(r="",o="",typeof p=="number")for(m=0;m<p;m+=1)o+=" ";else typeof p=="string"&&(o=p);if(a=f,f&&typeof f!="function"&&(typeof f!="object"||typeof f.length!="number"))throw new Error("JSON.stringify");return l("",{"":d})})})()});var mg=X((rP,pg)=>{var Ui=null,ok=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,sk=/(?: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)/,ik=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 Ui==null&&(Ui=qc()),g.length>15?e.storeAsString?g:e.useNativeBigInt?BigInt(g):new Ui(g):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(y):new Ui(y):y},d=function(){var y,g,_="",A;if(r==='"')for(var C=n;u();){if(r==='"')return n-1>C&&(_+=s.substring(C,n-1)),u(),_;if(r==="\\"){if(n-1>C&&(_+=s.substring(C,n-1)),u(),r==="u"){for(A=0,g=0;g<4&&(y=parseInt(u(),16),!!isFinite(y));g+=1)A=A*16+y;_+=String.fromCharCode(A)}else if(typeof o[r]=="string")_+=o[r];else break;C=n}}a("Bad string")},f=function(){for(;r&&r<=" ";)u()},p=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,b=function(){var y=[];if(r==="["){if(u("["),f(),r==="]")return u("]"),y;for(;r;){if(y.push(m()),f(),r==="]")return u("]"),y;u(","),f()}}a("Bad array")},w=function(){var y,g=Object.create(null);if(r==="{"){if(u("{"),f(),r==="}")return u("}"),g;for(;r;){if(y=d(),f(),u(":"),e.strict===!0&&Object.hasOwnProperty.call(g,y)&&a('Duplicate key "'+y+'"'),ok.test(y)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?m():g[y]=m():sk.test(y)===!0?e.constructorAction==="error"?a("Object contains forbidden constructor property"):e.constructorAction==="ignore"?m():g[y]=m():g[y]=m(),f(),r==="}")return u("}"),g;u(","),f()}}a("Bad object")};return m=function(){switch(f(),r){case"{":return w();case"[":return b();case'"':return d();case"-":return l();default:return r>="0"&&r<="9"?l():p()}},function(y,g){var _;return s=y+"",n=0,r=" ",_=m(),f(),r&&a("Syntax error"),typeof g=="function"?(function A(C,S){var T,R,$=C[S];return $&&typeof $=="object"&&Object.keys($).forEach(function(V){R=A($,V),R!==void 0?$[V]=R:delete $[V]}),g.call(C,S,$)})({"":_},""):_}};pg.exports=ik});var _g=X((oP,$i)=>{var gg=hg().stringify,yg=mg();$i.exports=function(t){return{parse:yg(t),stringify:gg}};$i.exports.parse=yg();$i.exports.stringify=gg});var zc=X(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.GCE_LINUX_BIOS_PATHS=void 0;zt.isGoogleCloudServerless=wg;zt.isGoogleComputeEngineLinux=Eg;zt.isGoogleComputeEngineMACAddress=kg;zt.isGoogleComputeEngine=Ag;zt.detectGCPResidency=uk;var bg=re("fs"),Cg=re("os");zt.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var ak=/^42:01/;function wg(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function Eg(){if((0,Cg.platform)()!=="linux")return!1;try{(0,bg.statSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,bg.readFileSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function kg(){let t=(0,Cg.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:n}of e)if(ak.test(n))return!0}return!1}function Ag(){return Eg()||kg()}function uk(){return wg()||Ag()}});var Sg=X(qi=>{"use strict";Object.defineProperty(qi,"__esModule",{value:!0});qi.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="")}};qi.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 Rg=X(Re=>{"use strict";var ck=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]})),lk=Re&&Re.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),vg=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"&&ck(n,e,r[o]);return lk(n,e),n}})();Object.defineProperty(Re,"__esModule",{value:!0});Re.env=Re.DebugLogBackendBase=Re.placeholder=Re.AdhocDebugLogger=Re.LogSeverity=void 0;Re.getNodeBackend=Wc;Re.getDebugBackend=fk;Re.getStructuredBackend=hk;Re.setBackend=pk;Re.log=Dg;var dk=re("events"),Go=vg(re("process")),Tg=vg(re("util")),gt=Sg(),Ht;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(Ht||(Re.LogSeverity=Ht={}));var Jo=class extends dk.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=>Dg(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=Jo;Re.placeholder=new Jo("",()=>{}).func;var Zr=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let n=(e=Go.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=Zr;var Hc=class extends Zr{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=`${gt.Colours.green}${e}${gt.Colours.reset}`,a=`${gt.Colours.yellow}${Go.pid}${gt.Colours.reset}`,u;switch(n.severity){case Ht.ERROR:u=`${gt.Colours.red}${n.severity}${gt.Colours.reset}`;break;case Ht.INFO:u=`${gt.Colours.magenta}${n.severity}${gt.Colours.reset}`;break;case Ht.WARNING:u=`${gt.Colours.yellow}${n.severity}${gt.Colours.reset}`;break;default:u=(o=n.severity)!==null&&o!==void 0?o:Ht.DEFAULT;break}let l=Tg.formatWithOptions({colors:gt.Colours.enabled},...r),d=Object.assign({},n);delete d.severity;let f=Object.getOwnPropertyNames(d).length?JSON.stringify(d):"",p=f?`${gt.Colours.grey}${f}${gt.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",a,s,u,l,f?` ${p}`:"")}:()=>{}}setFilters(){let n=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${n}$`,"i")}};function Wc(){return new Hc}var Gc=class extends Zr{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=Go.env.NODE_DEBUG)!==null&&e!==void 0?e:"";Go.env.NODE_DEBUG=`${n}${n?",":""}${this.filters.join(",")}`}};function fk(t){return new Gc(t)}var Jc=class extends Zr{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:Tg.format(...s)},o),d=JSON.stringify(l);r?r(o,d):console.log("%s",d)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}};function hk(t){return new Jc(t)}Re.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var Vc=new Map,yt;function pk(t){yt=t,Vc.clear()}function Dg(t,e){if(!yt&&!Go.env[Re.env.nodeEnables]||!t)return Re.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let n=Vc.get(t);if(n)return n.func;if(yt===null)return Re.placeholder;yt===void 0&&(yt=Wc());let r=(()=>{let o;return new Jo(t,(a,...u)=>{if(o!==yt){if(yt===null)return;yt===void 0&&(yt=Wc()),o=yt}yt?.log(t,a,...u)})})();return Vc.set(t,r),r.func}});var Kc=X(mr=>{"use strict";var mk=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]})),gk=mr&&mr.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&mk(e,t,n)};Object.defineProperty(mr,"__esModule",{value:!0});gk(Rg(),mr)});var Ko=X(he=>{"use strict";var Og=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]})),yk=he&&he.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),_k=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"&&Og(n,e,r[o]);return yk(n,e),n}})(),bk=he&&he.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Og(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=Sk;he.project=vk;he.universe=Tk;he.bulk=Dk;he.isAvailable=xk;he.resetIsAvailableCache=Ok;he.getGCPResidency=Xc;he.setGCPResidency=Pg;he.requestTimeout=Fg;var Yc=Xe(),Ck=_g(),wk=zc(),Ek=_k(Kc());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 xg=Ek.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 Qc(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 kk(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 Vo(t,e={},n=3,r=!1){let o=new Headers(he.HEADERS),s="",a={};if(typeof t=="object"){let p=t;new Headers(p.headers).forEach((m,b)=>o.set(b,m)),s=p.metadataKey,a=p.params||a,n=p.noResponseRetries||n,r=p.fastFail||r}else s=t;typeof e=="string"?s+=`/${e}`:(kk(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((p,m)=>o.set(m,p)),a=e.params||a);let u=r?Ak:Yc.request,l={url:`${Qc()}/${s}`,headers:o,retryConfig:{noResponseRetries:n},params:a,responseType:"text",timeout:Fg()};xg.info("instance request %j",l);let d=await u(l);xg.info("instance metadata is %s",d.data);let f=d.headers.get(he.HEADER_NAME);if(f!==he.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${he.HEADER_NAME} header. Expected '${he.HEADER_VALUE}', got ${f?`'${f}'`:"no header"}`);if(typeof d.data=="string")try{return Ck.parse(d.data)}catch{}return d.data}async function Ak(t){let e={...t,url:t.url?.toString().replace(Qc(),Qc(he.SECONDARY_HOST_ADDRESS))},n=(0,Yc.request)(t),r=(0,Yc.request)(e);return Promise.any([n,r])}function Sk(t){return Vo("instance",t)}function vk(t){return Vo("project",t)}function Tk(t){return Vo("universe",t)}async function Dk(t){let e={};return await Promise.all(t.map(n=>(async()=>{let r=await Vo(n),o=n.metadataKey;e[o]=r})())),e}function Rk(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var zi;async function xk(){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 Xc();case"ping-only":}}try{return zi===void 0&&(zi=Vo("instance",void 0,Rk(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await zi,!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 Ok(){zi=void 0}he.gcpResidencyCache=null;function Xc(){return he.gcpResidencyCache===null&&Pg(),he.gcpResidencyCache}function Pg(t=null){he.gcpResidencyCache=t!==null?t:(0,wk.detectGCPResidency)()}function Fg(){return Xc()?0:3e3}bk(zc(),he)});var Bg=X(Hi=>{"use strict";Hi.byteLength=Fk;Hi.toByteArray=Nk;Hi.fromByteArray=Lk;var en=[],Rt=[],Pk=typeof Uint8Array<"u"?Uint8Array:Array,Zc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(gr=0,Ig=Zc.length;gr<Ig;++gr)en[gr]=Zc[gr],Rt[Zc.charCodeAt(gr)]=gr;var gr,Ig;Rt[45]=62;Rt[95]=63;function Ng(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 Fk(t){var e=Ng(t),n=e[0],r=e[1];return(n+r)*3/4-r}function Ik(t,e,n){return(e+n)*3/4-n}function Nk(t){var e,n=Ng(t),r=n[0],o=n[1],s=new Pk(Ik(t,r,o)),a=0,u=o>0?r-4:r,l;for(l=0;l<u;l+=4)e=Rt[t.charCodeAt(l)]<<18|Rt[t.charCodeAt(l+1)]<<12|Rt[t.charCodeAt(l+2)]<<6|Rt[t.charCodeAt(l+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return o===2&&(e=Rt[t.charCodeAt(l)]<<2|Rt[t.charCodeAt(l+1)]>>4,s[a++]=e&255),o===1&&(e=Rt[t.charCodeAt(l)]<<10|Rt[t.charCodeAt(l+1)]<<4|Rt[t.charCodeAt(l+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function Bk(t){return en[t>>18&63]+en[t>>12&63]+en[t>>6&63]+en[t&63]}function Mk(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(Bk(r));return o.join("")}function Lk(t){for(var e,n=t.length,r=n%3,o=[],s=16383,a=0,u=n-r;a<u;a+=s)o.push(Mk(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 tl=X(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});el.fromArrayBufferToHex=jk;function jk(t){return Array.from(new Uint8Array(t)).map(n=>n.toString(16).padStart(2,"0")).join("")}});var Mg=X(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.BrowserCrypto=void 0;var eo=Bg(),Uk=tl(),nl=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 eo.fromByteArray(new Uint8Array(r))}randomBytesBase64(e){let n=new Uint8Array(e);return window.crypto.getRandomValues(n),eo.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=eo.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 eo.fromByteArray(new Uint8Array(a))}decodeBase64StringUtf8(e){let n=eo.toByteArray(t.padBase64(e));return new TextDecoder().decode(n)}encodeBase64StringUtf8(e){let n=new TextEncoder().encode(e);return eo.fromByteArray(n)}async sha256DigestHex(e){let n=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",n);return(0,Uk.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))}};Wi.BrowserCrypto=nl});var Lg=X(Gi=>{"use strict";Object.defineProperty(Gi,"__esModule",{value:!0});Gi.NodeCrypto=void 0;var to=re("crypto"),rl=class{async sha256DigestBase64(e){return to.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return to.randomBytes(e).toString("base64")}async verify(e,n,r){let o=to.createVerify("RSA-SHA256");return o.update(n),o.end(),o.verify(e,r,"base64")}async sign(e,n){let r=to.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 to.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,n){let r=typeof e=="string"?e:qk(e);return $k(to.createHmac("sha256",r).update(n).digest())}};Gi.NodeCrypto=rl;function $k(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function qk(t){return Buffer.from(t)}});var Yo=X(An=>{"use strict";var zk=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]})),Hk=An&&An.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&zk(e,t,n)};Object.defineProperty(An,"__esModule",{value:!0});An.createCrypto=Jk;An.hasBrowserCrypto=jg;var Wk=Mg(),Gk=Lg();Hk(tl(),An);function Jk(){return jg()?new Wk.BrowserCrypto:new Gk.NodeCrypto}function jg(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var no=X((ol,$g)=>{var Ji=re("buffer"),tn=Ji.Buffer;function Ug(t,e){for(var n in t)e[n]=t[n]}tn.from&&tn.alloc&&tn.allocUnsafe&&tn.allocUnsafeSlow?$g.exports=Ji:(Ug(Ji,ol),ol.Buffer=yr);function yr(t,e,n){return tn(t,e,n)}yr.prototype=Object.create(tn.prototype);Ug(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 Ji.SlowBuffer(t)}});var zg=X((mP,qg)=>{"use strict";function sl(t){var e=(t/8|0)+(t%8===0?0:1);return e}var Vk={ES256:sl(256),ES384:sl(384),ES512:sl(521)};function Kk(t){var e=Vk[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}qg.exports=Kk});var il=X((gP,Kg)=>{"use strict";var Vi=no().Buffer,Wg=zg(),Ki=128,Gg=0,Yk=32,Qk=16,Xk=2,Jg=Qk|Yk|Gg<<6,Yi=Xk|Gg<<6;function Zk(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Vg(t){if(Vi.isBuffer(t))return t;if(typeof t=="string")return Vi.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function eA(t,e){t=Vg(t);var n=Wg(e),r=n+1,o=t.length,s=0;if(t[s++]!==Jg)throw new Error('Could not find expected "seq"');var a=t[s++];if(a===(Ki|1)&&(a=t[s++]),o-s<a)throw new Error('"seq" specified length of "'+a+'", only "'+(o-s)+'" remaining');if(t[s++]!==Yi)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++]!==Yi)throw new Error('Could not find expected "int" for "s"');var d=t[s++];if(o-s!==d)throw new Error('"s" specified length of "'+d+'", expected "'+(o-s)+'"');if(r<d)throw new Error('"s" specified length of "'+d+'", max of "'+r+'" is acceptable');var f=s;if(s+=d,s!==o)throw new Error('Expected to consume entire buffer, but "'+(o-s)+'" bytes remain');var p=n-u,m=n-d,b=Vi.allocUnsafe(p+u+m+d);for(s=0;s<p;++s)b[s]=0;t.copy(b,s,l+Math.max(-p,0),l+u),s=n;for(var w=s;s<w+m;++s)b[s]=0;return t.copy(b,s,f+Math.max(-m,0),f+d),b=b.toString("base64"),b=Zk(b),b}function Hg(t,e,n){for(var r=0;e+r<n&&t[e+r]===0;)++r;var o=t[e+r]>=Ki;return o&&--r,r}function tA(t,e){t=Vg(t);var n=Wg(e),r=t.length;if(r!==n*2)throw new TypeError('"'+e+'" signatures must be "'+n*2+'" bytes, saw "'+r+'"');var o=Hg(t,0,n),s=Hg(t,n,t.length),a=n-o,u=n-s,l=2+a+1+1+u,d=l<Ki,f=Vi.allocUnsafe((d?2:3)+l),p=0;return f[p++]=Jg,d?f[p++]=l:(f[p++]=Ki|1,f[p++]=l&255),f[p++]=Yi,f[p++]=a,o<0?(f[p++]=0,p+=t.copy(f,p,0,n)):p+=t.copy(f,p,o,n),f[p++]=Yi,f[p++]=u,s<0?(f[p++]=0,t.copy(f,p,n)):t.copy(f,p,n+s),f}Kg.exports={derToJose:eA,joseToDer:tA}});var Wt=X(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.LRUCache=void 0;Sn.snakeToCamel=Qg;Sn.originalOrCamelOptions=sA;Sn.removeUndefinedValuesInObject=iA;Sn.isValidFile=aA;Sn.getWellKnownCertificateConfigFileLocation=uA;var nA=re("fs"),rA=re("os"),al=re("path"),oA="certificate_config.json",Yg="gcloud";function Qg(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function sA(t){function e(n){let r=t||{};return r[n]??r[Qg(n)]}return{get:e}}var ul=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=ul;function iA(t){return Object.entries(t).forEach(([e,n])=>{(n===void 0||n==="undefined")&&delete t[e]}),t}async function aA(t){try{return(await nA.promises.lstat(t)).isFile()}catch{return!1}}function uA(){let t=process.env.CLOUDSDK_CONFIG||(cA()?al.join(process.env.APPDATA||"",Yg):al.join(process.env.HOME||"",".config",Yg));return al.join(t,oA)}function cA(){return rA.platform().startsWith("win")}});var Xg=X((_P,lA)=>{lA.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 cl=X(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.USER_AGENT=Jn.PRODUCT_NAME=Jn.pkg=void 0;var Zg=Xg();Jn.pkg=Zg;var ey="google-api-nodejs-client";Jn.PRODUCT_NAME=ey;var dA=`${ey}/${Zg.version}`;Jn.USER_AGENT=dA});var _t=X(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.AuthClient=Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Gt.DEFAULT_UNIVERSE=void 0;var fA=re("events"),ll=Xe(),hA=Wt(),pA=Kc(),dl=cl();Gt.DEFAULT_UNIVERSE="googleapis.com";Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var fl=class t extends fA.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,hA.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 ll.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&&ll.Gaxios.mergeHeaders(s,n.headers),r&&ll.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,pA.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(`${dl.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${n} ${dl.USER_AGENT}`):e.headers.set("User-Agent",dl.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=fl});var pl=X(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.LoginTicket=void 0;var hl=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()}}};Qi.LoginTicket=hl});var _r=X(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});nn.OAuth2Client=nn.ClientAuthentication=nn.CertificateFormat=nn.CodeChallengeMethod=void 0;var ty=Xe(),mA=re("querystring"),gA=re("stream"),yA=il(),ny=Wt(),ml=Yo(),ro=_t(),_A=pl(),ry;(function(t){t.Plain="plain",t.S256="S256"})(ry||(nn.CodeChallengeMethod=ry={}));var vn;(function(t){t.PEM="PEM",t.JWK="JWK"})(vn||(nn.CertificateFormat=vn={}));var Qo;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(Qo||(nn.ClientAuthentication=Qo={}));var gl=class t extends ro.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||Qo.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()+"?"+mA.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,ml.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===Qo.ClientSecretBasic){let l=Buffer.from(`${this._clientId}:${this._clientSecret}`);r.set("authorization",`Basic ${l.toString("base64")}`)}this.clientAuthentication===Qo.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,ny.removeUndefinedValuesInObject)(o)),headers:r};ro.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,ny.removeUndefinedValuesInObject)(r))};ro.AuthClient.setMethodName(a,"refreshTokenNoCache"),o=await this.transporter.request(a)}catch(a){throw a instanceof ty.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(ro.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=ty.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 gA.Readable,d=s===401||s===403;if(!n&&d&&!l&&a)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!n&&d&&!l&&u){let f=await this.processAndValidateRefreshHandler();return f?.access_token&&this.setCredentials(f),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,ml.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 d={...t.RETRY_CONFIG,url:o};ro.AuthClient.setMethodName(d,"getFederatedSignonCertsAsync"),r=await this.transporter.request(d)}catch(d){throw d instanceof Error&&(d.message=`Failed to retrieve verification certificates: ${d.message}`),d}let s=r?.headers.get("cache-control"),a=-1;if(s){let d=/max-age=(?<maxAge>[0-9]+)/.exec(s)?.groups?.maxAge;d&&(a=Number(d)*1e3)}let u={};switch(n){case vn.PEM:u=r.data;break;case vn.JWK:for(let d of r.data.keys)u[d.kid]=d;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};ro.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,ml.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],d=u[2],f,p;try{f=JSON.parse(a.decodeBase64StringUtf8(u[0]))}catch(C){throw C instanceof Error&&(C.message=`Can't parse token envelope: ${u[0]}': ${C.message}`),C}if(!f)throw new Error("Can't parse token envelope: "+u[0]);try{p=JSON.parse(a.decodeBase64StringUtf8(u[1]))}catch(C){throw C instanceof Error&&(C.message=`Can't parse token payload '${u[0]}`),C}if(!p)throw new Error("Can't parse token payload: "+u[1]);if(!Object.prototype.hasOwnProperty.call(n,f.kid))throw new Error("No pem found for envelope: "+JSON.stringify(f));let m=n[f.kid];if(f.alg==="ES256"&&(d=yA.joseToDer(d,"ES256").toString("base64")),!await a.verify(m,l,d))throw new Error("Invalid token signature: "+e);if(!p.iat)throw new Error("No issue time in token: "+JSON.stringify(p));if(!p.exp)throw new Error("No expiration time in token: "+JSON.stringify(p));let w=Number(p.iat);if(isNaN(w))throw new Error("iat field using invalid format");let y=Number(p.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(p));let _=w-t.CLOCK_SKEW_SECS_,A=y+t.CLOCK_SKEW_SECS_;if(g<_)throw new Error("Token used too early, "+g+" < "+_+": "+JSON.stringify(p));if(g>A)throw new Error("Token used too late, "+g+" > "+A+": "+JSON.stringify(p));if(o&&o.indexOf(p.iss)<0)throw new Error("Invalid issuer, expected one of ["+o+"], but got "+p.iss);if(typeof r<"u"&&r!==null){let C=p.aud,S=!1;if(r.constructor===Array?S=r.indexOf(C)>-1:S=C===r,!S)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new _A.LoginTicket(f,p)}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=gl});var _l=X(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.Compute=void 0;var bA=Xe(),oy=Ko(),CA=_r(),yl=class extends CA.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 oy.instance(o)}catch(o){throw o instanceof bA.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 oy.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))}};Xi.Compute=yl});var Cl=X(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.IdTokenClient=void 0;var wA=_r(),bl=class extends wA.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}};Zi.IdTokenClient=bl});var wl=X(oo=>{"use strict";Object.defineProperty(oo,"__esModule",{value:!0});oo.GCPEnv=void 0;oo.clear=EA;oo.getEnv=kA;var sy=Ko(),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||(oo.GCPEnv=rn={}));var Xo;function EA(){Xo=void 0}async function kA(){return Xo||(Xo=AA(),Xo)}async function AA(){let t=rn.NONE;return SA()?t=rn.APP_ENGINE:vA()?t=rn.CLOUD_FUNCTIONS:await xA()?await RA()?t=rn.KUBERNETES_ENGINE:TA()?t=rn.CLOUD_RUN:DA()?t=rn.CLOUD_RUN_JOBS:t=rn.COMPUTE_ENGINE:t=rn.NONE,t}function SA(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function vA(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function TA(){return!!process.env.K_CONFIGURATION}function DA(){return!!process.env.CLOUD_RUN_JOB}async function RA(){try{return await sy.instance("attributes/cluster-name"),!0}catch{return!1}}async function xA(){return sy.isAvailable()}});var El=X((vP,iy)=>{var ea=no().Buffer,OA=re("stream"),PA=re("util");function ta(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=ea.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=ea.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+")")}PA.inherits(ta,OA);ta.prototype.write=function(e){this.buffer=ea.concat([this.buffer,ea.from(e)]),this.emit("data",e)};ta.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};iy.exports=ta});var uy=X((TP,ay)=>{"use strict";var Zo=re("buffer").Buffer,kl=re("buffer").SlowBuffer;ay.exports=na;function na(t,e){if(!Zo.isBuffer(t)||!Zo.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}na.install=function(){Zo.prototype.equal=kl.prototype.equal=function(e){return na(this,e)}};var FA=Zo.prototype.equal,IA=kl.prototype.equal;na.restore=function(){Zo.prototype.equal=FA,kl.prototype.equal=IA}});var Tl=X((DP,yy)=>{var io=no().Buffer,xt=re("crypto"),ly=il(),cy=re("util"),NA=`"%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".`,Zo="secret must be a string or buffer",oo="key must be a string or a buffer",DA="key must be a string, a buffer or an object",kl=typeof xt.createPublicKey=="function";kl&&(oo+=" or a KeyObject",Zo+="or a KeyObject");function uy(t){if(!so.isBuffer(t)&&typeof t!="string"&&(!kl||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw Jt(oo)}function cy(t){if(!so.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw Jt(DA)}function RA(t){if(!so.isBuffer(t)){if(typeof t=="string")return t;if(!kl||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw Jt(Zo)}}function Al(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function ly(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=iy.format.bind(iy,t).apply(null,e);return new TypeError(n)}function xA(t){return so.isBuffer(t)||typeof t=="string"}function es(t){return xA(t)||(t=JSON.stringify(t)),t}function dy(t){return function(n,r){RA(r),n=es(n);var o=xt.createHmac("sha"+t,r),s=(o.update(n),o.digest("base64"));return Al(s)}}var El,OA="timingSafeEqual"in xt?function(e,n){return e.byteLength!==n.byteLength?!1:xt.timingSafeEqual(e,n)}:function(e,n){return El||(El=sy()),El(e,n)};function PA(t){return function(n,r,o){var s=dy(t)(n,o);return OA(so.from(r),so.from(s))}}function fy(t){return function(n,r){cy(r),n=es(n);var o=xt.createSign("RSA-SHA"+t),s=(o.update(n),o.sign(r,"base64"));return Al(s)}}function hy(t){return function(n,r,o){uy(o),n=es(n),r=ly(r);var s=xt.createVerify("RSA-SHA"+t);return s.update(n),s.verify(o,r,"base64")}}function FA(t){return function(n,r){cy(r),n=es(n);var o=xt.createSign("RSA-SHA"+t),s=(o.update(n),o.sign({key:r,padding:xt.constants.RSA_PKCS1_PSS_PADDING,saltLength:xt.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return Al(s)}}function IA(t){return function(n,r,o){uy(o),n=es(n),r=ly(r);var s=xt.createVerify("RSA-SHA"+t);return s.update(n),s.verify({key:o,padding:xt.constants.RSA_PKCS1_PSS_PADDING,saltLength:xt.constants.RSA_PSS_SALTLEN_DIGEST},r,"base64")}}function BA(t){var e=fy(t);return function(){var r=e.apply(null,arguments);return r=ay.derToJose(r,"ES"+t),r}}function NA(t){var e=hy(t);return function(r,o,s){o=ay.joseToDer(o,"ES"+t).toString("base64");var a=e(r,o,s);return a}}function MA(){return function(){return""}}function LA(){return function(e,n){return n===""}}py.exports=function(e){var n={hs:dy,rs:fy,ps:FA,es:BA,none:MA},r={hs:PA,rs:hy,ps:IA,es:NA,none:LA},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw Jt(vA,e);var s=(o[1]||o[3]).toLowerCase(),a=o[2];return{sign:n[s](a),verify:r[s](a)}}});var Tl=X((bP,my)=>{var jA=re("buffer").Buffer;my.exports=function(e){return typeof e=="string"?e:typeof e=="number"||jA.isBuffer(e)?e.toString():JSON.stringify(e)}});var wy=X((CP,Cy)=>{var UA=to().Buffer,gy=Cl(),$A=Sl(),qA=re("stream"),yy=Tl(),vl=re("util");function _y(t,e){return UA.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function zA(t,e,n){n=n||"utf8";var r=_y(yy(t),"binary"),o=_y(yy(e),n);return vl.format("%s.%s",r,o)}function by(t){var e=t.header,n=t.payload,r=t.secret||t.privateKey,o=t.encoding,s=$A(e.alg),a=zA(e,n,o),u=s.sign(a,r);return vl.format("%s.%s",a,u)}function ta(t){var e=t.secret||t.privateKey||t.key,n=new gy(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=n,this.payload=new gy(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))}vl.inherits(ta,qA);ta.prototype.sign=function(){try{var e=by({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")}};ta.sign=by;Cy.exports=ta});var Oy=X((wP,xy)=>{var ky=to().Buffer,Ey=Cl(),HA=Sl(),WA=re("stream"),Ay=Tl(),GA=re("util"),JA=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function VA(t){return Object.prototype.toString.call(t)==="[object Object]"}function KA(t){if(VA(t))return t;try{return JSON.parse(t)}catch{return}}function Sy(t){var e=t.split(".",1)[0];return KA(ky.from(e,"base64").toString("binary"))}function QA(t){return t.split(".",2).join(".")}function Ty(t){return t.split(".")[2]}function YA(t,e){e=e||"utf8";var n=t.split(".")[1];return ky.from(n,"base64").toString(e)}function vy(t){return JA.test(t)&&!!Sy(t)}function Dy(t,e,n){if(!e){var r=new Error("Missing algorithm parameter for jws.verify");throw r.code="MISSING_ALGORITHM",r}t=Ay(t);var o=Ty(t),s=QA(t),a=HA(e);return a.verify(s,o,n)}function Ry(t,e){if(e=e||{},t=Ay(t),!vy(t))return null;var n=Sy(t);if(!n)return null;var r=YA(t);return(n.typ==="JWT"||e.json)&&(r=JSON.parse(r,e.encoding)),{header:n,payload:r,signature:Ty(t)}}function io(t){t=t||{};var e=t.secret||t.publicKey||t.key,n=new Ey(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=n,this.signature=new Ey(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))}GA.inherits(io,WA);io.prototype.verify=function(){try{var e=Dy(this.signature.buffer,this.algorithm,this.key.buffer),n=Ry(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")}};io.decode=Ry;io.isValid=vy;io.verify=Dy;xy.exports=io});var Dl=X(Vn=>{var Py=wy(),na=Oy(),XA=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Vn.ALGORITHMS=XA;Vn.sign=Py.sign;Vn.verify=na.verify;Vn.decode=na.decode;Vn.isValid=na.isValid;Vn.createSign=function(e){return new Py(e)};Vn.createVerify=function(e){return new na(e)}});var Jy=X(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.GoogleToken=void 0;var Fy=ra(re("fs")),ZA=Xe(),eS=ra(Dl()),tS=ra(re("path")),nS=re("util");function ra(t,e){if(typeof WeakMap=="function")var n=new WeakMap,r=new WeakMap;return(ra=function(s,a){if(!a&&s&&s.__esModule)return s;var u,l,d={__proto__:null,default:s};if(s===null||vn(s)!="object"&&typeof s!="function")return d;if(u=a?r:n){if(u.has(s))return u.get(s);u.set(s,d)}for(var f in s)f!=="default"&&{}.hasOwnProperty.call(s,f)&&((l=(u=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,f))&&(l.get||l.set)?u(d,f,l):d[f]=s[f]);return d})(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 rS(t,e){qy(t,e),e.add(t)}function oS(t,e,n){qy(t,e),e.set(t,n)}function qy(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Iy(t,e,n){return t.set(Vt(t,e),n),n}function By(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 Ny(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,Wy(r.key),r)}}function zy(t,e,n){return e&&Ny(t.prototype,e),n&&Ny(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function Hy(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function sS(t,e,n){return e=os(e),iS(t,Il()?Reflect.construct(e,n||[],os(t).constructor):e.apply(t,n))}function iS(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 aS(t)}function aS(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function uS(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&&rs(t,e)}function Rl(t){var e=typeof Map=="function"?new Map:void 0;return Rl=function(r){if(r===null||!lS(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,os(this).constructor)}return o.prototype=Object.create(r.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),rs(o,r)},Rl(t)}function cS(t,e,n){if(Il())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var o=new(t.bind.apply(t,r));return n&&rs(o,n.prototype),o}function Il(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Il=function(){return!!t})()}function lS(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function rs(t,e){return rs=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},rs(t,e)}function os(t){return os=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},os(t)}function bt(t,e,n){return(e=Wy(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Wy(t){var e=dS(t,"string");return vn(e)=="symbol"?e:e+""}function dS(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 wt(){var t,e,n=typeof Symbol=="function"?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function s(b,w,y,g){var _=w&&w.prototype instanceof u?w:u,A=Object.create(_.prototype);return Ct(A,"_invoke",(function(C,S,v){var R,$,V,P=0,Q=v||[],z=!1,K={p:0,n:0,v:t,a:Y,f:Y.bind(t,4),d:function(ae,se){return R=ae,$=0,V=t,K.n=se,a}};function Y(ee,ae){for($=ee,V=ae,e=0;!z&&P&&!se&&e<Q.length;e++){var se,me=Q[e],G=K.p,Z=me[2];ee>3?(se=Z===ae)&&(V=me[($=me[4])?5:($=3,3)],me[4]=me[5]=t):me[0]<=G&&((se=ee<2&&G<me[1])?($=0,K.v=ae,K.n=me[1]):G<Z&&(se=ee<3||me[0]>ae||ae>Z)&&(me[4]=ee,me[5]=ae,K.n=Z,$=0))}if(se||ee>1)return a;throw z=!0,ae}return function(ee,ae,se){if(P>1)throw TypeError("Generator is already running");for(z&&ae===1&&Y(ae,se),$=ae,V=se;(e=$<2?t:V)||!z;){R||($?$<3?($>1&&(K.n=-1),Y($,V)):K.n=V:K.v=V);try{if(P=2,R){if($||(ee="next"),e=R[ee]){if(!(e=e.call(R,V)))throw TypeError("iterator result is not an object");if(!e.done)return e;V=e.value,$<2&&($=0)}else $===1&&(e=R.return)&&e.call(R),$<2&&(V=TypeError("The iterator does not provide a '"+ee+"' method"),$=1);R=t}else if((e=(z=K.n<0)?V:C.call(S,K))!==a)break}catch(me){R=t,$=1,V=me}finally{P=1}}return{value:e,done:z}}})(b,y,g),!0),A}var a={};function u(){}function l(){}function d(){}e=Object.getPrototypeOf;var f=[][r]?e(e([][r]())):(Ct(e={},r,function(){return this}),e),p=d.prototype=u.prototype=Object.create(f);function m(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,d):(b.__proto__=d,Ct(b,o,"GeneratorFunction")),b.prototype=Object.create(p),b}return l.prototype=d,Ct(p,"constructor",d),Ct(d,"constructor",l),l.displayName="GeneratorFunction",Ct(d,o,"GeneratorFunction"),Ct(p),Ct(p,o,"Generator"),Ct(p,r,function(){return this}),Ct(p,"toString",function(){return"[object Generator]"}),(wt=function(){return{w:s,m}})()}function Ct(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}Ct=function(a,u,l,d){if(u)o?o(a,u,{value:l,enumerable:!d,configurable:!d,writable:!d}):a[u]=l;else{var f=function(m,b){Ct(a,m,function(w){return this._invoke(m,b,w)})};f("next",0),f("throw",1),f("return",2)}},Ct(t,e,n,r)}function My(t,e,n,r,o,s,a){try{var u=t[s](a),l=u.value}catch(d){return void n(d)}u.done?e(l):Promise.resolve(l).then(r,o)}function ao(t){return function(){var e=this,n=arguments;return new Promise(function(r,o){var s=t.apply(e,n);function a(l){My(s,r,o,a,u,"next",l)}function u(l){My(s,r,o,a,u,"throw",l)}a(void 0)})}}var Ly=Fy.readFile?(0,nS.promisify)(Fy.readFile):ao(wt().m(function t(){return wt().w(function(e){for(;;)switch(e.n){case 0:throw new ns("use key rather than keyFile.","MISSING_CREDENTIALS");case 1:return e.a(2)}},t)})),jy="https://oauth2.googleapis.com/token",fS="https://oauth2.googleapis.com/revoke?token=",ns=(function(t){function e(n,r){var o;return Hy(this,e),o=sS(this,e,[n]),bt(o,"code",void 0),o.code=r,o}return uS(e,t),zy(e)})(Rl(Error)),ts=new WeakMap,on=new WeakSet,kP=oa.GoogleToken=(function(){function t(e){Hy(this,t),rS(this,on),bt(this,"expiresAt",void 0),bt(this,"key",void 0),bt(this,"keyFile",void 0),bt(this,"iss",void 0),bt(this,"sub",void 0),bt(this,"scope",void 0),bt(this,"rawToken",void 0),bt(this,"tokenExpires",void 0),bt(this,"email",void 0),bt(this,"additionalClaims",void 0),bt(this,"eagerRefreshThresholdMillis",void 0),bt(this,"transporter",{request:function(r){return(0,ZA.request)(r)}}),oS(this,ts,void 0),Vt(on,this,Gy).call(this,e)}return zy(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,Uy).call(this,r).then(function(s){return o(null,s)},n);return}return Vt(on,this,Uy).call(this,r)}},{key:"getCredentials",value:(function(){var e=ao(wt().m(function r(o){var s,a,u,l,d,f,p;return wt().w(function(m){for(;;)switch(m.n){case 0:s=tS.extname(o),p=s,m.n=p===".json"?1:p===".der"||p===".crt"||p===".pem"?4:p===".p12"||p===".pfx"?6:7;break;case 1:return m.n=2,Ly(o,"utf8");case 2:if(a=m.v,u=JSON.parse(a),l=u.private_key,d=u.client_email,!(!l||!d)){m.n=3;break}throw new ns("private_key and client_email are required.","MISSING_CREDENTIALS");case 3:return m.a(2,{privateKey:l,clientEmail:d});case 4:return m.n=5,Ly(o,"utf8");case 5:return f=m.v,m.a(2,{privateKey:f});case 6:throw new ns("*.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 ns("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,$y).call(this).then(function(){return n()},n);return}return Vt(on,this,$y).call(this)}}])})();function Uy(t){return xl.apply(this,arguments)}function xl(){return xl=ao(wt().m(function t(e){return wt().w(function(n){for(;;)switch(n.n){case 0:if(!(By(ts,this)&&!e.forceRefresh)){n.n=1;break}return n.a(2,By(ts,this));case 1:return n.p=1,n.n=2,Iy(ts,this,Vt(on,this,hS).call(this,e));case 2:return n.a(2,n.v);case 3:return n.p=3,Iy(ts,this,void 0),n.f(3);case 4:return n.a(2)}},t,this,[[1,,3,4]])})),xl.apply(this,arguments)}function hS(t){return Ol.apply(this,arguments)}function Ol(){return Ol=ao(wt().m(function t(e){var n;return wt().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,pS).call(this);case 4:return r.a(2,Vt(on,this,mS).call(this))}},t,this)})),Ol.apply(this,arguments)}function pS(){if(!this.iss)throw new ns("email is required.","MISSING_CREDENTIALS")}function $y(){return Pl.apply(this,arguments)}function Pl(){return Pl=ao(wt().m(function t(){var e;return wt().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=fS+this.accessToken,n.n=2,this.transporter.request({url:e,retry:!0});case 2:Vt(on,this,Gy).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)})),Pl.apply(this,arguments)}function Gy(){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 mS(){return Fl.apply(this,arguments)}function Fl(){return Fl=ao(wt().m(function t(){var e,n,r,o,s,a,u,l,d,f;return wt().w(function(p){for(;;)switch(p.n){case 0:return e=Math.floor(new Date().getTime()/1e3),n=this.additionalClaims||{},r=Object.assign({iss:this.iss,scope:this.scope,aud:jy,exp:e+3600,iat:e,sub:this.sub},n),o=eS.sign({header:{alg:"RS256"},payload:r,secret:this.key}),p.p=1,p.n=2,this.transporter.request({method:"POST",url:jy,data:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:o}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});case 2:return s=p.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,p.a(2,this.rawToken);case 3:throw p.p=3,f=p.v,this.rawToken=void 0,this.tokenExpires=void 0,l=f.response&&(a=f.response)!==null&&a!==void 0&&a.data?(u=f.response)===null||u===void 0?void 0:u.data:{},l.error&&(d=l.error_description?": ".concat(l.error_description):"",f.message="".concat(l.error).concat(d)),f;case 4:return p.a(2)}},t,this,[[1,3]])})),Fl.apply(this,arguments)}});var Nl=X(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.JWTAccess=void 0;var gS=Dl(),yS=Wt(),Vy={alg:"RS256",typ:"JWT"},Bl=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new yS.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),d;if(Array.isArray(r)&&(r=r.join(" ")),r?d={iss:this.email,sub:this.email,scope:r,exp:l,iat:u}:d={iss:this.email,sub:this.email,aud:e,exp:l,iat:u},n){for(let w in d)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 f=this.keyId?{...Vy,kid:this.keyId}:Vy,p=Object.assign(d,n),m=gS.sign({header:f,payload:p,secret:this.key}),b=new Headers({authorization:`Bearer ${m}`});return this.cache.set(o,{expiration:l*1e3,headers:b}),b}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)}})})}};sa.JWTAccess=Bl});var Ll=X(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.JWT=void 0;var Ky=Jy(),_S=Nl(),bS=_r(),ia=_t(),Ml=class t extends bS.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!==ia.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==ia.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${ia.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 _S.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!==ia.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 Ky.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 Ky.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.")}};aa.JWT=Ml});var Ul=X(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.UserRefreshClient=uo.USER_REFRESH_ACCOUNT_TYPE=void 0;var CS=_r(),wS=_t();uo.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var jl=class t extends CS.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 wS.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}};uo.UserRefreshClient=jl});var ql=X(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.Impersonated=co.IMPERSONATED_ACCOUNT_TYPE=void 0;var Qy=_r(),ES=Xe(),kS=Wt();co.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var $l=class t extends Qy.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 Qy.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,kS.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 ES.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}};co.Impersonated=$l});var Hl=X(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});ss.OAuthClientAuthHandler=void 0;ss.getErrorFromOAuthErrorResponse=TS;var lo=Xe(),AS=Ko(),SS=["PUT","POST","PATCH"],zl=class{#e=(0,AS.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new lo.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new lo.Gaxios)}applyClientAuthenticationOptions(e,n){e.headers=lo.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,n),n||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,n){if(n)e.headers=lo.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${n}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=lo.Gaxios.mergeHeaders(e.headers);let r=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${r}:${o}`);lo.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let n=(e.method||"GET").toUpperCase();if(!SS.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"]}}}};ss.OAuthClientAuthHandler=zl;function TS(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 ca=X(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.StsCredentials=void 0;var vS=Xe(),DS=_t(),Yy=Hl(),RS=Wt(),Wl=class t extends Yy.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,RS.removeUndefinedValuesInObject)(o))};DS.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 vS.GaxiosError&&a.response?(0,Yy.getErrorFromOAuthErrorResponse)(a.response.data,a):a}}};ua.StsCredentials=Wl});var Kn=X(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.BaseExternalAccountClient=Ot.CLOUD_RESOURCE_MANAGER=Ot.EXTERNAL_ACCOUNT_TYPE=Ot.EXPIRATION_TIME_OFFSET=void 0;var xS=Xe(),OS=re("stream"),Gl=_t(),PS=ca(),Xy=Wt(),FS=al(),IS="urn:ietf:params:oauth:grant-type:token-exchange",BS="urn:ietf:params:oauth:token-type:access_token",Jl="https://www.googleapis.com/auth/cloud-platform",NS=3600;Ot.EXPIRATION_TIME_OFFSET=300*1e3;Ot.EXTERNAL_ACCOUNT_TYPE="external_account";Ot.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var MS="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",LS="https://sts.{universeDomain}/v1/token",Vl=class t extends Gl.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,Xy.originalOrCamelOptions)(e),r=n.get("type");if(r&&r!==Ot.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${Ot.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")??LS.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"),d=n.get("service_account_impersonation"),f=(0,Xy.originalOrCamelOptions)(d).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 PS.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=n.get("scopes")||[Jl],this.cachedAccessToken=null,this.audience=n.get("audience"),this.subjectTokenType=a,this.workforcePoolUserProject=u;let p=new RegExp(MS);if(this.workforcePoolUserProject&&!this.audience.match(p))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=l,this.serviceAccountImpersonationLifetime=f,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=NS),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}`};Gl.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=xS.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 OS.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:IS,audience:this.audience,requestedTokenType:BS,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Jl]: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"}};Gl.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||[Jl]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),n=this.serviceAccountImpersonationUrl!==void 0,r=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${FS.pkg.version} google-byoid-sdk source/${r} sa-impersonation/${n} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};Ot.BaseExternalAccountClient=Vl});var Zy=X(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.FileSubjectTokenSupplier=void 0;var Ql=re("util"),Yl=re("fs"),jS=(0,Ql.promisify)(Yl.readFile??(()=>{})),US=(0,Ql.promisify)(Yl.realpath??(()=>{})),$S=(0,Ql.promisify)(Yl.lstat??(()=>{})),Kl=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 US(e),!(await $S(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 jS(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}};la.FileSubjectTokenSupplier=Kl});var e0=X(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.UrlSubjectTokenSupplier=void 0;var qS=_t(),Xl=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};qS.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}};da.UrlSubjectTokenSupplier=Xl});var t0=X(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.CertificateSubjectTokenSupplier=Et.InvalidConfigurationError=Et.CertificateSourceUnavailableError=Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var fa=Wt(),ha=re("fs"),pa=re("crypto"),zS=re("https");Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var sn=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};Et.CertificateSourceUnavailableError=sn;var Pt=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};Et.InvalidConfigurationError=Pt;var Zl=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Pt("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Pt("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Pt("Cannot create mTLS Agent with missing certificate or key");return new zS.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,fa.isValidFile)(e))return e;throw new sn(`Provided certificate config path is invalid: ${e}`)}let n=process.env[Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(n){if(await(0,fa.isValidFile)(n))return n;throw new sn(`Path from environment variable "${Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${n}`)}let r=(0,fa.getWellKnownCertificateConfigFileLocation)();if(await(0,fa.isValidFile)(r))return r;throw new sn(`Could not find certificate configuration file. Searched override path, the "${Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${r}).`)}async#t(){let e=this.certificateConfigPath,n;try{n=await ha.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 Pt(`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 Pt?r:new Pt(`Failed to parse certificate config from ${e}: ${r.message}`)}}async#n(e,n){let r,o;try{r=await ha.promises.readFile(e),new pa.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 ha.promises.readFile(n),(0,pa.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 pa.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([n.raw.toString("base64")]);try{let s=((await ha.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((l,d)=>{try{return new pa.X509Certificate(l)}catch(f){let p=f instanceof Error?f.message:String(f);throw new Pt(`Failed to parse certificate at index ${d} in trust chain file ${this.trustChainPath}: ${p}`)}}),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 Pt(`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 Pt)throw r;let o=r instanceof Error?r.message:String(r);throw new sn(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};Et.CertificateSubjectTokenSupplier=Zl});var nd=X(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.IdentityPoolClient=void 0;var HS=Kn(),ed=Wt(),WS=Zy(),GS=e0(),n0=t0(),JS=ca(),r0=Xe(),td=class t extends HS.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let n=(0,ed.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,ed.originalOrCamelOptions)(r),a=(0,ed.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 d=s.get("file"),f=s.get("url"),p=s.get("certificate"),m=s.get("headers");if(d&&f||f&&p||d&&p)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(d)this.credentialSourceType="file",this.subjectTokenSupplier=new WS.FileSubjectTokenSupplier({filePath:d,formatType:u,subjectTokenFieldName:l});else if(f)this.credentialSourceType="url",this.subjectTokenSupplier=new GS.UrlSubjectTokenSupplier({url:f,formatType:u,subjectTokenFieldName:l,headers:m,additionalGaxiosOptions:t.RETRY_CONFIG});else if(p){this.credentialSourceType="certificate";let b=new n0.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:p.use_default_certificate_config,certificateConfigLocation:p.certificate_config_location,trustChainPath:p.trust_chain_path});this.subjectTokenSupplier=b}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 n0.CertificateSubjectTokenSupplier){let n=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new JS.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new r0.Gaxios({agent:n})}),this.transporter=new r0.Gaxios({...this.transporter.defaults||{},agent:n})}return e}};ma.IdentityPoolClient=td});var od=X(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.AwsRequestSigner=void 0;var ga=Xe(),s0=Ko(),o0="AWS4-HMAC-SHA256",VS="aws4_request",rd=class{getCredentials;region;crypto;constructor(e,n){this.getCredentials=e,this.region=n,this.crypto=(0,s0.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 d=await QS({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}),f=ga.Gaxios.mergeHeaders(d.amzDate?{"x-amz-date":d.amzDate}:{},{authorization:d.authorizationHeader,host:l.host},a||{});u.token&&ga.Gaxios.mergeHeaders(f,{"x-amz-security-token":u.token});let p={url:r,method:o,headers:f};return s!==void 0&&(p.body=s),p}};ya.AwsRequestSigner=rd;async function is(t,e,n){return await t.signWithHmacSha256(e,n)}async function KS(t,e,n,r,o){let s=await is(t,`AWS4${e}`,n),a=await is(t,s,r),u=await is(t,a,o);return await is(t,u,"aws4_request")}async function QS(t){let e=ga.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=ga.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":s},e),l="",d=[...u.keys()].sort();d.forEach(A=>{l+=`${A}:${u.get(A)}
52
+ "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,es="secret must be a string or buffer",so="key must be a string or a buffer",BA="key must be a string, a buffer or an object",Sl=typeof xt.createPublicKey=="function";Sl&&(so+=" or a KeyObject",es+="or a KeyObject");function dy(t){if(!io.isBuffer(t)&&typeof t!="string"&&(!Sl||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw Jt(so)}function fy(t){if(!io.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw Jt(BA)}function MA(t){if(!io.isBuffer(t)){if(typeof t=="string")return t;if(!Sl||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw Jt(es)}}function vl(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function hy(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=cy.format.bind(cy,t).apply(null,e);return new TypeError(n)}function LA(t){return io.isBuffer(t)||typeof t=="string"}function ts(t){return LA(t)||(t=JSON.stringify(t)),t}function py(t){return function(n,r){MA(r),n=ts(n);var o=xt.createHmac("sha"+t,r),s=(o.update(n),o.digest("base64"));return vl(s)}}var Al,jA="timingSafeEqual"in xt?function(e,n){return e.byteLength!==n.byteLength?!1:xt.timingSafeEqual(e,n)}:function(e,n){return Al||(Al=uy()),Al(e,n)};function UA(t){return function(n,r,o){var s=py(t)(n,o);return jA(io.from(r),io.from(s))}}function my(t){return function(n,r){fy(r),n=ts(n);var o=xt.createSign("RSA-SHA"+t),s=(o.update(n),o.sign(r,"base64"));return vl(s)}}function gy(t){return function(n,r,o){dy(o),n=ts(n),r=hy(r);var s=xt.createVerify("RSA-SHA"+t);return s.update(n),s.verify(o,r,"base64")}}function $A(t){return function(n,r){fy(r),n=ts(n);var o=xt.createSign("RSA-SHA"+t),s=(o.update(n),o.sign({key:r,padding:xt.constants.RSA_PKCS1_PSS_PADDING,saltLength:xt.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return vl(s)}}function qA(t){return function(n,r,o){dy(o),n=ts(n),r=hy(r);var s=xt.createVerify("RSA-SHA"+t);return s.update(n),s.verify({key:o,padding:xt.constants.RSA_PKCS1_PSS_PADDING,saltLength:xt.constants.RSA_PSS_SALTLEN_DIGEST},r,"base64")}}function zA(t){var e=my(t);return function(){var r=e.apply(null,arguments);return r=ly.derToJose(r,"ES"+t),r}}function HA(t){var e=gy(t);return function(r,o,s){o=ly.joseToDer(o,"ES"+t).toString("base64");var a=e(r,o,s);return a}}function WA(){return function(){return""}}function GA(){return function(e,n){return n===""}}yy.exports=function(e){var n={hs:py,rs:my,ps:$A,es:zA,none:WA},r={hs:UA,rs:gy,ps:qA,es:HA,none:GA},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw Jt(NA,e);var s=(o[1]||o[3]).toLowerCase(),a=o[2];return{sign:n[s](a),verify:r[s](a)}}});var Dl=X((RP,_y)=>{var JA=re("buffer").Buffer;_y.exports=function(e){return typeof e=="string"?e:typeof e=="number"||JA.isBuffer(e)?e.toString():JSON.stringify(e)}});var Ay=X((xP,ky)=>{var VA=no().Buffer,by=El(),KA=Tl(),YA=re("stream"),Cy=Dl(),Rl=re("util");function wy(t,e){return VA.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function QA(t,e,n){n=n||"utf8";var r=wy(Cy(t),"binary"),o=wy(Cy(e),n);return Rl.format("%s.%s",r,o)}function Ey(t){var e=t.header,n=t.payload,r=t.secret||t.privateKey,o=t.encoding,s=KA(e.alg),a=QA(e,n,o),u=s.sign(a,r);return Rl.format("%s.%s",a,u)}function ra(t){var e=t.secret||t.privateKey||t.key,n=new by(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=n,this.payload=new by(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))}Rl.inherits(ra,YA);ra.prototype.sign=function(){try{var e=Ey({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")}};ra.sign=Ey;ky.exports=ra});var Iy=X((OP,Fy)=>{var vy=no().Buffer,Sy=El(),XA=Tl(),ZA=re("stream"),Ty=Dl(),eS=re("util"),tS=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function nS(t){return Object.prototype.toString.call(t)==="[object Object]"}function rS(t){if(nS(t))return t;try{return JSON.parse(t)}catch{return}}function Dy(t){var e=t.split(".",1)[0];return rS(vy.from(e,"base64").toString("binary"))}function oS(t){return t.split(".",2).join(".")}function Ry(t){return t.split(".")[2]}function sS(t,e){e=e||"utf8";var n=t.split(".")[1];return vy.from(n,"base64").toString(e)}function xy(t){return tS.test(t)&&!!Dy(t)}function Oy(t,e,n){if(!e){var r=new Error("Missing algorithm parameter for jws.verify");throw r.code="MISSING_ALGORITHM",r}t=Ty(t);var o=Ry(t),s=oS(t),a=XA(e);return a.verify(s,o,n)}function Py(t,e){if(e=e||{},t=Ty(t),!xy(t))return null;var n=Dy(t);if(!n)return null;var r=sS(t);return(n.typ==="JWT"||e.json)&&(r=JSON.parse(r,e.encoding)),{header:n,payload:r,signature:Ry(t)}}function ao(t){t=t||{};var e=t.secret||t.publicKey||t.key,n=new Sy(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=n,this.signature=new Sy(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))}eS.inherits(ao,ZA);ao.prototype.verify=function(){try{var e=Oy(this.signature.buffer,this.algorithm,this.key.buffer),n=Py(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")}};ao.decode=Py;ao.isValid=xy;ao.verify=Oy;Fy.exports=ao});var xl=X(Vn=>{var Ny=Ay(),oa=Iy(),iS=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Vn.ALGORITHMS=iS;Vn.sign=Ny.sign;Vn.verify=oa.verify;Vn.decode=oa.decode;Vn.isValid=oa.isValid;Vn.createSign=function(e){return new Ny(e)};Vn.createVerify=function(e){return new oa(e)}});var Yy=X(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.GoogleToken=void 0;var By=sa(re("fs")),aS=Xe(),uS=sa(xl()),cS=sa(re("path")),lS=re("util");function sa(t,e){if(typeof WeakMap=="function")var n=new WeakMap,r=new WeakMap;return(sa=function(s,a){if(!a&&s&&s.__esModule)return s;var u,l,d={__proto__:null,default:s};if(s===null||Tn(s)!="object"&&typeof s!="function")return d;if(u=a?r:n){if(u.has(s))return u.get(s);u.set(s,d)}for(var f in s)f!=="default"&&{}.hasOwnProperty.call(s,f)&&((l=(u=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,f))&&(l.get||l.set)?u(d,f,l):d[f]=s[f]);return d})(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 dS(t,e){Wy(t,e),e.add(t)}function fS(t,e,n){Wy(t,e),e.set(t,n)}function Wy(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function My(t,e,n){return t.set(Vt(t,e),n),n}function Ly(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 jy(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,Vy(r.key),r)}}function Gy(t,e,n){return e&&jy(t.prototype,e),n&&jy(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function Jy(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function hS(t,e,n){return e=ss(e),pS(t,Bl()?Reflect.construct(e,n||[],ss(t).constructor):e.apply(t,n))}function pS(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 mS(t)}function mS(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function gS(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&&os(t,e)}function Ol(t){var e=typeof Map=="function"?new Map:void 0;return Ol=function(r){if(r===null||!_S(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 yS(r,arguments,ss(this).constructor)}return o.prototype=Object.create(r.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),os(o,r)},Ol(t)}function yS(t,e,n){if(Bl())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var o=new(t.bind.apply(t,r));return n&&os(o,n.prototype),o}function Bl(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Bl=function(){return!!t})()}function _S(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function os(t,e){return os=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},os(t,e)}function ss(t){return ss=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ss(t)}function bt(t,e,n){return(e=Vy(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Vy(t){var e=bS(t,"string");return Tn(e)=="symbol"?e:e+""}function bS(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 wt(){var t,e,n=typeof Symbol=="function"?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function s(b,w,y,g){var _=w&&w.prototype instanceof u?w:u,A=Object.create(_.prototype);return Ct(A,"_invoke",(function(C,S,T){var R,$,V,P=0,Y=T||[],z=!1,K={p:0,n:0,v:t,a:Q,f:Q.bind(t,4),d:function(ae,se){return R=ae,$=0,V=t,K.n=se,a}};function Q(ee,ae){for($=ee,V=ae,e=0;!z&&P&&!se&&e<Y.length;e++){var se,me=Y[e],G=K.p,Z=me[2];ee>3?(se=Z===ae)&&(V=me[($=me[4])?5:($=3,3)],me[4]=me[5]=t):me[0]<=G&&((se=ee<2&&G<me[1])?($=0,K.v=ae,K.n=me[1]):G<Z&&(se=ee<3||me[0]>ae||ae>Z)&&(me[4]=ee,me[5]=ae,K.n=Z,$=0))}if(se||ee>1)return a;throw z=!0,ae}return function(ee,ae,se){if(P>1)throw TypeError("Generator is already running");for(z&&ae===1&&Q(ae,se),$=ae,V=se;(e=$<2?t:V)||!z;){R||($?$<3?($>1&&(K.n=-1),Q($,V)):K.n=V:K.v=V);try{if(P=2,R){if($||(ee="next"),e=R[ee]){if(!(e=e.call(R,V)))throw TypeError("iterator result is not an object");if(!e.done)return e;V=e.value,$<2&&($=0)}else $===1&&(e=R.return)&&e.call(R),$<2&&(V=TypeError("The iterator does not provide a '"+ee+"' method"),$=1);R=t}else if((e=(z=K.n<0)?V:C.call(S,K))!==a)break}catch(me){R=t,$=1,V=me}finally{P=1}}return{value:e,done:z}}})(b,y,g),!0),A}var a={};function u(){}function l(){}function d(){}e=Object.getPrototypeOf;var f=[][r]?e(e([][r]())):(Ct(e={},r,function(){return this}),e),p=d.prototype=u.prototype=Object.create(f);function m(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,d):(b.__proto__=d,Ct(b,o,"GeneratorFunction")),b.prototype=Object.create(p),b}return l.prototype=d,Ct(p,"constructor",d),Ct(d,"constructor",l),l.displayName="GeneratorFunction",Ct(d,o,"GeneratorFunction"),Ct(p),Ct(p,o,"Generator"),Ct(p,r,function(){return this}),Ct(p,"toString",function(){return"[object Generator]"}),(wt=function(){return{w:s,m}})()}function Ct(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}Ct=function(a,u,l,d){if(u)o?o(a,u,{value:l,enumerable:!d,configurable:!d,writable:!d}):a[u]=l;else{var f=function(m,b){Ct(a,m,function(w){return this._invoke(m,b,w)})};f("next",0),f("throw",1),f("return",2)}},Ct(t,e,n,r)}function Uy(t,e,n,r,o,s,a){try{var u=t[s](a),l=u.value}catch(d){return void n(d)}u.done?e(l):Promise.resolve(l).then(r,o)}function uo(t){return function(){var e=this,n=arguments;return new Promise(function(r,o){var s=t.apply(e,n);function a(l){Uy(s,r,o,a,u,"next",l)}function u(l){Uy(s,r,o,a,u,"throw",l)}a(void 0)})}}var $y=By.readFile?(0,lS.promisify)(By.readFile):uo(wt().m(function t(){return wt().w(function(e){for(;;)switch(e.n){case 0:throw new rs("use key rather than keyFile.","MISSING_CREDENTIALS");case 1:return e.a(2)}},t)})),qy="https://oauth2.googleapis.com/token",CS="https://oauth2.googleapis.com/revoke?token=",rs=(function(t){function e(n,r){var o;return Jy(this,e),o=hS(this,e,[n]),bt(o,"code",void 0),o.code=r,o}return gS(e,t),Gy(e)})(Ol(Error)),ns=new WeakMap,on=new WeakSet,FP=ia.GoogleToken=(function(){function t(e){Jy(this,t),dS(this,on),bt(this,"expiresAt",void 0),bt(this,"key",void 0),bt(this,"keyFile",void 0),bt(this,"iss",void 0),bt(this,"sub",void 0),bt(this,"scope",void 0),bt(this,"rawToken",void 0),bt(this,"tokenExpires",void 0),bt(this,"email",void 0),bt(this,"additionalClaims",void 0),bt(this,"eagerRefreshThresholdMillis",void 0),bt(this,"transporter",{request:function(r){return(0,aS.request)(r)}}),fS(this,ns,void 0),Vt(on,this,Ky).call(this,e)}return Gy(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,zy).call(this,r).then(function(s){return o(null,s)},n);return}return Vt(on,this,zy).call(this,r)}},{key:"getCredentials",value:(function(){var e=uo(wt().m(function r(o){var s,a,u,l,d,f,p;return wt().w(function(m){for(;;)switch(m.n){case 0:s=cS.extname(o),p=s,m.n=p===".json"?1:p===".der"||p===".crt"||p===".pem"?4:p===".p12"||p===".pfx"?6:7;break;case 1:return m.n=2,$y(o,"utf8");case 2:if(a=m.v,u=JSON.parse(a),l=u.private_key,d=u.client_email,!(!l||!d)){m.n=3;break}throw new rs("private_key and client_email are required.","MISSING_CREDENTIALS");case 3:return m.a(2,{privateKey:l,clientEmail:d});case 4:return m.n=5,$y(o,"utf8");case 5:return f=m.v,m.a(2,{privateKey:f});case 6:throw new rs("*.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 rs("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,Hy).call(this).then(function(){return n()},n);return}return Vt(on,this,Hy).call(this)}}])})();function zy(t){return Pl.apply(this,arguments)}function Pl(){return Pl=uo(wt().m(function t(e){return wt().w(function(n){for(;;)switch(n.n){case 0:if(!(Ly(ns,this)&&!e.forceRefresh)){n.n=1;break}return n.a(2,Ly(ns,this));case 1:return n.p=1,n.n=2,My(ns,this,Vt(on,this,wS).call(this,e));case 2:return n.a(2,n.v);case 3:return n.p=3,My(ns,this,void 0),n.f(3);case 4:return n.a(2)}},t,this,[[1,,3,4]])})),Pl.apply(this,arguments)}function wS(t){return Fl.apply(this,arguments)}function Fl(){return Fl=uo(wt().m(function t(e){var n;return wt().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,ES).call(this);case 4:return r.a(2,Vt(on,this,kS).call(this))}},t,this)})),Fl.apply(this,arguments)}function ES(){if(!this.iss)throw new rs("email is required.","MISSING_CREDENTIALS")}function Hy(){return Il.apply(this,arguments)}function Il(){return Il=uo(wt().m(function t(){var e;return wt().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=CS+this.accessToken,n.n=2,this.transporter.request({url:e,retry:!0});case 2:Vt(on,this,Ky).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)})),Il.apply(this,arguments)}function Ky(){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 kS(){return Nl.apply(this,arguments)}function Nl(){return Nl=uo(wt().m(function t(){var e,n,r,o,s,a,u,l,d,f;return wt().w(function(p){for(;;)switch(p.n){case 0:return e=Math.floor(new Date().getTime()/1e3),n=this.additionalClaims||{},r=Object.assign({iss:this.iss,scope:this.scope,aud:qy,exp:e+3600,iat:e,sub:this.sub},n),o=uS.sign({header:{alg:"RS256"},payload:r,secret:this.key}),p.p=1,p.n=2,this.transporter.request({method:"POST",url:qy,data:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:o}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});case 2:return s=p.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,p.a(2,this.rawToken);case 3:throw p.p=3,f=p.v,this.rawToken=void 0,this.tokenExpires=void 0,l=f.response&&(a=f.response)!==null&&a!==void 0&&a.data?(u=f.response)===null||u===void 0?void 0:u.data:{},l.error&&(d=l.error_description?": ".concat(l.error_description):"",f.message="".concat(l.error).concat(d)),f;case 4:return p.a(2)}},t,this,[[1,3]])})),Nl.apply(this,arguments)}});var Ll=X(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.JWTAccess=void 0;var AS=xl(),SS=Wt(),Qy={alg:"RS256",typ:"JWT"},Ml=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new SS.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),d;if(Array.isArray(r)&&(r=r.join(" ")),r?d={iss:this.email,sub:this.email,scope:r,exp:l,iat:u}:d={iss:this.email,sub:this.email,aud:e,exp:l,iat:u},n){for(let w in d)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 f=this.keyId?{...Qy,kid:this.keyId}:Qy,p=Object.assign(d,n),m=AS.sign({header:f,payload:p,secret:this.key}),b=new Headers({authorization:`Bearer ${m}`});return this.cache.set(o,{expiration:l*1e3,headers:b}),b}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)}})})}};aa.JWTAccess=Ml});var Ul=X(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.JWT=void 0;var Xy=Yy(),vS=Ll(),TS=_r(),ua=_t(),jl=class t extends TS.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!==ua.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==ua.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${ua.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 vS.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!==ua.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 Xy.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 Xy.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.")}};ca.JWT=jl});var ql=X(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.UserRefreshClient=co.USER_REFRESH_ACCOUNT_TYPE=void 0;var DS=_r(),RS=_t();co.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var $l=class t extends DS.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 RS.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}};co.UserRefreshClient=$l});var Hl=X(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.Impersonated=lo.IMPERSONATED_ACCOUNT_TYPE=void 0;var Zy=_r(),xS=Xe(),OS=Wt();lo.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var zl=class t extends Zy.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 Zy.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,OS.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 xS.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}};lo.Impersonated=zl});var Gl=X(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});is.OAuthClientAuthHandler=void 0;is.getErrorFromOAuthErrorResponse=IS;var fo=Xe(),PS=Yo(),FS=["PUT","POST","PATCH"],Wl=class{#e=(0,PS.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new fo.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new fo.Gaxios)}applyClientAuthenticationOptions(e,n){e.headers=fo.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,n),n||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,n){if(n)e.headers=fo.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${n}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=fo.Gaxios.mergeHeaders(e.headers);let r=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${r}:${o}`);fo.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let n=(e.method||"GET").toUpperCase();if(!FS.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"]}}}};is.OAuthClientAuthHandler=Wl;function IS(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 da=X(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.StsCredentials=void 0;var NS=Xe(),BS=_t(),e0=Gl(),MS=Wt(),Jl=class t extends e0.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,MS.removeUndefinedValuesInObject)(o))};BS.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 NS.GaxiosError&&a.response?(0,e0.getErrorFromOAuthErrorResponse)(a.response.data,a):a}}};la.StsCredentials=Jl});var Kn=X(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.BaseExternalAccountClient=Ot.CLOUD_RESOURCE_MANAGER=Ot.EXTERNAL_ACCOUNT_TYPE=Ot.EXPIRATION_TIME_OFFSET=void 0;var LS=Xe(),jS=re("stream"),Vl=_t(),US=da(),t0=Wt(),$S=cl(),qS="urn:ietf:params:oauth:grant-type:token-exchange",zS="urn:ietf:params:oauth:token-type:access_token",Kl="https://www.googleapis.com/auth/cloud-platform",HS=3600;Ot.EXPIRATION_TIME_OFFSET=300*1e3;Ot.EXTERNAL_ACCOUNT_TYPE="external_account";Ot.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var WS="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",GS="https://sts.{universeDomain}/v1/token",Yl=class t extends Vl.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,t0.originalOrCamelOptions)(e),r=n.get("type");if(r&&r!==Ot.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${Ot.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")??GS.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"),d=n.get("service_account_impersonation"),f=(0,t0.originalOrCamelOptions)(d).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 US.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=n.get("scopes")||[Kl],this.cachedAccessToken=null,this.audience=n.get("audience"),this.subjectTokenType=a,this.workforcePoolUserProject=u;let p=new RegExp(WS);if(this.workforcePoolUserProject&&!this.audience.match(p))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=l,this.serviceAccountImpersonationLifetime=f,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=HS),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}`};Vl.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=LS.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 jS.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:qS,audience:this.audience,requestedTokenType:zS,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Kl]: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"}};Vl.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||[Kl]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),n=this.serviceAccountImpersonationUrl!==void 0,r=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${$S.pkg.version} google-byoid-sdk source/${r} sa-impersonation/${n} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};Ot.BaseExternalAccountClient=Yl});var n0=X(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.FileSubjectTokenSupplier=void 0;var Xl=re("util"),Zl=re("fs"),JS=(0,Xl.promisify)(Zl.readFile??(()=>{})),VS=(0,Xl.promisify)(Zl.realpath??(()=>{})),KS=(0,Xl.promisify)(Zl.lstat??(()=>{})),Ql=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 VS(e),!(await KS(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 JS(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}};fa.FileSubjectTokenSupplier=Ql});var r0=X(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.UrlSubjectTokenSupplier=void 0;var YS=_t(),ed=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};YS.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}};ha.UrlSubjectTokenSupplier=ed});var o0=X(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.CertificateSubjectTokenSupplier=Et.InvalidConfigurationError=Et.CertificateSourceUnavailableError=Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var pa=Wt(),ma=re("fs"),ga=re("crypto"),QS=re("https");Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var sn=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};Et.CertificateSourceUnavailableError=sn;var Pt=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};Et.InvalidConfigurationError=Pt;var td=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Pt("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Pt("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Pt("Cannot create mTLS Agent with missing certificate or key");return new QS.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,pa.isValidFile)(e))return e;throw new sn(`Provided certificate config path is invalid: ${e}`)}let n=process.env[Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(n){if(await(0,pa.isValidFile)(n))return n;throw new sn(`Path from environment variable "${Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${n}`)}let r=(0,pa.getWellKnownCertificateConfigFileLocation)();if(await(0,pa.isValidFile)(r))return r;throw new sn(`Could not find certificate configuration file. Searched override path, the "${Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${r}).`)}async#t(){let e=this.certificateConfigPath,n;try{n=await ma.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 Pt(`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 Pt?r:new Pt(`Failed to parse certificate config from ${e}: ${r.message}`)}}async#n(e,n){let r,o;try{r=await ma.promises.readFile(e),new ga.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 ma.promises.readFile(n),(0,ga.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 ga.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([n.raw.toString("base64")]);try{let s=((await ma.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((l,d)=>{try{return new ga.X509Certificate(l)}catch(f){let p=f instanceof Error?f.message:String(f);throw new Pt(`Failed to parse certificate at index ${d} in trust chain file ${this.trustChainPath}: ${p}`)}}),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 Pt(`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 Pt)throw r;let o=r instanceof Error?r.message:String(r);throw new sn(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};Et.CertificateSubjectTokenSupplier=td});var od=X(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.IdentityPoolClient=void 0;var XS=Kn(),nd=Wt(),ZS=n0(),ev=r0(),s0=o0(),tv=da(),i0=Xe(),rd=class t extends XS.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let n=(0,nd.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,nd.originalOrCamelOptions)(r),a=(0,nd.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 d=s.get("file"),f=s.get("url"),p=s.get("certificate"),m=s.get("headers");if(d&&f||f&&p||d&&p)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(d)this.credentialSourceType="file",this.subjectTokenSupplier=new ZS.FileSubjectTokenSupplier({filePath:d,formatType:u,subjectTokenFieldName:l});else if(f)this.credentialSourceType="url",this.subjectTokenSupplier=new ev.UrlSubjectTokenSupplier({url:f,formatType:u,subjectTokenFieldName:l,headers:m,additionalGaxiosOptions:t.RETRY_CONFIG});else if(p){this.credentialSourceType="certificate";let b=new s0.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:p.use_default_certificate_config,certificateConfigLocation:p.certificate_config_location,trustChainPath:p.trust_chain_path});this.subjectTokenSupplier=b}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 s0.CertificateSubjectTokenSupplier){let n=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new tv.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new i0.Gaxios({agent:n})}),this.transporter=new i0.Gaxios({...this.transporter.defaults||{},agent:n})}return e}};ya.IdentityPoolClient=rd});var id=X(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.AwsRequestSigner=void 0;var _a=Xe(),u0=Yo(),a0="AWS4-HMAC-SHA256",nv="aws4_request",sd=class{getCredentials;region;crypto;constructor(e,n){this.getCredentials=e,this.region=n,this.crypto=(0,u0.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 d=await ov({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}),f=_a.Gaxios.mergeHeaders(d.amzDate?{"x-amz-date":d.amzDate}:{},{authorization:d.authorizationHeader,host:l.host},a||{});u.token&&_a.Gaxios.mergeHeaders(f,{"x-amz-security-token":u.token});let p={url:r,method:o,headers:f};return s!==void 0&&(p.body=s),p}};ba.AwsRequestSigner=sd;async function as(t,e,n){return await t.signWithHmacSha256(e,n)}async function rv(t,e,n,r,o){let s=await as(t,`AWS4${e}`,n),a=await as(t,s,r),u=await as(t,a,o);return await as(t,u,"aws4_request")}async function ov(t){let e=_a.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=_a.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":s},e),l="",d=[...u.keys()].sort();d.forEach(A=>{l+=`${A}:${u.get(A)}
53
53
  `});let f=d.join(";"),p=await t.crypto.sha256DigestHex(n),m=`${t.method.toUpperCase()}
54
54
  ${t.canonicalUri}
55
55
  ${t.canonicalQuerystring}
56
56
  ${l}
57
57
  ${f}
58
- ${p}`,b=`${a}/${t.region}/${r}/${VS}`,w=`${o0}
58
+ ${p}`,b=`${a}/${t.region}/${r}/${nv}`,w=`${a0}
59
59
  ${s}
60
60
  ${b}
61
- `+await t.crypto.sha256DigestHex(m),y=await KS(t.crypto,t.securityCredentials.secretAccessKey,a,t.region,r),g=await is(t.crypto,y,w),_=`${o0} Credential=${t.securityCredentials.accessKeyId}/${b}, SignedHeaders=${f}, Signature=${(0,s0.fromArrayBufferToHex)(g)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:_,canonicalQuerystring:t.canonicalQuerystring}}});var i0=X(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.DefaultAwsSecurityCredentialsSupplier=void 0;var _a=_t(),sd=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};_a.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 _a.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 _a.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 _a.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}};ba.DefaultAwsSecurityCredentialsSupplier=sd});var ad=X(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.AwsClient=void 0;var YS=od(),XS=Kn(),ZS=i0(),a0=Wt(),eT=Xe(),id=class t extends XS.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,a0.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,a0.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 ZS.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 YS.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 eT.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}))}};Ca.AwsClient=id});var fd=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 wa="urn:ietf:params:oauth:token-type:saml2",ud="urn:ietf:params:oauth:token-type:id_token",cd="urn:ietf:params:oauth:token-type:jwt",ld=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new Ea("Executable response must contain a 'version' field.");if(e.success===void 0)throw new ka("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!==wa&&this.tokenType!==ud&&this.tokenType!==cd)throw new Aa(`Executable response must contain a 'token_type' field when successful and it must be one of ${ud}, ${cd}, or ${wa}.`);if(this.tokenType===wa){if(!e.saml_response)throw new as(`Executable response must contain a 'saml_response' field when token_type=${wa}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new as(`Executable response must contain a 'id_token' field when token_type=${ud} or ${cd}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new Sa("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new Ta("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=ld;var an=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};$e.ExecutableResponseError=an;var Ea=class extends an{};$e.InvalidVersionFieldError=Ea;var ka=class extends an{};$e.InvalidSuccessFieldError=ka;var dd=class extends an{};$e.InvalidExpirationTimeFieldError=dd;var Aa=class extends an{};$e.InvalidTokenTypeFieldError=Aa;var Sa=class extends an{};$e.InvalidCodeFieldError=Sa;var Ta=class extends an{};$e.InvalidMessageFieldError=Ta;var as=class extends an{};$e.InvalidSubjectTokenError=as});var md=X(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.PluggableAuthHandler=fo.ExecutableError=void 0;var br=fd(),tT=re("child_process"),hd=re("fs"),va=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)}};fo.ExecutableError=va;var pd=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=tT.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),d=new br.ExecutableResponse(l);return n(d)}catch(l){return l instanceof br.ExecutableResponseError?r(l):r(new br.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return r(new va(s,u.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await hd.promises.realpath(this.outputFile)}catch{return}if(!(await hd.promises.lstat(e)).isFile())return;let n=await hd.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}};fo.PluggableAuthHandler=pd});var yd=X(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.PluggableAuthClient=ho.ExecutableError=void 0;var nT=Kn(),rT=fd(),u0=md(),oT=md();Object.defineProperty(ho,"ExecutableError",{enumerable:!0,get:function(){return oT.ExecutableError}});var sT=30*1e3,c0=5*1e3,l0=120*1e3,iT="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",d0=1,gd=class extends nT.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=sT;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<c0||this.timeoutMillis>l0)throw new Error(`Timeout must be between ${c0} and ${l0} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new u0.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[iT]!=="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>d0)throw new Error(`Version of executable is not currently supported, maximum supported version is ${d0}.`);if(!e.success)throw new u0.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new rT.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}};ho.PluggableAuthClient=gd});var bd=X(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.ExternalAccountClient=void 0;var aT=Kn(),uT=nd(),cT=ad(),lT=yd(),_d=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===aT.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new cT.AwsClient(e):e.credential_source?.executable?new lT.PluggableAuthClient(e):new uT.IdentityPoolClient(e):null}};Da.ExternalAccountClient=_d});var m0=X(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.ExternalAccountAuthorizedUserClient=po.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var h0=_t(),f0=Hl(),p0=Xe(),dT=re("stream"),fT=Kn();po.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var hT="https://sts.{universeDomain}/v1/oauthtoken",Cd=class t extends f0.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})};h0.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 p0.GaxiosError&&o.response?(0,f0.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},wd=class extends h0.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 Cd({tokenRefreshEndpoint:e.token_url??hT.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:n}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=fT.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=p0.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 dT.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}};po.ExternalAccountAuthorizedUserClient=wd});var b0=X(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.GoogleAuth=Kt.GoogleAuthExceptionMessages=void 0;var pT=re("child_process"),us=re("fs"),mT=Xe(),cs=Vo(),gT=re("os"),Ed=re("path"),yT=Ko(),_T=gl(),bT=_l(),CT=bl(),mo=Ll(),g0=Ul(),go=ql(),wT=bd(),ls=Kn(),kd=_t(),y0=m0(),_0=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 rv(t.crypto,t.securityCredentials.secretAccessKey,a,t.region,r),g=await as(t.crypto,y,w),_=`${a0} Credential=${t.securityCredentials.accessKeyId}/${b}, SignedHeaders=${f}, Signature=${(0,u0.fromArrayBufferToHex)(g)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:_,canonicalQuerystring:t.canonicalQuerystring}}});var c0=X(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.DefaultAwsSecurityCredentialsSupplier=void 0;var Ca=_t(),ad=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};Ca.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 Ca.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 Ca.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 Ca.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}};wa.DefaultAwsSecurityCredentialsSupplier=ad});var cd=X(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.AwsClient=void 0;var sv=id(),iv=Kn(),av=c0(),l0=Wt(),uv=Xe(),ud=class t extends iv.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,l0.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,l0.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 av.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 sv.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 uv.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}))}};Ea.AwsClient=ud});var pd=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 ka="urn:ietf:params:oauth:token-type:saml2",ld="urn:ietf:params:oauth:token-type:id_token",dd="urn:ietf:params:oauth:token-type:jwt",fd=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new Aa("Executable response must contain a 'version' field.");if(e.success===void 0)throw new Sa("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!==ka&&this.tokenType!==ld&&this.tokenType!==dd)throw new va(`Executable response must contain a 'token_type' field when successful and it must be one of ${ld}, ${dd}, or ${ka}.`);if(this.tokenType===ka){if(!e.saml_response)throw new us(`Executable response must contain a 'saml_response' field when token_type=${ka}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new us(`Executable response must contain a 'id_token' field when token_type=${ld} or ${dd}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new Ta("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new Da("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=fd;var an=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};$e.ExecutableResponseError=an;var Aa=class extends an{};$e.InvalidVersionFieldError=Aa;var Sa=class extends an{};$e.InvalidSuccessFieldError=Sa;var hd=class extends an{};$e.InvalidExpirationTimeFieldError=hd;var va=class extends an{};$e.InvalidTokenTypeFieldError=va;var Ta=class extends an{};$e.InvalidCodeFieldError=Ta;var Da=class extends an{};$e.InvalidMessageFieldError=Da;var us=class extends an{};$e.InvalidSubjectTokenError=us});var yd=X(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.PluggableAuthHandler=ho.ExecutableError=void 0;var br=pd(),cv=re("child_process"),md=re("fs"),Ra=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)}};ho.ExecutableError=Ra;var gd=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=cv.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),d=new br.ExecutableResponse(l);return n(d)}catch(l){return l instanceof br.ExecutableResponseError?r(l):r(new br.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return r(new Ra(s,u.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await md.promises.realpath(this.outputFile)}catch{return}if(!(await md.promises.lstat(e)).isFile())return;let n=await md.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}};ho.PluggableAuthHandler=gd});var bd=X(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.PluggableAuthClient=po.ExecutableError=void 0;var lv=Kn(),dv=pd(),d0=yd(),fv=yd();Object.defineProperty(po,"ExecutableError",{enumerable:!0,get:function(){return fv.ExecutableError}});var hv=30*1e3,f0=5*1e3,h0=120*1e3,pv="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",p0=1,_d=class extends lv.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=hv;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<f0||this.timeoutMillis>h0)throw new Error(`Timeout must be between ${f0} and ${h0} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new d0.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[pv]!=="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>p0)throw new Error(`Version of executable is not currently supported, maximum supported version is ${p0}.`);if(!e.success)throw new d0.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new dv.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}};po.PluggableAuthClient=_d});var wd=X(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.ExternalAccountClient=void 0;var mv=Kn(),gv=od(),yv=cd(),_v=bd(),Cd=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===mv.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new yv.AwsClient(e):e.credential_source?.executable?new _v.PluggableAuthClient(e):new gv.IdentityPoolClient(e):null}};xa.ExternalAccountClient=Cd});var _0=X(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.ExternalAccountAuthorizedUserClient=mo.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var g0=_t(),m0=Gl(),y0=Xe(),bv=re("stream"),Cv=Kn();mo.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var wv="https://sts.{universeDomain}/v1/oauthtoken",Ed=class t extends m0.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})};g0.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 y0.GaxiosError&&o.response?(0,m0.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},kd=class extends g0.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 Ed({tokenRefreshEndpoint:e.token_url??wv.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:n}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=Cv.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=y0.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 bv.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}};mo.ExternalAccountAuthorizedUserClient=kd});var E0=X(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.GoogleAuth=Kt.GoogleAuthExceptionMessages=void 0;var Ev=re("child_process"),cs=re("fs"),kv=Xe(),ls=Ko(),Av=re("os"),Ad=re("path"),Sv=Yo(),vv=_l(),Tv=Cl(),Dv=wl(),go=Ul(),b0=ql(),yo=Hl(),Rv=wd(),ds=Kn(),Sd=_t(),C0=_0(),w0=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 Ad=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 cs.universe("universe-domain"),e||=kd.DEFAULT_UNIVERSE}catch(n){if(n&&n?.response?.status===404)e=kd.DEFAULT_UNIVERSE;else throw n}return e}async getUniverseDomain(){let e=(0,_0.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=kd.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 mo.JWT?n.scopes=this.scopes:n instanceof ls.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(n=await this._tryGetApplicationCredentialsFromWellKnownFile(e),n)return n instanceof mo.JWT?n.scopes=this.scopes:n instanceof ls.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new _T.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=cs.getGCPResidency()||await cs.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=Ed.join(o,".config"))}return n&&(n=Ed.join(n,"gcloud","application_default_credentials.json"),us.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=us.realpathSync(e),!us.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=us.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!==go.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${go.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 go.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,_0.originalOrCamelOptions)(n).get("universe_domain");return e.type===g0.USER_REFRESH_ACCOUNT_TYPE?(r=new g0.UserRefreshClient(n),r.fromJSON(e)):e.type===go.IMPERSONATED_ACCOUNT_TYPE?r=this.fromImpersonatedJSON(e):e.type===ls.EXTERNAL_ACCOUNT_TYPE?(r=wT.ExternalAccountClient.fromJSON({...e,...n}),r.scopes=this.getAnyScopes()):e.type===y0.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?r=new y0.ExternalAccountAuthorizedUserClient({...e,...n}):(n.scopes=this.scopes,r=new mo.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 mo.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 mo.JWT({...n,apiKey:e})}_isWindows(){let e=gT.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,pT.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!==ls.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await cs.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 go.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof ls.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([cs.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=Ed.resolve(this.keyFilename),n=us.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 bT.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=mT.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,CT.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 go.Impersonated)return(await r.sign(e)).signedBlob;let s=(0,yT.createCrypto)();if(r instanceof mo.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=Ad});var C0=X(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.IAMAuth=void 0;var Sd=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}}};Ra.IAMAuth=Sd});var w0=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 ET=Xe(),kT=re("stream"),Td=_t(),AT=ca(),ST="urn:ietf:params:oauth:grant-type:token-exchange",TT="urn:ietf:params:oauth:token-type:access_token",vT="urn:ietf:params:oauth:token-type:access_token";un.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;un.EXPIRATION_TIME_OFFSET=300*1e3;var vd=class extends Td.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,n={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof Td.AuthClient?{}:e),e instanceof Td.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 AT.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=ET.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 kT.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:ST,requestedTokenType:TT,subjectToken:e,subjectTokenType:vT},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=vd});var E0=X(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.PassThroughClient=void 0;var DT=_t(),Dd=class extends DT.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};xa.PassThroughClient=Dd});var xd=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 k0=b0();Object.defineProperty(le,"GoogleAuth",{enumerable:!0,get:function(){return k0.GoogleAuth}});le.gcpMetadata=Vo();le.gaxios=Xe();var A0=_t();Object.defineProperty(le,"AuthClient",{enumerable:!0,get:function(){return A0.AuthClient}});Object.defineProperty(le,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return A0.DEFAULT_UNIVERSE}});var RT=gl();Object.defineProperty(le,"Compute",{enumerable:!0,get:function(){return RT.Compute}});var xT=bl();Object.defineProperty(le,"GCPEnv",{enumerable:!0,get:function(){return xT.GCPEnv}});var OT=C0();Object.defineProperty(le,"IAMAuth",{enumerable:!0,get:function(){return OT.IAMAuth}});var PT=_l();Object.defineProperty(le,"IdTokenClient",{enumerable:!0,get:function(){return PT.IdTokenClient}});var FT=Nl();Object.defineProperty(le,"JWTAccess",{enumerable:!0,get:function(){return FT.JWTAccess}});var IT=Ll();Object.defineProperty(le,"JWT",{enumerable:!0,get:function(){return IT.JWT}});var BT=ql();Object.defineProperty(le,"Impersonated",{enumerable:!0,get:function(){return BT.Impersonated}});var Rd=_r();Object.defineProperty(le,"CodeChallengeMethod",{enumerable:!0,get:function(){return Rd.CodeChallengeMethod}});Object.defineProperty(le,"OAuth2Client",{enumerable:!0,get:function(){return Rd.OAuth2Client}});Object.defineProperty(le,"ClientAuthentication",{enumerable:!0,get:function(){return Rd.ClientAuthentication}});var NT=fl();Object.defineProperty(le,"LoginTicket",{enumerable:!0,get:function(){return NT.LoginTicket}});var MT=Ul();Object.defineProperty(le,"UserRefreshClient",{enumerable:!0,get:function(){return MT.UserRefreshClient}});var LT=ad();Object.defineProperty(le,"AwsClient",{enumerable:!0,get:function(){return LT.AwsClient}});var jT=od();Object.defineProperty(le,"AwsRequestSigner",{enumerable:!0,get:function(){return jT.AwsRequestSigner}});var UT=nd();Object.defineProperty(le,"IdentityPoolClient",{enumerable:!0,get:function(){return UT.IdentityPoolClient}});var $T=bd();Object.defineProperty(le,"ExternalAccountClient",{enumerable:!0,get:function(){return $T.ExternalAccountClient}});var qT=Kn();Object.defineProperty(le,"BaseExternalAccountClient",{enumerable:!0,get:function(){return qT.BaseExternalAccountClient}});var zT=w0();Object.defineProperty(le,"DownscopedClient",{enumerable:!0,get:function(){return zT.DownscopedClient}});var S0=yd();Object.defineProperty(le,"PluggableAuthClient",{enumerable:!0,get:function(){return S0.PluggableAuthClient}});Object.defineProperty(le,"ExecutableError",{enumerable:!0,get:function(){return S0.ExecutableError}});var HT=E0();Object.defineProperty(le,"PassThroughClient",{enumerable:!0,get:function(){return HT.PassThroughClient}});var WT=new k0.GoogleAuth;le.auth=WT});var r_=X((DB,cf)=>{"use strict";var RR=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,xR=/(\w*(\.\w*)*)\..*/;cf.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,n_(r.stack)}};function n_(t){let e=t.match(RR);return e?e[1].split(/[/\\]/).slice(-1)[0].match(xR)[1]:"anonymous"}cf.exports.extractPluginName=n_});var s_=X((RB,o_)=>{"use strict";o_.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(n,r){return r.toUpperCase()})}});var i_=X((xB,su)=>{"use strict";var OR=r_(),PR=s_(),FR=0;function lf(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=OR(t)+"-auto-"+FR++),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=PR(e.name);return!n&&!t[r]&&(t[r]=t),t}su.exports=lf;su.exports.default=lf;su.exports.fastifyPlugin=lf});var ys,df=Le(()=>{"use strict";ys=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 vd=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 ls.universe("universe-domain"),e||=Sd.DEFAULT_UNIVERSE}catch(n){if(n&&n?.response?.status===404)e=Sd.DEFAULT_UNIVERSE;else throw n}return e}async getUniverseDomain(){let e=(0,w0.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=Sd.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 go.JWT?n.scopes=this.scopes:n instanceof ds.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(n=await this._tryGetApplicationCredentialsFromWellKnownFile(e),n)return n instanceof go.JWT?n.scopes=this.scopes:n instanceof ds.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new vv.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=ls.getGCPResidency()||await ls.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=Ad.join(o,".config"))}return n&&(n=Ad.join(n,"gcloud","application_default_credentials.json"),cs.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=cs.realpathSync(e),!cs.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=cs.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!==yo.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${yo.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 yo.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,w0.originalOrCamelOptions)(n).get("universe_domain");return e.type===b0.USER_REFRESH_ACCOUNT_TYPE?(r=new b0.UserRefreshClient(n),r.fromJSON(e)):e.type===yo.IMPERSONATED_ACCOUNT_TYPE?r=this.fromImpersonatedJSON(e):e.type===ds.EXTERNAL_ACCOUNT_TYPE?(r=Rv.ExternalAccountClient.fromJSON({...e,...n}),r.scopes=this.getAnyScopes()):e.type===C0.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?r=new C0.ExternalAccountAuthorizedUserClient({...e,...n}):(n.scopes=this.scopes,r=new go.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 go.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 go.JWT({...n,apiKey:e})}_isWindows(){let e=Av.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,Ev.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!==ds.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await ls.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 yo.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof ds.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([ls.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=Ad.resolve(this.keyFilename),n=cs.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 Tv.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=kv.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,Dv.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 yo.Impersonated)return(await r.sign(e)).signedBlob;let s=(0,Sv.createCrypto)();if(r instanceof go.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=vd});var k0=X(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.IAMAuth=void 0;var Td=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}}};Oa.IAMAuth=Td});var A0=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 xv=Xe(),Ov=re("stream"),Dd=_t(),Pv=da(),Fv="urn:ietf:params:oauth:grant-type:token-exchange",Iv="urn:ietf:params:oauth:token-type:access_token",Nv="urn:ietf:params:oauth:token-type:access_token";un.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;un.EXPIRATION_TIME_OFFSET=300*1e3;var Rd=class extends Dd.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,n={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof Dd.AuthClient?{}:e),e instanceof Dd.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 Pv.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=xv.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 Ov.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:Fv,requestedTokenType:Iv,subjectToken:e,subjectTokenType:Nv},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=Rd});var S0=X(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.PassThroughClient=void 0;var Bv=_t(),xd=class extends Bv.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};Pa.PassThroughClient=xd});var Pd=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 v0=E0();Object.defineProperty(le,"GoogleAuth",{enumerable:!0,get:function(){return v0.GoogleAuth}});le.gcpMetadata=Ko();le.gaxios=Xe();var T0=_t();Object.defineProperty(le,"AuthClient",{enumerable:!0,get:function(){return T0.AuthClient}});Object.defineProperty(le,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return T0.DEFAULT_UNIVERSE}});var Mv=_l();Object.defineProperty(le,"Compute",{enumerable:!0,get:function(){return Mv.Compute}});var Lv=wl();Object.defineProperty(le,"GCPEnv",{enumerable:!0,get:function(){return Lv.GCPEnv}});var jv=k0();Object.defineProperty(le,"IAMAuth",{enumerable:!0,get:function(){return jv.IAMAuth}});var Uv=Cl();Object.defineProperty(le,"IdTokenClient",{enumerable:!0,get:function(){return Uv.IdTokenClient}});var $v=Ll();Object.defineProperty(le,"JWTAccess",{enumerable:!0,get:function(){return $v.JWTAccess}});var qv=Ul();Object.defineProperty(le,"JWT",{enumerable:!0,get:function(){return qv.JWT}});var zv=Hl();Object.defineProperty(le,"Impersonated",{enumerable:!0,get:function(){return zv.Impersonated}});var Od=_r();Object.defineProperty(le,"CodeChallengeMethod",{enumerable:!0,get:function(){return Od.CodeChallengeMethod}});Object.defineProperty(le,"OAuth2Client",{enumerable:!0,get:function(){return Od.OAuth2Client}});Object.defineProperty(le,"ClientAuthentication",{enumerable:!0,get:function(){return Od.ClientAuthentication}});var Hv=pl();Object.defineProperty(le,"LoginTicket",{enumerable:!0,get:function(){return Hv.LoginTicket}});var Wv=ql();Object.defineProperty(le,"UserRefreshClient",{enumerable:!0,get:function(){return Wv.UserRefreshClient}});var Gv=cd();Object.defineProperty(le,"AwsClient",{enumerable:!0,get:function(){return Gv.AwsClient}});var Jv=id();Object.defineProperty(le,"AwsRequestSigner",{enumerable:!0,get:function(){return Jv.AwsRequestSigner}});var Vv=od();Object.defineProperty(le,"IdentityPoolClient",{enumerable:!0,get:function(){return Vv.IdentityPoolClient}});var Kv=wd();Object.defineProperty(le,"ExternalAccountClient",{enumerable:!0,get:function(){return Kv.ExternalAccountClient}});var Yv=Kn();Object.defineProperty(le,"BaseExternalAccountClient",{enumerable:!0,get:function(){return Yv.BaseExternalAccountClient}});var Qv=A0();Object.defineProperty(le,"DownscopedClient",{enumerable:!0,get:function(){return Qv.DownscopedClient}});var D0=bd();Object.defineProperty(le,"PluggableAuthClient",{enumerable:!0,get:function(){return D0.PluggableAuthClient}});Object.defineProperty(le,"ExecutableError",{enumerable:!0,get:function(){return D0.ExecutableError}});var Xv=S0();Object.defineProperty(le,"PassThroughClient",{enumerable:!0,get:function(){return Xv.PassThroughClient}});var Zv=new v0.GoogleAuth;le.auth=Zv});var a_=X((jN,df)=>{"use strict";var jR=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,UR=/(\w*(\.\w*)*)\..*/;df.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,i_(r.stack)}};function i_(t){let e=t.match(jR);return e?e[1].split(/[/\\]/).slice(-1)[0].match(UR)[1]:"anonymous"}df.exports.extractPluginName=i_});var c_=X((UN,u_)=>{"use strict";u_.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(n,r){return r.toUpperCase()})}});var l_=X(($N,au)=>{"use strict";var $R=a_(),qR=c_(),zR=0;function ff(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=$R(t)+"-auto-"+zR++),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=qR(e.name);return!n&&!t[r]&&(t[r]=t),t}au.exports=ff;au.exports.default=ff;au.exports.fastifyPlugin=ff});var _s,hf=Le(()=>{"use strict";_s=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
- `):`${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 _s,ff=Le(()=>{"use strict";_s=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(d){if(u=d,l===a.maxAttempts)break;let f=a.backoffMs*Math.pow(2,l-1);console.warn(`[WebhookOutputHandler] Request failed (attempt ${l}/${a.maxAttempts}), retrying in ${f}ms...`,d.message),await this.delay(f)}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 IR,existsSync as BR,mkdirSync as NR}from"fs";import{join as u_}from"path";import{tmpdir as MR}from"os";var bs,hf=Le(()=>{"use strict";bs=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let n=MR();this.baseDir=u_(n,this.config.subdirectory),this.ensureDir()}ensureDir(){try{BR(this.baseDir)||NR(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 u_(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 IR(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var pf,wo,c_=Le(()=>{"use strict";df();ff();hf();pf=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 ys(e.config);case"webhook":return new _s(e.config);case"temp-file":return new bs(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(d){console.error(`[OutputManager] Handler ${u} failed:`,d),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)}},wo=new pf});import jR from"fastify";import UR from"@fastify/cors";var Ph=Ln(zu(),1);import{readFileSync as cC,existsSync as xh}from"fs";import{join as Oh}from"path";import{config as lC}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:Oh(process.cwd(),this.options.jsonPath);if(xh(e))try{let n=cC(e,"utf-8"),r=Ph.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:Oh(process.cwd(),this.options.envPath);if(xh(e))try{let n=lC({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 Fh(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 dC}from"undici";function Ih(t,e,n,r,o){let s=new Headers({"Content-Type":"application/json"});n.headers&&Object.entries(n.headers).forEach(([d,f])=>{f&&s.set(d,f)});let a,u=AbortSignal.timeout(n.TIMEOUT??60*1e3*60);if(n.signal){let d=new AbortController,f=()=>d.abort();n.signal.addEventListener("abort",f),u.addEventListener("abort",f),a=d.signal}else a=u;let l={method:"POST",headers:s,body:JSON.stringify(e),signal:a};return n.httpsProxy&&(l.dispatcher=new dC(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 fC=new Set(["authorization","x-api-key","x-goog-api-key","cookie","set-cookie"]),Br={maxBodyLength:4096,maxStreamChunks:100},Hu=!1;function hC(t){Hu=t}function pC(){return Hu}function ei(t){return Hu||t.get("DEBUG_LOG")===!0}function Mh(t){let e=t.get("DEBUG_LOG_OPTIONS");return!e||typeof e!="object"?Br:{maxBodyLength:e.maxBodyLength??Br.maxBodyLength,maxStreamChunks:e.maxStreamChunks??Br.maxStreamChunks}}function Lh(t){let e={};for(let[n,r]of Object.entries(t))fC.has(n.toLowerCase())?e[n]="***MASKED***":e[n]=r;return e}function ti(t,e){return t.length<=e?t:t.slice(0,e)+`...[truncated, total ${t.length} bytes]`}function jh(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:Lh(n.headers),body:ti(r,Br.maxBodyLength)})}function Uh(t,e,n){t.info({debug_log:!0,reqId:e,phase:"provider_response",status:n.status,headers:Lh(n.headers),...n.body!==void 0?{body:ti(n.body,Br.maxBodyLength)}:{}})}function Bh(t,e,n,r){let o=mC(r);t.info({debug_log:!0,reqId:e,phase:"provider_stream_chunk",chunkIndex:n,...o?{usage_monitor:o}:{},data:ti(r,Br.maxBodyLength)})}function mC(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:ti(r,512)})}}if(e.length)return e.length===1?e[0]:e}function Nh(t,e,n){t.info({debug_log:!0,reqId:e,phase:"provider_stream_end",totalChunks:n})}function $h(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 d=a.split(`
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 bs,pf=Le(()=>{"use strict";bs=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(d){if(u=d,l===a.maxAttempts)break;let f=a.backoffMs*Math.pow(2,l-1);console.warn(`[WebhookOutputHandler] Request failed (attempt ${l}/${a.maxAttempts}), retrying in ${f}ms...`,d.message),await this.delay(f)}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 HR,existsSync as WR,mkdirSync as GR}from"fs";import{join as f_}from"path";import{tmpdir as JR}from"os";var Cs,mf=Le(()=>{"use strict";Cs=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let n=JR();this.baseDir=f_(n,this.config.subdirectory),this.ensureDir()}ensureDir(){try{WR(this.baseDir)||GR(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 f_(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 HR(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var gf,Eo,h_=Le(()=>{"use strict";hf();pf();mf();gf=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 _s(e.config);case"webhook":return new bs(e.config);case"temp-file":return new Cs(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(d){console.error(`[OutputManager] Handler ${u} failed:`,d),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)}},Eo=new gf});import KR from"fastify";import YR from"@fastify/cors";var Ih=Ln(Wu(),1);import{readFileSync as hC,existsSync as Ph}from"fs";import{join as Fh}from"path";import{config as pC}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:Fh(process.cwd(),this.options.jsonPath);if(Ph(e))try{let n=hC(e,"utf-8"),r=Ih.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:Fh(process.cwd(),this.options.envPath);if(Ph(e))try{let n=pC({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 Nh(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 mC}from"undici";function Bh(t,e,n,r,o){let s=new Headers({"Content-Type":"application/json"});n.headers&&Object.entries(n.headers).forEach(([d,f])=>{f&&s.set(d,f)});let a,u=AbortSignal.timeout(n.TIMEOUT??60*1e3*60);if(n.signal){let d=new AbortController,f=()=>d.abort();n.signal.addEventListener("abort",f),u.addEventListener("abort",f),a=d.signal}else a=u;let l={method:"POST",headers:s,body:JSON.stringify(e),signal:a};return n.httpsProxy&&(l.dispatcher=new mC(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 gC=new Set(["authorization","x-api-key","x-goog-api-key","cookie","set-cookie"]),Nr={maxBodyLength:4096,maxStreamChunks:100},Gu=!1;function yC(t){Gu=t}function _C(){return Gu}function ti(t){return Gu||t.get("DEBUG_LOG")===!0}function jh(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 Uh(t){let e={};for(let[n,r]of Object.entries(t))gC.has(n.toLowerCase())?e[n]="***MASKED***":e[n]=r;return e}function ni(t,e){return t.length<=e?t:t.slice(0,e)+`...[truncated, total ${t.length} bytes]`}function $h(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:Uh(n.headers),body:ni(r,Nr.maxBodyLength)})}function qh(t,e,n){t.info({debug_log:!0,reqId:e,phase:"provider_response",status:n.status,headers:Uh(n.headers),...n.body!==void 0?{body:ni(n.body,Nr.maxBodyLength)}:{}})}function Mh(t,e,n,r){let o=bC(r);t.info({debug_log:!0,reqId:e,phase:"provider_stream_chunk",chunkIndex:n,...o?{usage_monitor:o}:{},data:ni(r,Nr.maxBodyLength)})}function bC(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:ni(r,512)})}}if(e.length)return e.length===1?e[0]:e}function Lh(t,e,n){t.info({debug_log:!0,reqId:e,phase:"provider_stream_end",totalChunks:n})}function zh(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 d=a.split(`
73
73
 
74
- `);a=d.pop()||"";for(let f of d)f.trim()&&(s<r.maxStreamChunks?Bh(e,n,s,f):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&&Bh(e,n,s,a.trim()),s++),Nh(e,n,s)}catch(a){console.error(`[debug_log] Error reading debug stream for reqId=${n}:`,a),Nh(e,n,s)}finally{o.releaseLock()}})()}var qh="2.3.10";Un();import{existsSync as Yh,mkdirSync as vC,readFileSync as DC,writeFileSync as RC}from"fs";import{join as Xh}from"path";import{HOME_DIR as xC}from"@wengine-ai/claude-code-router-shared";var Yu=Xh(xC,"runtime"),Xu=Xh(Yu,"rate-limit.json"),Nr=new Map,Vh=!1,OC=null,PC=["x-ratelimit-remaining-tokens","x-ratelimit-remaining-requests","x-ratelimit-remaining"],FC=["x-ratelimit-limit-tokens","x-ratelimit-limit-requests","x-ratelimit-limit"],IC=["x-ratelimit-reset-tokens","x-ratelimit-reset-requests","x-ratelimit-reset"];function Fo(t,e,n){let r=u=>{if(n instanceof Headers)return n.get(u);let l=Object.keys(n).find(d=>d.toLowerCase()===u);return l?n[l]:null},o=Qu(r,PC),s=Qu(r,FC),a=Qu(r,IC);(o||s||a)&&Nr.set(t,{provider:t,remaining:Kh(o),limit:Kh(s),reset:MC(a),capturedAt:Date.now()})}function BC(t){return Nr.get(t)}function NC(){return Array.from(Nr.values())}function Qu(t,e){for(let n of e){let r=t(n);if(r)return r}return null}function Kh(t){if(!t)return null;let e=Number(t.trim().replace(/,/g,""));return Number.isFinite(e)?e:null}function MC(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=LC(e);return o===null?null:Math.floor((Date.now()+o)/1e3)}function LC(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(!Yh(Xu))return;let t=JSON.parse(DC(Xu,"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;Nr.set(n.provider,n)}}catch{}}function Qh(){try{if(Nr.size===0)return;Yh(Yu)||vC(Yu,{recursive:!0}),RC(Xu,JSON.stringify(Array.from(Nr.values()),null,2),"utf-8")}catch{}}function Zu(){Vh||(Vh=!0,jC(),OC=setInterval(Qh,6e4),process.on("exit",Qh))}ni();var Mr=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 d=this.prependToStream(a,o),f=new TextDecoder,p=new TextEncoder,m="",b=!1,w=this,y=new ReadableStream({async start(g){let _=d.getReader(),A=-1,C="",S=v=>(v!==C&&(A++,C=v),A);try{for(;;){let{done:v,value:R}=await _.read();if(v){b||g.enqueue(p.encode(`data: [DONE]
74
+ `);a=d.pop()||"";for(let f of d)f.trim()&&(s<r.maxStreamChunks?Mh(e,n,s,f):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&&Mh(e,n,s,a.trim()),s++),Lh(e,n,s)}catch(a){console.error(`[debug_log] Error reading debug stream for reqId=${n}:`,a),Lh(e,n,s)}finally{o.releaseLock()}})()}var ri="2.3.12";Un();import{existsSync as Xh,mkdirSync as OC,readFileSync as PC,writeFileSync as FC}from"fs";import{join as Zh}from"path";import{HOME_DIR as IC}from"@wengine-ai/claude-code-router-shared";var Zu=Zh(IC,"runtime"),ec=Zh(Zu,"rate-limit.json"),Br=new Map,Kh=!1,NC=null,BC=["x-ratelimit-remaining-tokens","x-ratelimit-remaining-requests","x-ratelimit-remaining"],MC=["x-ratelimit-limit-tokens","x-ratelimit-limit-requests","x-ratelimit-limit"],LC=["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(d=>d.toLowerCase()===u);return l?n[l]:null},o=Xu(r,BC),s=Xu(r,MC),a=Xu(r,LC);(o||s||a)&&Br.set(t,{provider:t,remaining:Yh(o),limit:Yh(s),reset:$C(a),capturedAt:Date.now()})}function jC(t){return Br.get(t)}function UC(){return Array.from(Br.values())}function Xu(t,e){for(let n of e){let r=t(n);if(r)return r}return null}function Yh(t){if(!t)return null;let e=Number(t.trim().replace(/,/g,""));return Number.isFinite(e)?e:null}function $C(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=qC(e);return o===null?null:Math.floor((Date.now()+o)/1e3)}function qC(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 zC(){try{if(!Xh(ec))return;let t=JSON.parse(PC(ec,"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;Br.set(n.provider,n)}}catch{}}function Qh(){try{if(Br.size===0)return;Xh(Zu)||OC(Zu,{recursive:!0}),FC(ec,JSON.stringify(Array.from(Br.values()),null,2),"utf-8")}catch{}}function tc(){Kh||(Kh=!0,zC(),NC=setInterval(Qh,6e4),process.on("exit",Qh))}oi();var Mr=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 d=this.prependToStream(a,o),f=new TextDecoder,p=new TextEncoder,m="",b=!1,w=this,y=new ReadableStream({async start(g){let _=d.getReader(),A=-1,C="",S=T=>(T!==C&&(A++,C=T),A);try{for(;;){let{done:T,value:R}=await _.read();if(T){b||g.enqueue(p.encode(`data: [DONE]
75
75
 
76
- `));break}let $=f.decode(R,{stream:!0});m+=$;let V=m.split(/\r?\n/);m=V.pop()||"";for(let P of V)if(P.trim())try{if(P.startsWith("event: "))continue;if(P.startsWith("data: ")){let Q=P.slice(5).trim();if(Q==="[DONE]"){b=!0,g.enqueue(p.encode(`data: [DONE]
76
+ `));break}let $=f.decode(R,{stream:!0});m+=$;let V=m.split(/\r?\n/);m=V.pop()||"";for(let P of V)if(P.trim())try{if(P.startsWith("event: "))continue;if(P.startsWith("data: ")){let Y=P.slice(5).trim();if(Y==="[DONE]"){b=!0,g.enqueue(p.encode(`data: [DONE]
77
77
 
78
- `));continue}try{let z=JSON.parse(Q);if(z.type==="response.output_text.delta"){let K={id:z.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model,choices:[{index:S(z.type),delta:{content:z.delta||""},finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(K)}
78
+ `));continue}try{let z=JSON.parse(Y);if(z.type==="response.output_text.delta"){let K={id:z.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model,choices:[{index:S(z.type),delta:{content:z.delta||""},finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(K)}
79
79
 
80
80
  `))}else if(z.type==="response.output_item.added"&&z.item?.type==="function_call"){let K={id:z.item.call_id||z.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model||"gpt-5-codex-",choices:[{index:S(z.type),delta:{role:"assistant",tool_calls:[{index:0,id:z.item.call_id||z.item.id,function:{name:z.item.name||"",arguments:""},type:"function"}]},finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(K)}
81
81
 
82
- `))}else if(z.type==="response.output_item.added"&&z.item?.type==="message"){let K=[];(z.item.content||[]).forEach(ee=>{ee.type==="output_text"&&K.push({type:"text",text:ee.text||""})});let Y={role:"assistant"};if(K.length===1&&K[0].type==="text"?Y.content=K[0].text:K.length>0&&(Y.content=K),Y.content){let ee={id:z.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model,choices:[{index:S(z.type),delta:Y,finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(ee)}
82
+ `))}else if(z.type==="response.output_item.added"&&z.item?.type==="message"){let K=[];(z.item.content||[]).forEach(ee=>{ee.type==="output_text"&&K.push({type:"text",text:ee.text||""})});let Q={role:"assistant"};if(K.length===1&&K[0].type==="text"?Q.content=K[0].text:K.length>0&&(Q.content=K),Q.content){let ee={id:z.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model,choices:[{index:S(z.type),delta:Q,finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(ee)}
83
83
 
84
84
  `))}}else if(z.type==="response.output_text.annotation.added"){let K={id:z.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model||"gpt-5-codex",choices:[{index:S(z.type),delta:{annotations:[{type:"url_citation",url_citation:{url:z.annotation?.url||"",title:z.annotation?.title||"",content:"",start_index:z.annotation?.start_index||0,end_index:z.annotation?.end_index||0}}]},finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(K)}
85
85
 
86
86
  `))}else if(z.type==="response.function_call_arguments.delta"){let K={id:z.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model||"gpt-5-codex-",choices:[{index:S(z.type),delta:{tool_calls:[{index:0,function:{arguments:z.delta||""}}]},finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(K)}
87
87
 
88
- `))}else if(z.type==="response.completed"){let K=z.response?.output?.some(ee=>ee.type==="function_call")?"tool_calls":"stop",Y={id:z.response?.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model||"gpt-5-codex-",choices:[{index:0,delta:{},finish_reason:K}]};g.enqueue(p.encode(`data: ${JSON.stringify(Y)}
88
+ `))}else if(z.type==="response.completed"){let K=z.response?.output?.some(ee=>ee.type==="function_call")?"tool_calls":"stop",Q={id:z.response?.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model||"gpt-5-codex-",choices:[{index:0,delta:{},finish_reason:K}]};g.enqueue(p.encode(`data: ${JSON.stringify(Q)}
89
89
 
90
90
  `)),b=!0}else if(z.type==="response.reasoning_summary_text.delta"){let K={id:z.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model,choices:[{index:S(z.type),delta:{thinking:{content:z.delta||""}},finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(K)}
91
91
 
@@ -93,48 +93,48 @@ ${this.toMarkdown(s,n+1)}`:`${r}${o}: ${s}`).join(`
93
93
 
94
94
  `))}}catch{g.enqueue(p.encode(P+`
95
95
  `))}}else g.enqueue(p.encode(P+`
96
- `))}catch(Q){console.error("Error processing line:",P,Q),g.enqueue(p.encode(P+`
96
+ `))}catch(Y){console.error("Error processing line:",P,Y),g.enqueue(p.encode(P+`
97
97
  `))}}m.trim()&&g.enqueue(p.encode(m+`
98
98
  `)),b||g.enqueue(p.encode(`data: [DONE]
99
99
 
100
- `))}catch(v){console.error("Stream error:",v),g.error(v)}finally{try{_.releaseLock()}catch(v){console.error("Error releasing reader lock:",v)}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:b}=await a.read();!b&&m&&(u=new TextDecoder().decode(m))}finally{a.releaseLock()}o.cancel().catch(()=>{});let l=u.includes("message_start")||u.includes("content_block_start"),d=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(d&&!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 p=this.convertAnthropicStreamToResponsesAPI(s,n);return new Response(p,{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:d}=await s.read();l?u.close():u.enqueue(d)}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,d=!1,f="",p=-1,m=[],b=(y,g)=>o.encode(`event: ${y}
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:b}=await a.read();!b&&m&&(u=new TextDecoder().decode(m))}finally{a.releaseLock()}o.cancel().catch(()=>{});let l=u.includes("message_start")||u.includes("content_block_start"),d=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(d&&!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 p=this.convertAnthropicStreamToResponsesAPI(s,n);return new Response(p,{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:d}=await s.read();l?u.close():u.enqueue(d)}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,d=!1,f="",p=-1,m=[],b=(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(),_="",A=!1,C=S=>{if(!A){A=!0;for(let v of m)if(v.type==="function_call"){let R=m.indexOf(v);y.enqueue(b("response.function_call_arguments.done",{type:"response.function_call_arguments.done",item_id:v.call_id||v.id,output_index:R,arguments:v.arguments||""})),v.status="completed",y.enqueue(b("response.output_item.done",{type:"response.output_item.done",output_index:R,item:v}))}for(let v of m)if(v.type==="message"){let R=m.indexOf(v);v.status="completed",y.enqueue(b("response.output_item.done",{type:"response.output_item.done",output_index:R,item:v}))}y.enqueue(b("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:v}=await g.read();if(S)break;_+=r.decode(v,{stream:!0});let R=_.split(`
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(),_="",A=!1,C=S=>{if(!A){A=!0;for(let T of m)if(T.type==="function_call"){let R=m.indexOf(T);y.enqueue(b("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(b("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(b("response.output_item.done",{type:"response.output_item.done",output_index:R,item:T}))}y.enqueue(b("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 V=$.trim();if(!V||V.startsWith("event:")||!V.startsWith("data:"))continue;let P=V.slice(5).trim();if(P==="[DONE]"){C({}),y.enqueue(o.encode(`data: [DONE]
105
105
 
106
- `));continue}let Q;try{Q=JSON.parse(P)}catch{continue}l||(l=!0,y.enqueue(b("response.created",{type:"response.created",response:w("in_progress")})),y.enqueue(b("response.in_progress",{type:"response.in_progress",response:w("in_progress")})));let z=Q.choices?.[0];if(!z)continue;let K=z.delta;if(K?.content){if(!d){d=!0;let Y=u++,ee={id:`${a}_msg`,type:"message",status:"in_progress",role:"assistant",content:[]};m.push(ee),y.enqueue(b("response.output_item.added",{type:"response.output_item.added",output_index:Y,item:ee}))}y.enqueue(b("response.output_text.delta",{type:"response.output_text.delta",item_id:`${a}_msg`,output_index:u-1,content_index:0,delta:K.content}))}if(Array.isArray(K?.tool_calls))for(let Y of K.tool_calls){if(Y.id){f=Y.id,p=u++;let ee={id:Y.id,type:"function_call",status:"in_progress",call_id:Y.id,name:Y.function?.name||"",arguments:""};m.push(ee),y.enqueue(b("response.output_item.added",{type:"response.output_item.added",output_index:p,item:ee}))}if(Y.function?.arguments){y.enqueue(b("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:f,output_index:p,delta:Y.function.arguments}));let ee=m.find(ae=>ae.call_id===f);ee&&(ee.arguments+=Y.function.arguments)}}z.finish_reason&&C(Q)}}A||C({}),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="",d=-1,f="",p="",m="",b=-1,w="",y="",g=-1,_=0,A=!1,C=!1,S=!1,v=!1,R=null,$=[],V=(ee,ae)=>o.encode(`event: ${ee}
106
+ `));continue}let Y;try{Y=JSON.parse(P)}catch{continue}l||(l=!0,y.enqueue(b("response.created",{type:"response.created",response:w("in_progress")})),y.enqueue(b("response.in_progress",{type:"response.in_progress",response:w("in_progress")})));let z=Y.choices?.[0];if(!z)continue;let K=z.delta;if(K?.content){if(!d){d=!0;let Q=u++,ee={id:`${a}_msg`,type:"message",status:"in_progress",role:"assistant",content:[]};m.push(ee),y.enqueue(b("response.output_item.added",{type:"response.output_item.added",output_index:Q,item:ee}))}y.enqueue(b("response.output_text.delta",{type:"response.output_text.delta",item_id:`${a}_msg`,output_index:u-1,content_index:0,delta:K.content}))}if(Array.isArray(K?.tool_calls))for(let Q of K.tool_calls){if(Q.id){f=Q.id,p=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(b("response.output_item.added",{type:"response.output_item.added",output_index:p,item:ee}))}if(Q.function?.arguments){y.enqueue(b("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:f,output_index:p,delta:Q.function.arguments}));let ee=m.find(ae=>ae.call_id===f);ee&&(ee.arguments+=Q.function.arguments)}}z.finish_reason&&C(Y)}}A||C({}),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="",d=-1,f="",p="",m="",b=-1,w="",y="",g=-1,_=0,A=!1,C=!1,S=!1,T=!1,R=null,$=[],V=(ee,ae)=>o.encode(`event: ${ee}
107
107
  data: ${JSON.stringify(ae)}
108
108
 
109
- `),P=(ee,ae=[])=>({id:a,object:"response",created_at:Math.floor(Date.now()/1e3),status:ee,model:s,output:ae,usage:this.buildResponsesUsage()}),Q=()=>{A||(A=!0,Y.enqueue(V("response.created",{type:"response.created",response:P("in_progress")})),Y.enqueue(V("response.in_progress",{type:"response.in_progress",response:P("in_progress")})))},z=(ee,ae)=>{Y.enqueue(V("response.output_item.done",{type:"response.output_item.done",output_index:ee,item:{...ae,status:"completed"}}))},K=ee=>{if(!v){if(v=!0,C){let ae=$.find(se=>se.type==="message");ae&&(ae.content=[{type:"output_text",text:u}],ae.status="completed")}for(let ae of $)ae.type==="function_call"&&(ae.status="completed");return V("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()}})}},Y;return new ReadableStream({async start(ee){Y=ee;try{let ae=e.getReader(),se="";for(;;){let{done:G,value:Z}=await ae.read();if(G)break;se+=r.decode(Z,{stream:!0});let ie=se.split(`
110
- `);se=ie.pop()||"";for(let Ue of ie){let Ae=Ue.trim();if(!Ae||Ae.startsWith("event:")||!Ae.startsWith("data:"))continue;let J=Ae.slice(5).trim();if(J==="[DONE]")continue;let ce;try{ce=JSON.parse(J)}catch{continue}if(ce.type==="message_start"&&(a=ce.message?.id||a,Q()),ce.type==="content_block_start"){let te=ce.content_block;if(R=te?.type||null,te?.type==="tool_use"){f=te.id||"",p=te.name||"",m="",b=_++;let ve={id:f,type:"function_call",status:"in_progress",call_id:f,name:p,arguments:""};$.push(ve),Y.enqueue(V("response.output_item.added",{type:"response.output_item.added",output_index:b,item:ve}))}if(te?.type==="thinking"&&(w=te.thinking||"",!S)){S=!0,g=_++,y=`rs_${a}`;let ve={id:y,type:"reasoning",status:"in_progress",summary:[]};$.push(ve),Y.enqueue(V("response.output_item.added",{type:"response.output_item.added",output_index:g,item:ve}))}if(te?.type==="text"&&(u=te?.text||"",!C)){C=!0,d=_++,l=`${a}_msg`;let ve={id:l,type:"message",status:"in_progress",role:"assistant",content:[]};$.push(ve),Y.enqueue(V("response.output_item.added",{type:"response.output_item.added",output_index:d,item:ve}))}}if(ce.type==="content_block_delta"){let te=ce.delta;if(te?.type==="text_delta"){if(!C){C=!0,d=_++,l=`${a}_msg`;let ve={id:l,type:"message",status:"in_progress",role:"assistant",content:[]};$.push(ve),Y.enqueue(V("response.output_item.added",{type:"response.output_item.added",output_index:d,item:ve}))}u+=te.text||"",Y.enqueue(V("response.output_text.delta",{type:"response.output_text.delta",item_id:l,output_index:d,content_index:0,delta:te.text||""}))}te?.type==="thinking_delta"&&(w+=te.thinking||"",Y.enqueue(V("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||"",Y.enqueue(V("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:f||"call_0",output_index:b>=0?b:0,delta:te.partial_json||""})))}if(ce.type==="content_block_stop"){if(R==="tool_use"&&f){Y.enqueue(V("response.function_call_arguments.done",{type:"response.function_call_arguments.done",item_id:f,output_index:b,arguments:m}));let te=$.find(ve=>ve.call_id===f);te&&(te.arguments=m,te.status="completed"),te&&z(b,te)}if(R==="text"&&C){Y.enqueue(V("response.output_text.done",{type:"response.output_text.done",item_id:l,output_index:d,content_index:0,text:u}));let te=$.find(ve=>ve.type==="message");te&&(te.content=[{type:"output_text",text:u}],z(d,te))}if(R==="thinking"&&S){let te=$.find(ve=>ve.type==="reasoning");te&&(te.summary=[{type:"summary_text",text:w}],z(g,te))}R=null}if(ce.type==="message_delta"){let te=K(ce.usage);te&&Y.enqueue(te)}if(ce.type==="message_stop"){let te=K();te&&Y.enqueue(te),Y.enqueue(o.encode(`data: [DONE]
109
+ `),P=(ee,ae=[])=>({id:a,object:"response",created_at:Math.floor(Date.now()/1e3),status:ee,model:s,output:ae,usage:this.buildResponsesUsage()}),Y=()=>{A||(A=!0,Q.enqueue(V("response.created",{type:"response.created",response:P("in_progress")})),Q.enqueue(V("response.in_progress",{type:"response.in_progress",response:P("in_progress")})))},z=(ee,ae)=>{Q.enqueue(V("response.output_item.done",{type:"response.output_item.done",output_index:ee,item:{...ae,status:"completed"}}))},K=ee=>{if(!T){if(T=!0,C){let ae=$.find(se=>se.type==="message");ae&&(ae.content=[{type:"output_text",text:u}],ae.status="completed")}for(let ae of $)ae.type==="function_call"&&(ae.status="completed");return V("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 ae=e.getReader(),se="";for(;;){let{done:G,value:Z}=await ae.read();if(G)break;se+=r.decode(Z,{stream:!0});let ie=se.split(`
110
+ `);se=ie.pop()||"";for(let Ue of ie){let Ae=Ue.trim();if(!Ae||Ae.startsWith("event:")||!Ae.startsWith("data:"))continue;let J=Ae.slice(5).trim();if(J==="[DONE]")continue;let ce;try{ce=JSON.parse(J)}catch{continue}if(ce.type==="message_start"&&(a=ce.message?.id||a,Y()),ce.type==="content_block_start"){let te=ce.content_block;if(R=te?.type||null,te?.type==="tool_use"){f=te.id||"",p=te.name||"",m="",b=_++;let Te={id:f,type:"function_call",status:"in_progress",call_id:f,name:p,arguments:""};$.push(Te),Q.enqueue(V("response.output_item.added",{type:"response.output_item.added",output_index:b,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(V("response.output_item.added",{type:"response.output_item.added",output_index:g,item:Te}))}if(te?.type==="text"&&(u=te?.text||"",!C)){C=!0,d=_++,l=`${a}_msg`;let Te={id:l,type:"message",status:"in_progress",role:"assistant",content:[]};$.push(Te),Q.enqueue(V("response.output_item.added",{type:"response.output_item.added",output_index:d,item:Te}))}}if(ce.type==="content_block_delta"){let te=ce.delta;if(te?.type==="text_delta"){if(!C){C=!0,d=_++,l=`${a}_msg`;let Te={id:l,type:"message",status:"in_progress",role:"assistant",content:[]};$.push(Te),Q.enqueue(V("response.output_item.added",{type:"response.output_item.added",output_index:d,item:Te}))}u+=te.text||"",Q.enqueue(V("response.output_text.delta",{type:"response.output_text.delta",item_id:l,output_index:d,content_index:0,delta:te.text||""}))}te?.type==="thinking_delta"&&(w+=te.thinking||"",Q.enqueue(V("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(V("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:f||"call_0",output_index:b>=0?b:0,delta:te.partial_json||""})))}if(ce.type==="content_block_stop"){if(R==="tool_use"&&f){Q.enqueue(V("response.function_call_arguments.done",{type:"response.function_call_arguments.done",item_id:f,output_index:b,arguments:m}));let te=$.find(Te=>Te.call_id===f);te&&(te.arguments=m,te.status="completed"),te&&z(b,te)}if(R==="text"&&C){Q.enqueue(V("response.output_text.done",{type:"response.output_text.done",item_id:l,output_index:d,content_index:0,text:u}));let te=$.find(Te=>Te.type==="message");te&&(te.content=[{type:"output_text",text:u}],z(d,te))}if(R==="thinking"&&S){let te=$.find(Te=>Te.type==="reasoning");te&&(te.summary=[{type:"summary_text",text:w}],z(g,te))}R=null}if(ce.type==="message_delta"){let te=K(ce.usage);te&&Q.enqueue(te)}if(ce.type==="message_stop"){let te=K();te&&Q.enqueue(te),Q.enqueue(o.encode(`data: [DONE]
111
111
 
112
- `))}}}Q();let me=K();me&&Y.enqueue(me),se="",Y.close()}catch(ae){Y.error(ae)}}})}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(d=>d.type==="message"),r=e.output?.find(d=>d.type==="function_call"),o;n?.content?.length&&n?.content[0].annotations&&(o=n.content[0].annotations.map(d=>({type:"url_citation",url_citation:{url:d.url||"",title:d.title||"",content:"",start_index:d.start_index||0,end_index:d.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 d=[],f=[];if(n.content.forEach(p=>{if(p.type==="output_text")d.push(p.text||"");else if(p.type==="output_image"){let m=this.buildImageContent({url:p.image_url,mime_type:p.mime_type});m&&f.push(m)}else if(p.type==="output_image_base64"){let m=this.buildImageContent({b64_json:p.image_base64,mime_type:p.mime_type});m&&f.push(m)}}),f.length>0){let p=[];d.length>0&&p.push({type:"text",text:d.join("")}),p.push(...f),s=p}else s=d.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 VC}from"tiktoken";var ec=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())}},tc=new ec(100);Un();import{readFile as ac}from"fs/promises";import{opendir as KC,stat as QC}from"fs/promises";import{join as uc}from"path";import{CLAUDE_PROJECTS_DIR as rp,HOME_DIR as op}from"@wengine-ai/claude-code-router-shared";import{existsSync as tp,mkdirSync as UC,readFileSync as $C,writeFileSync as qC}from"fs";import{join as np}from"path";import{HOME_DIR as zC}from"@wengine-ai/claude-code-router-shared";var nc=np(zC,"runtime"),rc=np(nc,"quota-store.json"),Lr=new Map,Zh=!1,HC=null;function oc(t,e){t&&Lr.set(t,{...e,provider:t,capturedAt:Date.now()})}function sc(t){let e=Lr.get(t);return e?{...e}:void 0}function WC(){return Array.from(Lr.values()).map(t=>({...t}))}function GC(){try{if(!tp(rc))return;let t=JSON.parse($C(rc,"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;Lr.set(n.provider,n)}}catch{}}function ep(){try{if(Lr.size===0)return;tp(nc)||UC(nc,{recursive:!0}),qC(rc,JSON.stringify(Array.from(Lr.values()),null,2),"utf-8")}catch{}}function ic(){Zh||(Zh=!0,GC(),HC=setInterval(ep,6e4),process.on("exit",ep))}ni();var JC=/^[A-Za-z0-9_-]+$/;function jr(t){if(typeof t!="string")return;let e=t.trim();if(!(!e||!JC.test(e)))return e}function Io(t){if(!t)return;if(typeof t=="object")return jr(t.session_id??t.sessionId);if(typeof t!="string")return;let e=t.trim();if(!e)return;try{let o=JSON.parse(e),s=jr(o?.session_id??o?.sessionId);if(s)return s}catch{}let n="_session_",r=e.lastIndexOf(n);if(r!==-1)return jr(e.slice(r+n.length))}var En=VC("cl100k_base"),ap=(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},up=async(t,e)=>{if(t.sessionId){let n=await dp(t.sessionId);if(n){let r=uc(op,n,"config.json"),o=uc(op,n,`${t.sessionId}.json`);try{let s=JSON.parse(await ac(o,"utf8"));if(s&&s.Router&&Object.keys(s.Router).length>0)return s.Router}catch{}try{let s=JSON.parse(await ac(r,"utf8"));if(s&&s.Router&&Object.keys(s.Router).length>0)return s.Router}catch{}}}};function oi(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 cp(t){let e=oi(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 YC(t,e){if(!e||!t)return null;let n=oi(t);if(e[t])return e[t];if(e[n])return e[n];let{family:r}=cp(t);if(r&&e[r])return e[r];for(let[o,s]of Object.entries(e)){let a=oi(o);if(a&&n.includes(a))return s}return null}function lp(t){return t?(t.input_tokens||0)+(t.cache_read_input_tokens||0)+(t.cache_creation_input_tokens||0):0}function sp(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 tt(t,e,n,r,o){let s=sp(t);if(!s)return t;let{providerName:a,routeModel:u}=s,l=e.find(p=>p.name.toLowerCase()===a.toLowerCase());if(l&&l.enabled===!1)return null;if(o===!0&&r&&!n){let p=Po(),m=p.getPromotion(a,u,r,e);if(m){let b=sp(m);if(b){let w=e.find(g=>g.name.toLowerCase()===b.providerName.toLowerCase()),y=w?.models?.find(g=>String(g).toLowerCase()===b.routeModel.toLowerCase());if(w&&y)return`${w.name},${y}`}p.clear(a,u,r)}}if(!n&&!Qe().isAvailable(a,u))return null;let d=sc(a);if(d){let p=d.limitDaily!==void 0&&d.usedDailyBalance!==void 0&&d.usedDailyBalance>=d.limitDaily,m=d.totalBalance!==void 0&&d.usedBalance!==void 0&&d.usedBalance>=d.totalBalance;if(p||m)return null}let f=l?.models?.find(p=>String(p).toLowerCase()===u.toLowerCase());return l&&f?`${l.name},${f}`:t}function jt(t,e,n,r,o){let s=Qe(),a=[n?.[t],r?.[t]];for(let u of a)if(!(!Array.isArray(u)||u.length===0))for(let l of u){let d=tt(l,e);if(d)return d}return null}function XC(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 ZC(t){let e=oi(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 ew(t,e,n,r,o,s,a,u){let l=n.longContextThreshold||6e4,d=Math.max(e,lp(o)),f=t.modelFamily;if((s||d>2e5)&&n.extendedContext){let w=tt(n.extendedContext,r,!1,"extendedContext",u);if(w)return t.log.info(`Family: using extended context model (1M+), tokens: ${d}, estimated: ${e}, explicit: ${s}`),{model:w,scenarioType:"extendedContext",isFallback:!1};let y=u?jt("extendedContext",r,n.fallback,a,f):null;if(y)return t.log.info(`Family: using extended context fallback model (1M+), tokens: ${d}, estimated: ${e}, explicit: ${s}`),{model:y,scenarioType:"extendedContext",isFallback:!0};t.log.warn("Family: extendedContext model unavailable (fail pool), skipping")}if(d>l&&(n.longContext||n.fallback?.longContext?.length||a?.longContext?.length)){let w=n.longContext?tt(n.longContext,r,!1,"longContext",u):null;if(w)return t.log.info(`Family: using long context model, tokens: ${d}, estimated: ${e}`),{model:w,scenarioType:"longContext",isFallback:!1};let y=u?jt("longContext",r,n.fallback,a,f):null;if(y)return t.log.info(`Family: using long context fallback model, tokens: ${d}, estimated: ${e}`),{model:y,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(w=>w.type?.startsWith("web_search"))&&n.webSearch){let w=tt(n.webSearch,r,!1,"webSearch",u);if(w)return{model:w,scenarioType:"webSearch",isFallback:!1};let y=u?jt("webSearch",r,n.fallback,a,f):null;if(y)return t.log.info("Family: using webSearch fallback model"),{model:y,scenarioType:"webSearch",isFallback:!0};t.log.warn("Family: webSearch model unavailable (fail pool), skipping")}if(t.body.thinking?.type==="enabled"&&n.think){let w=tt(n.think,r,!1,"think",u);if(w)return{model:w,scenarioType:"think",isFallback:!1};let y=u?jt("think",r,n.fallback,a,f):null;if(y)return t.log.info("Family: using think fallback model"),{model:y,scenarioType:"think",isFallback:!0};t.log.warn("Family: think model unavailable (fail pool), skipping")}if(n.default){let w=tt(n.default,r,!1,"default",u);if(w)return{model:w,scenarioType:"default",isFallback:!1};let y=u?jt("default",r,n.fallback,a,f):null;if(y)return t.log.info("Family: using default fallback model"),{model:y,scenarioType:"default",isFallback:!0};t.log.warn("Family: default model unavailable (fail pool), skipping")}return null}var tw=async(t,e,n,r)=>{let o=await up(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 A=tt(t.body.model,s,!1,"default",u);if(A)return{model:A,scenarioType:"default"};t.log.warn(`Explicit model ${t.body.model} unavailable (fail pool), trying fallback`);let C=u?jt("default",s,void 0,l):null;if(C)return t.log.info(`Using fallback for explicit model: ${C}`),{model:C,scenarioType:"default"};t.log.warn(`No fallback available for explicit model ${t.body.model}, continuing through routing logic`)}let{family:d,extended:f,isCcrAlias:p}=cp(t.body.model),m=a?.families?.[d||""];if(m&&a?.enableFamilyRouting){t.log.info(`Using model family routing for: ${d}${f?" (1M)":""}`),t.modelFamily=d,t.familyFallback=m.fallback;let A=ew(t,e,m,s,r,f,l,u);if(A)return{model:A.model,scenarioType:A.scenarioType}}let b=p&&!a?.enableFamilyRouting?null:YC(t.body.model,a?.models);if(b){let A=tt(b,s,!1,"modelMapping",u);if(A)return t.log.info(`Using mapped model for ${t.body.model}: ${b}`),{model:A,scenarioType:"modelMapping"};t.log.warn(`Mapped model ${b} unavailable (fail pool), skipping`)}let w=Math.max(e,lp(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 A=tt(a.extendedContext,s,!1,"extendedContext",u);if(A)return{model:A,scenarioType:"extendedContext"};t.log.warn(`Extended context model ${a.extendedContext} unavailable (fail pool), trying fallback`);let C=u?jt("extendedContext",s,void 0,l):null;if(C)return{model:C,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 A=tt(a.longContext,s,!1,"longContext",u);if(A)return{model:A,scenarioType:"longContext"};t.log.warn(`Long context model ${a.longContext} unavailable (fail pool), trying fallback`);let C=u?jt("longContext",s,void 0,l):null;if(C)return{model:C,scenarioType:"longContext"}}if(t.body?.system?.length>1&&t.body?.system[1]?.text?.startsWith("<CCR-SUBAGENT-MODEL>")){let A=t.body?.system[1].text.match(/<CCR-SUBAGENT-MODEL>(.*?)<\/CCR-SUBAGENT-MODEL>/s);if(A)return t.body.system[1].text=t.body.system[1].text.replace(`<CCR-SUBAGENT-MODEL>${A[1]}</CCR-SUBAGENT-MODEL>`,""),{model:A[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 A=tt(a.background,s,!1,"background",u);if(A)return{model:A,scenarioType:"background"};t.log.warn(`Background model ${a.background} unavailable (fail pool), falling through`)}if(Array.isArray(t.body.tools)&&t.body.tools.some(A=>A.type?.startsWith("web_search"))&&a?.webSearch){let A=tt(a.webSearch,s,!1,"webSearch",u);if(A)return{model:A,scenarioType:"webSearch"};t.log.warn(`WebSearch model ${a.webSearch} unavailable (fail pool), trying fallback`);let C=u?jt("webSearch",s,void 0,l):null;if(C)return{model:C,scenarioType:"webSearch"}}if(t.body.thinking?.type==="enabled"&&a?.think){t.log.info(`Using think model for ${t.body.thinking}`);let A=tt(a.think,s,!1,"think",u);if(A)return{model:A,scenarioType:"think"};t.log.warn(`Think model ${a.think} unavailable (fail pool), trying fallback`);let C=u?jt("think",s,void 0,l):null;if(C)return{model:C,scenarioType:"think"}}if(a?.default){let A=tt(a.default,s,!1,"default",u);if(A)return{model:A,scenarioType:"default"};t.log.warn(`Default model ${a.default} unavailable (fail pool), trying fallback`);let C=u?jt("default",s,void 0,l):null;if(C)return{model:C,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"}},Bo=async(t,e,n)=>{let{configService:r,event:o}=n;t.originalModel=t.body.model;let s=Io(t.body.metadata?.user_id);s&&(t.sessionId=s);let u=await up(t,r)||r.get("Router"),l=u?.enableFallback===!0,d=r.get("providers")||[];t.enableFallback=l,t.fallbackConfig=u?.fallback||r.get("fallback");let f=tc.get(t.sessionId),{messages:p,system:m=[],tools:b}=t.body,w=r.get("REWRITE_SYSTEM_PROMPT");if(w&&m.length>1&&m[1]?.text?.includes("<env>")){let y=await ac(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),A;n.tokenizerService?A=(await n.tokenizerService.countTokens({messages:p,system:m,tools:b},_)).tokenCount:A=ap(p,m,b),t.tokenCount=A;let C,S=r.get("CUSTOM_ROUTER_PATH");if(S)try{C=await re(S)(t,r.getAll(),{event:o})}catch(v){t.log.error(`failed to load custom router: ${v.message}`)}if(C)t.scenarioType="default";else{let v=await tw(t,A,r,f);C=v.model,t.scenarioType=v.scenarioType}if(u?.image&&C!==u.image&&XC(t)&&!ZC(C)){let v=tt(u.image,d,!1,"image",l);v?(t.log.info(`Using image model fallback for ${C}`),C=v,t.scenarioType="image"):(t.log.warn(`Image model ${u.image} unavailable (fail pool), keeping ${C}`),t.scenarioType="image")}t.body.model=C}catch(y){t.log.error(`Error in router middleware: ${y.message}`),t.body.model=u?.default,t.scenarioType="default"}},lr=new Map,ip=1e3;function nw(){if(lr.size<=ip)return;let t=[...lr.keys()].slice(0,lr.size-ip);for(let e of t)lr.delete(e)}var dp=async t=>{let e=jr(t);if(!e)return null;if(lr.has(e))return lr.get(e)||null;try{let n=await KC(rp),r=[];for await(let a of n)a.isDirectory()&&r.push(a.name);let o=r.map(async a=>{let u=uc(rp,a,`${e}.jsonl`);try{return(await QC(u)).isFile()?a:null}catch{return null}}),s=await Promise.all(o);for(let a of s)if(a)return lr.set(e,a),nw(),a;return null}catch(n){return console.error("Error searching for project by session:",n),null}};var rw=/^ccr-(opus|sonnet|haiku)(\[1m\])?$/i;function fp(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
+ `))}}}Y();let me=K();me&&Q.enqueue(me),se="",Q.close()}catch(ae){Q.error(ae)}}})}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(d=>d.type==="message"),r=e.output?.find(d=>d.type==="function_call"),o;n?.content?.length&&n?.content[0].annotations&&(o=n.content[0].annotations.map(d=>({type:"url_citation",url_citation:{url:d.url||"",title:d.title||"",content:"",start_index:d.start_index||0,end_index:d.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 d=[],f=[];if(n.content.forEach(p=>{if(p.type==="output_text")d.push(p.text||"");else if(p.type==="output_image"){let m=this.buildImageContent({url:p.image_url,mime_type:p.mime_type});m&&f.push(m)}else if(p.type==="output_image_base64"){let m=this.buildImageContent({b64_json:p.image_base64,mime_type:p.mime_type});m&&f.push(m)}}),f.length>0){let p=[];d.length>0&&p.push({type:"text",text:d.join("")}),p.push(...f),s=p}else s=d.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 XC}from"tiktoken";var nc=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())}},rc=new nc(100);Un();import{readFile as cc}from"fs/promises";import{opendir as ZC,stat as ew}from"fs/promises";import{join as lc}from"path";import{CLAUDE_PROJECTS_DIR as op,HOME_DIR as sp}from"@wengine-ai/claude-code-router-shared";import{existsSync as np,mkdirSync as HC,readFileSync as WC,writeFileSync as GC}from"fs";import{join as rp}from"path";import{HOME_DIR as JC}from"@wengine-ai/claude-code-router-shared";var oc=rp(JC,"runtime"),sc=rp(oc,"quota-store.json"),Lr=new Map,ep=!1,VC=null;function ic(t,e){t&&Lr.set(t,{...e,provider:t,capturedAt:Date.now()})}function ac(t){let e=Lr.get(t);return e?{...e}:void 0}function KC(){return Array.from(Lr.values()).map(t=>({...t}))}function YC(){try{if(!np(sc))return;let t=JSON.parse(WC(sc,"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;Lr.set(n.provider,n)}}catch{}}function tp(){try{if(Lr.size===0)return;np(oc)||HC(oc,{recursive:!0}),GC(sc,JSON.stringify(Array.from(Lr.values()),null,2),"utf-8")}catch{}}function uc(){ep||(ep=!0,YC(),VC=setInterval(tp,6e4),process.on("exit",tp))}oi();var QC=/^[A-Za-z0-9_-]+$/;function jr(t){if(typeof t!="string")return;let e=t.trim();if(!(!e||!QC.test(e)))return e}function No(t){if(!t)return;if(typeof t=="object")return jr(t.session_id??t.sessionId);if(typeof t!="string")return;let e=t.trim();if(!e)return;try{let o=JSON.parse(e),s=jr(o?.session_id??o?.sessionId);if(s)return s}catch{}let n="_session_",r=e.lastIndexOf(n);if(r!==-1)return jr(e.slice(r+n.length))}var En=XC("cl100k_base"),lp=(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},dp=async(t,e)=>{if(t.sessionId){let n=await pp(t.sessionId);if(n){let r=lc(sp,n,"config.json"),o=lc(sp,n,`${t.sessionId}.json`);try{let s=JSON.parse(await cc(o,"utf8"));if(s&&s.Router&&Object.keys(s.Router).length>0)return s.Router}catch{}try{let s=JSON.parse(await cc(r,"utf8"));if(s&&s.Router&&Object.keys(s.Router).length>0)return s.Router}catch{}}}};function ii(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 fp(t){let e=ii(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 tw(t,e){if(!e||!t)return null;let n=ii(t);if(e[t])return e[t];if(e[n])return e[n];let{family:r}=fp(t);if(r&&e[r])return e[r];for(let[o,s]of Object.entries(e)){let a=ii(o);if(a&&n.includes(a))return s}return null}function hp(t){return t?(t.input_tokens||0)+(t.cache_read_input_tokens||0)+(t.cache_creation_input_tokens||0):0}function ip(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 tt(t,e,n,r,o){let s=ip(t);if(!s)return t;let{providerName:a,routeModel:u}=s,l=e.find(p=>p.name.toLowerCase()===a.toLowerCase());if(l&&l.enabled===!1)return null;if(o===!0&&r&&!n){let p=Fo(),m=p.getPromotion(a,u,r,e);if(m){let b=ip(m);if(b){let w=e.find(g=>g.name.toLowerCase()===b.providerName.toLowerCase()),y=w?.models?.find(g=>String(g).toLowerCase()===b.routeModel.toLowerCase());if(w&&y)return`${w.name},${y}`}p.clear(a,u,r)}}if(!n&&!Ye().isAvailable(a,u))return null;let d=ac(a);if(d){let p=d.limitDaily!==void 0&&d.usedDailyBalance!==void 0&&d.usedDailyBalance>=d.limitDaily,m=d.totalBalance!==void 0&&d.usedBalance!==void 0&&d.usedBalance>=d.totalBalance;if(p||m)return null}let f=l?.models?.find(p=>String(p).toLowerCase()===u.toLowerCase());return l&&f?`${l.name},${f}`:t}function jt(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 d=tt(l,e);if(d)return d}return null}function nw(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 rw(t){let e=ii(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 ow(t,e,n,r,o,s,a,u){let l=n.longContextThreshold||6e4,d=Math.max(e,hp(o)),f=t.modelFamily;if((s||d>2e5)&&n.extendedContext){let w=tt(n.extendedContext,r,!1,"extendedContext",u);if(w)return t.log.info(`Family: using extended context model (1M+), tokens: ${d}, estimated: ${e}, explicit: ${s}`),{model:w,scenarioType:"extendedContext",isFallback:!1};let y=u?jt("extendedContext",r,n.fallback,a,f):null;if(y)return t.log.info(`Family: using extended context fallback model (1M+), tokens: ${d}, estimated: ${e}, explicit: ${s}`),{model:y,scenarioType:"extendedContext",isFallback:!0};t.log.warn("Family: extendedContext model unavailable (fail pool), skipping")}if(d>l&&(n.longContext||n.fallback?.longContext?.length||a?.longContext?.length)){let w=n.longContext?tt(n.longContext,r,!1,"longContext",u):null;if(w)return t.log.info(`Family: using long context model, tokens: ${d}, estimated: ${e}`),{model:w,scenarioType:"longContext",isFallback:!1};let y=u?jt("longContext",r,n.fallback,a,f):null;if(y)return t.log.info(`Family: using long context fallback model, tokens: ${d}, estimated: ${e}`),{model:y,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(w=>w.type?.startsWith("web_search"))&&n.webSearch){let w=tt(n.webSearch,r,!1,"webSearch",u);if(w)return{model:w,scenarioType:"webSearch",isFallback:!1};let y=u?jt("webSearch",r,n.fallback,a,f):null;if(y)return t.log.info("Family: using webSearch fallback model"),{model:y,scenarioType:"webSearch",isFallback:!0};t.log.warn("Family: webSearch model unavailable (fail pool), skipping")}if(t.body.thinking?.type==="enabled"&&n.think){let w=tt(n.think,r,!1,"think",u);if(w)return{model:w,scenarioType:"think",isFallback:!1};let y=u?jt("think",r,n.fallback,a,f):null;if(y)return t.log.info("Family: using think fallback model"),{model:y,scenarioType:"think",isFallback:!0};t.log.warn("Family: think model unavailable (fail pool), skipping")}if(n.default){let w=tt(n.default,r,!1,"default",u);if(w)return{model:w,scenarioType:"default",isFallback:!1};let y=u?jt("default",r,n.fallback,a,f):null;if(y)return t.log.info("Family: using default fallback model"),{model:y,scenarioType:"default",isFallback:!0};t.log.warn("Family: default model unavailable (fail pool), skipping")}return null}var sw=async(t,e,n,r)=>{let o=await dp(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 A=tt(t.body.model,s,!1,"default",u);if(A)return{model:A,scenarioType:"default"};t.log.warn(`Explicit model ${t.body.model} unavailable (fail pool), trying fallback`);let C=u?jt("default",s,void 0,l):null;if(C)return t.log.info(`Using fallback for explicit model: ${C}`),{model:C,scenarioType:"default"};t.log.warn(`No fallback available for explicit model ${t.body.model}, continuing through routing logic`)}let{family:d,extended:f,isCcrAlias:p}=fp(t.body.model),m=a?.families?.[d||""];if(m&&a?.enableFamilyRouting){t.log.info(`Using model family routing for: ${d}${f?" (1M)":""}`),t.modelFamily=d,t.familyFallback=m.fallback;let A=ow(t,e,m,s,r,f,l,u);if(A)return{model:A.model,scenarioType:A.scenarioType}}let b=p&&!a?.enableFamilyRouting?null:tw(t.body.model,a?.models);if(b){let A=tt(b,s,!1,"modelMapping",u);if(A)return t.log.info(`Using mapped model for ${t.body.model}: ${b}`),{model:A,scenarioType:"modelMapping"};t.log.warn(`Mapped model ${b} unavailable (fail pool), skipping`)}let w=Math.max(e,hp(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 A=tt(a.extendedContext,s,!1,"extendedContext",u);if(A)return{model:A,scenarioType:"extendedContext"};t.log.warn(`Extended context model ${a.extendedContext} unavailable (fail pool), trying fallback`);let C=u?jt("extendedContext",s,void 0,l):null;if(C)return{model:C,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 A=tt(a.longContext,s,!1,"longContext",u);if(A)return{model:A,scenarioType:"longContext"};t.log.warn(`Long context model ${a.longContext} unavailable (fail pool), trying fallback`);let C=u?jt("longContext",s,void 0,l):null;if(C)return{model:C,scenarioType:"longContext"}}if(t.body?.system?.length>1&&t.body?.system[1]?.text?.startsWith("<CCR-SUBAGENT-MODEL>")){let A=t.body?.system[1].text.match(/<CCR-SUBAGENT-MODEL>(.*?)<\/CCR-SUBAGENT-MODEL>/s);if(A)return t.body.system[1].text=t.body.system[1].text.replace(`<CCR-SUBAGENT-MODEL>${A[1]}</CCR-SUBAGENT-MODEL>`,""),{model:A[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 A=tt(a.background,s,!1,"background",u);if(A)return{model:A,scenarioType:"background"};t.log.warn(`Background model ${a.background} unavailable (fail pool), falling through`)}if(Array.isArray(t.body.tools)&&t.body.tools.some(A=>A.type?.startsWith("web_search"))&&a?.webSearch){let A=tt(a.webSearch,s,!1,"webSearch",u);if(A)return{model:A,scenarioType:"webSearch"};t.log.warn(`WebSearch model ${a.webSearch} unavailable (fail pool), trying fallback`);let C=u?jt("webSearch",s,void 0,l):null;if(C)return{model:C,scenarioType:"webSearch"}}if(t.body.thinking?.type==="enabled"&&a?.think){t.log.info(`Using think model for ${t.body.thinking}`);let A=tt(a.think,s,!1,"think",u);if(A)return{model:A,scenarioType:"think"};t.log.warn(`Think model ${a.think} unavailable (fail pool), trying fallback`);let C=u?jt("think",s,void 0,l):null;if(C)return{model:C,scenarioType:"think"}}if(a?.default){let A=tt(a.default,s,!1,"default",u);if(A)return{model:A,scenarioType:"default"};t.log.warn(`Default model ${a.default} unavailable (fail pool), trying fallback`);let C=u?jt("default",s,void 0,l):null;if(C)return{model:C,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"}},Bo=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 dp(t,r)||r.get("Router"),l=u?.enableFallback===!0,d=r.get("providers")||[];t.enableFallback=l,t.fallbackConfig=u?.fallback||r.get("fallback");let f=rc.get(t.sessionId),{messages:p,system:m=[],tools:b}=t.body,w=r.get("REWRITE_SYSTEM_PROMPT");if(w&&m.length>1&&m[1]?.text?.includes("<env>")){let y=await cc(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),A;n.tokenizerService?A=(await n.tokenizerService.countTokens({messages:p,system:m,tools:b},_)).tokenCount:A=lp(p,m,b),t.tokenCount=A;let C,S=r.get("CUSTOM_ROUTER_PATH");if(S)try{C=await re(S)(t,r.getAll(),{event:o})}catch(T){t.log.error(`failed to load custom router: ${T.message}`)}if(C)t.scenarioType="default";else{let T=await sw(t,A,r,f);C=T.model,t.scenarioType=T.scenarioType}if(u?.image&&C!==u.image&&nw(t)&&!rw(C)){let T=tt(u.image,d,!1,"image",l);T?(t.log.info(`Using image model fallback for ${C}`),C=T,t.scenarioType="image"):(t.log.warn(`Image model ${u.image} unavailable (fail pool), keeping ${C}`),t.scenarioType="image")}t.body.model=C}catch(y){t.log.error(`Error in router middleware: ${y.message}`),t.body.model=u?.default,t.scenarioType="default"}},lr=new Map,ap=1e3,Ur=new Set,up=1e3,iw=3,aw=50,uw=t=>new Promise(e=>setTimeout(e,t));function cw(){if(lr.size<=ap)return;let t=[...lr.keys()].slice(0,lr.size-ap);for(let e of t)lr.delete(e)}function lw(){if(Ur.size<=up)return;let t=[...Ur].slice(0,Ur.size-up);for(let e of t)Ur.delete(e)}var cp=async t=>{let e=await ZC(op),n=[];for await(let s of e)s.isDirectory()&&n.push(s.name);let r=n.map(async s=>{let a=lc(op,s,`${t}.jsonl`);try{return(await ew(a)).isFile()?s:null}catch{return null}}),o=await Promise.all(r);for(let s of o)if(s)return s;return null},pp=async t=>{let e=jr(t);if(!e)return null;if(lr.has(e))return lr.get(e)||null;try{let n=await cp(e);if(!n&&!Ur.has(e)){Ur.add(e),lw();for(let r=0;r<iw&&!n;r++)await uw(aw),n=await cp(e)}return n?(lr.set(e,n),cw(),n):null}catch(n){return console.error("Error searching for project by session:",n),null}};var dw=/^ccr-(opus|sonnet|haiku)(\[1m\])?$/i;function mp(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
- ${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 ow(t,e,n,r){let o=t.body;r.endPoint==="/v1/responses"&&o?.input&&!o?.messages&&fp(o),r.endPoint==="/v1/responses"&&!t.provider&&typeof o?.model=="string"&&rw.test(o.model)&&await Bo(t,e,{configService:n.configService,tokenizerService:n.tokenizerService});let s=t.provider;if(!s&&o?.model){let d=o.model.split(",");d.length>1&&(s=d[0],o.model=d.slice(1).join(","))}let a=s?n.providerService.getProvider(s):void 0;if(!a&&o?.model){let d=n.providerService.resolveModelRoute(o.model);d&&(a=d.provider,o.model=d.targetModel)}if(!a&&o?.model){let f=n.configService.get("Router")?.default;if(f&&f.includes(",")){let[p,...m]=f.split(","),b=n.providerService.getProvider(p);b&&(a=b,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=aw(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&&fp(o);let{requestBody:d,config:f,bypass:p}=await hp(o,a,r,t.headers,{req:t});if(d?.messages&&!p&&!t.isTargetAnthropic){let y=d.messages,g=new Set,_=[],A=[];for(let C of y){if(C?.role!=="system"){A.push(C);continue}let S=JSON.stringify(C.content??"");g.has(S)||(g.add(S),_.push(C))}_.length>0&&A.length>0&&(d.messages=[...A,..._])}let m=await pp(d,f,a,n,p,r,{req:t});try{a?.baseUrl&&m?.headers&&Fo(s,a.baseUrl,m.headers)}catch{}let b=await mp(d,m,a,r,p,{req:t,isCodexOnMessagesEndpoint:l});if(o.stream&&b?.body){let y=b.body.getReader(),g=await y.read();if(g.done)throw y.releaseLock(),He(`Provider returned empty streaming response from ${s}`,400,"provider_response_error");let _=new TextDecoder().decode(g.value);if(_.includes("event: error")){y.releaseLock();let S=_.length<500?_:_.slice(0,500);throw He(`Provider ${s} returned error in SSE stream: ${S}`,400,"provider_response_error")}if(_.split(`
115
- `).filter(S=>S.startsWith("data:")&&S.trim().length>5).length===0){y.releaseLock();let S=_.length<500?_:_.slice(0,500);throw He(`Provider ${s} returned streaming response with no SSE data lines: ${S}`,400,"provider_response_error")}let C=new ReadableStream({start:S=>{S.enqueue(g.value);let v=()=>{y.read().then(({done:R,value:$})=>{R?S.close():(S.enqueue($),v())}).catch(R=>S.error(R))};v()},cancel:()=>{y.cancel()}});b=new Response(C,{headers:b.headers,status:b.status,statusText:b.statusText})}let w=gp(b,e,o,n);try{let y=o.model||t.originalModel;s&&y&&Qe().recordSuccess(s,y)}catch{}return w}catch(d){let f=await sw(t,e,n,r,d);if(f)return f;throw d}}async function sw(t,e,n,r,o){let s=t.scenarioType||"default",a=t.familyFallback,u=t.modelFamily,l=t.fallbackConfig??n.configService.get("fallback"),d=Qe(),f=t.provider||"",p=t.body.model||"",m=new Set,b=o?.statusCode===429||o?.isRateLimit===!0||o?.rawBody&&si(o.rawBody)||o?.message&&si(o.message);if(f&&p&&(b?(d.markRateLimited(f,p,120,o?.message),t.log.warn(`Primary model ${f},${p} rate-limited, will try fallbacks`)):d.recordFailure(f,p,o?.message),m.add(`${f},${p}`),n.recordUsage?.({provider:f,model:p,originalModel:t.originalModel||p,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=A=>{let[C,...S]=A.split(","),v=C?.trim(),R=S.join(",").trim();return!v||!R?null:{provider:v,model:R,key:`${v},${R}`}},g=[];if(u){let A=a?.[s];Array.isArray(A)&&A.length>0?g.push({name:`${u}/${s}`,models:A}):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((A,C)=>A+C.models.length,0);t.log.warn(`Request failed for ${s}, trying ${_} fallback models across ${g.length} fallback stage(s)`);for(let A of g){t.log.info(`Trying ${A.name} fallback stage with ${A.models.length} models`);for(let C of A.models){let S=y(C);if(!S){t.log.warn(`Fallback model '${C}' is invalid, skipping`);continue}if(m.has(S.key))continue;m.add(S.key);let v=S.provider,R=S.model;try{if(!d.isAvailable(v,R)){t.log.warn(`Fallback model ${C} unavailable (fail pool), skipping`);continue}t.log.info(`Trying fallback model: ${C}`);let $={...t.body};$.model=R;let V={...t,provider:v,body:$},P=n.providerService.getProvider(v);if(!P){t.log.warn(`Fallback provider '${v}' not found, skipping`);continue}if(P.enabled===!1){t.log.warn(`Fallback provider '${v}' is disabled, skipping`);continue}let{requestBody:Q,config:z,bypass:K}=await hp($,P,r,t.headers,{req:V}),Y=await pp(Q,z,P,n,K,r,{req:V});try{P?.baseUrl&&Y?.headers&&Fo(v,P.baseUrl,Y.headers)}catch{}let ee=await mp(Q,Y,P,r,K,{req:V,isCodexOnMessagesEndpoint:t.isCodexOnMessagesEndpoint||!1});return t.log.info(`Fallback model ${C} succeeded`),d.recordSuccess(v,R),f&&p&&(Po().promote(f,p,s,v,R),t.log.info(`Promoted fallback model ${v},${R} for ${f},${p}:${s}`),b?t.log.info(`Rate-limited original model ${f},${p} already marked unavailable with cooldown`):(d.forceOpen(f,p,o?.message),t.log.info(`Marked original model ${f},${p} as unavailable`))),t.provider=v,t.body=$,gp(ee,e,$,n)}catch($){d.recordFailure(v,R,$.message),t.log.warn(`Fallback model ${S.key} failed: ${$.message}`),n.recordUsage?.({provider:v,model:R,originalModel:t.body.model,scenarioType:s,modelFamily:t.modelFamily,errorMessage:$.message,sessionId:t.usageSessionId||t.id,stream:t.body.stream,req:t});continue}}}return t.log.error(`All fallback models failed for ${s}`),null}async function hp(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 d=0;d<a.length;d++){let f=a[d],p=typeof f=="string"?f:f?.text??"";if(p.includes("cch=")){let m=p.replace(/cch=[^;]+;?/g,"cch=ccr-stable;");typeof f=="string"?a[d]=m:typeof f?.text=="string"&&(f.text=m)}}let u={},l=!1;if(l=iw(e,n,t),l&&(r instanceof Headers?r.delete("content-length"):delete r["content-length"],u.headers=r),!l&&typeof n.transformRequestOut=="function"){let d=await n.transformRequestOut(s);d.body?(s=d.body,u=d.config||{}):s=d}if(!l&&e.transformer?.use?.length)for(let d of e.transformer.use){if(!d||typeof d.transformRequestIn!="function")continue;let f=await d.transformRequestIn(s,e,o);f.body?(s=f.body,u={...u,...f.config}):s=f}if(!l&&e.transformer?.[t.model]?.use?.length)for(let d of e.transformer[t.model].use)!d||typeof d.transformRequestIn!="function"||(s=await d.transformRequestIn(s,e,o));return{requestBody:s,config:u,bypass:l}}function iw(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 aw(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 pp(t,e,n,r,o,s,a){let u=e.url||new URL(n.baseUrl);if(!e.TIMEOUT){let f=r.configService.get("API_TIMEOUT_MS");f&&(e.TIMEOUT=typeof f=="string"?parseInt(f,10):f)}if(o&&typeof s.auth=="function"){let f=await s.auth(t,n);if(f.body){t=f.body;let p=e.headers||{};f.config?.headers&&(p={...p,...f.config.headers},delete p.host,delete f.config.headers),e={...e,...f.config,headers:p}}else t=f}let l={Authorization:`Bearer ${n.apiKey}`,...e?.headers||{}};for(let f in l)(l[f]==="undefined"||["authorization","Authorization"].includes(f)&&l[f]?.includes("undefined"))&&delete l[f];ei(r.configService)&&jh(r.log,a.req.id,{url:String(u),headers:l,body:t});let d=await Ih(u,t,{httpsProxy:r.configService.getHttpsProxy(),...e,headers:JSON.parse(JSON.stringify(l))},a,r.log);if(!d.ok){let f=await d.text();r.log.error(`[provider_response_error] Error from provider(${n.name},${t.model}: ${d.status}): ${f}`);let p=He(`Error from provider(${n.name},${t.model}: ${d.status}): ${f}`,d.status,"provider_response_error");throw p.isRateLimit=d.status===429||si(f),p.rawBody=f,p}if(d.ok){let f=d.headers.get("content-type")||"",p=t.stream===!0;if(r.log.info(`[hidden-error-check] provider=${n.name} model=${t.model} stream=${t.stream} isStreamRequest=${p} contentType=${f} ok=${d.ok} status=${d.status} hasBody=${!!d.body}`),!p||f.includes("application/json")){let m=d.clone(),b="";try{if(b=await m.text(),!b||b.trim()==="")throw new SyntaxError("Empty JSON body");let w=JSON.parse(b);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}: ${d.status}): ${b}`);let g=si(b),_=He(`Error from provider(${n.name},${t.model}: ${d.status}): ${b}`,400,"provider_response_error");throw _.isRateLimit=g,_.rawBody=b,_}}catch(w){if(w instanceof SyntaxError){r.log.warn(`[provider_response_error] Empty or malformed JSON response from provider(${n.name},${t.model}: 200): "${b}"`);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=b,y}throw w}}}if(!t.stream&&ei(r.configService)){let p=await d.clone().text();Uh(r.log,a.req.id,{status:d.status,headers:Object.fromEntries(d.headers.entries()),body:p})}return d}async function mp(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 Mr().transformResponseIn(a,{...s,provider:n})}catch(u){console.error("Failed to apply Responses API conversion for codex client:",u)}return a}function gp(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&&ei(r.configService)){let[s,a]=t.body.tee(),u=Mh(r.configService);return $h(s,r.log,e.request.id,u),e.send(a)}return e.send(t.body)}else return t.json()}var cc=async t=>{t.get("/",async()=>({message:"LLMs API",version:qh})),t.get("/health",async()=>({status:"ok",timestamp:new Date().toISOString()})),t.get("/providers/health",async()=>({states:Qe().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)=>ow(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||!uw(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 si(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 uw(t){try{return new URL(t),!0}catch{return!1}}var Ur=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 Ye=[];for(let t=0;t<256;++t)Ye.push((t+256).toString(16).slice(1));function yp(t,e=0){return(Ye[t[e+0]]+Ye[t[e+1]]+Ye[t[e+2]]+Ye[t[e+3]]+"-"+Ye[t[e+4]]+Ye[t[e+5]]+"-"+Ye[t[e+6]]+Ye[t[e+7]]+"-"+Ye[t[e+8]]+Ye[t[e+9]]+"-"+Ye[t[e+10]]+Ye[t[e+11]]+Ye[t[e+12]]+Ye[t[e+13]]+Ye[t[e+14]]+Ye[t[e+15]]).toLowerCase()}import{randomFillSync as cw}from"crypto";var ai=new Uint8Array(256),ii=ai.length;function lc(){return ii>ai.length-16&&(cw(ai),ii=0),ai.slice(ii,ii+=16)}import{randomUUID as lw}from"crypto";var dc={randomUUID:lw};function dw(t,e,n){if(dc.randomUUID&&!e&&!t)return dc.randomUUID();t=t||{};let r=t.random??t.rng?.()??lc();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 yp(r)}var Ut=dw;var _p=t=>t<=0?"none":t<=1024?"low":t<=8192?"medium":"high";var bp=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);function fw(t){return t.filter(e=>!!e?.function?.name).map(e=>({name:e.function.name,description:e.function.description,input_schema:e.function.parameters}))}function Cp(t){let e=[],n=[],r=m=>{if(typeof m=="string"){n.push({type:"text",text:m});return}Array.isArray(m)&&m.forEach(b=>{if(typeof b=="string"){n.push({type:"text",text:b});return}b&&typeof b=="object"&&b.type==="text"&&b.text&&n.push({...b})})},o=()=>{let m=new Map;for(let b=0;b<n.length;b++){let w=n[b],y=w?.text??JSON.stringify(w),g=m.get(y);if(g===void 0){m.set(y,b);continue}!n[g]?.cache_control&&w?.cache_control&&(n[g]=w),n.splice(b,1),b--}};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 b=e[m];if(b.role==="tool"){let w=b.content;try{typeof b.content=="string"&&(w=JSON.parse(b.content))}catch{}w!=null&&typeof w!="object"&&typeof w!="string"&&(w=String(w));let y={type:"tool_result",tool_use_id:b.tool_call_id,content:w};b.cache_control&&(y.cache_control=b.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(b.role==="user"){let w=[];typeof b.content=="string"?w.push({type:"text",text:b.content}):Array.isArray(b.content)&&b.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(b.role==="assistant"){let w=[];b.content&&(typeof b.content=="string"?w.push({type:"text",text:b.content}):Array.isArray(b.content)&&w.push(...b.content)),b.tool_calls&&b.tool_calls.length>0&&b.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:_})}),b.thinking&&w.unshift({type:"thinking",thinking:b.thinking.content,signature:b.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(b=>b?.cache_control).length;for(let b of s)Array.isArray(b.content)&&(m+=b.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 b=s[m]?.content;if(!Array.isArray(b))continue;let w=b.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"}},d=(m,b)=>{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(b),!0):!1};(()=>{let m=4-a();if(m<=0||s.length===0)return;let b=s,w=l(),y=[];for(let g=b.length-1;g>=0;g--)b[g]?.role!=="user"||!Array.isArray(b[g].content)||y.push(g);for(let g of y){if(m<=0)break;d(b[g],w)&&m--}})();let p={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(b=>b?.cache_control);p.system=m?n:n.map(b=>b.text||"").join(`
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 fw(t,e,n,r){let o=t.body;r.endPoint==="/v1/responses"&&o?.input&&!o?.messages&&mp(o),r.endPoint==="/v1/responses"&&!t.provider&&typeof o?.model=="string"&&dw.test(o.model)&&await Bo(t,e,{configService:n.configService,tokenizerService:n.tokenizerService});let s=t.provider;if(!s&&o?.model){let d=o.model.split(",");d.length>1&&(s=d[0],o.model=d.slice(1).join(","))}let a=s?n.providerService.getProvider(s):void 0;if(!a&&o?.model){let d=n.providerService.resolveModelRoute(o.model);d&&(a=d.provider,o.model=d.targetModel)}if(!a&&o?.model){let f=n.configService.get("Router")?.default;if(f&&f.includes(",")){let[p,...m]=f.split(","),b=n.providerService.getProvider(p);b&&(a=b,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=mw(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&&mp(o);let{requestBody:d,config:f,bypass:p}=await gp(o,a,r,t.headers,{req:t});if(d?.messages&&!p&&!t.isTargetAnthropic){let y=d.messages,g=new Set,_=[],A=[];for(let C of y){if(C?.role!=="system"){A.push(C);continue}let S=JSON.stringify(C.content??"");g.has(S)||(g.add(S),_.push(C))}_.length>0&&A.length>0&&(d.messages=[...A,..._])}let m=await yp(d,f,a,n,p,r,{req:t});try{a?.baseUrl&&m?.headers&&Io(s,a.baseUrl,m.headers)}catch{}let b=await _p(d,m,a,r,p,{req:t,isCodexOnMessagesEndpoint:l});if(o.stream&&b?.body){let y=b.body.getReader(),g=await y.read();if(g.done)throw y.releaseLock(),He(`Provider returned empty streaming response from ${s}`,400,"provider_response_error");let _=new TextDecoder().decode(g.value);if(_.includes("event: error")){y.releaseLock();let S=_.length<500?_:_.slice(0,500);throw He(`Provider ${s} returned error in SSE stream: ${S}`,400,"provider_response_error")}if(_.split(`
115
+ `).filter(S=>S.startsWith("data:")&&S.trim().length>5).length===0){y.releaseLock();let S=_.length<500?_:_.slice(0,500);throw He(`Provider ${s} returned streaming response with no SSE data lines: ${S}`,400,"provider_response_error")}let C=new ReadableStream({start:S=>{S.enqueue(g.value);let T=()=>{y.read().then(({done:R,value:$})=>{R?S.close():(S.enqueue($),T())}).catch(R=>S.error(R))};T()},cancel:()=>{y.cancel()}});b=new Response(C,{headers:b.headers,status:b.status,statusText:b.statusText})}let w=bp(b,e,o,n);try{let y=o.model||t.originalModel;s&&y&&Ye().recordSuccess(s,y)}catch{}return w}catch(d){let f=await hw(t,e,n,r,d);if(f)return f;throw d}}async function hw(t,e,n,r,o){let s=t.scenarioType||"default",a=t.familyFallback,u=t.modelFamily,l=t.fallbackConfig??n.configService.get("fallback"),d=Ye(),f=t.provider||"",p=t.body.model||"",m=new Set,b=o?.statusCode===429||o?.isRateLimit===!0||o?.rawBody&&ai(o.rawBody)||o?.message&&ai(o.message);if(f&&p&&(b?(d.markRateLimited(f,p,120,o?.message),t.log.warn(`Primary model ${f},${p} rate-limited, will try fallbacks`)):d.recordFailure(f,p,o?.message),m.add(`${f},${p}`),n.recordUsage?.({provider:f,model:p,originalModel:t.originalModel||p,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=A=>{let[C,...S]=A.split(","),T=C?.trim(),R=S.join(",").trim();return!T||!R?null:{provider:T,model:R,key:`${T},${R}`}},g=[];if(u){let A=a?.[s];Array.isArray(A)&&A.length>0?g.push({name:`${u}/${s}`,models:A}):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((A,C)=>A+C.models.length,0);t.log.warn(`Request failed for ${s}, trying ${_} fallback models across ${g.length} fallback stage(s)`);for(let A of g){t.log.info(`Trying ${A.name} fallback stage with ${A.models.length} models`);for(let C of A.models){let S=y(C);if(!S){t.log.warn(`Fallback model '${C}' is invalid, skipping`);continue}if(m.has(S.key))continue;m.add(S.key);let T=S.provider,R=S.model;try{if(!d.isAvailable(T,R)){t.log.warn(`Fallback model ${C} unavailable (fail pool), skipping`);continue}t.log.info(`Trying fallback model: ${C}`);let $={...t.body};$.model=R;let V={...t,provider:T,body:$},P=n.providerService.getProvider(T);if(!P){t.log.warn(`Fallback provider '${T}' not found, skipping`);continue}if(P.enabled===!1){t.log.warn(`Fallback provider '${T}' is disabled, skipping`);continue}let{requestBody:Y,config:z,bypass:K}=await gp($,P,r,t.headers,{req:V}),Q=await yp(Y,z,P,n,K,r,{req:V});try{P?.baseUrl&&Q?.headers&&Io(T,P.baseUrl,Q.headers)}catch{}let ee=await _p(Y,Q,P,r,K,{req:V,isCodexOnMessagesEndpoint:t.isCodexOnMessagesEndpoint||!1});return t.log.info(`Fallback model ${C} succeeded`),d.recordSuccess(T,R),f&&p&&(Fo().promote(f,p,s,T,R),t.log.info(`Promoted fallback model ${T},${R} for ${f},${p}:${s}`),b?t.log.info(`Rate-limited original model ${f},${p} already marked unavailable with cooldown`):(d.forceOpen(f,p,o?.message),t.log.info(`Marked original model ${f},${p} as unavailable`))),t.provider=T,t.body=$,bp(ee,e,$,n)}catch($){d.recordFailure(T,R,$.message),t.log.warn(`Fallback model ${S.key} failed: ${$.message}`),n.recordUsage?.({provider:T,model:R,originalModel:t.body.model,scenarioType:s,modelFamily:t.modelFamily,errorMessage:$.message,sessionId:t.usageSessionId||t.id,stream:t.body.stream,req:t});continue}}}return t.log.error(`All fallback models failed for ${s}`),null}async function gp(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 d=0;d<a.length;d++){let f=a[d],p=typeof f=="string"?f:f?.text??"";if(p.includes("cch=")){let m=p.replace(/cch=[^;]+;?/g,"cch=ccr-stable;");typeof f=="string"?a[d]=m:typeof f?.text=="string"&&(f.text=m)}}let u={},l=!1;if(l=pw(e,n,t),l&&(r instanceof Headers?r.delete("content-length"):delete r["content-length"],u.headers=r),!l&&typeof n.transformRequestOut=="function"){let d=await n.transformRequestOut(s);d.body?(s=d.body,u=d.config||{}):s=d}if(!l&&e.transformer?.use?.length)for(let d of e.transformer.use){if(!d||typeof d.transformRequestIn!="function")continue;let f=await d.transformRequestIn(s,e,o);f.body?(s=f.body,u={...u,...f.config}):s=f}if(!l&&e.transformer?.[t.model]?.use?.length)for(let d of e.transformer[t.model].use)!d||typeof d.transformRequestIn!="function"||(s=await d.transformRequestIn(s,e,o));return{requestBody:s,config:u,bypass:l}}function pw(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 mw(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 yp(t,e,n,r,o,s,a){let u=e.url||new URL(n.baseUrl);if(!e.TIMEOUT){let f=r.configService.get("API_TIMEOUT_MS");f&&(e.TIMEOUT=typeof f=="string"?parseInt(f,10):f)}if(o&&typeof s.auth=="function"){let f=await s.auth(t,n);if(f.body){t=f.body;let p=e.headers||{};f.config?.headers&&(p={...p,...f.config.headers},delete p.host,delete f.config.headers),e={...e,...f.config,headers:p}}else t=f}let l={Authorization:`Bearer ${n.apiKey}`,...e?.headers||{}};for(let f in l)(l[f]==="undefined"||["authorization","Authorization"].includes(f)&&l[f]?.includes("undefined"))&&delete l[f];ti(r.configService)&&$h(r.log,a.req.id,{url:String(u),headers:l,body:t});let d=await Bh(u,t,{httpsProxy:r.configService.getHttpsProxy(),...e,headers:JSON.parse(JSON.stringify(l))},a,r.log);if(!d.ok){let f=await d.text();r.log.error(`[provider_response_error] Error from provider(${n.name},${t.model}: ${d.status}): ${f}`);let p=He(`Error from provider(${n.name},${t.model}: ${d.status}): ${f}`,d.status,"provider_response_error");throw p.isRateLimit=d.status===429||ai(f),p.rawBody=f,p}if(d.ok){let f=d.headers.get("content-type")||"",p=t.stream===!0;if(r.log.info(`[hidden-error-check] provider=${n.name} model=${t.model} stream=${t.stream} isStreamRequest=${p} contentType=${f} ok=${d.ok} status=${d.status} hasBody=${!!d.body}`),!p||f.includes("application/json")){let m=d.clone(),b="";try{if(b=await m.text(),!b||b.trim()==="")throw new SyntaxError("Empty JSON body");let w=JSON.parse(b);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}: ${d.status}): ${b}`);let g=ai(b),_=He(`Error from provider(${n.name},${t.model}: ${d.status}): ${b}`,400,"provider_response_error");throw _.isRateLimit=g,_.rawBody=b,_}}catch(w){if(w instanceof SyntaxError){r.log.warn(`[provider_response_error] Empty or malformed JSON response from provider(${n.name},${t.model}: 200): "${b}"`);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=b,y}throw w}}}if(!t.stream&&ti(r.configService)){let p=await d.clone().text();qh(r.log,a.req.id,{status:d.status,headers:Object.fromEntries(d.headers.entries()),body:p})}return d}async function _p(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 Mr().transformResponseIn(a,{...s,provider:n})}catch(u){console.error("Failed to apply Responses API conversion for codex client:",u)}return a}function bp(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&&ti(r.configService)){let[s,a]=t.body.tee(),u=jh(r.configService);return zh(s,r.log,e.request.id,u),e.send(a)}return e.send(t.body)}else return t.json()}var dc=async t=>{t.get("/",async()=>({message:"LLMs API",version:ri})),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)=>fw(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||!gw(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 ai(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 gw(t){try{return new URL(t),!0}catch{return!1}}var $r=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 Cp(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 yw}from"crypto";var ci=new Uint8Array(256),ui=ci.length;function fc(){return ui>ci.length-16&&(yw(ci),ui=0),ci.slice(ui,ui+=16)}import{randomUUID as _w}from"crypto";var hc={randomUUID:_w};function bw(t,e,n){if(hc.randomUUID&&!e&&!t)return hc.randomUUID();t=t||{};let r=t.random??t.rng?.()??fc();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 Cp(r)}var Ut=bw;var wp=t=>t<=0?"none":t<=1024?"low":t<=8192?"medium":"high";var Ep=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);function Cw(t){return t.filter(e=>!!e?.function?.name).map(e=>({name:e.function.name,description:e.function.description,input_schema:e.function.parameters}))}function kp(t){let e=[],n=[],r=m=>{if(typeof m=="string"){n.push({type:"text",text:m});return}Array.isArray(m)&&m.forEach(b=>{if(typeof b=="string"){n.push({type:"text",text:b});return}b&&typeof b=="object"&&b.type==="text"&&b.text&&n.push({...b})})},o=()=>{let m=new Map;for(let b=0;b<n.length;b++){let w=n[b],y=w?.text??JSON.stringify(w),g=m.get(y);if(g===void 0){m.set(y,b);continue}!n[g]?.cache_control&&w?.cache_control&&(n[g]=w),n.splice(b,1),b--}};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 b=e[m];if(b.role==="tool"){let w=b.content;try{typeof b.content=="string"&&(w=JSON.parse(b.content))}catch{}w!=null&&typeof w!="object"&&typeof w!="string"&&(w=String(w));let y={type:"tool_result",tool_use_id:b.tool_call_id,content:w};b.cache_control&&(y.cache_control=b.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(b.role==="user"){let w=[];typeof b.content=="string"?w.push({type:"text",text:b.content}):Array.isArray(b.content)&&b.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(b.role==="assistant"){let w=[];b.content&&(typeof b.content=="string"?w.push({type:"text",text:b.content}):Array.isArray(b.content)&&w.push(...b.content)),b.tool_calls&&b.tool_calls.length>0&&b.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:_})}),b.thinking&&w.unshift({type:"thinking",thinking:b.thinking.content,signature:b.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(b=>b?.cache_control).length;for(let b of s)Array.isArray(b.content)&&(m+=b.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 b=s[m]?.content;if(!Array.isArray(b))continue;let w=b.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"}},d=(m,b)=>{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(b),!0):!1};(()=>{let m=4-a();if(m<=0||s.length===0)return;let b=s,w=l(),y=[];for(let g=b.length-1;g>=0;g--)b[g]?.role!=="user"||!Array.isArray(b[g].content)||y.push(g);for(let g of y){if(m<=0)break;d(b[g],w)&&m--}})();let p={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(b=>b?.cache_control);p.system=m?n:n.map(b=>b.text||"").join(`
116
116
 
117
- `)}return t.tools&&t.tools.length>0&&(p.tools=fw(t.tools),t.tool_choice&&(t.tool_choice==="auto"?p.tool_choice={type:"auto"}:t.tool_choice==="any"||t.tool_choice==="required"?p.tool_choice={type:"any"}:typeof t.tool_choice=="string"?p.tool_choice={type:"tool",name:t.tool_choice}:typeof t.tool_choice=="object"&&t.tool_choice.type==="function"&&(p.tool_choice={type:"tool",name:t.tool_choice.function.name}))),p}var ui=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})}}JSON.parse(JSON.stringify(e.messages||[]))?.forEach(s=>{if(s.role==="system"){n.push({role:"system",content:s.content});return}if(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 d={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(d)});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"?bp(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(f=>f.type==="text"&&f.text);u.length&&(a.content=u.map(f=>f.text).join(`
118
- `));let l=s.content.filter(f=>f.type==="tool_use"&&f.id);l.length&&(a.tool_calls=l.map(f=>({id:f.id,type:"function",function:{name:f.name,arguments:JSON.stringify(f.input||{})}})));let d=s.content.find(f=>f.type==="thinking");d&&(a.thinking={content:d.thinking,signature:d.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:_p(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=Cp(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",d=!1,f=!1,p=!1,m=new Map,b=new Map,w=0,y=0,g=0,_=!1,A=!1,C=0,S=-1,v=()=>{let P=C;return C++,P},R=P=>{if(!_)try{o.enqueue(P);let Q=new TextDecoder().decode(P);this.logger.debug({reqId:n.req.id,data:Q,type:"send data"})}catch(Q){if(Q instanceof TypeError&&Q.message.includes("Controller is already closed"))_=!0;else throw this.logger.debug({reqId:n.req.id,error:Q instanceof Error?Q.message:String(Q),type:"send data error"}),Q}},$=()=>{if(!_)try{if(!d){this.logger?.warn("[empty_stream] Upstream produced no data, closing silently"),o.close(),_=!0;return}if(S>=0){let Q={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
119
- data: ${JSON.stringify(Q)}
117
+ `)}return t.tools&&t.tools.length>0&&(p.tools=Cw(t.tools),t.tool_choice&&(t.tool_choice==="auto"?p.tool_choice={type:"auto"}:t.tool_choice==="any"||t.tool_choice==="required"?p.tool_choice={type:"any"}:typeof t.tool_choice=="string"?p.tool_choice={type:"tool",name:t.tool_choice}:typeof t.tool_choice=="object"&&t.tool_choice.type==="function"&&(p.tool_choice={type:"tool",name:t.tool_choice.function.name}))),p}var li=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})}}JSON.parse(JSON.stringify(e.messages||[]))?.forEach(s=>{if(s.role==="system"){n.push({role:"system",content:s.content});return}if(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 d={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(d)});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"?Ep(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(f=>f.type==="text"&&f.text);u.length&&(a.content=u.map(f=>f.text).join(`
118
+ `));let l=s.content.filter(f=>f.type==="tool_use"&&f.id);l.length&&(a.tool_calls=l.map(f=>({id:f.id,type:"function",function:{name:f.name,arguments:JSON.stringify(f.input||{})}})));let d=s.content.find(f=>f.type==="thinking");d&&(a.thinking={content:d.thinking,signature:d.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:wp(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=kp(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",d=!1,f=!1,p=!1,m=new Map,b=new Map,w=0,y=0,g=0,_=!1,A=!1,C=0,S=-1,T=()=>{let P=C;return C++,P},R=P=>{if(!_)try{o.enqueue(P);let Y=new TextDecoder().decode(P);this.logger.debug({reqId:n.req.id,data:Y,type:"send data"})}catch(Y){if(Y instanceof TypeError&&Y.message.includes("Controller is already closed"))_=!0;else throw this.logger.debug({reqId:n.req.id,error:Y instanceof Error?Y.message:String(Y),type:"send data error"}),Y}},$=()=>{if(!_)try{if(!d){this.logger?.warn("[empty_stream] Upstream produced no data, closing silently"),o.close(),_=!0;return}if(S>=0){let Y={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
119
+ data: ${JSON.stringify(Y)}
120
120
 
121
121
  `)),S=-1}if(u)R(s.encode(`event: message_delta
122
122
  data: ${JSON.stringify(u)}
123
123
 
124
- `)),u=null;else{let Q=n?.req?.tokenCount||0;R(s.encode(`event: message_delta
125
- data: ${JSON.stringify({type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:{input_tokens:Q,output_tokens:0,cache_read_input_tokens:0}})}
124
+ `)),u=null;else{let Y=n?.req?.tokenCount||0;R(s.encode(`event: message_delta
125
+ data: ${JSON.stringify({type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:{input_tokens:Y,output_tokens:0,cache_read_input_tokens:0}})}
126
126
 
127
127
  `))}let P={type:"message_stop"};R(s.encode(`event: message_stop
128
128
  data: ${JSON.stringify(P)}
129
129
 
130
- `)),o.close(),_=!0}catch(P){if(P instanceof TypeError&&P.message.includes("Controller is already closed"))_=!0;else throw P}},V=null;try{V=e.getReader();let P=new TextDecoder,Q="";for(;!_;){let{done:z,value:K}=await V.read();if(z)break;Q+=P.decode(K,{stream:!0});let Y=Q.split(`
131
- `);Q=Y.pop()||"";for(let ee of Y){if(_||p)break;if(!ee.startsWith("data:"))continue;let ae=ee.slice(5).trim();if(this.logger.debug({reqId:n.req.id,type:"recieved data",data:ae}),ae!=="[DONE]")try{let se=JSON.parse(ae);if(w++,this.logger.debug({reqId:n.req.id,response:se,tppe:"Original Response"}),se.error){n?.req&&(n.req.sseError=se.error);let G={type:"error",message:{type:"api_error",message:JSON.stringify(se.error)}};R(s.encode(`event: error
130
+ `)),o.close(),_=!0}catch(P){if(P instanceof TypeError&&P.message.includes("Controller is already closed"))_=!0;else throw P}},V=null;try{V=e.getReader();let P=new TextDecoder,Y="";for(;!_;){let{done:z,value:K}=await V.read();if(z)break;Y+=P.decode(K,{stream:!0});let Q=Y.split(`
131
+ `);Y=Q.pop()||"";for(let ee of Q){if(_||p)break;if(!ee.startsWith("data:"))continue;let ae=ee.slice(5).trim();if(this.logger.debug({reqId:n.req.id,type:"recieved data",data:ae}),ae!=="[DONE]")try{let se=JSON.parse(ae);if(w++,this.logger.debug({reqId:n.req.id,response:se,tppe:"Original Response"}),se.error){n?.req&&(n.req.sseError=se.error);let G={type:"error",message:{type:"api_error",message:JSON.stringify(se.error)}};R(s.encode(`event: error
132
132
  data: ${JSON.stringify(G)}
133
133
 
134
134
  `));continue}if(l=se.model||l,!d&&!_&&!p){d=!0;let G=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:G,output_tokens:0}}};R(s.encode(`event: message_start
135
135
  data: ${JSON.stringify(Z)}
136
136
 
137
- `))}let me=se.choices?.[0];if(se.usage){let G=se.usage?.prompt_tokens_details?.cached_tokens||0,ie=(se.usage?.prompt_tokens||0)-G;this.logger?.info({debug_log:!0,reqId:n.req.id,phase:"anthropic_transformer_usage",providerUsage:se.usage,mappedUsage:{input_tokens:ie,output_tokens:se.usage?.completion_tokens||0,cache_read_input_tokens:G},choicesLength:Array.isArray(se.choices)?se.choices.length:void 0,finishReason:me?.finish_reason}),u?u.usage={input_tokens:ie,output_tokens:se.usage?.completion_tokens||0,cache_read_input_tokens:G}:u={type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:{input_tokens:ie,output_tokens:se.usage?.completion_tokens||0,cache_read_input_tokens:G}}}if(!me)continue;if(me?.delta?.thinking&&!_&&!p&&!f){if(!A){let G=v(),Z={type:"content_block_start",index:G,content_block:{type:"thinking",thinking:""}};R(s.encode(`event: content_block_start
137
+ `))}let me=se.choices?.[0];if(se.usage){let G=se.usage?.prompt_tokens_details?.cached_tokens||0,ie=(se.usage?.prompt_tokens||0)-G;this.logger?.info({debug_log:!0,reqId:n.req.id,phase:"anthropic_transformer_usage",providerUsage:se.usage,mappedUsage:{input_tokens:ie,output_tokens:se.usage?.completion_tokens||0,cache_read_input_tokens:G},choicesLength:Array.isArray(se.choices)?se.choices.length:void 0,finishReason:me?.finish_reason}),u?u.usage={input_tokens:ie,output_tokens:se.usage?.completion_tokens||0,cache_read_input_tokens:G}:u={type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:{input_tokens:ie,output_tokens:se.usage?.completion_tokens||0,cache_read_input_tokens:G}}}if(!me)continue;if(me?.delta?.thinking&&!_&&!p&&!f){if(!A){let G=T(),Z={type:"content_block_start",index:G,content_block:{type:"thinking",thinking:""}};R(s.encode(`event: content_block_start
138
138
  data: ${JSON.stringify(Z)}
139
139
 
140
140
  `)),S=G,A=!0}if(me.delta.thinking.signature){let G={type:"content_block_delta",index:S,delta:{type:"signature_delta",signature:me.delta.thinking.signature}};R(s.encode(`event: content_block_delta
@@ -149,7 +149,7 @@ data: ${JSON.stringify(G)}
149
149
  `))}}if(me?.delta?.content&&!_&&!p){if(y++,S>=0&&!f){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(!f&&!p){f=!0;let G=v(),Z={type:"content_block_start",index:G,content_block:{type:"text",text:""}};R(s.encode(`event: content_block_start
152
+ `)),S=-1}if(!f&&!p){f=!0;let G=T(),Z={type:"content_block_start",index:G,content_block:{type:"text",text:""}};R(s.encode(`event: content_block_start
153
153
  data: ${JSON.stringify(Z)}
154
154
 
155
155
  `)),S=G}if(!_&&!p){let G={type:"content_block_delta",index:S,delta:{type:"text_delta",text:me.delta.content}};R(s.encode(`event: content_block_delta
@@ -158,7 +158,7 @@ data: ${JSON.stringify(G)}
158
158
  `))}}if(me?.delta?.annotations?.length&&!_&&!p){if(S>=0&&f){let G={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
159
159
  data: ${JSON.stringify(G)}
160
160
 
161
- `)),S=-1,f=!1}me?.delta?.annotations.forEach(G=>{let Z=v(),ie={type:"content_block_start",index:Z,content_block:{type:"web_search_tool_result",tool_use_id:`srvtoolu_${Ut()}`,content:[{type:"web_search_result",title:G.url_citation.title,url:G.url_citation.url}]}};R(s.encode(`event: content_block_start
161
+ `)),S=-1,f=!1}me?.delta?.annotations.forEach(G=>{let Z=T(),ie={type:"content_block_start",index:Z,content_block:{type:"web_search_tool_result",tool_use_id:`srvtoolu_${Ut()}`,content:[{type:"web_search_result",title:G.url_citation.title,url:G.url_citation.url}]}};R(s.encode(`event: content_block_start
162
162
  data: ${JSON.stringify(ie)}
163
163
 
164
164
  `));let Ue={type:"content_block_stop",index:Z};R(s.encode(`event: content_block_stop
@@ -167,10 +167,10 @@ data: ${JSON.stringify(Ue)}
167
167
  `)),S=-1})}if(me?.delta?.tool_calls&&!_&&!p){g++;let G=new Set;for(let Z of me.delta.tool_calls){if(_)break;let ie=Z.index??0;if(G.has(ie))continue;if(G.add(ie),!b.has(ie)){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 Ae=v();b.set(ie,Ae);let J=Z.id||`call_ccr_${ie}`,ce=Z.function?.name||`tool_${ie}`,te={type:"content_block_start",index:Ae,content_block:{type:"tool_use",id:J,name:ce,input:{}}};R(s.encode(`event: content_block_start
170
+ `)),S=-1}let Ae=T();b.set(ie,Ae);let J=Z.id||`call_ccr_${ie}`,ce=Z.function?.name||`tool_${ie}`,te={type:"content_block_start",index:Ae,content_block:{type:"tool_use",id:J,name:ce,input:{}}};R(s.encode(`event: content_block_start
171
171
  data: ${JSON.stringify(te)}
172
172
 
173
- `)),S=Ae;let ve={id:J,name:ce,arguments:"",contentBlockIndex:Ae};m.set(ie,ve)}else if(Z.id&&Z.function?.name){let Ae=m.get(ie);Ae.id.startsWith("call_")&&Ae.name.startsWith("tool_")&&(Ae.id=Z.id,Ae.name=Z.function.name)}if(Z.function?.arguments&&!_&&!p){let Ae=b.get(ie);if(Ae===void 0)continue;let J=m.get(ie);J&&(J.arguments+=Z.function.arguments);try{let ce={type:"content_block_delta",index:Ae,delta:{type:"input_json_delta",partial_json:Z.function.arguments}};R(s.encode(`event: content_block_delta
173
+ `)),S=Ae;let Te={id:J,name:ce,arguments:"",contentBlockIndex:Ae};m.set(ie,Te)}else if(Z.id&&Z.function?.name){let Ae=m.get(ie);Ae.id.startsWith("call_")&&Ae.name.startsWith("tool_")&&(Ae.id=Z.id,Ae.name=Z.function.name)}if(Z.function?.arguments&&!_&&!p){let Ae=b.get(ie);if(Ae===void 0)continue;let J=m.get(ie);J&&(J.arguments+=Z.function.arguments);try{let ce={type:"content_block_delta",index:Ae,delta:{type:"input_json_delta",partial_json:Z.function.arguments}};R(s.encode(`event: content_block_delta
174
174
  data: ${JSON.stringify(ce)}
175
175
 
176
176
  `))}catch{try{let ce=Z.function.arguments.replace(/[\x00-\x1F\x7F-\x9F]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"'),te={type:"content_block_delta",index:Ae,delta:{type:"input_json_delta",partial_json:ce}};R(s.encode(`event: content_block_delta
@@ -179,35 +179,35 @@ data: ${JSON.stringify(te)}
179
179
  `))}catch(ce){console.error(ce)}}}}}if(me?.finish_reason&&!_&&!p){if(y===0&&g===0&&console.error("Warning: No content in the stream response!"),S>=0){let G={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
180
180
  data: ${JSON.stringify(G)}
181
181
 
182
- `)),S=-1}if(!_){let Z={stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence"}[me.finish_reason]||"end_turn",ie=se.usage?.prompt_tokens_details?.cached_tokens||0,Ae=(se.usage?.prompt_tokens||0)-ie;u={type:"message_delta",delta:{stop_reason:Z,stop_sequence:null},usage:{input_tokens:Ae,output_tokens:se.usage?.completion_tokens||0,cache_read_input_tokens:ie}}}break}}catch(se){this.logger?.error(`parseError: ${se.name} message: ${se.message} stack: ${se.stack} data: ${ae}`)}}}$()}catch(P){if(!_)try{o.error(P)}catch(Q){console.error(Q)}}finally{if(V)try{V.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_${Ut()}`;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(d=>({type:"web_search_result",url:d.url_citation.url,title:d.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 d={};try{let f=l.function.arguments||"{}";typeof f=="object"?d=f:typeof f=="string"&&(d=JSON.parse(f))}catch{d={text:l.function.arguments||""}}o.push({type:"tool_use",id:l.id,name:l.function.name,input:d})}),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_${Ut().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 $r={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function hw(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($r).includes(r)?r:$r.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let r of n){let o=r.toUpperCase();e.anyOf.push({type:Object.values($r).includes(o)?o:$r.TYPE_UNSPECIFIED})}}}function No(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)&&hw(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($r).includes(l)?l:$r.TYPE_UNSPECIFIED}else if(n.includes(a))e[a]=No(u);else if(r.includes(a)){let l=[];for(let d of u){if(d.type=="null"){e.nullable=!0;continue}l.push(No(d))}e[a]=l}else if(o.includes(a)){let l={};for(let[d,f]of Object.entries(u))l[d]=No(f);e[a]=l}else{if(a==="additionalProperties")continue;e[a]=u}return e}function pw(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=No(e.parameters)),e.response&&(Object.keys(e.response).includes("$schema")?e.responseJsonSchema||(e.responseJsonSchema=e.response,delete e.response):e.response=No(e.response));return t}function ci(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(pw({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 d;l.role==="assistant"?d="model":(["user","system"].includes(l.role),d="user");let f=[];if(typeof l.content=="string"){let p={text:l.content};l.thinking?.signature&&(p.thoughtSignature=l.thinking.signature),f.push(p)}else Array.isArray(l.content)?f.push(...l.content.map(p=>{if(p.type==="text")return{text:p.text||""};if(p.type==="image_url")return p.image_url.url.startsWith("http")?{file_data:{mime_type:p.media_type,file_uri:p.image_url.url}}:{inlineData:{mime_type:p.media_type,data:p.image_url.url?.split(",")?.pop()||p.image_url.url}}})):l.content&&typeof l.content=="object"&&(l.content.text?f.push({text:l.content.text}):f.push({text:JSON.stringify(l.content)}));if(Array.isArray(l.tool_calls)&&f.push(...l.tool_calls.map(p=>{let m={functionCall:{id:p.id||`tool_${Math.random().toString(36).substring(2,15)}`,name:p.function.name,args:JSON.parse(p.function.arguments||"{}")}};return l.thinking?.signature&&(m.thoughtSignature=l.thinking.signature),m})),f.length===0&&f.push({text:""}),o.push({role:d,parts:f}),d==="model"&&l.tool_calls){let p=l.tool_calls.map(m=>{let b=s.find(w=>w.tool_call_id===m.id);return{functionResponse:{name:m?.function?.name,response:{result:b?.content}}}});o.push({role:"user",parts:p})}});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],d,f=t.reasoning.max_tokens;typeof f<"u"&&(f>=l[0]&&f<=l[1]?d=f:f<l[0]?d=l[0]:f>l[1]&&(d=l[1]),a.thinkingConfig.thinkingBudget=d)}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 li(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(d=>{typeof d=="string"?l.messages.push({role:"user",content:d}):typeof d.text=="string"?l.messages.push({role:"user",content:d.text||null}):d.role==="user"?l.messages.push({role:"user",content:d?.parts?.map(f=>({type:"text",text:f.text||""}))||[]}):d.role==="model"&&l.messages.push({role:"assistant",content:d?.parts?.map(f=>({type:"text",text:f.text||""}))||[]})}),Array.isArray(n)&&(l.tools=[],n.forEach(d=>{Array.isArray(d.functionDeclarations)&&d.functionDeclarations.forEach(f=>{l.tools.push({type:"function",function:{name:f.name,description:f.description,parameters:f.parameters}})})})),l}async function di(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 p of a)p.text&&p.thought===!0?o+=p.text:u.push(p);s=a.find(p=>p.thoughtSignature)?.thoughtSignature;let l=u?.filter(p=>p.functionCall)?.map(p=>({id:p.functionCall?.id||`tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:p.functionCall?.name,arguments:JSON.stringify(p.functionCall?.args||{})}}))||[],d=u?.filter(p=>p.text)?.map(p=>p.text)?.join(`
183
- `)||"",f={id:r.responseId,choices:[{finish_reason:r.candidates[0].finishReason?.toLowerCase()||null,index:0,message:{content:d,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(f),{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="",d=0,f=-1,p=new ReadableStream({async start(m){let b=async(g,_)=>{if(g.startsWith("data: ")){let A=g.slice(6).trim();if(A){n?.debug({chunkStr:A},`${e} chunk:`);try{let C=JSON.parse(A);if(!C.candidates||!C.candidates[0]){n?.debug({chunkStr:A},"Invalid chunk structure");return}let S=C.candidates[0],v=S.content?.parts||[];v.filter(P=>P.text&&P.thought===!0).forEach(P=>{u||(u=!0);let Q={choices:[{delta:{role:"assistant",content:null,thinking:{content:P.text}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(Q)}
182
+ `)),S=-1}if(!_){let Z={stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence"}[me.finish_reason]||"end_turn",ie=se.usage?.prompt_tokens_details?.cached_tokens||0,Ae=(se.usage?.prompt_tokens||0)-ie;u={type:"message_delta",delta:{stop_reason:Z,stop_sequence:null},usage:{input_tokens:Ae,output_tokens:se.usage?.completion_tokens||0,cache_read_input_tokens:ie}}}break}}catch(se){this.logger?.error(`parseError: ${se.name} message: ${se.message} stack: ${se.stack} data: ${ae}`)}}}$()}catch(P){if(!_)try{o.error(P)}catch(Y){console.error(Y)}}finally{if(V)try{V.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_${Ut()}`;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(d=>({type:"web_search_result",url:d.url_citation.url,title:d.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 d={};try{let f=l.function.arguments||"{}";typeof f=="object"?d=f:typeof f=="string"&&(d=JSON.parse(f))}catch{d={text:l.function.arguments||""}}o.push({type:"tool_use",id:l.id,name:l.function.name,input:d})}),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_${Ut().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 qr={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function ww(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(qr).includes(r)?r:qr.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let r of n){let o=r.toUpperCase();e.anyOf.push({type:Object.values(qr).includes(o)?o:qr.TYPE_UNSPECIFIED})}}}function Mo(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)&&ww(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(qr).includes(l)?l:qr.TYPE_UNSPECIFIED}else if(n.includes(a))e[a]=Mo(u);else if(r.includes(a)){let l=[];for(let d of u){if(d.type=="null"){e.nullable=!0;continue}l.push(Mo(d))}e[a]=l}else if(o.includes(a)){let l={};for(let[d,f]of Object.entries(u))l[d]=Mo(f);e[a]=l}else{if(a==="additionalProperties")continue;e[a]=u}return e}function Ew(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=Mo(e.parameters)),e.response&&(Object.keys(e.response).includes("$schema")?e.responseJsonSchema||(e.responseJsonSchema=e.response,delete e.response):e.response=Mo(e.response));return t}function di(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(Ew({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 d;l.role==="assistant"?d="model":(["user","system"].includes(l.role),d="user");let f=[];if(typeof l.content=="string"){let p={text:l.content};l.thinking?.signature&&(p.thoughtSignature=l.thinking.signature),f.push(p)}else Array.isArray(l.content)?f.push(...l.content.map(p=>{if(p.type==="text")return{text:p.text||""};if(p.type==="image_url")return p.image_url.url.startsWith("http")?{file_data:{mime_type:p.media_type,file_uri:p.image_url.url}}:{inlineData:{mime_type:p.media_type,data:p.image_url.url?.split(",")?.pop()||p.image_url.url}}})):l.content&&typeof l.content=="object"&&(l.content.text?f.push({text:l.content.text}):f.push({text:JSON.stringify(l.content)}));if(Array.isArray(l.tool_calls)&&f.push(...l.tool_calls.map(p=>{let m={functionCall:{id:p.id||`tool_${Math.random().toString(36).substring(2,15)}`,name:p.function.name,args:JSON.parse(p.function.arguments||"{}")}};return l.thinking?.signature&&(m.thoughtSignature=l.thinking.signature),m})),f.length===0&&f.push({text:""}),o.push({role:d,parts:f}),d==="model"&&l.tool_calls){let p=l.tool_calls.map(m=>{let b=s.find(w=>w.tool_call_id===m.id);return{functionResponse:{name:m?.function?.name,response:{result:b?.content}}}});o.push({role:"user",parts:p})}});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],d,f=t.reasoning.max_tokens;typeof f<"u"&&(f>=l[0]&&f<=l[1]?d=f:f<l[0]?d=l[0]:f>l[1]&&(d=l[1]),a.thinkingConfig.thinkingBudget=d)}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 fi(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(d=>{typeof d=="string"?l.messages.push({role:"user",content:d}):typeof d.text=="string"?l.messages.push({role:"user",content:d.text||null}):d.role==="user"?l.messages.push({role:"user",content:d?.parts?.map(f=>({type:"text",text:f.text||""}))||[]}):d.role==="model"&&l.messages.push({role:"assistant",content:d?.parts?.map(f=>({type:"text",text:f.text||""}))||[]})}),Array.isArray(n)&&(l.tools=[],n.forEach(d=>{Array.isArray(d.functionDeclarations)&&d.functionDeclarations.forEach(f=>{l.tools.push({type:"function",function:{name:f.name,description:f.description,parameters:f.parameters}})})})),l}async function hi(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 p of a)p.text&&p.thought===!0?o+=p.text:u.push(p);s=a.find(p=>p.thoughtSignature)?.thoughtSignature;let l=u?.filter(p=>p.functionCall)?.map(p=>({id:p.functionCall?.id||`tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:p.functionCall?.name,arguments:JSON.stringify(p.functionCall?.args||{})}}))||[],d=u?.filter(p=>p.text)?.map(p=>p.text)?.join(`
183
+ `)||"",f={id:r.responseId,choices:[{finish_reason:r.candidates[0].finishReason?.toLowerCase()||null,index:0,message:{content:d,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(f),{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="",d=0,f=-1,p=new ReadableStream({async start(m){let b=async(g,_)=>{if(g.startsWith("data: ")){let A=g.slice(6).trim();if(A){n?.debug({chunkStr:A},`${e} chunk:`);try{let C=JSON.parse(A);if(!C.candidates||!C.candidates[0]){n?.debug({chunkStr:A},"Invalid chunk structure");return}let S=C.candidates[0],T=S.content?.parts||[];T.filter(P=>P.text&&P.thought===!0).forEach(P=>{u||(u=!0);let Y={choices:[{delta:{role:"assistant",content:null,thinking:{content:P.text}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(Y)}
184
184
 
185
- `))});let R=v.find(P=>P.thoughtSignature)?.thoughtSignature;if(R&&!s){if(!u){let Q={choices:[{delta:{role:"assistant",content:null,thinking:{content:"(no content)"}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(Q)}
185
+ `))});let R=T.find(P=>P.thoughtSignature)?.thoughtSignature;if(R&&!s){if(!u){let Y={choices:[{delta:{role:"assistant",content:null,thinking:{content:"(no content)"}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(Y)}
186
186
 
187
187
  `))}let P={choices:[{delta:{role:"assistant",content:null,thinking:{signature:R}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};if(_.enqueue(o.encode(`data: ${JSON.stringify(P)}
188
188
 
189
- `)),s=!0,d++,l){let Q={choices:[{delta:{role:"assistant",content:l},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(Q)}
189
+ `)),s=!0,d++,l){let Y={choices:[{delta:{role:"assistant",content:l},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(Y)}
190
190
 
191
- `)),l="",a||(a=!0)}}let $=v.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||{})}})),V=v.filter(P=>P.text&&P.thought!==!0).map(P=>P.text).join(`
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||{})}})),V=T.filter(P=>P.text&&P.thought!==!0).map(P=>P.text).join(`
192
192
  `);if(!V&&s&&!a){let P={choices:[{delta:{role:"assistant",content:"(no content)"},index:d,finish_reason:null,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.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&&V&&!s)if(C.modelVersion.includes("3")){l+=V;return}else{let P={choices:[{delta:{role:"assistant",content:null,thinking:{signature:`ccr_${+new Date}`}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(P)}
195
195
 
196
- `)),s=!0}if(V){l||d++;let P={choices:[{delta:{role:"assistant",content:V},finish_reason:S.finishReason?.toLowerCase()||null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:C.usageMetadata?.candidatesTokenCount||0,prompt_tokens:C.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:C.usageMetadata?.cachedContentTokenCount||0},total_tokens:C.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:C.usageMetadata?.thoughtsTokenCount||0}}};S?.groundingMetadata?.groundingChunks?.length&&(P.choices[0].delta.annotations=S.groundingMetadata.groundingChunks.map((Q,z)=>{let K=S?.groundingMetadata?.groundingSupports?.filter(Y=>Y.groundingChunkIndices?.includes(z));return{type:"url_citation",url_citation:{url:Q?.web?.uri||"",title:Q?.web?.title||"",content:K?.[0]?.segment?.text||"",start_index:K?.[0]?.segment?.startIndex||0,end_index:K?.[0]?.segment?.endIndex||0}}})),_.enqueue(o.encode(`data: ${JSON.stringify(P)}
196
+ `)),s=!0}if(V){l||d++;let P={choices:[{delta:{role:"assistant",content:V},finish_reason:S.finishReason?.toLowerCase()||null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:C.usageMetadata?.candidatesTokenCount||0,prompt_tokens:C.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:C.usageMetadata?.cachedContentTokenCount||0},total_tokens:C.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:C.usageMetadata?.thoughtsTokenCount||0}}};S?.groundingMetadata?.groundingChunks?.length&&(P.choices[0].delta.annotations=S.groundingMetadata.groundingChunks.map((Y,z)=>{let K=S?.groundingMetadata?.groundingSupports?.filter(Q=>Q.groundingChunkIndices?.includes(z));return{type:"url_citation",url_citation:{url:Y?.web?.uri||"",title:Y?.web?.title||"",content:K?.[0]?.segment?.text||"",start_index:K?.[0]?.segment?.startIndex||0,end_index:K?.[0]?.segment?.endIndex||0}}})),_.enqueue(o.encode(`data: ${JSON.stringify(P)}
197
197
 
198
- `)),!a&&V&&(a=!0)}$.length>0&&($.forEach(P=>{d++,f++;let Q={choices:[{delta:{role:"assistant",tool_calls:[{...P,index:f}]},finish_reason:S.finishReason?.toLowerCase()||null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:C.usageMetadata?.candidatesTokenCount||0,prompt_tokens:C.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:C.usageMetadata?.cachedContentTokenCount||0},total_tokens:C.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:C.usageMetadata?.thoughtsTokenCount||0}}};S?.groundingMetadata?.groundingChunks?.length&&(Q.choices[0].delta.annotations=S.groundingMetadata.groundingChunks.map((z,K)=>{let Y=S?.groundingMetadata?.groundingSupports?.filter(ee=>ee.groundingChunkIndices?.includes(K));return{type:"url_citation",url_citation:{url:z?.web?.uri||"",title:z?.web?.title||"",content:Y?.[0]?.segment?.text||"",start_index:Y?.[0]?.segment?.startIndex||0,end_index:Y?.[0]?.segment?.endIndex||0}}})),_.enqueue(o.encode(`data: ${JSON.stringify(Q)}
198
+ `)),!a&&V&&(a=!0)}$.length>0&&($.forEach(P=>{d++,f++;let Y={choices:[{delta:{role:"assistant",tool_calls:[{...P,index:f}]},finish_reason:S.finishReason?.toLowerCase()||null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:C.usageMetadata?.candidatesTokenCount||0,prompt_tokens:C.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:C.usageMetadata?.cachedContentTokenCount||0},total_tokens:C.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:C.usageMetadata?.thoughtsTokenCount||0}}};S?.groundingMetadata?.groundingChunks?.length&&(Y.choices[0].delta.annotations=S.groundingMetadata.groundingChunks.map((z,K)=>{let Q=S?.groundingMetadata?.groundingSupports?.filter(ee=>ee.groundingChunkIndices?.includes(K));return{type:"url_citation",url_citation:{url:z?.web?.uri||"",title:z?.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(Y)}
199
199
 
200
200
  `))}),!a&&V&&(a=!0))}catch(C){n?.error(`Error parsing ${e} stream chunk`,A,C.message)}}}},w=t.body.getReader(),y="";try{for(;;){let{done:g,value:_}=await w.read();if(g){y&&await b(y,m);break}y+=r.decode(_,{stream:!0});let A=y.split(`
201
- `);y=A.pop()||"";for(let C of A)await b(C,m)}}catch(g){m.error(g)}finally{m.close()}}});return new Response(p,{status:t.status,statusText:t.statusText,headers:t.headers})}}var fi=class{name="gemini";endPoint="/v1beta/models/:modelAndAction";async transformRequestIn(e,n){return{body:ci(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=li;async transformResponseOut(e){return di(e,this.name,this.logger)}};async function GT(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>Ln(xd(),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:
201
+ `);y=A.pop()||"";for(let C of A)await b(C,m)}}catch(g){m.error(g)}finally{m.close()}}});return new Response(p,{status:t.status,statusText:t.statusText,headers:t.headers})}}var pi=class{name="gemini";endPoint="/v1beta/models/:modelAndAction";async transformRequestIn(e,n){return{body:di(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=fi;async transformResponseOut(e){return hi(e,this.name,this.logger)}};async function eT(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>Ln(Pd(),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 Oa=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 GT();return{body:ci(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 li(e)}async transformResponseOut(e){return di(e,this.name)}};var Pa=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 d=/<thinking>([\s\S]*?)<\/thinking>/g.exec(o.content);d&&(u=d[1].trim(),o.content=o.content.replace(d[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 d=e.body.getReader(),f=(m,b,w)=>{let y=m.split(`
204
+ 3. Use Google Cloud environment with default service account`)}}var Fa=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 eT();return{body:di(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 fi(e)}async transformResponseOut(e){return hi(e,this.name)}};var Ia=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 d=/<thinking>([\s\S]*?)<\/thinking>/g.exec(o.content);d&&(u=d[1].trim(),o.content=o.content.replace(d[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 d=e.body.getReader(),f=(m,b,w)=>{let y=m.split(`
205
205
  `);for(let g of y)g.trim()&&b.enqueue(w.encode(g+`
206
206
  `))},p=(m,b)=>{let{controller:w,encoder:y}=b;if(m.startsWith("data: ")&&m.trim()!=="data: [DONE]")try{let g=JSON.parse(m.slice(6));if(g.choices?.[0]?.delta?.reasoning_content){b.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 A=`data: ${JSON.stringify(_)}
207
207
 
208
208
  `;w.enqueue(y.encode(A));return}if(g.choices?.[0]?.delta?.content&&b.reasoningContent()&&!b.isReasoningComplete()){b.setReasoningComplete(!0);let _="ccr_think_signature",A=g.choices[0].delta.content,C={...g,choices:[{...g.choices[0],delta:{...g.choices[0].delta,content:null,thinking:{content:b.reasoningContent(),signature:_}}}]};delete C.choices[0].delta.reasoning_content;let S=`data: ${JSON.stringify(C)}
209
209
 
210
- `;w.enqueue(y.encode(S));let v={...g,choices:[{...g.choices[0],delta:{...g.choices[0].delta,content:A}}]};delete v.choices[0].delta.reasoning_content;let R=`data: ${JSON.stringify(v)}
210
+ `;w.enqueue(y.encode(S));let T={...g,choices:[{...g.choices[0],delta:{...g.choices[0].delta,content:A}}]};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
 
@@ -215,13 +215,13 @@ data: ${JSON.stringify(G)}
215
215
  `))}else w.enqueue(y.encode(m+`
216
216
  `))};try{for(;;){let{done:m,value:b}=await d.read();if(m){a.trim()&&f(a,l,r);break}let w=n.decode(b,{stream:!0});a+=w;let y=a.split(`
217
217
  `);a=y.pop()||"";for(let g of y)if(g.trim())try{p(g,{controller:l,encoder:r,reasoningContent:()=>o,appendReasoningContent:_=>o+=_,isReasoningComplete:()=>s,setReasoningComplete:_=>s=_})}catch(_){console.error("Error processing line:",g,_),l.enqueue(r.encode(g+`
218
- `))}}}catch(m){console.error("Stream error:",m),l.error(m)}finally{try{d.releaseLock()}catch(m){console.error("Error releasing reader lock:",m)}l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/plain","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Fa=class{name="tooluse";transformRequestIn(e){return e.messages.push({role:"system",content:"<system-reminder>Tool mode is active. The user expects you to proactively execute the most suitable tool to help complete the task. \nBefore invoking a tool, you must carefully evaluate whether it matches the current task. If no available tool is appropriate for the task, you MUST call the `ExitTool` to exit tool mode \u2014 this is the only valid way to terminate tool mode.\nAlways prioritize completing the user's task effectively and efficiently by using tools whenever appropriate.</system-reminder>"}),e.tools?.length&&(e.tool_choice="required",e.tools.push({type:"function",function:{name:"ExitTool",description:`Use this tool when you are in tool mode and have completed the task. This is the only valid way to exit tool mode.
218
+ `))}}}catch(m){console.error("Stream error:",m),l.error(m)}finally{try{d.releaseLock()}catch(m){console.error("Error releasing reader lock:",m)}l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/plain","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Na=class{name="tooluse";transformRequestIn(e){return e.messages.push({role:"system",content:"<system-reminder>Tool mode is active. The user expects you to proactively execute the most suitable tool to help complete the task. \nBefore invoking a tool, you must carefully evaluate whether it matches the current task. If no available tool is appropriate for the task, you MUST call the `ExitTool` to exit tool mode \u2014 this is the only valid way to terminate tool mode.\nAlways prioritize completing the user's task effectively and efficiently by using tools whenever appropriate.</system-reminder>"}),e.tools?.length&&(e.tool_choice="required",e.tools.push({type:"function",function:{name:"ExitTool",description:`Use this tool when you are in tool mode and have completed the task. This is the only valid way to exit tool mode.
219
219
  IMPORTANT: Before using this tool, ensure that none of the available tools are applicable to the current task. You must evaluate all available options \u2014 only if no suitable tool can help you complete the task should you use ExitTool to terminate tool mode.
220
220
  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 d=e.body.getReader(),f=(m,b,w)=>{let y=m.split(`
223
223
  `);for(let g of y)g.trim()&&b.enqueue(w.encode(g+`
224
- `))},p=(m,b)=>{let{controller:w,encoder:y,exitToolIndex:g,setExitToolIndex:_,appendExitToolResponse:A}=b;if(m.startsWith("data: ")&&m.trim()!=="data: [DONE]")try{let C=JSON.parse(m.slice(6));if(C.choices[0]?.delta?.tool_calls?.length){let S=C.choices[0].delta.tool_calls[0];if(S.function?.name==="ExitTool"){_(S.index);return}else if(g()>-1&&S.index===g()&&S.function.arguments){A(S.function.arguments);try{let v=JSON.parse(b.exitToolResponse());C.choices=[{delta:{role:"assistant",content:v.response||""}}];let R=`data: ${JSON.stringify(C)}
224
+ `))},p=(m,b)=>{let{controller:w,encoder:y,exitToolIndex:g,setExitToolIndex:_,appendExitToolResponse:A}=b;if(m.startsWith("data: ")&&m.trim()!=="data: [DONE]")try{let C=JSON.parse(m.slice(6));if(C.choices[0]?.delta?.tool_calls?.length){let S=C.choices[0].delta.tool_calls[0];if(S.function?.name==="ExitTool"){_(S.index);return}else if(g()>-1&&S.index===g()&&S.function.arguments){A(S.function.arguments);try{let T=JSON.parse(b.exitToolResponse());C.choices=[{delta:{role:"assistant",content:T.response||""}}];let R=`data: ${JSON.stringify(C)}
225
225
 
226
226
  `;w.enqueue(y.encode(R))}catch{}return}}if(C.choices?.[0]?.delta&&Object.keys(C.choices[0].delta).length>0){let S=`data: ${JSON.stringify(C)}
227
227
 
@@ -229,17 +229,17 @@ Examples:
229
229
  `))}else w.enqueue(y.encode(m+`
230
230
  `))};try{for(;;){let{done:m,value:b}=await d.read();if(m){a.trim()&&f(a,l,r);break}let w=n.decode(b,{stream:!0});a+=w;let y=a.split(`
231
231
  `);a=y.pop()||"";for(let g of y)if(g.trim())try{p(g,{controller:l,encoder:r,exitToolIndex:()=>o,setExitToolIndex:_=>o=_,exitToolResponse:()=>s,appendExitToolResponse:_=>s+=_})}catch(_){console.error("Error processing line:",g,_),l.enqueue(r.encode(g+`
232
- `))}}}catch(m){console.error("Stream error:",m),l.error(m)}finally{try{d.releaseLock()}catch(m){console.error("Error releasing reader lock:",m)}l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ia=class{constructor(e){this.options=e}static TransformerName="openrouter";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=`${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="",d=new ReadableStream({async start(f){let p=e.body.getReader(),m=(w,y,g)=>{let _=w.split(`
232
+ `))}}}catch(m){console.error("Stream error:",m),l.error(m)}finally{try{d.releaseLock()}catch(m){console.error("Error releasing reader lock:",m)}l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ba=class{constructor(e){this.options=e}static TransformerName="openrouter";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=`${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="",d=new ReadableStream({async start(f){let p=e.body.getReader(),m=(w,y,g)=>{let _=w.split(`
233
233
  `);for(let A of _)A.trim()&&y.enqueue(g.encode(A+`
234
234
  `))},b=(w,y)=>{let{controller:g,encoder:_}=y;if(w.startsWith("data: ")&&w.trim()!=="data: [DONE]"){let A=w.slice(6);try{let C=JSON.parse(A);if(C.usage&&(this.logger?.debug({usage:C.usage,hasToolCall:u},"usage"),C.choices[0].finish_reason=u?"tool_calls":"stop"),C.choices?.[0]?.finish_reason==="error"){g.enqueue(_.encode(`data: ${JSON.stringify({error:C.choices?.[0].error})}
235
235
 
236
- `));return}C.choices?.[0]?.delta?.content&&!y.hasTextContent()&&y.setHasTextContent(!0);let S=C.choices?.[0]?.delta?.reasoning||C.choices?.[0]?.delta?.reasoning_content;if(S){y.appendReasoningContent(S);let P={...C,choices:[{...C.choices?.[0],delta:{...C.choices[0].delta,thinking:{content:S}}}]};P.choices?.[0]?.delta&&(delete P.choices[0].delta.reasoning,delete P.choices[0].delta.reasoning_content);let Q=`data: ${JSON.stringify(P)}
236
+ `));return}C.choices?.[0]?.delta?.content&&!y.hasTextContent()&&y.setHasTextContent(!0);let S=C.choices?.[0]?.delta?.reasoning||C.choices?.[0]?.delta?.reasoning_content;if(S){y.appendReasoningContent(S);let P={...C,choices:[{...C.choices?.[0],delta:{...C.choices[0].delta,thinking:{content:S}}}]};P.choices?.[0]?.delta&&(delete P.choices[0].delta.reasoning,delete P.choices[0].delta.reasoning_content);let Y=`data: ${JSON.stringify(P)}
237
237
 
238
- `;g.enqueue(_.encode(Q));return}if(C.choices?.[0]?.delta?.content&&y.reasoningContent()&&!y.isReasoningComplete()){y.setReasoningComplete(!0);let P="ccr_think_signature",Q=C.choices[0].delta.content,z={...C,choices:[{...C.choices?.[0],delta:{...C.choices[0].delta,content:null,thinking:{content:y.reasoningContent(),signature:P}}}]};z.choices?.[0]?.delta&&delete z.choices[0].delta.reasoning;let K=`data: ${JSON.stringify(z)}
238
+ `;g.enqueue(_.encode(Y));return}if(C.choices?.[0]?.delta?.content&&y.reasoningContent()&&!y.isReasoningComplete()){y.setReasoningComplete(!0);let P="ccr_think_signature",Y=C.choices[0].delta.content,z={...C,choices:[{...C.choices?.[0],delta:{...C.choices[0].delta,content:null,thinking:{content:y.reasoningContent(),signature:P}}}]};z.choices?.[0]?.delta&&delete z.choices[0].delta.reasoning;let K=`data: ${JSON.stringify(z)}
239
239
 
240
- `;g.enqueue(_.encode(K));let Y={...C,choices:[{...C.choices?.[0],delta:{...C.choices[0].delta,content:Q}}]};Y.choices?.[0]?.delta&&(delete Y.choices[0].delta.reasoning,delete Y.choices[0].delta.reasoning_content);let ee=`data: ${JSON.stringify(Y)}
240
+ `;g.enqueue(_.encode(K));let Q={...C,choices:[{...C.choices?.[0],delta:{...C.choices[0].delta,content:Y}}]};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}C.choices?.[0]?.delta?.reasoning&&delete C.choices[0].delta.reasoning,C.choices?.[0]?.delta?.reasoning_content&&delete C.choices[0].delta.reasoning_content,C.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(C.choices?.[0]?.delta?.tool_calls[0].id,10))&&C.choices?.[0]?.delta?.tool_calls.forEach(P=>{P.id=`call_${Ut()}`}),C.choices?.[0]?.delta?.tool_calls?.length&&!u&&(u=!0);let v=C.choices?.[0]?.delta,R=v&&Object.keys(v).length>0,$=C.choices?.[0]?.finish_reason,V=C.usage;if(R||$||V){let P=`data: ${JSON.stringify(C)}
242
+ `;g.enqueue(_.encode(ee));return}C.choices?.[0]?.delta?.reasoning&&delete C.choices[0].delta.reasoning,C.choices?.[0]?.delta?.reasoning_content&&delete C.choices[0].delta.reasoning_content,C.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(C.choices?.[0]?.delta?.tool_calls[0].id,10))&&C.choices?.[0]?.delta?.tool_calls.forEach(P=>{P.id=`call_${Ut()}`}),C.choices?.[0]?.delta?.tool_calls?.length&&!u&&(u=!0);let T=C.choices?.[0]?.delta,R=T&&Object.keys(T).length>0,$=C.choices?.[0]?.finish_reason,V=C.usage;if(R||$||V){let P=`data: ${JSON.stringify(C)}
243
243
 
244
244
  `;g.enqueue(_.encode(P))}}catch{g.enqueue(_.encode(w+`
245
245
  `))}}else g.enqueue(_.encode(w+`
@@ -247,7 +247,7 @@ Examples:
247
247
  `);l=A.pop()||"";for(let C of A)if(C.trim())try{b(C,{controller:f,encoder:r,hasTextContent:()=>o,setHasTextContent:S=>o=S,reasoningContent:()=>s,appendReasoningContent:S=>s+=S,isReasoningComplete:()=>a,setReasoningComplete:S=>a=S})}catch(S){console.error("Error processing line:",C,S),f.enqueue(r.encode(C+`
248
248
  `))}continue}let _=l.split(`
249
249
  `);l=_.pop()||"";for(let A of _)if(A.trim())try{b(A,{controller:f,encoder:r,hasTextContent:()=>o,setHasTextContent:C=>o=C,reasoningContent:()=>s,appendReasoningContent:C=>s+=C,isReasoningComplete:()=>a,setReasoningComplete:C=>a=C})}catch(C){console.error("Error processing line:",A,C),f.enqueue(r.encode(A+`
250
- `))}}}catch(w){console.error("Stream error:",w),f.error(w)}finally{try{p.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}f.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 Ba=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens}static TransformerName="maxtoken";max_tokens;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),e}};var Na=class{name="groq";async transformRequestIn(e){return 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}),Array.isArray(e.tools)&&e.tools.forEach(n=>{delete n.function.parameters.$schema}),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="",l=new ReadableStream({async start(d){let f=e.body.getReader(),p=(b,w,y)=>{let g=b.split(`
250
+ `))}}}catch(w){console.error("Stream error:",w),f.error(w)}finally{try{p.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}f.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 Ma=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens}static TransformerName="maxtoken";max_tokens;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),e}};var La=class{name="groq";async transformRequestIn(e){return 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}),Array.isArray(e.tools)&&e.tools.forEach(n=>{delete n.function.parameters.$schema}),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="",l=new ReadableStream({async start(d){let f=e.body.getReader(),p=(b,w,y)=>{let g=b.split(`
251
251
  `);for(let _ of g)_.trim()&&w.enqueue(y.encode(_+`
252
252
  `))},m=(b,w)=>{let{controller:y,encoder:g}=w;if(b.startsWith("data: ")&&b.trim()!=="data: [DONE]"){let _=b.slice(6);try{let A=JSON.parse(_);if(A.error)throw new Error(JSON.stringify(A));A.choices?.[0]?.delta?.content&&!w.hasTextContent()&&w.setHasTextContent(!0),A.choices?.[0]?.delta?.tool_calls?.length&&A.choices?.[0]?.delta?.tool_calls.forEach(S=>{S.id=`call_${Ut()}`}),A.choices?.[0]?.delta?.tool_calls?.length&&w.hasTextContent()&&(typeof A.choices[0].index=="number"?A.choices[0].index+=1:A.choices[0].index=1);let C=`data: ${JSON.stringify(A)}
253
253
 
@@ -257,28 +257,28 @@ Examples:
257
257
  `);u=_.pop()||"";for(let A of _)if(A.trim())try{m(A,{controller:d,encoder:r,hasTextContent:()=>o,setHasTextContent:C=>o=C,reasoningContent:()=>s,appendReasoningContent:C=>s+=C,isReasoningComplete:()=>a,setReasoningComplete:C=>a=C})}catch(C){console.error("Error processing line:",A,C),d.enqueue(r.encode(A+`
258
258
  `))}continue}let g=u.split(`
259
259
  `);u=g.pop()||"";for(let _ of g)if(_.trim())try{m(_,{controller:d,encoder:r,hasTextContent:()=>o,setHasTextContent:A=>o=A,reasoningContent:()=>s,appendReasoningContent:A=>s+=A,isReasoningComplete:()=>a,setReasoningComplete:A=>a=A})}catch(A){console.error("Error processing line:",_,A),d.enqueue(r.encode(_+`
260
- `))}}}catch(b){console.error("Stream error:",b),d.error(b)}finally{try{f.releaseLock()}catch(b){console.error("Error releasing reader lock:",b)}d.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 Ma=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 F0=Ln(zu());var Dn=class extends Error{constructor(e,n){super(`${e} at position ${n}`),this.position=n}};function T0(t){return/^[0-9A-Fa-f]$/.test(t)}function Yn(t){return t>="0"&&t<="9"}function v0(t){return t>=" "}function ds(t){return`,:[]/{}()
261
- +`.includes(t)}function Od(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function Pd(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var Fd=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,Id=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function Bd(t){return`,[]/{}
262
- +`.includes(t)}function Nd(t){return fs(t)||JT.test(t)}var JT=/^[[{\w-]$/;function D0(t){return t===`
263
- `||t==="\r"||t===" "||t==="\b"||t==="\f"}function Qn(t,e){let n=t.charCodeAt(e);return n===32||n===10||n===9||n===13}function R0(t,e){let n=t.charCodeAt(e);return n===32||n===9||n===13}function x0(t,e){let n=t.charCodeAt(e);return n===160||n>=8192&&n<=8202||n===8239||n===8287||n===12288}function fs(t){return Md(t)||La(t)}function Md(t){return t==='"'||t==="\u201C"||t==="\u201D"}function Ld(t){return t==='"'}function La(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function jd(t){return t==="'"}function yo(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 Ft(t,e){let n=t.length;if(!Qn(t,n-1))return t+e;for(;Qn(t,n-1);)n--;return t.substring(0,n)+e+t.substring(n)}function O0(t,e,n){return t.substring(0,e)+t.substring(e+n)}function P0(t){return/[,\n][ \t\r]*$/.test(t)}var VT={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},KT={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
264
- `,r:"\r",t:" "};function Ud(t){let e=0,n="";d(["```","[```","{```"]),s()||ee(),d(["```","```]","```}"]);let o=p(",");for(o&&a(),Nd(t[e])&&P0(n)?(o||(n=Ft(n,",")),_()):o&&(n=yo(n,","));t[e]==="}"||t[e]==="]";)e++,a();if(e>=t.length)return n;Y();function s(){a();let G=y()||g()||A()||S()||v()||$(!1)||V();return a(),G}function a(){let G=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,Z=e,ie=u(G);do ie=l(),ie&&(ie=u(G));while(ie);return e>Z}function u(G){let Z=G?Qn:R0,ie="";for(;;)if(Z(t,e))ie+=t[e],e++;else if(x0(t,e))ie+=" ",e++;else break;return ie.length>0?(n+=ie,!0):!1}function l(){if(t[e]==="/"&&t[e+1]==="*"){for(;e<t.length&&!QT(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 d(G){if(f(G)){if(Od(t[e]))for(;e<t.length&&Pd(t[e]);)e++;return a(),!0}return!1}function f(G){u(!0);for(let Z of G){let ie=e+Z.length;if(t.slice(e,ie)===Z)return e=ie,!0}return!1}function p(G){return t[e]===G?(n+=t[e],e++,!0):!1}function m(G){return t[e]===G?(e++,!0):!1}function b(){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 G=!0;for(;e<t.length&&t[e]!=="}";){let Z;if(G?(Z=!0,G=!1):(Z=p(","),Z||(n=Ft(n,",")),a()),w(),!(A()||$(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?n=yo(n,","):ae();break}a();let Ue=p(":"),Ae=e>=t.length;Ue||(Nd(t[e])||Ae?n=Ft(n,":"):se()),s()||(Ue||Ae?n+="null":se())}return t[e]==="}"?(n+="}",e++):n=Ft(n,"}"),!0}return!1}function g(){if(t[e]==="["){n+="[",e++,a(),m(",")&&a();let G=!0;for(;e<t.length&&t[e]!=="]";)if(G?G=!1:p(",")||(n=Ft(n,",")),w(),!s()){n=yo(n,",");break}return t[e]==="]"?(n+="]",e++):n=Ft(n,"]"),!0}return!1}function _(){let G=!0,Z=!0;for(;Z;)G?G=!1:p(",")||(n=Ft(n,",")),Z=s();Z||(n=yo(n,",")),n=`[
260
+ `))}}}catch(b){console.error("Stream error:",b),d.error(b)}finally{try{f.releaseLock()}catch(b){console.error("Error releasing reader lock:",b)}d.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 ja=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 B0=Ln(Wu());var Dn=class extends Error{constructor(e,n){super(`${e} at position ${n}`),this.position=n}};function R0(t){return/^[0-9A-Fa-f]$/.test(t)}function Qn(t){return t>="0"&&t<="9"}function x0(t){return t>=" "}function fs(t){return`,:[]/{}()
261
+ +`.includes(t)}function Fd(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function Id(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var Nd=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,Bd=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function Md(t){return`,[]/{}
262
+ +`.includes(t)}function Ld(t){return hs(t)||tT.test(t)}var tT=/^[[{\w-]$/;function O0(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 P0(t,e){let n=t.charCodeAt(e);return n===32||n===9||n===13}function F0(t,e){let n=t.charCodeAt(e);return n===160||n>=8192&&n<=8202||n===8239||n===8287||n===12288}function hs(t){return jd(t)||Ua(t)}function jd(t){return t==='"'||t==="\u201C"||t==="\u201D"}function Ud(t){return t==='"'}function Ua(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function $d(t){return t==="'"}function _o(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 Ft(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 I0(t,e,n){return t.substring(0,e)+t.substring(e+n)}function N0(t){return/[,\n][ \t\r]*$/.test(t)}var nT={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},rT={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
264
+ `,r:"\r",t:" "};function qd(t){let e=0,n="";d(["```","[```","{```"]),s()||ee(),d(["```","```]","```}"]);let o=p(",");for(o&&a(),Ld(t[e])&&N0(n)?(o||(n=Ft(n,",")),_()):o&&(n=_o(n,","));t[e]==="}"||t[e]==="]";)e++,a();if(e>=t.length)return n;Q();function s(){a();let G=y()||g()||A()||S()||T()||$(!1)||V();return a(),G}function a(){let G=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,Z=e,ie=u(G);do ie=l(),ie&&(ie=u(G));while(ie);return e>Z}function u(G){let Z=G?Yn:P0,ie="";for(;;)if(Z(t,e))ie+=t[e],e++;else if(F0(t,e))ie+=" ",e++;else break;return ie.length>0?(n+=ie,!0):!1}function l(){if(t[e]==="/"&&t[e+1]==="*"){for(;e<t.length&&!oT(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 d(G){if(f(G)){if(Fd(t[e]))for(;e<t.length&&Id(t[e]);)e++;return a(),!0}return!1}function f(G){u(!0);for(let Z of G){let ie=e+Z.length;if(t.slice(e,ie)===Z)return e=ie,!0}return!1}function p(G){return t[e]===G?(n+=t[e],e++,!0):!1}function m(G){return t[e]===G?(e++,!0):!1}function b(){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 G=!0;for(;e<t.length&&t[e]!=="}";){let Z;if(G?(Z=!0,G=!1):(Z=p(","),Z||(n=Ft(n,",")),a()),w(),!(A()||$(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?n=_o(n,","):ae();break}a();let Ue=p(":"),Ae=e>=t.length;Ue||(Ld(t[e])||Ae?n=Ft(n,":"):se()),s()||(Ue||Ae?n+="null":se())}return t[e]==="}"?(n+="}",e++):n=Ft(n,"}"),!0}return!1}function g(){if(t[e]==="["){n+="[",e++,a(),m(",")&&a();let G=!0;for(;e<t.length&&t[e]!=="]";)if(G?G=!1:p(",")||(n=Ft(n,",")),w(),!s()){n=_o(n,",");break}return t[e]==="]"?(n+="]",e++):n=Ft(n,"]"),!0}return!1}function _(){let G=!0,Z=!0;for(;Z;)G?G=!1:p(",")||(n=Ft(n,",")),Z=s();Z||(n=_o(n,",")),n=`[
266
266
  ${n}
267
- ]`}function A(){let G=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,ie=t[e]==="\\";if(ie&&(e++,ie=!0),fs(t[e])){let Ue=Ld(t[e])?Ld:jd(t[e])?jd:La(t[e])?La:Md,Ae=e,J=n.length,ce='"';for(e++;;){if(e>=t.length){let te=P(e-1);return!G&&ds(t.charAt(te))?(e=Ae,n=n.substring(0,J),A(!0)):(ce=Ft(ce,'"'),n+=ce,!0)}if(e===Z)return ce=Ft(ce,'"'),n+=ce,!0;if(Ue(t[e])){let te=e,ve=ce.length;if(ce+='"',e++,n+=ce,a(!1),G||e>=t.length||ds(t[e])||fs(t[e])||Yn(t[e]))return C(),!0;let Oe=P(te-1),je=t.charAt(Oe);if(je===",")return e=Ae,n=n.substring(0,J),A(!1,Oe);if(ds(je))return e=Ae,n=n.substring(0,J),A(!0);n=n.substring(0,J),e=te+1,ce=`${ce.substring(0,ve)}\\${ce.substring(ve)}`}else if(G&&Bd(t[e])){if(t[e-1]===":"&&Fd.test(t.substring(Ae+1,e+2)))for(;e<t.length&&Id.test(t[e]);)ce+=t[e],e++;return ce=Ft(ce,'"'),n+=ce,C(),!0}else if(t[e]==="\\"){let te=t.charAt(e+1);if(KT[te]!==void 0)ce+=t.slice(e,e+2),e+=2;else if(te==="u"){let Oe=2;for(;Oe<6&&T0(t[e+Oe]);)Oe++;Oe===6?(ce+=t.slice(e,e+6),e+=6):e+Oe>=t.length?e=t.length:me()}else ce+=te,e+=2}else{let te=t.charAt(e);te==='"'&&t[e-1]!=="\\"?(ce+=`\\${te}`,e++):D0(te)?(ce+=VT[te],e++):(v0(te)||K(te),ce+=te,e++)}ie&&b()}}return!1}function C(){let G=!1;for(a();t[e]==="+";){G=!0,e++,a(),n=yo(n,'"',!0);let Z=n.length;A()?n=O0(n,Z,1):n=Ft(n,'"')}return G}function S(){let G=e;if(t[e]==="-"){if(e++,Q())return z(G),!0;if(!Yn(t[e]))return e=G,!1}for(;Yn(t[e]);)e++;if(t[e]==="."){if(e++,Q())return z(G),!0;if(!Yn(t[e]))return e=G,!1;for(;Yn(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,Q())return z(G),!0;if(!Yn(t[e]))return e=G,!1;for(;Yn(t[e]);)e++}if(!Q())return e=G,!1;if(e>G){let Z=t.slice(G,e),ie=/^0\d/.test(Z);return n+=ie?`"${Z}"`:Z,!0}return!1}function v(){return R("true","true")||R("false","false")||R("null","null")||R("True","true")||R("False","false")||R("None","null")}function R(G,Z){return t.slice(e,e+G.length)===G?(n+=Z,e+=G.length,!0):!1}function $(G){let Z=e;if(Od(t[e])){for(;e<t.length&&Pd(t[e]);)e++;let ie=e;for(;Qn(t,ie);)ie++;if(t[ie]==="(")return e=ie+1,s(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!Bd(t[e])&&!fs(t[e])&&(!G||t[e]!==":");)e++;if(t[e-1]===":"&&Fd.test(t.substring(Z,e+2)))for(;e<t.length&&Id.test(t[e]);)e++;if(e>Z){for(;Qn(t,e-1)&&e>0;)e--;let ie=t.slice(Z,e);return n+=ie==="undefined"?"null":JSON.stringify(ie),t[e]==='"'&&e++,!0}}function V(){if(t[e]==="/"){let G=e;for(e++;e<t.length&&(t[e]!=="/"||t[e-1]==="\\");)e++;return e++,n+=`"${t.substring(G,e)}"`,!0}}function P(G){let Z=G;for(;Z>0&&Qn(t,Z);)Z--;return Z}function Q(){return e>=t.length||ds(t[e])||Qn(t,e)}function z(G){n+=`${t.slice(G,e)}0`}function K(G){throw new Dn(`Invalid character ${JSON.stringify(G)}`,e)}function Y(){throw new Dn(`Unexpected character ${JSON.stringify(t[e])}`,e)}function ee(){throw new Dn("Unexpected end of json string",t.length)}function ae(){throw new Dn("Object key expected",e)}function se(){throw new Dn("Colon expected",e)}function me(){let G=t.slice(e,e+6);throw new Dn(`Invalid unicode character "${G}"`,e)}}function QT(t,e){return t[e]==="*"&&t[e+1]==="/"}function $d(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=F0.default.parse(t);return e?.debug("Tool arguments JSON5 parsing successful"),JSON.stringify(r)}catch(r){try{let o=Ud(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 ja=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=$d(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,d="",f=new ReadableStream({async start(p){let m=e.body.getReader(),b=(g,_,A)=>{let C=g.split(`
267
+ ]`}function A(){let G=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,ie=t[e]==="\\";if(ie&&(e++,ie=!0),hs(t[e])){let Ue=Ud(t[e])?Ud:$d(t[e])?$d:Ua(t[e])?Ua:jd,Ae=e,J=n.length,ce='"';for(e++;;){if(e>=t.length){let te=P(e-1);return!G&&fs(t.charAt(te))?(e=Ae,n=n.substring(0,J),A(!0)):(ce=Ft(ce,'"'),n+=ce,!0)}if(e===Z)return ce=Ft(ce,'"'),n+=ce,!0;if(Ue(t[e])){let te=e,Te=ce.length;if(ce+='"',e++,n+=ce,a(!1),G||e>=t.length||fs(t[e])||hs(t[e])||Qn(t[e]))return C(),!0;let Oe=P(te-1),je=t.charAt(Oe);if(je===",")return e=Ae,n=n.substring(0,J),A(!1,Oe);if(fs(je))return e=Ae,n=n.substring(0,J),A(!0);n=n.substring(0,J),e=te+1,ce=`${ce.substring(0,Te)}\\${ce.substring(Te)}`}else if(G&&Md(t[e])){if(t[e-1]===":"&&Nd.test(t.substring(Ae+1,e+2)))for(;e<t.length&&Bd.test(t[e]);)ce+=t[e],e++;return ce=Ft(ce,'"'),n+=ce,C(),!0}else if(t[e]==="\\"){let te=t.charAt(e+1);if(rT[te]!==void 0)ce+=t.slice(e,e+2),e+=2;else if(te==="u"){let Oe=2;for(;Oe<6&&R0(t[e+Oe]);)Oe++;Oe===6?(ce+=t.slice(e,e+6),e+=6):e+Oe>=t.length?e=t.length:me()}else ce+=te,e+=2}else{let te=t.charAt(e);te==='"'&&t[e-1]!=="\\"?(ce+=`\\${te}`,e++):O0(te)?(ce+=nT[te],e++):(x0(te)||K(te),ce+=te,e++)}ie&&b()}}return!1}function C(){let G=!1;for(a();t[e]==="+";){G=!0,e++,a(),n=_o(n,'"',!0);let Z=n.length;A()?n=I0(n,Z,1):n=Ft(n,'"')}return G}function S(){let G=e;if(t[e]==="-"){if(e++,Y())return z(G),!0;if(!Qn(t[e]))return e=G,!1}for(;Qn(t[e]);)e++;if(t[e]==="."){if(e++,Y())return z(G),!0;if(!Qn(t[e]))return e=G,!1;for(;Qn(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,Y())return z(G),!0;if(!Qn(t[e]))return e=G,!1;for(;Qn(t[e]);)e++}if(!Y())return e=G,!1;if(e>G){let Z=t.slice(G,e),ie=/^0\d/.test(Z);return n+=ie?`"${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(G,Z){return t.slice(e,e+G.length)===G?(n+=Z,e+=G.length,!0):!1}function $(G){let Z=e;if(Fd(t[e])){for(;e<t.length&&Id(t[e]);)e++;let ie=e;for(;Yn(t,ie);)ie++;if(t[ie]==="(")return e=ie+1,s(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!Md(t[e])&&!hs(t[e])&&(!G||t[e]!==":");)e++;if(t[e-1]===":"&&Nd.test(t.substring(Z,e+2)))for(;e<t.length&&Bd.test(t[e]);)e++;if(e>Z){for(;Yn(t,e-1)&&e>0;)e--;let ie=t.slice(Z,e);return n+=ie==="undefined"?"null":JSON.stringify(ie),t[e]==='"'&&e++,!0}}function V(){if(t[e]==="/"){let G=e;for(e++;e<t.length&&(t[e]!=="/"||t[e-1]==="\\");)e++;return e++,n+=`"${t.substring(G,e)}"`,!0}}function P(G){let Z=G;for(;Z>0&&Yn(t,Z);)Z--;return Z}function Y(){return e>=t.length||fs(t[e])||Yn(t,e)}function z(G){n+=`${t.slice(G,e)}0`}function K(G){throw new Dn(`Invalid character ${JSON.stringify(G)}`,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 ae(){throw new Dn("Object key expected",e)}function se(){throw new Dn("Colon expected",e)}function me(){let G=t.slice(e,e+6);throw new Dn(`Invalid unicode character "${G}"`,e)}}function oT(t,e){return t[e]==="*"&&t[e+1]==="/"}function zd(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=B0.default.parse(t);return e?.debug("Tool arguments JSON5 parsing successful"),JSON.stringify(r)}catch(r){try{let o=qd(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 $a=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=zd(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,d="",f=new ReadableStream({async start(p){let m=e.body.getReader(),b=(g,_,A)=>{let C=g.split(`
268
268
  `);for(let S of C)S.trim()&&_.enqueue(A.encode(S+`
269
- `))},w=(g,_,A)=>{let C="";try{C=$d(o.arguments||"",this.logger)}catch($){console.error(`${$.message} ${$.stack} \u5DE5\u5177\u8C03\u7528\u53C2\u6570\u89E3\u6790\u5931\u8D25: ${JSON.stringify(o)}`),C=o.arguments||""}let S={role:"assistant",tool_calls:[{function:{name:o.name,arguments:C},id:o.id,index:o.index,type:"function"}]},v={...g,choices:[{...g.choices[0],delta:S}]};v.choices[0].delta.content!==void 0&&delete v.choices[0].delta.content;let R=`data: ${JSON.stringify(v)}
269
+ `))},w=(g,_,A)=>{let C="";try{C=zd(o.arguments||"",this.logger)}catch($){console.error(`${$.message} ${$.stack} \u5DE5\u5177\u8C03\u7528\u53C2\u6570\u89E3\u6790\u5931\u8D25: ${JSON.stringify(o)}`),C=o.arguments||""}let S={role:"assistant",tool_calls:[{function:{name:o.name,arguments:C},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(A.encode(R))},y=(g,_)=>{let{controller:A,encoder:C}=_;if(g.startsWith("data: ")&&g.trim()!=="data: [DONE]"){let S=g.slice(6);try{let v=JSON.parse(S);if(v.choices?.[0]?.delta?.tool_calls?.length){let $=v.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 V=`data: ${JSON.stringify(v)}
271
+ `;_.enqueue(A.encode(R))},y=(g,_)=>{let{controller:A,encoder:C}=_;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 V=`data: ${JSON.stringify(T)}
272
272
 
273
- `;A.enqueue(C.encode(V));return}else if(o.index===$.index){$.function?.arguments&&(o.arguments+=$.function.arguments);return}else{w(v,A,C),o={index:$.index,name:$.function?.name||"",id:$.id||"",arguments:$.function?.arguments||""};return}}if(v.choices?.[0]?.finish_reason==="tool_calls"&&o.index!==void 0){w(v,A,C),o={};return}v.choices?.[0]?.delta?.tool_calls?.length&&_.hasTextContent()&&(typeof v.choices[0].index=="number"?v.choices[0].index+=1:v.choices[0].index=1);let R=`data: ${JSON.stringify(v)}
273
+ `;A.enqueue(C.encode(V));return}else if(o.index===$.index){$.function?.arguments&&(o.arguments+=$.function.arguments);return}else{w(T,A,C),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,A,C),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
  `;A.enqueue(C.encode(R))}catch{A.enqueue(C.encode(g+`
276
276
  `))}}else A.enqueue(C.encode(g+`
277
277
  `))};try{for(;;){let{done:g,value:_}=await m.read();if(g){d.trim()&&b(d,p,r);break}if(!_||_.length===0)continue;let A;try{A=n.decode(_,{stream:!0})}catch(S){console.warn("Failed to decode chunk",S);continue}if(A.length===0)continue;if(d+=A,d.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let S=d.split(`
278
- `);d=S.pop()||"";for(let v of S)if(v.trim())try{y(v,{controller:p,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:",v,R),p.enqueue(r.encode(v+`
278
+ `);d=S.pop()||"";for(let T of S)if(T.trim())try{y(T,{controller:p,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),p.enqueue(r.encode(T+`
279
279
  `))}continue}let C=d.split(`
280
- `);d=C.pop()||"";for(let S of C)if(S.trim())try{y(S,{controller:p,encoder:r,hasTextContent:()=>s,setHasTextContent:v=>s=v,reasoningContent:()=>a,appendReasoningContent:v=>a+=v,isReasoningComplete:()=>u,setReasoningComplete:v=>u=v})}catch(v){console.error("Error processing line:",S,v),p.enqueue(r.encode(S+`
281
- `))}}}catch(g){console.error("Stream error:",g),p.error(g)}finally{try{m.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}p.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 Ua=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 d=e.body.getReader(),f=(m,b,w)=>{let y=m.split(`
280
+ `);d=C.pop()||"";for(let S of C)if(S.trim())try{y(S,{controller:p,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),p.enqueue(r.encode(S+`
281
+ `))}}}catch(g){console.error("Stream error:",g),p.error(g)}finally{try{m.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}p.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 qa=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 d=e.body.getReader(),f=(m,b,w)=>{let y=m.split(`
282
282
  `);for(let g of y)g.trim()&&b.enqueue(w.encode(g+`
283
283
  `))},p=(m,b)=>{let{controller:w,encoder:y}=b;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){b.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 A=`data: ${JSON.stringify(_)}
284
284
 
@@ -290,7 +290,7 @@ ${n}
290
290
  `))}else w.enqueue(y.encode(m+`
291
291
  `))};try{for(;;){let{done:m,value:b}=await d.read();if(m){a.trim()&&f(a,l,r);break}let w=n.decode(b,{stream:!0});a+=w;let y=a.split(`
292
292
  `);a=y.pop()||"";for(let g of y)if(g.trim())try{p(g,{controller:l,encoder:r,reasoningContent:()=>o,appendReasoningContent:_=>o+=_,isReasoningComplete:()=>s,setReasoningComplete:_=>s=_})}catch(_){console.error("Error processing line:",g,_),l.enqueue(r.encode(g+`
293
- `))}}}catch(m){console.error("Stream error:",m),l.error(m)}finally{try{d.releaseLock()}catch(m){console.error("Error releasing reader lock:",m)}l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var $a=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens,this.temperature=this.options?.temperature,this.top_p=this.options?.top_p,this.top_k=this.options?.top_k,this.repetition_penalty=this.options?.repetition_penalty}static TransformerName="sampling";max_tokens;temperature;top_p;top_k;repetition_penalty;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),typeof this.temperature<"u"&&(e.temperature=this.temperature),typeof this.top_p<"u"&&(e.top_p=this.top_p),typeof this.top_k<"u"&&(e.top_k=this.top_k),typeof this.repetition_penalty<"u"&&(e.repetition_penalty=this.repetition_penalty),e}};var qa=class{static TransformerName="maxcompletiontokens";async transformRequestIn(e){return e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),e}};function I0(t){let e=[];for(let r=0;r<t.messages.length;r++){let o=t.messages[r],s=r===t.messages.length-1,a=o.role==="assistant",u=[];typeof o.content=="string"?u.push({type:"text",text:o.content}):Array.isArray(o.content)&&o.content.forEach(l=>{l.type==="text"?u.push({type:"text",text:l.text||""}):l.type==="image_url"&&u.push({type:"image",source:{type:"base64",media_type:l.media_type||"image/jpeg",data:l.image_url.url}})}),!(!s&&u.length===0&&!o.tool_calls&&!o.content)&&(s&&a&&u.length===0&&o.tool_calls&&u.push({type:"text",text:""}),e.push({role:o.role==="assistant"?"assistant":"user",content:u}))}let n={anthropic_version:"vertex-2023-10-16",messages:e,max_tokens:t.max_tokens||1e3,stream:t.stream||!1,...t.temperature&&{temperature:t.temperature}};return t.tools&&t.tools.length>0&&(n.tools=t.tools.map(r=>({name:r.function.name,description:r.function.description,input_schema:r.function.parameters}))),t.tool_choice&&(t.tool_choice==="auto"||t.tool_choice==="none"?n.tool_choice=t.tool_choice:typeof t.tool_choice=="string"&&(n.tool_choice={type:"tool",name:t.tool_choice})),n}function B0(t){let e=t,r={messages:e.messages.map(o=>{let s=o.content.map(a=>a.type==="text"?{type:"text",text:a.text||""}:a.type==="image"&&a.source?{type:"image_url",image_url:{url:a.source.data},media_type:a.source.media_type}:{type:"text",text:""});return{role:o.role,content:s}}),model:t.model||"claude-sonnet-4@20250514",max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream};return e.tools&&e.tools.length>0&&(r.tools=e.tools.map(o=>({type:"function",function:{name:o.name,description:o.description,parameters:{type:"object",properties:o.input_schema.properties,required:o.input_schema.required,additionalProperties:o.input_schema.additionalProperties,$schema:o.input_schema.$schema}}}))),e.tool_choice&&(typeof e.tool_choice=="string"?r.tool_choice=e.tool_choice:e.tool_choice.type==="tool"&&(r.tool_choice=e.tool_choice.name)),r}async function N0(t,e,n){if(t.headers.get("Content-Type")?.includes("application/json")){let r=await t.json(),o;r.tool_use&&r.tool_use.length>0&&(o=r.tool_use.map(a=>({id:a.id,type:"function",function:{name:a.name,arguments:JSON.stringify(a.input)}})));let s={id:r.id,choices:[{finish_reason:r.stop_reason||null,index:0,message:{content:r.content[0]?.text||"",role:"assistant",...o&&{tool_calls:o}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:r.model,object:"chat.completion",usage:{completion_tokens:r.usage.output_tokens,prompt_tokens:r.usage.input_tokens,total_tokens:r.usage.input_tokens+r.usage.output_tokens}};return new Response(JSON.stringify(s),{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=(u,l)=>{if(u.startsWith("data: ")){let d=u.slice(6).trim();if(d){n?.debug({chunkStr:d},`${e} chunk:`);try{let f=JSON.parse(d);if(f.type==="content_block_delta"&&f.delta?.type==="text_delta"){let p={choices:[{delta:{role:"assistant",content:f.delta.text||""},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
293
+ `))}}}catch(m){console.error("Stream error:",m),l.error(m)}finally{try{d.releaseLock()}catch(m){console.error("Error releasing reader lock:",m)}l.close()}}});return new Response(u,{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.max_tokens=this.options?.max_tokens,this.temperature=this.options?.temperature,this.top_p=this.options?.top_p,this.top_k=this.options?.top_k,this.repetition_penalty=this.options?.repetition_penalty}static TransformerName="sampling";max_tokens;temperature;top_p;top_k;repetition_penalty;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),typeof this.temperature<"u"&&(e.temperature=this.temperature),typeof this.top_p<"u"&&(e.top_p=this.top_p),typeof this.top_k<"u"&&(e.top_k=this.top_k),typeof this.repetition_penalty<"u"&&(e.repetition_penalty=this.repetition_penalty),e}};var Ha=class{static TransformerName="maxcompletiontokens";async transformRequestIn(e){return e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),e}};function M0(t){let e=[];for(let r=0;r<t.messages.length;r++){let o=t.messages[r],s=r===t.messages.length-1,a=o.role==="assistant",u=[];typeof o.content=="string"?u.push({type:"text",text:o.content}):Array.isArray(o.content)&&o.content.forEach(l=>{l.type==="text"?u.push({type:"text",text:l.text||""}):l.type==="image_url"&&u.push({type:"image",source:{type:"base64",media_type:l.media_type||"image/jpeg",data:l.image_url.url}})}),!(!s&&u.length===0&&!o.tool_calls&&!o.content)&&(s&&a&&u.length===0&&o.tool_calls&&u.push({type:"text",text:""}),e.push({role:o.role==="assistant"?"assistant":"user",content:u}))}let n={anthropic_version:"vertex-2023-10-16",messages:e,max_tokens:t.max_tokens||1e3,stream:t.stream||!1,...t.temperature&&{temperature:t.temperature}};return t.tools&&t.tools.length>0&&(n.tools=t.tools.map(r=>({name:r.function.name,description:r.function.description,input_schema:r.function.parameters}))),t.tool_choice&&(t.tool_choice==="auto"||t.tool_choice==="none"?n.tool_choice=t.tool_choice:typeof t.tool_choice=="string"&&(n.tool_choice={type:"tool",name:t.tool_choice})),n}function L0(t){let e=t,r={messages:e.messages.map(o=>{let s=o.content.map(a=>a.type==="text"?{type:"text",text:a.text||""}:a.type==="image"&&a.source?{type:"image_url",image_url:{url:a.source.data},media_type:a.source.media_type}:{type:"text",text:""});return{role:o.role,content:s}}),model:t.model||"claude-sonnet-4@20250514",max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream};return e.tools&&e.tools.length>0&&(r.tools=e.tools.map(o=>({type:"function",function:{name:o.name,description:o.description,parameters:{type:"object",properties:o.input_schema.properties,required:o.input_schema.required,additionalProperties:o.input_schema.additionalProperties,$schema:o.input_schema.$schema}}}))),e.tool_choice&&(typeof e.tool_choice=="string"?r.tool_choice=e.tool_choice:e.tool_choice.type==="tool"&&(r.tool_choice=e.tool_choice.name)),r}async function j0(t,e,n){if(t.headers.get("Content-Type")?.includes("application/json")){let r=await t.json(),o;r.tool_use&&r.tool_use.length>0&&(o=r.tool_use.map(a=>({id:a.id,type:"function",function:{name:a.name,arguments:JSON.stringify(a.input)}})));let s={id:r.id,choices:[{finish_reason:r.stop_reason||null,index:0,message:{content:r.content[0]?.text||"",role:"assistant",...o&&{tool_calls:o}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:r.model,object:"chat.completion",usage:{completion_tokens:r.usage.output_tokens,prompt_tokens:r.usage.input_tokens,total_tokens:r.usage.input_tokens+r.usage.output_tokens}};return new Response(JSON.stringify(s),{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=(u,l)=>{if(u.startsWith("data: ")){let d=u.slice(6).trim();if(d){n?.debug({chunkStr:d},`${e} chunk:`);try{let f=JSON.parse(d);if(f.type==="content_block_delta"&&f.delta?.type==="text_delta"){let p={choices:[{delta:{role:"assistant",content:f.delta.text||""},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
294
294
 
295
295
  `))}else if(f.type==="content_block_delta"&&f.delta?.type==="input_json_delta"){let p={choices:[{delta:{tool_calls:[{index:f.index||0,function:{arguments:f.delta.partial_json||""}}]},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
296
296
 
@@ -303,18 +303,18 @@ ${n}
303
303
  `));else{let p={choices:[{delta:{role:"assistant",content:f.content?.[0]?.text||""},finish_reason:f.stop_reason?.toLowerCase()||null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
304
304
 
305
305
  `))}}catch(f){n?.error(`Error parsing ${e} stream chunk`,d,f.message)}}}},a=new ReadableStream({async start(u){let l=t.body.getReader(),d="";try{for(;;){let{done:f,value:p}=await l.read();if(f){d&&s(d,u);break}d+=r.decode(p,{stream:!0});let m=d.split(`
306
- `);d=m.pop()||"";for(let b of m)s(b,u)}}catch(f){u.error(f)}finally{u.close()}}});return new Response(a,{status:t.status,statusText:t.statusText,headers:t.headers})}return t}async function YT(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>Ln(xd(),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:
306
+ `);d=m.pop()||"";for(let b of m)s(b,u)}}catch(f){u.error(f)}finally{u.close()}}});return new Response(a,{status:t.status,statusText:t.statusText,headers:t.headers})}return t}async function sT(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>Ln(Pd(),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 za=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 YT();return{body:I0(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 B0(e)}async transformResponseOut(e){return N0(e,this.name,this.logger)}};var Ha=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 Wa=class{name="streamoptions";async transformRequestIn(e){return e.stream&&(e.stream_options={include_usage:!0}),e}};var Ga=class{name="OpenAI";endPoint="/v1/chat/completions"};var Ja=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 Va=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="",d=new ReadableStream({async start(f){let p=e.body.getReader(),m=(w,y,g)=>{let _=w.split(`
309
+ 3. Use Google Cloud environment with default service account`)}}var Wa=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 sT();return{body:M0(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 L0(e)}async transformResponseOut(e){return j0(e,this.name,this.logger)}};var Ga=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 Ja=class{name="streamoptions";async transformRequestIn(e){return e.stream&&(e.stream_options={include_usage:!0}),e}};var Va=class{name="OpenAI";endPoint="/v1/chat/completions"};var Ka=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 Ya=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="",d=new ReadableStream({async start(f){let p=e.body.getReader(),m=(w,y,g)=>{let _=w.split(`
310
310
  `);for(let A of _)A.trim()&&y.enqueue(g.encode(A+`
311
311
  `))},b=(w,y)=>{let{controller:g,encoder:_}=y;if(w.startsWith("data: ")&&w.trim()!=="data: [DONE]"){let A=w.slice(6);try{let C=JSON.parse(A);if(C.usage&&(this.logger?.debug({usage:C.usage,hasToolCall:u},"usage"),C.choices[0].finish_reason=u?"tool_calls":"stop"),C.choices?.[0]?.finish_reason==="error"&&g.enqueue(_.encode(`data: ${JSON.stringify({error:C.choices?.[0].error})}
312
312
 
313
- `)),C.choices?.[0]?.delta?.content&&!y.hasTextContent()&&y.setHasTextContent(!0),C.choices?.[0]?.delta?.reasoning){y.appendReasoningContent(C.choices[0].delta.reasoning);let v={...C,choices:[{...C.choices?.[0],delta:{...C.choices[0].delta,thinking:{content:C.choices[0].delta.reasoning}}}]};v.choices?.[0]?.delta&&delete v.choices[0].delta.reasoning;let R=`data: ${JSON.stringify(v)}
313
+ `)),C.choices?.[0]?.delta?.content&&!y.hasTextContent()&&y.setHasTextContent(!0),C.choices?.[0]?.delta?.reasoning){y.appendReasoningContent(C.choices[0].delta.reasoning);let T={...C,choices:[{...C.choices?.[0],delta:{...C.choices[0].delta,thinking:{content:C.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(C.choices?.[0]?.delta?.content&&y.reasoningContent()&&!y.isReasoningComplete()){y.setReasoningComplete(!0);let R={...C,choices:[{...C.choices?.[0],delta:{...C.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($))}C.choices?.[0]?.delta?.reasoning&&delete C.choices[0].delta.reasoning,C.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(C.choices?.[0]?.delta?.tool_calls[0].id,10))&&C.choices?.[0]?.delta?.tool_calls.forEach(v=>{v.id=`call_${Ut()}`}),C.choices?.[0]?.delta?.tool_calls?.length&&!u&&(u=!0),C.choices?.[0]?.delta?.tool_calls?.length&&y.hasTextContent()&&(typeof C.choices[0].index=="number"?C.choices[0].index+=1:C.choices[0].index=1);let S=`data: ${JSON.stringify(C)}
317
+ `;g.enqueue(_.encode($))}C.choices?.[0]?.delta?.reasoning&&delete C.choices[0].delta.reasoning,C.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(C.choices?.[0]?.delta?.tool_calls[0].id,10))&&C.choices?.[0]?.delta?.tool_calls.forEach(T=>{T.id=`call_${Ut()}`}),C.choices?.[0]?.delta?.tool_calls?.length&&!u&&(u=!0),C.choices?.[0]?.delta?.tool_calls?.length&&y.hasTextContent()&&(typeof C.choices[0].index=="number"?C.choices[0].index+=1:C.choices[0].index=1);let S=`data: ${JSON.stringify(C)}
318
318
 
319
319
  `;g.enqueue(_.encode(S))}catch{g.enqueue(_.encode(w+`
320
320
  `))}}else g.enqueue(_.encode(w+`
@@ -322,22 +322,22 @@ ${n}
322
322
  `);l=A.pop()||"";for(let C of A)if(C.trim())try{b(C,{controller:f,encoder:r,hasTextContent:()=>o,setHasTextContent:S=>o=S,reasoningContent:()=>s,appendReasoningContent:S=>s+=S,isReasoningComplete:()=>a,setReasoningComplete:S=>a=S})}catch(S){console.error("Error processing line:",C,S),f.enqueue(r.encode(C+`
323
323
  `))}continue}let _=l.split(`
324
324
  `);l=_.pop()||"";for(let A of _)if(A.trim())try{b(A,{controller:f,encoder:r,hasTextContent:()=>o,setHasTextContent:C=>o=C,reasoningContent:()=>s,appendReasoningContent:C=>s+=C,isReasoningComplete:()=>a,setReasoningComplete:C=>a=C})}catch(C){console.error("Error processing line:",A,C),f.enqueue(r.encode(A+`
325
- `))}}}catch(w){console.error("Stream error:",w),f.error(w)}finally{try{p.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}f.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 qd=`Always think before answering. Even if the problem seems simple, always write down your reasoning process explicitly.
325
+ `))}}}catch(w){console.error("Stream error:",w),f.error(w)}finally{try{p.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}f.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 Hd=`Always think before answering. Even if the problem seems simple, always write down your reasoning process explicitly.
326
326
 
327
327
  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.`,XT=10,Ka=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<XT)&&(n++,o.content=`<reasoning_content>${o.thinking.content}</reasoning_content>
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:qd}):r.content=[{type:"text",text:qd},{type:"text",text:r.content||""}]),r.role==="tool"&&e.messages.push({role:"user",content:[{type:"text",text:qd}]}),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 d=e.body.getReader(),f="",p="SEARCHING",m="",b="",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)}
331
+ Your final answer must follow after the closing tag above.`,iT=10,Qa=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<iT)&&(n++,o.content=`<reasoning_content>${o.thinking.content}</reasoning_content>
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:Hd}):r.content=[{type:"text",text:Hd},{type:"text",text:r.content||""}]),r.role==="tool"&&e.messages.push({role:"user",content:[{type:"text",text:Hd}]}),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 d=e.body.getReader(),f="",p="SEARCHING",m="",b="",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(p==="SEARCHING"){let A=_.indexOf(n);if(A!==-1)_=_.substring(A+n.length),p="REASONING";else{for(let C=n.length-1;C>0;C--)if(_.endsWith(n.substring(0,C))){m=_.substring(_.length-C);break}_=""}}else if(p==="REASONING"){let A=_.indexOf(r);if(A!==-1){let C=_.substring(0,A);if(C.length>0){let R={...y.choices[0].delta,thinking:{content:C}};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 v={...y,choices:[{...y.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(v)}
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(A+r.length),p="FINAL"}else{let C=_;for(let S=r.length-1;S>0;S--)if(_.endsWith(r.substring(0,S))){m=_.substring(_.length-S),C=_.substring(0,_.length-S);break}if(C.length>0){let S={...y.choices[0].delta,thinking:{content:C}};delete S.content;let v={...y,choices:[{...y.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(v)}
338
+ `)),o++,_=_.substring(A+r.length),p="FINAL"}else{let C=_;for(let S=r.length-1;S>0;S--)if(_.endsWith(r.substring(0,S))){m=_.substring(_.length-S),C=_.substring(0,_.length-S);break}if(C.length>0){let S={...y.choices[0].delta,thinking:{content:C}};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(p==="FINAL"){if(_.length>0)if(/^\s*$/.test(_))b+=_;else{let C=b+_,S={...y.choices[0].delta,content:C};S.thinking&&delete S.thinking;let v={...y,choices:[{...y.choices[0],delta:S}]};l.enqueue(a.encode(`data: ${JSON.stringify(v)}
340
+ `))}_=""}}else if(p==="FINAL"){if(_.length>0)if(/^\s*$/.test(_))b+=_;else{let C=b+_,S={...y.choices[0].delta,content:C};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
  `)),b=""}o++,_=""}};try{for(;;){let{done:y,value:g}=await d.read();if(y)break;let _=s.decode(g,{stream:!0});f+=_;let A=f.split(`
343
343
  `);f=A.pop()||"";for(let C of A)if(C.trim()){if(C.trim()==="data: [DONE]"){l.enqueue(a.encode(C+`
@@ -346,7 +346,7 @@ ${o.content}`),delete o.thinking)});let r=e.messages[e.messages.length-1];return
346
346
  `))}else l.enqueue(a.encode(C+`
347
347
  `))}}}catch(y){console.error("Stream error:",y),l.error(y)}finally{try{d.releaseLock()}catch(y){console.error("Error releasing reader lock:",y)}if(p==="REASONING"){let g={choices:[{delta:{thinking:{signature:"ccr_think_signature"}}}]};l.enqueue(a.encode(`data: ${JSON.stringify(g)}
348
348
 
349
- `))}l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/plain","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Qa=class{name="kimi";async transformRequestIn(e){return(e.thinking||e.reasoning?.enabled||e.messages.some(r=>r.thinking?.content))&&e.messages.forEach(r=>{if(r.role==="assistant"){let o=r.thinking?.content,s=r.thinking?.signature;o&&typeof o=="string"&&o.trim()&&(r.reasoning_content=o,s&&(r.reasoning_content_signature=s)),r.tool_calls&&r.tool_calls.length>0&&(r.reasoning_content||(r.reasoning_content="")),r.thinking&&delete r.thinking}}),e}async transformResponseOut(e){let n=e.headers.get("Content-Type");if(n?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,o=new TextEncoder,s="",a="",u=new ReadableStream({async start(l){let d=e.body.getReader();try{for(;;){let{done:f,value:p}=await d.read();if(f){a.trim()&&l.enqueue(o.encode(a+`
349
+ `))}l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/plain","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Xa=class{name="kimi";async transformRequestIn(e){return(e.thinking||e.reasoning?.enabled||e.messages.some(r=>r.thinking?.content))&&e.messages.forEach(r=>{if(r.role==="assistant"){let o=r.thinking?.content,s=r.thinking?.signature;o&&typeof o=="string"&&o.trim()&&(r.reasoning_content=o,s&&(r.reasoning_content_signature=s)),r.tool_calls&&r.tool_calls.length>0&&(r.reasoning_content||(r.reasoning_content="")),r.thinking&&delete r.thinking}}),e}async transformResponseOut(e){let n=e.headers.get("Content-Type");if(n?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,o=new TextEncoder,s="",a="",u=new ReadableStream({async start(l){let d=e.body.getReader();try{for(;;){let{done:f,value:p}=await d.read();if(f){a.trim()&&l.enqueue(o.encode(a+`
350
350
  `));break}let m=r.decode(p,{stream:!0});a+=m;let b=a.split(`
351
351
  `);a=b.pop()||"";for(let w of b)if(w.trim())if(w.startsWith("data: ")&&w.trim()!=="data: [DONE]")try{let y=JSON.parse(w.slice(6));if(y.choices?.[0]?.delta?.reasoning_content){s+=y.choices[0].delta.reasoning_content;let g={...y,choices:[{...y.choices[0],delta:{thinking:{content:y.choices[0].delta.reasoning_content}}}]};delete g.choices[0].delta.reasoning_content,l.enqueue(o.encode(`data: ${JSON.stringify(g)}
352
352
 
@@ -356,18 +356,18 @@ ${o.content}`),delete o.thinking)});let r=e.messages[e.messages.length-1];return
356
356
 
357
357
  `))}catch{l.enqueue(o.encode(w+`
358
358
  `))}else l.enqueue(o.encode(w+`
359
- `))}}catch(f){l.error(f)}finally{try{d.releaseLock()}catch{}l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":n||"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}if(n?.includes("application/json")){let r=await e.json();return r.choices?.[0]?.message?.reasoning_content&&(r.choices[0].message.thinking={content:r.choices[0].message.reasoning_content},delete r.choices[0].message.reasoning_content),new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}return e}};var M0={AnthropicTransformer:ui,GeminiTransformer:fi,VertexGeminiTransformer:Oa,VertexClaudeTransformer:za,DeepseekTransformer:Pa,TooluseTransformer:Fa,OpenrouterTransformer:Ia,OpenAITransformer:Ga,MaxTokenTransformer:Ba,GroqTransformer:Na,CleancacheTransformer:Ma,EnhanceToolTransformer:ja,ReasoningTransformer:Ua,SamplingTransformer:$a,MaxCompletionTokens:qa,CerebrasTransformer:Ha,StreamOptionsTransformer:Wa,CustomParamsTransformer:Ja,VercelTransformer:Va,OpenAIResponsesTransformer:Mr,ForceReasoningTransformer:Ka,KimiTransformer:Qa};var _o=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})
359
+ `))}}catch(f){l.error(f)}finally{try{d.releaseLock()}catch{}l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":n||"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}if(n?.includes("application/json")){let r=await e.json();return r.choices?.[0]?.message?.reasoning_content&&(r.choices[0].message.thinking={content:r.choices[0].message.reasoning_content},delete r.choices[0].message.reasoning_content),new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}return e}};var U0={AnthropicTransformer:li,GeminiTransformer:pi,VertexGeminiTransformer:Fa,VertexClaudeTransformer:Wa,DeepseekTransformer:Ia,TooluseTransformer:Na,OpenrouterTransformer:Ba,OpenAITransformer:Va,MaxTokenTransformer:Ma,GroqTransformer:La,CleancacheTransformer:ja,EnhanceToolTransformer:$a,ReasoningTransformer:qa,SamplingTransformer:za,MaxCompletionTokens:Ha,CerebrasTransformer:Ga,StreamOptionsTransformer:Ja,CustomParamsTransformer:Ka,VercelTransformer:Ya,OpenAIResponsesTransformer:Mr,ForceReasoningTransformer:Qa,KimiTransformer:Xa};var bo=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})
360
360
  error: ${n.message}
361
361
  stack: ${n.stack}`),!1}}async initialize(){try{await this.registerDefaultTransformersInternal(),await this.loadFromConfig()}catch(e){this.logger.error(`TransformerService init error: ${e.message}
362
- Stack: ${e.stack}`)}}async registerDefaultTransformersInternal(){try{Object.values(M0).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 ZT}from"tiktoken";var hs=class{type="tiktoken";name;encoding;constructor(e="cl100k_base"){this.name=`tiktoken-${e}`;try{this.encoding=ZT(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 d=typeof l.content=="string"?l.content:JSON.stringify(l.content);r+=n.encode(d).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 eu}from"path";import{homedir as cR}from"os";import{existsSync as Gd,mkdirSync as lR}from"fs";import{promises as tu}from"fs";var ev=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}},tv=ev,nv=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}},rv=nv,H0=(()=>{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]]))})(),ov=t=>Object.fromEntries(Object.entries(t).map(([e,n])=>[n,e])),sv=ov(H0),L0=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",iv=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|[${L0}])]+`,` ?[^\\s${L0}]+`]]),ps="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",iI=new RegExp(`^[${ps}]+$`,"gu"),Hd=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"),Ya=(t,e=!0)=>{if(t.Regex!==void 0){let n=t.Regex.replace(/\\([#&~])/g,"$1");for(let[r,o]of iv)n=n.replaceAll(r,o);return new RegExp(n,"gu")}else if(t.String!==void 0){let n=av(t.String);return new RegExp(e?n:`(${n})`,"gu")}else return console.warn("Unknown pattern type:",t),null},av=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),uv=(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},cv=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,lv=t=>Number.isInteger(t)||typeof t=="bigint",dv=t=>{let e=0;for(let n of t)++e;return e},fv=t=>W0(t.toLowerCase()),It=(...t)=>Array.prototype.concat.apply([],t),Wd=t=>new Map(Object.entries(t)),hv=(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},W0=t=>t.replace(new RegExp("\\p{M}","gu"),""),j0=(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},pv=t=>t.match(/\S+/g)||[],mv=class{constructor(){let t=function(...e){return t._call(...e)};return Object.setPrototypeOf(t,new.target.prototype)}},ms=mv,gv=class extends ms{constructor(t){super(),this.config=t}_call(t){return this.normalize(t)}},Rn=gv,yv=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);cv(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`
363
- `: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}},_v=yv,bv=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}},Cv=bv,wv=class extends Rn{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>G0(e))}normalize(t){return this.normalizers.reduce((e,n)=>n?n.normalize(e):e,t)}},Ev=wv,kv=class extends Rn{normalize(t){let e=Ya(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},Av=kv,Sv=class extends Rn{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},Xa=Sv,Tv=class extends Xa{constructor(){super(...arguments),this.form="NFC"}},vv=Tv,Dv=class extends Xa{constructor(){super(...arguments),this.form="NFD"}},Rv=Dv,xv=class extends Xa{constructor(){super(...arguments),this.form="NFKC"}},Ov=xv,Pv=class extends Xa{constructor(){super(...arguments),this.form="NFKD"}},Fv=Pv,Iv=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}},Bv=Iv,Nv=class extends Rn{normalize(t){return W0(t)}},Mv=Nv,Lv=class extends Rn{normalize(t){return t.toLowerCase()}},jv=Lv,Uv=class extends Rn{normalize(t){return t=this.config.prepend+t,t}},$v=Uv;function qv(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new _v(t);case"Precompiled":return new Cv(t);case"Sequence":return new Ev(t);case"Replace":return new Av(t);case"NFC":return new vv(t);case"NFD":return new Rv(t);case"NFKC":return new Ov(t);case"NFKD":return new Fv(t);case"Strip":return new Bv(t);case"StripAccents":return new Mv(t);case"Lowercase":return new jv(t);case"Prepend":return new $v(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var G0=qv,zv=class extends ms{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=zv,Hv=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=H0,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(""))}},Wv=Hv,Gv=class extends cn{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},Jv=Gv,Vv=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]}},Kv=Vv,Qv=class extends cn{constructor(t){super(),this.config=t,this.pattern=Ya(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):hv(t,this.pattern)}},Yv=Qv,Xv=class extends cn{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${ps}]+|[${ps}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},Zv=Xv,eD=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)||[]}},tD=eD,nD=class extends cn{constructor(){super(),this.pattern=new RegExp(`[^\\s${ps}]+|[${ps}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},rD=nD,oD=class extends cn{constructor(t){super(),this.config=t,this.pattern=Ya(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},sD=oD,iD=class extends cn{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>J0(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((n,r)=>r?r.pre_tokenize(n,e):n,[t])}},aD=iD,uD=class extends cn{pre_tokenize_text(t){return pv(t)}},cD=uD;function lD(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new rD;case"Sequence":return new aD(t);case"Whitespace":return new Jv;case"WhitespaceSplit":return new cD;case"Metaspace":return new Kv(t);case"ByteLevel":return new Wv(t);case"Split":return new Yv(t);case"Punctuation":return new Zv(t);case"Digits":return new tD(t);case"Replace":return new sD(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var J0=lD,dD=class extends ms{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=uv(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)}},Za=dD,fD=class extends Za{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=Wd(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 d=r.slice(s,u).join("");if(s>0&&(d=this.config.continuing_subword_prefix+d),this.tokens_to_ids.has(d)){l=d;break}--u}if(l===null){o=!0;break}a.push(l),s=u}o?e.push(this.unk_token):e.push(...a)}return e}},U0=fD,$0=class V0{constructor(e,n){this.is_leaf=e,this.children=n}static default(){return new V0(!1,new Map)}},hD=class{constructor(){this.root=$0.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=$0.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)}}},pD=hD,zd=class K0{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 K0(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},mD=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 zd(this.bos_token_id??0,0,0,0,0),o=new zd(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 zd(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 d=l.backtrace_score+s.score;(u===null||d>a)&&(u=l.clone(),a=d)}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)}},gD=mD;function yD(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 _D=class extends Za{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=yD(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new pD,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 d=this.tokens_to_ids.get(l),f=this.scores[d],p=dv(l);t.insert(r,p,f,d),!o&&p===n&&(o=!0)}o||t.insert(r,n,this.unk_score,this.unk_token_id),r+=n}}tokenize(t){let e=new gD(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}},q0=_D,bD=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}},CD=bD,wD=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()}},ED=wD,kD=class extends Za{constructor(t){super(t),this.tokens_to_ids=Wd(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 ED(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 CD((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 d={...u.prev};u.prev.deleted=!0,u.prev=d,d.prev?d.prev.next=d:s=d}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}},z0=kD,AD=class extends Za{constructor(t,e){super(t);let n=t.vocab;this.tokens_to_ids=Wd(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}},SD=AD;function TD(t,e){switch(t.type){case"WordPiece":return new U0(t);case"Unigram":return new q0(t,e.eos_token);case"BPE":return new z0(t);default:if(t.vocab)return Array.isArray(t.vocab)?new q0(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new z0(t):new U0(t):new SD(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 vD=TD,DD=class extends ms{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},gs=DD,RD=class extends gs{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=It(o,t),s=It(s,new Array(t.length).fill(a.Sequence.type_id))):a.Sequence.id==="B"&&(o=It(o,e),s=It(s,new Array(e.length).fill(a.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},xD=RD,OD=class extends gs{post_process(t,e=null){return{tokens:e?It(t,e):t}}},PD=OD,FD=class extends gs{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,n=!0){n&&(t=It([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=It(t,o,e,s),r=It(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},ID=FD,BD=class extends gs{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,n=!0){n&&(t=It([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=It(t,o,e,s),r=It(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},ND=BD,MD=class extends gs{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>Q0(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}},LD=MD;function jD(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new xD(t);case"ByteLevel":return new PD(t);case"BertProcessing":return new ID(t);case"RobertaProcessing":return new ND(t);case"Sequence":return new LD(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var Q0=jD,UD=class extends ms{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=UD,$D=class extends ln{constructor(t){super(t),this.byte_decoder=sv,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}},qD=$D,zD=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=Hd(e)),e})}},HD=zD,WD=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}},GD=WD,JD=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?"":" "))}},VD=JD,KD=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=Hd(n).replaceAll(this.word_delimiter_token," ").trim()),n}decode_chain(t){return[this.convert_tokens_to_string(t)]}},QD=KD,YD=class extends ln{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>Y0(e))}decode_chain(t){return this.decoders.reduce((e,n)=>n.decode_chain(e),t)}},XD=YD,ZD=class extends ln{decode_chain(t){let e=Ya(this.config.pattern),n=this.config.content??"";return e===null?t:t.map(r=>r.replaceAll(e,n))}},eR=ZD,tR=class extends ln{decode_chain(t){return[t.join("")]}},nR=tR,rR=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)})}},oR=rR,sR=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}},iR=sR;function aR(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new qD(t);case"WordPiece":return new HD(t);case"Metaspace":return new GD(t);case"BPEDecoder":return new VD(t);case"CTC":return new QD(t);case"Sequence":return new XD(t);case"Replace":return new eR(t);case"Fuse":return new nR(t);case"Strip":return new oR(t);case"ByteFallback":return new iR(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var Y0=aR,uR=class{constructor(t,e){let n=j0(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(n)throw new Error(n);let r=j0(e,"Config");if(r)throw new Error(r);this.tokenizer=t,this.config=e,this.normalizer=G0(this.tokenizer.normalizer),this.pre_tokenizer=J0(this.tokenizer.pre_tokenizer),this.model=vD(this.tokenizer.model,this.config),this.post_processor=Q0(this.tokenizer.post_processor),this.decoder=Y0(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[],this.tokenizer.added_tokens.forEach(o=>{let s=new rv(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 tv(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||!lv(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=Hd(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=fv(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:It(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}},X0=uR;var nu=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||eu(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=eu(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:eu(e,"tokenizer.json"),tokenizerConfig:eu(e,"tokenizer_config.json")}}ensureDir(e){Gd(e)||lR(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!Gd(e.tokenizerJson)||!Gd(e.tokenizerConfig))return null;let[n,r]=await Promise.all([tu.readFile(e.tokenizerJson,"utf-8"),tu.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([tu.writeFile(e.tokenizerJson,JSON.stringify(u,null,2)),tu.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 X0(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 ru=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 bo=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 hs("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 hs(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),r=new nu(e.model,this.logger,{timeout:this.options.timeout});break;case"api":r=new ru(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}},Jd=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}}},Vd=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),d=_e(s.usage),f=_e(s.usage_daily);return u!==void 0&&(a.totalBalance=u),l!==void 0&&(a.remainingBalance=l),d!==void 0&&(a.usedBalance=d),f!==void 0&&(a.usedDailyBalance=f),this.hasQuotaData(a)?a:null}},Kd=class extends dn{async queryQuota(e,n,r){let o=bR(e.baseUrl),a=(await this.fetchJson(o,e,n,r))?.data;if(!a||typeof a!="object")return null;let u={},l=_e(a.totalBalance),d=_e(a.balance);return l!==void 0&&(u.totalBalance=l),d!==void 0&&(u.remainingBalance=d),l!==void 0&&d!==void 0&&(u.usedBalance=Math.max(0,l-d)),this.hasQuotaData(u)?u:null}},Qd=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:[],d=null,f=null,p=null;for(let b of l)b.type==="TOKENS_LIMIT"?b.unit===3?d=b:b.unit===6?f=b:d||(d=b):b.type==="TIME_LIMIT"&&(p=b);let m={};if(d){let b=_e(d.currentValue),w=_e(d.usage),y=_e(d.remaining),g=_e(d.percentage);b!==void 0?m.usedDailyBalance=b:g!==void 0&&(m.usedDailyBalance=g,m.limitDaily=100),w!==void 0?m.limitDaily=w:b!==void 0&&y!==void 0&&(m.limitDaily=b+y),d.nextResetTime&&(m.resetTime=new Date(d.nextResetTime).toISOString())}if(f){let b=_e(f.currentValue),w=_e(f.usage),y=_e(f.remaining),g=_e(f.percentage);b!==void 0?m.usedBalance=b:g!==void 0&&(m.usedBalance=g,m.totalBalance=100),w!==void 0?m.totalBalance=w:b!==void 0&&y!==void 0&&(m.totalBalance=b+y),f.nextResetTime&&!m.resetTime&&(m.resetTime=new Date(f.nextResetTime).toISOString())}if(p){if(m.usedDailyBalance===void 0){let b=_e(p.currentValue);b!==void 0&&(m.usedDailyBalance=b)}if(m.limitDaily===void 0){let b=_e(p.usage),w=_e(p.currentValue),y=_e(p.remaining);b!==void 0?m.limitDaily=b:w!==void 0&&y!==void 0&&(m.limitDaily=w+y)}p.nextResetTime&&!m.resetTime&&(m.resetTime=new Date(p.nextResetTime).toISOString())}return this.hasQuotaData(m)?m:null}catch{return null}}},Yd=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 d=(await u.json())?.data?.DataV2?.data?.data?.codingPlanInstanceInfos;if(!Array.isArray(d)||d.length===0)return null;let f=d[0]?.codingPlanQuotaInfo;if(!f)return null;let p={},m=_e(f.per5HourUsedQuota),b=_e(f.per5HourTotalQuota);m!==void 0&&(p.usedDailyBalance=m),b!==void 0&&(p.limitDaily=b);let w=_e(f.perWeekUsedQuota),y=_e(f.perWeekTotalQuota);return w!==void 0&&(p.usedBalance=w),y!==void 0&&(p.totalBalance=y),this.hasQuotaData(p)?p:null}catch{return null}}},Xd=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:(Z0(e.quotaToken,"atp-auth-token")||Z0(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=CR(u,e.apiKey),d=l?.codingPlanUsageDTO||l?.usage||l;if(!d||typeof d!="object")return null;let f={},p=_e(d.rp5hUsage),m=_e(d.rp5hLimit);p!==void 0&&(f.usedDailyBalance=p),m!==void 0&&(f.limitDaily=m);let b=_e(d.rpwUsage),w=_e(d.rpwLimit);return b!==void 0&&(f.usedBalance=b),w!==void 0&&(f.totalBalance=w),f.remainingBalance===void 0&&w!==void 0&&b!==void 0&&(f.remainingBalance=Math.max(0,w-b)),this.hasQuotaData(f)?f:null}catch{return null}}},Zd=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={},d=Array.isArray(u?.limits)?u.limits:[];if(d.length>0&&d[0]?.detail){let p=d[0].detail,m=_e(p.limit),b=_e(p.remaining),w=p.resetTime;m!==void 0&&b!==void 0&&(l.usedDailyBalance=Math.max(0,m-b),l.limitDaily=m),w&&(l.resetTime=new Date(w).toISOString())}let f=u?.usage;if(f){let p=_e(f.limit),m=_e(f.remaining),b=_e(f.used),w=f.resetTime;p!==void 0&&(l.totalBalance=p,b!==void 0?l.usedBalance=b:m!==void 0&&(l.usedBalance=Math.max(0,p-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}}},ef=class extends dn{async queryQuota(e,n,r){let o=e.quotaToken||e.apiKey;if(!o)return null;let s=rf(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 d=Array.isArray(l?.model_remains)?l.model_remains:[];if(d.length===0)return null;let f=d[0],p={},m=_e(f.current_interval_total_count),b=_e(f.current_interval_usage_count),w=_e(f.current_interval_remaining_percent),y=_e(f.end_time);m!==void 0&&b!==void 0&&m>0?(p.usedDailyBalance=Math.max(0,m-b),p.limitDaily=m):w!==void 0&&(p.limitDaily=100,p.usedDailyBalance=Math.max(0,100-w)),y&&(p.resetTime=new Date(y).toISOString());let g=_e(f.current_weekly_total_count),_=_e(f.current_weekly_usage_count),A=_e(f.current_weekly_remaining_percent),C=_e(f.weekly_end_time);return g!==void 0&&_!==void 0&&g>0?(p.usedBalance=Math.max(0,g-_),p.remainingBalance=_,p.totalBalance=g):A!==void 0&&(p.totalBalance=100,p.usedBalance=Math.max(0,100-A),p.remainingBalance=A),C&&!p.resetTime&&(p.resetTime=new Date(C).toISOString()),this.hasQuotaData(p)?p:null}catch{return null}}},dR=new Jd,fR=new Vd,hR=new Kd,pR=new Qd,mR=new Yd,gR=new Xd,yR=new Zd,_R=new ef;function nf(t){let e=rf(t);return e?e==="kimi.com"||e.endsWith(".kimi.com")||e==="moonshot.cn"||e.endsWith(".moonshot.cn")?yR:e==="minimaxi.com"||e.endsWith(".minimaxi.com")||e==="minimax.io"||e.endsWith(".minimax.io")?_R:e==="deepseek.com"||e.endsWith(".deepseek.com")?dR:e==="openrouter.ai"||e.endsWith(".openrouter.ai")?fR:e==="siliconflow.com"||e.endsWith(".siliconflow.com")||e==="siliconflow.cn"||e.endsWith(".siliconflow.cn")?hR:e==="bigmodel.cn"||e.endsWith(".bigmodel.cn")?pR:e==="dashscope.aliyuncs.com"||e.endsWith(".dashscope.aliyuncs.com")?mR:e==="xf-yun.com"||e.endsWith(".xf-yun.com")||e==="xfyun.cn"||e.endsWith(".xfyun.cn")||e==="xfyun.com"||e.endsWith(".xfyun.com")?gR:null:null}function bR(t){let e=rf(t);return e?.endsWith(".siliconflow.cn")||e==="siliconflow.cn"?"https://api.siliconflow.cn/v1/user/info":"https://api.siliconflow.com/v1/user/info"}function CR(t,e){let n=tf(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 tf(t){return!t||typeof t!="object"?[]:!Array.isArray(t)&&t.codingPlanUsageDTO?[t]:Array.isArray(t)?t.flatMap(e=>tf(e)):Object.values(t).flatMap(e=>tf(e))}function Z0(t,e){let n=t.match(new RegExp(`(?:^|;\\s*)${e}=([^;]+)`));return n?decodeURIComponent(n[1]):void 0}function rf(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 wR={enabled:!0,quotaProbeIntervalMinutes:10,probeTimeoutMs:15e3,initialDelayMs:5e3,excludeProviders:[]};function ER(t){return t===!0||t==="true"||t===1||t==="1"}function kR(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 AR(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 SR(t){try{let e=new URL(t).hostname.toLowerCase();return e.includes("moonshot")||e.includes("kimi")}catch{return!1}}async function of(t,e,n){let r=AR(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&&Fo(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 TR(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.includes("anthropic")||o.includes("claude"),a=s?t.baseUrl.includes("/messages")?t.baseUrl:`${t.baseUrl.replace(/\/$/,"")}/v1/messages`:t.baseUrl.includes("/chat/completions")?t.baseUrl:`${t.baseUrl.replace(/\/$/,"")}/chat/completions`;try{let u={"Content-Type":"application/json"};s?(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:"ping"}],max_tokens:1}),signal:AbortSignal.timeout(e)};if(n)try{let{ProxyAgent:p}=await import("undici");l.dispatcher=new p(new URL(n).toString())}catch{}r?.info(`Sending scheduled wake-up call to provider ${t.name} using model ${o}...`);let d=await fetch(a,l);if(d.ok)return{success:!0};let f=await d.text().catch(()=>"");return{success:!1,error:`HTTP ${d.status}: ${f.slice(0,200)||"Unknown error"}`}}catch(u){return{success:!1,error:u?.message||u?.toString()||"Unknown wake-up error"}}}async function vR(t,e,n,r,o){let s=t.baseUrl.includes("anthropic")||e.includes("claude"),a=s?t.baseUrl.includes("/messages")?t.baseUrl:`${t.baseUrl.replace(/\/$/,"")}/v1/messages`:t.baseUrl.includes("/chat/completions")?t.baseUrl:`${t.baseUrl.replace(/\/$/,"")}/chat/completions`;try{let u={"Content-Type":"application/json"};s?(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:"ping"}],max_tokens:1}),signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:p}=await import("undici");l.dispatcher=new p(new URL(r).toString())}catch{}o?.debug?.(`Sending independent ping to rate-limited model ${t.name} (${e})...`);let d=await fetch(a,l);if(d.ok)return{success:!0};let f=await d.text().catch(()=>"");return{success:!1,error:`HTTP ${d.status}: ${f.slice(0,200)||"Unknown error"}`}}catch(u){return{success:!1,error:u?.message||u?.toString()||"Unknown ping error"}}}var ou=class{config;quotaProbeTimer;healthProbeTimer;wakeupTimer;rateLimitProbeTimer;lastWakeupDate=new Map;getProviders;getHttpsProxy;logger;getConfig;running=!1;constructor(e,n,r,o,s){this.config={...wR,...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=Qe();if(e.length===0)return;let o=[];for(let a of e){let u=nf(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(d=>{if(d){oc(a.name,d),this.logger?.debug?.(`Stored quota probe result for ${a.name}`);let f=d.limitDaily!==void 0&&d.usedDailyBalance!==void 0&&d.usedDailyBalance>=d.limitDaily,p=d.totalBalance!==void 0&&d.usedBalance!==void 0&&d.usedBalance>=d.totalBalance;if(f||p){let m=f?`Quota exhausted: 5h limit reached (${d.usedDailyBalance}/${d.limitDaily})`:`Quota exhausted: 7d balance depleted (${d.usedBalance}/${d.totalBalance})`;for(let b of l){if(r.getState(a.name,b)?.rateLimitUntil){this.logger?.debug?.(`Skip forceOpen for ${a.name} (${b}): already rate-limited with active cooldown`);continue}r.forceOpen(a.name,b,m)}this.logger?.warn?.(`${m} for ${a.name}, marked as unhealthy`)}else for(let m of l){let b=r.getState(a.name,m);b&&b.status==="open"&&b.lastError?.includes("Quota exhausted")&&(r.recover(a.name,m),this.logger?.info?.(`Quota recovered for ${a.name} (${m}), marked as healthy`))}}})}),SR(a.baseUrl)&&o.push({provider:a.name,models:l,type:"rate-limit-headers",promise:of(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=Qe(),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=>of(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 d=u.value;if(d.success){let f=0;for(let p of l){let m=e.getState(a.name,p);if(m&&m.status==="open"){let b=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(b){this.logger?.debug?.(`Skipping health probe recovery for ${a.name} (${p}) because quota is exhausted`);continue}if(w||m.rateLimitUntil){this.logger?.debug?.(`Skipping health probe recovery for rate-limited ${a.name} (${p})`);continue}}e.recordSuccess(a.name,p),f++}f>0&&this.logger?.info?.(`Health probe succeeded for ${a.name}`)}else{for(let f of l)e.recordFailure(a.name,f,d.error);this.logger?.warn?.(`Health probe failed for ${a.name}: ${d.error}`)}}else{for(let d of l)e.recordFailure(a.name,d,u.reason?.message||"Probe error");this.logger?.warn?.(`Health probe error for ${a.name}: ${u.reason}`)}}}async runRateLimitProbe(){let e=Qe(),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(","),d=l.join(",");if(!u||!d)continue;let f=e.getState(u,d);if(!f||!f.rateLimitUntil)continue;if(Date.now()>=f.rateLimitUntil){e.recover(u,d),this.logger?.info?.(`Rate-limit cooldown expired, auto-recovered ${a}`);continue}let p=r.find(m=>m?.name===u&&m.enabled!==!1);if(!p){this.logger?.warn?.(`Provider ${u} not found or disabled for rate-limit probe`);continue}try{let m=await vR(p,d,s,o,this.logger);if(m.success)this.logger?.info?.(`Rate-limit probe succeeded for ${a}, recovering model`),e.recover(u,d);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 b=Date.now();f.rateLimitUntil&&f.rateLimitUntil>b?f.rateLimitUntil+=120*1e3:f.rateLimitUntil=b+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=kR(n),a=this.getHttpsProxy?.(),u=this.getConfig&&this.getConfig("WAKEUP_TIME")||"06:00";for(let l of e){let d=l.wakeupTime||u,[f,p]=d.split(":"),m=parseInt(f,10),b=parseInt(p,10);if(isNaN(m)||isNaN(b))continue;let w=r>m||r===m&&o>=b,y=(m*60+b)*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 ${d}`),TR(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?ER(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 of(r,this.config.probeTimeoutMs,o),a=Array.isArray(r.models)?r.models:[];if(s.success)for(let u of a)Qe().recordSuccess(r.name,u);else for(let u of a)Qe().recordFailure(r.name,u,s.error);return s.success}},Xn=null;function e_(t,e,n,r,o){return Xn||(Xn=new ou(t,e,n,r,o)),Xn}function sf(t,e,n,r,o){let s=e_(t,e,n,r,o);return s.start(),s}function af(){Xn&&Xn.stop()}function DR(){Xn&&(Xn.stop(),Xn=null)}Un();var uf=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()}},t_=new uf;var f_=Ln(i_(),1);var Co=class extends TransformStream{buffer="";currentEvent={};constructor(){super({transform:(e,n)=>{this.buffer+=e;let r=this.buffer.split(`
364
- `);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 iu=class extends TransformStream{constructor(){super({transform:(e,n)=>{let r="";e.event&&(r+=`event: ${e.event}
362
+ Stack: ${e.stack}`)}}async registerDefaultTransformersInternal(){try{Object.values(U0).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 aT}from"tiktoken";var ps=class{type="tiktoken";name;encoding;constructor(e="cl100k_base"){this.name=`tiktoken-${e}`;try{this.encoding=aT(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 d=typeof l.content=="string"?l.content:JSON.stringify(l.content);r+=n.encode(d).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 nu}from"path";import{homedir as yR}from"os";import{existsSync as Vd,mkdirSync as _R}from"fs";import{promises as ru}from"fs";var uT=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}},cT=uT,lT=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}},dT=lT,J0=(()=>{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]]))})(),fT=t=>Object.fromEntries(Object.entries(t).map(([e,n])=>[n,e])),hT=fT(J0),$0=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",pT=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|[${$0}])]+`,` ?[^\\s${$0}]+`]]),ms="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",gI=new RegExp(`^[${ms}]+$`,"gu"),Gd=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"),Za=(t,e=!0)=>{if(t.Regex!==void 0){let n=t.Regex.replace(/\\([#&~])/g,"$1");for(let[r,o]of pT)n=n.replaceAll(r,o);return new RegExp(n,"gu")}else if(t.String!==void 0){let n=mT(t.String);return new RegExp(e?n:`(${n})`,"gu")}else return console.warn("Unknown pattern type:",t),null},mT=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),gT=(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},yT=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,_T=t=>Number.isInteger(t)||typeof t=="bigint",bT=t=>{let e=0;for(let n of t)++e;return e},CT=t=>V0(t.toLowerCase()),It=(...t)=>Array.prototype.concat.apply([],t),Jd=t=>new Map(Object.entries(t)),wT=(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},V0=t=>t.replace(new RegExp("\\p{M}","gu"),""),q0=(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},ET=t=>t.match(/\S+/g)||[],kT=class{constructor(){let t=function(...e){return t._call(...e)};return Object.setPrototypeOf(t,new.target.prototype)}},gs=kT,AT=class extends gs{constructor(t){super(),this.config=t}_call(t){return this.normalize(t)}},Rn=AT,ST=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);yT(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`
363
+ `: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}},vT=ST,TT=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}},DT=TT,RT=class extends Rn{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>K0(e))}normalize(t){return this.normalizers.reduce((e,n)=>n?n.normalize(e):e,t)}},xT=RT,OT=class extends Rn{normalize(t){let e=Za(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},PT=OT,FT=class extends Rn{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},eu=FT,IT=class extends eu{constructor(){super(...arguments),this.form="NFC"}},NT=IT,BT=class extends eu{constructor(){super(...arguments),this.form="NFD"}},MT=BT,LT=class extends eu{constructor(){super(...arguments),this.form="NFKC"}},jT=LT,UT=class extends eu{constructor(){super(...arguments),this.form="NFKD"}},$T=UT,qT=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}},zT=qT,HT=class extends Rn{normalize(t){return V0(t)}},WT=HT,GT=class extends Rn{normalize(t){return t.toLowerCase()}},JT=GT,VT=class extends Rn{normalize(t){return t=this.config.prepend+t,t}},KT=VT;function YT(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new vT(t);case"Precompiled":return new DT(t);case"Sequence":return new xT(t);case"Replace":return new PT(t);case"NFC":return new NT(t);case"NFD":return new MT(t);case"NFKC":return new jT(t);case"NFKD":return new $T(t);case"Strip":return new zT(t);case"StripAccents":return new WT(t);case"Lowercase":return new JT(t);case"Prepend":return new KT(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var K0=YT,QT=class extends gs{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=QT,XT=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=J0,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(""))}},ZT=XT,eD=class extends cn{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},tD=eD,nD=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]}},rD=nD,oD=class extends cn{constructor(t){super(),this.config=t,this.pattern=Za(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):wT(t,this.pattern)}},sD=oD,iD=class extends cn{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${ms}]+|[${ms}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},aD=iD,uD=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)||[]}},cD=uD,lD=class extends cn{constructor(){super(),this.pattern=new RegExp(`[^\\s${ms}]+|[${ms}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},dD=lD,fD=class extends cn{constructor(t){super(),this.config=t,this.pattern=Za(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},hD=fD,pD=class extends cn{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>Y0(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((n,r)=>r?r.pre_tokenize(n,e):n,[t])}},mD=pD,gD=class extends cn{pre_tokenize_text(t){return ET(t)}},yD=gD;function _D(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new dD;case"Sequence":return new mD(t);case"Whitespace":return new tD;case"WhitespaceSplit":return new yD;case"Metaspace":return new rD(t);case"ByteLevel":return new ZT(t);case"Split":return new sD(t);case"Punctuation":return new aD(t);case"Digits":return new cD(t);case"Replace":return new hD(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var Y0=_D,bD=class extends gs{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=gT(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)}},tu=bD,CD=class extends tu{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=Jd(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 d=r.slice(s,u).join("");if(s>0&&(d=this.config.continuing_subword_prefix+d),this.tokens_to_ids.has(d)){l=d;break}--u}if(l===null){o=!0;break}a.push(l),s=u}o?e.push(this.unk_token):e.push(...a)}return e}},z0=CD,H0=class Q0{constructor(e,n){this.is_leaf=e,this.children=n}static default(){return new Q0(!1,new Map)}},wD=class{constructor(){this.root=H0.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=H0.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)}}},ED=wD,Wd=class X0{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 X0(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},kD=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 Wd(this.bos_token_id??0,0,0,0,0),o=new Wd(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 Wd(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 d=l.backtrace_score+s.score;(u===null||d>a)&&(u=l.clone(),a=d)}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)}},AD=kD;function SD(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 vD=class extends tu{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=SD(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new ED,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 d=this.tokens_to_ids.get(l),f=this.scores[d],p=bT(l);t.insert(r,p,f,d),!o&&p===n&&(o=!0)}o||t.insert(r,n,this.unk_score,this.unk_token_id),r+=n}}tokenize(t){let e=new AD(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}},W0=vD,TD=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}},DD=TD,RD=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()}},xD=RD,OD=class extends tu{constructor(t){super(t),this.tokens_to_ids=Jd(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 xD(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 DD((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 d={...u.prev};u.prev.deleted=!0,u.prev=d,d.prev?d.prev.next=d:s=d}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}},G0=OD,PD=class extends tu{constructor(t,e){super(t);let n=t.vocab;this.tokens_to_ids=Jd(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}},FD=PD;function ID(t,e){switch(t.type){case"WordPiece":return new z0(t);case"Unigram":return new W0(t,e.eos_token);case"BPE":return new G0(t);default:if(t.vocab)return Array.isArray(t.vocab)?new W0(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new G0(t):new z0(t):new FD(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 ND=ID,BD=class extends gs{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},ys=BD,MD=class extends ys{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=It(o,t),s=It(s,new Array(t.length).fill(a.Sequence.type_id))):a.Sequence.id==="B"&&(o=It(o,e),s=It(s,new Array(e.length).fill(a.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},LD=MD,jD=class extends ys{post_process(t,e=null){return{tokens:e?It(t,e):t}}},UD=jD,$D=class extends ys{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,n=!0){n&&(t=It([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=It(t,o,e,s),r=It(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},qD=$D,zD=class extends ys{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,n=!0){n&&(t=It([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=It(t,o,e,s),r=It(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},HD=zD,WD=class extends ys{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>Z0(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}},GD=WD;function JD(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new LD(t);case"ByteLevel":return new UD(t);case"BertProcessing":return new qD(t);case"RobertaProcessing":return new HD(t);case"Sequence":return new GD(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var Z0=JD,VD=class extends gs{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=VD,KD=class extends ln{constructor(t){super(t),this.byte_decoder=hT,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}},YD=KD,QD=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=Gd(e)),e})}},XD=QD,ZD=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}},eR=ZD,tR=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?"":" "))}},nR=tR,rR=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=Gd(n).replaceAll(this.word_delimiter_token," ").trim()),n}decode_chain(t){return[this.convert_tokens_to_string(t)]}},oR=rR,sR=class extends ln{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>e_(e))}decode_chain(t){return this.decoders.reduce((e,n)=>n.decode_chain(e),t)}},iR=sR,aR=class extends ln{decode_chain(t){let e=Za(this.config.pattern),n=this.config.content??"";return e===null?t:t.map(r=>r.replaceAll(e,n))}},uR=aR,cR=class extends ln{decode_chain(t){return[t.join("")]}},lR=cR,dR=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)})}},fR=dR,hR=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}},pR=hR;function mR(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new YD(t);case"WordPiece":return new XD(t);case"Metaspace":return new eR(t);case"BPEDecoder":return new nR(t);case"CTC":return new oR(t);case"Sequence":return new iR(t);case"Replace":return new uR(t);case"Fuse":return new lR(t);case"Strip":return new fR(t);case"ByteFallback":return new pR(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var e_=mR,gR=class{constructor(t,e){let n=q0(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(n)throw new Error(n);let r=q0(e,"Config");if(r)throw new Error(r);this.tokenizer=t,this.config=e,this.normalizer=K0(this.tokenizer.normalizer),this.pre_tokenizer=Y0(this.tokenizer.pre_tokenizer),this.model=ND(this.tokenizer.model,this.config),this.post_processor=Z0(this.tokenizer.post_processor),this.decoder=e_(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[],this.tokenizer.added_tokens.forEach(o=>{let s=new dT(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 cT(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||!_T(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=Gd(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=CT(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:It(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}},t_=gR;var ou=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||nu(yR(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=nu(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:nu(e,"tokenizer.json"),tokenizerConfig:nu(e,"tokenizer_config.json")}}ensureDir(e){Vd(e)||_R(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!Vd(e.tokenizerJson)||!Vd(e.tokenizerConfig))return null;let[n,r]=await Promise.all([ru.readFile(e.tokenizerJson,"utf-8"),ru.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([ru.writeFile(e.tokenizerJson,JSON.stringify(u,null,2)),ru.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 t_(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 su=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 Co=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 ps("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 ps(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),r=new ou(e.model,this.logger,{timeout:this.options.timeout});break;case"api":r=new su(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}},Kd=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}}},Yd=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),d=_e(s.usage),f=_e(s.usage_daily);return u!==void 0&&(a.totalBalance=u),l!==void 0&&(a.remainingBalance=l),d!==void 0&&(a.usedBalance=d),f!==void 0&&(a.usedDailyBalance=f),this.hasQuotaData(a)?a:null}},Qd=class extends dn{async queryQuota(e,n,r){let o=TR(e.baseUrl),a=(await this.fetchJson(o,e,n,r))?.data;if(!a||typeof a!="object")return null;let u={},l=_e(a.totalBalance),d=_e(a.balance);return l!==void 0&&(u.totalBalance=l),d!==void 0&&(u.remainingBalance=d),l!==void 0&&d!==void 0&&(u.usedBalance=Math.max(0,l-d)),this.hasQuotaData(u)?u:null}},Xd=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:[],d=null,f=null,p=null;for(let b of l)b.type==="TOKENS_LIMIT"?b.unit===3?d=b:b.unit===6?f=b:d||(d=b):b.type==="TIME_LIMIT"&&(p=b);let m={};if(d){let b=_e(d.currentValue),w=_e(d.usage),y=_e(d.remaining),g=_e(d.percentage);b!==void 0?m.usedDailyBalance=b:g!==void 0&&(m.usedDailyBalance=g,m.limitDaily=100),w!==void 0?m.limitDaily=w:b!==void 0&&y!==void 0&&(m.limitDaily=b+y),d.nextResetTime&&(m.resetTime=new Date(d.nextResetTime).toISOString())}if(f){let b=_e(f.currentValue),w=_e(f.usage),y=_e(f.remaining),g=_e(f.percentage);b!==void 0?m.usedBalance=b:g!==void 0&&(m.usedBalance=g,m.totalBalance=100),w!==void 0?m.totalBalance=w:b!==void 0&&y!==void 0&&(m.totalBalance=b+y),f.nextResetTime&&!m.resetTime&&(m.resetTime=new Date(f.nextResetTime).toISOString())}if(p){if(m.usedDailyBalance===void 0){let b=_e(p.currentValue);b!==void 0&&(m.usedDailyBalance=b)}if(m.limitDaily===void 0){let b=_e(p.usage),w=_e(p.currentValue),y=_e(p.remaining);b!==void 0?m.limitDaily=b:w!==void 0&&y!==void 0&&(m.limitDaily=w+y)}p.nextResetTime&&!m.resetTime&&(m.resetTime=new Date(p.nextResetTime).toISOString())}return this.hasQuotaData(m)?m:null}catch{return null}}},Zd=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 d=(await u.json())?.data?.DataV2?.data?.data?.codingPlanInstanceInfos;if(!Array.isArray(d)||d.length===0)return null;let f=d[0]?.codingPlanQuotaInfo;if(!f)return null;let p={},m=_e(f.per5HourUsedQuota),b=_e(f.per5HourTotalQuota);m!==void 0&&(p.usedDailyBalance=m),b!==void 0&&(p.limitDaily=b);let w=_e(f.perWeekUsedQuota),y=_e(f.perWeekTotalQuota);return w!==void 0&&(p.usedBalance=w),y!==void 0&&(p.totalBalance=y),this.hasQuotaData(p)?p:null}catch{return null}}},ef=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:(n_(e.quotaToken,"atp-auth-token")||n_(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=DR(u,e.apiKey),d=l?.codingPlanUsageDTO||l?.usage||l;if(!d||typeof d!="object")return null;let f={},p=_e(d.rp5hUsage),m=_e(d.rp5hLimit);p!==void 0&&(f.usedDailyBalance=p),m!==void 0&&(f.limitDaily=m);let b=_e(d.rpwUsage),w=_e(d.rpwLimit);return b!==void 0&&(f.usedBalance=b),w!==void 0&&(f.totalBalance=w),f.remainingBalance===void 0&&w!==void 0&&b!==void 0&&(f.remainingBalance=Math.max(0,w-b)),this.hasQuotaData(f)?f:null}catch{return null}}},tf=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={},d=Array.isArray(u?.limits)?u.limits:[];if(d.length>0&&d[0]?.detail){let p=d[0].detail,m=_e(p.limit),b=_e(p.remaining),w=p.resetTime;m!==void 0&&b!==void 0&&(l.usedDailyBalance=Math.max(0,m-b),l.limitDaily=m),w&&(l.resetTime=new Date(w).toISOString())}let f=u?.usage;if(f){let p=_e(f.limit),m=_e(f.remaining),b=_e(f.used),w=f.resetTime;p!==void 0&&(l.totalBalance=p,b!==void 0?l.usedBalance=b:m!==void 0&&(l.usedBalance=Math.max(0,p-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}}},nf=class extends dn{async queryQuota(e,n,r){let o=e.quotaToken||e.apiKey;if(!o)return null;let s=sf(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 d=Array.isArray(l?.model_remains)?l.model_remains:[];if(d.length===0)return null;let f=d[0],p={},m=_e(f.current_interval_total_count),b=_e(f.current_interval_usage_count),w=_e(f.current_interval_remaining_percent),y=_e(f.end_time);m!==void 0&&b!==void 0&&m>0?(p.usedDailyBalance=Math.max(0,m-b),p.limitDaily=m):w!==void 0&&(p.limitDaily=100,p.usedDailyBalance=Math.max(0,100-w)),y&&(p.resetTime=new Date(y).toISOString());let g=_e(f.current_weekly_total_count),_=_e(f.current_weekly_usage_count),A=_e(f.current_weekly_remaining_percent),C=_e(f.weekly_end_time);return g!==void 0&&_!==void 0&&g>0?(p.usedBalance=Math.max(0,g-_),p.remainingBalance=_,p.totalBalance=g):A!==void 0&&(p.totalBalance=100,p.usedBalance=Math.max(0,100-A),p.remainingBalance=A),C&&!p.resetTime&&(p.resetTime=new Date(C).toISOString()),this.hasQuotaData(p)?p:null}catch{return null}}},bR=new Kd,CR=new Yd,wR=new Qd,ER=new Xd,kR=new Zd,AR=new ef,SR=new tf,vR=new nf;function of(t){let e=sf(t);return e?e==="kimi.com"||e.endsWith(".kimi.com")||e==="moonshot.cn"||e.endsWith(".moonshot.cn")?SR:e==="minimaxi.com"||e.endsWith(".minimaxi.com")||e==="minimax.io"||e.endsWith(".minimax.io")?vR:e==="deepseek.com"||e.endsWith(".deepseek.com")?bR:e==="openrouter.ai"||e.endsWith(".openrouter.ai")?CR:e==="siliconflow.com"||e.endsWith(".siliconflow.com")||e==="siliconflow.cn"||e.endsWith(".siliconflow.cn")?wR:e==="bigmodel.cn"||e.endsWith(".bigmodel.cn")?ER:e==="dashscope.aliyuncs.com"||e.endsWith(".dashscope.aliyuncs.com")?kR:e==="xf-yun.com"||e.endsWith(".xf-yun.com")||e==="xfyun.cn"||e.endsWith(".xfyun.cn")||e==="xfyun.com"||e.endsWith(".xfyun.com")?AR:null:null}function TR(t){let e=sf(t);return e?.endsWith(".siliconflow.cn")||e==="siliconflow.cn"?"https://api.siliconflow.cn/v1/user/info":"https://api.siliconflow.com/v1/user/info"}function DR(t,e){let n=rf(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 rf(t){return!t||typeof t!="object"?[]:!Array.isArray(t)&&t.codingPlanUsageDTO?[t]:Array.isArray(t)?t.flatMap(e=>rf(e)):Object.values(t).flatMap(e=>rf(e))}function n_(t,e){let n=t.match(new RegExp(`(?:^|;\\s*)${e}=([^;]+)`));return n?decodeURIComponent(n[1]):void 0}function sf(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 RR="x-claude-code-router-source",xR="x-claude-code-router-version";function r_(t){return{[RR]:t,[xR]:ri}}var OR={enabled:!0,quotaProbeIntervalMinutes:10,probeTimeoutMs:15e3,initialDelayMs:5e3,excludeProviders:[]};function PR(t){return t===!0||t==="true"||t===1||t==="1"}function FR(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 IR(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 NR(t){try{let e=new URL(t).hostname.toLowerCase();return e.includes("moonshot")||e.includes("kimi")}catch{return!1}}async function af(t,e,n){let r=IR(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 BR(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",...r_("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:p}=await import("undici");l.dispatcher=new p(new URL(n).toString())}catch{}r?.info(`Sending scheduled wake-up call to provider ${t.name} using model ${o}...`);let d=await fetch(s,l);if(d.ok)return{success:!0};let f=await d.text().catch(()=>"");return{success:!1,error:`HTTP ${d.status}: ${f.slice(0,200)||"Unknown error"}`}}catch(u){return{success:!1,error:u?.message||u?.toString()||"Unknown wake-up error"}}}async function MR(t,e,n,r,o){let s=t.baseUrl,a=t.baseUrl.includes("/messages")||e.includes("claude");try{let u={"Content-Type":"application/json",...r_("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:p}=await import("undici");l.dispatcher=new p(new URL(r).toString())}catch{}o?.debug?.(`Sending independent ping to rate-limited model ${t.name} (${e})...`);let d=await fetch(s,l);if(d.ok)return{success:!0};let f=await d.text().catch(()=>"");return{success:!1,error:`HTTP ${d.status}: ${f.slice(0,200)||"Unknown error"}`}}catch(u){return{success:!1,error:u?.message||u?.toString()||"Unknown ping error"}}}var iu=class{config;quotaProbeTimer;healthProbeTimer;wakeupTimer;rateLimitProbeTimer;lastWakeupDate=new Map;getProviders;getHttpsProxy;logger;getConfig;running=!1;constructor(e,n,r,o,s){this.config={...OR,...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=of(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(d=>{if(d){ic(a.name,d),this.logger?.debug?.(`Stored quota probe result for ${a.name}`);let f=d.limitDaily!==void 0&&d.usedDailyBalance!==void 0&&d.usedDailyBalance>=d.limitDaily,p=d.totalBalance!==void 0&&d.usedBalance!==void 0&&d.usedBalance>=d.totalBalance;if(f||p){let m=f?`Quota exhausted: 5h limit reached (${d.usedDailyBalance}/${d.limitDaily})`:`Quota exhausted: 7d balance depleted (${d.usedBalance}/${d.totalBalance})`;for(let b of l){if(r.getState(a.name,b)?.rateLimitUntil){this.logger?.debug?.(`Skip forceOpen for ${a.name} (${b}): already rate-limited with active cooldown`);continue}r.forceOpen(a.name,b,m)}this.logger?.warn?.(`${m} for ${a.name}, marked as unhealthy`)}else for(let m of l){let b=r.getState(a.name,m);b&&b.status==="open"&&b.lastError?.includes("Quota exhausted")&&(r.recover(a.name,m),this.logger?.info?.(`Quota recovered for ${a.name} (${m}), marked as healthy`))}}})}),NR(a.baseUrl)&&o.push({provider:a.name,models:l,type:"rate-limit-headers",promise:af(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=>af(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 d=u.value;if(d.success){let f=0;for(let p of l){let m=e.getState(a.name,p);if(m&&m.status==="open"){let b=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(b){this.logger?.debug?.(`Skipping health probe recovery for ${a.name} (${p}) because quota is exhausted`);continue}if(w||m.rateLimitUntil){this.logger?.debug?.(`Skipping health probe recovery for rate-limited ${a.name} (${p})`);continue}}e.recordSuccess(a.name,p),f++}f>0&&this.logger?.info?.(`Health probe succeeded for ${a.name}`)}else{for(let f of l)e.recordFailure(a.name,f,d.error);this.logger?.warn?.(`Health probe failed for ${a.name}: ${d.error}`)}}else{for(let d of l)e.recordFailure(a.name,d,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(","),d=l.join(",");if(!u||!d)continue;let f=e.getState(u,d);if(!f||!f.rateLimitUntil)continue;if(Date.now()>=f.rateLimitUntil){e.recover(u,d),this.logger?.info?.(`Rate-limit cooldown expired, auto-recovered ${a}`);continue}let p=r.find(m=>m?.name===u&&m.enabled!==!1);if(!p){this.logger?.warn?.(`Provider ${u} not found or disabled for rate-limit probe`);continue}try{let m=await MR(p,d,s,o,this.logger);if(m.success)this.logger?.info?.(`Rate-limit probe succeeded for ${a}, recovering model`),e.recover(u,d);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 b=Date.now();f.rateLimitUntil&&f.rateLimitUntil>b?f.rateLimitUntil+=120*1e3:f.rateLimitUntil=b+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=FR(n),a=this.getHttpsProxy?.(),u=this.getConfig&&this.getConfig("WAKEUP_TIME")||"06:00";for(let l of e){let d=l.wakeupTime||u,[f,p]=d.split(":"),m=parseInt(f,10),b=parseInt(p,10);if(isNaN(m)||isNaN(b))continue;let w=r>m||r===m&&o>=b,y=(m*60+b)*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 ${d}`),BR(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?PR(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 af(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 o_(t,e,n,r,o){return Xn||(Xn=new iu(t,e,n,r,o)),Xn}function uf(t,e,n,r,o){let s=o_(t,e,n,r,o);return s.start(),s}function cf(){Xn&&Xn.stop()}function LR(){Xn&&(Xn.stop(),Xn=null)}Un();var lf=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()}},s_=new lf;var g_=Ln(l_(),1);var wo=class extends TransformStream{buffer="";currentEvent={};constructor(){super({transform:(e,n)=>{this.buffer+=e;let r=this.buffer.split(`
364
+ `);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 uu=class extends TransformStream{constructor(){super({transform:(e,n)=>{let r="";e.event&&(r+=`event: ${e.event}
365
365
  `),e.id&&(r+=`id: ${e.id}
366
366
  `),e.retry&&(r+=`retry: ${e.retry}
367
367
  `),e.data&&(e.data.type==="done"?r+=`data: [DONE]
368
368
  `:r+=`data: ${JSON.stringify(e.data)}
369
369
  `),r+=`
370
- `,n.enqueue(r)}})}};var a_=(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()}}})};df();ff();hf();c_();var Cs=new Map,mf=new Map,LR=1,h_={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,f_.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)wo.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&&wo.registerHandlers(a)}n.outputOptions&&wo.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,d=a.model,f=`${l}:${d}`;if(mf.has(f))return mf.get(f);let p=u.getTokenizerConfigForModel(l,d);if(!p)return t.log?.debug(`No tokenizer config for ${l}:${d}, using fallback`),null;try{let m=await u.getTokenizer(p);return mf.set(f,m),t.log?.info(`Created tokenizer for ${l}:${d} - ${m.name}`),m}catch(m){return t.log?.warn(`Failed to create tokenizer for ${l}:${d}: ${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 d=a.requestStartTime;if(!d)return;let f=a.id||Date.now().toString(),p;try{p=Io(a.body?.metadata?.user_id)}catch{}if(!p){let g=a.headers?.["x-request-id"],_=Array.isArray(g)?g[0]:g;p=a.sessionId||(typeof _=="string"?_:void 0)||f}let m=await o(a);if(l instanceof ReadableStream){Cs.set(f,{requestId:f,sessionId:p,startTime:d,lastTokenTime:d,tokenCount:0,tokensPerSecond:0,tokenTimestamps:[],stream:!0});let[g,_]=l.tee();return(async()=>{let C=null,S=async v=>{let R=Cs.get(f);if(!R)return;let $=performance.now();if(v){let V=R.firstTokenTime?R.firstTokenTime-R.startTime:0,P=R.lastTokenTime-R.startTime;R.tokensPerSecond=l_(R.tokenCount,P,V)}else{let V=$-1e3;R.tokenTimestamps=R.tokenTimestamps.filter(P=>P>V),R.tokensPerSecond=R.tokenTimestamps.length}await d_(R,r,n.outputOptions,v).catch(V=>{t.log?.warn(`Failed to output streaming stats: ${V.message}`)})};try{let R=_.pipeThrough(new TextDecoderStream).pipeThrough(new Co).getReader();for(C=setInterval(async()=>{Cs.get(f)&&await S(!1)},1e3);;){let{done:$,value:V}=await R.read();if($)break;let P=V,Q=Cs.get(f);if(!Q)continue;let z=performance.now(),K=P.event||P.data?.type,Y=P.event==="content_block_start"||P.event==="content_block_delta"||P.event==="text_block"||P.event==="content_block"||K==="response.output_text.delta"||K==="response.function_call_arguments.delta"||K==="response.reasoning_summary_text.delta";!Q.firstTokenTime&&Y&&(Q.firstTokenTime=z,Q.timeToFirstToken=Math.round(z-Q.startTime));let ee="";if(P.event==="content_block_delta"&&P.data?.delta){let ae=P.data.delta.type;ae==="text_delta"?ee=P.data.delta.text||"":ae==="input_json_delta"?ee=P.data.delta.partial_json||"":ae==="thinking_delta"&&(ee=P.data.delta.thinking||"")}if((K==="response.output_text.delta"||K==="response.function_call_arguments.delta"||K==="response.reasoning_summary_text.delta")&&(ee=typeof P.data?.delta=="string"?P.data.delta:""),ee){let ae=m&&m.encodeText?m.encodeText(ee).length:ws(ee);Q.tokenCount+=ae,Q.lastTokenTime=z;for(let se=0;se<ae;se++)Q.tokenTimestamps.push(z)}(P.event==="message_stop"||K==="response.completed"||K==="response.failed")&&(C&&(clearInterval(C),C=null),await S(!0),Cs.delete(f))}}catch(v){C&&clearInterval(C),v.name!=="AbortError"&&v.code!=="ERR_STREAM_PREMATURE_CLOSE"&&t.log?.warn(`Error processing token stats: ${v.message}`)}})().catch(C=>{console.log(C),t.log?.warn(`Background stats processing failed: ${C.message}`)}),g}let b=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((A,C)=>{if(C.type==="text"){let S=C.text||"";return A+(m.encodeText?m.encodeText(S).length:ws(S))}return A},0):typeof _=="string"&&(w=m.encodeText?m.encodeText(_).length:ws(_));else{let A=Array.isArray(_)?_.map(C=>C.text).join(""):typeof _=="string"?_:"";w=ws(A)}}}catch{}if(y){let g=Math.round(b-d),_=b-d,A={requestId:f,sessionId:p,startTime:d,lastTokenTime:b,tokenCount:w,tokensPerSecond:l_(w,_),timeToFirstToken:g,stream:!1,tokenTimestamps:[]};await d_(A,r,n.outputOptions,!0)}return l})})};function l_(t,e,n=0){if(t<=0)return 0;let r=Math.max((e-n)/1e3,LR);return Math.round(t/r)}function ws(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,n=t.length-e;return Math.ceil(e/1.5+n/4)}async function d_(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 wo.outputToType(u,s,a)}catch(l){console.error(`[TokenSpeedPlugin] Failed to output to ${u}:`,l)}}Un();Un();function $R(t={}){let e=jR({bodyLimit:52428800,...t});return e.setErrorHandler(Fh),e.register(UR),e}var gf=class{app;configService;providerService;transformerService;tokenizerService;activeProbeService;recordUsage;constructor(e={}){let{initialConfig:n,...r}=e;this.app=$R({...r,logger:r.logger??!0}),this.configService=new Ir(e),this.transformerService=new _o(this.configService,this.app.log),this.tokenizerService=new bo(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new Ur(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,d)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Bo(l,d,{configService:this.configService,tokenizerService:this.tokenizerService})}),await cc(u)});return}if(!n)throw new Error("options is required");let r=new Ir({initialConfig:{providers:n.Providers,Router:n.Router}}),o=new _o(r,this.app.log);await o.initialize();let s=new Ur(r,o,this.app.log),a=new bo(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,d)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Bo(l,d,{configService:r,tokenizerService:a})}),await cc(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[d,...f]=u;l=f.join(","),a.model=l,r.provider=d}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{Zu()}catch{}try{ic()}catch{}try{Ku()}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=sf(()=>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{af()}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)}}},oM=gf;export{ou as ActiveProbeService,Ir as ConfigService,ri as ProviderHealthStore,Ur as ProviderService,Co as SSEParserTransform,iu as SSESerializerTransform,bo as TokenizerService,_o as TransformerService,ap as calculateTokenCount,oM as default,Io as extractSessionIdFromUserId,e_ as getActiveProbeService,WC as getAllQuotaResults,NC as getAllRateLimitInfo,Qe as getHealthStore,nf as getQuotaAdapter,sc as getQuotaResult,BC as getRateLimitInfo,pC as getRuntimeDebugLog,Ku as initProviderHealthPersistence,ic as initQuotaStorePersistence,Zu as initRateLimitPersistence,jr as normalizeSessionId,t_ as pluginManager,DR as resetActiveProbeService,a_ as rewriteStream,Bo as router,dp as searchProjectBySession,tc as sessionUsageCache,hC as setRuntimeDebugLog,sf as startActiveProbe,af as stopActiveProbe,oc as storeQuotaResult,h_ as tokenSpeedPlugin};
370
+ `,n.enqueue(r)}})}};var d_=(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()}}})};hf();pf();mf();h_();var ws=new Map,yf=new Map,VR=1,y_={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,g_.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)Eo.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&&Eo.registerHandlers(a)}n.outputOptions&&Eo.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,d=a.model,f=`${l}:${d}`;if(yf.has(f))return yf.get(f);let p=u.getTokenizerConfigForModel(l,d);if(!p)return t.log?.debug(`No tokenizer config for ${l}:${d}, using fallback`),null;try{let m=await u.getTokenizer(p);return yf.set(f,m),t.log?.info(`Created tokenizer for ${l}:${d} - ${m.name}`),m}catch(m){return t.log?.warn(`Failed to create tokenizer for ${l}:${d}: ${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 d=a.requestStartTime;if(!d)return;let f=a.id||Date.now().toString(),p;try{p=No(a.body?.metadata?.user_id)}catch{}if(!p){let g=a.headers?.["x-request-id"],_=Array.isArray(g)?g[0]:g;p=a.sessionId||(typeof _=="string"?_:void 0)||f}let m=await o(a);if(l instanceof ReadableStream){ws.set(f,{requestId:f,sessionId:p,startTime:d,lastTokenTime:d,tokenCount:0,tokensPerSecond:0,tokenTimestamps:[],stream:!0});let[g,_]=l.tee();return(async()=>{let C=null,S=async T=>{let R=ws.get(f);if(!R)return;let $=performance.now();if(T){let V=R.firstTokenTime?R.firstTokenTime-R.startTime:0,P=R.lastTokenTime-R.startTime;R.tokensPerSecond=p_(R.tokenCount,P,V)}else{let V=$-1e3;R.tokenTimestamps=R.tokenTimestamps.filter(P=>P>V),R.tokensPerSecond=R.tokenTimestamps.length}await m_(R,r,n.outputOptions,T).catch(V=>{t.log?.warn(`Failed to output streaming stats: ${V.message}`)})};try{let R=_.pipeThrough(new TextDecoderStream).pipeThrough(new wo).getReader();for(C=setInterval(async()=>{ws.get(f)&&await S(!1)},1e3);;){let{done:$,value:V}=await R.read();if($)break;let P=V,Y=ws.get(f);if(!Y)continue;let z=performance.now(),K=P.event||P.data?.type,Q=P.event==="content_block_start"||P.event==="content_block_delta"||P.event==="text_block"||P.event==="content_block"||K==="response.output_text.delta"||K==="response.function_call_arguments.delta"||K==="response.reasoning_summary_text.delta";!Y.firstTokenTime&&Q&&(Y.firstTokenTime=z,Y.timeToFirstToken=Math.round(z-Y.startTime));let ee="";if(P.event==="content_block_delta"&&P.data?.delta){let ae=P.data.delta.type;ae==="text_delta"?ee=P.data.delta.text||"":ae==="input_json_delta"?ee=P.data.delta.partial_json||"":ae==="thinking_delta"&&(ee=P.data.delta.thinking||"")}if((K==="response.output_text.delta"||K==="response.function_call_arguments.delta"||K==="response.reasoning_summary_text.delta")&&(ee=typeof P.data?.delta=="string"?P.data.delta:""),ee){let ae=m&&m.encodeText?m.encodeText(ee).length:Es(ee);Y.tokenCount+=ae,Y.lastTokenTime=z;for(let se=0;se<ae;se++)Y.tokenTimestamps.push(z)}(P.event==="message_stop"||K==="response.completed"||K==="response.failed")&&(C&&(clearInterval(C),C=null),await S(!0),ws.delete(f))}}catch(T){C&&clearInterval(C),T.name!=="AbortError"&&T.code!=="ERR_STREAM_PREMATURE_CLOSE"&&t.log?.warn(`Error processing token stats: ${T.message}`)}})().catch(C=>{console.log(C),t.log?.warn(`Background stats processing failed: ${C.message}`)}),g}let b=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((A,C)=>{if(C.type==="text"){let S=C.text||"";return A+(m.encodeText?m.encodeText(S).length:Es(S))}return A},0):typeof _=="string"&&(w=m.encodeText?m.encodeText(_).length:Es(_));else{let A=Array.isArray(_)?_.map(C=>C.text).join(""):typeof _=="string"?_:"";w=Es(A)}}}catch{}if(y){let g=Math.round(b-d),_=b-d,A={requestId:f,sessionId:p,startTime:d,lastTokenTime:b,tokenCount:w,tokensPerSecond:p_(w,_),timeToFirstToken:g,stream:!1,tokenTimestamps:[]};await m_(A,r,n.outputOptions,!0)}return l})})};function p_(t,e,n=0){if(t<=0)return 0;let r=Math.max((e-n)/1e3,VR);return Math.round(t/r)}function Es(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,n=t.length-e;return Math.ceil(e/1.5+n/4)}async function m_(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 Eo.outputToType(u,s,a)}catch(l){console.error(`[TokenSpeedPlugin] Failed to output to ${u}:`,l)}}Un();Un();function QR(t={}){let e=KR({bodyLimit:52428800,...t});return e.setErrorHandler(Nh),e.register(YR),e}var _f=class{app;configService;providerService;transformerService;tokenizerService;activeProbeService;recordUsage;constructor(e={}){let{initialConfig:n,...r}=e;this.app=QR({...r,logger:r.logger??!0}),this.configService=new Ir(e),this.transformerService=new bo(this.configService,this.app.log),this.tokenizerService=new Co(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new $r(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,d)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Bo(l,d,{configService:this.configService,tokenizerService:this.tokenizerService})}),await dc(u)});return}if(!n)throw new Error("options is required");let r=new Ir({initialConfig:{providers:n.Providers,Router:n.Router}}),o=new bo(r,this.app.log);await o.initialize();let s=new $r(r,o,this.app.log),a=new Co(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,d)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Bo(l,d,{configService:r,tokenizerService:a})}),await dc(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[d,...f]=u;l=f.join(","),a.model=l,r.provider=d}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{tc()}catch{}try{uc()}catch{}try{Qu()}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=uf(()=>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{cf()}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)}}},mM=_f;export{iu as ActiveProbeService,Ir as ConfigService,si as ProviderHealthStore,$r as ProviderService,wo as SSEParserTransform,uu as SSESerializerTransform,Co as TokenizerService,bo as TransformerService,lp as calculateTokenCount,mM as default,No as extractSessionIdFromUserId,o_ as getActiveProbeService,KC as getAllQuotaResults,UC as getAllRateLimitInfo,Ye as getHealthStore,of as getQuotaAdapter,ac as getQuotaResult,jC as getRateLimitInfo,_C as getRuntimeDebugLog,Qu as initProviderHealthPersistence,uc as initQuotaStorePersistence,tc as initRateLimitPersistence,jr as normalizeSessionId,s_ as pluginManager,LR as resetActiveProbeService,d_ as rewriteStream,Bo as router,pp as searchProjectBySession,rc as sessionUsageCache,yC as setRuntimeDebugLog,uf as startActiveProbe,cf as stopActiveProbe,ic as storeQuotaResult,y_ as tokenSpeedPlugin};
371
371
  /*! Bundled license information:
372
372
 
373
373
  web-streams-polyfill/dist/ponyfill.es2018.js: