{"version":3,"sources":["webpack:////ppme-ci-8145/workspace/ppme-ci-8145/node_modules/base64-js/index.js","webpack:////ppme-ci-8145/workspace/ppme-ci-8145/node_modules/buffer/index.js","webpack:////ppme-ci-8145/workspace/ppme-ci-8145/node_modules/ieee754/index.js","webpack:////ppme-ci-8145/workspace/ppme-ci-8145/node_modules/isarray/index.js","webpack:///../node_modules/base64-paypal/index.js"],"names":["exports","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","i","arr","Arr","_byteLength","curByte","len","revLookup","charCodeAt","fromByteArray","uint8","length","extraBytes","parts","len2","push","encodeChunk","lookup","join","Uint8Array","Array","code","Error","indexOf","start","end","num","output","base64","ieee754","isArray","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","__proto__","prototype","arg","encodingOrOffset","this","allocUnsafe","from","value","TypeError","ArrayBuffer","array","byteOffset","undefined","fromArrayLike","fromArrayBuffer","string","encoding","isEncoding","actual","write","slice","fromString","obj","isBuffer","checked","copy","buffer","val","type","data","fromObject","assertSize","size","toString","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","b","n","m","bidirectionalIndexOf","dir","isNaN","arrayIndexOf","call","lastIndexOf","indexSize","arrLength","valLength","String","read","buf","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","c","hi","lo","utf16leToBytes","Math","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","fromCharCode","apply","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","global","foo","subarray","e","typedArraySupport","poolSize","_augment","Symbol","species","Object","defineProperty","configurable","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","swap16","swap32","swap64","arguments","equals","inspect","max","match","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","INVALID_BASE64_RE","Infinity","leadSurrogate","trim","replace","stringtrim","base64clean","src","dst","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","NaN","rt","abs","log","LN2","module","CharacterSet","DEFAULT","PPBASE64","URLSAFE","PPUUENCODING","DecodeCharacters","keys","reduce","key","_decodeCharacterSet","characterSet","encode","input","charset","pad","padding","char3","result","encoded","nativeb64encode","decode","decodeChars","char4","nativeb64decode"],"mappings":";;;;;;mGAEAA,EAAQC,WAuCR,SAAqBC,GACnB,IAAIC,EAAOC,EAAQF,GACfG,EAAWF,EAAK,GAChBG,EAAkBH,EAAK,GAC3B,OAAuC,GAA9BE,EAAWC,GAAuB,EAAKA,GA1ClDN,EAAQO,YAiDR,SAAsBL,GACpB,IAAIM,EAcAC,EAbAN,EAAOC,EAAQF,GACfG,EAAWF,EAAK,GAChBG,EAAkBH,EAAK,GAEvBO,EAAM,IAAIC,EAVhB,SAAsBT,EAAKG,EAAUC,GACnC,OAAuC,GAA9BD,EAAWC,GAAuB,EAAKA,EAS9BM,CAAYV,EAAKG,EAAUC,IAEzCO,EAAU,EAGVC,EAAMR,EAAkB,EACxBD,EAAW,EACXA,EAGJ,IAAKI,EAAI,EAAGA,EAAIK,EAAKL,GAAK,EACxBD,EACGO,EAAUb,EAAIc,WAAWP,KAAO,GAChCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,GACpCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,EACrCM,EAAUb,EAAIc,WAAWP,EAAI,IAC/BC,EAAIG,KAAcL,GAAO,GAAM,IAC/BE,EAAIG,KAAcL,GAAO,EAAK,IAC9BE,EAAIG,KAAmB,IAANL,EAGK,IAApBF,IACFE,EACGO,EAAUb,EAAIc,WAAWP,KAAO,EAChCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,EACvCC,EAAIG,KAAmB,IAANL,GAGK,IAApBF,IACFE,EACGO,EAAUb,EAAIc,WAAWP,KAAO,GAChCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,EACpCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,EACvCC,EAAIG,KAAcL,GAAO,EAAK,IAC9BE,EAAIG,KAAmB,IAANL,GAGnB,OAAOE,GA3FTV,EAAQiB,cAkHR,SAAwBC,GAQtB,IAPA,IAAIV,EACAM,EAAMI,EAAMC,OACZC,EAAaN,EAAM,EACnBO,EAAQ,GAIHZ,EAAI,EAAGa,EAAOR,EAAMM,EAAYX,EAAIa,EAAMb,GAH9B,MAInBY,EAAME,KAAKC,EACTN,EAAOT,EAAIA,EALM,MAKgBa,EAAOA,EAAQb,EAL/B,QAUF,IAAfW,GACFZ,EAAMU,EAAMJ,EAAM,GAClBO,EAAME,KACJE,EAAOjB,GAAO,GACdiB,EAAQjB,GAAO,EAAK,IACpB,OAEsB,IAAfY,IACTZ,GAAOU,EAAMJ,EAAM,IAAM,GAAKI,EAAMJ,EAAM,GAC1CO,EAAME,KACJE,EAAOjB,GAAO,IACdiB,EAAQjB,GAAO,EAAK,IACpBiB,EAAQjB,GAAO,EAAK,IACpB,MAIJ,OAAOa,EAAMK,KAAK,KA3IpB,IALA,IAAID,EAAS,GACTV,EAAY,GACZJ,EAA4B,oBAAfgB,WAA6BA,WAAaC,MAEvDC,EAAO,mEACFpB,EAAI,EAAGK,EAAMe,EAAKV,OAAQV,EAAIK,IAAOL,EAC5CgB,EAAOhB,GAAKoB,EAAKpB,GACjBM,EAAUc,EAAKb,WAAWP,IAAMA,EAQlC,SAASL,EAASF,GAChB,IAAIY,EAAMZ,EAAIiB,OAEd,GAAIL,EAAM,EAAI,EACZ,MAAM,IAAIgB,MAAM,kDAKlB,IAAIzB,EAAWH,EAAI6B,QAAQ,KAO3B,OANkB,IAAd1B,IAAiBA,EAAWS,GAMzB,CAACT,EAJcA,IAAaS,EAC/B,EACA,EAAKT,EAAW,GAsEtB,SAASmB,EAAaN,EAAOc,EAAOC,GAGlC,IAFA,IAAIzB,EARoB0B,EASpBC,EAAS,GACJ1B,EAAIuB,EAAOvB,EAAIwB,EAAKxB,GAAK,EAChCD,GACIU,EAAMT,IAAM,GAAM,WAClBS,EAAMT,EAAI,IAAM,EAAK,QACP,IAAfS,EAAMT,EAAI,IACb0B,EAAOZ,KAdFE,GADiBS,EAeM1B,IAdT,GAAK,IACxBiB,EAAOS,GAAO,GAAK,IACnBT,EAAOS,GAAO,EAAI,IAClBT,EAAa,GAANS,IAaT,OAAOC,EAAOT,KAAK,IAjGrBX,EAAU,IAAIC,WAAW,IAAM,GAC/BD,EAAU,IAAIC,WAAW,IAAM,I;;;;;;oGCnB/B;;;;;;;AAUA,IAAIoB,EAAS,kBAAQ,yCACjBC,EAAU,gBAAQ,uCAClBC,EAAU,gBAAQ,uCAmDtB,SAASC,IACP,OAAOC,EAAOC,oBACV,WACA,WAGN,SAASC,EAAcC,EAAMxB,GAC3B,GAAIoB,IAAepB,EACjB,MAAM,IAAIyB,WAAW,8BAcvB,OAZIJ,EAAOC,qBAETE,EAAO,IAAIhB,WAAWR,IACjB0B,UAAYL,EAAOM,WAGX,OAATH,IACFA,EAAO,IAAIH,EAAOrB,IAEpBwB,EAAKxB,OAASA,GAGTwB,EAaT,SAASH,EAAQO,EAAKC,EAAkB7B,GACtC,KAAKqB,EAAOC,qBAAyBQ,gBAAgBT,GACnD,OAAO,IAAIA,EAAOO,EAAKC,EAAkB7B,GAI3C,GAAmB,iBAAR4B,EAAkB,CAC3B,GAAgC,iBAArBC,EACT,MAAM,IAAIlB,MACR,qEAGJ,OAAOoB,EAAYD,KAAMF,GAE3B,OAAOI,EAAKF,KAAMF,EAAKC,EAAkB7B,GAW3C,SAASgC,EAAMR,EAAMS,EAAOJ,EAAkB7B,GAC5C,GAAqB,iBAAViC,EACT,MAAM,IAAIC,UAAU,yCAGtB,MAA2B,oBAAhBC,aAA+BF,aAAiBE,YA6H7D,SAA0BX,EAAMY,EAAOC,EAAYrC,GAGjD,GAFAoC,EAAMtD,WAEFuD,EAAa,GAAKD,EAAMtD,WAAauD,EACvC,MAAM,IAAIZ,WAAW,6BAGvB,GAAIW,EAAMtD,WAAauD,GAAcrC,GAAU,GAC7C,MAAM,IAAIyB,WAAW,6BAIrBW,OADiBE,IAAfD,QAAuCC,IAAXtC,EACtB,IAAIQ,WAAW4B,QACHE,IAAXtC,EACD,IAAIQ,WAAW4B,EAAOC,GAEtB,IAAI7B,WAAW4B,EAAOC,EAAYrC,GAGxCqB,EAAOC,qBAETE,EAAOY,GACFV,UAAYL,EAAOM,UAGxBH,EAAOe,EAAcf,EAAMY,GAE7B,OAAOZ,EAvJEgB,CAAgBhB,EAAMS,EAAOJ,EAAkB7B,GAGnC,iBAAViC,EAwFb,SAAqBT,EAAMiB,EAAQC,GACT,iBAAbA,GAAsC,KAAbA,IAClCA,EAAW,QAGb,IAAKrB,EAAOsB,WAAWD,GACrB,MAAM,IAAIR,UAAU,8CAGtB,IAAIlC,EAAwC,EAA/BlB,EAAW2D,EAAQC,GAG5BE,GAFJpB,EAAOD,EAAaC,EAAMxB,IAER6C,MAAMJ,EAAQC,GAE5BE,IAAW5C,IAIbwB,EAAOA,EAAKsB,MAAM,EAAGF,IAGvB,OAAOpB,EA5GEuB,CAAWvB,EAAMS,EAAOJ,GAsJnC,SAAqBL,EAAMwB,GACzB,GAAI3B,EAAO4B,SAASD,GAAM,CACxB,IAAIrD,EAA4B,EAAtBuD,EAAQF,EAAIhD,QAGtB,OAAoB,KAFpBwB,EAAOD,EAAaC,EAAM7B,IAEjBK,QAITgD,EAAIG,KAAK3B,EAAM,EAAG,EAAG7B,GAHZ6B,EAOX,GAAIwB,EAAK,CACP,GAA4B,oBAAhBb,aACRa,EAAII,kBAAkBjB,aAAgB,WAAYa,EACpD,MAA0B,iBAAfA,EAAIhD,SA+8CLqD,EA/8CkCL,EAAIhD,SAg9CrCqD,EA/8CF9B,EAAaC,EAAM,GAErBe,EAAcf,EAAMwB,GAG7B,GAAiB,WAAbA,EAAIM,MAAqBnC,EAAQ6B,EAAIO,MACvC,OAAOhB,EAAcf,EAAMwB,EAAIO,MAw8CrC,IAAgBF,EAp8Cd,MAAM,IAAInB,UAAU,sFA9KbsB,CAAWhC,EAAMS,GA4B1B,SAASwB,EAAYC,GACnB,GAAoB,iBAATA,EACT,MAAM,IAAIxB,UAAU,oCACf,GAAIwB,EAAO,EAChB,MAAM,IAAIjC,WAAW,wCA4BzB,SAASM,EAAaP,EAAMkC,GAG1B,GAFAD,EAAWC,GACXlC,EAAOD,EAAaC,EAAMkC,EAAO,EAAI,EAAoB,EAAhBR,EAAQQ,KAC5CrC,EAAOC,oBACV,IAAK,IAAIhC,EAAI,EAAGA,EAAIoE,IAAQpE,EAC1BkC,EAAKlC,GAAK,EAGd,OAAOkC,EAwCT,SAASe,EAAef,EAAMY,GAC5B,IAAIpC,EAASoC,EAAMpC,OAAS,EAAI,EAA4B,EAAxBkD,EAAQd,EAAMpC,QAClDwB,EAAOD,EAAaC,EAAMxB,GAC1B,IAAK,IAAIV,EAAI,EAAGA,EAAIU,EAAQV,GAAK,EAC/BkC,EAAKlC,GAAgB,IAAX8C,EAAM9C,GAElB,OAAOkC,EA+DT,SAAS0B,EAASlD,GAGhB,GAAIA,GAAUoB,IACZ,MAAM,IAAIK,WAAW,0DACaL,IAAauC,SAAS,IAAM,UAEhE,OAAgB,EAAT3D,EAsFT,SAASlB,EAAY2D,EAAQC,GAC3B,GAAIrB,EAAO4B,SAASR,GAClB,OAAOA,EAAOzC,OAEhB,GAA2B,oBAAhBmC,aAA6D,mBAAvBA,YAAYyB,SACxDzB,YAAYyB,OAAOnB,IAAWA,aAAkBN,aACnD,OAAOM,EAAO3D,WAEM,iBAAX2D,IACTA,EAAS,GAAKA,GAGhB,IAAI9C,EAAM8C,EAAOzC,OACjB,GAAY,IAARL,EAAW,OAAO,EAItB,IADA,IAAIkE,GAAc,IAEhB,OAAQnB,GACN,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAO/C,EACT,IAAK,OACL,IAAK,QACL,UAAK2C,EACH,OAAOwB,EAAYrB,GAAQzC,OAC7B,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAa,EAANL,EACT,IAAK,MACH,OAAOA,IAAQ,EACjB,IAAK,SACH,OAAOoE,EAActB,GAAQzC,OAC/B,QACE,GAAI6D,EAAa,OAAOC,EAAYrB,GAAQzC,OAC5C0C,GAAY,GAAKA,GAAUsB,cAC3BH,GAAc,GAMtB,SAASI,EAAcvB,EAAU7B,EAAOC,GACtC,IAAI+C,GAAc,EAclB,SALcvB,IAAVzB,GAAuBA,EAAQ,KACjCA,EAAQ,GAINA,EAAQiB,KAAK9B,OACf,MAAO,GAOT,SAJYsC,IAARxB,GAAqBA,EAAMgB,KAAK9B,UAClCc,EAAMgB,KAAK9B,QAGTc,GAAO,EACT,MAAO,GAOT,IAHAA,KAAS,KACTD,KAAW,GAGT,MAAO,GAKT,IAFK6B,IAAUA,EAAW,UAGxB,OAAQA,GACN,IAAK,MACH,OAAOwB,EAASpC,KAAMjB,EAAOC,GAE/B,IAAK,OACL,IAAK,QACH,OAAOqD,EAAUrC,KAAMjB,EAAOC,GAEhC,IAAK,QACH,OAAOsD,EAAWtC,KAAMjB,EAAOC,GAEjC,IAAK,SACL,IAAK,SACH,OAAOuD,EAAYvC,KAAMjB,EAAOC,GAElC,IAAK,SACH,OAAOwD,EAAYxC,KAAMjB,EAAOC,GAElC,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOyD,EAAazC,KAAMjB,EAAOC,GAEnC,QACE,GAAI+C,EAAa,MAAM,IAAI3B,UAAU,qBAAuBQ,GAC5DA,GAAYA,EAAW,IAAIsB,cAC3BH,GAAc,GAStB,SAASW,EAAMC,EAAGC,EAAGC,GACnB,IAAIrF,EAAImF,EAAEC,GACVD,EAAEC,GAAKD,EAAEE,GACTF,EAAEE,GAAKrF,EAmIT,SAASsF,EAAsBxB,EAAQC,EAAKhB,EAAYK,EAAUmC,GAEhE,GAAsB,IAAlBzB,EAAOpD,OAAc,OAAQ,EAmBjC,GAhB0B,iBAAfqC,GACTK,EAAWL,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,GAAc,aACvBA,GAAc,YAEhBA,GAAcA,EACVyC,MAAMzC,KAERA,EAAawC,EAAM,EAAKzB,EAAOpD,OAAS,GAItCqC,EAAa,IAAGA,EAAae,EAAOpD,OAASqC,GAC7CA,GAAce,EAAOpD,OAAQ,CAC/B,GAAI6E,EAAK,OAAQ,EACZxC,EAAae,EAAOpD,OAAS,OAC7B,GAAIqC,EAAa,EAAG,CACzB,IAAIwC,EACC,OAAQ,EADJxC,EAAa,EAUxB,GALmB,iBAARgB,IACTA,EAAMhC,EAAOW,KAAKqB,EAAKX,IAIrBrB,EAAO4B,SAASI,GAElB,OAAmB,IAAfA,EAAIrD,QACE,EAEH+E,EAAa3B,EAAQC,EAAKhB,EAAYK,EAAUmC,GAClD,GAAmB,iBAARxB,EAEhB,OADAA,GAAY,IACRhC,EAAOC,qBACiC,mBAAjCd,WAAWmB,UAAUf,QAC1BiE,EACKrE,WAAWmB,UAAUf,QAAQoE,KAAK5B,EAAQC,EAAKhB,GAE/C7B,WAAWmB,UAAUsD,YAAYD,KAAK5B,EAAQC,EAAKhB,GAGvD0C,EAAa3B,EAAQ,CAAEC,GAAOhB,EAAYK,EAAUmC,GAG7D,MAAM,IAAI3C,UAAU,wCAGtB,SAAS6C,EAAcxF,EAAK8D,EAAKhB,EAAYK,EAAUmC,GACrD,IA0BIvF,EA1BA4F,EAAY,EACZC,EAAY5F,EAAIS,OAChBoF,EAAY/B,EAAIrD,OAEpB,QAAiBsC,IAAbI,IAEe,UADjBA,EAAW2C,OAAO3C,GAAUsB,gBACY,UAAbtB,GACV,YAAbA,GAAuC,aAAbA,GAAyB,CACrD,GAAInD,EAAIS,OAAS,GAAKqD,EAAIrD,OAAS,EACjC,OAAQ,EAEVkF,EAAY,EACZC,GAAa,EACbC,GAAa,EACb/C,GAAc,EAIlB,SAASiD,EAAMC,EAAKjG,GAClB,OAAkB,IAAd4F,EACKK,EAAIjG,GAEJiG,EAAIC,aAAalG,EAAI4F,GAKhC,GAAIL,EAAK,CACP,IAAIY,GAAc,EAClB,IAAKnG,EAAI+C,EAAY/C,EAAI6F,EAAW7F,IAClC,GAAIgG,EAAK/F,EAAKD,KAAOgG,EAAKjC,GAAqB,IAAhBoC,EAAoB,EAAInG,EAAImG,IAEzD,IADoB,IAAhBA,IAAmBA,EAAanG,GAChCA,EAAImG,EAAa,IAAML,EAAW,OAAOK,EAAaP,OAEtC,IAAhBO,IAAmBnG,GAAKA,EAAImG,GAChCA,GAAc,OAKlB,IADIpD,EAAa+C,EAAYD,IAAW9C,EAAa8C,EAAYC,GAC5D9F,EAAI+C,EAAY/C,GAAK,EAAGA,IAAK,CAEhC,IADA,IAAIoG,GAAQ,EACHC,EAAI,EAAGA,EAAIP,EAAWO,IAC7B,GAAIL,EAAK/F,EAAKD,EAAIqG,KAAOL,EAAKjC,EAAKsC,GAAI,CACrCD,GAAQ,EACR,MAGJ,GAAIA,EAAO,OAAOpG,EAItB,OAAQ,EAeV,SAASsG,EAAUL,EAAK9C,EAAQoD,EAAQ7F,GACtC6F,EAASC,OAAOD,IAAW,EAC3B,IAAIE,EAAYR,EAAIvF,OAAS6F,EACxB7F,GAGHA,EAAS8F,OAAO9F,IACH+F,IACX/F,EAAS+F,GAJX/F,EAAS+F,EASX,IAAIC,EAASvD,EAAOzC,OACpB,GAAIgG,EAAS,GAAM,EAAG,MAAM,IAAI9D,UAAU,sBAEtClC,EAASgG,EAAS,IACpBhG,EAASgG,EAAS,GAEpB,IAAK,IAAI1G,EAAI,EAAGA,EAAIU,IAAUV,EAAG,CAC/B,IAAI2G,EAASC,SAASzD,EAAO0D,OAAW,EAAJ7G,EAAO,GAAI,IAC/C,GAAIwF,MAAMmB,GAAS,OAAO3G,EAC1BiG,EAAIM,EAASvG,GAAK2G,EAEpB,OAAO3G,EAGT,SAAS8G,EAAWb,EAAK9C,EAAQoD,EAAQ7F,GACvC,OAAOqG,EAAWvC,EAAYrB,EAAQ8C,EAAIvF,OAAS6F,GAASN,EAAKM,EAAQ7F,GAG3E,SAASsG,EAAYf,EAAK9C,EAAQoD,EAAQ7F,GACxC,OAAOqG,EAq6BT,SAAuBE,GAErB,IADA,IAAIC,EAAY,GACPlH,EAAI,EAAGA,EAAIiH,EAAIvG,SAAUV,EAEhCkH,EAAUpG,KAAyB,IAApBmG,EAAI1G,WAAWP,IAEhC,OAAOkH,EA36BWC,CAAahE,GAAS8C,EAAKM,EAAQ7F,GAGvD,SAAS0G,EAAanB,EAAK9C,EAAQoD,EAAQ7F,GACzC,OAAOsG,EAAWf,EAAK9C,EAAQoD,EAAQ7F,GAGzC,SAAS2G,EAAapB,EAAK9C,EAAQoD,EAAQ7F,GACzC,OAAOqG,EAAWtC,EAActB,GAAS8C,EAAKM,EAAQ7F,GAGxD,SAAS4G,EAAWrB,EAAK9C,EAAQoD,EAAQ7F,GACvC,OAAOqG,EAk6BT,SAAyBE,EAAKM,GAG5B,IAFA,IAAIC,EAAGC,EAAIC,EACPR,EAAY,GACPlH,EAAI,EAAGA,EAAIiH,EAAIvG,WACjB6G,GAAS,GAAK,KADavH,EAGhCwH,EAAIP,EAAI1G,WAAWP,GACnByH,EAAKD,GAAK,EACVE,EAAKF,EAAI,IACTN,EAAUpG,KAAK4G,GACfR,EAAUpG,KAAK2G,GAGjB,OAAOP,EA/6BWS,CAAexE,EAAQ8C,EAAIvF,OAAS6F,GAASN,EAAKM,EAAQ7F,GAkF9E,SAASsE,EAAaiB,EAAK1E,EAAOC,GAChC,OAAc,IAAVD,GAAeC,IAAQyE,EAAIvF,OACtBiB,EAAOnB,cAAcyF,GAErBtE,EAAOnB,cAAcyF,EAAIzC,MAAMjC,EAAOC,IAIjD,SAASqD,EAAWoB,EAAK1E,EAAOC,GAC9BA,EAAMoG,KAAKC,IAAI5B,EAAIvF,OAAQc,GAI3B,IAHA,IAAIsG,EAAM,GAEN9H,EAAIuB,EACDvB,EAAIwB,GAAK,CACd,IAQMuG,EAAYC,EAAWC,EAAYC,EARrCC,EAAYlC,EAAIjG,GAChBoI,EAAY,KACZC,EAAoBF,EAAY,IAAQ,EACvCA,EAAY,IAAQ,EACpBA,EAAY,IAAQ,EACrB,EAEJ,GAAInI,EAAIqI,GAAoB7G,EAG1B,OAAQ6G,GACN,KAAK,EACCF,EAAY,MACdC,EAAYD,GAEd,MACF,KAAK,EAEyB,MAAV,KADlBJ,EAAa9B,EAAIjG,EAAI,OAEnBkI,GAA6B,GAAZC,IAAqB,EAAoB,GAAbJ,GACzB,MAClBK,EAAYF,GAGhB,MACF,KAAK,EACHH,EAAa9B,EAAIjG,EAAI,GACrBgI,EAAY/B,EAAIjG,EAAI,GACQ,MAAV,IAAb+H,IAAsD,MAAV,IAAZC,KACnCE,GAA6B,GAAZC,IAAoB,IAAoB,GAAbJ,IAAsB,EAAmB,GAAZC,GACrD,OAAUE,EAAgB,OAAUA,EAAgB,SACtEE,EAAYF,GAGhB,MACF,KAAK,EACHH,EAAa9B,EAAIjG,EAAI,GACrBgI,EAAY/B,EAAIjG,EAAI,GACpBiI,EAAahC,EAAIjG,EAAI,GACO,MAAV,IAAb+H,IAAsD,MAAV,IAAZC,IAAsD,MAAV,IAAbC,KAClEC,GAA6B,GAAZC,IAAoB,IAAqB,GAAbJ,IAAsB,IAAmB,GAAZC,IAAqB,EAAoB,GAAbC,GAClF,OAAUC,EAAgB,UAC5CE,EAAYF,GAMJ,OAAdE,GAGFA,EAAY,MACZC,EAAmB,GACVD,EAAY,QAErBA,GAAa,MACbN,EAAIhH,KAAKsH,IAAc,GAAK,KAAQ,OACpCA,EAAY,MAAqB,KAAZA,GAGvBN,EAAIhH,KAAKsH,GACTpI,GAAKqI,EAGP,OAQF,SAAgCC,GAC9B,IAAIjI,EAAMiI,EAAW5H,OACrB,GAAIL,GAJqB,KAKvB,OAAO0F,OAAOwC,aAAaC,MAAMzC,OAAQuC,GAI3C,IAAIR,EAAM,GACN9H,EAAI,EACR,KAAOA,EAAIK,GACTyH,GAAO/B,OAAOwC,aAAaC,MACzBzC,OACAuC,EAAW9E,MAAMxD,EAAGA,GAdC,OAiBzB,OAAO8H,EAvBAW,CAAsBX,GA98B/BvI,EAAQwC,OAASA,EACjBxC,EAAQmJ,WAoTR,SAAqBhI,IACdA,GAAUA,IACbA,EAAS,GAEX,OAAOqB,EAAO4G,OAAOjI,IAvTvBnB,EAAQqJ,kBAAoB,GA0B5B7G,EAAOC,yBAAqDgB,IAA/B6F,EAAO7G,oBAChC6G,EAAO7G,oBAQX,WACE,IACE,IAAI/B,EAAM,IAAIiB,WAAW,GAEzB,OADAjB,EAAImC,UAAY,CAACA,UAAWlB,WAAWmB,UAAWyG,IAAK,WAAc,OAAO,KACvD,KAAd7I,EAAI6I,OACiB,mBAAjB7I,EAAI8I,UACuB,IAAlC9I,EAAI8I,SAAS,EAAG,GAAGvJ,WACvB,MAAOwJ,GACP,OAAO,GAfPC,GAKJ1J,EAAQuC,WAAaA,IAkErBC,EAAOmH,SAAW,KAGlBnH,EAAOoH,SAAW,SAAUlJ,GAE1B,OADAA,EAAImC,UAAYL,EAAOM,UAChBpC,GA2BT8B,EAAOW,KAAO,SAAUC,EAAOJ,EAAkB7B,GAC/C,OAAOgC,EAAK,KAAMC,EAAOJ,EAAkB7B,IAGzCqB,EAAOC,sBACTD,EAAOM,UAAUD,UAAYlB,WAAWmB,UACxCN,EAAOK,UAAYlB,WACG,oBAAXkI,QAA0BA,OAAOC,SACxCtH,EAAOqH,OAAOC,WAAatH,GAE7BuH,OAAOC,eAAexH,EAAQqH,OAAOC,QAAS,CAC5C1G,MAAO,KACP6G,cAAc,KAiCpBzH,EAAO4G,MAAQ,SAAUvE,EAAMqF,EAAMrG,GACnC,OArBF,SAAgBlB,EAAMkC,EAAMqF,EAAMrG,GAEhC,OADAe,EAAWC,GACPA,GAAQ,EACHnC,EAAaC,EAAMkC,QAEfpB,IAATyG,EAIyB,iBAAbrG,EACVnB,EAAaC,EAAMkC,GAAMqF,KAAKA,EAAMrG,GACpCnB,EAAaC,EAAMkC,GAAMqF,KAAKA,GAE7BxH,EAAaC,EAAMkC,GAQnBuE,CAAM,KAAMvE,EAAMqF,EAAMrG,IAiBjCrB,EAAOU,YAAc,SAAU2B,GAC7B,OAAO3B,EAAY,KAAM2B,IAK3BrC,EAAO2H,gBAAkB,SAAUtF,GACjC,OAAO3B,EAAY,KAAM2B,IAiH3BrC,EAAO4B,SAAW,SAAmBwB,GACnC,QAAe,MAALA,IAAaA,EAAEwE,YAG3B5H,EAAO6H,QAAU,SAAkBC,EAAG1E,GACpC,IAAKpD,EAAO4B,SAASkG,KAAO9H,EAAO4B,SAASwB,GAC1C,MAAM,IAAIvC,UAAU,6BAGtB,GAAIiH,IAAM1E,EAAG,OAAO,EAKpB,IAHA,IAAI2E,EAAID,EAAEnJ,OACNqJ,EAAI5E,EAAEzE,OAEDV,EAAI,EAAGK,EAAMuH,KAAKC,IAAIiC,EAAGC,GAAI/J,EAAIK,IAAOL,EAC/C,GAAI6J,EAAE7J,KAAOmF,EAAEnF,GAAI,CACjB8J,EAAID,EAAE7J,GACN+J,EAAI5E,EAAEnF,GACN,MAIJ,OAAI8J,EAAIC,GAAW,EACfA,EAAID,EAAU,EACX,GAGT/H,EAAOsB,WAAa,SAAqBD,GACvC,OAAQ2C,OAAO3C,GAAUsB,eACvB,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO,EACT,QACE,OAAO,IAIb3C,EAAOiI,OAAS,SAAiBC,EAAMvJ,GACrC,IAAKmB,EAAQoI,GACX,MAAM,IAAIrH,UAAU,+CAGtB,GAAoB,IAAhBqH,EAAKvJ,OACP,OAAOqB,EAAO4G,MAAM,GAGtB,IAAI3I,EACJ,QAAegD,IAAXtC,EAEF,IADAA,EAAS,EACJV,EAAI,EAAGA,EAAIiK,EAAKvJ,SAAUV,EAC7BU,GAAUuJ,EAAKjK,GAAGU,OAItB,IAAIoD,EAAS/B,EAAOU,YAAY/B,GAC5BwJ,EAAM,EACV,IAAKlK,EAAI,EAAGA,EAAIiK,EAAKvJ,SAAUV,EAAG,CAChC,IAAIiG,EAAMgE,EAAKjK,GACf,IAAK+B,EAAO4B,SAASsC,GACnB,MAAM,IAAIrD,UAAU,+CAEtBqD,EAAIpC,KAAKC,EAAQoG,GACjBA,GAAOjE,EAAIvF,OAEb,OAAOoD,GA8CT/B,EAAOvC,WAAaA,EA0EpBuC,EAAOM,UAAUsH,WAAY,EAQ7B5H,EAAOM,UAAU8H,OAAS,WACxB,IAAI9J,EAAMmC,KAAK9B,OACf,GAAIL,EAAM,GAAM,EACd,MAAM,IAAI8B,WAAW,6CAEvB,IAAK,IAAInC,EAAI,EAAGA,EAAIK,EAAKL,GAAK,EAC5BkF,EAAK1C,KAAMxC,EAAGA,EAAI,GAEpB,OAAOwC,MAGTT,EAAOM,UAAU+H,OAAS,WACxB,IAAI/J,EAAMmC,KAAK9B,OACf,GAAIL,EAAM,GAAM,EACd,MAAM,IAAI8B,WAAW,6CAEvB,IAAK,IAAInC,EAAI,EAAGA,EAAIK,EAAKL,GAAK,EAC5BkF,EAAK1C,KAAMxC,EAAGA,EAAI,GAClBkF,EAAK1C,KAAMxC,EAAI,EAAGA,EAAI,GAExB,OAAOwC,MAGTT,EAAOM,UAAUgI,OAAS,WACxB,IAAIhK,EAAMmC,KAAK9B,OACf,GAAIL,EAAM,GAAM,EACd,MAAM,IAAI8B,WAAW,6CAEvB,IAAK,IAAInC,EAAI,EAAGA,EAAIK,EAAKL,GAAK,EAC5BkF,EAAK1C,KAAMxC,EAAGA,EAAI,GAClBkF,EAAK1C,KAAMxC,EAAI,EAAGA,EAAI,GACtBkF,EAAK1C,KAAMxC,EAAI,EAAGA,EAAI,GACtBkF,EAAK1C,KAAMxC,EAAI,EAAGA,EAAI,GAExB,OAAOwC,MAGTT,EAAOM,UAAUgC,SAAW,WAC1B,IAAI3D,EAAuB,EAAd8B,KAAK9B,OAClB,OAAe,IAAXA,EAAqB,GACA,IAArB4J,UAAU5J,OAAqBmE,EAAUrC,KAAM,EAAG9B,GAC/CiE,EAAa6D,MAAMhG,KAAM8H,YAGlCvI,EAAOM,UAAUkI,OAAS,SAAiBpF,GACzC,IAAKpD,EAAO4B,SAASwB,GAAI,MAAM,IAAIvC,UAAU,6BAC7C,OAAIJ,OAAS2C,GACsB,IAA5BpD,EAAO6H,QAAQpH,KAAM2C,IAG9BpD,EAAOM,UAAUmI,QAAU,WACzB,IAAIvD,EAAM,GACNwD,EAAMlL,EAAQqJ,kBAKlB,OAJIpG,KAAK9B,OAAS,IAChBuG,EAAMzE,KAAK6B,SAAS,MAAO,EAAGoG,GAAKC,MAAM,SAASzJ,KAAK,KACnDuB,KAAK9B,OAAS+J,IAAKxD,GAAO,UAEzB,WAAaA,EAAM,KAG5BlF,EAAOM,UAAUuH,QAAU,SAAkBe,EAAQpJ,EAAOC,EAAKoJ,EAAWC,GAC1E,IAAK9I,EAAO4B,SAASgH,GACnB,MAAM,IAAI/H,UAAU,6BAgBtB,QAbcI,IAAVzB,IACFA,EAAQ,QAEEyB,IAARxB,IACFA,EAAMmJ,EAASA,EAAOjK,OAAS,QAEfsC,IAAd4H,IACFA,EAAY,QAEE5H,IAAZ6H,IACFA,EAAUrI,KAAK9B,QAGba,EAAQ,GAAKC,EAAMmJ,EAAOjK,QAAUkK,EAAY,GAAKC,EAAUrI,KAAK9B,OACtE,MAAM,IAAIyB,WAAW,sBAGvB,GAAIyI,GAAaC,GAAWtJ,GAASC,EACnC,OAAO,EAET,GAAIoJ,GAAaC,EACf,OAAQ,EAEV,GAAItJ,GAASC,EACX,OAAO,EAQT,GAAIgB,OAASmI,EAAQ,OAAO,EAS5B,IAPA,IAAIb,GAJJe,KAAa,IADbD,KAAe,GAMXb,GAPJvI,KAAS,IADTD,KAAW,GASPlB,EAAMuH,KAAKC,IAAIiC,EAAGC,GAElBe,EAAWtI,KAAKgB,MAAMoH,EAAWC,GACjCE,EAAaJ,EAAOnH,MAAMjC,EAAOC,GAE5BxB,EAAI,EAAGA,EAAIK,IAAOL,EACzB,GAAI8K,EAAS9K,KAAO+K,EAAW/K,GAAI,CACjC8J,EAAIgB,EAAS9K,GACb+J,EAAIgB,EAAW/K,GACf,MAIJ,OAAI8J,EAAIC,GAAW,EACfA,EAAID,EAAU,EACX,GA6HT/H,EAAOM,UAAU2I,SAAW,SAAmBjH,EAAKhB,EAAYK,GAC9D,OAAoD,IAA7CZ,KAAKlB,QAAQyC,EAAKhB,EAAYK,IAGvCrB,EAAOM,UAAUf,QAAU,SAAkByC,EAAKhB,EAAYK,GAC5D,OAAOkC,EAAqB9C,KAAMuB,EAAKhB,EAAYK,GAAU,IAG/DrB,EAAOM,UAAUsD,YAAc,SAAsB5B,EAAKhB,EAAYK,GACpE,OAAOkC,EAAqB9C,KAAMuB,EAAKhB,EAAYK,GAAU,IAkD/DrB,EAAOM,UAAUkB,MAAQ,SAAgBJ,EAAQoD,EAAQ7F,EAAQ0C,GAE/D,QAAeJ,IAAXuD,EACFnD,EAAW,OACX1C,EAAS8B,KAAK9B,OACd6F,EAAS,OAEJ,QAAevD,IAAXtC,GAA0C,iBAAX6F,EACxCnD,EAAWmD,EACX7F,EAAS8B,KAAK9B,OACd6F,EAAS,MAEJ,KAAI0E,SAAS1E,GAWlB,MAAM,IAAIlF,MACR,2EAXFkF,GAAkB,EACd0E,SAASvK,IACXA,GAAkB,OACDsC,IAAbI,IAAwBA,EAAW,UAEvCA,EAAW1C,EACXA,OAASsC,GASb,IAAIyD,EAAYjE,KAAK9B,OAAS6F,EAG9B,SAFevD,IAAXtC,GAAwBA,EAAS+F,KAAW/F,EAAS+F,GAEpDtD,EAAOzC,OAAS,IAAMA,EAAS,GAAK6F,EAAS,IAAOA,EAAS/D,KAAK9B,OACrE,MAAM,IAAIyB,WAAW,0CAGlBiB,IAAUA,EAAW,QAG1B,IADA,IAAImB,GAAc,IAEhB,OAAQnB,GACN,IAAK,MACH,OAAOkD,EAAS9D,KAAMW,EAAQoD,EAAQ7F,GAExC,IAAK,OACL,IAAK,QACH,OAAOoG,EAAUtE,KAAMW,EAAQoD,EAAQ7F,GAEzC,IAAK,QACH,OAAOsG,EAAWxE,KAAMW,EAAQoD,EAAQ7F,GAE1C,IAAK,SACL,IAAK,SACH,OAAO0G,EAAY5E,KAAMW,EAAQoD,EAAQ7F,GAE3C,IAAK,SAEH,OAAO2G,EAAY7E,KAAMW,EAAQoD,EAAQ7F,GAE3C,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO4G,EAAU9E,KAAMW,EAAQoD,EAAQ7F,GAEzC,QACE,GAAI6D,EAAa,MAAM,IAAI3B,UAAU,qBAAuBQ,GAC5DA,GAAY,GAAKA,GAAUsB,cAC3BH,GAAc,IAKtBxC,EAAOM,UAAU6I,OAAS,WACxB,MAAO,CACLlH,KAAM,SACNC,KAAM9C,MAAMkB,UAAUmB,MAAMkC,KAAKlD,KAAK2I,MAAQ3I,KAAM,KA4GxD,SAASsC,EAAYmB,EAAK1E,EAAOC,GAC/B,IAAI4J,EAAM,GACV5J,EAAMoG,KAAKC,IAAI5B,EAAIvF,OAAQc,GAE3B,IAAK,IAAIxB,EAAIuB,EAAOvB,EAAIwB,IAAOxB,EAC7BoL,GAAOrF,OAAOwC,aAAsB,IAATtC,EAAIjG,IAEjC,OAAOoL,EAGT,SAASrG,EAAakB,EAAK1E,EAAOC,GAChC,IAAI4J,EAAM,GACV5J,EAAMoG,KAAKC,IAAI5B,EAAIvF,OAAQc,GAE3B,IAAK,IAAIxB,EAAIuB,EAAOvB,EAAIwB,IAAOxB,EAC7BoL,GAAOrF,OAAOwC,aAAatC,EAAIjG,IAEjC,OAAOoL,EAGT,SAASxG,EAAUqB,EAAK1E,EAAOC,GAC7B,IAAInB,EAAM4F,EAAIvF,SAETa,GAASA,EAAQ,KAAGA,EAAQ,KAC5BC,GAAOA,EAAM,GAAKA,EAAMnB,KAAKmB,EAAMnB,GAGxC,IADA,IAAIgL,EAAM,GACDrL,EAAIuB,EAAOvB,EAAIwB,IAAOxB,EAC7BqL,GAAOC,EAAMrF,EAAIjG,IAEnB,OAAOqL,EAGT,SAASpG,EAAcgB,EAAK1E,EAAOC,GAGjC,IAFA,IAAI+J,EAAQtF,EAAIzC,MAAMjC,EAAOC,GACzBsG,EAAM,GACD9H,EAAI,EAAGA,EAAIuL,EAAM7K,OAAQV,GAAK,EACrC8H,GAAO/B,OAAOwC,aAAagD,EAAMvL,GAAoB,IAAfuL,EAAMvL,EAAI,IAElD,OAAO8H,EA0CT,SAAS0D,EAAajF,EAAQkF,EAAK/K,GACjC,GAAK6F,EAAS,GAAO,GAAKA,EAAS,EAAG,MAAM,IAAIpE,WAAW,sBAC3D,GAAIoE,EAASkF,EAAM/K,EAAQ,MAAM,IAAIyB,WAAW,yCA+JlD,SAASuJ,EAAUzF,EAAKtD,EAAO4D,EAAQkF,EAAKhB,EAAK5C,GAC/C,IAAK9F,EAAO4B,SAASsC,GAAM,MAAM,IAAIrD,UAAU,+CAC/C,GAAID,EAAQ8H,GAAO9H,EAAQkF,EAAK,MAAM,IAAI1F,WAAW,qCACrD,GAAIoE,EAASkF,EAAMxF,EAAIvF,OAAQ,MAAM,IAAIyB,WAAW,sBAkDtD,SAASwJ,EAAmB1F,EAAKtD,EAAO4D,EAAQqF,GAC1CjJ,EAAQ,IAAGA,EAAQ,MAASA,EAAQ,GACxC,IAAK,IAAI3C,EAAI,EAAGqG,EAAIuB,KAAKC,IAAI5B,EAAIvF,OAAS6F,EAAQ,GAAIvG,EAAIqG,IAAKrG,EAC7DiG,EAAIM,EAASvG,IAAM2C,EAAS,KAAS,GAAKiJ,EAAe5L,EAAI,EAAIA,MAClC,GAA5B4L,EAAe5L,EAAI,EAAIA,GA8B9B,SAAS6L,EAAmB5F,EAAKtD,EAAO4D,EAAQqF,GAC1CjJ,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GAC5C,IAAK,IAAI3C,EAAI,EAAGqG,EAAIuB,KAAKC,IAAI5B,EAAIvF,OAAS6F,EAAQ,GAAIvG,EAAIqG,IAAKrG,EAC7DiG,EAAIM,EAASvG,GAAM2C,IAAuC,GAA5BiJ,EAAe5L,EAAI,EAAIA,GAAU,IAmJnE,SAAS8L,EAAc7F,EAAKtD,EAAO4D,EAAQkF,EAAKhB,EAAK5C,GACnD,GAAItB,EAASkF,EAAMxF,EAAIvF,OAAQ,MAAM,IAAIyB,WAAW,sBACpD,GAAIoE,EAAS,EAAG,MAAM,IAAIpE,WAAW,sBAGvC,SAAS4J,EAAY9F,EAAKtD,EAAO4D,EAAQqF,EAAcI,GAKrD,OAJKA,GACHF,EAAa7F,EAAKtD,EAAO4D,EAAQ,GAEnC3E,EAAQ2B,MAAM0C,EAAKtD,EAAO4D,EAAQqF,EAAc,GAAI,GAC7CrF,EAAS,EAWlB,SAAS0F,EAAahG,EAAKtD,EAAO4D,EAAQqF,EAAcI,GAKtD,OAJKA,GACHF,EAAa7F,EAAKtD,EAAO4D,EAAQ,GAEnC3E,EAAQ2B,MAAM0C,EAAKtD,EAAO4D,EAAQqF,EAAc,GAAI,GAC7CrF,EAAS,EA/clBxE,EAAOM,UAAUmB,MAAQ,SAAgBjC,EAAOC,GAC9C,IAoBI0K,EApBA7L,EAAMmC,KAAK9B,OAqBf,IApBAa,IAAUA,GAGE,GACVA,GAASlB,GACG,IAAGkB,EAAQ,GACdA,EAAQlB,IACjBkB,EAAQlB,IANVmB,OAAcwB,IAARxB,EAAoBnB,IAAQmB,GASxB,GACRA,GAAOnB,GACG,IAAGmB,EAAM,GACVA,EAAMnB,IACfmB,EAAMnB,GAGJmB,EAAMD,IAAOC,EAAMD,GAGnBQ,EAAOC,qBACTkK,EAAS1J,KAAKuG,SAASxH,EAAOC,IACvBY,UAAYL,EAAOM,cACrB,CACL,IAAI8J,EAAW3K,EAAMD,EACrB2K,EAAS,IAAInK,EAAOoK,OAAUnJ,GAC9B,IAAK,IAAIhD,EAAI,EAAGA,EAAImM,IAAYnM,EAC9BkM,EAAOlM,GAAKwC,KAAKxC,EAAIuB,GAIzB,OAAO2K,GAWTnK,EAAOM,UAAU+J,WAAa,SAAqB7F,EAAQ/G,EAAYwM,GACrEzF,GAAkB,EAClB/G,GAA0B,EACrBwM,GAAUR,EAAYjF,EAAQ/G,EAAYgD,KAAK9B,QAKpD,IAHA,IAAIqD,EAAMvB,KAAK+D,GACX8F,EAAM,EACNrM,EAAI,IACCA,EAAIR,IAAe6M,GAAO,MACjCtI,GAAOvB,KAAK+D,EAASvG,GAAKqM,EAG5B,OAAOtI,GAGThC,EAAOM,UAAUiK,WAAa,SAAqB/F,EAAQ/G,EAAYwM,GACrEzF,GAAkB,EAClB/G,GAA0B,EACrBwM,GACHR,EAAYjF,EAAQ/G,EAAYgD,KAAK9B,QAKvC,IAFA,IAAIqD,EAAMvB,KAAK+D,IAAW/G,GACtB6M,EAAM,EACH7M,EAAa,IAAM6M,GAAO,MAC/BtI,GAAOvB,KAAK+D,IAAW/G,GAAc6M,EAGvC,OAAOtI,GAGThC,EAAOM,UAAUkK,UAAY,SAAoBhG,EAAQyF,GAEvD,OADKA,GAAUR,EAAYjF,EAAQ,EAAG/D,KAAK9B,QACpC8B,KAAK+D,IAGdxE,EAAOM,UAAUmK,aAAe,SAAuBjG,EAAQyF,GAE7D,OADKA,GAAUR,EAAYjF,EAAQ,EAAG/D,KAAK9B,QACpC8B,KAAK+D,GAAW/D,KAAK+D,EAAS,IAAM,GAG7CxE,EAAOM,UAAU6D,aAAe,SAAuBK,EAAQyF,GAE7D,OADKA,GAAUR,EAAYjF,EAAQ,EAAG/D,KAAK9B,QACnC8B,KAAK+D,IAAW,EAAK/D,KAAK+D,EAAS,IAG7CxE,EAAOM,UAAUoK,aAAe,SAAuBlG,EAAQyF,GAG7D,OAFKA,GAAUR,EAAYjF,EAAQ,EAAG/D,KAAK9B,SAElC8B,KAAK+D,GACT/D,KAAK+D,EAAS,IAAM,EACpB/D,KAAK+D,EAAS,IAAM,IACD,SAAnB/D,KAAK+D,EAAS,IAGrBxE,EAAOM,UAAUqK,aAAe,SAAuBnG,EAAQyF,GAG7D,OAFKA,GAAUR,EAAYjF,EAAQ,EAAG/D,KAAK9B,QAEpB,SAAf8B,KAAK+D,IACT/D,KAAK+D,EAAS,IAAM,GACrB/D,KAAK+D,EAAS,IAAM,EACrB/D,KAAK+D,EAAS,KAGlBxE,EAAOM,UAAUsK,UAAY,SAAoBpG,EAAQ/G,EAAYwM,GACnEzF,GAAkB,EAClB/G,GAA0B,EACrBwM,GAAUR,EAAYjF,EAAQ/G,EAAYgD,KAAK9B,QAKpD,IAHA,IAAIqD,EAAMvB,KAAK+D,GACX8F,EAAM,EACNrM,EAAI,IACCA,EAAIR,IAAe6M,GAAO,MACjCtI,GAAOvB,KAAK+D,EAASvG,GAAKqM,EAM5B,OAFItI,IAFJsI,GAAO,OAEStI,GAAO6D,KAAKgF,IAAI,EAAG,EAAIpN,IAEhCuE,GAGThC,EAAOM,UAAUwK,UAAY,SAAoBtG,EAAQ/G,EAAYwM,GACnEzF,GAAkB,EAClB/G,GAA0B,EACrBwM,GAAUR,EAAYjF,EAAQ/G,EAAYgD,KAAK9B,QAKpD,IAHA,IAAIV,EAAIR,EACJ6M,EAAM,EACNtI,EAAMvB,KAAK+D,IAAWvG,GACnBA,EAAI,IAAMqM,GAAO,MACtBtI,GAAOvB,KAAK+D,IAAWvG,GAAKqM,EAM9B,OAFItI,IAFJsI,GAAO,OAEStI,GAAO6D,KAAKgF,IAAI,EAAG,EAAIpN,IAEhCuE,GAGThC,EAAOM,UAAUyK,SAAW,SAAmBvG,EAAQyF,GAErD,OADKA,GAAUR,EAAYjF,EAAQ,EAAG/D,KAAK9B,QACtB,IAAf8B,KAAK+D,IAC0B,GAA5B,IAAO/D,KAAK+D,GAAU,GADK/D,KAAK+D,IAI3CxE,EAAOM,UAAU0K,YAAc,SAAsBxG,EAAQyF,GACtDA,GAAUR,EAAYjF,EAAQ,EAAG/D,KAAK9B,QAC3C,IAAIqD,EAAMvB,KAAK+D,GAAW/D,KAAK+D,EAAS,IAAM,EAC9C,OAAc,MAANxC,EAAsB,WAANA,EAAmBA,GAG7ChC,EAAOM,UAAU2K,YAAc,SAAsBzG,EAAQyF,GACtDA,GAAUR,EAAYjF,EAAQ,EAAG/D,KAAK9B,QAC3C,IAAIqD,EAAMvB,KAAK+D,EAAS,GAAM/D,KAAK+D,IAAW,EAC9C,OAAc,MAANxC,EAAsB,WAANA,EAAmBA,GAG7ChC,EAAOM,UAAU4K,YAAc,SAAsB1G,EAAQyF,GAG3D,OAFKA,GAAUR,EAAYjF,EAAQ,EAAG/D,KAAK9B,QAEnC8B,KAAK+D,GACV/D,KAAK+D,EAAS,IAAM,EACpB/D,KAAK+D,EAAS,IAAM,GACpB/D,KAAK+D,EAAS,IAAM,IAGzBxE,EAAOM,UAAU6K,YAAc,SAAsB3G,EAAQyF,GAG3D,OAFKA,GAAUR,EAAYjF,EAAQ,EAAG/D,KAAK9B,QAEnC8B,KAAK+D,IAAW,GACrB/D,KAAK+D,EAAS,IAAM,GACpB/D,KAAK+D,EAAS,IAAM,EACpB/D,KAAK+D,EAAS,IAGnBxE,EAAOM,UAAU8K,YAAc,SAAsB5G,EAAQyF,GAE3D,OADKA,GAAUR,EAAYjF,EAAQ,EAAG/D,KAAK9B,QACpCkB,EAAQoE,KAAKxD,KAAM+D,GAAQ,EAAM,GAAI,IAG9CxE,EAAOM,UAAU+K,YAAc,SAAsB7G,EAAQyF,GAE3D,OADKA,GAAUR,EAAYjF,EAAQ,EAAG/D,KAAK9B,QACpCkB,EAAQoE,KAAKxD,KAAM+D,GAAQ,EAAO,GAAI,IAG/CxE,EAAOM,UAAUgL,aAAe,SAAuB9G,EAAQyF,GAE7D,OADKA,GAAUR,EAAYjF,EAAQ,EAAG/D,KAAK9B,QACpCkB,EAAQoE,KAAKxD,KAAM+D,GAAQ,EAAM,GAAI,IAG9CxE,EAAOM,UAAUiL,aAAe,SAAuB/G,EAAQyF,GAE7D,OADKA,GAAUR,EAAYjF,EAAQ,EAAG/D,KAAK9B,QACpCkB,EAAQoE,KAAKxD,KAAM+D,GAAQ,EAAO,GAAI,IAS/CxE,EAAOM,UAAUkL,YAAc,SAAsB5K,EAAO4D,EAAQ/G,EAAYwM,IAC9ErJ,GAASA,EACT4D,GAAkB,EAClB/G,GAA0B,EACrBwM,IAEHN,EAASlJ,KAAMG,EAAO4D,EAAQ/G,EADfoI,KAAKgF,IAAI,EAAG,EAAIpN,GAAc,EACO,GAGtD,IAAI6M,EAAM,EACNrM,EAAI,EAER,IADAwC,KAAK+D,GAAkB,IAAR5D,IACN3C,EAAIR,IAAe6M,GAAO,MACjC7J,KAAK+D,EAASvG,GAAM2C,EAAQ0J,EAAO,IAGrC,OAAO9F,EAAS/G,GAGlBuC,EAAOM,UAAUmL,YAAc,SAAsB7K,EAAO4D,EAAQ/G,EAAYwM,IAC9ErJ,GAASA,EACT4D,GAAkB,EAClB/G,GAA0B,EACrBwM,IAEHN,EAASlJ,KAAMG,EAAO4D,EAAQ/G,EADfoI,KAAKgF,IAAI,EAAG,EAAIpN,GAAc,EACO,GAGtD,IAAIQ,EAAIR,EAAa,EACjB6M,EAAM,EAEV,IADA7J,KAAK+D,EAASvG,GAAa,IAAR2C,IACV3C,GAAK,IAAMqM,GAAO,MACzB7J,KAAK+D,EAASvG,GAAM2C,EAAQ0J,EAAO,IAGrC,OAAO9F,EAAS/G,GAGlBuC,EAAOM,UAAUoL,WAAa,SAAqB9K,EAAO4D,EAAQyF,GAMhE,OALArJ,GAASA,EACT4D,GAAkB,EACbyF,GAAUN,EAASlJ,KAAMG,EAAO4D,EAAQ,EAAG,IAAM,GACjDxE,EAAOC,sBAAqBW,EAAQiF,KAAK8F,MAAM/K,IACpDH,KAAK+D,GAAmB,IAAR5D,EACT4D,EAAS,GAWlBxE,EAAOM,UAAUsL,cAAgB,SAAwBhL,EAAO4D,EAAQyF,GAUtE,OATArJ,GAASA,EACT4D,GAAkB,EACbyF,GAAUN,EAASlJ,KAAMG,EAAO4D,EAAQ,EAAG,MAAQ,GACpDxE,EAAOC,qBACTQ,KAAK+D,GAAmB,IAAR5D,EAChBH,KAAK+D,EAAS,GAAM5D,IAAU,GAE9BgJ,EAAkBnJ,KAAMG,EAAO4D,GAAQ,GAElCA,EAAS,GAGlBxE,EAAOM,UAAUuL,cAAgB,SAAwBjL,EAAO4D,EAAQyF,GAUtE,OATArJ,GAASA,EACT4D,GAAkB,EACbyF,GAAUN,EAASlJ,KAAMG,EAAO4D,EAAQ,EAAG,MAAQ,GACpDxE,EAAOC,qBACTQ,KAAK+D,GAAW5D,IAAU,EAC1BH,KAAK+D,EAAS,GAAc,IAAR5D,GAEpBgJ,EAAkBnJ,KAAMG,EAAO4D,GAAQ,GAElCA,EAAS,GAUlBxE,EAAOM,UAAUwL,cAAgB,SAAwBlL,EAAO4D,EAAQyF,GAYtE,OAXArJ,GAASA,EACT4D,GAAkB,EACbyF,GAAUN,EAASlJ,KAAMG,EAAO4D,EAAQ,EAAG,WAAY,GACxDxE,EAAOC,qBACTQ,KAAK+D,EAAS,GAAM5D,IAAU,GAC9BH,KAAK+D,EAAS,GAAM5D,IAAU,GAC9BH,KAAK+D,EAAS,GAAM5D,IAAU,EAC9BH,KAAK+D,GAAmB,IAAR5D,GAEhBkJ,EAAkBrJ,KAAMG,EAAO4D,GAAQ,GAElCA,EAAS,GAGlBxE,EAAOM,UAAUyL,cAAgB,SAAwBnL,EAAO4D,EAAQyF,GAYtE,OAXArJ,GAASA,EACT4D,GAAkB,EACbyF,GAAUN,EAASlJ,KAAMG,EAAO4D,EAAQ,EAAG,WAAY,GACxDxE,EAAOC,qBACTQ,KAAK+D,GAAW5D,IAAU,GAC1BH,KAAK+D,EAAS,GAAM5D,IAAU,GAC9BH,KAAK+D,EAAS,GAAM5D,IAAU,EAC9BH,KAAK+D,EAAS,GAAc,IAAR5D,GAEpBkJ,EAAkBrJ,KAAMG,EAAO4D,GAAQ,GAElCA,EAAS,GAGlBxE,EAAOM,UAAU0L,WAAa,SAAqBpL,EAAO4D,EAAQ/G,EAAYwM,GAG5E,GAFArJ,GAASA,EACT4D,GAAkB,GACbyF,EAAU,CACb,IAAIgC,EAAQpG,KAAKgF,IAAI,EAAG,EAAIpN,EAAa,GAEzCkM,EAASlJ,KAAMG,EAAO4D,EAAQ/G,EAAYwO,EAAQ,GAAIA,GAGxD,IAAIhO,EAAI,EACJqM,EAAM,EACN4B,EAAM,EAEV,IADAzL,KAAK+D,GAAkB,IAAR5D,IACN3C,EAAIR,IAAe6M,GAAO,MAC7B1J,EAAQ,GAAa,IAARsL,GAAsC,IAAzBzL,KAAK+D,EAASvG,EAAI,KAC9CiO,EAAM,GAERzL,KAAK+D,EAASvG,IAAO2C,EAAQ0J,GAAQ,GAAK4B,EAAM,IAGlD,OAAO1H,EAAS/G,GAGlBuC,EAAOM,UAAU6L,WAAa,SAAqBvL,EAAO4D,EAAQ/G,EAAYwM,GAG5E,GAFArJ,GAASA,EACT4D,GAAkB,GACbyF,EAAU,CACb,IAAIgC,EAAQpG,KAAKgF,IAAI,EAAG,EAAIpN,EAAa,GAEzCkM,EAASlJ,KAAMG,EAAO4D,EAAQ/G,EAAYwO,EAAQ,GAAIA,GAGxD,IAAIhO,EAAIR,EAAa,EACjB6M,EAAM,EACN4B,EAAM,EAEV,IADAzL,KAAK+D,EAASvG,GAAa,IAAR2C,IACV3C,GAAK,IAAMqM,GAAO,MACrB1J,EAAQ,GAAa,IAARsL,GAAsC,IAAzBzL,KAAK+D,EAASvG,EAAI,KAC9CiO,EAAM,GAERzL,KAAK+D,EAASvG,IAAO2C,EAAQ0J,GAAQ,GAAK4B,EAAM,IAGlD,OAAO1H,EAAS/G,GAGlBuC,EAAOM,UAAU8L,UAAY,SAAoBxL,EAAO4D,EAAQyF,GAO9D,OANArJ,GAASA,EACT4D,GAAkB,EACbyF,GAAUN,EAASlJ,KAAMG,EAAO4D,EAAQ,EAAG,KAAO,KAClDxE,EAAOC,sBAAqBW,EAAQiF,KAAK8F,MAAM/K,IAChDA,EAAQ,IAAGA,EAAQ,IAAOA,EAAQ,GACtCH,KAAK+D,GAAmB,IAAR5D,EACT4D,EAAS,GAGlBxE,EAAOM,UAAU+L,aAAe,SAAuBzL,EAAO4D,EAAQyF,GAUpE,OATArJ,GAASA,EACT4D,GAAkB,EACbyF,GAAUN,EAASlJ,KAAMG,EAAO4D,EAAQ,EAAG,OAAS,OACrDxE,EAAOC,qBACTQ,KAAK+D,GAAmB,IAAR5D,EAChBH,KAAK+D,EAAS,GAAM5D,IAAU,GAE9BgJ,EAAkBnJ,KAAMG,EAAO4D,GAAQ,GAElCA,EAAS,GAGlBxE,EAAOM,UAAUgM,aAAe,SAAuB1L,EAAO4D,EAAQyF,GAUpE,OATArJ,GAASA,EACT4D,GAAkB,EACbyF,GAAUN,EAASlJ,KAAMG,EAAO4D,EAAQ,EAAG,OAAS,OACrDxE,EAAOC,qBACTQ,KAAK+D,GAAW5D,IAAU,EAC1BH,KAAK+D,EAAS,GAAc,IAAR5D,GAEpBgJ,EAAkBnJ,KAAMG,EAAO4D,GAAQ,GAElCA,EAAS,GAGlBxE,EAAOM,UAAUiM,aAAe,SAAuB3L,EAAO4D,EAAQyF,GAYpE,OAXArJ,GAASA,EACT4D,GAAkB,EACbyF,GAAUN,EAASlJ,KAAMG,EAAO4D,EAAQ,EAAG,YAAa,YACzDxE,EAAOC,qBACTQ,KAAK+D,GAAmB,IAAR5D,EAChBH,KAAK+D,EAAS,GAAM5D,IAAU,EAC9BH,KAAK+D,EAAS,GAAM5D,IAAU,GAC9BH,KAAK+D,EAAS,GAAM5D,IAAU,IAE9BkJ,EAAkBrJ,KAAMG,EAAO4D,GAAQ,GAElCA,EAAS,GAGlBxE,EAAOM,UAAUkM,aAAe,SAAuB5L,EAAO4D,EAAQyF,GAapE,OAZArJ,GAASA,EACT4D,GAAkB,EACbyF,GAAUN,EAASlJ,KAAMG,EAAO4D,EAAQ,EAAG,YAAa,YACzD5D,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GACxCZ,EAAOC,qBACTQ,KAAK+D,GAAW5D,IAAU,GAC1BH,KAAK+D,EAAS,GAAM5D,IAAU,GAC9BH,KAAK+D,EAAS,GAAM5D,IAAU,EAC9BH,KAAK+D,EAAS,GAAc,IAAR5D,GAEpBkJ,EAAkBrJ,KAAMG,EAAO4D,GAAQ,GAElCA,EAAS,GAgBlBxE,EAAOM,UAAUmM,aAAe,SAAuB7L,EAAO4D,EAAQyF,GACpE,OAAOD,EAAWvJ,KAAMG,EAAO4D,GAAQ,EAAMyF,IAG/CjK,EAAOM,UAAUoM,aAAe,SAAuB9L,EAAO4D,EAAQyF,GACpE,OAAOD,EAAWvJ,KAAMG,EAAO4D,GAAQ,EAAOyF,IAWhDjK,EAAOM,UAAUqM,cAAgB,SAAwB/L,EAAO4D,EAAQyF,GACtE,OAAOC,EAAYzJ,KAAMG,EAAO4D,GAAQ,EAAMyF,IAGhDjK,EAAOM,UAAUsM,cAAgB,SAAwBhM,EAAO4D,EAAQyF,GACtE,OAAOC,EAAYzJ,KAAMG,EAAO4D,GAAQ,EAAOyF,IAIjDjK,EAAOM,UAAUwB,KAAO,SAAe8G,EAAQiE,EAAarN,EAAOC,GAQjE,GAPKD,IAAOA,EAAQ,GACfC,GAAe,IAARA,IAAWA,EAAMgB,KAAK9B,QAC9BkO,GAAejE,EAAOjK,SAAQkO,EAAcjE,EAAOjK,QAClDkO,IAAaA,EAAc,GAC5BpN,EAAM,GAAKA,EAAMD,IAAOC,EAAMD,GAG9BC,IAAQD,EAAO,OAAO,EAC1B,GAAsB,IAAlBoJ,EAAOjK,QAAgC,IAAhB8B,KAAK9B,OAAc,OAAO,EAGrD,GAAIkO,EAAc,EAChB,MAAM,IAAIzM,WAAW,6BAEvB,GAAIZ,EAAQ,GAAKA,GAASiB,KAAK9B,OAAQ,MAAM,IAAIyB,WAAW,6BAC5D,GAAIX,EAAM,EAAG,MAAM,IAAIW,WAAW,2BAG9BX,EAAMgB,KAAK9B,SAAQc,EAAMgB,KAAK9B,QAC9BiK,EAAOjK,OAASkO,EAAcpN,EAAMD,IACtCC,EAAMmJ,EAAOjK,OAASkO,EAAcrN,GAGtC,IACIvB,EADAK,EAAMmB,EAAMD,EAGhB,GAAIiB,OAASmI,GAAUpJ,EAAQqN,GAAeA,EAAcpN,EAE1D,IAAKxB,EAAIK,EAAM,EAAGL,GAAK,IAAKA,EAC1B2K,EAAO3K,EAAI4O,GAAepM,KAAKxC,EAAIuB,QAEhC,GAAIlB,EAAM,MAAS0B,EAAOC,oBAE/B,IAAKhC,EAAI,EAAGA,EAAIK,IAAOL,EACrB2K,EAAO3K,EAAI4O,GAAepM,KAAKxC,EAAIuB,QAGrCL,WAAWmB,UAAUwM,IAAInJ,KACvBiF,EACAnI,KAAKuG,SAASxH,EAAOA,EAAQlB,GAC7BuO,GAIJ,OAAOvO,GAOT0B,EAAOM,UAAUoH,KAAO,SAAe1F,EAAKxC,EAAOC,EAAK4B,GAEtD,GAAmB,iBAARW,EAAkB,CAS3B,GARqB,iBAAVxC,GACT6B,EAAW7B,EACXA,EAAQ,EACRC,EAAMgB,KAAK9B,QACa,iBAARc,IAChB4B,EAAW5B,EACXA,EAAMgB,KAAK9B,QAEM,IAAfqD,EAAIrD,OAAc,CACpB,IAAIU,EAAO2C,EAAIxD,WAAW,GACtBa,EAAO,MACT2C,EAAM3C,GAGV,QAAiB4B,IAAbI,GAA8C,iBAAbA,EACnC,MAAM,IAAIR,UAAU,6BAEtB,GAAwB,iBAAbQ,IAA0BrB,EAAOsB,WAAWD,GACrD,MAAM,IAAIR,UAAU,qBAAuBQ,OAErB,iBAARW,IAChBA,GAAY,KAId,GAAIxC,EAAQ,GAAKiB,KAAK9B,OAASa,GAASiB,KAAK9B,OAASc,EACpD,MAAM,IAAIW,WAAW,sBAGvB,GAAIX,GAAOD,EACT,OAAOiB,KAQT,IAAIxC,EACJ,GANAuB,KAAkB,EAClBC,OAAcwB,IAARxB,EAAoBgB,KAAK9B,OAASc,IAAQ,EAE3CuC,IAAKA,EAAM,GAGG,iBAARA,EACT,IAAK/D,EAAIuB,EAAOvB,EAAIwB,IAAOxB,EACzBwC,KAAKxC,GAAK+D,MAEP,CACL,IAAIwH,EAAQxJ,EAAO4B,SAASI,GACxBA,EACAS,EAAY,IAAIzC,EAAOgC,EAAKX,GAAUiB,YACtChE,EAAMkL,EAAM7K,OAChB,IAAKV,EAAI,EAAGA,EAAIwB,EAAMD,IAASvB,EAC7BwC,KAAKxC,EAAIuB,GAASgK,EAAMvL,EAAIK,GAIhC,OAAOmC,MAMT,IAAIsM,EAAoB,qBAmBxB,SAASxD,EAAOlG,GACd,OAAIA,EAAI,GAAW,IAAMA,EAAEf,SAAS,IAC7Be,EAAEf,SAAS,IAGpB,SAASG,EAAarB,EAAQoE,GAE5B,IAAIa,EADJb,EAAQA,GAASwH,IAMjB,IAJA,IAAIrO,EAASyC,EAAOzC,OAChBsO,EAAgB,KAChBzD,EAAQ,GAEHvL,EAAI,EAAGA,EAAIU,IAAUV,EAAG,CAI/B,IAHAoI,EAAYjF,EAAO5C,WAAWP,IAGd,OAAUoI,EAAY,MAAQ,CAE5C,IAAK4G,EAAe,CAElB,GAAI5G,EAAY,MAAQ,EAEjBb,GAAS,IAAM,GAAGgE,EAAMzK,KAAK,IAAM,IAAM,KAC9C,SACK,GAAId,EAAI,IAAMU,EAAQ,EAEtB6G,GAAS,IAAM,GAAGgE,EAAMzK,KAAK,IAAM,IAAM,KAC9C,SAIFkO,EAAgB5G,EAEhB,SAIF,GAAIA,EAAY,MAAQ,EACjBb,GAAS,IAAM,GAAGgE,EAAMzK,KAAK,IAAM,IAAM,KAC9CkO,EAAgB5G,EAChB,SAIFA,EAAkE,OAArD4G,EAAgB,OAAU,GAAK5G,EAAY,YAC/C4G,IAEJzH,GAAS,IAAM,GAAGgE,EAAMzK,KAAK,IAAM,IAAM,KAMhD,GAHAkO,EAAgB,KAGZ5G,EAAY,IAAM,CACpB,IAAKb,GAAS,GAAK,EAAG,MACtBgE,EAAMzK,KAAKsH,QACN,GAAIA,EAAY,KAAO,CAC5B,IAAKb,GAAS,GAAK,EAAG,MACtBgE,EAAMzK,KACJsH,GAAa,EAAM,IACP,GAAZA,EAAmB,UAEhB,GAAIA,EAAY,MAAS,CAC9B,IAAKb,GAAS,GAAK,EAAG,MACtBgE,EAAMzK,KACJsH,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,SAEhB,MAAIA,EAAY,SASrB,MAAM,IAAI/G,MAAM,sBARhB,IAAKkG,GAAS,GAAK,EAAG,MACtBgE,EAAMzK,KACJsH,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,MAOzB,OAAOmD,EA4BT,SAAS9G,EAAewC,GACtB,OAAOtF,EAAO7B,YAhIhB,SAAsBmH,GAIpB,IAFAA,EAUF,SAAqBA,GACnB,OAAIA,EAAIgI,KAAahI,EAAIgI,OAClBhI,EAAIiI,QAAQ,aAAc,IAZ3BC,CAAWlI,GAAKiI,QAAQJ,EAAmB,KAEzCpO,OAAS,EAAG,MAAO,GAE3B,KAAOuG,EAAIvG,OAAS,GAAM,GACxBuG,GAAY,IAEd,OAAOA,EAuHmBmI,CAAYnI,IAGxC,SAASF,EAAYsI,EAAKC,EAAK/I,EAAQ7F,GACrC,IAAK,IAAIV,EAAI,EAAGA,EAAIU,KACbV,EAAIuG,GAAU+I,EAAI5O,QAAYV,GAAKqP,EAAI3O,UADhBV,EAE5BsP,EAAItP,EAAIuG,GAAU8I,EAAIrP,GAExB,OAAOA,K;;;;;;oFCvvDTT,EAAQyG,KAAO,SAAUlC,EAAQyC,EAAQgJ,EAAMC,EAAMC,GACnD,IAAIzG,EAAG3D,EACHqK,EAAiB,EAATD,EAAcD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,GAAS,EACT7P,EAAIuP,EAAQE,EAAS,EAAK,EAC1BK,EAAIP,GAAQ,EAAI,EAChBQ,EAAIjM,EAAOyC,EAASvG,GAOxB,IALAA,GAAK8P,EAEL9G,EAAI+G,GAAM,IAAOF,GAAU,EAC3BE,KAAQF,EACRA,GAASH,EACFG,EAAQ,EAAG7G,EAAS,IAAJA,EAAWlF,EAAOyC,EAASvG,GAAIA,GAAK8P,EAAGD,GAAS,GAKvE,IAHAxK,EAAI2D,GAAM,IAAO6G,GAAU,EAC3B7G,KAAQ6G,EACRA,GAASL,EACFK,EAAQ,EAAGxK,EAAS,IAAJA,EAAWvB,EAAOyC,EAASvG,GAAIA,GAAK8P,EAAGD,GAAS,GAEvE,GAAU,IAAN7G,EACFA,EAAI,EAAI4G,MACH,IAAI5G,IAAM2G,EACf,OAAOtK,EAAI2K,IAAsBjB,KAAdgB,GAAK,EAAI,GAE5B1K,GAAQuC,KAAKgF,IAAI,EAAG4C,GACpBxG,GAAQ4G,EAEV,OAAQG,GAAK,EAAI,GAAK1K,EAAIuC,KAAKgF,IAAI,EAAG5D,EAAIwG,IAG5CjQ,EAAQgE,MAAQ,SAAUO,EAAQnB,EAAO4D,EAAQgJ,EAAMC,EAAMC,GAC3D,IAAIzG,EAAG3D,EAAGmC,EACNkI,EAAiB,EAATD,EAAcD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBM,EAAe,KAATT,EAAc5H,KAAKgF,IAAI,GAAI,IAAMhF,KAAKgF,IAAI,GAAI,IAAM,EAC1D5M,EAAIuP,EAAO,EAAKE,EAAS,EACzBK,EAAIP,EAAO,GAAK,EAChBQ,EAAIpN,EAAQ,GAAgB,IAAVA,GAAe,EAAIA,EAAQ,EAAK,EAAI,EAmC1D,IAjCAA,EAAQiF,KAAKsI,IAAIvN,GAEb6C,MAAM7C,IAAUA,IAAUoM,KAC5B1J,EAAIG,MAAM7C,GAAS,EAAI,EACvBqG,EAAI2G,IAEJ3G,EAAIpB,KAAK8F,MAAM9F,KAAKuI,IAAIxN,GAASiF,KAAKwI,KAClCzN,GAAS6E,EAAII,KAAKgF,IAAI,GAAI5D,IAAM,IAClCA,IACAxB,GAAK,IAGL7E,GADEqG,EAAI4G,GAAS,EACNK,EAAKzI,EAELyI,EAAKrI,KAAKgF,IAAI,EAAG,EAAIgD,IAEpBpI,GAAK,IACfwB,IACAxB,GAAK,GAGHwB,EAAI4G,GAASD,GACftK,EAAI,EACJ2D,EAAI2G,GACK3G,EAAI4G,GAAS,GACtBvK,GAAM1C,EAAQ6E,EAAK,GAAKI,KAAKgF,IAAI,EAAG4C,GACpCxG,GAAQ4G,IAERvK,EAAI1C,EAAQiF,KAAKgF,IAAI,EAAGgD,EAAQ,GAAKhI,KAAKgF,IAAI,EAAG4C,GACjDxG,EAAI,IAIDwG,GAAQ,EAAG1L,EAAOyC,EAASvG,GAAS,IAAJqF,EAAUrF,GAAK8P,EAAGzK,GAAK,IAAKmK,GAAQ,GAI3E,IAFAxG,EAAKA,GAAKwG,EAAQnK,EAClBqK,GAAQF,EACDE,EAAO,EAAG5L,EAAOyC,EAASvG,GAAS,IAAJgJ,EAAUhJ,GAAK8P,EAAG9G,GAAK,IAAK0G,GAAQ,GAE1E5L,EAAOyC,EAASvG,EAAI8P,IAAU,IAAJC,I;;;;;;oFClF5B,IAAI1L,EAAW,GAAGA,SAElBgM,EAAO9Q,QAAU4B,MAAMU,SAAW,SAAU5B,GAC1C,MAA6B,kBAAtBoE,EAASqB,KAAKzF,K;;;;;;oGCHvB,YAEA,IAAIqQ,EAAe,CACfC,QAAS,mEACTC,SAAU,mEACVC,QAAS,mEACTC,aAAc,oEAGlBnR,EAAQ+Q,aAAeA,EAEvB,IAAIK,EAAmBrH,OAAOsH,KAAKN,GAAcO,QAAO,SAAUnN,EAAKoN,GAEnE,OADApN,EAAI4M,EAAaQ,IAAQC,EAAoBT,EAAaQ,IACnDpN,IACR,IAwIH,SAASqN,EAAoBC,GAEzB,IADA,IAAInC,EAAM,GACD7O,EAAI,EAAGA,EAAIgR,EAAatQ,OAAQV,IACrC6O,EAAImC,EAAazQ,WAAWP,IAAMA,EAEtC,OAAO6O,EA3IXtP,EAAQ0R,OAAS,SAAUC,EAAOC,EAASC,GACvC,IAAIC,EAASjN,EAAMkN,EAAOtR,EAAGuR,EAAQrH,EAcrC,GAXAgH,EAAQnP,EAAO4B,SAASuN,GAASA,EAAQ,IAAInP,EAAOmP,GAC/CC,GAA8B,iBAAZA,IACnBC,EAAMD,EACNA,EAAUb,EAAaC,SAE3Ba,GAAc,IAARA,EAGNC,GAAY,EAAKH,EAAMxQ,OAAS,GAAM,EAGlCyQ,IAAYb,EAAaC,SAAWY,IAAYb,EAAaE,UAAYW,IAAYb,EAAaG,QAKlG,OAJAc,EA8HR,SAAyBL,EAAOC,GAC5B,IAAIK,EAAU,IAAIzP,EAAOmP,GAAO7M,SAAS,UAEpC8M,IACDA,EAAUb,EAAaC,SAG3B,OAAQY,GACJ,KAAKb,EAAaE,SAEdgB,GADAA,EAAUA,EAAQtC,QAAQ,MAAO,MACfA,QAAQ,MAAO,KACjC,MACJ,KAAKoB,EAAaG,QAEde,GADAA,EAAUA,EAAQtC,QAAQ,MAAO,MACfA,QAAQ,MAAO,KAMzC,OAAO,IAAInN,EAAOyP,GAlJLC,CAAgBP,EAAOC,IAC3BC,GAAOC,IACRE,EAASA,EAAO/N,MAAM,GAAI6N,IAEvBE,EASX,IANAnN,EAAO8M,EAAMxQ,OAAS2Q,GAEtBE,EAAS,IAAIxP,EAAc,EAAPqC,IACbqF,KAAK,GACZS,EAAM,EAEDlK,EAAI,EAAGA,GAAKoE,EAAMpE,GAAK,EAExBsR,GAAqB,IAAXJ,EAAMlR,KAAc,IACb,IAAfkR,EAAMlR,EAAI,KAAc,EACT,IAAfkR,EAAMlR,EAAI,GAGZuR,EAAOrH,KAASiH,EAAQ5Q,WAAY+Q,GAAS,GAAM,IACnDC,EAAOrH,KAASiH,EAAQ5Q,WAAY+Q,GAAS,GAAM,IACnDC,EAAOrH,KAASiH,EAAQ5Q,WAAY+Q,GAAS,EAAK,IAClDC,EAAOrH,KAASiH,EAAQ5Q,WAAoB,GAAR+Q,GAEhCtR,EAAI,GAAKoE,IACT8F,GAAQ,GAAK,EAAImH,IAMzB,OAFAE,EAASA,EAAO/N,MAAM,EAAG0G,GAErBkH,GAAOC,GACS,IAAZA,IACAE,EAAO7Q,QAAU,GAGL,IAAZ2Q,IACAE,EAAOA,EAAO7Q,OAAS,GAAK,IAGhC6Q,EAAOA,EAAO7Q,OAAS,GAAK,GACrB6Q,IAGN,EAAIF,EAAW,IAChBE,EAASA,EAAO/N,MAAM,IAAO,EAAI6N,KAI9BE,IAGXhS,EAAQmS,OAAS,SAAUR,EAAOC,EAASC,GACvC,IAAIC,EAASM,EAAaC,EAAO9N,EAAQoG,EAyBzC,GAtBAgH,EAAQnP,EAAO4B,SAASuN,GAASA,EAAQ,IAAInP,EAAOmP,GAC/CC,GAA8B,iBAAZA,IACnBC,EAAMD,EACNA,EAAUb,EAAaC,SAI3Bc,EAAU,GAFVD,GAAc,IAARA,IAQ8B,KAA5BF,EAAMA,EAAMxQ,OAAS,IACrB2Q,IAE4B,KAA5BH,EAAMA,EAAMxQ,OAAS,IACrB2Q,KAPJA,GAAY,EAAKH,EAAMxQ,OAAS,GAAM,EAYtCyQ,IAAYb,EAAaC,SAAWY,IAAYb,EAAaE,UAAYW,IAAYb,EAAaG,QAAS,CAE3G,IADAS,EAAQA,EAAM7M,YACN+M,GAAOC,GACXH,GAAS,IACTG,GAAW,EAEf,OAgER,SAAyBH,EAAOC,GACvBA,IACDA,EAAUb,EAAaC,SAG3B,OAAQY,GACJ,KAAKb,EAAaE,SAEdU,GADAA,EAAQA,EAAMhC,QAAQ,MAAO,MACfA,QAAQ,MAAO,KAC7B,MACJ,KAAKoB,EAAaG,QAEdS,GADAA,EAAQA,EAAMhC,QAAQ,MAAO,MACfA,QAAQ,MAAO,KAMrC,OAAO,IAAInN,EAAOmP,EAAO,UAlFdW,CAAgBX,EAAOC,GAGlCQ,EAAchB,EAAiBQ,KAAaR,EAAiBQ,GAAWJ,EAAoBI,IAGxFC,GAAOC,IACPH,EAAQA,EAAM1N,MAAM,EAAG0N,EAAMxQ,OAAS2Q,KAG1CvN,EAAS,IAAI/B,EAAOmP,EAAMxQ,SACnB+I,KAAK,GACZS,EAAM,EAEN,IAAK,IAAIlK,EAAI,EAAGA,EAAIkR,EAAMxQ,OAAQV,GAAK,EAEnC4R,EAAQD,EAAYT,EAAMlR,KAAO,GACjC2R,EAAYT,EAAMlR,EAAI,KAAO,GAC7B2R,EAAYT,EAAMlR,EAAI,KAAO,EAC7B2R,EAAYT,EAAMlR,EAAI,IAEtB8D,EAAOoG,KAAS0H,GAAS,GACzB9N,EAAOoG,KAAS0H,GAAS,EACzB9N,EAAOoG,KAAS0H,EAEZ5R,EAAI,GAAKkR,EAAMxQ,SACfwJ,GAAO,GAAK,EAAImH,IAIxB,OAAOvN,EAAON,MAAM,EAAG0G,M","file":"vendors~ppme-slug.bundle.js","sourcesContent":["'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","'use strict';\n\nvar CharacterSet = {\n DEFAULT: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n PPBASE64: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-.',\n URLSAFE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_',\n PPUUENCODING: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_-'\n};\n\nexports.CharacterSet = CharacterSet;\n\nvar DecodeCharacters = Object.keys(CharacterSet).reduce(function (obj, key) {\n obj[CharacterSet[key]] = _decodeCharacterSet(CharacterSet[key]);\n return obj;\n}, {});\n\nexports.encode = function (input, charset, pad) {\n var padding, size, char3, i, result, pos;\n\n // Ensure arguments are clean\n input = Buffer.isBuffer(input) ? input : new Buffer(input);\n if (!charset || typeof charset !== 'string') {\n pad = charset;\n charset = CharacterSet.DEFAULT;\n }\n pad = pad !== false;\n\n // Cache some useful values\n padding = ((3 - (input.length % 3)) % 3);\n\n // Depend on native decoding, when possible.\n if (charset === CharacterSet.DEFAULT || charset === CharacterSet.PPBASE64 || charset === CharacterSet.URLSAFE) {\n result = nativeb64encode(input, charset);\n if (!pad && padding) {\n result = result.slice(0, -padding);\n }\n return result;\n }\n\n size = input.length + padding;\n\n result = new Buffer(size * 2);\n result.fill(0);\n pos = 0;\n\n for (i = 0; i <= size; i += 3) {\n //3 Characters (8bit * 3 = 24 bits) as a 24 bit int\n char3 = ((input[i] & 0xff) << 16) |\n ((input[i + 1] & 0xff) << 8) |\n ((input[i + 2] & 0xff));\n\n //Convert int to 4 Characters (6 bit * 4 = 24 bits)\n result[pos++] = charset.charCodeAt((char3 >> 18) & 0x3f);\n result[pos++] = charset.charCodeAt((char3 >> 12) & 0x3f);\n result[pos++] = charset.charCodeAt((char3 >> 6) & 0x3f);\n result[pos++] = charset.charCodeAt((char3 & 0x3f));\n\n if (i + 3 >= size) {\n pos -= (4 - (4 - padding));\n }\n }\n\n result = result.slice(0, pos);\n\n if (pad && padding) {\n if (padding === 1) {\n result.length -= 2;\n }\n\n if (padding === 2) {\n result[result.length - 2] = 0x3d;\n }\n\n result[result.length - 1] = 0x3d;\n return result;\n }\n\n if( (4 - padding) > 0 ) {\n result = result.slice(0, - (4 - padding));\n }\n\n\n return result;\n};\n\nexports.decode = function (input, charset, pad) {\n var padding, decodeChars, char4, buffer, pos;\n\n // Ensure arguments are clean\n input = Buffer.isBuffer(input) ? input : new Buffer(input);\n if (!charset || typeof charset !== 'string') {\n pad = charset;\n charset = CharacterSet.DEFAULT;\n }\n pad = pad !== false;\n\n padding = 0;\n\n if (!pad) {\n padding = ((4 - (input.length % 4)) % 4);\n }\n else {\n if (input[input.length - 1] === 61) {\n padding++;\n }\n if (input[input.length - 2] === 61) {\n padding++;\n }\n }\n\n // Depend on native decoding, when possible.\n if (charset === CharacterSet.DEFAULT || charset === CharacterSet.PPBASE64 || charset === CharacterSet.URLSAFE) {\n input = input.toString();\n while (!pad && padding) {\n input += '=';\n padding -= 1;\n }\n return nativeb64decode(input, charset);\n }\n\n decodeChars = DecodeCharacters[charset] || (DecodeCharacters[charset] = _decodeCharacterSet(charset));\n\n // Trim off the trailing '=' padding before decode.\n if (pad && padding) {\n input = input.slice(0, input.length - padding);\n }\n\n buffer = new Buffer(input.length);\n buffer.fill(0);\n pos = 0;\n\n for (var i = 0; i < input.length; i += 4) {\n //4 Characters (6 bit * 4 = 24 bits) as 24 bit int.\n char4 = decodeChars[input[i]] << 18 |\n decodeChars[input[i + 1]] << 12 |\n decodeChars[input[i + 2]] << 6 |\n decodeChars[input[i + 3]];\n\n buffer[pos++] = char4 >> 16;\n buffer[pos++] = char4 >> 8;\n buffer[pos++] = char4;\n\n if (i + 4 >= input.length) {\n pos -= 3 - (3 - padding);\n }\n }\n\n return buffer.slice(0, pos);\n};\n\nfunction _decodeCharacterSet(characterSet) {\n var set = {};\n for (var i = 0; i < characterSet.length; i++) {\n set[characterSet.charCodeAt(i)] = i;\n }\n return set;\n}\n\nfunction nativeb64encode(input, charset) {\n var encoded = new Buffer(input).toString('base64');\n\n if (!charset) {\n charset = CharacterSet.DEFAULT;\n }\n\n switch (charset) {\n case CharacterSet.PPBASE64:\n encoded = encoded.replace(/\\+/g, '-');\n encoded = encoded.replace(/\\//g, '.');\n break;\n case CharacterSet.URLSAFE:\n encoded = encoded.replace(/\\+/g, '-');\n encoded = encoded.replace(/\\//g, '_');\n break;\n default:\n break;\n }\n\n return new Buffer(encoded);\n}\n\nfunction nativeb64decode(input, charset) {\n if (!charset) {\n charset = CharacterSet.DEFAULT;\n }\n\n switch (charset) {\n case CharacterSet.PPBASE64:\n input = input.replace(/\\-/g, '+');\n input = input.replace(/\\./g, '/');\n break;\n case CharacterSet.URLSAFE:\n input = input.replace(/\\-/g, '+');\n input = input.replace(/\\_/g, '/');\n break;\n default:\n break;\n }\n\n return new Buffer(input, 'base64');\n}\n"],"sourceRoot":""}