cdktn-cli 0.0.1 → 0.22.0-pre.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/ambient.d.ts +13 -0
- package/build.js +139 -0
- package/bundle/bin/cdktn +2 -0
- package/bundle/bin/cdktn.js +89 -0
- package/bundle/bin/cdktn.js.map +7 -0
- package/bundle/bin/cmds/handlers.js +740 -0
- package/bundle/bin/cmds/handlers.js.map +7 -0
- package/bundle/templates/csharp/.hooks.sscaff.js +63 -0
- package/bundle/templates/csharp/MainStack.cs +15 -0
- package/bundle/templates/csharp/MyTerraformStack.csproj +13 -0
- package/bundle/templates/csharp/Program.cs +17 -0
- package/bundle/templates/csharp/TestProgram.cs +42 -0
- package/bundle/templates/csharp/cdktf.json +11 -0
- package/bundle/templates/csharp/help +42 -0
- package/bundle/templates/csharp/{{}}.gitignore +345 -0
- package/bundle/templates/go/.hooks.sscaff.js +70 -0
- package/bundle/templates/go/cdktf.json +12 -0
- package/bundle/templates/go/go.mod +8 -0
- package/bundle/templates/go/help +32 -0
- package/bundle/templates/go/main.go +22 -0
- package/bundle/templates/go/main_test.go +42 -0
- package/bundle/templates/go/{{}}.gitignore +21 -0
- package/bundle/templates/java/.hooks.sscaff.js +64 -0
- package/bundle/templates/java/build.gradle +55 -0
- package/bundle/templates/java/cdktf.json +12 -0
- package/bundle/templates/java/gradle.properties +1 -0
- package/bundle/templates/java/gradlew +248 -0
- package/bundle/templates/java/gradlew.bat +92 -0
- package/bundle/templates/java/help +35 -0
- package/bundle/templates/java/settings.gradle +5 -0
- package/bundle/templates/java/src/main/java/com/mycompany/app/Main.java +16 -0
- package/bundle/templates/java/src/main/java/com/mycompany/app/MainStack.java +14 -0
- package/bundle/templates/java/src/test/java/com/company/app/MainTest.java +38 -0
- package/bundle/templates/java/{{}}.gitignore +14 -0
- package/bundle/templates/python/.hooks.sscaff.js +59 -0
- package/bundle/templates/python/Pipfile +7 -0
- package/bundle/templates/python/cdktf.json +12 -0
- package/bundle/templates/python/help +42 -0
- package/bundle/templates/python/main-test.py +26 -0
- package/bundle/templates/python/main.py +16 -0
- package/bundle/templates/python/{{}}.gitignore +7 -0
- package/bundle/templates/python-pip/.hooks.sscaff.js +63 -0
- package/bundle/templates/python-pip/cdktf.json +12 -0
- package/bundle/templates/python-pip/help +35 -0
- package/bundle/templates/python-pip/main-test.py +23 -0
- package/bundle/templates/python-pip/main.py +16 -0
- package/bundle/templates/python-pip/{{}}.gitignore +7 -0
- package/bundle/templates/typescript/.hooks.sscaff.js +78 -0
- package/bundle/templates/typescript/__tests__/main-test.ts +89 -0
- package/bundle/templates/typescript/cdktf.json +11 -0
- package/bundle/templates/typescript/help +51 -0
- package/bundle/templates/typescript/jest.config.js +187 -0
- package/bundle/templates/typescript/main.ts +14 -0
- package/bundle/templates/typescript/package.json +22 -0
- package/bundle/templates/typescript/setup.js +2 -0
- package/bundle/templates/typescript/tsconfig.json +35 -0
- package/bundle/templates/typescript/{{}}.gitignore +11 -0
- package/eslint.config.mjs +80 -0
- package/jest.config.js +19 -0
- package/package.json +133 -7
- package/src/bin/cdktn +2 -0
- package/src/bin/cmds/helper/__tests__/fixtures/foo.tfvars +4 -0
- package/src/bin/cmds/helper/__tests__/fixtures/hey-there.auto.tfvars +5 -0
- package/src/bin/cmds/helper/__tests__/fixtures/terraform.tfvars +4 -0
- package/src/bin/cmds/helper/render-ink.tsx +24 -0
- package/src/bin/cmds/ui/components/bottom-bars/approve.tsx +81 -0
- package/src/bin/cmds/ui/components/bottom-bars/outputs.tsx +30 -0
- package/src/bin/cmds/ui/components/bottom-bars/override.tsx +68 -0
- package/src/bin/cmds/ui/components/bottom-bars/status.tsx +183 -0
- package/src/bin/cmds/ui/components/outputs.tsx +103 -0
- package/src/bin/cmds/ui/components/stream-view.tsx +72 -0
- package/src/bin/cmds/ui/deploy.tsx +139 -0
- package/src/bin/cmds/ui/destroy.tsx +86 -0
- package/src/bin/cmds/ui/diff.tsx +59 -0
- package/src/bin/cmds/ui/get.tsx +134 -0
- package/src/bin/cmds/ui/list.tsx +59 -0
- package/src/bin/cmds/ui/output.tsx +52 -0
- package/src/bin/cmds/ui/provider-list.tsx +17 -0
- package/src/bin/cmds/ui/synth.tsx +51 -0
- package/src/bin/cmds/ui/watch.tsx +80 -0
- package/index.js +0 -2
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";var SD=Object.create;var Td=Object.defineProperty;var RD=Object.getOwnPropertyDescriptor;var WD=Object.getOwnPropertyNames;var ND=Object.getPrototypeOf,VD=Object.prototype.hasOwnProperty;var Ve=(e,t)=>()=>(e&&(t=e(e=0)),t);var d=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ot=(e,t)=>{for(var n in t)Td(e,n,{get:t[n],enumerable:!0})},uS=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of WD(t))!VD.call(e,i)&&i!==n&&Td(e,i,{get:()=>t[i],enumerable:!(r=RD(t,i))||r.enumerable});return e};var M=(e,t,n)=>(n=e!=null?SD(ND(e)):{},uS(t||!e||!e.__esModule?Td(n,"default",{value:e,enumerable:!0}):n,e)),St=e=>uS(Td({},"__esModule",{value:!0}),e);var Rt=d(_m=>{"use strict";_m.fromCallback=function(e){return Object.defineProperty(function(){if(typeof arguments[arguments.length-1]=="function")e.apply(this,arguments);else return new Promise((t,n)=>{arguments[arguments.length]=(r,i)=>{if(r)return n(r);t(i)},arguments.length++,e.apply(this,arguments)})},"name",{value:e.name})};_m.fromPromise=function(e){return Object.defineProperty(function(){let t=arguments[arguments.length-1];if(typeof t!="function")return e.apply(this,arguments);e.apply(this,arguments).then(n=>t(null,n),t)},"name",{value:e.name})}});var dS=d((u2e,lS)=>{"use strict";var Lr=require("constants"),_D=process.cwd,Xd=null,ED=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return Xd||(Xd=_D.call(process)),Xd};try{process.cwd()}catch{}typeof process.chdir=="function"&&(Em=process.chdir,process.chdir=function(e){Xd=null,Em.call(process,e)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,Em));var Em;lS.exports=HD;function HD(e){Lr.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&t(e),e.lutimes||n(e),e.chown=o(e.chown),e.fchown=o(e.fchown),e.lchown=o(e.lchown),e.chmod=r(e.chmod),e.fchmod=r(e.fchmod),e.lchmod=r(e.lchmod),e.chownSync=s(e.chownSync),e.fchownSync=s(e.fchownSync),e.lchownSync=s(e.lchownSync),e.chmodSync=i(e.chmodSync),e.fchmodSync=i(e.fchmodSync),e.lchmodSync=i(e.lchmodSync),e.stat=a(e.stat),e.fstat=a(e.fstat),e.lstat=a(e.lstat),e.statSync=c(e.statSync),e.fstatSync=c(e.fstatSync),e.lstatSync=c(e.lstatSync),e.chmod&&!e.lchmod&&(e.lchmod=function(l,g,f){f&&process.nextTick(f)},e.lchmodSync=function(){}),e.chown&&!e.lchown&&(e.lchown=function(l,g,f,I){I&&process.nextTick(I)},e.lchownSync=function(){}),ED==="win32"&&(e.rename=typeof e.rename!="function"?e.rename:function(l){function g(f,I,m){var C=Date.now(),b=0;l(f,I,function v(Y){if(Y&&(Y.code==="EACCES"||Y.code==="EPERM"||Y.code==="EBUSY")&&Date.now()-C<6e4){setTimeout(function(){e.stat(I,function(k,ee){k&&k.code==="ENOENT"?l(f,I,v):m(Y)})},b),b<100&&(b+=10);return}m&&m(Y)})}return Object.setPrototypeOf&&Object.setPrototypeOf(g,l),g}(e.rename)),e.read=typeof e.read!="function"?e.read:function(l){function g(f,I,m,C,b,v){var Y;if(v&&typeof v=="function"){var k=0;Y=function(ee,re,N){if(ee&&ee.code==="EAGAIN"&&k<10)return k++,l.call(e,f,I,m,C,b,Y);v.apply(this,arguments)}}return l.call(e,f,I,m,C,b,Y)}return Object.setPrototypeOf&&Object.setPrototypeOf(g,l),g}(e.read),e.readSync=typeof e.readSync!="function"?e.readSync:function(l){return function(g,f,I,m,C){for(var b=0;;)try{return l.call(e,g,f,I,m,C)}catch(v){if(v.code==="EAGAIN"&&b<10){b++;continue}throw v}}}(e.readSync);function t(l){l.lchmod=function(g,f,I){l.open(g,Lr.O_WRONLY|Lr.O_SYMLINK,f,function(m,C){if(m){I&&I(m);return}l.fchmod(C,f,function(b){l.close(C,function(v){I&&I(b||v)})})})},l.lchmodSync=function(g,f){var I=l.openSync(g,Lr.O_WRONLY|Lr.O_SYMLINK,f),m=!0,C;try{C=l.fchmodSync(I,f),m=!1}finally{if(m)try{l.closeSync(I)}catch{}else l.closeSync(I)}return C}}function n(l){Lr.hasOwnProperty("O_SYMLINK")&&l.futimes?(l.lutimes=function(g,f,I,m){l.open(g,Lr.O_SYMLINK,function(C,b){if(C){m&&m(C);return}l.futimes(b,f,I,function(v){l.close(b,function(Y){m&&m(v||Y)})})})},l.lutimesSync=function(g,f,I){var m=l.openSync(g,Lr.O_SYMLINK),C,b=!0;try{C=l.futimesSync(m,f,I),b=!1}finally{if(b)try{l.closeSync(m)}catch{}else l.closeSync(m)}return C}):l.futimes&&(l.lutimes=function(g,f,I,m){m&&process.nextTick(m)},l.lutimesSync=function(){})}function r(l){return l&&function(g,f,I){return l.call(e,g,f,function(m){u(m)&&(m=null),I&&I.apply(this,arguments)})}}function i(l){return l&&function(g,f){try{return l.call(e,g,f)}catch(I){if(!u(I))throw I}}}function o(l){return l&&function(g,f,I,m){return l.call(e,g,f,I,function(C){u(C)&&(C=null),m&&m.apply(this,arguments)})}}function s(l){return l&&function(g,f,I){try{return l.call(e,g,f,I)}catch(m){if(!u(m))throw m}}}function a(l){return l&&function(g,f,I){typeof f=="function"&&(I=f,f=null);function m(C,b){b&&(b.uid<0&&(b.uid+=4294967296),b.gid<0&&(b.gid+=4294967296)),I&&I.apply(this,arguments)}return f?l.call(e,g,f,m):l.call(e,g,m)}}function c(l){return l&&function(g,f){var I=f?l.call(e,g,f):l.call(e,g);return I&&(I.uid<0&&(I.uid+=4294967296),I.gid<0&&(I.gid+=4294967296)),I}}function u(l){if(!l||l.code==="ENOSYS")return!0;var g=!process.getuid||process.getuid()!==0;return!!(g&&(l.code==="EINVAL"||l.code==="EPERM"))}}});var IS=d((l2e,fS)=>{"use strict";var gS=require("stream").Stream;fS.exports=wD;function wD(e){return{ReadStream:t,WriteStream:n};function t(r,i){if(!(this instanceof t))return new t(r,i);gS.call(this);var o=this;this.path=r,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=64*1024,i=i||{};for(var s=Object.keys(i),a=0,c=s.length;a<c;a++){var u=s[a];this[u]=i[u]}if(this.encoding&&this.setEncoding(this.encoding),this.start!==void 0){if(typeof this.start!="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!="number")throw TypeError("end must be a Number");if(this.start>this.end)throw new Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){o._read()});return}e.open(this.path,this.flags,this.mode,function(l,g){if(l){o.emit("error",l),o.readable=!1;return}o.fd=g,o.emit("open",g),o._read()})}function n(r,i){if(!(this instanceof n))return new n(r,i);gS.call(this),this.path=r,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,i=i||{};for(var o=Object.keys(i),s=0,a=o.length;s<a;s++){var c=o[s];this[c]=i[c]}if(this.start!==void 0){if(typeof this.start!="number")throw TypeError("start must be a Number");if(this.start<0)throw new Error("start must be >= zero");this.pos=this.start}this.busy=!1,this._queue=[],this.fd===null&&(this._open=e.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}});var mS=d((d2e,pS)=>{"use strict";pS.exports=FD;var YD=Object.getPrototypeOf||function(e){return e.__proto__};function FD(e){if(e===null||typeof e!="object")return e;if(e instanceof Object)var t={__proto__:YD(e)};else var t=Object.create(null);return Object.getOwnPropertyNames(e).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}),t}});var D=d((g2e,Ym)=>{"use strict";var Ge=require("fs"),TD=dS(),XD=IS(),kD=mS(),kd=require("util"),je,xd;typeof Symbol=="function"&&typeof Symbol.for=="function"?(je=Symbol.for("graceful-fs.queue"),xd=Symbol.for("graceful-fs.previous")):(je="___graceful-fs.queue",xd="___graceful-fs.previous");function KD(){}function bS(e,t){Object.defineProperty(e,je,{get:function(){return t}})}var _i=KD;kd.debuglog?_i=kd.debuglog("gfs4"):/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&(_i=function(){var e=kd.format.apply(kd,arguments);e="GFS4: "+e.split(/\n/).join(`
|
|
2
|
+
GFS4: `),console.error(e)});Ge[je]||(hS=global[je]||[],bS(Ge,hS),Ge.close=function(e){function t(n,r){return e.call(Ge,n,function(i){i||CS(),typeof r=="function"&&r.apply(this,arguments)})}return Object.defineProperty(t,xd,{value:e}),t}(Ge.close),Ge.closeSync=function(e){function t(n){e.apply(Ge,arguments),CS()}return Object.defineProperty(t,xd,{value:e}),t}(Ge.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&process.on("exit",function(){_i(Ge[je]),require("assert").equal(Ge[je].length,0)}));var hS;global[je]||bS(global,Ge[je]);Ym.exports=Hm(kD(Ge));process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!Ge.__patched&&(Ym.exports=Hm(Ge),Ge.__patched=!0);function Hm(e){TD(e),e.gracefulify=Hm,e.createReadStream=re,e.createWriteStream=N;var t=e.readFile;e.readFile=n;function n(x,z,j){return typeof z=="function"&&(j=z,z=null),oe(x,z,j);function oe(se,de,T,L){return t(se,de,function(K){K&&(K.code==="EMFILE"||K.code==="ENFILE")?Fo([oe,[se,de,T],K,L||Date.now(),Date.now()]):typeof T=="function"&&T.apply(this,arguments)})}}var r=e.writeFile;e.writeFile=i;function i(x,z,j,oe){return typeof j=="function"&&(oe=j,j=null),se(x,z,j,oe);function se(de,T,L,K,$){return r(de,T,L,function(P){P&&(P.code==="EMFILE"||P.code==="ENFILE")?Fo([se,[de,T,L,K],P,$||Date.now(),Date.now()]):typeof K=="function"&&K.apply(this,arguments)})}}var o=e.appendFile;o&&(e.appendFile=s);function s(x,z,j,oe){return typeof j=="function"&&(oe=j,j=null),se(x,z,j,oe);function se(de,T,L,K,$){return o(de,T,L,function(P){P&&(P.code==="EMFILE"||P.code==="ENFILE")?Fo([se,[de,T,L,K],P,$||Date.now(),Date.now()]):typeof K=="function"&&K.apply(this,arguments)})}}var a=e.copyFile;a&&(e.copyFile=c);function c(x,z,j,oe){return typeof j=="function"&&(oe=j,j=0),se(x,z,j,oe);function se(de,T,L,K,$){return a(de,T,L,function(P){P&&(P.code==="EMFILE"||P.code==="ENFILE")?Fo([se,[de,T,L,K],P,$||Date.now(),Date.now()]):typeof K=="function"&&K.apply(this,arguments)})}}var u=e.readdir;e.readdir=g;var l=/^v[0-5]\./;function g(x,z,j){typeof z=="function"&&(j=z,z=null);var oe=l.test(process.version)?function(T,L,K,$){return u(T,se(T,L,K,$))}:function(T,L,K,$){return u(T,L,se(T,L,K,$))};return oe(x,z,j);function se(de,T,L,K){return function($,P){$&&($.code==="EMFILE"||$.code==="ENFILE")?Fo([oe,[de,T,L],$,K||Date.now(),Date.now()]):(P&&P.sort&&P.sort(),typeof L=="function"&&L.call(this,$,P))}}}if(process.version.substr(0,4)==="v0.8"){var f=XD(e);v=f.ReadStream,k=f.WriteStream}var I=e.ReadStream;I&&(v.prototype=Object.create(I.prototype),v.prototype.open=Y);var m=e.WriteStream;m&&(k.prototype=Object.create(m.prototype),k.prototype.open=ee),Object.defineProperty(e,"ReadStream",{get:function(){return v},set:function(x){v=x},enumerable:!0,configurable:!0}),Object.defineProperty(e,"WriteStream",{get:function(){return k},set:function(x){k=x},enumerable:!0,configurable:!0});var C=v;Object.defineProperty(e,"FileReadStream",{get:function(){return C},set:function(x){C=x},enumerable:!0,configurable:!0});var b=k;Object.defineProperty(e,"FileWriteStream",{get:function(){return b},set:function(x){b=x},enumerable:!0,configurable:!0});function v(x,z){return this instanceof v?(I.apply(this,arguments),this):v.apply(Object.create(v.prototype),arguments)}function Y(){var x=this;q(x.path,x.flags,x.mode,function(z,j){z?(x.autoClose&&x.destroy(),x.emit("error",z)):(x.fd=j,x.emit("open",j),x.read())})}function k(x,z){return this instanceof k?(m.apply(this,arguments),this):k.apply(Object.create(k.prototype),arguments)}function ee(){var x=this;q(x.path,x.flags,x.mode,function(z,j){z?(x.destroy(),x.emit("error",z)):(x.fd=j,x.emit("open",j))})}function re(x,z){return new e.ReadStream(x,z)}function N(x,z){return new e.WriteStream(x,z)}var J=e.open;e.open=q;function q(x,z,j,oe){return typeof j=="function"&&(oe=j,j=null),se(x,z,j,oe);function se(de,T,L,K,$){return J(de,T,L,function(P,Yn){P&&(P.code==="EMFILE"||P.code==="ENFILE")?Fo([se,[de,T,L,K],P,$||Date.now(),Date.now()]):typeof K=="function"&&K.apply(this,arguments)})}}return e}function Fo(e){_i("ENQUEUE",e[0].name,e[1]),Ge[je].push(e),wm()}var Kd;function CS(){for(var e=Date.now(),t=0;t<Ge[je].length;++t)Ge[je][t].length>2&&(Ge[je][t][3]=e,Ge[je][t][4]=e);wm()}function wm(){if(clearTimeout(Kd),Kd=void 0,Ge[je].length!==0){var e=Ge[je].shift(),t=e[0],n=e[1],r=e[2],i=e[3],o=e[4];if(i===void 0)_i("RETRY",t.name,n),t.apply(null,n);else if(Date.now()-i>=6e4){_i("TIMEOUT",t.name,n);var s=n.pop();typeof s=="function"&&s.call(null,r)}else{var a=Date.now()-o,c=Math.max(o-i,1),u=Math.min(c*1.2,100);a>=u?(_i("RETRY",t.name,n),t.apply(null,n.concat([i]))):Ge[je].push(e)}Kd===void 0&&(Kd=setTimeout(wm,0))}}});var Fm=d(Ei=>{"use strict";var yS=Rt().fromCallback,on=D(),xD=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchown","lchmod","link","lstat","mkdir","mkdtemp","open","readFile","readdir","readlink","realpath","rename","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter(e=>typeof on[e]=="function");Object.keys(on).forEach(e=>{e!=="promises"&&(Ei[e]=on[e])});xD.forEach(e=>{Ei[e]=yS(on[e])});Ei.exists=function(e,t){return typeof t=="function"?on.exists(e,t):new Promise(n=>on.exists(e,n))};Ei.read=function(e,t,n,r,i,o){return typeof o=="function"?on.read(e,t,n,r,i,o):new Promise((s,a)=>{on.read(e,t,n,r,i,(c,u,l)=>{if(c)return a(c);s({bytesRead:u,buffer:l})})})};Ei.write=function(e,t,...n){return typeof n[n.length-1]=="function"?on.write(e,t,...n):new Promise((r,i)=>{on.write(e,t,...n,(o,s,a)=>{if(o)return i(o);r({bytesWritten:s,buffer:a})})})};typeof on.realpath.native=="function"&&(Ei.realpath.native=yS(on.realpath.native))});var Xm=d((I2e,BS)=>{"use strict";var Tm=require("path");function AS(e){return e=Tm.normalize(Tm.resolve(e)).split(Tm.sep),e.length>0?e[0]:null}var LD=/[<>:"|?*]/;function UD(e){let t=AS(e);return e=e.replace(t,""),LD.test(e)}BS.exports={getRootPath:AS,invalidWin32Path:UD}});var ZS=d((p2e,GS)=>{"use strict";var JD=D(),km=require("path"),OD=Xm().invalidWin32Path,MD=parseInt("0777",8);function Km(e,t,n,r){if(typeof t=="function"?(n=t,t={}):(!t||typeof t!="object")&&(t={mode:t}),process.platform==="win32"&&OD(e)){let s=new Error(e+" contains invalid WIN32 path characters.");return s.code="EINVAL",n(s)}let i=t.mode,o=t.fs||JD;i===void 0&&(i=MD&~process.umask()),r||(r=null),n=n||function(){},e=km.resolve(e),o.mkdir(e,i,s=>{if(!s)return r=r||e,n(null,r);switch(s.code){case"ENOENT":if(km.dirname(e)===e)return n(s);Km(km.dirname(e),t,(a,c)=>{a?n(a,c):Km(e,t,n,c)});break;default:o.stat(e,(a,c)=>{a||!c.isDirectory()?n(s,r):n(null,r)});break}})}GS.exports=Km});var SS=d((m2e,vS)=>{"use strict";var DD=D(),xm=require("path"),qD=Xm().invalidWin32Path,zD=parseInt("0777",8);function Lm(e,t,n){(!t||typeof t!="object")&&(t={mode:t});let r=t.mode,i=t.fs||DD;if(process.platform==="win32"&&qD(e)){let o=new Error(e+" contains invalid WIN32 path characters.");throw o.code="EINVAL",o}r===void 0&&(r=zD&~process.umask()),n||(n=null),e=xm.resolve(e);try{i.mkdirSync(e,r),n=n||e}catch(o){if(o.code==="ENOENT"){if(xm.dirname(e)===e)throw o;n=Lm(xm.dirname(e),t,n),Lm(e,t,n)}else{let s;try{s=i.statSync(e)}catch{throw o}if(!s.isDirectory())throw o}}return n}vS.exports=Lm});var Mt=d((h2e,RS)=>{"use strict";var PD=Rt().fromCallback,Um=PD(ZS()),Jm=SS();RS.exports={mkdirs:Um,mkdirsSync:Jm,mkdirp:Um,mkdirpSync:Jm,ensureDir:Um,ensureDirSync:Jm}});var Om=d((C2e,NS)=>{"use strict";var nt=D(),WS=require("os"),Ld=require("path");function jD(){let e=Ld.join("millis-test-sync"+Date.now().toString()+Math.random().toString().slice(2));e=Ld.join(WS.tmpdir(),e);let t=new Date(1435410243862);nt.writeFileSync(e,"https://github.com/jprichardson/node-fs-extra/pull/141");let n=nt.openSync(e,"r+");return nt.futimesSync(n,t,t),nt.closeSync(n),nt.statSync(e).mtime>1435410243e3}function QD(e){let t=Ld.join("millis-test"+Date.now().toString()+Math.random().toString().slice(2));t=Ld.join(WS.tmpdir(),t);let n=new Date(1435410243862);nt.writeFile(t,"https://github.com/jprichardson/node-fs-extra/pull/141",r=>{if(r)return e(r);nt.open(t,"r+",(i,o)=>{if(i)return e(i);nt.futimes(o,n,n,s=>{if(s)return e(s);nt.close(o,a=>{if(a)return e(a);nt.stat(t,(c,u)=>{if(c)return e(c);e(null,u.mtime>1435410243e3)})})})})})}function $D(e){if(typeof e=="number")return Math.floor(e/1e3)*1e3;if(e instanceof Date)return new Date(Math.floor(e.getTime()/1e3)*1e3);throw new Error("fs-extra: timeRemoveMillis() unknown parameter type")}function eq(e,t,n,r){nt.open(e,"r+",(i,o)=>{if(i)return r(i);nt.futimes(o,t,n,s=>{nt.close(o,a=>{r&&r(s||a)})})})}function tq(e,t,n){let r=nt.openSync(e,"r+");return nt.futimesSync(r,t,n),nt.closeSync(r)}NS.exports={hasMillisRes:QD,hasMillisResSync:jD,timeRemoveMillis:$D,utimesMillis:eq,utimesMillisSync:tq}});var ca=d((b2e,YS)=>{"use strict";var sn=D(),Wt=require("path"),VS=10,_S=5,nq=0,Dm=process.versions.node.split("."),ES=Number.parseInt(Dm[0],10),HS=Number.parseInt(Dm[1],10),rq=Number.parseInt(Dm[2],10);function sa(){if(ES>VS)return!0;if(ES===VS){if(HS>_S)return!0;if(HS===_S&&rq>=nq)return!0}return!1}function iq(e,t,n){sa()?sn.stat(e,{bigint:!0},(r,i)=>{if(r)return n(r);sn.stat(t,{bigint:!0},(o,s)=>o?o.code==="ENOENT"?n(null,{srcStat:i,destStat:null}):n(o):n(null,{srcStat:i,destStat:s}))}):sn.stat(e,(r,i)=>{if(r)return n(r);sn.stat(t,(o,s)=>o?o.code==="ENOENT"?n(null,{srcStat:i,destStat:null}):n(o):n(null,{srcStat:i,destStat:s}))})}function oq(e,t){let n,r;sa()?n=sn.statSync(e,{bigint:!0}):n=sn.statSync(e);try{sa()?r=sn.statSync(t,{bigint:!0}):r=sn.statSync(t)}catch(i){if(i.code==="ENOENT")return{srcStat:n,destStat:null};throw i}return{srcStat:n,destStat:r}}function sq(e,t,n,r){iq(e,t,(i,o)=>{if(i)return r(i);let{srcStat:s,destStat:a}=o;return a&&a.ino&&a.dev&&a.ino===s.ino&&a.dev===s.dev?r(new Error("Source and destination must not be the same.")):s.isDirectory()&&qm(e,t)?r(new Error(aa(e,t,n))):r(null,{srcStat:s,destStat:a})})}function aq(e,t,n){let{srcStat:r,destStat:i}=oq(e,t);if(i&&i.ino&&i.dev&&i.ino===r.ino&&i.dev===r.dev)throw new Error("Source and destination must not be the same.");if(r.isDirectory()&&qm(e,t))throw new Error(aa(e,t,n));return{srcStat:r,destStat:i}}function Mm(e,t,n,r,i){let o=Wt.resolve(Wt.dirname(e)),s=Wt.resolve(Wt.dirname(n));if(s===o||s===Wt.parse(s).root)return i();sa()?sn.stat(s,{bigint:!0},(a,c)=>a?a.code==="ENOENT"?i():i(a):c.ino&&c.dev&&c.ino===t.ino&&c.dev===t.dev?i(new Error(aa(e,n,r))):Mm(e,t,s,r,i)):sn.stat(s,(a,c)=>a?a.code==="ENOENT"?i():i(a):c.ino&&c.dev&&c.ino===t.ino&&c.dev===t.dev?i(new Error(aa(e,n,r))):Mm(e,t,s,r,i))}function wS(e,t,n,r){let i=Wt.resolve(Wt.dirname(e)),o=Wt.resolve(Wt.dirname(n));if(o===i||o===Wt.parse(o).root)return;let s;try{sa()?s=sn.statSync(o,{bigint:!0}):s=sn.statSync(o)}catch(a){if(a.code==="ENOENT")return;throw a}if(s.ino&&s.dev&&s.ino===t.ino&&s.dev===t.dev)throw new Error(aa(e,n,r));return wS(e,t,o,r)}function qm(e,t){let n=Wt.resolve(e).split(Wt.sep).filter(i=>i),r=Wt.resolve(t).split(Wt.sep).filter(i=>i);return n.reduce((i,o,s)=>i&&r[s]===o,!0)}function aa(e,t,n){return`Cannot ${n} '${e}' to a subdirectory of itself, '${t}'.`}YS.exports={checkPaths:sq,checkPathsSync:aq,checkParentPaths:Mm,checkParentPathsSync:wS,isSrcSubdir:qm}});var TS=d((y2e,FS)=>{"use strict";FS.exports=function(e){if(typeof Buffer.allocUnsafe=="function")try{return Buffer.allocUnsafe(e)}catch{return new Buffer(e)}return new Buffer(e)}});var LS=d((A2e,xS)=>{"use strict";var ye=D(),ua=require("path"),cq=Mt().mkdirsSync,uq=Om().utimesMillisSync,la=ca();function lq(e,t,n){typeof n=="function"&&(n={filter:n}),n=n||{},n.clobber="clobber"in n?!!n.clobber:!0,n.overwrite="overwrite"in n?!!n.overwrite:n.clobber,n.preserveTimestamps&&process.arch==="ia32"&&console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
3
|
+
|
|
4
|
+
see https://github.com/jprichardson/node-fs-extra/issues/269`);let{srcStat:r,destStat:i}=la.checkPathsSync(e,t,"copy");return la.checkParentPathsSync(e,r,t,"copy"),dq(i,e,t,n)}function dq(e,t,n,r){if(r.filter&&!r.filter(t,n))return;let i=ua.dirname(n);return ye.existsSync(i)||cq(i),XS(e,t,n,r)}function XS(e,t,n,r){if(!(r.filter&&!r.filter(t,n)))return gq(e,t,n,r)}function gq(e,t,n,r){let o=(r.dereference?ye.statSync:ye.lstatSync)(t);if(o.isDirectory())return mq(o,e,t,n,r);if(o.isFile()||o.isCharacterDevice()||o.isBlockDevice())return fq(o,e,t,n,r);if(o.isSymbolicLink())return bq(e,t,n,r)}function fq(e,t,n,r,i){return t?Iq(e,n,r,i):kS(e,n,r,i)}function Iq(e,t,n,r){if(r.overwrite)return ye.unlinkSync(n),kS(e,t,n,r);if(r.errorOnExist)throw new Error(`'${n}' already exists`)}function kS(e,t,n,r){return typeof ye.copyFileSync=="function"?(ye.copyFileSync(t,n),ye.chmodSync(n,e.mode),r.preserveTimestamps?uq(n,e.atime,e.mtime):void 0):pq(e,t,n,r)}function pq(e,t,n,r){let o=TS()(65536),s=ye.openSync(t,"r"),a=ye.openSync(n,"w",e.mode),c=0;for(;c<e.size;){let u=ye.readSync(s,o,0,65536,c);ye.writeSync(a,o,0,u),c+=u}r.preserveTimestamps&&ye.futimesSync(a,e.atime,e.mtime),ye.closeSync(s),ye.closeSync(a)}function mq(e,t,n,r,i){if(!t)return hq(e,n,r,i);if(t&&!t.isDirectory())throw new Error(`Cannot overwrite non-directory '${r}' with directory '${n}'.`);return KS(n,r,i)}function hq(e,t,n,r){return ye.mkdirSync(n),KS(t,n,r),ye.chmodSync(n,e.mode)}function KS(e,t,n){ye.readdirSync(e).forEach(r=>Cq(r,e,t,n))}function Cq(e,t,n,r){let i=ua.join(t,e),o=ua.join(n,e),{destStat:s}=la.checkPathsSync(i,o,"copy");return XS(s,i,o,r)}function bq(e,t,n,r){let i=ye.readlinkSync(t);if(r.dereference&&(i=ua.resolve(process.cwd(),i)),e){let o;try{o=ye.readlinkSync(n)}catch(s){if(s.code==="EINVAL"||s.code==="UNKNOWN")return ye.symlinkSync(i,n);throw s}if(r.dereference&&(o=ua.resolve(process.cwd(),o)),la.isSrcSubdir(i,o))throw new Error(`Cannot copy '${i}' to a subdirectory of itself, '${o}'.`);if(ye.statSync(n).isDirectory()&&la.isSrcSubdir(o,i))throw new Error(`Cannot overwrite '${o}' with '${i}'.`);return yq(i,n)}else return ye.symlinkSync(i,n)}function yq(e,t){return ye.unlinkSync(t),ye.symlinkSync(e,t)}xS.exports=lq});var zm=d((B2e,US)=>{"use strict";US.exports={copySync:LS()}});var Fn=d((G2e,OS)=>{"use strict";var Aq=Rt().fromPromise,JS=Fm();function Bq(e){return JS.access(e).then(()=>!0).catch(()=>!1)}OS.exports={pathExists:Aq(Bq),pathExistsSync:JS.existsSync}});var eR=d((Z2e,$S)=>{"use strict";var Qe=D(),da=require("path"),Gq=Mt().mkdirs,Zq=Fn().pathExists,vq=Om().utimesMillis,ga=ca();function Sq(e,t,n,r){typeof n=="function"&&!r?(r=n,n={}):typeof n=="function"&&(n={filter:n}),r=r||function(){},n=n||{},n.clobber="clobber"in n?!!n.clobber:!0,n.overwrite="overwrite"in n?!!n.overwrite:n.clobber,n.preserveTimestamps&&process.arch==="ia32"&&console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
5
|
+
|
|
6
|
+
see https://github.com/jprichardson/node-fs-extra/issues/269`),ga.checkPaths(e,t,"copy",(i,o)=>{if(i)return r(i);let{srcStat:s,destStat:a}=o;ga.checkParentPaths(e,s,t,"copy",c=>c?r(c):n.filter?qS(MS,a,e,t,n,r):MS(a,e,t,n,r))})}function MS(e,t,n,r,i){let o=da.dirname(n);Zq(o,(s,a)=>{if(s)return i(s);if(a)return Pm(e,t,n,r,i);Gq(o,c=>c?i(c):Pm(e,t,n,r,i))})}function qS(e,t,n,r,i,o){Promise.resolve(i.filter(n,r)).then(s=>s?e(t,n,r,i,o):o(),s=>o(s))}function Pm(e,t,n,r,i){return r.filter?qS(DS,e,t,n,r,i):DS(e,t,n,r,i)}function DS(e,t,n,r,i){(r.dereference?Qe.stat:Qe.lstat)(t,(s,a)=>{if(s)return i(s);if(a.isDirectory())return Vq(a,e,t,n,r,i);if(a.isFile()||a.isCharacterDevice()||a.isBlockDevice())return Rq(a,e,t,n,r,i);if(a.isSymbolicLink())return Hq(e,t,n,r,i)})}function Rq(e,t,n,r,i,o){return t?Wq(e,n,r,i,o):zS(e,n,r,i,o)}function Wq(e,t,n,r,i){if(r.overwrite)Qe.unlink(n,o=>o?i(o):zS(e,t,n,r,i));else return r.errorOnExist?i(new Error(`'${n}' already exists`)):i()}function zS(e,t,n,r,i){return typeof Qe.copyFile=="function"?Qe.copyFile(t,n,o=>o?i(o):PS(e,n,r,i)):Nq(e,t,n,r,i)}function Nq(e,t,n,r,i){let o=Qe.createReadStream(t);o.on("error",s=>i(s)).once("open",()=>{let s=Qe.createWriteStream(n,{mode:e.mode});s.on("error",a=>i(a)).on("open",()=>o.pipe(s)).once("close",()=>PS(e,n,r,i))})}function PS(e,t,n,r){Qe.chmod(t,e.mode,i=>i?r(i):n.preserveTimestamps?vq(t,e.atime,e.mtime,r):r())}function Vq(e,t,n,r,i,o){return t?t&&!t.isDirectory()?o(new Error(`Cannot overwrite non-directory '${r}' with directory '${n}'.`)):jS(n,r,i,o):_q(e,n,r,i,o)}function _q(e,t,n,r,i){Qe.mkdir(n,o=>{if(o)return i(o);jS(t,n,r,s=>s?i(s):Qe.chmod(n,e.mode,i))})}function jS(e,t,n,r){Qe.readdir(e,(i,o)=>i?r(i):QS(o,e,t,n,r))}function QS(e,t,n,r,i){let o=e.pop();return o?Eq(e,o,t,n,r,i):i()}function Eq(e,t,n,r,i,o){let s=da.join(n,t),a=da.join(r,t);ga.checkPaths(s,a,"copy",(c,u)=>{if(c)return o(c);let{destStat:l}=u;Pm(l,s,a,i,g=>g?o(g):QS(e,n,r,i,o))})}function Hq(e,t,n,r,i){Qe.readlink(t,(o,s)=>{if(o)return i(o);if(r.dereference&&(s=da.resolve(process.cwd(),s)),e)Qe.readlink(n,(a,c)=>a?a.code==="EINVAL"||a.code==="UNKNOWN"?Qe.symlink(s,n,i):i(a):(r.dereference&&(c=da.resolve(process.cwd(),c)),ga.isSrcSubdir(s,c)?i(new Error(`Cannot copy '${s}' to a subdirectory of itself, '${c}'.`)):e.isDirectory()&&ga.isSrcSubdir(c,s)?i(new Error(`Cannot overwrite '${c}' with '${s}'.`)):wq(s,n,i)));else return Qe.symlink(s,n,i)})}function wq(e,t,n){Qe.unlink(t,r=>r?n(r):Qe.symlink(e,t,n))}$S.exports=Sq});var jm=d((v2e,tR)=>{"use strict";var Yq=Rt().fromCallback;tR.exports={copy:Yq(eR())}});var lR=d((S2e,uR)=>{"use strict";var nR=D(),sR=require("path"),ue=require("assert"),fa=process.platform==="win32";function aR(e){["unlink","chmod","stat","lstat","rmdir","readdir"].forEach(n=>{e[n]=e[n]||nR[n],n=n+"Sync",e[n]=e[n]||nR[n]}),e.maxBusyTries=e.maxBusyTries||3}function Qm(e,t,n){let r=0;typeof t=="function"&&(n=t,t={}),ue(e,"rimraf: missing path"),ue.strictEqual(typeof e,"string","rimraf: path should be a string"),ue.strictEqual(typeof n,"function","rimraf: callback function required"),ue(t,"rimraf: invalid options argument provided"),ue.strictEqual(typeof t,"object","rimraf: options should be object"),aR(t),rR(e,t,function i(o){if(o){if((o.code==="EBUSY"||o.code==="ENOTEMPTY"||o.code==="EPERM")&&r<t.maxBusyTries){r++;let s=r*100;return setTimeout(()=>rR(e,t,i),s)}o.code==="ENOENT"&&(o=null)}n(o)})}function rR(e,t,n){ue(e),ue(t),ue(typeof n=="function"),t.lstat(e,(r,i)=>{if(r&&r.code==="ENOENT")return n(null);if(r&&r.code==="EPERM"&&fa)return iR(e,t,r,n);if(i&&i.isDirectory())return Ud(e,t,r,n);t.unlink(e,o=>{if(o){if(o.code==="ENOENT")return n(null);if(o.code==="EPERM")return fa?iR(e,t,o,n):Ud(e,t,o,n);if(o.code==="EISDIR")return Ud(e,t,o,n)}return n(o)})})}function iR(e,t,n,r){ue(e),ue(t),ue(typeof r=="function"),n&&ue(n instanceof Error),t.chmod(e,438,i=>{i?r(i.code==="ENOENT"?null:n):t.stat(e,(o,s)=>{o?r(o.code==="ENOENT"?null:n):s.isDirectory()?Ud(e,t,n,r):t.unlink(e,r)})})}function oR(e,t,n){let r;ue(e),ue(t),n&&ue(n instanceof Error);try{t.chmodSync(e,438)}catch(i){if(i.code==="ENOENT")return;throw n}try{r=t.statSync(e)}catch(i){if(i.code==="ENOENT")return;throw n}r.isDirectory()?Jd(e,t,n):t.unlinkSync(e)}function Ud(e,t,n,r){ue(e),ue(t),n&&ue(n instanceof Error),ue(typeof r=="function"),t.rmdir(e,i=>{i&&(i.code==="ENOTEMPTY"||i.code==="EEXIST"||i.code==="EPERM")?Fq(e,t,r):i&&i.code==="ENOTDIR"?r(n):r(i)})}function Fq(e,t,n){ue(e),ue(t),ue(typeof n=="function"),t.readdir(e,(r,i)=>{if(r)return n(r);let o=i.length,s;if(o===0)return t.rmdir(e,n);i.forEach(a=>{Qm(sR.join(e,a),t,c=>{if(!s){if(c)return n(s=c);--o===0&&t.rmdir(e,n)}})})})}function cR(e,t){let n;t=t||{},aR(t),ue(e,"rimraf: missing path"),ue.strictEqual(typeof e,"string","rimraf: path should be a string"),ue(t,"rimraf: missing options"),ue.strictEqual(typeof t,"object","rimraf: options should be object");try{n=t.lstatSync(e)}catch(r){if(r.code==="ENOENT")return;r.code==="EPERM"&&fa&&oR(e,t,r)}try{n&&n.isDirectory()?Jd(e,t,null):t.unlinkSync(e)}catch(r){if(r.code==="ENOENT")return;if(r.code==="EPERM")return fa?oR(e,t,r):Jd(e,t,r);if(r.code!=="EISDIR")throw r;Jd(e,t,r)}}function Jd(e,t,n){ue(e),ue(t),n&&ue(n instanceof Error);try{t.rmdirSync(e)}catch(r){if(r.code==="ENOTDIR")throw n;if(r.code==="ENOTEMPTY"||r.code==="EEXIST"||r.code==="EPERM")Tq(e,t);else if(r.code!=="ENOENT")throw r}}function Tq(e,t){if(ue(e),ue(t),t.readdirSync(e).forEach(n=>cR(sR.join(e,n),t)),fa){let n=Date.now();do try{return t.rmdirSync(e,t)}catch{}while(Date.now()-n<500)}else return t.rmdirSync(e,t)}uR.exports=Qm;Qm.sync=cR});var Ia=d((R2e,gR)=>{"use strict";var Xq=Rt().fromCallback,dR=lR();gR.exports={remove:Xq(dR),removeSync:dR.sync}});var yR=d((W2e,bR)=>{"use strict";var kq=Rt().fromCallback,pR=D(),mR=require("path"),hR=Mt(),CR=Ia(),fR=kq(function(t,n){n=n||function(){},pR.readdir(t,(r,i)=>{if(r)return hR.mkdirs(t,n);i=i.map(s=>mR.join(t,s)),o();function o(){let s=i.pop();if(!s)return n();CR.remove(s,a=>{if(a)return n(a);o()})}})});function IR(e){let t;try{t=pR.readdirSync(e)}catch{return hR.mkdirsSync(e)}t.forEach(n=>{n=mR.join(e,n),CR.removeSync(n)})}bR.exports={emptyDirSync:IR,emptydirSync:IR,emptyDir:fR,emptydir:fR}});var ZR=d((N2e,GR)=>{"use strict";var Kq=Rt().fromCallback,AR=require("path"),pa=D(),BR=Mt(),xq=Fn().pathExists;function Lq(e,t){function n(){pa.writeFile(e,"",r=>{if(r)return t(r);t()})}pa.stat(e,(r,i)=>{if(!r&&i.isFile())return t();let o=AR.dirname(e);xq(o,(s,a)=>{if(s)return t(s);if(a)return n();BR.mkdirs(o,c=>{if(c)return t(c);n()})})})}function Uq(e){let t;try{t=pa.statSync(e)}catch{}if(t&&t.isFile())return;let n=AR.dirname(e);pa.existsSync(n)||BR.mkdirsSync(n),pa.writeFileSync(e,"")}GR.exports={createFile:Kq(Lq),createFileSync:Uq}});var NR=d((V2e,WR)=>{"use strict";var Jq=Rt().fromCallback,SR=require("path"),Hi=D(),RR=Mt(),vR=Fn().pathExists;function Oq(e,t,n){function r(i,o){Hi.link(i,o,s=>{if(s)return n(s);n(null)})}vR(t,(i,o)=>{if(i)return n(i);if(o)return n(null);Hi.lstat(e,s=>{if(s)return s.message=s.message.replace("lstat","ensureLink"),n(s);let a=SR.dirname(t);vR(a,(c,u)=>{if(c)return n(c);if(u)return r(e,t);RR.mkdirs(a,l=>{if(l)return n(l);r(e,t)})})})})}function Mq(e,t){if(Hi.existsSync(t))return;try{Hi.lstatSync(e)}catch(o){throw o.message=o.message.replace("lstat","ensureLink"),o}let r=SR.dirname(t);return Hi.existsSync(r)||RR.mkdirsSync(r),Hi.linkSync(e,t)}WR.exports={createLink:Jq(Oq),createLinkSync:Mq}});var _R=d((_2e,VR)=>{"use strict";var Ur=require("path"),ma=D(),Dq=Fn().pathExists;function qq(e,t,n){if(Ur.isAbsolute(e))return ma.lstat(e,r=>r?(r.message=r.message.replace("lstat","ensureSymlink"),n(r)):n(null,{toCwd:e,toDst:e}));{let r=Ur.dirname(t),i=Ur.join(r,e);return Dq(i,(o,s)=>o?n(o):s?n(null,{toCwd:i,toDst:e}):ma.lstat(e,a=>a?(a.message=a.message.replace("lstat","ensureSymlink"),n(a)):n(null,{toCwd:e,toDst:Ur.relative(r,e)})))}}function zq(e,t){let n;if(Ur.isAbsolute(e)){if(n=ma.existsSync(e),!n)throw new Error("absolute srcpath does not exist");return{toCwd:e,toDst:e}}else{let r=Ur.dirname(t),i=Ur.join(r,e);if(n=ma.existsSync(i),n)return{toCwd:i,toDst:e};if(n=ma.existsSync(e),!n)throw new Error("relative srcpath does not exist");return{toCwd:e,toDst:Ur.relative(r,e)}}}VR.exports={symlinkPaths:qq,symlinkPathsSync:zq}});var wR=d((E2e,HR)=>{"use strict";var ER=D();function Pq(e,t,n){if(n=typeof t=="function"?t:n,t=typeof t=="function"?!1:t,t)return n(null,t);ER.lstat(e,(r,i)=>{if(r)return n(null,"file");t=i&&i.isDirectory()?"dir":"file",n(null,t)})}function jq(e,t){let n;if(t)return t;try{n=ER.lstatSync(e)}catch{return"file"}return n&&n.isDirectory()?"dir":"file"}HR.exports={symlinkType:Pq,symlinkTypeSync:jq}});var xR=d((H2e,KR)=>{"use strict";var Qq=Rt().fromCallback,FR=require("path"),To=D(),TR=Mt(),$q=TR.mkdirs,ez=TR.mkdirsSync,XR=_R(),tz=XR.symlinkPaths,nz=XR.symlinkPathsSync,kR=wR(),rz=kR.symlinkType,iz=kR.symlinkTypeSync,YR=Fn().pathExists;function oz(e,t,n,r){r=typeof n=="function"?n:r,n=typeof n=="function"?!1:n,YR(t,(i,o)=>{if(i)return r(i);if(o)return r(null);tz(e,t,(s,a)=>{if(s)return r(s);e=a.toDst,rz(a.toCwd,n,(c,u)=>{if(c)return r(c);let l=FR.dirname(t);YR(l,(g,f)=>{if(g)return r(g);if(f)return To.symlink(e,t,u,r);$q(l,I=>{if(I)return r(I);To.symlink(e,t,u,r)})})})})})}function sz(e,t,n){if(To.existsSync(t))return;let i=nz(e,t);e=i.toDst,n=iz(i.toCwd,n);let o=FR.dirname(t);return To.existsSync(o)||ez(o),To.symlinkSync(e,t,n)}KR.exports={createSymlink:Qq(oz),createSymlinkSync:sz}});var UR=d((w2e,LR)=>{"use strict";var Od=ZR(),Md=NR(),Dd=xR();LR.exports={createFile:Od.createFile,createFileSync:Od.createFileSync,ensureFile:Od.createFile,ensureFileSync:Od.createFileSync,createLink:Md.createLink,createLinkSync:Md.createLinkSync,ensureLink:Md.createLink,ensureLinkSync:Md.createLinkSync,createSymlink:Dd.createSymlink,createSymlinkSync:Dd.createSymlinkSync,ensureSymlink:Dd.createSymlink,ensureSymlinkSync:Dd.createSymlinkSync}});var DR=d((Y2e,MR)=>{"use strict";var Xo;try{Xo=D()}catch{Xo=require("fs")}function az(e,t,n){n==null&&(n=t,t={}),typeof t=="string"&&(t={encoding:t}),t=t||{};var r=t.fs||Xo,i=!0;"throws"in t&&(i=t.throws),r.readFile(e,t,function(o,s){if(o)return n(o);s=OR(s);var a;try{a=JSON.parse(s,t?t.reviver:null)}catch(c){return i?(c.message=e+": "+c.message,n(c)):n(null,null)}n(null,a)})}function cz(e,t){t=t||{},typeof t=="string"&&(t={encoding:t});var n=t.fs||Xo,r=!0;"throws"in t&&(r=t.throws);try{var i=n.readFileSync(e,t);return i=OR(i),JSON.parse(i,t.reviver)}catch(o){if(r)throw o.message=e+": "+o.message,o;return null}}function JR(e,t){var n,r=`
|
|
7
|
+
`;typeof t=="object"&&t!==null&&(t.spaces&&(n=t.spaces),t.EOL&&(r=t.EOL));var i=JSON.stringify(e,t?t.replacer:null,n);return i.replace(/\n/g,r)+r}function uz(e,t,n,r){r==null&&(r=n,n={}),n=n||{};var i=n.fs||Xo,o="";try{o=JR(t,n)}catch(s){r&&r(s,null);return}i.writeFile(e,o,n,r)}function lz(e,t,n){n=n||{};var r=n.fs||Xo,i=JR(t,n);return r.writeFileSync(e,i,n)}function OR(e){return Buffer.isBuffer(e)&&(e=e.toString("utf8")),e=e.replace(/^\uFEFF/,""),e}var dz={readFile:az,readFileSync:cz,writeFile:uz,writeFileSync:lz};MR.exports=dz});var zd=d((F2e,zR)=>{"use strict";var qR=Rt().fromCallback,qd=DR();zR.exports={readJson:qR(qd.readFile),readJsonSync:qd.readFileSync,writeJson:qR(qd.writeFile),writeJsonSync:qd.writeFileSync}});var QR=d((T2e,jR)=>{"use strict";var gz=require("path"),fz=Mt(),Iz=Fn().pathExists,PR=zd();function pz(e,t,n,r){typeof n=="function"&&(r=n,n={});let i=gz.dirname(e);Iz(i,(o,s)=>{if(o)return r(o);if(s)return PR.writeJson(e,t,n,r);fz.mkdirs(i,a=>{if(a)return r(a);PR.writeJson(e,t,n,r)})})}jR.exports=pz});var eW=d((X2e,$R)=>{"use strict";var mz=D(),hz=require("path"),Cz=Mt(),bz=zd();function yz(e,t,n){let r=hz.dirname(e);mz.existsSync(r)||Cz.mkdirsSync(r),bz.writeJsonSync(e,t,n)}$R.exports=yz});var nW=d((k2e,tW)=>{"use strict";var Az=Rt().fromCallback,It=zd();It.outputJson=Az(QR());It.outputJsonSync=eW();It.outputJSON=It.outputJson;It.outputJSONSync=It.outputJsonSync;It.writeJSON=It.writeJson;It.writeJSONSync=It.writeJsonSync;It.readJSON=It.readJson;It.readJSONSync=It.readJsonSync;tW.exports=It});var cW=d((K2e,aW)=>{"use strict";var oW=D(),Bz=require("path"),Gz=zm().copySync,sW=Ia().removeSync,Zz=Mt().mkdirpSync,rW=ca();function vz(e,t,n){n=n||{};let r=n.overwrite||n.clobber||!1,{srcStat:i}=rW.checkPathsSync(e,t,"move");return rW.checkParentPathsSync(e,i,t,"move"),Zz(Bz.dirname(t)),Sz(e,t,r)}function Sz(e,t,n){if(n)return sW(t),iW(e,t,n);if(oW.existsSync(t))throw new Error("dest already exists.");return iW(e,t,n)}function iW(e,t,n){try{oW.renameSync(e,t)}catch(r){if(r.code!=="EXDEV")throw r;return Rz(e,t,n)}}function Rz(e,t,n){return Gz(e,t,{overwrite:n,errorOnExist:!0}),sW(e)}aW.exports=vz});var lW=d((x2e,uW)=>{"use strict";uW.exports={moveSync:cW()}});var pW=d((L2e,IW)=>{"use strict";var Wz=D(),Nz=require("path"),Vz=jm().copy,fW=Ia().remove,_z=Mt().mkdirp,Ez=Fn().pathExists,dW=ca();function Hz(e,t,n,r){typeof n=="function"&&(r=n,n={});let i=n.overwrite||n.clobber||!1;dW.checkPaths(e,t,"move",(o,s)=>{if(o)return r(o);let{srcStat:a}=s;dW.checkParentPaths(e,a,t,"move",c=>{if(c)return r(c);_z(Nz.dirname(t),u=>u?r(u):wz(e,t,i,r))})})}function wz(e,t,n,r){if(n)return fW(t,i=>i?r(i):gW(e,t,n,r));Ez(t,(i,o)=>i?r(i):o?r(new Error("dest already exists.")):gW(e,t,n,r))}function gW(e,t,n,r){Wz.rename(e,t,i=>i?i.code!=="EXDEV"?r(i):Yz(e,t,n,r):r())}function Yz(e,t,n,r){Vz(e,t,{overwrite:n,errorOnExist:!0},o=>o?r(o):fW(e,r))}IW.exports=Hz});var hW=d((U2e,mW)=>{"use strict";var Fz=Rt().fromCallback;mW.exports={move:Fz(pW())}});var AW=d((J2e,yW)=>{"use strict";var Tz=Rt().fromCallback,ha=D(),CW=require("path"),bW=Mt(),Xz=Fn().pathExists;function kz(e,t,n,r){typeof n=="function"&&(r=n,n="utf8");let i=CW.dirname(e);Xz(i,(o,s)=>{if(o)return r(o);if(s)return ha.writeFile(e,t,n,r);bW.mkdirs(i,a=>{if(a)return r(a);ha.writeFile(e,t,n,r)})})}function Kz(e,...t){let n=CW.dirname(e);if(ha.existsSync(n))return ha.writeFileSync(e,...t);bW.mkdirsSync(n),ha.writeFileSync(e,...t)}yW.exports={outputFile:Tz(kz),outputFileSync:Kz}});var Pd=d((O2e,$m)=>{"use strict";$m.exports=Object.assign({},Fm(),zm(),jm(),yR(),UR(),nW(),Mt(),lW(),hW(),AW(),Fn(),Ia());var BW=require("fs");Object.getOwnPropertyDescriptor(BW,"promises")&&Object.defineProperty($m.exports,"promises",{get(){return BW.promises}})});var an=d(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});var GW=Object.prototype.toString;function xz(e){switch(GW.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return jd(e,Error)}}function ko(e,t){return GW.call(e)===`[object ${t}]`}function Lz(e){return ko(e,"ErrorEvent")}function Uz(e){return ko(e,"DOMError")}function Jz(e){return ko(e,"DOMException")}function Oz(e){return ko(e,"String")}function ZW(e){return typeof e=="object"&&e!==null&&"__sentry_template_string__"in e&&"__sentry_template_values__"in e}function Mz(e){return e===null||ZW(e)||typeof e!="object"&&typeof e!="function"}function vW(e){return ko(e,"Object")}function Dz(e){return typeof Event<"u"&&jd(e,Event)}function qz(e){return typeof Element<"u"&&jd(e,Element)}function zz(e){return ko(e,"RegExp")}function Pz(e){return!!(e&&e.then&&typeof e.then=="function")}function jz(e){return vW(e)&&"nativeEvent"in e&&"preventDefault"in e&&"stopPropagation"in e}function Qz(e){return typeof e=="number"&&e!==e}function jd(e,t){try{return e instanceof t}catch{return!1}}function $z(e){return!!(typeof e=="object"&&e!==null&&(e.__isVue||e._isVue))}Je.isDOMError=Uz;Je.isDOMException=Jz;Je.isElement=qz;Je.isError=xz;Je.isErrorEvent=Lz;Je.isEvent=Dz;Je.isInstanceOf=jd;Je.isNaN=Qz;Je.isParameterizedString=ZW;Je.isPlainObject=vW;Je.isPrimitive=Mz;Je.isRegExp=zz;Je.isString=Oz;Je.isSyntheticEvent=jz;Je.isThenable=Pz;Je.isVueViewModel=$z});var Ca=d(wi=>{"use strict";Object.defineProperty(wi,"__esModule",{value:!0});var Qd=an();function eP(e,t=0){return typeof e!="string"||t===0||e.length<=t?e:`${e.slice(0,t)}...`}function tP(e,t){let n=e,r=n.length;if(r<=150)return n;t>r&&(t=r);let i=Math.max(t-60,0);i<5&&(i=0);let o=Math.min(i+140,r);return o>r-5&&(o=r),o===r&&(i=Math.max(o-140,0)),n=n.slice(i,o),i>0&&(n=`'{snip} ${n}`),o<r&&(n+=" {snip}"),n}function nP(e,t){if(!Array.isArray(e))return"";let n=[];for(let r=0;r<e.length;r++){let i=e[r];try{Qd.isVueViewModel(i)?n.push("[VueViewModel]"):n.push(String(i))}catch{n.push("[value cannot be serialized]")}}return n.join(t)}function SW(e,t,n=!1){return Qd.isString(e)?Qd.isRegExp(t)?t.test(e):Qd.isString(t)?n?e===t:e.includes(t):!1:!1}function rP(e,t=[],n=!1){return t.some(r=>SW(e,r,n))}wi.isMatchingPattern=SW;wi.safeJoin=nP;wi.snipLine=tP;wi.stringMatchesSomePattern=rP;wi.truncate=eP});var NW=d(nh=>{"use strict";Object.defineProperty(nh,"__esModule",{value:!0});var eh=an(),iP=Ca();function oP(e,t,n=250,r,i,o,s){if(!o.exception||!o.exception.values||!s||!eh.isInstanceOf(s.originalException,Error))return;let a=o.exception.values.length>0?o.exception.values[o.exception.values.length-1]:void 0;a&&(o.exception.values=sP(th(e,t,i,s.originalException,r,o.exception.values,a,0),n))}function th(e,t,n,r,i,o,s,a){if(o.length>=n+1)return o;let c=[...o];if(eh.isInstanceOf(r[i],Error)){RW(s,a);let u=e(t,r[i]),l=c.length;WW(u,i,l,a),c=th(e,t,n,r[i],i,[u,...c],u,l)}return Array.isArray(r.errors)&&r.errors.forEach((u,l)=>{if(eh.isInstanceOf(u,Error)){RW(s,a);let g=e(t,u),f=c.length;WW(g,`errors[${l}]`,f,a),c=th(e,t,n,u,i,[g,...c],g,f)}}),c}function RW(e,t){e.mechanism=e.mechanism||{type:"generic",handled:!0},e.mechanism={...e.mechanism,...e.type==="AggregateError"&&{is_exception_group:!0},exception_id:t}}function WW(e,t,n,r){e.mechanism=e.mechanism||{type:"generic",handled:!0},e.mechanism={...e.mechanism,type:"chained",source:t,exception_id:n,parent_id:r}}function sP(e,t){return e.map(n=>(n.value&&(n.value=iP.truncate(n.value,t)),n))}nh.applyAggregateErrorsToEvent=oP});var rt=d(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});function $d(e){return e&&e.Math==Math?e:void 0}var rh=typeof globalThis=="object"&&$d(globalThis)||typeof window=="object"&&$d(window)||typeof self=="object"&&$d(self)||typeof global=="object"&&$d(global)||function(){return this}()||{};function aP(){return rh}function cP(e,t,n){let r=n||rh,i=r.__SENTRY__=r.__SENTRY__||{};return i[e]||(i[e]=t())}ba.GLOBAL_OBJ=rh;ba.getGlobalObject=aP;ba.getGlobalSingleton=cP});var ih=d(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});var uP=an(),lP=rt(),Ko=lP.getGlobalObject(),dP=80;function gP(e,t={}){if(!e)return"<unknown>";try{let n=e,r=5,i=[],o=0,s=0,a=" > ",c=a.length,u,l=Array.isArray(t)?t:t.keyAttrs,g=!Array.isArray(t)&&t.maxStringLength||dP;for(;n&&o++<r&&(u=fP(n,l),!(u==="html"||o>1&&s+i.length*c+u.length>=g));)i.push(u),s+=u.length,n=n.parentNode;return i.reverse().join(a)}catch{return"<unknown>"}}function fP(e,t){let n=e,r=[],i,o,s,a,c;if(!n||!n.tagName)return"";if(Ko.HTMLElement&&n instanceof HTMLElement&&n.dataset&&n.dataset.sentryComponent)return n.dataset.sentryComponent;r.push(n.tagName.toLowerCase());let u=t&&t.length?t.filter(g=>n.getAttribute(g)).map(g=>[g,n.getAttribute(g)]):null;if(u&&u.length)u.forEach(g=>{r.push(`[${g[0]}="${g[1]}"]`)});else if(n.id&&r.push(`#${n.id}`),i=n.className,i&&uP.isString(i))for(o=i.split(/\s+/),c=0;c<o.length;c++)r.push(`.${o[c]}`);let l=["aria-label","type","name","title","alt"];for(c=0;c<l.length;c++)s=l[c],a=n.getAttribute(s),a&&r.push(`[${s}="${a}"]`);return r.join("")}function IP(){try{return Ko.document.location.href}catch{return""}}function pP(e){return Ko.document&&Ko.document.querySelector?Ko.document.querySelector(e):null}function mP(e){if(!Ko.HTMLElement)return null;let t=e,n=5;for(let r=0;r<n;r++){if(!t)return null;if(t instanceof HTMLElement&&t.dataset.sentryComponent)return t.dataset.sentryComponent;t=t.parentNode}return null}xo.getComponentName=mP;xo.getDomElement=pP;xo.getLocationHref=IP;xo.htmlTreeAsString=gP});var Tn=d(oh=>{"use strict";Object.defineProperty(oh,"__esModule",{value:!0});var hP=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;oh.DEBUG_BUILD=hP});var Gn=d(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});var CP=Tn(),sh=rt(),bP="Sentry Logger ",ah=["debug","info","warn","error","log","assert","trace"],ch={};function VW(e){if(!("console"in sh.GLOBAL_OBJ))return e();let t=sh.GLOBAL_OBJ.console,n={},r=Object.keys(ch);r.forEach(i=>{let o=ch[i];n[i]=t[i],t[i]=o});try{return e()}finally{r.forEach(i=>{t[i]=n[i]})}}function yP(){let e=!1,t={enable:()=>{e=!0},disable:()=>{e=!1},isEnabled:()=>e};return CP.DEBUG_BUILD?ah.forEach(n=>{t[n]=(...r)=>{e&&VW(()=>{sh.GLOBAL_OBJ.console[n](`${bP}[${n}]:`,...r)})}}):ah.forEach(n=>{t[n]=()=>{}}),t}var AP=yP();Lo.CONSOLE_LEVELS=ah;Lo.consoleSandbox=VW;Lo.logger=AP;Lo.originalConsoleMethods=ch});var uh=d(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});var BP=Tn(),ya=Gn(),GP=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;function ZP(e){return e==="http"||e==="https"}function vP(e,t=!1){let{host:n,path:r,pass:i,port:o,projectId:s,protocol:a,publicKey:c}=e;return`${a}://${c}${t&&i?`:${i}`:""}@${n}${o?`:${o}`:""}/${r&&`${r}/`}${s}`}function _W(e){let t=GP.exec(e);if(!t){ya.consoleSandbox(()=>{console.error(`Invalid Sentry Dsn: ${e}`)});return}let[n,r,i="",o,s="",a]=t.slice(1),c="",u=a,l=u.split("/");if(l.length>1&&(c=l.slice(0,-1).join("/"),u=l.pop()),u){let g=u.match(/^\d+/);g&&(u=g[0])}return EW({host:o,pass:i,path:c,projectId:u,port:s,protocol:n,publicKey:r})}function EW(e){return{protocol:e.protocol,publicKey:e.publicKey||"",pass:e.pass||"",host:e.host,port:e.port||"",path:e.path||"",projectId:e.projectId}}function SP(e){if(!BP.DEBUG_BUILD)return!0;let{port:t,projectId:n,protocol:r}=e;return["protocol","publicKey","host","projectId"].find(s=>e[s]?!1:(ya.logger.error(`Invalid Sentry Dsn: ${s} missing`),!0))?!1:n.match(/^\d+$/)?ZP(r)?t&&isNaN(parseInt(t,10))?(ya.logger.error(`Invalid Sentry Dsn: Invalid port ${t}`),!1):!0:(ya.logger.error(`Invalid Sentry Dsn: Invalid protocol ${r}`),!1):(ya.logger.error(`Invalid Sentry Dsn: Invalid projectId ${n}`),!1)}function RP(e){let t=typeof e=="string"?_W(e):EW(e);if(!(!t||!SP(t)))return t}Aa.dsnFromString=_W;Aa.dsnToString=vP;Aa.makeDsn=RP});var gh=d(dh=>{"use strict";Object.defineProperty(dh,"__esModule",{value:!0});var lh=class extends Error{constructor(t,n="warn"){super(t),this.message=t,this.name=new.target.prototype.constructor.name,Object.setPrototypeOf(this,new.target.prototype),this.logLevel=n}};dh.SentryError=lh});var cn=d(Zn=>{"use strict";Object.defineProperty(Zn,"__esModule",{value:!0});var WP=ih(),NP=Tn(),Uo=an(),VP=Gn(),HW=Ca();function _P(e,t,n){if(!(t in e))return;let r=e[t],i=n(r);typeof i=="function"&&TW(i,r),e[t]=i}function FW(e,t,n){try{Object.defineProperty(e,t,{value:n,writable:!0,configurable:!0})}catch{NP.DEBUG_BUILD&&VP.logger.log(`Failed to add non-enumerable property "${t}" to object`,e)}}function TW(e,t){try{let n=t.prototype||{};e.prototype=t.prototype=n,FW(e,"__sentry_original__",t)}catch{}}function EP(e){return e.__sentry_original__}function HP(e){return Object.keys(e).map(t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`).join("&")}function XW(e){if(Uo.isError(e))return{message:e.message,name:e.name,stack:e.stack,...YW(e)};if(Uo.isEvent(e)){let t={type:e.type,target:wW(e.target),currentTarget:wW(e.currentTarget),...YW(e)};return typeof CustomEvent<"u"&&Uo.isInstanceOf(e,CustomEvent)&&(t.detail=e.detail),t}else return e}function wW(e){try{return Uo.isElement(e)?WP.htmlTreeAsString(e):Object.prototype.toString.call(e)}catch{return"<unknown>"}}function YW(e){if(typeof e=="object"&&e!==null){let t={};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}else return{}}function wP(e,t=40){let n=Object.keys(XW(e));if(n.sort(),!n.length)return"[object has no keys]";if(n[0].length>=t)return HW.truncate(n[0],t);for(let r=n.length;r>0;r--){let i=n.slice(0,r).join(", ");if(!(i.length>t))return r===n.length?i:HW.truncate(i,t)}return""}function YP(e){return fh(e,new Map)}function fh(e,t){if(FP(e)){let n=t.get(e);if(n!==void 0)return n;let r={};t.set(e,r);for(let i of Object.keys(e))typeof e[i]<"u"&&(r[i]=fh(e[i],t));return r}if(Array.isArray(e)){let n=t.get(e);if(n!==void 0)return n;let r=[];return t.set(e,r),e.forEach(i=>{r.push(fh(i,t))}),r}return e}function FP(e){if(!Uo.isPlainObject(e))return!1;try{let t=Object.getPrototypeOf(e).constructor.name;return!t||t==="Object"}catch{return!0}}function TP(e){let t;switch(!0){case e==null:t=new String(e);break;case(typeof e=="symbol"||typeof e=="bigint"):t=Object(e);break;case Uo.isPrimitive(e):t=new e.constructor(e);break;default:t=e;break}return t}Zn.addNonEnumerableProperty=FW;Zn.convertToPlainObject=XW;Zn.dropUndefinedKeys=YP;Zn.extractExceptionKeysForMessage=wP;Zn.fill=_P;Zn.getOriginalFunction=EP;Zn.markFunctionWrapped=TW;Zn.objectify=TP;Zn.urlEncode=HP});var tg=d(eg=>{"use strict";Object.defineProperty(eg,"__esModule",{value:!0});function kW(e,t=!1){return!(t||e&&!e.startsWith("/")&&!e.match(/^[A-Z]:/)&&!e.startsWith(".")&&!e.match(/^[a-zA-Z]([a-zA-Z0-9.\-+])*:\/\//))&&e!==void 0&&!e.includes("node_modules/")}function XP(e){let t=/^\s*[-]{4,}$/,n=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/;return r=>{let i=r.match(n);if(i){let o,s,a,c,u;if(i[1]){a=i[1];let f=a.lastIndexOf(".");if(a[f-1]==="."&&f--,f>0){o=a.slice(0,f),s=a.slice(f+1);let I=o.indexOf(".Module");I>0&&(a=a.slice(I+1),o=o.slice(0,I))}c=void 0}s&&(c=o,u=s),s==="<anonymous>"&&(u=void 0,a=void 0),a===void 0&&(u=u||"<anonymous>",a=c?`${c}.${u}`:u);let l=i[2]&&i[2].startsWith("file://")?i[2].slice(7):i[2],g=i[5]==="native";return l&&l.match(/\/[A-Z]:/)&&(l=l.slice(1)),!l&&i[5]&&!g&&(l=i[5]),{filename:l,module:e?e(l):void 0,function:a,lineno:parseInt(i[3],10)||void 0,colno:parseInt(i[4],10)||void 0,in_app:kW(l,g)}}if(r.match(t))return{filename:r}}}eg.filenameIsInApp=kW;eg.node=XP});var ng=d(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});var LW=tg(),UW=50,KW=/\(error: (.*)\)/,xW=/captureMessage|captureException/;function JW(...e){let t=e.sort((n,r)=>n[0]-r[0]).map(n=>n[1]);return(n,r=0)=>{let i=[],o=n.split(`
|
|
8
|
+
`);for(let s=r;s<o.length;s++){let a=o[s];if(a.length>1024)continue;let c=KW.test(a)?a.replace(KW,"$1"):a;if(!c.match(/\S*Error: /)){for(let u of t){let l=u(c);if(l){i.push(l);break}}if(i.length>=UW)break}}return OW(i)}}function kP(e){return Array.isArray(e)?JW(...e):e}function OW(e){if(!e.length)return[];let t=Array.from(e);return/sentryWrapped/.test(t[t.length-1].function||"")&&t.pop(),t.reverse(),xW.test(t[t.length-1].function||"")&&(t.pop(),xW.test(t[t.length-1].function||"")&&t.pop()),t.slice(0,UW).map(n=>({...n,filename:n.filename||t[t.length-1].filename,function:n.function||"?"}))}var Ih="<anonymous>";function KP(e){try{return!e||typeof e!="function"?Ih:e.name||Ih}catch{return Ih}}function xP(e){return[90,LW.node(e)]}Jr.filenameIsInApp=LW.filenameIsInApp;Jr.createStackParser=JW;Jr.getFunctionName=KP;Jr.nodeStackLineParser=xP;Jr.stackParserFromStackParserOptions=kP;Jr.stripSentryFramesAndReverse=OW});var gr=d(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});var LP=Tn(),UP=Gn(),JP=ng(),Jo={},MW={};function OP(e,t){Jo[e]=Jo[e]||[],Jo[e].push(t)}function MP(){Object.keys(Jo).forEach(e=>{Jo[e]=void 0})}function DP(e,t){MW[e]||(t(),MW[e]=!0)}function qP(e,t){let n=e&&Jo[e];if(n)for(let r of n)try{r(t)}catch(i){LP.DEBUG_BUILD&&UP.logger.error(`Error while triggering instrumentation handler.
|
|
9
|
+
Type: ${e}
|
|
10
|
+
Name: ${JP.getFunctionName(r)}
|
|
11
|
+
Error:`,i)}}Oo.addHandler=OP;Oo.maybeInstrument=DP;Oo.resetInstrumentationHandlers=MP;Oo.triggerHandlers=qP});var Ch=d(hh=>{"use strict";Object.defineProperty(hh,"__esModule",{value:!0});var ph=Gn(),zP=cn(),rg=rt(),mh=gr();function PP(e){let t="console";mh.addHandler(t,e),mh.maybeInstrument(t,jP)}function jP(){"console"in rg.GLOBAL_OBJ&&ph.CONSOLE_LEVELS.forEach(function(e){e in rg.GLOBAL_OBJ.console&&zP.fill(rg.GLOBAL_OBJ.console,e,function(t){return ph.originalConsoleMethods[e]=t,function(...n){let r={args:n,level:e};mh.triggerHandlers("console",r);let i=ph.originalConsoleMethods[e];i&&i.apply(rg.GLOBAL_OBJ.console,n)}})})}hh.addConsoleInstrumentationHandler=PP});var Ba=d(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});var QP=cn(),bh=Ca(),$P=rt();function ej(){let e=$P.GLOBAL_OBJ,t=e.crypto||e.msCrypto,n=()=>Math.random()*16;try{if(t&&t.randomUUID)return t.randomUUID().replace(/-/g,"");t&&t.getRandomValues&&(n=()=>{let r=new Uint8Array(1);return t.getRandomValues(r),r[0]})}catch{}return("10000000100040008000"+1e11).replace(/[018]/g,r=>(r^(n()&15)>>r/4).toString(16))}function DW(e){return e.exception&&e.exception.values?e.exception.values[0]:void 0}function tj(e){let{message:t,event_id:n}=e;if(t)return t;let r=DW(e);return r?r.type&&r.value?`${r.type}: ${r.value}`:r.type||r.value||n||"<unknown>":n||"<unknown>"}function nj(e,t,n){let r=e.exception=e.exception||{},i=r.values=r.values||[],o=i[0]=i[0]||{};o.value||(o.value=t||""),o.type||(o.type=n||"Error")}function rj(e,t){let n=DW(e);if(!n)return;let r={type:"generic",handled:!0},i=n.mechanism;if(n.mechanism={...r,...i,...t},t&&"data"in t){let o={...i&&i.data,...t.data};n.mechanism.data=o}}var ij=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;function oj(e){let t=e.match(ij)||[],n=parseInt(t[1],10),r=parseInt(t[2],10),i=parseInt(t[3],10);return{buildmetadata:t[5],major:isNaN(n)?void 0:n,minor:isNaN(r)?void 0:r,patch:isNaN(i)?void 0:i,prerelease:t[4]}}function sj(e,t,n=5){if(t.lineno===void 0)return;let r=e.length,i=Math.max(Math.min(r-1,t.lineno-1),0);t.pre_context=e.slice(Math.max(0,i-n),i).map(o=>bh.snipLine(o,0)),t.context_line=bh.snipLine(e[Math.min(r-1,i)],t.colno||0),t.post_context=e.slice(Math.min(i+1,r),i+1+n).map(o=>bh.snipLine(o,0))}function aj(e){if(e&&e.__sentry_captured__)return!0;try{QP.addNonEnumerableProperty(e,"__sentry_captured__",!0)}catch{}return!1}function cj(e){return Array.isArray(e)?e:[e]}Xn.addContextToFrame=sj;Xn.addExceptionMechanism=rj;Xn.addExceptionTypeValue=nj;Xn.arrayify=cj;Xn.checkOrSetAlreadyCaught=aj;Xn.getEventDescription=tj;Xn.parseSemver=oj;Xn.uuid4=ej});var Gh=d(og=>{"use strict";Object.defineProperty(og,"__esModule",{value:!0});var uj=Ba(),ig=cn(),lj=rt(),yh=gr(),Mo=lj.GLOBAL_OBJ,dj=1e3,qW,Ah,Bh;function gj(e){let t="dom";yh.addHandler(t,e),yh.maybeInstrument(t,PW)}function PW(){if(!Mo.document)return;let e=yh.triggerHandlers.bind(null,"dom"),t=zW(e,!0);Mo.document.addEventListener("click",t,!1),Mo.document.addEventListener("keypress",t,!1),["EventTarget","Node"].forEach(n=>{let r=Mo[n]&&Mo[n].prototype;!r||!r.hasOwnProperty||!r.hasOwnProperty("addEventListener")||(ig.fill(r,"addEventListener",function(i){return function(o,s,a){if(o==="click"||o=="keypress")try{let c=this,u=c.__sentry_instrumentation_handlers__=c.__sentry_instrumentation_handlers__||{},l=u[o]=u[o]||{refCount:0};if(!l.handler){let g=zW(e);l.handler=g,i.call(this,o,g,a)}l.refCount++}catch{}return i.call(this,o,s,a)}}),ig.fill(r,"removeEventListener",function(i){return function(o,s,a){if(o==="click"||o=="keypress")try{let c=this,u=c.__sentry_instrumentation_handlers__||{},l=u[o];l&&(l.refCount--,l.refCount<=0&&(i.call(this,o,l.handler,a),l.handler=void 0,delete u[o]),Object.keys(u).length===0&&delete c.__sentry_instrumentation_handlers__)}catch{}return i.call(this,o,s,a)}}))})}function fj(e){if(e.type!==Ah)return!1;try{if(!e.target||e.target._sentryId!==Bh)return!1}catch{}return!0}function Ij(e,t){return e!=="keypress"?!1:!t||!t.tagName?!0:!(t.tagName==="INPUT"||t.tagName==="TEXTAREA"||t.isContentEditable)}function zW(e,t=!1){return n=>{if(!n||n._sentryCaptured)return;let r=pj(n);if(Ij(n.type,r))return;ig.addNonEnumerableProperty(n,"_sentryCaptured",!0),r&&!r._sentryId&&ig.addNonEnumerableProperty(r,"_sentryId",uj.uuid4());let i=n.type==="keypress"?"input":n.type;fj(n)||(e({event:n,name:i,global:t}),Ah=n.type,Bh=r?r._sentryId:void 0),clearTimeout(qW),qW=Mo.setTimeout(()=>{Bh=void 0,Ah=void 0},dj)}}function pj(e){try{return e.target}catch{return null}}og.addClickKeypressInstrumentationHandler=gj;og.instrumentDOM=PW});var Sh=d(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});var mj=Tn(),hj=Gn(),Cj=rt(),sg=Cj.getGlobalObject();function bj(){try{return new ErrorEvent(""),!0}catch{return!1}}function yj(){try{return new DOMError(""),!0}catch{return!1}}function Aj(){try{return new DOMException(""),!0}catch{return!1}}function vh(){if(!("fetch"in sg))return!1;try{return new Headers,new Request("http://www.example.com"),new Response,!0}catch{return!1}}function Zh(e){return e&&/^function fetch\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())}function Bj(){if(typeof EdgeRuntime=="string")return!0;if(!vh())return!1;if(Zh(sg.fetch))return!0;let e=!1,t=sg.document;if(t&&typeof t.createElement=="function")try{let n=t.createElement("iframe");n.hidden=!0,t.head.appendChild(n),n.contentWindow&&n.contentWindow.fetch&&(e=Zh(n.contentWindow.fetch)),t.head.removeChild(n)}catch(n){mj.DEBUG_BUILD&&hj.logger.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",n)}return e}function Gj(){return"ReportingObserver"in sg}function Zj(){if(!vh())return!1;try{return new Request("_",{referrerPolicy:"origin"}),!0}catch{return!1}}kn.isNativeFetch=Zh;kn.supportsDOMError=yj;kn.supportsDOMException=Aj;kn.supportsErrorEvent=bj;kn.supportsFetch=vh;kn.supportsNativeFetch=Bj;kn.supportsReferrerPolicy=Zj;kn.supportsReportingObserver=Gj});var Wh=d(ag=>{"use strict";Object.defineProperty(ag,"__esModule",{value:!0});var vj=cn(),Sj=Sh(),jW=rt(),Ga=gr();function Rj(e){let t="fetch";Ga.addHandler(t,e),Ga.maybeInstrument(t,Wj)}function Wj(){Sj.supportsNativeFetch()&&vj.fill(jW.GLOBAL_OBJ,"fetch",function(e){return function(...t){let{method:n,url:r}=$W(t),i={args:t,fetchData:{method:n,url:r},startTimestamp:Date.now()};return Ga.triggerHandlers("fetch",{...i}),e.apply(jW.GLOBAL_OBJ,t).then(o=>{let s={...i,endTimestamp:Date.now(),response:o};return Ga.triggerHandlers("fetch",s),o},o=>{let s={...i,endTimestamp:Date.now(),error:o};throw Ga.triggerHandlers("fetch",s),o})}})}function Rh(e,t){return!!e&&typeof e=="object"&&!!e[t]}function QW(e){return typeof e=="string"?e:e?Rh(e,"url")?e.url:e.toString?e.toString():"":""}function $W(e){if(e.length===0)return{method:"GET",url:""};if(e.length===2){let[n,r]=e;return{url:QW(n),method:Rh(r,"method")?String(r.method).toUpperCase():"GET"}}let t=e[0];return{url:QW(t),method:Rh(t,"method")?String(t.method).toUpperCase():"GET"}}ag.addFetchInstrumentationHandler=Rj;ag.parseFetchArgs=$W});var Eh=d(_h=>{"use strict";Object.defineProperty(_h,"__esModule",{value:!0});var Nh=rt(),Vh=gr(),cg=null;function Nj(e){let t="error";Vh.addHandler(t,e),Vh.maybeInstrument(t,Vj)}function Vj(){cg=Nh.GLOBAL_OBJ.onerror,Nh.GLOBAL_OBJ.onerror=function(e,t,n,r,i){let o={column:r,error:i,line:n,msg:e,url:t};return Vh.triggerHandlers("error",o),cg&&!cg.__SENTRY_LOADER__?cg.apply(this,arguments):!1},Nh.GLOBAL_OBJ.onerror.__SENTRY_INSTRUMENTED__=!0}_h.addGlobalErrorInstrumentationHandler=Nj});var Fh=d(Yh=>{"use strict";Object.defineProperty(Yh,"__esModule",{value:!0});var Hh=rt(),wh=gr(),ug=null;function _j(e){let t="unhandledrejection";wh.addHandler(t,e),wh.maybeInstrument(t,Ej)}function Ej(){ug=Hh.GLOBAL_OBJ.onunhandledrejection,Hh.GLOBAL_OBJ.onunhandledrejection=function(e){let t=e;return wh.triggerHandlers("unhandledrejection",t),ug&&!ug.__SENTRY_LOADER__?ug.apply(this,arguments):!0},Hh.GLOBAL_OBJ.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}Yh.addGlobalUnhandledRejectionInstrumentationHandler=_j});var Xh=d(Th=>{"use strict";Object.defineProperty(Th,"__esModule",{value:!0});var Hj=rt(),lg=Hj.getGlobalObject();function wj(){let e=lg.chrome,t=e&&e.app&&e.app.runtime,n="history"in lg&&!!lg.history.pushState&&!!lg.history.replaceState;return!t&&n}Th.supportsHistory=wj});var Kh=d(kh=>{"use strict";Object.defineProperty(kh,"__esModule",{value:!0});var e2=cn();Tn();Gn();var Yj=rt(),Fj=Xh(),gg=gr(),Za=Yj.GLOBAL_OBJ,dg;function Tj(e){let t="history";gg.addHandler(t,e),gg.maybeInstrument(t,Xj)}function Xj(){if(!Fj.supportsHistory())return;let e=Za.onpopstate;Za.onpopstate=function(...n){let r=Za.location.href,i=dg;dg=r;let o={from:i,to:r};if(gg.triggerHandlers("history",o),e)try{return e.apply(this,n)}catch{}};function t(n){return function(...r){let i=r.length>2?r[2]:void 0;if(i){let o=dg,s=String(i);dg=s;let a={from:o,to:s};gg.triggerHandlers("history",a)}return n.apply(this,r)}}e2.fill(Za.history,"pushState",t),e2.fill(Za.history,"replaceState",t)}kh.addHistoryInstrumentationHandler=Tj});var xh=d(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});var Ig=an(),fg=cn(),kj=rt(),pg=gr(),Kj=kj.GLOBAL_OBJ,va="__sentry_xhr_v3__";function xj(e){let t="xhr";pg.addHandler(t,e),pg.maybeInstrument(t,t2)}function t2(){if(!Kj.XMLHttpRequest)return;let e=XMLHttpRequest.prototype;fg.fill(e,"open",function(t){return function(...n){let r=Date.now(),i=Ig.isString(n[0])?n[0].toUpperCase():void 0,o=Lj(n[1]);if(!i||!o)return t.apply(this,n);this[va]={method:i,url:o,request_headers:{}},i==="POST"&&o.match(/sentry_key/)&&(this.__sentry_own_request__=!0);let s=()=>{let a=this[va];if(a&&this.readyState===4){try{a.status_code=this.status}catch{}let c={args:[i,o],endTimestamp:Date.now(),startTimestamp:r,xhr:this};pg.triggerHandlers("xhr",c)}};return"onreadystatechange"in this&&typeof this.onreadystatechange=="function"?fg.fill(this,"onreadystatechange",function(a){return function(...c){return s(),a.apply(this,c)}}):this.addEventListener("readystatechange",s),fg.fill(this,"setRequestHeader",function(a){return function(...c){let[u,l]=c,g=this[va];return g&&Ig.isString(u)&&Ig.isString(l)&&(g.request_headers[u.toLowerCase()]=l),a.apply(this,c)}}),t.apply(this,n)}}),fg.fill(e,"send",function(t){return function(...n){let r=this[va];if(!r)return t.apply(this,n);n[0]!==void 0&&(r.body=n[0]);let i={args:[r.method,r.url],startTimestamp:Date.now(),xhr:this};return pg.triggerHandlers("xhr",i),t.apply(this,n)}})}function Lj(e){if(Ig.isString(e))return e;try{return e.toString()}catch{}}Sa.SENTRY_XHR_DATA_KEY=va;Sa.addXhrInstrumentationHandler=xj;Sa.instrumentXHR=t2});var c2=d(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});var Uj=Tn(),Jj=Gn(),n2=Ch(),r2=Gh(),i2=Wh(),o2=Eh(),s2=Fh(),a2=Kh(),Lh=xh();function Oj(e,t){switch(e){case"console":return n2.addConsoleInstrumentationHandler(t);case"dom":return r2.addClickKeypressInstrumentationHandler(t);case"xhr":return Lh.addXhrInstrumentationHandler(t);case"fetch":return i2.addFetchInstrumentationHandler(t);case"history":return a2.addHistoryInstrumentationHandler(t);case"error":return o2.addGlobalErrorInstrumentationHandler(t);case"unhandledrejection":return s2.addGlobalUnhandledRejectionInstrumentationHandler(t);default:Uj.DEBUG_BUILD&&Jj.logger.warn("unknown instrumentation type:",e)}}vn.addConsoleInstrumentationHandler=n2.addConsoleInstrumentationHandler;vn.addClickKeypressInstrumentationHandler=r2.addClickKeypressInstrumentationHandler;vn.addFetchInstrumentationHandler=i2.addFetchInstrumentationHandler;vn.addGlobalErrorInstrumentationHandler=o2.addGlobalErrorInstrumentationHandler;vn.addGlobalUnhandledRejectionInstrumentationHandler=s2.addGlobalUnhandledRejectionInstrumentationHandler;vn.addHistoryInstrumentationHandler=a2.addHistoryInstrumentationHandler;vn.SENTRY_XHR_DATA_KEY=Lh.SENTRY_XHR_DATA_KEY;vn.addXhrInstrumentationHandler=Lh.addXhrInstrumentationHandler;vn.addInstrumentationHandler=Oj});var Uh=d(mg=>{"use strict";Object.defineProperty(mg,"__esModule",{value:!0});function Mj(){return typeof __SENTRY_BROWSER_BUNDLE__<"u"&&!!__SENTRY_BROWSER_BUNDLE__}function Dj(){return"npm"}mg.getSDKSource=Dj;mg.isBrowserBundle=Mj});var Jh=d((Ra,Cg)=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});var qj=Uh();function zj(){return!qj.isBrowserBundle()&&Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]"}function hg(e,t){return e.require(t)}function Pj(e){let t;try{t=hg(Cg,e)}catch{}try{let{cwd:n}=hg(Cg,"process");t=hg(Cg,`${n()}/node_modules/${e}`)}catch{}return t}Ra.dynamicRequire=hg;Ra.isNodeEnv=zj;Ra.loadModule=Pj});var l2=d(Oh=>{"use strict";Object.defineProperty(Oh,"__esModule",{value:!0});var jj=Jh(),u2=rt();function Qj(){return typeof window<"u"&&(!jj.isNodeEnv()||$j())}function $j(){return u2.GLOBAL_OBJ.process!==void 0&&u2.GLOBAL_OBJ.process.type==="renderer"}Oh.isBrowser=Qj});var Dh=d(Mh=>{"use strict";Object.defineProperty(Mh,"__esModule",{value:!0});function eQ(){let e=typeof WeakSet=="function",t=e?new WeakSet:[];function n(i){if(e)return t.has(i)?!0:(t.add(i),!1);for(let o=0;o<t.length;o++)if(t[o]===i)return!0;return t.push(i),!1}function r(i){if(e)t.delete(i);else for(let o=0;o<t.length;o++)if(t[o]===i){t.splice(o,1);break}}return[n,r]}Mh.memoBuilder=eQ});var Wa=d(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});var qh=an(),tQ=Dh(),nQ=cn(),rQ=ng();function d2(e,t=100,n=1/0){try{return bg("",e,t,n)}catch(r){return{ERROR:`**non-serializable** (${r})`}}}function g2(e,t=3,n=100*1024){let r=d2(e,t);return aQ(r)>n?g2(e,t-1,n):r}function bg(e,t,n=1/0,r=1/0,i=tQ.memoBuilder()){let[o,s]=i;if(t==null||["number","boolean","string"].includes(typeof t)&&!qh.isNaN(t))return t;let a=iQ(e,t);if(!a.startsWith("[object "))return a;if(t.__sentry_skip_normalization__)return t;let c=typeof t.__sentry_override_normalization_depth__=="number"?t.__sentry_override_normalization_depth__:n;if(c===0)return a.replace("object ","");if(o(t))return"[Circular ~]";let u=t;if(u&&typeof u.toJSON=="function")try{let I=u.toJSON();return bg("",I,c-1,r,i)}catch{}let l=Array.isArray(t)?[]:{},g=0,f=nQ.convertToPlainObject(t);for(let I in f){if(!Object.prototype.hasOwnProperty.call(f,I))continue;if(g>=r){l[I]="[MaxProperties ~]";break}let m=f[I];l[I]=bg(I,m,c-1,r,i),g++}return s(t),l}function iQ(e,t){try{if(e==="domain"&&t&&typeof t=="object"&&t._events)return"[Domain]";if(e==="domainEmitter")return"[DomainEmitter]";if(typeof global<"u"&&t===global)return"[Global]";if(typeof window<"u"&&t===window)return"[Window]";if(typeof document<"u"&&t===document)return"[Document]";if(qh.isVueViewModel(t))return"[VueViewModel]";if(qh.isSyntheticEvent(t))return"[SyntheticEvent]";if(typeof t=="number"&&t!==t)return"[NaN]";if(typeof t=="function")return`[Function: ${rQ.getFunctionName(t)}]`;if(typeof t=="symbol")return`[${String(t)}]`;if(typeof t=="bigint")return`[BigInt: ${String(t)}]`;let n=oQ(t);return/^HTML(\w*)Element$/.test(n)?`[HTMLElement: ${n}]`:`[object ${n}]`}catch(n){return`**non-serializable** (${n})`}}function oQ(e){let t=Object.getPrototypeOf(e);return t?t.constructor.name:"null prototype"}function sQ(e){return~-encodeURI(e).split(/%..|./).length}function aQ(e){return sQ(JSON.stringify(e))}function cQ(e,t){let n=t.replace(/\\/g,"/").replace(/[|\\{}()[\]^$+*?.]/g,"\\$&"),r=e;try{r=decodeURI(e)}catch{}return r.replace(/\\/g,"/").replace(/webpack:\/?/g,"").replace(new RegExp(`(file://)?/*${n}/*`,"ig"),"app:///")}Do.normalize=d2;Do.normalizeToSize=g2;Do.normalizeUrlToBase=cQ;Do.walk=bg});var C2=d(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});function I2(e,t){let n=0;for(let r=e.length-1;r>=0;r--){let i=e[r];i==="."?e.splice(r,1):i===".."?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}var uQ=/^(\S+:\\|\/?)([\s\S]*?)((?:\.{1,2}|[^/\\]+?|)(\.[^./\\]*|))(?:[/\\]*)$/;function p2(e){let t=e.length>1024?`<truncated>${e.slice(-1024)}`:e,n=uQ.exec(t);return n?n.slice(1):[]}function zh(...e){let t="",n=!1;for(let r=e.length-1;r>=-1&&!n;r--){let i=r>=0?e[r]:"/";i&&(t=`${i}/${t}`,n=i.charAt(0)==="/")}return t=I2(t.split("/").filter(r=>!!r),!n).join("/"),(n?"/":"")+t||"."}function f2(e){let t=0;for(;t<e.length&&e[t]==="";t++);let n=e.length-1;for(;n>=0&&e[n]==="";n--);return t>n?[]:e.slice(t,n-t+1)}function lQ(e,t){e=zh(e).slice(1),t=zh(t).slice(1);let n=f2(e.split("/")),r=f2(t.split("/")),i=Math.min(n.length,r.length),o=i;for(let a=0;a<i;a++)if(n[a]!==r[a]){o=a;break}let s=[];for(let a=o;a<n.length;a++)s.push("..");return s=s.concat(r.slice(o)),s.join("/")}function m2(e){let t=h2(e),n=e.slice(-1)==="/",r=I2(e.split("/").filter(i=>!!i),!t).join("/");return!r&&!t&&(r="."),r&&n&&(r+="/"),(t?"/":"")+r}function h2(e){return e.charAt(0)==="/"}function dQ(...e){return m2(e.join("/"))}function gQ(e){let t=p2(e),n=t[0],r=t[1];return!n&&!r?".":(r&&(r=r.slice(0,r.length-1)),n+r)}function fQ(e,t){let n=p2(e)[2];return t&&n.slice(t.length*-1)===t&&(n=n.slice(0,n.length-t.length)),n}fr.basename=fQ;fr.dirname=gQ;fr.isAbsolute=h2;fr.join=dQ;fr.normalizePath=m2;fr.relative=lQ;fr.resolve=zh});var Ph=d(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});var IQ=an(),Ir;(function(e){e[e.PENDING=0]="PENDING";let n=1;e[e.RESOLVED=n]="RESOLVED";let r=2;e[e.REJECTED=r]="REJECTED"})(Ir||(Ir={}));function pQ(e){return new Na(t=>{t(e)})}function mQ(e){return new Na((t,n)=>{n(e)})}var Na=class e{constructor(t){e.prototype.__init.call(this),e.prototype.__init2.call(this),e.prototype.__init3.call(this),e.prototype.__init4.call(this),this._state=Ir.PENDING,this._handlers=[];try{t(this._resolve,this._reject)}catch(n){this._reject(n)}}then(t,n){return new e((r,i)=>{this._handlers.push([!1,o=>{if(!t)r(o);else try{r(t(o))}catch(s){i(s)}},o=>{if(!n)i(o);else try{r(n(o))}catch(s){i(s)}}]),this._executeHandlers()})}catch(t){return this.then(n=>n,t)}finally(t){return new e((n,r)=>{let i,o;return this.then(s=>{o=!1,i=s,t&&t()},s=>{o=!0,i=s,t&&t()}).then(()=>{if(o){r(i);return}n(i)})})}__init(){this._resolve=t=>{this._setResult(Ir.RESOLVED,t)}}__init2(){this._reject=t=>{this._setResult(Ir.REJECTED,t)}}__init3(){this._setResult=(t,n)=>{if(this._state===Ir.PENDING){if(IQ.isThenable(n)){n.then(this._resolve,this._reject);return}this._state=t,this._value=n,this._executeHandlers()}}}__init4(){this._executeHandlers=()=>{if(this._state===Ir.PENDING)return;let t=this._handlers.slice();this._handlers=[],t.forEach(n=>{n[0]||(this._state===Ir.RESOLVED&&n[1](this._value),this._state===Ir.REJECTED&&n[2](this._value),n[0]=!0)})}}};Va.SyncPromise=Na;Va.rejectedSyncPromise=mQ;Va.resolvedSyncPromise=pQ});var b2=d(Qh=>{"use strict";Object.defineProperty(Qh,"__esModule",{value:!0});var hQ=gh(),jh=Ph();function CQ(e){let t=[];function n(){return e===void 0||t.length<e}function r(s){return t.splice(t.indexOf(s),1)[0]}function i(s){if(!n())return jh.rejectedSyncPromise(new hQ.SentryError("Not adding Promise because buffer limit was reached."));let a=s();return t.indexOf(a)===-1&&t.push(a),a.then(()=>r(a)).then(null,()=>r(a).then(null,()=>{})),a}function o(s){return new jh.SyncPromise((a,c)=>{let u=t.length;if(!u)return a(!0);let l=setTimeout(()=>{s&&s>0&&a(!1)},s);t.forEach(g=>{jh.resolvedSyncPromise(g).then(()=>{--u||(clearTimeout(l),a(!0))},c)})})}return{$:t,add:i,drain:o}}Qh.makePromiseBuffer=CQ});var y2=d($h=>{"use strict";Object.defineProperty($h,"__esModule",{value:!0});function bQ(e){let t={},n=0;for(;n<e.length;){let r=e.indexOf("=",n);if(r===-1)break;let i=e.indexOf(";",n);if(i===-1)i=e.length;else if(i<r){n=e.lastIndexOf(";",r-1)+1;continue}let o=e.slice(n,r).trim();if(t[o]===void 0){let s=e.slice(r+1,i).trim();s.charCodeAt(0)===34&&(s=s.slice(1,-1));try{t[o]=s.indexOf("%")!==-1?decodeURIComponent(s):s}catch{t[o]=s}}n=i+1}return t}$h.parseCookie=bQ});var eC=d(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});function yQ(e){if(!e)return{};let t=e.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!t)return{};let n=t[6]||"",r=t[8]||"";return{host:t[4],path:t[5],protocol:t[2],search:n,hash:r,relative:t[5]+n+r}}function AQ(e){return e.split(/[\?#]/,1)[0]}function BQ(e){return e.split(/\\?\//).filter(t=>t.length>0&&t!==",").length}function GQ(e){let{protocol:t,host:n,path:r}=e,i=n&&n.replace(/^.*@/,"[filtered]:[filtered]@").replace(/(:80)$/,"").replace(/(:443)$/,"")||"";return`${t?`${t}://`:""}${i}${r}`}qo.getNumberOfUrlSegments=BQ;qo.getSanitizedUrlString=GQ;qo.parseUrl=yQ;qo.stripUrlQueryAndFragment=AQ});var v2=d(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});var ZQ=y2(),vQ=Tn(),A2=an(),SQ=Gn(),RQ=Wa(),WQ=eC(),NQ={ip:!1,request:!0,transaction:!0,user:!0},VQ=["cookies","data","headers","method","query_string","url"],B2=["id","username","email"];function _Q(e,t,n){if(e){if(!e.metadata.source||e.metadata.source==="url"){let[r,i]=yg(t,{path:!0,method:!0});e.updateName(r),e.setMetadata({source:i})}e.setAttribute("url",t.originalUrl||t.url),t.baseUrl&&e.setAttribute("baseUrl",t.baseUrl),e.setData("query",G2(t,n))}}function yg(e,t={}){let n=e.method&&e.method.toUpperCase(),r="",i="url";t.customRoute||e.route?(r=t.customRoute||`${e.baseUrl||""}${e.route&&e.route.path}`,i="route"):(e.originalUrl||e.url)&&(r=WQ.stripUrlQueryAndFragment(e.originalUrl||e.url||""));let o="";return t.method&&n&&(o+=n),t.method&&t.path&&(o+=" "),t.path&&r&&(o+=r),[o,i]}function EQ(e,t){switch(t){case"path":return yg(e,{path:!0})[0];case"handler":return e.route&&e.route.stack&&e.route.stack[0]&&e.route.stack[0].name||"<anonymous>";case"methodPath":default:{let n=e._reconstructedRoute?e._reconstructedRoute:void 0;return yg(e,{path:!0,method:!0,customRoute:n})[0]}}}function HQ(e,t){let n={};return(Array.isArray(t)?t:B2).forEach(i=>{e&&i in e&&(n[i]=e[i])}),n}function tC(e,t){let{include:n=VQ,deps:r}=t||{},i={},o=e.headers||{},s=e.method,a=o.host||e.hostname||e.host||"<no host>",c=e.protocol==="https"||e.socket&&e.socket.encrypted?"https":"http",u=e.originalUrl||e.url||"",l=u.startsWith(c)?u:`${c}://${a}${u}`;return n.forEach(g=>{switch(g){case"headers":{i.headers=o,n.includes("cookies")||delete i.headers.cookie;break}case"method":{i.method=s;break}case"url":{i.url=l;break}case"cookies":{i.cookies=e.cookies||o.cookie&&ZQ.parseCookie(o.cookie)||{};break}case"query_string":{i.query_string=G2(e,r);break}case"data":{if(s==="GET"||s==="HEAD")break;e.body!==void 0&&(i.data=A2.isString(e.body)?e.body:JSON.stringify(RQ.normalize(e.body)));break}default:({}).hasOwnProperty.call(e,g)&&(i[g]=e[g])}}),i}function wQ(e,t,n){let r={...NQ,...n&&n.include};if(r.request){let i=Array.isArray(r.request)?tC(t,{include:r.request,deps:n&&n.deps}):tC(t,{deps:n&&n.deps});e.request={...e.request,...i}}if(r.user){let i=t.user&&A2.isPlainObject(t.user)?HQ(t.user,r.user):{};Object.keys(i).length&&(e.user={...e.user,...i})}if(r.ip){let i=t.ip||t.socket&&t.socket.remoteAddress;i&&(e.user={...e.user,ip_address:i})}return r.transaction&&!e.transaction&&(e.transaction=EQ(t,r.transaction)),e}function G2(e,t){let n=e.originalUrl||e.url||"";if(n){n.startsWith("/")&&(n=`http://dogs.are.great${n}`);try{return e.query||typeof URL<"u"&&new URL(n).search.slice(1)||t&&t.url&&t.url.parse(n).query||void 0}catch{return}}}function Z2(e){let t={};try{e.forEach((n,r)=>{typeof n=="string"&&(t[r]=n)})}catch{vQ.DEBUG_BUILD&&SQ.logger.warn("Sentry failed extracting headers from a request object. If you see this, please file an issue.")}return t}function YQ(e){let t=Z2(e.headers);return{method:e.method,url:e.url,headers:t}}pr.DEFAULT_USER_INCLUDES=B2;pr.addRequestDataToEvent=wQ;pr.addRequestDataToTransaction=_Q;pr.extractPathForTransaction=yg;pr.extractRequestData=tC;pr.winterCGHeadersToDict=Z2;pr.winterCGRequestToRequestData=YQ});var W2=d(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});var S2=["fatal","error","warning","log","info","debug"];function FQ(e){return R2(e)}function R2(e){return e==="warn"?"warning":S2.includes(e)?e:"log"}_a.severityFromString=FQ;_a.severityLevelFromString=R2;_a.validSeverityLevels=S2});var nC=d(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});var N2=rt(),V2=1e3;function _2(){return Date.now()/V2}function TQ(){let{performance:e}=N2.GLOBAL_OBJ;if(!e||!e.now)return _2;let t=Date.now()-e.now(),n=e.timeOrigin==null?t:e.timeOrigin;return()=>(n+e.now())/V2}var E2=TQ(),XQ=E2;Sn._browserPerformanceTimeOriginMode=void 0;var kQ=(()=>{let{performance:e}=N2.GLOBAL_OBJ;if(!e||!e.now){Sn._browserPerformanceTimeOriginMode="none";return}let t=3600*1e3,n=e.now(),r=Date.now(),i=e.timeOrigin?Math.abs(e.timeOrigin+n-r):t,o=i<t,s=e.timing&&e.timing.navigationStart,c=typeof s=="number"?Math.abs(s+n-r):t,u=c<t;return o||u?i<=c?(Sn._browserPerformanceTimeOriginMode="timeOrigin",e.timeOrigin):(Sn._browserPerformanceTimeOriginMode="navigationStart",s):(Sn._browserPerformanceTimeOriginMode="dateNow",r)})();Sn.browserPerformanceTimeOrigin=kQ;Sn.dateTimestampInSeconds=_2;Sn.timestampInSeconds=E2;Sn.timestampWithMs=XQ});var iC=d(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});var KQ=Tn(),xQ=an(),LQ=Gn(),UQ="baggage",rC="sentry-",w2=/^sentry-/,Y2=8192;function JQ(e){if(!xQ.isString(e)&&!Array.isArray(e))return;let t={};if(Array.isArray(e))t=e.reduce((r,i)=>{let o=H2(i);for(let s of Object.keys(o))r[s]=o[s];return r},{});else{if(!e)return;t=H2(e)}let n=Object.entries(t).reduce((r,[i,o])=>{if(i.match(w2)){let s=i.slice(rC.length);r[s]=o}return r},{});if(Object.keys(n).length>0)return n}function OQ(e){if(!e)return;let t=Object.entries(e).reduce((n,[r,i])=>(i&&(n[`${rC}${r}`]=i),n),{});return MQ(t)}function H2(e){return e.split(",").map(t=>t.split("=").map(n=>decodeURIComponent(n.trim()))).reduce((t,[n,r])=>(t[n]=r,t),{})}function MQ(e){if(Object.keys(e).length!==0)return Object.entries(e).reduce((t,[n,r],i)=>{let o=`${encodeURIComponent(n)}=${encodeURIComponent(r)}`,s=i===0?o:`${t},${o}`;return s.length>Y2?(KQ.DEBUG_BUILD&&LQ.logger.warn(`Not adding key: ${n} with val: ${r} to baggage header due to exceeding baggage size limits.`),t):s},"")}Or.BAGGAGE_HEADER_NAME=UQ;Or.MAX_BAGGAGE_STRING_LENGTH=Y2;Or.SENTRY_BAGGAGE_KEY_PREFIX=rC;Or.SENTRY_BAGGAGE_KEY_PREFIX_REGEX=w2;Or.baggageHeaderToDynamicSamplingContext=JQ;Or.dynamicSamplingContextToSentryBaggageHeader=OQ});var X2=d(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});var F2=iC(),un=Ba(),T2=new RegExp("^[ \\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\t]*$");function oC(e){if(!e)return;let t=e.match(T2);if(!t)return;let n;return t[3]==="1"?n=!0:t[3]==="0"&&(n=!1),{traceId:t[1],parentSampled:n,parentSpanId:t[2]}}function DQ(e,t){let n=oC(e),r=F2.baggageHeaderToDynamicSamplingContext(t),{traceId:i,parentSpanId:o,parentSampled:s}=n||{};return n?{traceparentData:n,dynamicSamplingContext:r||{},propagationContext:{traceId:i||un.uuid4(),parentSpanId:o||un.uuid4().substring(16),spanId:un.uuid4().substring(16),sampled:s,dsc:r||{}}}:{traceparentData:n,dynamicSamplingContext:void 0,propagationContext:{traceId:i||un.uuid4(),spanId:un.uuid4().substring(16)}}}function qQ(e,t){let n=oC(e),r=F2.baggageHeaderToDynamicSamplingContext(t),{traceId:i,parentSpanId:o,parentSampled:s}=n||{};return n?{traceId:i||un.uuid4(),parentSpanId:o||un.uuid4().substring(16),spanId:un.uuid4().substring(16),sampled:s,dsc:r||{}}:{traceId:i||un.uuid4(),spanId:un.uuid4().substring(16)}}function zQ(e=un.uuid4(),t=un.uuid4().substring(16),n){let r="";return n!==void 0&&(r=n?"-1":"-0"),`${e}-${t}${r}`}Yi.TRACEPARENT_REGEXP=T2;Yi.extractTraceparentData=oC;Yi.generateSentryTraceHeader=zQ;Yi.propagationContextFromHeaders=qQ;Yi.tracingContextFromHeaders=DQ});var aC=d(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});var PQ=uh(),jQ=Wa(),k2=cn();function QQ(e,t=[]){return[e,t]}function $Q(e,t){let[n,r]=e;return[n,[...r,t]]}function K2(e,t){let n=e[1];for(let r of n){let i=r[0].type;if(t(r,i))return!0}return!1}function e4(e,t){return K2(e,(n,r)=>t.includes(r))}function sC(e,t){return(t||new TextEncoder).encode(e)}function t4(e,t){let[n,r]=e,i=JSON.stringify(n);function o(s){typeof i=="string"?i=typeof s=="string"?i+s:[sC(i,t),s]:i.push(typeof s=="string"?sC(s,t):s)}for(let s of r){let[a,c]=s;if(o(`
|
|
12
|
+
${JSON.stringify(a)}
|
|
13
|
+
`),typeof c=="string"||c instanceof Uint8Array)o(c);else{let u;try{u=JSON.stringify(c)}catch{u=JSON.stringify(jQ.normalize(c))}o(u)}}return typeof i=="string"?i:n4(i)}function n4(e){let t=e.reduce((i,o)=>i+o.length,0),n=new Uint8Array(t),r=0;for(let i of e)n.set(i,r),r+=i.length;return n}function r4(e,t,n){let r=typeof e=="string"?t.encode(e):e;function i(c){let u=r.subarray(0,c);return r=r.subarray(c+1),u}function o(){let c=r.indexOf(10);return c<0&&(c=r.length),JSON.parse(n.decode(i(c)))}let s=o(),a=[];for(;r.length;){let c=o(),u=typeof c.length=="number"?c.length:void 0;a.push([c,u?i(u):o()])}return[s,a]}function i4(e,t){let n=typeof e.data=="string"?sC(e.data,t):e.data;return[k2.dropUndefinedKeys({type:"attachment",length:n.length,filename:e.filename,content_type:e.contentType,attachment_type:e.attachmentType}),n]}var o4={session:"session",sessions:"session",attachment:"attachment",transaction:"transaction",event:"error",client_report:"internal",user_report:"default",profile:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor",feedback:"feedback",span:"span",statsd:"metric_bucket"};function s4(e){return o4[e]}function a4(e){if(!e||!e.sdk)return;let{name:t,version:n}=e.sdk;return{name:t,version:n}}function c4(e,t,n,r){let i=e.sdkProcessingMetadata&&e.sdkProcessingMetadata.dynamicSamplingContext;return{event_id:e.event_id,sent_at:new Date().toISOString(),...t&&{sdk:t},...!!n&&r&&{dsn:PQ.dsnToString(r)},...i&&{trace:k2.dropUndefinedKeys({...i})}}}ln.addItemToEnvelope=$Q;ln.createAttachmentEnvelopeItem=i4;ln.createEnvelope=QQ;ln.createEventEnvelopeHeaders=c4;ln.envelopeContainsItemType=e4;ln.envelopeItemTypeToDataCategory=s4;ln.forEachEnvelopeItem=K2;ln.getSdkMetadataForEnvelopeHeader=a4;ln.parseEnvelope=r4;ln.serializeEnvelope=t4});var x2=d(cC=>{"use strict";Object.defineProperty(cC,"__esModule",{value:!0});var u4=aC(),l4=nC();function d4(e,t,n){let r=[{type:"client_report"},{timestamp:n||l4.dateTimestampInSeconds(),discarded_events:e}];return u4.createEnvelope(t?{dsn:t}:{},[r])}cC.createClientReportEnvelope=d4});var O2=d(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});var L2=60*1e3;function U2(e,t=Date.now()){let n=parseInt(`${e}`,10);if(!isNaN(n))return n*1e3;let r=Date.parse(`${e}`);return isNaN(r)?L2:r-t}function J2(e,t){return e[t]||e.all||0}function g4(e,t,n=Date.now()){return J2(e,t)>n}function f4(e,{statusCode:t,headers:n},r=Date.now()){let i={...e},o=n&&n["x-sentry-rate-limits"],s=n&&n["retry-after"];if(o)for(let a of o.trim().split(",")){let[c,u,,,l]=a.split(":",5),g=parseInt(c,10),f=(isNaN(g)?60:g)*1e3;if(!u)i.all=r+f;else for(let I of u.split(";"))I==="metric_bucket"?(!l||l.split(";").includes("custom"))&&(i[I]=r+f):i[I]=r+f}else s?i.all=r+U2(s,r):t===429&&(i.all=r+60*1e3);return i}Fi.DEFAULT_RETRY_AFTER=L2;Fi.disabledUntil=J2;Fi.isRateLimited=g4;Fi.parseRetryAfterHeader=U2;Fi.updateRateLimits=f4});var q2=d(uC=>{"use strict";Object.defineProperty(uC,"__esModule",{value:!0});function M2(e,t,n){let r=t.match(/([a-z_]+)\.(.*)/i);if(r===null)e[t]=n;else{let i=e[r[1]];M2(i,r[2],n)}}function I4(e,t,n={}){return Array.isArray(t)?D2(e,t,n):p4(e,t,n)}function D2(e,t,n){let r=t.find(i=>i.name===e.name);if(r){for(let[i,o]of Object.entries(n))M2(r,i,o);return t}return[...t,e]}function p4(e,t,n){return i=>{let o=t(i);return e.allowExclusionByUser&&!o.find(a=>a.name===e.name)?o:D2(e,o,n)}}uC.addOrUpdateIntegration=I4});var z2=d(lC=>{"use strict";Object.defineProperty(lC,"__esModule",{value:!0});function m4(e){let t=[],n={};return{add(r,i){for(;t.length>=e;){let o=t.shift();o!==void 0&&delete n[o]}n[r]&&this.delete(r),t.push(r),n[r]=i},clear(){n={},t=[]},get(r){return n[r]},size(){return t.length},delete(r){if(!n[r])return!1;delete n[r];for(let i=0;i<t.length;i++)if(t[i]===r){t.splice(i,1);break}return!0}}}lC.makeFifoCache=m4});var Q2=d(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});var dC=an(),P2=Ba(),h4=Wa(),C4=cn();function gC(e,t){return e(t.stack||"",1)}function j2(e,t){let n={type:t.name||t.constructor.name,value:t.message},r=gC(e,t);return r.length&&(n.stacktrace={frames:r}),n}function b4(e){if("name"in e&&typeof e.name=="string"){let t=`'${e.name}' captured as exception`;return"message"in e&&typeof e.message=="string"&&(t+=` with message '${e.message}'`),t}else return"message"in e&&typeof e.message=="string"?e.message:`Object captured as exception with keys: ${C4.extractExceptionKeysForMessage(e)}`}function y4(e,t,n,r){let i=typeof e=="function"?e().getClient():e,o=n,a=r&&r.data&&r.data.mechanism||{handled:!0,type:"generic"},c;if(!dC.isError(n)){if(dC.isPlainObject(n)){let l=i&&i.getOptions().normalizeDepth;c={__serialized__:h4.normalizeToSize(n,l)};let g=b4(n);o=r&&r.syntheticException||new Error(g),o.message=g}else o=r&&r.syntheticException||new Error(n),o.message=n;a.synthetic=!0}let u={exception:{values:[j2(t,o)]}};return c&&(u.extra=c),P2.addExceptionTypeValue(u,void 0,void 0),P2.addExceptionMechanism(u,a),{...u,event_id:r&&r.event_id}}function A4(e,t,n="info",r,i){let o={event_id:r&&r.event_id,level:n};if(i&&r&&r.syntheticException){let s=gC(e,r.syntheticException);s.length&&(o.exception={values:[{value:t,stacktrace:{frames:s}}]})}if(dC.isParameterizedString(t)){let{__sentry_template_string__:s,__sentry_template_values__:a}=t;return o.logentry={message:s,params:a},o}return o.message=t,o}zo.eventFromMessage=A4;zo.eventFromUnknownInput=y4;zo.exceptionFromError=j2;zo.parseStackFrames=gC});var $2=d(Ag=>{"use strict";Object.defineProperty(Ag,"__esModule",{value:!0});var B4=cn(),G4=tg();function Z4(e,t,n,r){let i=e(),o=!1,s=!0;return setInterval(()=>{let a=i.getTimeMs();o===!1&&a>t+n&&(o=!0,s&&r()),a<t+n&&(o=!1)},20),{poll:()=>{i.reset()},enabled:a=>{s=a}}}function v4(e,t,n){let r=t?t.replace(/^file:\/\//,""):void 0,i=e.location.columnNumber?e.location.columnNumber+1:void 0,o=e.location.lineNumber?e.location.lineNumber+1:void 0;return B4.dropUndefinedKeys({filename:r,module:n(r),function:e.functionName||"?",colno:i,lineno:o,in_app:r?G4.filenameIsInApp(r):void 0})}Ag.callFrameToStackFrame=v4;Ag.watchdogTimer=Z4});var eN=d(IC=>{"use strict";Object.defineProperty(IC,"__esModule",{value:!0});var fC=class{constructor(t){this._maxSize=t,this._cache=new Map}get size(){return this._cache.size}get(t){let n=this._cache.get(t);if(n!==void 0)return this._cache.delete(t),this._cache.set(t,n),n}set(t,n){this._cache.size>=this._maxSize&&this._cache.delete(this._cache.keys().next().value),this._cache.set(t,n)}remove(t){let n=this._cache.get(t);return n&&this._cache.delete(t),n}clear(){this._cache.clear()}keys(){return Array.from(this._cache.keys())}values(){let t=[];return this._cache.forEach(n=>t.push(n)),t}};IC.LRUMap=fC});var mC=d(pC=>{"use strict";Object.defineProperty(pC,"__esModule",{value:!0});function S4(e,t){return e??t()}pC._nullishCoalesce=S4});var tN=d(hC=>{"use strict";Object.defineProperty(hC,"__esModule",{value:!0});var R4=mC();async function W4(e,t){return R4._nullishCoalesce(e,t)}hC._asyncNullishCoalesce=W4});var bC=d(CC=>{"use strict";Object.defineProperty(CC,"__esModule",{value:!0});async function N4(e){let t,n=e[0],r=1;for(;r<e.length;){let i=e[r],o=e[r+1];if(r+=2,(i==="optionalAccess"||i==="optionalCall")&&n==null)return;i==="access"||i==="optionalAccess"?(t=n,n=await o(n)):(i==="call"||i==="optionalCall")&&(n=await o((...s)=>n.call(t,...s)),t=void 0)}return n}CC._asyncOptionalChain=N4});var nN=d(yC=>{"use strict";Object.defineProperty(yC,"__esModule",{value:!0});var V4=bC();async function _4(e){let t=await V4._asyncOptionalChain(e);return t??!0}yC._asyncOptionalChainDelete=_4});var BC=d(AC=>{"use strict";Object.defineProperty(AC,"__esModule",{value:!0});function E4(e){let t,n=e[0],r=1;for(;r<e.length;){let i=e[r],o=e[r+1];if(r+=2,(i==="optionalAccess"||i==="optionalCall")&&n==null)return;i==="access"||i==="optionalAccess"?(t=n,n=o(n)):(i==="call"||i==="optionalCall")&&(n=o((...s)=>n.call(t,...s)),t=void 0)}return n}AC._optionalChain=E4});var rN=d(GC=>{"use strict";Object.defineProperty(GC,"__esModule",{value:!0});var H4=BC();function w4(e){let t=H4._optionalChain(e);return t??!0}GC._optionalChainDelete=w4});var iN=d(ZC=>{"use strict";Object.defineProperty(ZC,"__esModule",{value:!0});function Y4(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}ZC.escapeStringForRegex=Y4});var W=d(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});var F4=NW(),Bg=ih(),vC=uh(),T4=gh(),SC=rt(),X4=c2(),it=an(),k4=l2(),Gg=Gn(),K4=Dh(),Mr=Ba(),RC=Jh(),Zg=Wa(),mr=cn(),Ti=C2(),x4=b2(),Xi=v2(),WC=W2(),Ea=ng(),Ha=Ca(),Dr=Sh(),NC=Ph(),wa=nC(),Ya=X2(),oN=Uh(),Kn=aC(),L4=x2(),Fa=O2(),Po=iC(),vg=eC(),U4=q2(),J4=z2(),Sg=Q2(),sN=$2(),O4=eN(),M4=tN(),D4=bC(),q4=nN(),z4=mC(),P4=BC(),j4=rN(),Q4=Ch(),$4=Gh(),aN=xh(),e$=Wh(),t$=Kh(),n$=Eh(),r$=Fh(),i$=gr(),o$=tg(),s$=iN(),a$=Xh();Z.applyAggregateErrorsToEvent=F4.applyAggregateErrorsToEvent;Z.getComponentName=Bg.getComponentName;Z.getDomElement=Bg.getDomElement;Z.getLocationHref=Bg.getLocationHref;Z.htmlTreeAsString=Bg.htmlTreeAsString;Z.dsnFromString=vC.dsnFromString;Z.dsnToString=vC.dsnToString;Z.makeDsn=vC.makeDsn;Z.SentryError=T4.SentryError;Z.GLOBAL_OBJ=SC.GLOBAL_OBJ;Z.getGlobalObject=SC.getGlobalObject;Z.getGlobalSingleton=SC.getGlobalSingleton;Z.addInstrumentationHandler=X4.addInstrumentationHandler;Z.isDOMError=it.isDOMError;Z.isDOMException=it.isDOMException;Z.isElement=it.isElement;Z.isError=it.isError;Z.isErrorEvent=it.isErrorEvent;Z.isEvent=it.isEvent;Z.isInstanceOf=it.isInstanceOf;Z.isNaN=it.isNaN;Z.isParameterizedString=it.isParameterizedString;Z.isPlainObject=it.isPlainObject;Z.isPrimitive=it.isPrimitive;Z.isRegExp=it.isRegExp;Z.isString=it.isString;Z.isSyntheticEvent=it.isSyntheticEvent;Z.isThenable=it.isThenable;Z.isVueViewModel=it.isVueViewModel;Z.isBrowser=k4.isBrowser;Z.CONSOLE_LEVELS=Gg.CONSOLE_LEVELS;Z.consoleSandbox=Gg.consoleSandbox;Z.logger=Gg.logger;Z.originalConsoleMethods=Gg.originalConsoleMethods;Z.memoBuilder=K4.memoBuilder;Z.addContextToFrame=Mr.addContextToFrame;Z.addExceptionMechanism=Mr.addExceptionMechanism;Z.addExceptionTypeValue=Mr.addExceptionTypeValue;Z.arrayify=Mr.arrayify;Z.checkOrSetAlreadyCaught=Mr.checkOrSetAlreadyCaught;Z.getEventDescription=Mr.getEventDescription;Z.parseSemver=Mr.parseSemver;Z.uuid4=Mr.uuid4;Z.dynamicRequire=RC.dynamicRequire;Z.isNodeEnv=RC.isNodeEnv;Z.loadModule=RC.loadModule;Z.normalize=Zg.normalize;Z.normalizeToSize=Zg.normalizeToSize;Z.normalizeUrlToBase=Zg.normalizeUrlToBase;Z.walk=Zg.walk;Z.addNonEnumerableProperty=mr.addNonEnumerableProperty;Z.convertToPlainObject=mr.convertToPlainObject;Z.dropUndefinedKeys=mr.dropUndefinedKeys;Z.extractExceptionKeysForMessage=mr.extractExceptionKeysForMessage;Z.fill=mr.fill;Z.getOriginalFunction=mr.getOriginalFunction;Z.markFunctionWrapped=mr.markFunctionWrapped;Z.objectify=mr.objectify;Z.urlEncode=mr.urlEncode;Z.basename=Ti.basename;Z.dirname=Ti.dirname;Z.isAbsolute=Ti.isAbsolute;Z.join=Ti.join;Z.normalizePath=Ti.normalizePath;Z.relative=Ti.relative;Z.resolve=Ti.resolve;Z.makePromiseBuffer=x4.makePromiseBuffer;Z.DEFAULT_USER_INCLUDES=Xi.DEFAULT_USER_INCLUDES;Z.addRequestDataToEvent=Xi.addRequestDataToEvent;Z.addRequestDataToTransaction=Xi.addRequestDataToTransaction;Z.extractPathForTransaction=Xi.extractPathForTransaction;Z.extractRequestData=Xi.extractRequestData;Z.winterCGHeadersToDict=Xi.winterCGHeadersToDict;Z.winterCGRequestToRequestData=Xi.winterCGRequestToRequestData;Z.severityFromString=WC.severityFromString;Z.severityLevelFromString=WC.severityLevelFromString;Z.validSeverityLevels=WC.validSeverityLevels;Z.createStackParser=Ea.createStackParser;Z.getFunctionName=Ea.getFunctionName;Z.nodeStackLineParser=Ea.nodeStackLineParser;Z.stackParserFromStackParserOptions=Ea.stackParserFromStackParserOptions;Z.stripSentryFramesAndReverse=Ea.stripSentryFramesAndReverse;Z.isMatchingPattern=Ha.isMatchingPattern;Z.safeJoin=Ha.safeJoin;Z.snipLine=Ha.snipLine;Z.stringMatchesSomePattern=Ha.stringMatchesSomePattern;Z.truncate=Ha.truncate;Z.isNativeFetch=Dr.isNativeFetch;Z.supportsDOMError=Dr.supportsDOMError;Z.supportsDOMException=Dr.supportsDOMException;Z.supportsErrorEvent=Dr.supportsErrorEvent;Z.supportsFetch=Dr.supportsFetch;Z.supportsNativeFetch=Dr.supportsNativeFetch;Z.supportsReferrerPolicy=Dr.supportsReferrerPolicy;Z.supportsReportingObserver=Dr.supportsReportingObserver;Z.SyncPromise=NC.SyncPromise;Z.rejectedSyncPromise=NC.rejectedSyncPromise;Z.resolvedSyncPromise=NC.resolvedSyncPromise;Object.defineProperty(Z,"_browserPerformanceTimeOriginMode",{enumerable:!0,get:()=>wa._browserPerformanceTimeOriginMode});Z.browserPerformanceTimeOrigin=wa.browserPerformanceTimeOrigin;Z.dateTimestampInSeconds=wa.dateTimestampInSeconds;Z.timestampInSeconds=wa.timestampInSeconds;Z.timestampWithMs=wa.timestampWithMs;Z.TRACEPARENT_REGEXP=Ya.TRACEPARENT_REGEXP;Z.extractTraceparentData=Ya.extractTraceparentData;Z.generateSentryTraceHeader=Ya.generateSentryTraceHeader;Z.propagationContextFromHeaders=Ya.propagationContextFromHeaders;Z.tracingContextFromHeaders=Ya.tracingContextFromHeaders;Z.getSDKSource=oN.getSDKSource;Z.isBrowserBundle=oN.isBrowserBundle;Z.addItemToEnvelope=Kn.addItemToEnvelope;Z.createAttachmentEnvelopeItem=Kn.createAttachmentEnvelopeItem;Z.createEnvelope=Kn.createEnvelope;Z.createEventEnvelopeHeaders=Kn.createEventEnvelopeHeaders;Z.envelopeContainsItemType=Kn.envelopeContainsItemType;Z.envelopeItemTypeToDataCategory=Kn.envelopeItemTypeToDataCategory;Z.forEachEnvelopeItem=Kn.forEachEnvelopeItem;Z.getSdkMetadataForEnvelopeHeader=Kn.getSdkMetadataForEnvelopeHeader;Z.parseEnvelope=Kn.parseEnvelope;Z.serializeEnvelope=Kn.serializeEnvelope;Z.createClientReportEnvelope=L4.createClientReportEnvelope;Z.DEFAULT_RETRY_AFTER=Fa.DEFAULT_RETRY_AFTER;Z.disabledUntil=Fa.disabledUntil;Z.isRateLimited=Fa.isRateLimited;Z.parseRetryAfterHeader=Fa.parseRetryAfterHeader;Z.updateRateLimits=Fa.updateRateLimits;Z.BAGGAGE_HEADER_NAME=Po.BAGGAGE_HEADER_NAME;Z.MAX_BAGGAGE_STRING_LENGTH=Po.MAX_BAGGAGE_STRING_LENGTH;Z.SENTRY_BAGGAGE_KEY_PREFIX=Po.SENTRY_BAGGAGE_KEY_PREFIX;Z.SENTRY_BAGGAGE_KEY_PREFIX_REGEX=Po.SENTRY_BAGGAGE_KEY_PREFIX_REGEX;Z.baggageHeaderToDynamicSamplingContext=Po.baggageHeaderToDynamicSamplingContext;Z.dynamicSamplingContextToSentryBaggageHeader=Po.dynamicSamplingContextToSentryBaggageHeader;Z.getNumberOfUrlSegments=vg.getNumberOfUrlSegments;Z.getSanitizedUrlString=vg.getSanitizedUrlString;Z.parseUrl=vg.parseUrl;Z.stripUrlQueryAndFragment=vg.stripUrlQueryAndFragment;Z.addOrUpdateIntegration=U4.addOrUpdateIntegration;Z.makeFifoCache=J4.makeFifoCache;Z.eventFromMessage=Sg.eventFromMessage;Z.eventFromUnknownInput=Sg.eventFromUnknownInput;Z.exceptionFromError=Sg.exceptionFromError;Z.parseStackFrames=Sg.parseStackFrames;Z.callFrameToStackFrame=sN.callFrameToStackFrame;Z.watchdogTimer=sN.watchdogTimer;Z.LRUMap=O4.LRUMap;Z._asyncNullishCoalesce=M4._asyncNullishCoalesce;Z._asyncOptionalChain=D4._asyncOptionalChain;Z._asyncOptionalChainDelete=q4._asyncOptionalChainDelete;Z._nullishCoalesce=z4._nullishCoalesce;Z._optionalChain=P4._optionalChain;Z._optionalChainDelete=j4._optionalChainDelete;Z.addConsoleInstrumentationHandler=Q4.addConsoleInstrumentationHandler;Z.addClickKeypressInstrumentationHandler=$4.addClickKeypressInstrumentationHandler;Z.SENTRY_XHR_DATA_KEY=aN.SENTRY_XHR_DATA_KEY;Z.addXhrInstrumentationHandler=aN.addXhrInstrumentationHandler;Z.addFetchInstrumentationHandler=e$.addFetchInstrumentationHandler;Z.addHistoryInstrumentationHandler=t$.addHistoryInstrumentationHandler;Z.addGlobalErrorInstrumentationHandler=n$.addGlobalErrorInstrumentationHandler;Z.addGlobalUnhandledRejectionInstrumentationHandler=r$.addGlobalUnhandledRejectionInstrumentationHandler;Z.resetInstrumentationHandlers=i$.resetInstrumentationHandlers;Z.filenameIsInApp=o$.filenameIsInApp;Z.escapeStringForRegex=s$.escapeStringForRegex;Z.supportsHistory=a$.supportsHistory});var we=d(VC=>{"use strict";Object.defineProperty(VC,"__esModule",{value:!0});var c$=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;VC.DEBUG_BUILD=c$});var jo=d(_C=>{"use strict";Object.defineProperty(_C,"__esModule",{value:!0});var u$="production";_C.DEFAULT_ENVIRONMENT=u$});var Xa=d(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});var Rg=W(),l$=we();function cN(){return Rg.getGlobalSingleton("globalEventProcessors",()=>[])}function d$(e){cN().push(e)}function EC(e,t,n,r=0){return new Rg.SyncPromise((i,o)=>{let s=e[r];if(t===null||typeof s!="function")i(t);else{let a=s({...t},n);l$.DEBUG_BUILD&&s.id&&a===null&&Rg.logger.log(`Event processor "${s.id}" dropped event`),Rg.isThenable(a)?a.then(c=>EC(e,c,n,r+1).then(i)).then(null,o):EC(e,a,n,r+1).then(i).then(null,o)}})}Ta.addGlobalEventProcessor=d$;Ta.getGlobalEventProcessors=cN;Ta.notifyEventProcessors=EC});var Qo=d(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});var ka=W();function g$(e){let t=ka.timestampInSeconds(),n={sid:ka.uuid4(),init:!0,timestamp:t,started:t,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>I$(n)};return e&&HC(n,e),n}function HC(e,t={}){if(t.user&&(!e.ipAddress&&t.user.ip_address&&(e.ipAddress=t.user.ip_address),!e.did&&!t.did&&(e.did=t.user.id||t.user.email||t.user.username)),e.timestamp=t.timestamp||ka.timestampInSeconds(),t.abnormal_mechanism&&(e.abnormal_mechanism=t.abnormal_mechanism),t.ignoreDuration&&(e.ignoreDuration=t.ignoreDuration),t.sid&&(e.sid=t.sid.length===32?t.sid:ka.uuid4()),t.init!==void 0&&(e.init=t.init),!e.did&&t.did&&(e.did=`${t.did}`),typeof t.started=="number"&&(e.started=t.started),e.ignoreDuration)e.duration=void 0;else if(typeof t.duration=="number")e.duration=t.duration;else{let n=e.timestamp-e.started;e.duration=n>=0?n:0}t.release&&(e.release=t.release),t.environment&&(e.environment=t.environment),!e.ipAddress&&t.ipAddress&&(e.ipAddress=t.ipAddress),!e.userAgent&&t.userAgent&&(e.userAgent=t.userAgent),typeof t.errors=="number"&&(e.errors=t.errors),t.status&&(e.status=t.status)}function f$(e,t){let n={};t?n={status:t}:e.status==="ok"&&(n={status:"exited"}),HC(e,n)}function I$(e){return ka.dropUndefinedKeys({sid:`${e.sid}`,init:e.init,started:new Date(e.started*1e3).toISOString(),timestamp:new Date(e.timestamp*1e3).toISOString(),status:e.status,errors:e.errors,did:typeof e.did=="number"||typeof e.did=="string"?`${e.did}`:void 0,duration:e.duration,abnormal_mechanism:e.abnormal_mechanism,attrs:{release:e.release,environment:e.environment,ip_address:e.ipAddress,user_agent:e.userAgent}})}Ka.closeSession=f$;Ka.makeSession=g$;Ka.updateSession=HC});var Nt=d(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});var wC=W(),p$=0,lN=1;function m$(e){let{spanId:t,traceId:n}=e.spanContext(),{data:r,op:i,parent_span_id:o,status:s,tags:a,origin:c}=dN(e);return wC.dropUndefinedKeys({data:r,op:i,parent_span_id:o,span_id:t,status:s,tags:a,trace_id:n,origin:c})}function h$(e){let{traceId:t,spanId:n}=e.spanContext(),r=gN(e);return wC.generateSentryTraceHeader(t,n,r)}function C$(e){return typeof e=="number"?uN(e):Array.isArray(e)?e[0]+e[1]/1e9:e instanceof Date?uN(e.getTime()):wC.timestampInSeconds()}function uN(e){return e>9999999999?e/1e3:e}function dN(e){return b$(e)?e.getSpanJSON():typeof e.toJSON=="function"?e.toJSON():{}}function b$(e){return typeof e.getSpanJSON=="function"}function gN(e){let{traceFlags:t}=e.spanContext();return!!(t&lN)}hr.TRACE_FLAG_NONE=p$;hr.TRACE_FLAG_SAMPLED=lN;hr.spanIsSampled=gN;hr.spanTimeInputToSeconds=C$;hr.spanToJSON=dN;hr.spanToTraceContext=m$;hr.spanToTraceHeader=h$});var Wg=d($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});var Dt=W(),y$=jo(),fN=Xa(),FC=Vg(),YC=Ng(),A$=Nt();function B$(e,t,n,r,i,o){let{normalizeDepth:s=3,normalizeMaxBreadth:a=1e3}=e,c={...t,event_id:t.event_id||n.event_id||Dt.uuid4(),timestamp:t.timestamp||Dt.dateTimestampInSeconds()},u=n.integrations||e.integrations.map(b=>b.name);G$(c,e),Z$(c,u),t.type===void 0&&pN(c,e.stackParser);let l=S$(r,n.captureContext);n.mechanism&&Dt.addExceptionMechanism(c,n.mechanism);let g=i&&i.getEventProcessors?i.getEventProcessors():[],f=FC.getGlobalScope().getScopeData();if(o){let b=o.getScopeData();YC.mergeScopeData(f,b)}if(l){let b=l.getScopeData();YC.mergeScopeData(f,b)}let I=[...n.attachments||[],...f.attachments];I.length&&(n.attachments=I),YC.applyScopeDataToEvent(c,f);let m=[...g,...fN.getGlobalEventProcessors(),...f.eventProcessors];return fN.notifyEventProcessors(m,c,n).then(b=>(b&&mN(b),typeof s=="number"&&s>0?v$(b,s,a):b))}function G$(e,t){let{environment:n,release:r,dist:i,maxValueLength:o=250}=t;"environment"in e||(e.environment="environment"in t?n:y$.DEFAULT_ENVIRONMENT),e.release===void 0&&r!==void 0&&(e.release=r),e.dist===void 0&&i!==void 0&&(e.dist=i),e.message&&(e.message=Dt.truncate(e.message,o));let s=e.exception&&e.exception.values&&e.exception.values[0];s&&s.value&&(s.value=Dt.truncate(s.value,o));let a=e.request;a&&a.url&&(a.url=Dt.truncate(a.url,o))}var IN=new WeakMap;function pN(e,t){let n=Dt.GLOBAL_OBJ._sentryDebugIds;if(!n)return;let r,i=IN.get(t);i?r=i:(r=new Map,IN.set(t,r));let o=Object.keys(n).reduce((s,a)=>{let c,u=r.get(a);u?c=u:(c=t(a),r.set(a,c));for(let l=c.length-1;l>=0;l--){let g=c[l];if(g.filename){s[g.filename]=n[a];break}}return s},{});try{e.exception.values.forEach(s=>{s.stacktrace.frames.forEach(a=>{a.filename&&(a.debug_id=o[a.filename])})})}catch{}}function mN(e){let t={};try{e.exception.values.forEach(r=>{r.stacktrace.frames.forEach(i=>{i.debug_id&&(i.abs_path?t[i.abs_path]=i.debug_id:i.filename&&(t[i.filename]=i.debug_id),delete i.debug_id)})})}catch{}if(Object.keys(t).length===0)return;e.debug_meta=e.debug_meta||{},e.debug_meta.images=e.debug_meta.images||[];let n=e.debug_meta.images;Object.keys(t).forEach(r=>{n.push({type:"sourcemap",code_file:r,debug_id:t[r]})})}function Z$(e,t){t.length>0&&(e.sdk=e.sdk||{},e.sdk.integrations=[...e.sdk.integrations||[],...t])}function v$(e,t,n){if(!e)return null;let r={...e,...e.breadcrumbs&&{breadcrumbs:e.breadcrumbs.map(i=>({...i,...i.data&&{data:Dt.normalize(i.data,t,n)}}))},...e.user&&{user:Dt.normalize(e.user,t,n)},...e.contexts&&{contexts:Dt.normalize(e.contexts,t,n)},...e.extra&&{extra:Dt.normalize(e.extra,t,n)}};return e.contexts&&e.contexts.trace&&r.contexts&&(r.contexts.trace=e.contexts.trace,e.contexts.trace.data&&(r.contexts.trace.data=Dt.normalize(e.contexts.trace.data,t,n))),e.spans&&(r.spans=e.spans.map(i=>{let o=A$.spanToJSON(i).data;return o&&(i.data=Dt.normalize(o,t,n)),i})),r}function S$(e,t){if(!t)return e;let n=e?e.clone():new FC.Scope;return n.update(t),n}function R$(e){if(e)return W$(e)?{captureContext:e}:V$(e)?{captureContext:e}:e}function W$(e){return e instanceof FC.Scope||typeof e=="function"}var N$=["user","level","extra","contexts","tags","fingerprint","requestSession","propagationContext"];function V$(e){return Object.keys(e).some(t=>N$.includes(t))}$o.applyDebugIds=pN;$o.applyDebugMeta=mN;$o.parseEventHintOrCaptureContext=R$;$o.prepareEvent=B$});var dn=d(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});var Cr=W(),_$=jo(),_g=we(),_e=xn(),TC=Qo(),E$=Wg();function H$(e,t){return _e.getCurrentHub().captureException(e,E$.parseEventHintOrCaptureContext(t))}function w$(e,t){let n=typeof t=="string"?t:void 0,r=typeof t!="string"?{captureContext:t}:void 0;return _e.getCurrentHub().captureMessage(e,n,r)}function Y$(e,t){return _e.getCurrentHub().captureEvent(e,t)}function F$(e){_e.getCurrentHub().configureScope(e)}function T$(e,t){_e.getCurrentHub().addBreadcrumb(e,t)}function X$(e,t){_e.getCurrentHub().setContext(e,t)}function k$(e){_e.getCurrentHub().setExtras(e)}function K$(e,t){_e.getCurrentHub().setExtra(e,t)}function x$(e){_e.getCurrentHub().setTags(e)}function L$(e,t){_e.getCurrentHub().setTag(e,t)}function U$(e){_e.getCurrentHub().setUser(e)}function hN(...e){let t=_e.getCurrentHub();if(e.length===2){let[n,r]=e;return n?t.withScope(()=>(t.getStackTop().scope=n,r(n))):t.withScope(r)}return t.withScope(e[0])}function J$(e){return _e.runWithAsyncContext(()=>e(_e.getIsolationScope()))}function O$(e,t){return hN(n=>(n.setSpan(e),t(n)))}function M$(e,t){return _e.getCurrentHub().startTransaction({...e},t)}function XC(e,t){let n=xa(),r=ki();if(!r)_g.DEBUG_BUILD&&Cr.logger.warn("Cannot capture check-in. No client defined.");else if(!r.captureCheckIn)_g.DEBUG_BUILD&&Cr.logger.warn("Cannot capture check-in. Client does not support sending check-ins.");else return r.captureCheckIn(e,t,n);return Cr.uuid4()}function D$(e,t,n){let r=XC({monitorSlug:e,status:"in_progress"},n),i=Cr.timestampInSeconds();function o(a){XC({monitorSlug:e,status:a,checkInId:r,duration:Cr.timestampInSeconds()-i})}let s;try{s=t()}catch(a){throw o("error"),a}return Cr.isThenable(s)?Promise.resolve(s).then(()=>{o("ok")},()=>{o("error")}):o("ok"),s}async function q$(e){let t=ki();return t?t.flush(e):(_g.DEBUG_BUILD&&Cr.logger.warn("Cannot flush events. No client defined."),Promise.resolve(!1))}async function z$(e){let t=ki();return t?t.close(e):(_g.DEBUG_BUILD&&Cr.logger.warn("Cannot flush events and disable SDK. No client defined."),Promise.resolve(!1))}function P$(){return _e.getCurrentHub().lastEventId()}function ki(){return _e.getCurrentHub().getClient()}function j$(){return!!ki()}function xa(){return _e.getCurrentHub().getScope()}function Q$(e){let t=ki(),n=_e.getIsolationScope(),r=xa(),{release:i,environment:o=_$.DEFAULT_ENVIRONMENT}=t&&t.getOptions()||{},{userAgent:s}=Cr.GLOBAL_OBJ.navigator||{},a=TC.makeSession({release:i,environment:o,user:r.getUser()||n.getUser(),...s&&{userAgent:s},...e}),c=n.getSession();return c&&c.status==="ok"&&TC.updateSession(c,{status:"exited"}),kC(),n.setSession(a),r.setSession(a),a}function kC(){let e=_e.getIsolationScope(),t=xa(),n=t.getSession()||e.getSession();n&&TC.closeSession(n),CN(),e.setSession(),t.setSession()}function CN(){let e=_e.getIsolationScope(),t=xa(),n=ki(),r=t.getSession()||e.getSession();r&&n&&n.captureSession&&n.captureSession(r)}function $$(e=!1){if(e){kC();return}CN()}me.addBreadcrumb=T$;me.captureCheckIn=XC;me.captureEvent=Y$;me.captureException=H$;me.captureMessage=w$;me.captureSession=$$;me.close=z$;me.configureScope=F$;me.endSession=kC;me.flush=q$;me.getClient=ki;me.getCurrentScope=xa;me.isInitialized=j$;me.lastEventId=P$;me.setContext=X$;me.setExtra=K$;me.setExtras=k$;me.setTag=L$;me.setTags=x$;me.setUser=U$;me.startSession=Q$;me.startTransaction=M$;me.withActiveSpan=O$;me.withIsolationScope=J$;me.withMonitor=D$;me.withScope=hN});var es=d(KC=>{"use strict";Object.defineProperty(KC,"__esModule",{value:!0});function e8(e){return e.transaction}KC.getRootSpan=e8});var Ki=d(Eg=>{"use strict";Object.defineProperty(Eg,"__esModule",{value:!0});var t8=W(),n8=jo(),bN=dn(),r8=es(),xC=Nt();function yN(e,t,n){let r=t.getOptions(),{publicKey:i}=t.getDsn()||{},{segment:o}=n&&n.getUser()||{},s=t8.dropUndefinedKeys({environment:r.environment||n8.DEFAULT_ENVIRONMENT,release:r.release,user_segment:o,public_key:i,trace_id:e});return t.emit&&t.emit("createDsc",s),s}function i8(e){let t=bN.getClient();if(!t)return{};let n=yN(xC.spanToJSON(e).trace_id||"",t,bN.getCurrentScope()),r=r8.getRootSpan(e);if(!r)return n;let i=r&&r._frozenDynamicSamplingContext;if(i)return i;let{sampleRate:o,source:s}=r.metadata;o!=null&&(n.sample_rate=`${o}`);let a=xC.spanToJSON(r);return s&&s!=="url"&&(n.transaction=a.description),n.sampled=String(xC.spanIsSampled(r)),t.emit&&t.emit("createDsc",n),n}Eg.getDynamicSamplingContextFromClient=yN;Eg.getDynamicSamplingContextFromSpan=i8});var Ng=d(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});var La=W(),o8=Ki(),s8=es(),AN=Nt();function a8(e,t){let{fingerprint:n,span:r,breadcrumbs:i,sdkProcessingMetadata:o}=t;u8(e,t),r&&g8(e,r),f8(e,n),l8(e,i),d8(e,o)}function c8(e,t){let{extra:n,tags:r,user:i,contexts:o,level:s,sdkProcessingMetadata:a,breadcrumbs:c,fingerprint:u,eventProcessors:l,attachments:g,propagationContext:f,transactionName:I,span:m}=t;ts(e,"extra",n),ts(e,"tags",r),ts(e,"user",i),ts(e,"contexts",o),ts(e,"sdkProcessingMetadata",a),s&&(e.level=s),I&&(e.transactionName=I),m&&(e.span=m),c.length&&(e.breadcrumbs=[...e.breadcrumbs,...c]),u.length&&(e.fingerprint=[...e.fingerprint,...u]),l.length&&(e.eventProcessors=[...e.eventProcessors,...l]),g.length&&(e.attachments=[...e.attachments,...g]),e.propagationContext={...e.propagationContext,...f}}function ts(e,t,n){if(n&&Object.keys(n).length){e[t]={...e[t]};for(let r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[t][r]=n[r])}}function u8(e,t){let{extra:n,tags:r,user:i,contexts:o,level:s,transactionName:a}=t,c=La.dropUndefinedKeys(n);c&&Object.keys(c).length&&(e.extra={...c,...e.extra});let u=La.dropUndefinedKeys(r);u&&Object.keys(u).length&&(e.tags={...u,...e.tags});let l=La.dropUndefinedKeys(i);l&&Object.keys(l).length&&(e.user={...l,...e.user});let g=La.dropUndefinedKeys(o);g&&Object.keys(g).length&&(e.contexts={...g,...e.contexts}),s&&(e.level=s),a&&(e.transaction=a)}function l8(e,t){let n=[...e.breadcrumbs||[],...t];e.breadcrumbs=n.length?n:void 0}function d8(e,t){e.sdkProcessingMetadata={...e.sdkProcessingMetadata,...t}}function g8(e,t){e.contexts={trace:AN.spanToTraceContext(t),...e.contexts};let n=s8.getRootSpan(t);if(n){e.sdkProcessingMetadata={dynamicSamplingContext:o8.getDynamicSamplingContextFromSpan(t),...e.sdkProcessingMetadata};let r=AN.spanToJSON(n).description;r&&(e.tags={transaction:r,...e.tags})}}function f8(e,t){e.fingerprint=e.fingerprint?La.arrayify(e.fingerprint):[],t&&(e.fingerprint=e.fingerprint.concat(t)),e.fingerprint&&!e.fingerprint.length&&delete e.fingerprint}Ua.applyScopeDataToEvent=a8;Ua.mergeAndOverwriteScopeData=ts;Ua.mergeScopeData=c8});var Vg=d(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});var Ln=W(),BN=Xa(),I8=Qo(),p8=Ng(),m8=100,Hg,wg=class e{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext=GN()}static clone(t){return t?t.clone():new e}clone(){let t=new e;return t._breadcrumbs=[...this._breadcrumbs],t._tags={...this._tags},t._extra={...this._extra},t._contexts={...this._contexts},t._user=this._user,t._level=this._level,t._span=this._span,t._session=this._session,t._transactionName=this._transactionName,t._fingerprint=this._fingerprint,t._eventProcessors=[...this._eventProcessors],t._requestSession=this._requestSession,t._attachments=[...this._attachments],t._sdkProcessingMetadata={...this._sdkProcessingMetadata},t._propagationContext={...this._propagationContext},t._client=this._client,t}setClient(t){this._client=t}getClient(){return this._client}addScopeListener(t){this._scopeListeners.push(t)}addEventProcessor(t){return this._eventProcessors.push(t),this}setUser(t){return this._user=t||{email:void 0,id:void 0,ip_address:void 0,segment:void 0,username:void 0},this._session&&I8.updateSession(this._session,{user:t}),this._notifyScopeListeners(),this}getUser(){return this._user}getRequestSession(){return this._requestSession}setRequestSession(t){return this._requestSession=t,this}setTags(t){return this._tags={...this._tags,...t},this._notifyScopeListeners(),this}setTag(t,n){return this._tags={...this._tags,[t]:n},this._notifyScopeListeners(),this}setExtras(t){return this._extra={...this._extra,...t},this._notifyScopeListeners(),this}setExtra(t,n){return this._extra={...this._extra,[t]:n},this._notifyScopeListeners(),this}setFingerprint(t){return this._fingerprint=t,this._notifyScopeListeners(),this}setLevel(t){return this._level=t,this._notifyScopeListeners(),this}setTransactionName(t){return this._transactionName=t,this._notifyScopeListeners(),this}setContext(t,n){return n===null?delete this._contexts[t]:this._contexts[t]=n,this._notifyScopeListeners(),this}setSpan(t){return this._span=t,this._notifyScopeListeners(),this}getSpan(){return this._span}getTransaction(){let t=this._span;return t&&t.transaction}setSession(t){return t?this._session=t:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(t){if(!t)return this;let n=typeof t=="function"?t(this):t;if(n instanceof e){let r=n.getScopeData();this._tags={...this._tags,...r.tags},this._extra={...this._extra,...r.extra},this._contexts={...this._contexts,...r.contexts},r.user&&Object.keys(r.user).length&&(this._user=r.user),r.level&&(this._level=r.level),r.fingerprint.length&&(this._fingerprint=r.fingerprint),n.getRequestSession()&&(this._requestSession=n.getRequestSession()),r.propagationContext&&(this._propagationContext=r.propagationContext)}else if(Ln.isPlainObject(n)){let r=t;this._tags={...this._tags,...r.tags},this._extra={...this._extra,...r.extra},this._contexts={...this._contexts,...r.contexts},r.user&&(this._user=r.user),r.level&&(this._level=r.level),r.fingerprint&&(this._fingerprint=r.fingerprint),r.requestSession&&(this._requestSession=r.requestSession),r.propagationContext&&(this._propagationContext=r.propagationContext)}return this}clear(){return this._breadcrumbs=[],this._tags={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._requestSession=void 0,this._span=void 0,this._session=void 0,this._notifyScopeListeners(),this._attachments=[],this._propagationContext=GN(),this}addBreadcrumb(t,n){let r=typeof n=="number"?n:m8;if(r<=0)return this;let i={timestamp:Ln.dateTimestampInSeconds(),...t},o=this._breadcrumbs;return o.push(i),this._breadcrumbs=o.length>r?o.slice(-r):o,this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(t){return this._attachments.push(t),this}getAttachments(){return this.getScopeData().attachments}clearAttachments(){return this._attachments=[],this}getScopeData(){let{_breadcrumbs:t,_attachments:n,_contexts:r,_tags:i,_extra:o,_user:s,_level:a,_fingerprint:c,_eventProcessors:u,_propagationContext:l,_sdkProcessingMetadata:g,_transactionName:f,_span:I}=this;return{breadcrumbs:t,attachments:n,contexts:r,tags:i,extra:o,user:s,level:a,fingerprint:c||[],eventProcessors:u,propagationContext:l,sdkProcessingMetadata:g,transactionName:f,span:I}}applyToEvent(t,n={},r=[]){p8.applyScopeDataToEvent(t,this.getScopeData());let i=[...r,...BN.getGlobalEventProcessors(),...this._eventProcessors];return BN.notifyEventProcessors(i,t,n)}setSDKProcessingMetadata(t){return this._sdkProcessingMetadata={...this._sdkProcessingMetadata,...t},this}setPropagationContext(t){return this._propagationContext=t,this}getPropagationContext(){return this._propagationContext}captureException(t,n){let r=n&&n.event_id?n.event_id:Ln.uuid4();if(!this._client)return Ln.logger.warn("No client configured on scope - will not capture exception!"),r;let i=new Error("Sentry syntheticException");return this._client.captureException(t,{originalException:t,syntheticException:i,...n,event_id:r},this),r}captureMessage(t,n,r){let i=r&&r.event_id?r.event_id:Ln.uuid4();if(!this._client)return Ln.logger.warn("No client configured on scope - will not capture message!"),i;let o=new Error(t);return this._client.captureMessage(t,n,{originalException:t,syntheticException:o,...r,event_id:i},this),i}captureEvent(t,n){let r=n&&n.event_id?n.event_id:Ln.uuid4();return this._client?(this._client.captureEvent(t,{...n,event_id:r},this),r):(Ln.logger.warn("No client configured on scope - will not capture event!"),r)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(t=>{t(this)}),this._notifyingListeners=!1)}};function h8(){return Hg||(Hg=new wg),Hg}function C8(e){Hg=e}function GN(){return{traceId:Ln.uuid4(),spanId:Ln.uuid4().substring(16)}}Ja.Scope=wg;Ja.getGlobalScope=h8;Ja.setGlobalScope=C8});var Yg=d(LC=>{"use strict";Object.defineProperty(LC,"__esModule",{value:!0});var b8="7.120.3";LC.SDK_VERSION=b8});var xn=d(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});var pt=W(),y8=jo(),UC=we(),ZN=Vg(),JC=Qo(),A8=Yg(),Fg=parseFloat(A8.SDK_VERSION),B8=100,ns=class{constructor(t,n,r,i=Fg){this._version=i;let o;n?o=n:(o=new ZN.Scope,o.setClient(t));let s;r?s=r:(s=new ZN.Scope,s.setClient(t)),this._stack=[{scope:o}],t&&this.bindClient(t),this._isolationScope=s}isOlderThan(t){return this._version<t}bindClient(t){let n=this.getStackTop();n.client=t,n.scope.setClient(t),t&&t.setupIntegrations&&t.setupIntegrations()}pushScope(){let t=this.getScope().clone();return this.getStack().push({client:this.getClient(),scope:t}),t}popScope(){return this.getStack().length<=1?!1:!!this.getStack().pop()}withScope(t){let n=this.pushScope(),r;try{r=t(n)}catch(i){throw this.popScope(),i}return pt.isThenable(r)?r.then(i=>(this.popScope(),i),i=>{throw this.popScope(),i}):(this.popScope(),r)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStack(){return this._stack}getStackTop(){return this._stack[this._stack.length-1]}captureException(t,n){let r=this._lastEventId=n&&n.event_id?n.event_id:pt.uuid4(),i=new Error("Sentry syntheticException");return this.getScope().captureException(t,{originalException:t,syntheticException:i,...n,event_id:r}),r}captureMessage(t,n,r){let i=this._lastEventId=r&&r.event_id?r.event_id:pt.uuid4(),o=new Error(t);return this.getScope().captureMessage(t,n,{originalException:t,syntheticException:o,...r,event_id:i}),i}captureEvent(t,n){let r=n&&n.event_id?n.event_id:pt.uuid4();return t.type||(this._lastEventId=r),this.getScope().captureEvent(t,{...n,event_id:r}),r}lastEventId(){return this._lastEventId}addBreadcrumb(t,n){let{scope:r,client:i}=this.getStackTop();if(!i)return;let{beforeBreadcrumb:o=null,maxBreadcrumbs:s=B8}=i.getOptions&&i.getOptions()||{};if(s<=0)return;let c={timestamp:pt.dateTimestampInSeconds(),...t},u=o?pt.consoleSandbox(()=>o(c,n)):c;u!==null&&(i.emit&&i.emit("beforeAddBreadcrumb",u,n),r.addBreadcrumb(u,s))}setUser(t){this.getScope().setUser(t),this.getIsolationScope().setUser(t)}setTags(t){this.getScope().setTags(t),this.getIsolationScope().setTags(t)}setExtras(t){this.getScope().setExtras(t),this.getIsolationScope().setExtras(t)}setTag(t,n){this.getScope().setTag(t,n),this.getIsolationScope().setTag(t,n)}setExtra(t,n){this.getScope().setExtra(t,n),this.getIsolationScope().setExtra(t,n)}setContext(t,n){this.getScope().setContext(t,n),this.getIsolationScope().setContext(t,n)}configureScope(t){let{scope:n,client:r}=this.getStackTop();r&&t(n)}run(t){let n=OC(this);try{t(this)}finally{OC(n)}}getIntegration(t){let n=this.getClient();if(!n)return null;try{return n.getIntegration(t)}catch{return UC.DEBUG_BUILD&&pt.logger.warn(`Cannot retrieve integration ${t.id} from the current Hub`),null}}startTransaction(t,n){let r=this._callExtensionMethod("startTransaction",t,n);return UC.DEBUG_BUILD&&!r&&(this.getClient()?pt.logger.warn(`Tracing extension 'startTransaction' has not been added. Call 'addTracingExtensions' before calling 'init':
|
|
14
|
+
Sentry.addTracingExtensions();
|
|
15
|
+
Sentry.init({...});
|
|
16
|
+
`):pt.logger.warn("Tracing extension 'startTransaction' is missing. You should 'init' the SDK before calling 'startTransaction'")),r}traceHeaders(){return this._callExtensionMethod("traceHeaders")}captureSession(t=!1){if(t)return this.endSession();this._sendSessionUpdate()}endSession(){let n=this.getStackTop().scope,r=n.getSession();r&&JC.closeSession(r),this._sendSessionUpdate(),n.setSession()}startSession(t){let{scope:n,client:r}=this.getStackTop(),{release:i,environment:o=y8.DEFAULT_ENVIRONMENT}=r&&r.getOptions()||{},{userAgent:s}=pt.GLOBAL_OBJ.navigator||{},a=JC.makeSession({release:i,environment:o,user:n.getUser(),...s&&{userAgent:s},...t}),c=n.getSession&&n.getSession();return c&&c.status==="ok"&&JC.updateSession(c,{status:"exited"}),this.endSession(),n.setSession(a),a}shouldSendDefaultPii(){let t=this.getClient(),n=t&&t.getOptions();return!!(n&&n.sendDefaultPii)}_sendSessionUpdate(){let{scope:t,client:n}=this.getStackTop(),r=t.getSession();r&&n&&n.captureSession&&n.captureSession(r)}_callExtensionMethod(t,...n){let i=xi().__SENTRY__;if(i&&i.extensions&&typeof i.extensions[t]=="function")return i.extensions[t].apply(this,n);UC.DEBUG_BUILD&&pt.logger.warn(`Extension method ${t} couldn't be found, doing nothing.`)}};function xi(){return pt.GLOBAL_OBJ.__SENTRY__=pt.GLOBAL_OBJ.__SENTRY__||{extensions:{},hub:void 0},pt.GLOBAL_OBJ}function OC(e){let t=xi(),n=Oa(t);return Tg(t,e),n}function vN(){let e=xi();if(e.__SENTRY__&&e.__SENTRY__.acs){let t=e.__SENTRY__.acs.getCurrentHub();if(t)return t}return SN(e)}function G8(){return vN().getIsolationScope()}function SN(e=xi()){return(!RN(e)||Oa(e).isOlderThan(Fg))&&Tg(e,new ns),Oa(e)}function Z8(e,t=SN()){if(!RN(e)||Oa(e).isOlderThan(Fg)){let n=t.getClient(),r=t.getScope(),i=t.getIsolationScope();Tg(e,new ns(n,r.clone(),i.clone()))}}function v8(e){let t=xi();t.__SENTRY__=t.__SENTRY__||{},t.__SENTRY__.acs=e}function S8(e,t={}){let n=xi();return n.__SENTRY__&&n.__SENTRY__.acs?n.__SENTRY__.acs.runWithAsyncContext(e,t):e()}function RN(e){return!!(e&&e.__SENTRY__&&e.__SENTRY__.hub)}function Oa(e){return pt.getGlobalSingleton("hub",()=>new ns,e)}function Tg(e,t){if(!e)return!1;let n=e.__SENTRY__=e.__SENTRY__||{};return n.hub=t,!0}qt.API_VERSION=Fg;qt.Hub=ns;qt.ensureHubOnCarrier=Z8;qt.getCurrentHub=vN;qt.getHubFromCarrier=Oa;qt.getIsolationScope=G8;qt.getMainCarrier=xi;qt.makeMain=OC;qt.runWithAsyncContext=S8;qt.setAsyncContextStrategy=v8;qt.setHubOnCarrier=Tg});var Xg=d(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});var WN=W(),R8=xn();function W8(e){return(e||R8.getCurrentHub()).getScope().getTransaction()}var N8=WN.extractTraceparentData;Ma.stripUrlQueryAndFragment=WN.stripUrlQueryAndFragment;Ma.extractTraceparentData=N8;Ma.getActiveTransaction=W8});var kg=d(qC=>{"use strict";Object.defineProperty(qC,"__esModule",{value:!0});var MC=W(),V8=we(),_8=Xg(),NN=!1;function E8(){NN||(NN=!0,MC.addGlobalErrorInstrumentationHandler(DC),MC.addGlobalUnhandledRejectionInstrumentationHandler(DC))}function DC(){let e=_8.getActiveTransaction();if(e){let t="internal_error";V8.DEBUG_BUILD&&MC.logger.log(`[Tracing] Transaction: ${t} -> Global error occured`),e.setStatus(t)}}DC.tag="sentry_tracingErrorCallback";qC.registerErrorInstrumentation=E8});var rs=d(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.SpanStatus=void 0;(function(e){let t="ok";e.Ok=t;let n="deadline_exceeded";e.DeadlineExceeded=n;let r="unauthenticated";e.Unauthenticated=r;let i="permission_denied";e.PermissionDenied=i;let o="not_found";e.NotFound=o;let s="resource_exhausted";e.ResourceExhausted=s;let a="invalid_argument";e.InvalidArgument=a;let c="unimplemented";e.Unimplemented=c;let u="unavailable";e.Unavailable=u;let l="internal_error";e.InternalError=l;let g="unknown_error";e.UnknownError=g;let f="cancelled";e.Cancelled=f;let I="already_exists";e.AlreadyExists=I;let m="failed_precondition";e.FailedPrecondition=m;let C="aborted";e.Aborted=C;let b="out_of_range";e.OutOfRange=b;let v="data_loss";e.DataLoss=v})(qr.SpanStatus||(qr.SpanStatus={}));function zC(e){if(e<400&&e>=100)return"ok";if(e>=400&&e<500)switch(e){case 401:return"unauthenticated";case 403:return"permission_denied";case 404:return"not_found";case 409:return"already_exists";case 413:return"failed_precondition";case 429:return"resource_exhausted";default:return"invalid_argument"}if(e>=500&&e<600)switch(e){case 501:return"unimplemented";case 503:return"unavailable";case 504:return"deadline_exceeded";default:return"internal_error"}return"unknown_error"}var H8=zC;function w8(e,t){e.setTag("http.status_code",String(t)),e.setData("http.response.status_code",t);let n=zC(t);n!=="unknown_error"&&e.setStatus(n)}qr.getSpanStatusFromHttpCode=zC;qr.setHttpStatus=w8;qr.spanStatusfromHttpCode=H8});var jC=d(PC=>{"use strict";Object.defineProperty(PC,"__esModule",{value:!0});var Y8=W();function F8(e,t,n=()=>{}){let r;try{r=e()}catch(i){throw t(i),n(),i}return T8(r,t,n)}function T8(e,t,n){return Y8.isThenable(e)?e.then(r=>(n(),r),r=>{throw t(r),n(),r}):(n(),e)}PC.handleCallbackErrors=F8});var Kg=d(QC=>{"use strict";Object.defineProperty(QC,"__esModule",{value:!0});var X8=dn();function k8(e){if(typeof __SENTRY_TRACING__=="boolean"&&!__SENTRY_TRACING__)return!1;let t=X8.getClient(),n=e||t&&t.getOptions();return!!n&&(n.enableTracing||"tracesSampleRate"in n||"tracesSampler"in n)}QC.hasTracingEnabled=k8});var Jg=d(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});var Da=W(),K8=we(),zr=xn(),xg=Nt();kg();rs();var x8=Ki(),is=dn(),$C=jC(),VN=Kg();function L8(e,t,n=()=>{},r=()=>{}){let i=zr.getCurrentHub(),o=is.getCurrentScope(),s=o.getSpan(),a=Ug(e),c=Lg(i,{parentSpan:s,spanContext:a,forceTransaction:!1,scope:o});return o.setSpan(c),$C.handleCallbackErrors(()=>t(c),u=>{c&&c.setStatus("internal_error"),n(u,c)},()=>{c&&c.end(),o.setSpan(s),r()})}function _N(e,t){let n=Ug(e);return zr.runWithAsyncContext(()=>is.withScope(e.scope,r=>{let i=zr.getCurrentHub(),o=r.getSpan(),a=e.onlyIfParent&&!o?void 0:Lg(i,{parentSpan:o,spanContext:n,forceTransaction:e.forceTransaction,scope:r});return $C.handleCallbackErrors(()=>t(a),()=>{if(a){let{status:c}=xg.spanToJSON(a);(!c||c==="ok")&&a.setStatus("internal_error")}},()=>a&&a.end())}))}var U8=_N;function J8(e,t){let n=Ug(e);return zr.runWithAsyncContext(()=>is.withScope(e.scope,r=>{let i=zr.getCurrentHub(),o=r.getSpan(),a=e.onlyIfParent&&!o?void 0:Lg(i,{parentSpan:o,spanContext:n,forceTransaction:e.forceTransaction,scope:r});function c(){a&&a.end()}return $C.handleCallbackErrors(()=>t(a,c),()=>{if(a&&a.isRecording()){let{status:u}=xg.spanToJSON(a);(!u||u==="ok")&&a.setStatus("internal_error")}})}))}function O8(e){if(!VN.hasTracingEnabled())return;let t=Ug(e),n=zr.getCurrentHub(),r=e.scope?e.scope.getSpan():EN();if(e.onlyIfParent&&!r)return;let s=(e.scope||is.getCurrentScope()).clone();return Lg(n,{parentSpan:r,spanContext:t,forceTransaction:e.forceTransaction,scope:s})}function EN(){return is.getCurrentScope().getSpan()}var M8=({sentryTrace:e,baggage:t},n)=>{let r=is.getCurrentScope(),{traceparentData:i,dynamicSamplingContext:o,propagationContext:s}=Da.tracingContextFromHeaders(e,t);r.setPropagationContext(s),K8.DEBUG_BUILD&&i&&Da.logger.log(`[Tracing] Continuing trace ${i.traceId}.`);let a={...i,metadata:Da.dropUndefinedKeys({dynamicSamplingContext:o})};return n?zr.runWithAsyncContext(()=>n(a)):a};function Lg(e,{parentSpan:t,spanContext:n,forceTransaction:r,scope:i}){if(!VN.hasTracingEnabled())return;let o=zr.getIsolationScope(),s;if(t&&!r)s=t.startChild(n);else if(t){let a=x8.getDynamicSamplingContextFromSpan(t),{traceId:c,spanId:u}=t.spanContext(),l=xg.spanIsSampled(t);s=e.startTransaction({traceId:c,parentSpanId:u,parentSampled:l,...n,metadata:{dynamicSamplingContext:a,...n.metadata}})}else{let{traceId:a,dsc:c,parentSpanId:u,sampled:l}={...o.getPropagationContext(),...i.getPropagationContext()};s=e.startTransaction({traceId:a,parentSpanId:u,parentSampled:l,...n,metadata:{dynamicSamplingContext:c,...n.metadata}})}return i.setSpan(s),D8(s,i,o),s}function Ug(e){if(e.startTime){let t={...e};return t.startTimestamp=xg.spanTimeInputToSeconds(e.startTime),delete t.startTime,t}return e}var HN="_sentryScope",wN="_sentryIsolationScope";function D8(e,t,n){e&&(Da.addNonEnumerableProperty(e,wN,n),Da.addNonEnumerableProperty(e,HN,t))}function q8(e){return{scope:e[HN],isolationScope:e[wN]}}Un.continueTrace=M8;Un.getActiveSpan=EN;Un.getCapturedScopesOnSpan=q8;Un.startActiveSpan=U8;Un.startInactiveSpan=O8;Un.startSpan=_N;Un.startSpanManual=J8;Un.trace=L8});var za=d(Og=>{"use strict";Object.defineProperty(Og,"__esModule",{value:!0});var z8=W();we();kg();rs();var P8=Jg(),qa;function YN(e){return qa?qa.get(e):void 0}function j8(e){let t=YN(e);if(!t)return;let n={};for(let[,[r,i]]of t)n[r]||(n[r]=[]),n[r].push(z8.dropUndefinedKeys(i));return n}function Q8(e,t,n,r,i,o){let s=P8.getActiveSpan();if(s){let a=YN(s)||new Map,c=`${e}:${t}@${r}`,u=a.get(o);if(u){let[,l]=u;a.set(o,[c,{min:Math.min(l.min,n),max:Math.max(l.max,n),count:l.count+=1,sum:l.sum+=n,tags:l.tags}])}else a.set(o,[c,{min:n,max:n,count:1,sum:n,tags:i}]);qa||(qa=new WeakMap),qa.set(s,a)}}Og.getMetricSummaryJsonForSpan=j8;Og.updateMetricSummaryOnActiveSpan=Q8});var Pa=d(Li=>{"use strict";Object.defineProperty(Li,"__esModule",{value:!0});var $8="sentry.source",e7="sentry.sample_rate",t7="sentry.op",n7="sentry.origin",r7="profile_id";Li.SEMANTIC_ATTRIBUTE_PROFILE_ID=r7;Li.SEMANTIC_ATTRIBUTE_SENTRY_OP=t7;Li.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN=n7;Li.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE=e7;Li.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE=$8});var Dg=d(Mg=>{"use strict";Object.defineProperty(Mg,"__esModule",{value:!0});var Ui=W(),FN=we(),i7=za(),br=Pa(),TN=es(),os=Nt(),o7=rs(),eb=class{constructor(t=1e3){this._maxlen=t,this.spans=[]}add(t){this.spans.length>this._maxlen?t.spanRecorder=void 0:this.spans.push(t)}},tb=class e{constructor(t={}){this._traceId=t.traceId||Ui.uuid4(),this._spanId=t.spanId||Ui.uuid4().substring(16),this._startTime=t.startTimestamp||Ui.timestampInSeconds(),this.tags=t.tags?{...t.tags}:{},this.data=t.data?{...t.data}:{},this.instrumenter=t.instrumenter||"sentry",this._attributes={},this.setAttributes({[br.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]:t.origin||"manual",[br.SEMANTIC_ATTRIBUTE_SENTRY_OP]:t.op,...t.attributes}),this._name=t.name||t.description,t.parentSpanId&&(this._parentSpanId=t.parentSpanId),"sampled"in t&&(this._sampled=t.sampled),t.status&&(this._status=t.status),t.endTimestamp&&(this._endTime=t.endTimestamp),t.exclusiveTime!==void 0&&(this._exclusiveTime=t.exclusiveTime),this._measurements=t.measurements?{...t.measurements}:{}}get name(){return this._name||""}set name(t){this.updateName(t)}get description(){return this._name}set description(t){this._name=t}get traceId(){return this._traceId}set traceId(t){this._traceId=t}get spanId(){return this._spanId}set spanId(t){this._spanId=t}set parentSpanId(t){this._parentSpanId=t}get parentSpanId(){return this._parentSpanId}get sampled(){return this._sampled}set sampled(t){this._sampled=t}get attributes(){return this._attributes}set attributes(t){this._attributes=t}get startTimestamp(){return this._startTime}set startTimestamp(t){this._startTime=t}get endTimestamp(){return this._endTime}set endTimestamp(t){this._endTime=t}get status(){return this._status}set status(t){this._status=t}get op(){return this._attributes[br.SEMANTIC_ATTRIBUTE_SENTRY_OP]}set op(t){this.setAttribute(br.SEMANTIC_ATTRIBUTE_SENTRY_OP,t)}get origin(){return this._attributes[br.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]}set origin(t){this.setAttribute(br.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,t)}spanContext(){let{_spanId:t,_traceId:n,_sampled:r}=this;return{spanId:t,traceId:n,traceFlags:r?os.TRACE_FLAG_SAMPLED:os.TRACE_FLAG_NONE}}startChild(t){let n=new e({...t,parentSpanId:this._spanId,sampled:this._sampled,traceId:this._traceId});n.spanRecorder=this.spanRecorder,n.spanRecorder&&n.spanRecorder.add(n);let r=TN.getRootSpan(this);if(n.transaction=r,FN.DEBUG_BUILD&&r){let i=t&&t.op||"< unknown op >",o=os.spanToJSON(n).description||"< unknown name >",s=r.spanContext().spanId,a=`[Tracing] Starting '${i}' span on transaction '${o}' (${s}).`;Ui.logger.log(a),this._logMessage=a}return n}setTag(t,n){return this.tags={...this.tags,[t]:n},this}setData(t,n){return this.data={...this.data,[t]:n},this}setAttribute(t,n){n===void 0?delete this._attributes[t]:this._attributes[t]=n}setAttributes(t){Object.keys(t).forEach(n=>this.setAttribute(n,t[n]))}setStatus(t){return this._status=t,this}setHttpStatus(t){return o7.setHttpStatus(this,t),this}setName(t){this.updateName(t)}updateName(t){return this._name=t,this}isSuccess(){return this._status==="ok"}finish(t){return this.end(t)}end(t){if(this._endTime)return;let n=TN.getRootSpan(this);if(FN.DEBUG_BUILD&&n&&n.spanContext().spanId!==this._spanId){let r=this._logMessage;r&&Ui.logger.log(r.replace("Starting","Finishing"))}this._endTime=os.spanTimeInputToSeconds(t)}toTraceparent(){return os.spanToTraceHeader(this)}toContext(){return Ui.dropUndefinedKeys({data:this._getData(),description:this._name,endTimestamp:this._endTime,op:this.op,parentSpanId:this._parentSpanId,sampled:this._sampled,spanId:this._spanId,startTimestamp:this._startTime,status:this._status,tags:this.tags,traceId:this._traceId})}updateWithContext(t){return this.data=t.data||{},this._name=t.name||t.description,this._endTime=t.endTimestamp,this.op=t.op,this._parentSpanId=t.parentSpanId,this._sampled=t.sampled,this._spanId=t.spanId||this._spanId,this._startTime=t.startTimestamp||this._startTime,this._status=t.status,this.tags=t.tags||{},this._traceId=t.traceId||this._traceId,this}getTraceContext(){return os.spanToTraceContext(this)}getSpanJSON(){return Ui.dropUndefinedKeys({data:this._getData(),description:this._name,op:this._attributes[br.SEMANTIC_ATTRIBUTE_SENTRY_OP],parent_span_id:this._parentSpanId,span_id:this._spanId,start_timestamp:this._startTime,status:this._status,tags:Object.keys(this.tags).length>0?this.tags:void 0,timestamp:this._endTime,trace_id:this._traceId,origin:this._attributes[br.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN],_metrics_summary:i7.getMetricSummaryJsonForSpan(this),profile_id:this._attributes[br.SEMANTIC_ATTRIBUTE_PROFILE_ID],exclusive_time:this._exclusiveTime,measurements:Object.keys(this._measurements).length>0?this._measurements:void 0})}isRecording(){return!this._endTime&&!!this._sampled}toJSON(){return this.getSpanJSON()}_getData(){let{data:t,_attributes:n}=this,r=Object.keys(t).length>0,i=Object.keys(n).length>0;if(!(!r&&!i))return r&&i?{...t,...n}:r?t:n}};Mg.Span=tb;Mg.SpanRecorder=eb});var Pg=d(rb=>{"use strict";Object.defineProperty(rb,"__esModule",{value:!0});var ss=W(),qg=we(),s7=xn(),a7=za(),ja=Pa(),zg=Nt(),XN=Ki(),kN=Dg(),c7=Jg(),nb=class extends kN.Span{constructor(t,n){super(t),this._contexts={},this._hub=n||s7.getCurrentHub(),this._name=t.name||"",this._metadata={...t.metadata},this._trimEnd=t.trimEnd,this.transaction=this;let r=this._metadata.dynamicSamplingContext;r&&(this._frozenDynamicSamplingContext={...r})}get name(){return this._name}set name(t){this.setName(t)}get metadata(){return{source:"custom",spanMetadata:{},...this._metadata,...this._attributes[ja.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]&&{source:this._attributes[ja.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]},...this._attributes[ja.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE]&&{sampleRate:this._attributes[ja.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE]}}}set metadata(t){this._metadata=t}setName(t,n="custom"){this._name=t,this.setAttribute(ja.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,n)}updateName(t){return this._name=t,this}initSpanRecorder(t=1e3){this.spanRecorder||(this.spanRecorder=new kN.SpanRecorder(t)),this.spanRecorder.add(this)}setContext(t,n){n===null?delete this._contexts[t]:this._contexts[t]=n}setMeasurement(t,n,r=""){this._measurements[t]={value:n,unit:r}}setMetadata(t){this._metadata={...this._metadata,...t}}end(t){let n=zg.spanTimeInputToSeconds(t),r=this._finishTransaction(n);if(r)return this._hub.captureEvent(r)}toContext(){let t=super.toContext();return ss.dropUndefinedKeys({...t,name:this._name,trimEnd:this._trimEnd})}updateWithContext(t){return super.updateWithContext(t),this._name=t.name||"",this._trimEnd=t.trimEnd,this}getDynamicSamplingContext(){return XN.getDynamicSamplingContextFromSpan(this)}setHub(t){this._hub=t}getProfileId(){if(this._contexts!==void 0&&this._contexts.profile!==void 0)return this._contexts.profile.profile_id}_finishTransaction(t){if(this._endTime!==void 0)return;this._name||(qg.DEBUG_BUILD&&ss.logger.warn("Transaction has no name, falling back to `<unlabeled transaction>`."),this._name="<unlabeled transaction>"),super.end(t);let n=this._hub.getClient();if(n&&n.emit&&n.emit("finishTransaction",this),this._sampled!==!0){qg.DEBUG_BUILD&&ss.logger.log("[Tracing] Discarding transaction because its trace was not chosen to be sampled."),n&&n.recordDroppedEvent("sample_rate","transaction");return}let r=this.spanRecorder?this.spanRecorder.spans.filter(l=>l!==this&&zg.spanToJSON(l).timestamp):[];if(this._trimEnd&&r.length>0){let l=r.map(g=>zg.spanToJSON(g).timestamp).filter(Boolean);this._endTime=l.reduce((g,f)=>g>f?g:f)}let{scope:i,isolationScope:o}=c7.getCapturedScopesOnSpan(this),{metadata:s}=this,{source:a}=s,c={contexts:{...this._contexts,trace:zg.spanToTraceContext(this)},spans:r,start_timestamp:this._startTime,tags:this.tags,timestamp:this._endTime,transaction:this._name,type:"transaction",sdkProcessingMetadata:{...s,capturedSpanScope:i,capturedSpanIsolationScope:o,...ss.dropUndefinedKeys({dynamicSamplingContext:XN.getDynamicSamplingContextFromSpan(this)})},_metrics_summary:a7.getMetricSummaryJsonForSpan(this),...a&&{transaction_info:{source:a}}};return Object.keys(this._measurements).length>0&&(qg.DEBUG_BUILD&&ss.logger.log("[Measurements] Adding measurements to transaction",JSON.stringify(this._measurements,void 0,2)),c.measurements=this._measurements),qg.DEBUG_BUILD&&ss.logger.log(`[Tracing] Finishing ${this.op} transaction: ${this._name}.`),c}};rb.Transaction=nb});var ob=d(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});var ot=W(),Vt=we(),jg=Nt(),u7=Dg(),l7=Pg(),Qg={idleTimeout:1e3,finalTimeout:3e4,heartbeatInterval:5e3},d7="finishReason",as=["heartbeatFailed","idleTimeout","documentHidden","finalTimeout","externalFinish","cancelled"],$g=class extends u7.SpanRecorder{constructor(t,n,r,i){super(i),this._pushActivity=t,this._popActivity=n,this.transactionSpanId=r}add(t){if(t.spanContext().spanId!==this.transactionSpanId){let n=t.end;t.end=(...r)=>(this._popActivity(t.spanContext().spanId),n.apply(t,r)),jg.spanToJSON(t).timestamp===void 0&&this._pushActivity(t.spanContext().spanId)}super.add(t)}},ib=class extends l7.Transaction{constructor(t,n,r=Qg.idleTimeout,i=Qg.finalTimeout,o=Qg.heartbeatInterval,s=!1,a=!1){super(t,n),this._idleHub=n,this._idleTimeout=r,this._finalTimeout=i,this._heartbeatInterval=o,this._onScope=s,this.activities={},this._heartbeatCounter=0,this._finished=!1,this._idleTimeoutCanceledPermanently=!1,this._beforeFinishCallbacks=[],this._finishReason=as[4],this._autoFinishAllowed=!a,s&&(Vt.DEBUG_BUILD&&ot.logger.log(`Setting idle transaction on scope. Span ID: ${this.spanContext().spanId}`),n.getScope().setSpan(this)),a||this._restartIdleTimeout(),setTimeout(()=>{this._finished||(this.setStatus("deadline_exceeded"),this._finishReason=as[3],this.end())},this._finalTimeout)}end(t){let n=jg.spanTimeInputToSeconds(t);if(this._finished=!0,this.activities={},this.op==="ui.action.click"&&this.setAttribute(d7,this._finishReason),this.spanRecorder){Vt.DEBUG_BUILD&&ot.logger.log("[Tracing] finishing IdleTransaction",new Date(n*1e3).toISOString(),this.op);for(let r of this._beforeFinishCallbacks)r(this,n);this.spanRecorder.spans=this.spanRecorder.spans.filter(r=>{if(r.spanContext().spanId===this.spanContext().spanId)return!0;jg.spanToJSON(r).timestamp||(r.setStatus("cancelled"),r.end(n),Vt.DEBUG_BUILD&&ot.logger.log("[Tracing] cancelling span since transaction ended early",JSON.stringify(r,void 0,2)));let{start_timestamp:i,timestamp:o}=jg.spanToJSON(r),s=i&&i<n,a=(this._finalTimeout+this._idleTimeout)/1e3,c=o&&i&&o-i<a;if(Vt.DEBUG_BUILD){let u=JSON.stringify(r,void 0,2);s?c||ot.logger.log("[Tracing] discarding Span since it finished after Transaction final timeout",u):ot.logger.log("[Tracing] discarding Span since it happened after Transaction was finished",u)}return s&&c}),Vt.DEBUG_BUILD&&ot.logger.log("[Tracing] flushing IdleTransaction")}else Vt.DEBUG_BUILD&&ot.logger.log("[Tracing] No active IdleTransaction");if(this._onScope){let r=this._idleHub.getScope();r.getTransaction()===this&&r.setSpan(void 0)}return super.end(t)}registerBeforeFinishCallback(t){this._beforeFinishCallbacks.push(t)}initSpanRecorder(t){if(!this.spanRecorder){let n=i=>{this._finished||this._pushActivity(i)},r=i=>{this._finished||this._popActivity(i)};this.spanRecorder=new $g(n,r,this.spanContext().spanId,t),Vt.DEBUG_BUILD&&ot.logger.log("Starting heartbeat"),this._pingHeartbeat()}this.spanRecorder.add(this)}cancelIdleTimeout(t,{restartOnChildSpanChange:n}={restartOnChildSpanChange:!0}){this._idleTimeoutCanceledPermanently=n===!1,this._idleTimeoutID&&(clearTimeout(this._idleTimeoutID),this._idleTimeoutID=void 0,Object.keys(this.activities).length===0&&this._idleTimeoutCanceledPermanently&&(this._finishReason=as[5],this.end(t)))}setFinishReason(t){this._finishReason=t}sendAutoFinishSignal(){this._autoFinishAllowed||(Vt.DEBUG_BUILD&&ot.logger.log("[Tracing] Received finish signal for idle transaction."),this._restartIdleTimeout(),this._autoFinishAllowed=!0)}_restartIdleTimeout(t){this.cancelIdleTimeout(),this._idleTimeoutID=setTimeout(()=>{!this._finished&&Object.keys(this.activities).length===0&&(this._finishReason=as[1],this.end(t))},this._idleTimeout)}_pushActivity(t){this.cancelIdleTimeout(void 0,{restartOnChildSpanChange:!this._idleTimeoutCanceledPermanently}),Vt.DEBUG_BUILD&&ot.logger.log(`[Tracing] pushActivity: ${t}`),this.activities[t]=!0,Vt.DEBUG_BUILD&&ot.logger.log("[Tracing] new activities count",Object.keys(this.activities).length)}_popActivity(t){if(this.activities[t]&&(Vt.DEBUG_BUILD&&ot.logger.log(`[Tracing] popActivity ${t}`),delete this.activities[t],Vt.DEBUG_BUILD&&ot.logger.log("[Tracing] new activities count",Object.keys(this.activities).length)),Object.keys(this.activities).length===0){let n=ot.timestampInSeconds();this._idleTimeoutCanceledPermanently?this._autoFinishAllowed&&(this._finishReason=as[5],this.end(n)):this._restartIdleTimeout(n+this._idleTimeout/1e3)}}_beat(){if(this._finished)return;let t=Object.keys(this.activities).join("");t===this._prevHeartbeatString?this._heartbeatCounter++:this._heartbeatCounter=1,this._prevHeartbeatString=t,this._heartbeatCounter>=3?this._autoFinishAllowed&&(Vt.DEBUG_BUILD&&ot.logger.log("[Tracing] Transaction finished because of no change for 3 heart beats"),this.setStatus("deadline_exceeded"),this._finishReason=as[0],this.end()):this._pingHeartbeat()}_pingHeartbeat(){Vt.DEBUG_BUILD&&ot.logger.log(`pinging Heartbeat -> current counter: ${this._heartbeatCounter}`),setTimeout(()=>{this._beat()},this._heartbeatInterval)}};Qa.IdleTransaction=ib;Qa.IdleTransactionSpanRecorder=$g;Qa.TRACING_DEFAULTS=Qg});var sb=d(tf=>{"use strict";Object.defineProperty(tf,"__esModule",{value:!0});var Ji=W(),cs=we(),ef=Pa(),g7=Kg(),f7=Nt();function I7(e,t,n){if(!g7.hasTracingEnabled(t))return e.sampled=!1,e;if(e.sampled!==void 0)return e.setAttribute(ef.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE,Number(e.sampled)),e;let r;return typeof t.tracesSampler=="function"?(r=t.tracesSampler(n),e.setAttribute(ef.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE,Number(r))):n.parentSampled!==void 0?r=n.parentSampled:typeof t.tracesSampleRate<"u"?(r=t.tracesSampleRate,e.setAttribute(ef.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE,Number(r))):(r=1,e.setAttribute(ef.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE,r)),KN(r)?r?(e.sampled=Math.random()<r,e.sampled?(cs.DEBUG_BUILD&&Ji.logger.log(`[Tracing] starting ${e.op} transaction - ${f7.spanToJSON(e).description}`),e):(cs.DEBUG_BUILD&&Ji.logger.log(`[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = ${Number(r)})`),e)):(cs.DEBUG_BUILD&&Ji.logger.log(`[Tracing] Discarding transaction because ${typeof t.tracesSampler=="function"?"tracesSampler returned 0 or false":"a negative sampling decision was inherited or tracesSampleRate is set to 0"}`),e.sampled=!1,e):(cs.DEBUG_BUILD&&Ji.logger.warn("[Tracing] Discarding transaction because of invalid sample rate."),e.sampled=!1,e)}function KN(e){return Ji.isNaN(e)||!(typeof e=="number"||typeof e=="boolean")?(cs.DEBUG_BUILD&&Ji.logger.warn(`[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(e)} of type ${JSON.stringify(typeof e)}.`),!1):e<0||e>1?(cs.DEBUG_BUILD&&Ji.logger.warn(`[Tracing] Given sample rate is invalid. Sample rate must be between 0 and 1. Got ${e}.`),!1):!0}tf.isValidSampleRate=KN;tf.sampleTransaction=I7});var ab=d(nf=>{"use strict";Object.defineProperty(nf,"__esModule",{value:!0});var p7=W(),m7=we(),h7=xn(),C7=Nt(),b7=kg(),y7=ob(),xN=sb(),A7=Pg();function B7(){let t=this.getScope().getSpan();return t?{"sentry-trace":C7.spanToTraceHeader(t)}:{}}function G7(e,t){let n=this.getClient(),r=n&&n.getOptions()||{},i=r.instrumenter||"sentry",o=e.instrumenter||"sentry";i!==o&&(m7.DEBUG_BUILD&&p7.logger.error(`A transaction was started with instrumenter=\`${o}\`, but the SDK is configured with the \`${i}\` instrumenter.
|
|
17
|
+
The transaction will not be sampled. Please use the ${i} instrumentation to start transactions.`),e.sampled=!1);let s=new A7.Transaction(e,this);return s=xN.sampleTransaction(s,r,{name:e.name,parentSampled:e.parentSampled,transactionContext:e,attributes:{...e.data,...e.attributes},...t}),s.isRecording()&&s.initSpanRecorder(r._experiments&&r._experiments.maxSpans),n&&n.emit&&n.emit("startTransaction",s),s}function Z7(e,t,n,r,i,o,s,a=!1){let c=e.getClient(),u=c&&c.getOptions()||{},l=new y7.IdleTransaction(t,e,n,r,s,i,a);return l=xN.sampleTransaction(l,u,{name:t.name,parentSampled:t.parentSampled,transactionContext:t,attributes:{...t.data,...t.attributes},...o}),l.isRecording()&&l.initSpanRecorder(u._experiments&&u._experiments.maxSpans),c&&c.emit&&c.emit("startTransaction",l),l}function v7(){let e=h7.getMainCarrier();e.__SENTRY__&&(e.__SENTRY__.extensions=e.__SENTRY__.extensions||{},e.__SENTRY__.extensions.startTransaction||(e.__SENTRY__.extensions.startTransaction=G7),e.__SENTRY__.extensions.traceHeaders||(e.__SENTRY__.extensions.traceHeaders=B7),b7.registerErrorInstrumentation())}nf.addTracingExtensions=v7;nf.startIdleTransaction=Z7});var LN=d(cb=>{"use strict";Object.defineProperty(cb,"__esModule",{value:!0});var S7=Xg();function R7(e,t,n){let r=S7.getActiveTransaction();r&&r.setMeasurement(e,t,n)}cb.setMeasurement=R7});var ub=d(rf=>{"use strict";Object.defineProperty(rf,"__esModule",{value:!0});var us=W();function W7(e,t){return t&&(e.sdk=e.sdk||{},e.sdk.name=e.sdk.name||t.name,e.sdk.version=e.sdk.version||t.version,e.sdk.integrations=[...e.sdk.integrations||[],...t.integrations||[]],e.sdk.packages=[...e.sdk.packages||[],...t.packages||[]]),e}function N7(e,t,n,r){let i=us.getSdkMetadataForEnvelopeHeader(n),o={sent_at:new Date().toISOString(),...i&&{sdk:i},...!!r&&t&&{dsn:us.dsnToString(t)}},s="aggregates"in e?[{type:"sessions"},e]:[{type:"session"},e.toJSON()];return us.createEnvelope(o,[s])}function V7(e,t,n,r){let i=us.getSdkMetadataForEnvelopeHeader(n),o=e.type&&e.type!=="replay_event"?e.type:"event";W7(e,n&&n.sdk);let s=us.createEventEnvelopeHeaders(e,i,r,t);delete e.sdkProcessingMetadata;let a=[{type:o},e];return us.createEnvelope(s,[a])}rf.createEventEnvelope=V7;rf.createSessionEnvelope=N7});var gb=d(db=>{"use strict";Object.defineProperty(db,"__esModule",{value:!0});var _7=W(),E7=dn(),lb=class{constructor(t,n){this._client=t,this.flushTimeout=60,this._pendingAggregates={},this._isEnabled=!0,this._intervalId=setInterval(()=>this.flush(),this.flushTimeout*1e3),this._intervalId.unref&&this._intervalId.unref(),this._sessionAttrs=n}flush(){let t=this.getSessionAggregates();t.aggregates.length!==0&&(this._pendingAggregates={},this._client.sendSession(t))}getSessionAggregates(){let t=Object.keys(this._pendingAggregates).map(r=>this._pendingAggregates[parseInt(r)]),n={attrs:this._sessionAttrs,aggregates:t};return _7.dropUndefinedKeys(n)}close(){clearInterval(this._intervalId),this._isEnabled=!1,this.flush()}incrementSessionStatusCount(){if(!this._isEnabled)return;let t=E7.getCurrentScope(),n=t.getRequestSession();n&&n.status&&(this._incrementSessionStatusCount(n.status,new Date),t.setRequestSession(void 0))}_incrementSessionStatusCount(t,n){let r=new Date(n).setSeconds(0,0);this._pendingAggregates[r]=this._pendingAggregates[r]||{};let i=this._pendingAggregates[r];switch(i.started||(i.started=new Date(r).toISOString()),t){case"errored":return i.errored=(i.errored||0)+1,i.errored;case"ok":return i.exited=(i.exited||0)+1,i.exited;default:return i.crashed=(i.crashed||0)+1,i.crashed}}};db.SessionFlusher=lb});var sf=d(of=>{"use strict";Object.defineProperty(of,"__esModule",{value:!0});var fb=W(),H7="7";function UN(e){let t=e.protocol?`${e.protocol}:`:"",n=e.port?`:${e.port}`:"";return`${t}//${e.host}${n}${e.path?`/${e.path}`:""}/api/`}function w7(e){return`${UN(e)}${e.projectId}/envelope/`}function Y7(e,t){return fb.urlEncode({sentry_key:e.publicKey,sentry_version:H7,...t&&{sentry_client:`${t.name}/${t.version}`}})}function F7(e,t={}){let n=typeof t=="string"?t:t.tunnel,r=typeof t=="string"||!t._metadata?void 0:t._metadata.sdk;return n||`${w7(e)}?${Y7(e,r)}`}function T7(e,t){let n=fb.makeDsn(e);if(!n)return"";let r=`${UN(n)}embed/error-page/`,i=`dsn=${fb.dsnToString(n)}`;for(let o in t)if(o!=="dsn"&&o!=="onClose")if(o==="user"){let s=t.user;if(!s)continue;s.name&&(i+=`&name=${encodeURIComponent(s.name)}`),s.email&&(i+=`&email=${encodeURIComponent(s.email)}`)}else i+=`&${encodeURIComponent(o)}=${encodeURIComponent(t[o])}`;return`${r}?${i}`}of.getEnvelopeEndpointWithUrlEncodedAuth=F7;of.getReportDialogEndpoint=T7});var yr=d(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});var af=W(),Ib=we(),X7=Xa(),k7=dn(),K7=xn(),pb=[];function x7(e){let t={};return e.forEach(n=>{let{name:r}=n,i=t[r];i&&!i.isDefaultInstance&&n.isDefaultInstance||(t[r]=n)}),Object.keys(t).map(n=>t[n])}function L7(e){let t=e.defaultIntegrations||[],n=e.integrations;t.forEach(s=>{s.isDefaultInstance=!0});let r;Array.isArray(n)?r=[...t,...n]:typeof n=="function"?r=af.arrayify(n(t)):r=t;let i=x7(r),o=M7(i,s=>s.name==="Debug");if(o!==-1){let[s]=i.splice(o,1);i.push(s)}return i}function U7(e,t){let n={};return t.forEach(r=>{r&&JN(e,r,n)}),n}function J7(e,t){for(let n of t)n&&n.afterAllSetup&&n.afterAllSetup(e)}function JN(e,t,n){if(n[t.name]){Ib.DEBUG_BUILD&&af.logger.log(`Integration skipped because it was already installed: ${t.name}`);return}if(n[t.name]=t,pb.indexOf(t.name)===-1&&(t.setupOnce(X7.addGlobalEventProcessor,K7.getCurrentHub),pb.push(t.name)),t.setup&&typeof t.setup=="function"&&t.setup(e),e.on&&typeof t.preprocessEvent=="function"){let r=t.preprocessEvent.bind(t);e.on("preprocessEvent",(i,o)=>r(i,o,e))}if(e.addEventProcessor&&typeof t.processEvent=="function"){let r=t.processEvent.bind(t),i=Object.assign((o,s)=>r(o,s,e),{id:t.name});e.addEventProcessor(i)}Ib.DEBUG_BUILD&&af.logger.log(`Integration installed: ${t.name}`)}function O7(e){let t=k7.getClient();if(!t||!t.addIntegration){Ib.DEBUG_BUILD&&af.logger.warn(`Cannot add integration "${e.name}" because no SDK Client is available.`);return}t.addIntegration(e)}function M7(e,t){for(let n=0;n<e.length;n++)if(t(e[n])===!0)return n;return-1}function D7(e,t){return Object.assign(function(...r){return t(...r)},{id:e})}function q7(e){return e}Jn.addIntegration=O7;Jn.afterSetupIntegrations=J7;Jn.convertIntegrationFnToClass=D7;Jn.defineIntegration=q7;Jn.getIntegrationsToSetup=L7;Jn.installedIntegrations=pb;Jn.setupIntegration=JN;Jn.setupIntegrations=U7});var $a=d(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});var z7=W();function P7(e,t,n,r){let i=Object.entries(z7.dropUndefinedKeys(r)).sort((o,s)=>o[0].localeCompare(s[0]));return`${e}${t}${n}${i}`}function j7(e){let t=0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)-t+r,t&=t}return t>>>0}function Q7(e){let t="";for(let n of e){let r=Object.entries(n.tags),i=r.length>0?`|#${r.map(([o,s])=>`${o}:${s}`).join(",")}`:"";t+=`${n.name}@${n.unit}:${n.metric}|${n.metricType}${i}|T${n.timestamp}
|
|
18
|
+
`}return t}function $7(e){return e.replace(/[^\w]+/gi,"_")}function e6(e){return e.replace(/[^\w\-.]+/gi,"_")}function t6(e){return e.replace(/[^\w\-./]+/gi,"")}var n6=[[`
|
|
19
|
+
`,"\\n"],["\r","\\r"],[" ","\\t"],["\\","\\\\"],["|","\\u{7c}"],[",","\\u{2c}"]];function r6(e){for(let[t,n]of n6)if(e===t)return n;return e}function i6(e){return[...e].reduce((t,n)=>t+r6(n),"")}function o6(e){let t={};for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)){let r=t6(n);t[r]=i6(String(e[n]))}return t}Pr.getBucketKey=P7;Pr.sanitizeMetricKey=e6;Pr.sanitizeTags=o6;Pr.sanitizeUnit=$7;Pr.serializeMetricBuckets=Q7;Pr.simpleHash=j7});var MN=d(mb=>{"use strict";Object.defineProperty(mb,"__esModule",{value:!0});var ON=W(),s6=$a();function a6(e,t,n,r){let i={sent_at:new Date().toISOString()};n&&n.sdk&&(i.sdk={name:n.sdk.name,version:n.sdk.version}),r&&t&&(i.dsn=ON.dsnToString(t));let o=c6(e);return ON.createEnvelope(i,[o])}function c6(e){let t=s6.serializeMetricBuckets(e);return[{type:"statsd",length:t.length},t]}mb.createMetricEnvelope=a6});var Cb=d(uf=>{"use strict";Object.defineProperty(uf,"__esModule",{value:!0});var ae=W(),u6=sf(),On=we(),DN=ub(),l6=dn(),d6=xn(),cf=yr(),g6=MN(),qN=Qo(),f6=Ki(),I6=Wg(),zN="Not capturing exception because it's already been captured.",hb=class{constructor(t){if(this._options=t,this._integrations={},this._integrationsInitialized=!1,this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],t.dsn?this._dsn=ae.makeDsn(t.dsn):On.DEBUG_BUILD&&ae.logger.warn("No DSN provided, client will not send events."),this._dsn){let n=u6.getEnvelopeEndpointWithUrlEncodedAuth(this._dsn,t);this._transport=t.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...t.transportOptions,url:n})}}captureException(t,n,r){if(ae.checkOrSetAlreadyCaught(t)){On.DEBUG_BUILD&&ae.logger.log(zN);return}let i=n&&n.event_id;return this._process(this.eventFromException(t,n).then(o=>this._captureEvent(o,n,r)).then(o=>{i=o})),i}captureMessage(t,n,r,i){let o=r&&r.event_id,s=ae.isParameterizedString(t)?t:String(t),a=ae.isPrimitive(t)?this.eventFromMessage(s,n,r):this.eventFromException(t,r);return this._process(a.then(c=>this._captureEvent(c,r,i)).then(c=>{o=c})),o}captureEvent(t,n,r){if(n&&n.originalException&&ae.checkOrSetAlreadyCaught(n.originalException)){On.DEBUG_BUILD&&ae.logger.log(zN);return}let i=n&&n.event_id,s=(t.sdkProcessingMetadata||{}).capturedSpanScope;return this._process(this._captureEvent(t,n,s||r).then(a=>{i=a})),i}captureSession(t){typeof t.release!="string"?On.DEBUG_BUILD&&ae.logger.warn("Discarded session because of missing or non-string release"):(this.sendSession(t),qN.updateSession(t,{init:!1}))}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}flush(t){let n=this._transport;return n?(this.metricsAggregator&&this.metricsAggregator.flush(),this._isClientDoneProcessing(t).then(r=>n.flush(t).then(i=>r&&i))):ae.resolvedSyncPromise(!0)}close(t){return this.flush(t).then(n=>(this.getOptions().enabled=!1,this.metricsAggregator&&this.metricsAggregator.close(),n))}getEventProcessors(){return this._eventProcessors}addEventProcessor(t){this._eventProcessors.push(t)}setupIntegrations(t){(t&&!this._integrationsInitialized||this._isEnabled()&&!this._integrationsInitialized)&&this._setupIntegrations()}init(){this._isEnabled()&&this._setupIntegrations()}getIntegrationById(t){return this.getIntegrationByName(t)}getIntegrationByName(t){return this._integrations[t]}getIntegration(t){try{return this._integrations[t.id]||null}catch{return On.DEBUG_BUILD&&ae.logger.warn(`Cannot retrieve integration ${t.id} from the current Client`),null}}addIntegration(t){let n=this._integrations[t.name];cf.setupIntegration(this,t,this._integrations),n||cf.afterSetupIntegrations(this,[t])}sendEvent(t,n={}){this.emit("beforeSendEvent",t,n);let r=DN.createEventEnvelope(t,this._dsn,this._options._metadata,this._options.tunnel);for(let o of n.attachments||[])r=ae.addItemToEnvelope(r,ae.createAttachmentEnvelopeItem(o,this._options.transportOptions&&this._options.transportOptions.textEncoder));let i=this._sendEnvelope(r);i&&i.then(o=>this.emit("afterSendEvent",t,o),null)}sendSession(t){let n=DN.createSessionEnvelope(t,this._dsn,this._options._metadata,this._options.tunnel);this._sendEnvelope(n)}recordDroppedEvent(t,n,r){if(this._options.sendClientReports){let i=typeof r=="number"?r:1,o=`${t}:${n}`;On.DEBUG_BUILD&&ae.logger.log(`Recording outcome: "${o}"${i>1?` (${i} times)`:""}`),this._outcomes[o]=(this._outcomes[o]||0)+i}}captureAggregateMetrics(t){On.DEBUG_BUILD&&ae.logger.log(`Flushing aggregated metrics, number of metrics: ${t.length}`);let n=g6.createMetricEnvelope(t,this._dsn,this._options._metadata,this._options.tunnel);this._sendEnvelope(n)}on(t,n){this._hooks[t]||(this._hooks[t]=[]),this._hooks[t].push(n)}emit(t,...n){this._hooks[t]&&this._hooks[t].forEach(r=>r(...n))}_setupIntegrations(){let{integrations:t}=this._options;this._integrations=cf.setupIntegrations(this,t),cf.afterSetupIntegrations(this,t),this._integrationsInitialized=!0}_updateSessionFromEvent(t,n){let r=!1,i=!1,o=n.exception&&n.exception.values;if(o){i=!0;for(let c of o){let u=c.mechanism;if(u&&u.handled===!1){r=!0;break}}}let s=t.status==="ok";(s&&t.errors===0||s&&r)&&(qN.updateSession(t,{...r&&{status:"crashed"},errors:t.errors||Number(i||r)}),this.captureSession(t))}_isClientDoneProcessing(t){return new ae.SyncPromise(n=>{let r=0,i=1,o=setInterval(()=>{this._numProcessing==0?(clearInterval(o),n(!0)):(r+=i,t&&r>=t&&(clearInterval(o),n(!1)))},i)})}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(t,n,r,i=d6.getIsolationScope()){let o=this.getOptions(),s=Object.keys(this._integrations);return!n.integrations&&s.length>0&&(n.integrations=s),this.emit("preprocessEvent",t,n),I6.prepareEvent(o,t,n,r,this,i).then(a=>{if(a===null)return a;let c={...i.getPropagationContext(),...r?r.getPropagationContext():void 0};if(!(a.contexts&&a.contexts.trace)&&c){let{traceId:l,spanId:g,parentSpanId:f,dsc:I}=c;a.contexts={trace:{trace_id:l,span_id:g,parent_span_id:f},...a.contexts};let m=I||f6.getDynamicSamplingContextFromClient(l,this,r);a.sdkProcessingMetadata={dynamicSamplingContext:m,...a.sdkProcessingMetadata}}return a})}_captureEvent(t,n={},r){return this._processEvent(t,n,r).then(i=>i.event_id,i=>{if(On.DEBUG_BUILD){let o=i;o.logLevel==="log"?ae.logger.log(o.message):ae.logger.warn(o)}})}_processEvent(t,n,r){let i=this.getOptions(),{sampleRate:o}=i,s=jN(t),a=PN(t),c=t.type||"error",u=`before send for type \`${c}\``;if(a&&typeof o=="number"&&Math.random()>o)return this.recordDroppedEvent("sample_rate","error",t),ae.rejectedSyncPromise(new ae.SentryError(`Discarding event because it's not included in the random sample (sampling rate = ${o})`,"log"));let l=c==="replay_event"?"replay":c,f=(t.sdkProcessingMetadata||{}).capturedSpanIsolationScope;return this._prepareEvent(t,n,r,f).then(I=>{if(I===null)throw this.recordDroppedEvent("event_processor",l,t),new ae.SentryError("An event processor returned `null`, will not send event.","log");if(n.data&&n.data.__sentry__===!0)return I;let C=m6(i,I,n);return p6(C,u)}).then(I=>{if(I===null){if(this.recordDroppedEvent("before_send",l,t),s){let v=1+(t.spans||[]).length;this.recordDroppedEvent("before_send","span",v)}throw new ae.SentryError(`${u} returned \`null\`, will not send event.`,"log")}let m=r&&r.getSession();if(!s&&m&&this._updateSessionFromEvent(m,I),s){let b=I.sdkProcessingMetadata&&I.sdkProcessingMetadata.spanCountBeforeProcessing||0,v=I.spans?I.spans.length:0,Y=b-v;Y>0&&this.recordDroppedEvent("before_send","span",Y)}let C=I.transaction_info;if(s&&C&&I.transaction!==t.transaction){let b="custom";I.transaction_info={...C,source:b}}return this.sendEvent(I,n),I}).then(null,I=>{throw I instanceof ae.SentryError?I:(this.captureException(I,{data:{__sentry__:!0},originalException:I}),new ae.SentryError(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.
|
|
20
|
+
Reason: ${I}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessing--,n),n=>(this._numProcessing--,n))}_sendEnvelope(t){if(this.emit("beforeEnvelope",t),this._isEnabled()&&this._transport)return this._transport.send(t).then(null,n=>{On.DEBUG_BUILD&&ae.logger.error("Error while sending event:",n)});On.DEBUG_BUILD&&ae.logger.error("Transport disabled")}_clearOutcomes(){let t=this._outcomes;return this._outcomes={},Object.keys(t).map(n=>{let[r,i]=n.split(":");return{reason:r,category:i,quantity:t[n]}})}};function p6(e,t){let n=`${t} must return \`null\` or a valid event.`;if(ae.isThenable(e))return e.then(r=>{if(!ae.isPlainObject(r)&&r!==null)throw new ae.SentryError(n);return r},r=>{throw new ae.SentryError(`${t} rejected with ${r}`)});if(!ae.isPlainObject(e)&&e!==null)throw new ae.SentryError(n);return e}function m6(e,t,n){let{beforeSend:r,beforeSendTransaction:i}=e;if(PN(t)&&r)return r(t,n);if(jN(t)&&i){if(t.spans){let o=t.spans.length;t.sdkProcessingMetadata={...t.sdkProcessingMetadata,spanCountBeforeProcessing:o}}return i(t,n)}return t}function PN(e){return e.type===void 0}function jN(e){return e.type==="transaction"}function h6(e){let t=l6.getClient();!t||!t.addEventProcessor||t.addEventProcessor(e)}uf.BaseClient=hb;uf.addEventProcessor=h6});var Ab=d(yb=>{"use strict";Object.defineProperty(yb,"__esModule",{value:!0});var bb=W();function C6(e,t,n,r,i){let o={sent_at:new Date().toISOString()};n&&n.sdk&&(o.sdk={name:n.sdk.name,version:n.sdk.version}),r&&i&&(o.dsn=bb.dsnToString(i)),t&&(o.trace=bb.dropUndefinedKeys(t));let s=b6(e);return bb.createEnvelope(o,[s])}function b6(e){return[{type:"check_in"},e]}yb.createCheckInEnvelope=C6});var ec=d(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});var y6="c",A6="g",B6="s",G6="d",Z6=5e3,v6=1e4,S6=1e4;Ar.COUNTER_METRIC_TYPE=y6;Ar.DEFAULT_BROWSER_FLUSH_INTERVAL=Z6;Ar.DEFAULT_FLUSH_INTERVAL=v6;Ar.DISTRIBUTION_METRIC_TYPE=G6;Ar.GAUGE_METRIC_TYPE=A6;Ar.MAX_WEIGHT=S6;Ar.SET_METRIC_TYPE=B6});var Bb=d(Oi=>{"use strict";Object.defineProperty(Oi,"__esModule",{value:!0});var lf=ec(),R6=$a(),df=class{constructor(t){this._value=t}get weight(){return 1}add(t){this._value+=t}toString(){return`${this._value}`}},gf=class{constructor(t){this._last=t,this._min=t,this._max=t,this._sum=t,this._count=1}get weight(){return 5}add(t){this._last=t,t<this._min&&(this._min=t),t>this._max&&(this._max=t),this._sum+=t,this._count++}toString(){return`${this._last}:${this._min}:${this._max}:${this._sum}:${this._count}`}},ff=class{constructor(t){this._value=[t]}get weight(){return this._value.length}add(t){this._value.push(t)}toString(){return this._value.join(":")}},If=class{constructor(t){this.first=t,this._value=new Set([t])}get weight(){return this._value.size}add(t){this._value.add(t)}toString(){return Array.from(this._value).map(t=>typeof t=="string"?R6.simpleHash(t):t).join(":")}},W6={[lf.COUNTER_METRIC_TYPE]:df,[lf.GAUGE_METRIC_TYPE]:gf,[lf.DISTRIBUTION_METRIC_TYPE]:ff,[lf.SET_METRIC_TYPE]:If};Oi.CounterMetric=df;Oi.DistributionMetric=ff;Oi.GaugeMetric=gf;Oi.METRIC_MAP=W6;Oi.SetMetric=If});var $N=d(Zb=>{"use strict";Object.defineProperty(Zb,"__esModule",{value:!0});var QN=W(),tc=ec(),N6=Bb(),V6=za(),pf=$a(),Gb=class{constructor(t){this._client=t,this._buckets=new Map,this._bucketsTotalWeight=0,this._interval=setInterval(()=>this._flush(),tc.DEFAULT_FLUSH_INTERVAL),this._interval.unref&&this._interval.unref(),this._flushShift=Math.floor(Math.random()*tc.DEFAULT_FLUSH_INTERVAL/1e3),this._forceFlush=!1}add(t,n,r,i="none",o={},s=QN.timestampInSeconds()){let a=Math.floor(s),c=pf.sanitizeMetricKey(n),u=pf.sanitizeTags(o),l=pf.sanitizeUnit(i),g=pf.getBucketKey(t,c,l,u),f=this._buckets.get(g),I=f&&t===tc.SET_METRIC_TYPE?f.metric.weight:0;f?(f.metric.add(r),f.timestamp<a&&(f.timestamp=a)):(f={metric:new N6.METRIC_MAP[t](r),timestamp:a,metricType:t,name:c,unit:l,tags:u},this._buckets.set(g,f));let m=typeof r=="string"?f.metric.weight-I:r;V6.updateMetricSummaryOnActiveSpan(t,c,m,l,o,g),this._bucketsTotalWeight+=f.metric.weight,this._bucketsTotalWeight>=tc.MAX_WEIGHT&&this.flush()}flush(){this._forceFlush=!0,this._flush()}close(){this._forceFlush=!0,clearInterval(this._interval),this._flush()}_flush(){if(this._forceFlush){this._forceFlush=!1,this._bucketsTotalWeight=0,this._captureMetrics(this._buckets),this._buckets.clear();return}let t=Math.floor(QN.timestampInSeconds())-tc.DEFAULT_FLUSH_INTERVAL/1e3-this._flushShift,n=new Map;for(let[r,i]of this._buckets)i.timestamp<=t&&(n.set(r,i),this._bucketsTotalWeight-=i.metric.weight);for(let[r]of n)this._buckets.delete(r);this._captureMetrics(n)}_captureMetrics(t){if(t.size>0&&this._client.captureAggregateMetrics){let n=Array.from(t).map(([,r])=>r);this._client.captureAggregateMetrics(n)}}};Zb.MetricsAggregator=Gb});var tV=d(Sb=>{"use strict";Object.defineProperty(Sb,"__esModule",{value:!0});var Br=W(),_6=Cb(),E6=Ab(),mf=we(),H6=dn(),w6=$N(),Y6=gb(),F6=ab(),T6=Nt(),X6=es();rs();var eV=Ki(),vb=class extends _6.BaseClient{constructor(t){F6.addTracingExtensions(),super(t),t._experiments&&t._experiments.metricsAggregator&&(this.metricsAggregator=new w6.MetricsAggregator(this))}eventFromException(t,n){return Br.resolvedSyncPromise(Br.eventFromUnknownInput(H6.getClient(),this._options.stackParser,t,n))}eventFromMessage(t,n="info",r){return Br.resolvedSyncPromise(Br.eventFromMessage(this._options.stackParser,t,n,r,this._options.attachStacktrace))}captureException(t,n,r){if(this._options.autoSessionTracking&&this._sessionFlusher&&r){let i=r.getRequestSession();i&&i.status==="ok"&&(i.status="errored")}return super.captureException(t,n,r)}captureEvent(t,n,r){if(this._options.autoSessionTracking&&this._sessionFlusher&&r&&(t.type||"exception")==="exception"&&t.exception&&t.exception.values&&t.exception.values.length>0){let s=r.getRequestSession();s&&s.status==="ok"&&(s.status="errored")}return super.captureEvent(t,n,r)}close(t){return this._sessionFlusher&&this._sessionFlusher.close(),super.close(t)}initSessionFlusher(){let{release:t,environment:n}=this._options;t?this._sessionFlusher=new Y6.SessionFlusher(this,{release:t,environment:n}):mf.DEBUG_BUILD&&Br.logger.warn("Cannot initialise an instance of SessionFlusher if no release is provided!")}captureCheckIn(t,n,r){let i="checkInId"in t&&t.checkInId?t.checkInId:Br.uuid4();if(!this._isEnabled())return mf.DEBUG_BUILD&&Br.logger.warn("SDK not enabled, will not capture checkin."),i;let o=this.getOptions(),{release:s,environment:a,tunnel:c}=o,u={check_in_id:i,monitor_slug:t.monitorSlug,status:t.status,release:s,environment:a};"duration"in t&&(u.duration=t.duration),n&&(u.monitor_config={schedule:n.schedule,checkin_margin:n.checkinMargin,max_runtime:n.maxRuntime,timezone:n.timezone});let[l,g]=this._getTraceInfoFromScope(r);g&&(u.contexts={trace:g});let f=E6.createCheckInEnvelope(u,l,this.getSdkMetadata(),c,this.getDsn());return mf.DEBUG_BUILD&&Br.logger.info("Sending checkin:",t.monitorSlug,t.status),this._sendEnvelope(f),i}_captureRequestSession(){this._sessionFlusher?this._sessionFlusher.incrementSessionStatusCount():mf.DEBUG_BUILD&&Br.logger.warn("Discarded request mode session because autoSessionTracking option was disabled")}_prepareEvent(t,n,r,i){return this._options.platform&&(t.platform=t.platform||this._options.platform),this._options.runtime&&(t.contexts={...t.contexts,runtime:(t.contexts||{}).runtime||this._options.runtime}),this._options.serverName&&(t.server_name=t.server_name||this._options.serverName),super._prepareEvent(t,n,r,i)}_getTraceInfoFromScope(t){if(!t)return[void 0,void 0];let n=t.getSpan();if(n)return[X6.getRootSpan(n)?eV.getDynamicSamplingContextFromSpan(n):void 0,T6.spanToTraceContext(n)];let{traceId:r,spanId:i,parentSpanId:o,dsc:s}=t.getPropagationContext(),a={trace_id:r,span_id:i,parent_span_id:o};return s?[s,a]:[eV.getDynamicSamplingContextFromClient(r,this,t),a]}};Sb.ServerRuntimeClient=vb});var iV=d(hf=>{"use strict";Object.defineProperty(hf,"__esModule",{value:!0});var nV=W(),k6=we(),K6=dn(),x6=xn();function L6(e,t){t.debug===!0&&(k6.DEBUG_BUILD?nV.logger.enable():nV.consoleSandbox(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")})),K6.getCurrentScope().update(t.initialScope);let r=new e(t);rV(r),U6(r)}function rV(e){let n=x6.getCurrentHub().getStackTop();n.client=e,n.scope.setClient(e)}function U6(e){e.init?e.init():e.setupIntegrations&&e.setupIntegrations()}hf.initAndBind=L6;hf.setCurrentClient=rV});var cV=d(Cf=>{"use strict";Object.defineProperty(Cf,"__esModule",{value:!0});var _t=W(),oV=we(),aV=30;function J6(e,t,n=_t.makePromiseBuffer(e.bufferSize||aV)){let r={},i=s=>n.drain(s);function o(s){let a=[];if(_t.forEachEnvelopeItem(s,(g,f)=>{let I=_t.envelopeItemTypeToDataCategory(f);if(_t.isRateLimited(r,I)){let m=sV(g,f);e.recordDroppedEvent("ratelimit_backoff",I,m)}else a.push(g)}),a.length===0)return _t.resolvedSyncPromise();let c=_t.createEnvelope(s[0],a),u=g=>{_t.forEachEnvelopeItem(c,(f,I)=>{let m=sV(f,I);e.recordDroppedEvent(g,_t.envelopeItemTypeToDataCategory(I),m)})},l=()=>t({body:_t.serializeEnvelope(c,e.textEncoder)}).then(g=>(g.statusCode!==void 0&&(g.statusCode<200||g.statusCode>=300)&&oV.DEBUG_BUILD&&_t.logger.warn(`Sentry responded with status code ${g.statusCode} to sent event.`),r=_t.updateRateLimits(r,g),g),g=>{throw u("network_error"),g});return n.add(l).then(g=>g,g=>{if(g instanceof _t.SentryError)return oV.DEBUG_BUILD&&_t.logger.error("Skipped sending event because buffer is full."),u("queue_overflow"),_t.resolvedSyncPromise();throw g})}return o.__sentry__baseTransport__=!0,{send:o,flush:i}}function sV(e,t){if(!(t!=="event"&&t!=="transaction"))return Array.isArray(e)?e[1]:void 0}Cf.DEFAULT_TRANSPORT_BUFFER_SIZE=aV;Cf.createTransport=J6});var lV=d(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});var Wb=W(),O6=we(),uV=100,Nb=5e3,M6=36e5;function Rb(e,t){O6.DEBUG_BUILD&&Wb.logger.info(`[Offline]: ${e}`,t)}function D6(e){return t=>{let n=e(t),r=t.createStore?t.createStore(t):void 0,i=Nb,o;function s(l,g,f){return Wb.envelopeContainsItemType(l,["replay_event","replay_recording","client_report"])?!1:t.shouldStore?t.shouldStore(l,g,f):!0}function a(l){r&&(o&&clearTimeout(o),o=setTimeout(async()=>{o=void 0;let g=await r.pop();g&&(Rb("Attempting to send previously queued event"),u(g).catch(f=>{Rb("Failed to retry sending",f)}))},l),typeof o!="number"&&o.unref&&o.unref())}function c(){o||(a(i),i=Math.min(i*2,M6))}async function u(l){try{let g=await n.send(l),f=uV;if(g){if(g.headers&&g.headers["retry-after"])f=Wb.parseRetryAfterHeader(g.headers["retry-after"]);else if((g.statusCode||0)>=400)return g}return a(f),i=Nb,g}catch(g){if(r&&await s(l,g,i))return await r.insert(l),c(),Rb("Error sending. Event queued",g),{};throw g}}return t.flushAtStartup&&c(),{send:u,flush:l=>n.flush(l)}}}nc.MIN_DELAY=uV;nc.START_DELAY=Nb;nc.makeOfflineTransport=D6});var dV=d(bf=>{"use strict";Object.defineProperty(bf,"__esModule",{value:!0});var Vb=W(),q6=sf();function _b(e,t){let n;return Vb.forEachEnvelopeItem(e,(r,i)=>(t.includes(i)&&(n=Array.isArray(r)?r[1]:void 0),!!n)),n}function z6(e,t){return n=>{let r=e(n);return{...r,send:async i=>{let o=_b(i,["event","transaction","profile","replay_event"]);return o&&(o.release=t),r.send(i)}}}}function P6(e,t){return Vb.createEnvelope(t?{...e[0],dsn:t}:e[0],e[1])}function j6(e,t){return n=>{let r=e(n),i=new Map;function o(c,u){let l=u?`${c}:${u}`:c,g=i.get(l);if(!g){let f=Vb.dsnFromString(c);if(!f)return;let I=q6.getEnvelopeEndpointWithUrlEncodedAuth(f,n.tunnel);g=u?z6(e,u)({...n,url:I}):e({...n,url:I}),i.set(l,g)}return[c,g]}async function s(c){function u(f){let I=f&&f.length?f:["event"];return _b(c,I)}let l=t({envelope:c,getEvent:u}).map(f=>typeof f=="string"?o(f,void 0):o(f.dsn,f.release)).filter(f=>!!f);return l.length===0&&l.push(["",r]),(await Promise.all(l.map(([f,I])=>I.send(P6(c,f)))))[0]}async function a(c){let u=[await r.flush(c)];for(let[,l]of i)u.push(await l.flush(c));return u.every(l=>l)}return{send:s,flush:a}}}bf.eventFromEnvelope=_b;bf.makeMultiplexedTransport=j6});var fV=d(Eb=>{"use strict";Object.defineProperty(Eb,"__esModule",{value:!0});var gV=W();function Q6(e,t){let n={sent_at:new Date().toISOString()};t&&(n.dsn=gV.dsnToString(t));let r=e.map($6);return gV.createEnvelope(n,r)}function $6(e){return[{type:"span"},e]}Eb.createSpanEnvelope=Q6});var pV=d(Hb=>{"use strict";Object.defineProperty(Hb,"__esModule",{value:!0});function eee(e,t){let n=t&&ree(t)?t.getClient():t,r=n&&n.getDsn(),i=n&&n.getOptions().tunnel;return nee(e,r)||tee(e,i)}function tee(e,t){return t?IV(e)===IV(t):!1}function nee(e,t){return t?e.includes(t.host):!1}function IV(e){return e[e.length-1]==="/"?e.slice(0,-1):e}function ree(e){return e.getClient!==void 0}Hb.isSentryRequestUrl=eee});var mV=d(wb=>{"use strict";Object.defineProperty(wb,"__esModule",{value:!0});function iee(e,...t){let n=new String(String.raw(e,...t));return n.__sentry_template_string__=e.join("\0").replace(/%/g,"%%").replace(/\0/g,"%s"),n.__sentry_template_values__=t,n}wb.parameterize=iee});var CV=d(Yb=>{"use strict";Object.defineProperty(Yb,"__esModule",{value:!0});var hV=Yg();function oee(e,t,n=[t],r="npm"){let i=e._metadata||{};i.sdk||(i.sdk={name:`sentry.javascript.${t}`,packages:n.map(o=>({name:`${r}:@sentry/${o}`,version:hV.SDK_VERSION})),version:hV.SDK_VERSION}),e._metadata=i}Yb.applySdkMetadata=oee});var BV=d(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});var Fb=W(),yV=new Map,bV=new Set;function see(e){if(Fb.GLOBAL_OBJ._sentryModuleMetadata)for(let t of Object.keys(Fb.GLOBAL_OBJ._sentryModuleMetadata)){let n=Fb.GLOBAL_OBJ._sentryModuleMetadata[t];if(bV.has(t))continue;bV.add(t);let r=e(t);for(let i of r.reverse())if(i.filename){yV.set(i.filename,n);break}}}function AV(e,t){return see(e),yV.get(t)}function aee(e,t){try{t.exception.values.forEach(n=>{if(n.stacktrace)for(let r of n.stacktrace.frames||[]){if(!r.filename)continue;let i=AV(e,r.filename);i&&(r.module_metadata=i)}})}catch{}}function cee(e){try{e.exception.values.forEach(t=>{if(t.stacktrace)for(let n of t.stacktrace.frames||[])delete n.module_metadata})}catch{}}rc.addMetadataToStackFrames=aee;rc.getMetadataForUrl=AV;rc.stripMetadataFromStackFrames=cee});var RV=d(yf=>{"use strict";Object.defineProperty(yf,"__esModule",{value:!0});var uee=W(),ZV=yr(),GV=BV(),vV="ModuleMetadata",lee=()=>({name:vV,setupOnce(){},setup(e){typeof e.on=="function"&&e.on("beforeEnvelope",t=>{uee.forEachEnvelopeItem(t,(n,r)=>{if(r==="event"){let i=Array.isArray(n)?n[1]:void 0;i&&(GV.stripMetadataFromStackFrames(i),n[1]=i)}})})},processEvent(e,t,n){let r=n.getOptions().stackParser;return GV.addMetadataToStackFrames(r,e),e}}),SV=ZV.defineIntegration(lee),dee=ZV.convertIntegrationFnToClass(vV,SV);yf.ModuleMetadata=dee;yf.moduleMetadataIntegration=SV});var EV=d(Af=>{"use strict";Object.defineProperty(Af,"__esModule",{value:!0});var WV=W(),NV=yr(),gee=Nt(),Tb={include:{cookies:!0,data:!0,headers:!0,ip:!1,query_string:!0,url:!0,user:{id:!0,username:!0,email:!0}},transactionNamingScheme:"methodPath"},VV="RequestData",fee=(e={})=>{let t=WV.addRequestDataToEvent,n={...Tb,...e,include:{method:!0,...Tb.include,...e.include,user:e.include&&typeof e.include.user=="boolean"?e.include.user:{...Tb.include.user,...(e.include||{}).user}}};return{name:VV,setupOnce(){},processEvent(r,i,o){let{transactionNamingScheme:s}=n,{sdkProcessingMetadata:a={}}=r,c=a.request;if(!c)return r;let u=a.requestDataOptionsFromExpressHandler||a.requestDataOptionsFromGCPWrapper||pee(n),l=t(r,c,u);if(r.type==="transaction"||s==="handler")return l;let f=c._sentryTransaction;if(f){let I=gee.spanToJSON(f).description||"",m=mee(o)==="sentry.javascript.nextjs"?I.startsWith("/api"):s!=="path",[C]=WV.extractPathForTransaction(c,{path:!0,method:m,customRoute:I});l.transaction=C}return l}}},_V=NV.defineIntegration(fee),Iee=NV.convertIntegrationFnToClass(VV,_V);function pee(e){let{transactionNamingScheme:t,include:{ip:n,user:r,...i}}=e,o=[];for(let[a,c]of Object.entries(i))c&&o.push(a);let s;if(r===void 0)s=!0;else if(typeof r=="boolean")s=r;else{let a=[];for(let[c,u]of Object.entries(r))u&&a.push(c);s=a}return{include:{ip:n,user:s,request:o.length!==0?o:void 0,transaction:t}}}function mee(e){try{return e.getOptions()._metadata.sdk.name}catch{return}}Af.RequestData=Iee;Af.requestDataIntegration=_V});var Xb=d(Gf=>{"use strict";Object.defineProperty(Gf,"__esModule",{value:!0});var Oe=W(),Mi=we(),HV=yr(),hee=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,/^ResizeObserver loop completed with undelivered notifications.$/,/^Cannot redefine property: googletag$/],Cee=[/^.*\/healthcheck$/,/^.*\/healthy$/,/^.*\/live$/,/^.*\/ready$/,/^.*\/heartbeat$/,/^.*\/health$/,/^.*\/healthz$/],wV="InboundFilters",bee=(e={})=>({name:wV,setupOnce(){},processEvent(t,n,r){let i=r.getOptions(),o=Aee(e,i);return Bee(t,o)?null:t}}),YV=HV.defineIntegration(bee),yee=HV.convertIntegrationFnToClass(wV,YV);function Aee(e={},t={}){return{allowUrls:[...e.allowUrls||[],...t.allowUrls||[]],denyUrls:[...e.denyUrls||[],...t.denyUrls||[]],ignoreErrors:[...e.ignoreErrors||[],...t.ignoreErrors||[],...e.disableErrorDefaults?[]:hee],ignoreTransactions:[...e.ignoreTransactions||[],...t.ignoreTransactions||[],...e.disableTransactionDefaults?[]:Cee],ignoreInternal:e.ignoreInternal!==void 0?e.ignoreInternal:!0}}function Bee(e,t){return t.ignoreInternal&&Wee(e)?(Mi.DEBUG_BUILD&&Oe.logger.warn(`Event dropped due to being internal Sentry Error.
|
|
21
|
+
Event: ${Oe.getEventDescription(e)}`),!0):Gee(e,t.ignoreErrors)?(Mi.DEBUG_BUILD&&Oe.logger.warn(`Event dropped due to being matched by \`ignoreErrors\` option.
|
|
22
|
+
Event: ${Oe.getEventDescription(e)}`),!0):Zee(e,t.ignoreTransactions)?(Mi.DEBUG_BUILD&&Oe.logger.warn(`Event dropped due to being matched by \`ignoreTransactions\` option.
|
|
23
|
+
Event: ${Oe.getEventDescription(e)}`),!0):vee(e,t.denyUrls)?(Mi.DEBUG_BUILD&&Oe.logger.warn(`Event dropped due to being matched by \`denyUrls\` option.
|
|
24
|
+
Event: ${Oe.getEventDescription(e)}.
|
|
25
|
+
Url: ${Bf(e)}`),!0):See(e,t.allowUrls)?!1:(Mi.DEBUG_BUILD&&Oe.logger.warn(`Event dropped due to not being matched by \`allowUrls\` option.
|
|
26
|
+
Event: ${Oe.getEventDescription(e)}.
|
|
27
|
+
Url: ${Bf(e)}`),!0)}function Gee(e,t){return e.type||!t||!t.length?!1:Ree(e).some(n=>Oe.stringMatchesSomePattern(n,t))}function Zee(e,t){if(e.type!=="transaction"||!t||!t.length)return!1;let n=e.transaction;return n?Oe.stringMatchesSomePattern(n,t):!1}function vee(e,t){if(!t||!t.length)return!1;let n=Bf(e);return n?Oe.stringMatchesSomePattern(n,t):!1}function See(e,t){if(!t||!t.length)return!0;let n=Bf(e);return n?Oe.stringMatchesSomePattern(n,t):!0}function Ree(e){let t=[];e.message&&t.push(e.message);let n;try{n=e.exception.values[e.exception.values.length-1]}catch{}return n&&n.value&&(t.push(n.value),n.type&&t.push(`${n.type}: ${n.value}`)),Mi.DEBUG_BUILD&&t.length===0&&Oe.logger.error(`Could not extract message for event ${Oe.getEventDescription(e)}`),t}function Wee(e){try{return e.exception.values[0].type==="SentryError"}catch{}return!1}function Nee(e=[]){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n&&n.filename!=="<anonymous>"&&n.filename!=="[native code]")return n.filename||null}return null}function Bf(e){try{let t;try{t=e.exception.values[0].stacktrace.frames}catch{}return t?Nee(t):null}catch{return Mi.DEBUG_BUILD&&Oe.logger.error(`Cannot extract url for event ${Oe.getEventDescription(e)}`),null}}Gf.InboundFilters=yee;Gf.inboundFiltersIntegration=YV});var kb=d(Zf=>{"use strict";Object.defineProperty(Zf,"__esModule",{value:!0});var Vee=W(),_ee=dn(),XV=yr(),FV,kV="FunctionToString",TV=new WeakMap,Eee=()=>({name:kV,setupOnce(){FV=Function.prototype.toString;try{Function.prototype.toString=function(...e){let t=Vee.getOriginalFunction(this),n=TV.has(_ee.getClient())&&t!==void 0?t:this;return FV.apply(n,e)}}catch{}},setup(e){TV.set(e,!0)}}),KV=XV.defineIntegration(Eee),Hee=XV.convertIntegrationFnToClass(kV,KV);Zf.FunctionToString=Hee;Zf.functionToStringIntegration=KV});var Kb=d(vf=>{"use strict";Object.defineProperty(vf,"__esModule",{value:!0});var xV=W(),LV=yr(),wee="cause",Yee=5,UV="LinkedErrors",Fee=(e={})=>{let t=e.limit||Yee,n=e.key||wee;return{name:UV,setupOnce(){},preprocessEvent(r,i,o){let s=o.getOptions();xV.applyAggregateErrorsToEvent(xV.exceptionFromError,s.stackParser,s.maxValueLength,n,t,r,i)}}},JV=LV.defineIntegration(Fee),Tee=LV.convertIntegrationFnToClass(UV,JV);vf.LinkedErrors=Tee;vf.linkedErrorsIntegration=JV});var OV=d(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});var Xee=kb(),kee=Xb(),Kee=Kb();ic.FunctionToString=Xee.FunctionToString;ic.InboundFilters=kee.InboundFilters;ic.LinkedErrors=Kee.LinkedErrors});var DV=d(Lb=>{"use strict";Object.defineProperty(Lb,"__esModule",{value:!0});var xee=W(),MV=ec(),Lee=Bb(),Uee=za(),Sf=$a(),xb=class{constructor(t){this._client=t,this._buckets=new Map,this._interval=setInterval(()=>this.flush(),MV.DEFAULT_BROWSER_FLUSH_INTERVAL)}add(t,n,r,i="none",o={},s=xee.timestampInSeconds()){let a=Math.floor(s),c=Sf.sanitizeMetricKey(n),u=Sf.sanitizeTags(o),l=Sf.sanitizeUnit(i),g=Sf.getBucketKey(t,c,l,u),f=this._buckets.get(g),I=f&&t===MV.SET_METRIC_TYPE?f.metric.weight:0;f?(f.metric.add(r),f.timestamp<a&&(f.timestamp=a)):(f={metric:new Lee.METRIC_MAP[t](r),timestamp:a,metricType:t,name:c,unit:l,tags:u},this._buckets.set(g,f));let m=typeof r=="string"?f.metric.weight-I:r;Uee.updateMetricSummaryOnActiveSpan(t,c,m,l,o,g)}flush(){if(this._buckets.size!==0){if(this._client.captureAggregateMetrics){let t=Array.from(this._buckets).map(([,n])=>n);this._client.captureAggregateMetrics(t)}this._buckets.clear()}}close(){clearInterval(this._interval),this.flush()}};Lb.BrowserMetricsAggregator=xb});var jV=d(Rf=>{"use strict";Object.defineProperty(Rf,"__esModule",{value:!0});var qV=yr(),Jee=DV(),zV="MetricsAggregator",Oee=()=>({name:zV,setupOnce(){},setup(e){e.metricsAggregator=new Jee.BrowserMetricsAggregator(e)}}),PV=qV.defineIntegration(Oee),Mee=qV.convertIntegrationFnToClass(zV,PV);Rf.MetricsAggregator=Mee;Rf.metricsAggregatorIntegration=PV});var s_=d(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});var QV=W(),$V=we(),e_=dn(),Dee=Nt(),Wf=ec(),t_=jV();function Nf(e,t,n,r={}){let i=e_.getClient(),o=e_.getCurrentScope();if(i){if(!i.metricsAggregator){$V.DEBUG_BUILD&&QV.logger.warn("No metrics aggregator enabled. Please add the MetricsAggregator integration to use metrics APIs");return}let{unit:s,tags:a,timestamp:c}=r,{release:u,environment:l}=i.getOptions(),g=o.getTransaction(),f={};u&&(f.release=u),l&&(f.environment=l),g&&(f.transaction=Dee.spanToJSON(g).description||""),$V.DEBUG_BUILD&&QV.logger.log(`Adding value of ${n} to ${e} metric ${t}`),i.metricsAggregator.add(e,t,n,s,{...f,...a},c)}}function n_(e,t=1,n){Nf(Wf.COUNTER_METRIC_TYPE,e,t,n)}function r_(e,t,n){Nf(Wf.DISTRIBUTION_METRIC_TYPE,e,t,n)}function i_(e,t,n){Nf(Wf.SET_METRIC_TYPE,e,t,n)}function o_(e,t,n){Nf(Wf.GAUGE_METRIC_TYPE,e,t,n)}var qee={increment:n_,distribution:r_,set:i_,gauge:o_,MetricsAggregator:t_.MetricsAggregator,metricsAggregatorIntegration:t_.metricsAggregatorIntegration};Di.distribution=r_;Di.gauge=o_;Di.increment=n_;Di.metrics=qee;Di.set=i_});var Q=d(S=>{"use strict";Object.defineProperty(S,"__esModule",{value:!0});var a_=ab(),c_=ob(),zee=Dg(),Pee=Pg(),u_=Xg(),Vf=rs(),qi=Jg(),l_=Ki(),jee=LN(),Qee=sb(),oc=Pa(),d_=ub(),be=dn(),Mn=xn(),Ub=Qo(),$ee=gb(),Jb=Vg(),g_=Xa(),f_=sf(),I_=Cb(),ete=tV(),p_=iV(),tte=cV(),nte=lV(),rte=dV(),ite=Yg(),_f=yr(),m_=Ng(),ote=Wg(),ste=Ab(),ate=fV(),cte=Kg(),ute=pV(),lte=jC(),dte=mV(),Ef=Nt(),gte=es(),fte=CV(),Ite=jo(),h_=RV(),C_=EV(),b_=Xb(),y_=kb(),A_=Kb(),pte=OV(),mte=s_(),hte=pte;S.addTracingExtensions=a_.addTracingExtensions;S.startIdleTransaction=a_.startIdleTransaction;S.IdleTransaction=c_.IdleTransaction;S.TRACING_DEFAULTS=c_.TRACING_DEFAULTS;S.Span=zee.Span;S.Transaction=Pee.Transaction;S.extractTraceparentData=u_.extractTraceparentData;S.getActiveTransaction=u_.getActiveTransaction;Object.defineProperty(S,"SpanStatus",{enumerable:!0,get:()=>Vf.SpanStatus});S.getSpanStatusFromHttpCode=Vf.getSpanStatusFromHttpCode;S.setHttpStatus=Vf.setHttpStatus;S.spanStatusfromHttpCode=Vf.spanStatusfromHttpCode;S.continueTrace=qi.continueTrace;S.getActiveSpan=qi.getActiveSpan;S.startActiveSpan=qi.startActiveSpan;S.startInactiveSpan=qi.startInactiveSpan;S.startSpan=qi.startSpan;S.startSpanManual=qi.startSpanManual;S.trace=qi.trace;S.getDynamicSamplingContextFromClient=l_.getDynamicSamplingContextFromClient;S.getDynamicSamplingContextFromSpan=l_.getDynamicSamplingContextFromSpan;S.setMeasurement=jee.setMeasurement;S.isValidSampleRate=Qee.isValidSampleRate;S.SEMANTIC_ATTRIBUTE_PROFILE_ID=oc.SEMANTIC_ATTRIBUTE_PROFILE_ID;S.SEMANTIC_ATTRIBUTE_SENTRY_OP=oc.SEMANTIC_ATTRIBUTE_SENTRY_OP;S.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN=oc.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN;S.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE=oc.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE;S.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE=oc.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE;S.createEventEnvelope=d_.createEventEnvelope;S.createSessionEnvelope=d_.createSessionEnvelope;S.addBreadcrumb=be.addBreadcrumb;S.captureCheckIn=be.captureCheckIn;S.captureEvent=be.captureEvent;S.captureException=be.captureException;S.captureMessage=be.captureMessage;S.captureSession=be.captureSession;S.close=be.close;S.configureScope=be.configureScope;S.endSession=be.endSession;S.flush=be.flush;S.getClient=be.getClient;S.getCurrentScope=be.getCurrentScope;S.isInitialized=be.isInitialized;S.lastEventId=be.lastEventId;S.setContext=be.setContext;S.setExtra=be.setExtra;S.setExtras=be.setExtras;S.setTag=be.setTag;S.setTags=be.setTags;S.setUser=be.setUser;S.startSession=be.startSession;S.startTransaction=be.startTransaction;S.withActiveSpan=be.withActiveSpan;S.withIsolationScope=be.withIsolationScope;S.withMonitor=be.withMonitor;S.withScope=be.withScope;S.Hub=Mn.Hub;S.ensureHubOnCarrier=Mn.ensureHubOnCarrier;S.getCurrentHub=Mn.getCurrentHub;S.getHubFromCarrier=Mn.getHubFromCarrier;S.getIsolationScope=Mn.getIsolationScope;S.getMainCarrier=Mn.getMainCarrier;S.makeMain=Mn.makeMain;S.runWithAsyncContext=Mn.runWithAsyncContext;S.setAsyncContextStrategy=Mn.setAsyncContextStrategy;S.setHubOnCarrier=Mn.setHubOnCarrier;S.closeSession=Ub.closeSession;S.makeSession=Ub.makeSession;S.updateSession=Ub.updateSession;S.SessionFlusher=$ee.SessionFlusher;S.Scope=Jb.Scope;S.getGlobalScope=Jb.getGlobalScope;S.setGlobalScope=Jb.setGlobalScope;S.addGlobalEventProcessor=g_.addGlobalEventProcessor;S.notifyEventProcessors=g_.notifyEventProcessors;S.getEnvelopeEndpointWithUrlEncodedAuth=f_.getEnvelopeEndpointWithUrlEncodedAuth;S.getReportDialogEndpoint=f_.getReportDialogEndpoint;S.BaseClient=I_.BaseClient;S.addEventProcessor=I_.addEventProcessor;S.ServerRuntimeClient=ete.ServerRuntimeClient;S.initAndBind=p_.initAndBind;S.setCurrentClient=p_.setCurrentClient;S.createTransport=tte.createTransport;S.makeOfflineTransport=nte.makeOfflineTransport;S.makeMultiplexedTransport=rte.makeMultiplexedTransport;S.SDK_VERSION=ite.SDK_VERSION;S.addIntegration=_f.addIntegration;S.convertIntegrationFnToClass=_f.convertIntegrationFnToClass;S.defineIntegration=_f.defineIntegration;S.getIntegrationsToSetup=_f.getIntegrationsToSetup;S.applyScopeDataToEvent=m_.applyScopeDataToEvent;S.mergeScopeData=m_.mergeScopeData;S.prepareEvent=ote.prepareEvent;S.createCheckInEnvelope=ste.createCheckInEnvelope;S.createSpanEnvelope=ate.createSpanEnvelope;S.hasTracingEnabled=cte.hasTracingEnabled;S.isSentryRequestUrl=ute.isSentryRequestUrl;S.handleCallbackErrors=lte.handleCallbackErrors;S.parameterize=dte.parameterize;S.spanIsSampled=Ef.spanIsSampled;S.spanToJSON=Ef.spanToJSON;S.spanToTraceContext=Ef.spanToTraceContext;S.spanToTraceHeader=Ef.spanToTraceHeader;S.getRootSpan=gte.getRootSpan;S.applySdkMetadata=fte.applySdkMetadata;S.DEFAULT_ENVIRONMENT=Ite.DEFAULT_ENVIRONMENT;S.ModuleMetadata=h_.ModuleMetadata;S.moduleMetadataIntegration=h_.moduleMetadataIntegration;S.RequestData=C_.RequestData;S.requestDataIntegration=C_.requestDataIntegration;S.InboundFilters=b_.InboundFilters;S.inboundFiltersIntegration=b_.inboundFiltersIntegration;S.FunctionToString=y_.FunctionToString;S.functionToStringIntegration=y_.functionToStringIntegration;S.LinkedErrors=A_.LinkedErrors;S.linkedErrorsIntegration=A_.linkedErrorsIntegration;S.metrics=mte.metrics;S.Integrations=hte});var Et=d(Ob=>{"use strict";Object.defineProperty(Ob,"__esModule",{value:!0});var Cte=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;Ob.DEBUG_BUILD=Cte});var jr=d(Mb=>{"use strict";var{_optionalChain:B_}=W();Object.defineProperty(Mb,"__esModule",{value:!0});function bte(e){let t=B_([e,"call",r=>r(),"access",r=>r.getClient,"call",r=>r(),"optionalAccess",r=>r.getOptions,"call",r=>r()]);return(B_([t,"optionalAccess",r=>r.instrumenter])||"sentry")!=="sentry"}Mb.shouldDisableAutoInstrumentation=bte});var S_=d(sc=>{"use strict";var{_optionalChain:Rn}=W();Object.defineProperty(sc,"__esModule",{value:!0});var Db=Q(),Ht=W(),Hf=Et(),yte=jr(),wf=class e{static __initStatic(){this.id="Express"}constructor(t={}){this.name=e.id,this._router=t.router||t.app,this._methods=(Array.isArray(t.methods)?t.methods:[]).concat("use")}setupOnce(t,n){if(!this._router){Hf.DEBUG_BUILD&&Ht.logger.error("ExpressIntegration is missing an Express instance");return}if(yte.shouldDisableAutoInstrumentation(n)){Hf.DEBUG_BUILD&&Ht.logger.log("Express Integration is skipped because of instrumenter configuration.");return}Gte(this._router,this._methods),Zte(this._router)}};wf.__initStatic();function G_(e,t){let n=e.length;switch(n){case 2:return function(r,i){let o=i.__sentry_transaction;if(o){let s=o.startChild({description:e.name,op:`middleware.express.${t}`,origin:"auto.middleware.express"});i.once("finish",()=>{s.end()})}return e.call(this,r,i)};case 3:return function(r,i,o){let s=i.__sentry_transaction,a=Rn([s,"optionalAccess",c=>c.startChild,"call",c=>c({description:e.name,op:`middleware.express.${t}`,origin:"auto.middleware.express"})]);e.call(this,r,i,function(...c){Rn([a,"optionalAccess",u=>u.end,"call",u=>u()]),o.call(this,...c)})};case 4:return function(r,i,o,s){let a=o.__sentry_transaction,c=Rn([a,"optionalAccess",u=>u.startChild,"call",u=>u({description:e.name,op:`middleware.express.${t}`,origin:"auto.middleware.express"})]);e.call(this,r,i,o,function(...u){Rn([c,"optionalAccess",l=>l.end,"call",l=>l()]),s.call(this,...u)})};default:throw new Error(`Express middleware takes 2-4 arguments. Got: ${n}`)}}function Ate(e,t){return e.map(n=>typeof n=="function"?G_(n,t):Array.isArray(n)?n.map(r=>typeof r=="function"?G_(r,t):r):n)}function Bte(e,t){let n=e[t];return e[t]=function(...r){return n.call(this,...Ate(r,t))},e}function Gte(e,t=[]){t.forEach(n=>Bte(e,n))}function Zte(e){let t="settings"in e;t&&e._router===void 0&&e.lazyrouter&&e.lazyrouter();let n=t?e._router:e;if(!n){Hf.DEBUG_BUILD&&Ht.logger.debug("Cannot instrument router for URL Parameterization (did not find a valid router)."),Hf.DEBUG_BUILD&&Ht.logger.debug("Routing instrumentation is currently only supported in Express 4.");return}let r=Object.getPrototypeOf(n),i=r.process_params;r.process_params=function(s,a,c,u,l){c._reconstructedRoute||(c._reconstructedRoute="");let{layerRoutePath:g,isRegex:f,isArray:I,numExtraSegments:m}=vte(s);(g||f||I)&&(c._hasParameters=!0);let C;g?C=g:C=v_(c.originalUrl,c._reconstructedRoute,s.path)||"";let b=C.split("/").filter(k=>k.length>0&&(f||I||!k.includes("*"))).join("/");b&&b.length>0&&(c._reconstructedRoute+=`/${b}${f?"/":""}`);let v=Ht.getNumberOfUrlSegments(Ht.stripUrlQueryAndFragment(c.originalUrl||""))+m,Y=Ht.getNumberOfUrlSegments(c._reconstructedRoute);if(v===Y){c._hasParameters||c._reconstructedRoute!==c.originalUrl&&(c._reconstructedRoute=c.originalUrl?Ht.stripUrlQueryAndFragment(c.originalUrl):c.originalUrl);let k=u.__sentry_transaction,ee=k&&Db.spanToJSON(k).data||{};if(k&&ee[Db.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]!=="custom"){let re=c._reconstructedRoute||"/",[N,J]=Ht.extractPathForTransaction(c,{path:!0,method:!0,customRoute:re});k.updateName(N),k.setAttribute(Db.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,J)}}return i.call(this,s,a,c,u,l)}}var Z_=(e,t,n)=>{if(!e||!t||!n||Object.keys(n).length===0||Rn([n,"access",u=>u[0],"optionalAccess",u=>u.offset])===void 0||Rn([n,"access",u=>u[0],"optionalAccess",u=>u.offset])===null)return;let r=n.sort((u,l)=>u.offset-l.offset),o=new RegExp(t,`${t.flags}d`).exec(e);if(!o||!o.indices)return;let[,...s]=o.indices;if(s.length!==r.length)return;let a=e,c=0;return s.forEach((u,l)=>{if(u){let[g,f]=u,I=a.substring(0,g-c),m=`:${r[l].name}`,C=a.substring(f-c);a=I+m+C,c=c+(f-g-m.length)}}),a};function vte(e){let t=Rn([e,"access",s=>s.route,"optionalAccess",s=>s.path]),n=Ht.isRegExp(t),r=Array.isArray(t);if(!t){let[s]=Ht.GLOBAL_OBJ.process.versions.node.split(".").map(Number);s>=16&&(t=Z_(e.path,e.regexp,e.keys))}if(!t)return{isRegex:n,isArray:r,numExtraSegments:0};let i=r?Math.max(Ste(t)-Ht.getNumberOfUrlSegments(e.path||""),0):0;return{layerRoutePath:Rte(r,t),isRegex:n,isArray:r,numExtraSegments:i}}function Ste(e){return e.reduce((t,n)=>t+Ht.getNumberOfUrlSegments(n.toString()),0)}function Rte(e,t){return e?t.map(n=>n.toString()).join(","):t&&t.toString()}function v_(e,t,n){let r=Ht.stripUrlQueryAndFragment(e||""),i=Rn([r,"optionalAccess",c=>c.split,"call",c=>c("/"),"access",c=>c.filter,"call",c=>c(u=>!!u)]),o=0,s=Rn([t,"optionalAccess",c=>c.split,"call",c=>c("/"),"access",c=>c.filter,"call",c=>c(u=>!!u),"access",c=>c.length])||0;return Rn([n,"optionalAccess",c=>c.split,"call",c=>c("/"),"access",c=>c.filter,"call",c=>c(u=>Rn([i,"optionalAccess",l=>l[s+o]])===u?(o+=1,!0):!1),"access",c=>c.join,"call",c=>c("/")])}sc.Express=wf;sc.extractOriginalRoute=Z_;sc.preventDuplicateSegments=v_});var R_=d(zb=>{"use strict";var{_optionalChain:ls}=W();Object.defineProperty(zb,"__esModule",{value:!0});var ds=W(),qb=Et(),Wte=jr(),Yf=class e{static __initStatic(){this.id="Postgres"}constructor(t={}){this.name=e.id,this._usePgNative=!!t.usePgNative,this._module=t.module}loadDependency(){return this._module=this._module||ds.loadModule("pg")}setupOnce(t,n){if(Wte.shouldDisableAutoInstrumentation(n)){qb.DEBUG_BUILD&&ds.logger.log("Postgres Integration is skipped because of instrumenter configuration.");return}let r=this.loadDependency();if(!r){qb.DEBUG_BUILD&&ds.logger.error("Postgres Integration was unable to require `pg` package.");return}let i=this._usePgNative?ls([r,"access",o=>o.native,"optionalAccess",o=>o.Client]):r.Client;if(!i){qb.DEBUG_BUILD&&ds.logger.error("Postgres Integration was unable to access 'pg-native' bindings.");return}ds.fill(i.prototype,"query",function(o){return function(s,a,c){let l=n().getScope().getSpan(),g={"db.system":"postgresql"};try{this.database&&(g["db.name"]=this.database),this.host&&(g["server.address"]=this.host),this.port&&(g["server.port"]=this.port),this.user&&(g["db.user"]=this.user)}catch{}let f=ls([l,"optionalAccess",m=>m.startChild,"call",m=>m({description:typeof s=="string"?s:s.text,op:"db",origin:"auto.db.postgres",data:g})]);if(typeof c=="function")return o.call(this,s,a,function(m,C){ls([f,"optionalAccess",b=>b.end,"call",b=>b()]),c(m,C)});if(typeof a=="function")return o.call(this,s,function(m,C){ls([f,"optionalAccess",b=>b.end,"call",b=>b()]),a(m,C)});let I=typeof a<"u"?o.call(this,s,a):o.call(this,s);return ds.isThenable(I)?I.then(m=>(ls([f,"optionalAccess",C=>C.end,"call",C=>C()]),m)):(ls([f,"optionalAccess",m=>m.end,"call",m=>m()]),I)}})}};Yf.__initStatic();zb.Postgres=Yf});var W_=d(jb=>{"use strict";var{_optionalChain:Nte}=W();Object.defineProperty(jb,"__esModule",{value:!0});var ac=W(),Pb=Et(),Vte=jr(),Ff=class e{static __initStatic(){this.id="Mysql"}constructor(){this.name=e.id}loadDependency(){return this._module=this._module||ac.loadModule("mysql/lib/Connection.js")}setupOnce(t,n){if(Vte.shouldDisableAutoInstrumentation(n)){Pb.DEBUG_BUILD&&ac.logger.log("Mysql Integration is skipped because of instrumenter configuration.");return}let r=this.loadDependency();if(!r){Pb.DEBUG_BUILD&&ac.logger.error("Mysql Integration was unable to require `mysql` package.");return}let i;try{r.prototype.connect=new Proxy(r.prototype.connect,{apply(a,c,u){return i||(i=c.config),a.apply(c,u)}})}catch{Pb.DEBUG_BUILD&&ac.logger.error("Mysql Integration was unable to instrument `mysql` config.")}function o(){return i?{"server.address":i.host,"server.port":i.port,"db.user":i.user}:{}}function s(a){if(!a)return;let c=o();Object.keys(c).forEach(u=>{a.setAttribute(u,c[u])}),a.end()}ac.fill(r,"createQuery",function(a){return function(c,u,l){let f=n().getScope().getSpan(),I=Nte([f,"optionalAccess",C=>C.startChild,"call",C=>C({description:typeof c=="string"?c:c.sql,op:"db",origin:"auto.db.mysql",data:{"db.system":"mysql"}})]);if(typeof l=="function")return a.call(this,c,u,function(C,b,v){s(I),l(C,b,v)});if(typeof u=="function")return a.call(this,c,function(C,b,v){s(I),u(C,b,v)});let m=a.call(this,c,u);return m.on("end",()=>{s(I)}),m}})}};Ff.__initStatic();jb.Mysql=Ff});var V_=d(Qb=>{"use strict";var{_optionalChain:Qr}=W();Object.defineProperty(Qb,"__esModule",{value:!0});var cc=W(),N_=Et(),_te=jr(),Ete=["aggregate","bulkWrite","countDocuments","createIndex","createIndexes","deleteMany","deleteOne","distinct","drop","dropIndex","dropIndexes","estimatedDocumentCount","find","findOne","findOneAndDelete","findOneAndReplace","findOneAndUpdate","indexes","indexExists","indexInformation","initializeOrderedBulkOp","insertMany","insertOne","isCapped","mapReduce","options","parallelCollectionScan","rename","replaceOne","stats","updateMany","updateOne"],Hte={bulkWrite:["operations"],countDocuments:["query"],createIndex:["fieldOrSpec"],createIndexes:["indexSpecs"],deleteMany:["filter"],deleteOne:["filter"],distinct:["key","query"],dropIndex:["indexName"],find:["query"],findOne:["query"],findOneAndDelete:["filter"],findOneAndReplace:["filter","replacement"],findOneAndUpdate:["filter","update"],indexExists:["indexes"],insertMany:["docs"],insertOne:["doc"],mapReduce:["map","reduce"],rename:["newName"],replaceOne:["filter","doc"],updateMany:["filter","update"],updateOne:["filter","update"]};function wte(e){return e&&typeof e=="object"&&e.once&&typeof e.once=="function"}var Tf=class e{static __initStatic(){this.id="Mongo"}constructor(t={}){this.name=e.id,this._operations=Array.isArray(t.operations)?t.operations:Ete,this._describeOperations="describeOperations"in t?t.describeOperations:!0,this._useMongoose=!!t.useMongoose}loadDependency(){let t=this._useMongoose?"mongoose":"mongodb";return this._module=this._module||cc.loadModule(t)}setupOnce(t,n){if(_te.shouldDisableAutoInstrumentation(n)){N_.DEBUG_BUILD&&cc.logger.log("Mongo Integration is skipped because of instrumenter configuration.");return}let r=this.loadDependency();if(!r){let i=this._useMongoose?"mongoose":"mongodb";N_.DEBUG_BUILD&&cc.logger.error(`Mongo Integration was unable to require \`${i}\` package.`);return}this._instrumentOperations(r.Collection,this._operations,n)}_instrumentOperations(t,n,r){n.forEach(i=>this._patchOperation(t,i,r))}_patchOperation(t,n,r){if(!(n in t.prototype))return;let i=this._getSpanContextFromOperationArguments.bind(this);cc.fill(t.prototype,n,function(o){return function(...s){let a=s[s.length-1],c=r(),u=c.getScope(),l=c.getClient(),g=u.getSpan(),f=Qr([l,"optionalAccess",m=>m.getOptions,"call",m=>m(),"access",m=>m.sendDefaultPii]);if(typeof a!="function"||n==="mapReduce"&&s.length===2){let m=Qr([g,"optionalAccess",b=>b.startChild,"call",b=>b(i(this,n,s,f))]),C=o.call(this,...s);if(cc.isThenable(C))return C.then(b=>(Qr([m,"optionalAccess",v=>v.end,"call",v=>v()]),b));if(wte(C)){let b=C;try{b.once("close",()=>{Qr([m,"optionalAccess",v=>v.end,"call",v=>v()])})}catch{Qr([m,"optionalAccess",Y=>Y.end,"call",Y=>Y()])}return b}else return Qr([m,"optionalAccess",b=>b.end,"call",b=>b()]),C}let I=Qr([g,"optionalAccess",m=>m.startChild,"call",m=>m(i(this,n,s.slice(0,-1)))]);return o.call(this,...s.slice(0,-1),function(m,C){Qr([I,"optionalAccess",b=>b.end,"call",b=>b()]),a(m,C)})}})}_getSpanContextFromOperationArguments(t,n,r,i=!1){let o={"db.system":"mongodb","db.name":t.dbName,"db.operation":n,"db.mongodb.collection":t.collectionName},s={op:"db",origin:"auto.db.mongo",description:n,data:o},a=Hte[n],c=Array.isArray(this._describeOperations)?this._describeOperations.includes(n):this._describeOperations;if(!a||!c||!i)return s;try{if(n==="mapReduce"){let[u,l]=r;o[a[0]]=typeof u=="string"?u:u.name||"<anonymous>",o[a[1]]=typeof l=="string"?l:l.name||"<anonymous>"}else for(let u=0;u<a.length;u++)o[`db.mongodb.${a[u]}`]=JSON.stringify(r[u])}catch{}return s}};Tf.__initStatic();Qb.Mongo=Tf});var E_=d(ey=>{"use strict";Object.defineProperty(ey,"__esModule",{value:!0});var $b=Q(),__=W(),Yte=Et(),Fte=jr();function Tte(e){return!!e&&!!e.$use}var Xf=class e{static __initStatic(){this.id="Prisma"}constructor(t={}){if(this.name=e.id,Tte(t.client)&&!t.client._sentryInstrumented){__.addNonEnumerableProperty(t.client,"_sentryInstrumented",!0);let n={};try{let r=t.client._engineConfig;if(r){let{activeProvider:i,clientVersion:o}=r;i&&(n["db.system"]=i),o&&(n["db.prisma.version"]=o)}}catch{}t.client.$use((r,i)=>{if(Fte.shouldDisableAutoInstrumentation($b.getCurrentHub))return i(r);let o=r.action,s=r.model;return $b.startSpan({name:s?`${s} ${o}`:o,onlyIfParent:!0,op:"db.prisma",attributes:{[$b.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]:"auto.db.prisma"},data:{...n,"db.operation":o}},()=>i(r))})}else Yte.DEBUG_BUILD&&__.logger.warn("Unsupported Prisma client provided to PrismaIntegration. Provided client:",t.client)}setupOnce(){}};Xf.__initStatic();ey.Prisma=Xf});var w_=d(ty=>{"use strict";var{_optionalChain:gs}=W();Object.defineProperty(ty,"__esModule",{value:!0});var uc=W(),H_=Et(),Xte=jr(),kf=class e{static __initStatic(){this.id="GraphQL"}constructor(){this.name=e.id}loadDependency(){return this._module=this._module||uc.loadModule("graphql/execution/execute.js")}setupOnce(t,n){if(Xte.shouldDisableAutoInstrumentation(n)){H_.DEBUG_BUILD&&uc.logger.log("GraphQL Integration is skipped because of instrumenter configuration.");return}let r=this.loadDependency();if(!r){H_.DEBUG_BUILD&&uc.logger.error("GraphQL Integration was unable to require graphql/execution package.");return}uc.fill(r,"execute",function(i){return function(...o){let s=n().getScope(),a=s.getSpan(),c=gs([a,"optionalAccess",l=>l.startChild,"call",l=>l({description:"execute",op:"graphql.execute",origin:"auto.graphql.graphql"})]);gs([s,"optionalAccess",l=>l.setSpan,"call",l=>l(c)]);let u=i.call(this,...o);return uc.isThenable(u)?u.then(l=>(gs([c,"optionalAccess",g=>g.end,"call",g=>g()]),gs([s,"optionalAccess",g=>g.setSpan,"call",g=>g(a)]),l)):(gs([c,"optionalAccess",l=>l.end,"call",l=>l()]),gs([s,"optionalAccess",l=>l.setSpan,"call",l=>l(a)]),u)}})}};kf.__initStatic();ty.GraphQL=kf});var F_=d(ry=>{"use strict";var{_optionalChain:ny}=W();Object.defineProperty(ry,"__esModule",{value:!0});var st=W(),Kf=Et(),kte=jr(),xf=class e{static __initStatic(){this.id="Apollo"}constructor(t={useNestjs:!1}){this.name=e.id,this._useNest=!!t.useNestjs}loadDependency(){return this._useNest?this._module=this._module||st.loadModule("@nestjs/graphql"):this._module=this._module||st.loadModule("apollo-server-core"),this._module}setupOnce(t,n){if(kte.shouldDisableAutoInstrumentation(n)){Kf.DEBUG_BUILD&&st.logger.log("Apollo Integration is skipped because of instrumenter configuration.");return}if(this._useNest){let r=this.loadDependency();if(!r){Kf.DEBUG_BUILD&&st.logger.error("Apollo-NestJS Integration was unable to require @nestjs/graphql package.");return}st.fill(r.GraphQLFactory.prototype,"mergeWithSchema",function(i){return function(...o){return st.fill(this.resolversExplorerService,"explore",function(s){return function(){let a=st.arrayify(s.call(this));return Y_(a,n)}}),i.call(this,...o)}})}else{let r=this.loadDependency();if(!r){Kf.DEBUG_BUILD&&st.logger.error("Apollo Integration was unable to require apollo-server-core package.");return}st.fill(r.ApolloServerBase.prototype,"constructSchema",function(i){return function(){if(!this.config.resolvers)return Kf.DEBUG_BUILD&&(this.config.schema?(st.logger.warn("Apollo integration is not able to trace `ApolloServer` instances constructed via `schema` property.If you are using NestJS with Apollo, please use `Sentry.Integrations.Apollo({ useNestjs: true })` instead."),st.logger.warn()):this.config.modules&&st.logger.warn("Apollo integration is not able to trace `ApolloServer` instances constructed via `modules` property."),st.logger.error("Skipping tracing as no resolvers found on the `ApolloServer` instance.")),i.call(this);let o=st.arrayify(this.config.resolvers);return this.config.resolvers=Y_(o,n),i.call(this)}})}}};xf.__initStatic();function Y_(e,t){return e.map(n=>(Object.keys(n).forEach(r=>{Object.keys(n[r]).forEach(i=>{typeof n[r][i]=="function"&&Kte(n,r,i,t)})}),n))}function Kte(e,t,n,r){st.fill(e[t],n,function(i){return function(...o){let a=r().getScope().getSpan(),c=ny([a,"optionalAccess",l=>l.startChild,"call",l=>l({description:`${t}.${n}`,op:"graphql.resolve",origin:"auto.graphql.apollo"})]),u=i.call(this,...o);return st.isThenable(u)?u.then(l=>(ny([c,"optionalAccess",g=>g.end,"call",g=>g()]),l)):(ny([c,"optionalAccess",l=>l.end,"call",l=>l()]),u)}})}ry.Apollo=xf});var T_=d((iy,$r)=>{"use strict";Object.defineProperty(iy,"__esModule",{value:!0});var zi=W(),xte=[()=>{let e=zi.dynamicRequire($r,"./apollo");return new e.Apollo},()=>{let e=zi.dynamicRequire($r,"./apollo");return new e.Apollo({useNestjs:!0})},()=>{let e=zi.dynamicRequire($r,"./graphql");return new e.GraphQL},()=>{let e=zi.dynamicRequire($r,"./mongo");return new e.Mongo},()=>{let e=zi.dynamicRequire($r,"./mongo");return new e.Mongo({mongoose:!0})},()=>{let e=zi.dynamicRequire($r,"./mysql");return new e.Mysql},()=>{let e=zi.dynamicRequire($r,"./postgres");return new e.Postgres}];iy.lazyLoadedNodePerformanceMonitoringIntegrations=xte});var zt=d(oy=>{"use strict";Object.defineProperty(oy,"__esModule",{value:!0});var Lte=W(),Ute=Lte.GLOBAL_OBJ;oy.WINDOW=Ute});var cy=d(ay=>{"use strict";Object.defineProperty(ay,"__esModule",{value:!0});var X_=Q(),k_=W(),K_=Et(),sy=zt();function Jte(){sy.WINDOW.document?sy.WINDOW.document.addEventListener("visibilitychange",()=>{let e=X_.getActiveTransaction();if(sy.WINDOW.document.hidden&&e){let t="cancelled",{op:n,status:r}=X_.spanToJSON(e);K_.DEBUG_BUILD&&k_.logger.log(`[Tracing] Transaction: ${t} -> since tab moved to the background, op: ${n}`),r||e.setStatus(t),e.setTag("visibilitychange","document.hidden"),e.end()}}):K_.DEBUG_BUILD&&k_.logger.warn("[Tracing] Could not set up background tab detection due to lack of global document")}ay.registerBackgroundTabDetection=Jte});var fs=d(uy=>{"use strict";Object.defineProperty(uy,"__esModule",{value:!0});var Ote=(e,t,n)=>{let r,i;return o=>{t.value>=0&&(o||n)&&(i=t.value-(r||0),(i||r===void 0)&&(r=t.value,t.delta=i,e(t)))}};uy.bindReporter=Ote});var x_=d(ly=>{"use strict";Object.defineProperty(ly,"__esModule",{value:!0});var Mte=()=>`v3-${Date.now()}-${Math.floor(Math.random()*(9e12-1))+1e12}`;ly.generateUniqueID=Mte});var dc=d(dy=>{"use strict";Object.defineProperty(dy,"__esModule",{value:!0});var lc=zt(),Dte=()=>{let e=lc.WINDOW.performance.timing,t=lc.WINDOW.performance.navigation.type,n={entryType:"navigation",startTime:0,type:t==2?"back_forward":t===1?"reload":"navigate"};for(let r in e)r!=="navigationStart"&&r!=="toJSON"&&(n[r]=Math.max(e[r]-e.navigationStart,0));return n},qte=()=>lc.WINDOW.__WEB_VITALS_POLYFILL__?lc.WINDOW.performance&&(performance.getEntriesByType&&performance.getEntriesByType("navigation")[0]||Dte()):lc.WINDOW.performance&&performance.getEntriesByType&&performance.getEntriesByType("navigation")[0];dy.getNavigationEntry=qte});var Lf=d(gy=>{"use strict";Object.defineProperty(gy,"__esModule",{value:!0});var zte=dc(),Pte=()=>{let e=zte.getNavigationEntry();return e&&e.activationStart||0};gy.getActivationStart=Pte});var Is=d(fy=>{"use strict";Object.defineProperty(fy,"__esModule",{value:!0});var L_=zt(),jte=x_(),Qte=Lf(),$te=dc(),ene=(e,t)=>{let n=$te.getNavigationEntry(),r="navigate";return n&&(L_.WINDOW.document&&L_.WINDOW.document.prerendering||Qte.getActivationStart()>0?r="prerender":r=n.type.replace(/_/g,"-")),{name:e,value:typeof t>"u"?-1:t,rating:"good",delta:0,entries:[],id:jte.generateUniqueID(),navigationType:r}};fy.initMetric=ene});var Pi=d(Iy=>{"use strict";Object.defineProperty(Iy,"__esModule",{value:!0});var tne=(e,t,n)=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){let r=new PerformanceObserver(i=>{t(i.getEntries())});return r.observe(Object.assign({type:e,buffered:!0},n||{})),r}}catch{}};Iy.observe=tne});var ps=d(py=>{"use strict";Object.defineProperty(py,"__esModule",{value:!0});var U_=zt(),nne=(e,t)=>{let n=r=>{(r.type==="pagehide"||U_.WINDOW.document.visibilityState==="hidden")&&(e(r),t&&(removeEventListener("visibilitychange",n,!0),removeEventListener("pagehide",n,!0)))};U_.WINDOW.document&&(addEventListener("visibilitychange",n,!0),addEventListener("pagehide",n,!0))};py.onHidden=nne});var J_=d(my=>{"use strict";Object.defineProperty(my,"__esModule",{value:!0});var rne=fs(),ine=Is(),one=Pi(),sne=ps(),ane=(e,t={})=>{let n=ine.initMetric("CLS",0),r,i=0,o=[],s=c=>{c.forEach(u=>{if(!u.hadRecentInput){let l=o[0],g=o[o.length-1];i&&o.length!==0&&u.startTime-g.startTime<1e3&&u.startTime-l.startTime<5e3?(i+=u.value,o.push(u)):(i=u.value,o=[u]),i>n.value&&(n.value=i,n.entries=o,r&&r())}})},a=one.observe("layout-shift",s);if(a){r=rne.bindReporter(e,n,t.reportAllChanges);let c=()=>{s(a.takeRecords()),r(!0)};return sne.onHidden(c),c}};my.onCLS=ane});var Of=d(hy=>{"use strict";Object.defineProperty(hy,"__esModule",{value:!0});var Uf=zt(),cne=ps(),Jf=-1,une=()=>{Uf.WINDOW.document&&Uf.WINDOW.document.visibilityState&&(Jf=Uf.WINDOW.document.visibilityState==="hidden"&&!Uf.WINDOW.document.prerendering?0:1/0)},lne=()=>{cne.onHidden(({timeStamp:e})=>{Jf=e},!0)},dne=()=>(Jf<0&&(une(),lne()),{get firstHiddenTime(){return Jf}});hy.getVisibilityWatcher=dne});var O_=d(Cy=>{"use strict";Object.defineProperty(Cy,"__esModule",{value:!0});var gne=fs(),fne=Of(),Ine=Is(),pne=Pi(),mne=ps(),hne=e=>{let t=fne.getVisibilityWatcher(),n=Ine.initMetric("FID"),r,i=a=>{a.startTime<t.firstHiddenTime&&(n.value=a.processingStart-a.startTime,n.entries.push(a),r(!0))},o=a=>{a.forEach(i)},s=pne.observe("first-input",o);r=gne.bindReporter(e,n),s&&mne.onHidden(()=>{o(s.takeRecords()),s.disconnect()},!0)};Cy.onFID=hne});var D_=d(Df=>{"use strict";Object.defineProperty(Df,"__esModule",{value:!0});var Cne=Pi(),M_=0,by=1/0,Mf=0,bne=e=>{e.forEach(t=>{t.interactionId&&(by=Math.min(by,t.interactionId),Mf=Math.max(Mf,t.interactionId),M_=Mf?(Mf-by)/7+1:0)})},yy,yne=()=>yy?M_:performance.interactionCount||0,Ane=()=>{"interactionCount"in performance||yy||(yy=Cne.observe("event",bne,{type:"event",buffered:!0,durationThreshold:0}))};Df.getInteractionCount=yne;Df.initInteractionCountPolyfill=Ane});var Q_=d(By=>{"use strict";Object.defineProperty(By,"__esModule",{value:!0});var Bne=fs(),Gne=Is(),Zne=Pi(),vne=ps(),P_=D_(),j_=()=>P_.getInteractionCount(),q_=10,Gr=[],Ay={},z_=e=>{let t=Gr[Gr.length-1],n=Ay[e.interactionId];if(n||Gr.length<q_||e.duration>t.latency){if(n)n.entries.push(e),n.latency=Math.max(n.latency,e.duration);else{let r={id:e.interactionId,latency:e.duration,entries:[e]};Ay[r.id]=r,Gr.push(r)}Gr.sort((r,i)=>i.latency-r.latency),Gr.splice(q_).forEach(r=>{delete Ay[r.id]})}},Sne=()=>{let e=Math.min(Gr.length-1,Math.floor(j_()/50));return Gr[e]},Rne=(e,t)=>{t=t||{},P_.initInteractionCountPolyfill();let n=Gne.initMetric("INP"),r,i=s=>{s.forEach(c=>{c.interactionId&&z_(c),c.entryType==="first-input"&&!Gr.some(l=>l.entries.some(g=>c.duration===g.duration&&c.startTime===g.startTime))&&z_(c)});let a=Sne();a&&a.latency!==n.value&&(n.value=a.latency,n.entries=a.entries,r())},o=Zne.observe("event",i,{durationThreshold:t.durationThreshold||40});r=Bne.bindReporter(e,n,t.reportAllChanges),o&&(o.observe({type:"first-input",buffered:!0}),vne.onHidden(()=>{i(o.takeRecords()),n.value<0&&j_()>0&&(n.value=0,n.entries=[]),r(!0)}))};By.onINP=Rne});var eE=d(Gy=>{"use strict";Object.defineProperty(Gy,"__esModule",{value:!0});var Wne=zt(),Nne=fs(),Vne=Lf(),_ne=Of(),Ene=Is(),Hne=Pi(),wne=ps(),$_={},Yne=e=>{let t=_ne.getVisibilityWatcher(),n=Ene.initMetric("LCP"),r,i=s=>{let a=s[s.length-1];if(a){let c=Math.max(a.startTime-Vne.getActivationStart(),0);c<t.firstHiddenTime&&(n.value=c,n.entries=[a],r())}},o=Hne.observe("largest-contentful-paint",i);if(o){r=Nne.bindReporter(e,n);let s=()=>{$_[n.id]||(i(o.takeRecords()),o.disconnect(),$_[n.id]=!0,r(!0))};return["keydown","click"].forEach(a=>{Wne.WINDOW.document&&addEventListener(a,s,{once:!0,capture:!0})}),wne.onHidden(s,!0),s}};Gy.onLCP=Yne});var tE=d(Sy=>{"use strict";Object.defineProperty(Sy,"__esModule",{value:!0});var Zy=zt(),Fne=fs(),Tne=Lf(),Xne=dc(),kne=Is(),vy=e=>{Zy.WINDOW.document&&(Zy.WINDOW.document.prerendering?addEventListener("prerenderingchange",()=>vy(e),!0):Zy.WINDOW.document.readyState!=="complete"?addEventListener("load",()=>vy(e),!0):setTimeout(e,0))},Kne=(e,t)=>{t=t||{};let n=kne.initMetric("TTFB"),r=Fne.bindReporter(e,n,t.reportAllChanges);vy(()=>{let i=Xne.getNavigationEntry();if(i){if(n.value=Math.max(i.responseStart-Tne.getActivationStart(),0),n.value<0||n.value>performance.now())return;n.entries=[i],r(!0)}})};Sy.onTTFB=Kne});var hs=d(ei=>{"use strict";Object.defineProperty(ei,"__esModule",{value:!0});var nE=W(),xne=Et(),Lne=J_(),Une=O_(),Jne=Q_(),One=eE(),Mne=Pi(),Dne=tE(),gc={},qf={},rE,iE,oE,sE,aE;function qne(e,t=!1){return fc("cls",e,ere,rE,t)}function zne(e,t=!1){return fc("lcp",e,nre,oE,t)}function Pne(e){return fc("ttfb",e,rre,sE)}function jne(e){return fc("fid",e,tre,iE)}function Qne(e){return fc("inp",e,ire,aE)}function $ne(e,t){return cE(e,t),qf[e]||(ore(e),qf[e]=!0),uE(e,t)}function ms(e,t){let n=gc[e];if(!(!n||!n.length))for(let r of n)try{r(t)}catch(i){xne.DEBUG_BUILD&&nE.logger.error(`Error while triggering instrumentation handler.
|
|
28
|
+
Type: ${e}
|
|
29
|
+
Name: ${nE.getFunctionName(r)}
|
|
30
|
+
Error:`,i)}}function ere(){return Lne.onCLS(e=>{ms("cls",{metric:e}),rE=e},{reportAllChanges:!0})}function tre(){return Une.onFID(e=>{ms("fid",{metric:e}),iE=e})}function nre(){return One.onLCP(e=>{ms("lcp",{metric:e}),oE=e})}function rre(){return Dne.onTTFB(e=>{ms("ttfb",{metric:e}),sE=e})}function ire(){return Jne.onINP(e=>{ms("inp",{metric:e}),aE=e})}function fc(e,t,n,r,i=!1){cE(e,t);let o;return qf[e]||(o=n(),qf[e]=!0),r&&t({metric:r}),uE(e,t,i?o:void 0)}function ore(e){let t={};e==="event"&&(t.durationThreshold=0),Mne.observe(e,n=>{ms(e,{entries:n})},t)}function cE(e,t){gc[e]=gc[e]||[],gc[e].push(t)}function uE(e,t,n){return()=>{n&&n();let r=gc[e];if(!r)return;let i=r.indexOf(t);i!==-1&&r.splice(i,1)}}ei.addClsInstrumentationHandler=qne;ei.addFidInstrumentationHandler=jne;ei.addInpInstrumentationHandler=Qne;ei.addLcpInstrumentationHandler=zne;ei.addPerformanceInstrumentationHandler=$ne;ei.addTtfbInstrumentationHandler=Pne});var lE=d(zf=>{"use strict";Object.defineProperty(zf,"__esModule",{value:!0});function sre(e){return typeof e=="number"&&isFinite(e)}function are(e,{startTimestamp:t,...n}){return t&&e.startTimestamp>t&&(e.startTimestamp=t),e.startChild({startTimestamp:t,...n})}zf._startChild=are;zf.isMeasurementValue=sre});var Ny=d(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});var Zr=Q(),he=W(),Pt=Et(),ji=hs(),vr=zt(),cre=Of(),Sr=lE(),ure=dc(),lre=2147483647;function Ke(e){return e/1e3}function Wy(){return vr.WINDOW&&vr.WINDOW.addEventListener&&vr.WINDOW.performance}var dE=0,Ze={},Dn,Ic;function dre(){let e=Wy();if(e&&he.browserPerformanceTimeOrigin){e.mark&&vr.WINDOW.performance.mark("sentry-tracing-init");let t=hre(),n=pre(),r=mre(),i=Cre();return()=>{t(),n(),r(),i()}}return()=>{}}function gre(){ji.addPerformanceInstrumentationHandler("longtask",({entries:e})=>{for(let t of e){let n=Zr.getActiveTransaction();if(!n)return;let r=Ke(he.browserPerformanceTimeOrigin+t.startTime),i=Ke(t.duration);n.startChild({description:"Main UI thread blocked",op:"ui.long-task",origin:"auto.ui.browser.metrics",startTimestamp:r,endTimestamp:r+i})}})}function fre(){ji.addPerformanceInstrumentationHandler("event",({entries:e})=>{for(let t of e){let n=Zr.getActiveTransaction();if(!n)return;if(t.name==="click"){let r=Ke(he.browserPerformanceTimeOrigin+t.startTime),i=Ke(t.duration),o={description:he.htmlTreeAsString(t.target),op:`ui.interaction.${t.name}`,origin:"auto.ui.browser.metrics",startTimestamp:r,endTimestamp:r+i},s=he.getComponentName(t.target);s&&(o.attributes={"ui.component_name":s}),n.startChild(o)}}})}function Ire(e,t){if(Wy()&&he.browserPerformanceTimeOrigin){let r=bre(e,t);return()=>{r()}}return()=>{}}function pre(){return ji.addClsInstrumentationHandler(({metric:e})=>{let t=e.entries[e.entries.length-1];t&&(Pt.DEBUG_BUILD&&he.logger.log("[Measurements] Adding CLS"),Ze.cls={value:e.value,unit:""},Ic=t)},!0)}function mre(){return ji.addLcpInstrumentationHandler(({metric:e})=>{let t=e.entries[e.entries.length-1];t&&(Pt.DEBUG_BUILD&&he.logger.log("[Measurements] Adding LCP"),Ze.lcp={value:e.value,unit:"millisecond"},Dn=t)},!0)}function hre(){return ji.addFidInstrumentationHandler(({metric:e})=>{let t=e.entries[e.entries.length-1];if(!t)return;let n=Ke(he.browserPerformanceTimeOrigin),r=Ke(t.startTime);Pt.DEBUG_BUILD&&he.logger.log("[Measurements] Adding FID"),Ze.fid={value:e.value,unit:"millisecond"},Ze["mark.fid"]={value:n+r,unit:"second"}})}function Cre(){return ji.addTtfbInstrumentationHandler(({metric:e})=>{e.entries[e.entries.length-1]&&(Pt.DEBUG_BUILD&&he.logger.log("[Measurements] Adding TTFB"),Ze.ttfb={value:e.value,unit:"millisecond"})})}var gE={click:"click",pointerdown:"click",pointerup:"click",mousedown:"click",mouseup:"click",touchstart:"click",touchend:"click",mouseover:"hover",mouseout:"hover",mouseenter:"hover",mouseleave:"hover",pointerover:"hover",pointerout:"hover",pointerenter:"hover",pointerleave:"hover",dragstart:"drag",dragend:"drag",drag:"drag",dragenter:"drag",dragleave:"drag",dragover:"drag",drop:"drag",keydown:"press",keyup:"press",keypress:"press",input:"press"};function bre(e,t){return ji.addInpInstrumentationHandler(({metric:n})=>{if(n.value===void 0)return;let r=n.entries.find(k=>k.duration===n.value&&gE[k.name]!==void 0),i=Zr.getClient();if(!r||!i)return;let o=gE[r.name],s=i.getOptions(),a=Ke(he.browserPerformanceTimeOrigin+r.startTime),c=Ke(n.value),u=r.interactionId!==void 0?e[r.interactionId]:void 0;if(u===void 0)return;let{routeName:l,parentContext:g,activeTransaction:f,user:I,replayId:m}=u,C=I!==void 0?I.email||I.id||I.ip_address:void 0,b=f!==void 0?f.getProfileId():void 0,v=new Zr.Span({startTimestamp:a,endTimestamp:a+c,op:`ui.interaction.${o}`,name:he.htmlTreeAsString(r.target),attributes:{release:s.release,environment:s.environment,transaction:l,...C!==void 0&&C!==""?{user:C}:{},...b!==void 0?{profile_id:b}:{},...m!==void 0?{replay_id:m}:{}},exclusiveTime:n.value,measurements:{inp:{value:n.value,unit:"millisecond"}}}),Y=Sre(g,s,t);if(Y&&Math.random()<Y){let k=v?Zr.createSpanEnvelope([v],i.getDsn()):void 0,ee=i&&i.getTransport();ee&&k&&ee.send(k).then(null,re=>{Pt.DEBUG_BUILD&&he.logger.error("Error while sending interaction:",re)});return}})}function yre(e){let t=Wy();if(!t||!vr.WINDOW.performance.getEntries||!he.browserPerformanceTimeOrigin)return;Pt.DEBUG_BUILD&&he.logger.log("[Tracing] Adding & adjusting spans using Performance API");let n=Ke(he.browserPerformanceTimeOrigin),r=t.getEntries(),{op:i,start_timestamp:o}=Zr.spanToJSON(e);if(r.slice(dE).forEach(s=>{let a=Ke(s.startTime),c=Ke(s.duration);if(!(e.op==="navigation"&&o&&n+a<o))switch(s.entryType){case"navigation":{Are(e,s,n);break}case"mark":case"paint":case"measure":{fE(e,s,a,c,n);let u=cre.getVisibilityWatcher(),l=s.startTime<u.firstHiddenTime;s.name==="first-paint"&&l&&(Pt.DEBUG_BUILD&&he.logger.log("[Measurements] Adding FP"),Ze.fp={value:s.startTime,unit:"millisecond"}),s.name==="first-contentful-paint"&&l&&(Pt.DEBUG_BUILD&&he.logger.log("[Measurements] Adding FCP"),Ze.fcp={value:s.startTime,unit:"millisecond"});break}case"resource":{IE(e,s,s.name,a,c,n);break}}}),dE=Math.max(r.length-1,0),Gre(e),i==="pageload"){vre(Ze),["fcp","fp","lcp"].forEach(a=>{if(!Ze[a]||!o||n>=o)return;let c=Ze[a].value,u=n+Ke(c),l=Math.abs((u-o)*1e3),g=l-c;Pt.DEBUG_BUILD&&he.logger.log(`[Measurements] Normalized ${a} from ${c} to ${l} (${g})`),Ze[a].value=l});let s=Ze["mark.fid"];s&&Ze.fid&&(Sr._startChild(e,{description:"first input delay",endTimestamp:s.value+Ke(Ze.fid.value),op:"ui.action",origin:"auto.ui.browser.metrics",startTimestamp:s.value}),delete Ze["mark.fid"]),"fcp"in Ze||delete Ze.cls,Object.keys(Ze).forEach(a=>{Zr.setMeasurement(a,Ze[a].value,Ze[a].unit)}),Zre(e)}Dn=void 0,Ic=void 0,Ze={}}function fE(e,t,n,r,i){let o=i+n,s=o+r;return Sr._startChild(e,{description:t.name,endTimestamp:s,op:t.entryType,origin:"auto.resource.browser.metrics",startTimestamp:o}),o}function Are(e,t,n){["unloadEvent","redirect","domContentLoadedEvent","loadEvent","connect"].forEach(r=>{Pf(e,t,r,n)}),Pf(e,t,"secureConnection",n,"TLS/SSL","connectEnd"),Pf(e,t,"fetch",n,"cache","domainLookupStart"),Pf(e,t,"domainLookup",n,"DNS"),Bre(e,t,n)}function Pf(e,t,n,r,i,o){let s=o?t[o]:t[`${n}End`],a=t[`${n}Start`];!a||!s||Sr._startChild(e,{op:"browser",origin:"auto.browser.browser.metrics",description:i||n,startTimestamp:r+Ke(a),endTimestamp:r+Ke(s)})}function Bre(e,t,n){t.responseEnd&&(Sr._startChild(e,{op:"browser",origin:"auto.browser.browser.metrics",description:"request",startTimestamp:n+Ke(t.requestStart),endTimestamp:n+Ke(t.responseEnd)}),Sr._startChild(e,{op:"browser",origin:"auto.browser.browser.metrics",description:"response",startTimestamp:n+Ke(t.responseStart),endTimestamp:n+Ke(t.responseEnd)}))}function IE(e,t,n,r,i,o){if(t.initiatorType==="xmlhttprequest"||t.initiatorType==="fetch")return;let s=he.parseUrl(n),a={};Ry(a,t,"transferSize","http.response_transfer_size"),Ry(a,t,"encodedBodySize","http.response_content_length"),Ry(a,t,"decodedBodySize","http.decoded_response_content_length"),"renderBlockingStatus"in t&&(a["resource.render_blocking_status"]=t.renderBlockingStatus),s.protocol&&(a["url.scheme"]=s.protocol.split(":").pop()),s.host&&(a["server.address"]=s.host),a["url.same_origin"]=n.includes(vr.WINDOW.location.origin);let c=o+r,u=c+i;Sr._startChild(e,{description:n.replace(vr.WINDOW.location.origin,""),endTimestamp:u,op:t.initiatorType?`resource.${t.initiatorType}`:"resource.other",origin:"auto.resource.browser.metrics",startTimestamp:c,data:a})}function Gre(e){let t=vr.WINDOW.navigator;if(!t)return;let n=t.connection;n&&(n.effectiveType&&e.setTag("effectiveConnectionType",n.effectiveType),n.type&&e.setTag("connectionType",n.type),Sr.isMeasurementValue(n.rtt)&&(Ze["connection.rtt"]={value:n.rtt,unit:"millisecond"})),Sr.isMeasurementValue(t.deviceMemory)&&e.setTag("deviceMemory",`${t.deviceMemory} GB`),Sr.isMeasurementValue(t.hardwareConcurrency)&&e.setTag("hardwareConcurrency",String(t.hardwareConcurrency))}function Zre(e){Dn&&(Pt.DEBUG_BUILD&&he.logger.log("[Measurements] Adding LCP Data"),Dn.element&&e.setTag("lcp.element",he.htmlTreeAsString(Dn.element)),Dn.id&&e.setTag("lcp.id",Dn.id),Dn.url&&e.setTag("lcp.url",Dn.url.trim().slice(0,200)),e.setTag("lcp.size",Dn.size)),Ic&&Ic.sources&&(Pt.DEBUG_BUILD&&he.logger.log("[Measurements] Adding CLS Data"),Ic.sources.forEach((t,n)=>e.setTag(`cls.source.${n+1}`,he.htmlTreeAsString(t.node))))}function Ry(e,t,n,r){let i=t[n];i!=null&&i<lre&&(e[r]=i)}function vre(e){let t=ure.getNavigationEntry();if(!t)return;let{responseStart:n,requestStart:r}=t;r<=n&&(Pt.DEBUG_BUILD&&he.logger.log("[Measurements] Adding TTFB Request Time"),e["ttfb.requestTime"]={value:n-r,unit:"millisecond"})}function Sre(e,t,n){if(!Zr.hasTracingEnabled(t))return!1;let r;return e!==void 0&&typeof t.tracesSampler=="function"?r=t.tracesSampler({transactionContext:e,name:e.name,parentSampled:e.parentSampled,attributes:{...e.data,...e.attributes},location:vr.WINDOW.location}):e!==void 0&&e.sampled!==void 0?r=e.sampled:typeof t.tracesSampleRate<"u"?r=t.tracesSampleRate:r=1,Zr.isValidSampleRate(r)?r===!0?n:r===!1?0:r*n:(Pt.DEBUG_BUILD&&he.logger.warn("[Tracing] Discarding interaction span because of invalid sample rate."),!1)}Rr._addMeasureSpans=fE;Rr._addResourceSpans=IE;Rr.addPerformanceEntries=yre;Rr.startTrackingINP=Ire;Rr.startTrackingInteractions=fre;Rr.startTrackingLongTasks=gre;Rr.startTrackingWebVitals=dre});var Vy=d(jf=>{"use strict";Object.defineProperty(jf,"__esModule",{value:!0});var qn=Q(),Qi=W();function Rre(e,t,n,r,i="auto.http.browser"){if(!qn.hasTracingEnabled()||!e.fetchData)return;let o=t(e.fetchData.url);if(e.endTimestamp&&o){let I=e.fetchData.__span;if(!I)return;let m=r[I];m&&(Nre(m,e),delete r[I]);return}let s=qn.getCurrentScope(),a=qn.getClient(),{method:c,url:u}=e.fetchData,l=Wre(u),g=l?Qi.parseUrl(l).host:void 0,f=o?qn.startInactiveSpan({name:`${c} ${u}`,onlyIfParent:!0,attributes:{url:u,type:"fetch","http.method":c,"http.url":l,"server.address":g,[qn.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]:i},op:"http.client"}):void 0;if(f&&(e.fetchData.__span=f.spanContext().spanId,r[f.spanContext().spanId]=f),n(e.fetchData.url)&&a){let I=e.args[0];e.args[1]=e.args[1]||{};let m=e.args[1];m.headers=pE(I,a,s,m,f)}return f}function pE(e,t,n,r,i){let o=i||n.getSpan(),s=qn.getIsolationScope(),{traceId:a,spanId:c,sampled:u,dsc:l}={...s.getPropagationContext(),...n.getPropagationContext()},g=o?qn.spanToTraceHeader(o):Qi.generateSentryTraceHeader(a,c,u),f=Qi.dynamicSamplingContextToSentryBaggageHeader(l||(o?qn.getDynamicSamplingContextFromSpan(o):qn.getDynamicSamplingContextFromClient(a,t,n))),I=r.headers||(typeof Request<"u"&&Qi.isInstanceOf(e,Request)?e.headers:void 0);if(I)if(typeof Headers<"u"&&Qi.isInstanceOf(I,Headers)){let m=new Headers(I);return m.append("sentry-trace",g),f&&m.append(Qi.BAGGAGE_HEADER_NAME,f),m}else if(Array.isArray(I)){let m=[...I,["sentry-trace",g]];return f&&m.push([Qi.BAGGAGE_HEADER_NAME,f]),m}else{let m="baggage"in I?I.baggage:void 0,C=[];return Array.isArray(m)?C.push(...m):m&&C.push(m),f&&C.push(f),{...I,"sentry-trace":g,baggage:C.length>0?C.join(","):void 0}}else return{"sentry-trace":g,baggage:f}}function Wre(e){try{return new URL(e).href}catch{return}}function Nre(e,t){if(t.response){qn.setHttpStatus(e,t.response.status);let n=t.response&&t.response.headers&&t.response.headers.get("content-length");if(n){let r=parseInt(n);r>0&&e.setAttribute("http.response_content_length",r)}}else t.error&&e.setStatus("internal_error");e.end()}jf.addTracingHeadersToFetchRequest=pE;jf.instrumentFetchRequest=Rre});var $f=d(ti=>{"use strict";Object.defineProperty(ti,"__esModule",{value:!0});var Wn=Q(),Nn=W(),Vre=Vy(),_re=hs(),Ere=zt(),Qf=["localhost",/^\/(?!\/)/],_y={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,tracingOrigins:Qf,tracePropagationTargets:Qf};function Hre(e){let{traceFetch:t,traceXHR:n,tracePropagationTargets:r,tracingOrigins:i,shouldCreateSpanForRequest:o,enableHTTPTimings:s}={traceFetch:_y.traceFetch,traceXHR:_y.traceXHR,...e},a=typeof o=="function"?o:l=>!0,c=l=>CE(l,r||i),u={};t&&Nn.addFetchInstrumentationHandler(l=>{let g=Vre.instrumentFetchRequest(l,a,c,u);if(g){let f=yE(l.fetchData.url),I=f?Nn.parseUrl(f).host:void 0;g.setAttributes({"http.url":f,"server.address":I})}s&&g&&mE(g)}),n&&Nn.addXhrInstrumentationHandler(l=>{let g=bE(l,a,c,u);s&&g&&mE(g)})}function wre(e){return e.entryType==="resource"&&"initiatorType"in e&&typeof e.nextHopProtocol=="string"&&(e.initiatorType==="fetch"||e.initiatorType==="xmlhttprequest")}function mE(e){let{url:t}=Wn.spanToJSON(e).data||{};if(!t||typeof t!="string")return;let n=_re.addPerformanceInstrumentationHandler("resource",({entries:r})=>{r.forEach(i=>{wre(i)&&i.name.endsWith(t)&&(Yre(i).forEach(s=>e.setAttribute(...s)),setTimeout(n))})})}function hE(e){let t="unknown",n="unknown",r="";for(let i of e){if(i==="/"){[t,n]=e.split("/");break}if(!isNaN(Number(i))){t=r==="h"?"http":r,n=e.split(r)[1];break}r+=i}return r===e&&(t=r),{name:t,version:n}}function zn(e=0){return((Nn.browserPerformanceTimeOrigin||performance.timeOrigin)+e)/1e3}function Yre(e){let{name:t,version:n}=hE(e.nextHopProtocol),r=[];return r.push(["network.protocol.version",n],["network.protocol.name",t]),Nn.browserPerformanceTimeOrigin?[...r,["http.request.redirect_start",zn(e.redirectStart)],["http.request.fetch_start",zn(e.fetchStart)],["http.request.domain_lookup_start",zn(e.domainLookupStart)],["http.request.domain_lookup_end",zn(e.domainLookupEnd)],["http.request.connect_start",zn(e.connectStart)],["http.request.secure_connection_start",zn(e.secureConnectionStart)],["http.request.connection_end",zn(e.connectEnd)],["http.request.request_start",zn(e.requestStart)],["http.request.response_start",zn(e.responseStart)],["http.request.response_end",zn(e.responseEnd)]]:r}function CE(e,t){return Nn.stringMatchesSomePattern(e,t||Qf)}function bE(e,t,n,r){let i=e.xhr,o=i&&i[Nn.SENTRY_XHR_DATA_KEY];if(!Wn.hasTracingEnabled()||!i||i.__sentry_own_request__||!o)return;let s=t(o.url);if(e.endTimestamp&&s){let I=i.__sentry_xhr_span_id__;if(!I)return;let m=r[I];m&&o.status_code!==void 0&&(Wn.setHttpStatus(m,o.status_code),m.end(),delete r[I]);return}let a=Wn.getCurrentScope(),c=Wn.getIsolationScope(),u=yE(o.url),l=u?Nn.parseUrl(u).host:void 0,g=s?Wn.startInactiveSpan({name:`${o.method} ${o.url}`,onlyIfParent:!0,attributes:{type:"xhr","http.method":o.method,"http.url":u,url:o.url,"server.address":l,[Wn.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]:"auto.http.browser"},op:"http.client"}):void 0;g&&(i.__sentry_xhr_span_id__=g.spanContext().spanId,r[i.__sentry_xhr_span_id__]=g);let f=Wn.getClient();if(i.setRequestHeader&&n(o.url)&&f){let{traceId:I,spanId:m,sampled:C,dsc:b}={...c.getPropagationContext(),...a.getPropagationContext()},v=g?Wn.spanToTraceHeader(g):Nn.generateSentryTraceHeader(I,m,C),Y=Nn.dynamicSamplingContextToSentryBaggageHeader(b||(g?Wn.getDynamicSamplingContextFromSpan(g):Wn.getDynamicSamplingContextFromClient(I,f,a)));Fre(i,v,Y)}return g}function Fre(e,t,n){try{e.setRequestHeader("sentry-trace",t),n&&e.setRequestHeader(Nn.BAGGAGE_HEADER_NAME,n)}catch{}}function yE(e){try{return new URL(e,Ere.WINDOW.location.origin).href}catch{return}}ti.DEFAULT_TRACE_PROPAGATION_TARGETS=Qf;ti.defaultRequestInstrumentationOptions=_y;ti.extractNetworkProtocol=hE;ti.instrumentOutgoingRequests=Hre;ti.shouldAttachHeaders=CE;ti.xhrCallback=bE});var BE=d(Ey=>{"use strict";Object.defineProperty(Ey,"__esModule",{value:!0});var pc=W(),AE=Et(),mc=zt();function Tre(e,t=!0,n=!0){if(!mc.WINDOW||!mc.WINDOW.location){AE.DEBUG_BUILD&&pc.logger.warn("Could not initialize routing instrumentation due to invalid location");return}let r=mc.WINDOW.location.href,i;t&&(i=e({name:mc.WINDOW.location.pathname,startTimestamp:pc.browserPerformanceTimeOrigin?pc.browserPerformanceTimeOrigin/1e3:void 0,op:"pageload",origin:"auto.pageload.browser",metadata:{source:"url"}})),n&&pc.addHistoryInstrumentationHandler(({to:o,from:s})=>{if(s===void 0&&r&&r.indexOf(o)!==-1){r=void 0;return}s!==o&&(r=void 0,i&&(AE.DEBUG_BUILD&&pc.logger.log(`[Tracing] Finishing current transaction with op: ${i.op}`),i.end()),i=e({name:mc.WINDOW.location.pathname,op:"navigation",origin:"auto.navigation.browser",metadata:{source:"url"}}))})}Ey.instrumentRoutingWithDefaults=Tre});var RE=d(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});var Vn=Q(),Wr=W(),ni=Et(),Xre=cy(),GE=hs(),hc=Ny(),vE=$f(),kre=BE(),$i=zt(),SE="BrowserTracing",Kre={...Vn.TRACING_DEFAULTS,markBackgroundTransactions:!0,routingInstrumentation:kre.instrumentRoutingWithDefaults,startTransactionOnLocationChange:!0,startTransactionOnPageLoad:!0,enableLongTask:!0,enableInp:!1,interactionsSampleRate:1,_experiments:{},...vE.defaultRequestInstrumentationOptions},ZE=10,Hy=class{constructor(t){this.name=SE,this._hasSetTracePropagationTargets=!1,Vn.addTracingExtensions(),ni.DEBUG_BUILD&&(this._hasSetTracePropagationTargets=!!(t&&(t.tracePropagationTargets||t.tracingOrigins))),this.options={...Kre,...t},this.options._experiments.enableLongTask!==void 0&&(this.options.enableLongTask=this.options._experiments.enableLongTask),t&&!t.tracePropagationTargets&&t.tracingOrigins&&(this.options.tracePropagationTargets=t.tracingOrigins),this._collectWebVitals=hc.startTrackingWebVitals(),this._interactionIdToRouteNameMapping={},this.options.enableInp&&hc.startTrackingINP(this._interactionIdToRouteNameMapping,this.options.interactionsSampleRate),this.options.enableLongTask&&hc.startTrackingLongTasks(),this.options._experiments.enableInteractions&&hc.startTrackingInteractions(),this._latestRoute={name:void 0,context:void 0}}setupOnce(t,n){this._getCurrentHub=n;let i=n().getClient(),o=i&&i.getOptions(),{routingInstrumentation:s,startTransactionOnLocationChange:a,startTransactionOnPageLoad:c,markBackgroundTransactions:u,traceFetch:l,traceXHR:g,shouldCreateSpanForRequest:f,enableHTTPTimings:I,_experiments:m}=this.options,C=o&&o.tracePropagationTargets,b=C||this.options.tracePropagationTargets;ni.DEBUG_BUILD&&this._hasSetTracePropagationTargets&&C&&Wr.logger.warn("[Tracing] The `tracePropagationTargets` option was set in the BrowserTracing integration and top level `Sentry.init`. The top level `Sentry.init` value is being used."),s(v=>{let Y=this._createRouteTransaction(v);return this.options._experiments.onStartRouteTransaction&&this.options._experiments.onStartRouteTransaction(Y,v,n),Y},c,a),u&&Xre.registerBackgroundTabDetection(),m.enableInteractions&&this._registerInteractionListener(),this.options.enableInp&&this._registerInpInteractionListener(),vE.instrumentOutgoingRequests({traceFetch:l,traceXHR:g,tracePropagationTargets:b,shouldCreateSpanForRequest:f,enableHTTPTimings:I})}_createRouteTransaction(t){if(!this._getCurrentHub){ni.DEBUG_BUILD&&Wr.logger.warn(`[Tracing] Did not create ${t.op} transaction because _getCurrentHub is invalid.`);return}let n=this._getCurrentHub(),{beforeNavigate:r,idleTimeout:i,finalTimeout:o,heartbeatInterval:s}=this.options,a=t.op==="pageload",c;if(a){let I=a?wy("sentry-trace"):"",m=a?wy("baggage"):void 0,{traceId:C,dsc:b,parentSpanId:v,sampled:Y}=Wr.propagationContextFromHeaders(I,m);c={traceId:C,parentSpanId:v,parentSampled:Y,...t,metadata:{...t.metadata,dynamicSamplingContext:b},trimEnd:!0}}else c={trimEnd:!0,...t};let u=typeof r=="function"?r(c):c,l=u===void 0?{...c,sampled:!1}:u;l.metadata=l.name!==c.name?{...l.metadata,source:"custom"}:l.metadata,this._latestRoute.name=l.name,this._latestRoute.context=l,l.sampled===!1&&ni.DEBUG_BUILD&&Wr.logger.log(`[Tracing] Will not send ${l.op} transaction because of beforeNavigate.`),ni.DEBUG_BUILD&&Wr.logger.log(`[Tracing] Starting ${l.op} transaction on scope`);let{location:g}=$i.WINDOW,f=Vn.startIdleTransaction(n,l,i,o,!0,{location:g},s,a);return a&&$i.WINDOW.document&&($i.WINDOW.document.addEventListener("readystatechange",()=>{["interactive","complete"].includes($i.WINDOW.document.readyState)&&f.sendAutoFinishSignal()}),["interactive","complete"].includes($i.WINDOW.document.readyState)&&f.sendAutoFinishSignal()),f.registerBeforeFinishCallback(I=>{this._collectWebVitals(),hc.addPerformanceEntries(I)}),f}_registerInteractionListener(){let t,n=()=>{let{idleTimeout:r,finalTimeout:i,heartbeatInterval:o}=this.options,s="ui.action.click",a=Vn.getActiveTransaction();if(a&&a.op&&["navigation","pageload"].includes(a.op)){ni.DEBUG_BUILD&&Wr.logger.warn(`[Tracing] Did not create ${s} transaction because a pageload or navigation transaction is in progress.`);return}if(t&&(t.setFinishReason("interactionInterrupted"),t.end(),t=void 0),!this._getCurrentHub){ni.DEBUG_BUILD&&Wr.logger.warn(`[Tracing] Did not create ${s} transaction because _getCurrentHub is invalid.`);return}if(!this._latestRoute.name){ni.DEBUG_BUILD&&Wr.logger.warn(`[Tracing] Did not create ${s} transaction because _latestRouteName is missing.`);return}let c=this._getCurrentHub(),{location:u}=$i.WINDOW,l={name:this._latestRoute.name,op:s,trimEnd:!0,data:{[Vn.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]:this._latestRoute.context?xre(this._latestRoute.context):"url"}};t=Vn.startIdleTransaction(c,l,r,i,!0,{location:u},o)};["click"].forEach(r=>{$i.WINDOW.document&&addEventListener(r,n,{once:!1,capture:!0})})}_registerInpInteractionListener(){let t=({entries:n})=>{let r=Vn.getClient(),i=r!==void 0&&r.getIntegrationByName!==void 0?r.getIntegrationByName("Replay"):void 0,o=i!==void 0?i.getReplayId():void 0,s=Vn.getActiveTransaction(),a=Vn.getCurrentScope(),c=a!==void 0?a.getUser():void 0;n.forEach(u=>{if(Lre(u)){let l=u.interactionId;if(l===void 0)return;let g=this._interactionIdToRouteNameMapping[l],f=u.duration,I=u.startTime,m=Object.keys(this._interactionIdToRouteNameMapping),C=m.length>0?m.reduce((b,v)=>this._interactionIdToRouteNameMapping[b].duration<this._interactionIdToRouteNameMapping[v].duration?b:v):void 0;if(u.entryType==="first-input"&&m.map(v=>this._interactionIdToRouteNameMapping[v]).some(v=>v.duration===f&&v.startTime===I)||!l)return;if(g)g.duration=Math.max(g.duration,f);else if(m.length<ZE||C===void 0||f>this._interactionIdToRouteNameMapping[C].duration){let b=this._latestRoute.name,v=this._latestRoute.context;b&&v&&(C&&Object.keys(this._interactionIdToRouteNameMapping).length>=ZE&&delete this._interactionIdToRouteNameMapping[C],this._interactionIdToRouteNameMapping[l]={routeName:b,duration:f,parentContext:v,user:c,activeTransaction:s,replayId:o,startTime:I})}}})};GE.addPerformanceInstrumentationHandler("event",t),GE.addPerformanceInstrumentationHandler("first-input",t)}};function wy(e){let t=Wr.getDomElement(`meta[name=${e}]`);return t?t.getAttribute("content"):void 0}function xre(e){let t=e.attributes&&e.attributes[Vn.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE],n=e.data&&e.data[Vn.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE],r=e.metadata&&e.metadata.source;return t||n||r}function Lre(e){return"duration"in e}Cc.BROWSER_TRACING_INTEGRATION_ID=SE;Cc.BrowserTracing=Hy;Cc.getMetaContent=wy});var wE=d(eo=>{"use strict";Object.defineProperty(eo,"__esModule",{value:!0});var Ee=Q(),gn=W(),ri=Et(),Ure=cy(),WE=hs(),bc=Ny(),VE=$f(),jt=zt(),_E="BrowserTracing",Jre={...Ee.TRACING_DEFAULTS,instrumentNavigation:!0,instrumentPageLoad:!0,markBackgroundSpan:!0,enableLongTask:!0,enableInp:!1,interactionsSampleRate:1,_experiments:{},...VE.defaultRequestInstrumentationOptions},Ore=(e={})=>{let t=ri.DEBUG_BUILD?!!(e.tracePropagationTargets||e.tracingOrigins):!1;Ee.addTracingExtensions(),!e.tracePropagationTargets&&e.tracingOrigins&&(e.tracePropagationTargets=e.tracingOrigins);let n={...Jre,...e},r=bc.startTrackingWebVitals(),i={};n.enableInp&&bc.startTrackingINP(i,n.interactionsSampleRate),n.enableLongTask&&bc.startTrackingLongTasks(),n._experiments.enableInteractions&&bc.startTrackingInteractions();let o={name:void 0,context:void 0};function s(a){let c=Ee.getCurrentHub(),{beforeStartSpan:u,idleTimeout:l,finalTimeout:g,heartbeatInterval:f}=n,I=a.op==="pageload",m;if(I){let Y=I?Yy("sentry-trace"):"",k=I?Yy("baggage"):void 0,{traceId:ee,dsc:re,parentSpanId:N,sampled:J}=gn.propagationContextFromHeaders(Y,k);m={traceId:ee,parentSpanId:N,parentSampled:J,...a,metadata:{...a.metadata,dynamicSamplingContext:re},trimEnd:!0}}else m={trimEnd:!0,...a};let C=u?u(m):m;C.metadata=C.name!==m.name?{...C.metadata,source:"custom"}:C.metadata,o.name=C.name,o.context=C,C.sampled===!1&&ri.DEBUG_BUILD&&gn.logger.log(`[Tracing] Will not send ${C.op} transaction because of beforeNavigate.`),ri.DEBUG_BUILD&&gn.logger.log(`[Tracing] Starting ${C.op} transaction on scope`);let{location:b}=jt.WINDOW,v=Ee.startIdleTransaction(c,C,l,g,!0,{location:b},f,I);return I&&jt.WINDOW.document&&(jt.WINDOW.document.addEventListener("readystatechange",()=>{["interactive","complete"].includes(jt.WINDOW.document.readyState)&&v.sendAutoFinishSignal()}),["interactive","complete"].includes(jt.WINDOW.document.readyState)&&v.sendAutoFinishSignal()),v.registerBeforeFinishCallback(Y=>{r(),bc.addPerformanceEntries(Y)}),v}return{name:_E,setupOnce:()=>{},afterAllSetup(a){let c=a.getOptions(),{markBackgroundSpan:u,traceFetch:l,traceXHR:g,shouldCreateSpanForRequest:f,enableHTTPTimings:I,_experiments:m}=n,C=c&&c.tracePropagationTargets,b=C||n.tracePropagationTargets;ri.DEBUG_BUILD&&t&&C&&gn.logger.warn("[Tracing] The `tracePropagationTargets` option was set in the BrowserTracing integration and top level `Sentry.init`. The top level `Sentry.init` value is being used.");let v,Y=jt.WINDOW.location&&jt.WINDOW.location.href;if(a.on&&(a.on("startNavigationSpan",k=>{v&&(ri.DEBUG_BUILD&&gn.logger.log(`[Tracing] Finishing current transaction with op: ${Ee.spanToJSON(v).op}`),v.end()),v=s({op:"navigation",...k})}),a.on("startPageLoadSpan",k=>{v&&(ri.DEBUG_BUILD&&gn.logger.log(`[Tracing] Finishing current transaction with op: ${Ee.spanToJSON(v).op}`),v.end()),v=s({op:"pageload",...k})})),n.instrumentPageLoad&&a.emit&&jt.WINDOW.location){let k={name:jt.WINDOW.location.pathname,startTimestamp:gn.browserPerformanceTimeOrigin?gn.browserPerformanceTimeOrigin/1e3:void 0,origin:"auto.pageload.browser",attributes:{[Ee.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]:"url"}};EE(a,k)}n.instrumentNavigation&&a.emit&&jt.WINDOW.location&&gn.addHistoryInstrumentationHandler(({to:k,from:ee})=>{if(ee===void 0&&Y&&Y.indexOf(k)!==-1){Y=void 0;return}if(ee!==k){Y=void 0;let re={name:jt.WINDOW.location.pathname,origin:"auto.navigation.browser",attributes:{[Ee.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]:"url"}};HE(a,re)}}),u&&Ure.registerBackgroundTabDetection(),m.enableInteractions&&Mre(n,o),n.enableInp&&qre(i,o),VE.instrumentOutgoingRequests({traceFetch:l,traceXHR:g,tracePropagationTargets:b,shouldCreateSpanForRequest:f,enableHTTPTimings:I})},options:n}};function EE(e,t){if(!e.emit)return;e.emit("startPageLoadSpan",t);let n=Ee.getActiveSpan();return(n&&Ee.spanToJSON(n).op)==="pageload"?n:void 0}function HE(e,t){if(!e.emit)return;e.emit("startNavigationSpan",t);let n=Ee.getActiveSpan();return(n&&Ee.spanToJSON(n).op)==="navigation"?n:void 0}function Yy(e){let t=gn.getDomElement(`meta[name=${e}]`);return t?t.getAttribute("content"):void 0}function Mre(e,t){let n,r=()=>{let{idleTimeout:i,finalTimeout:o,heartbeatInterval:s}=e,a="ui.action.click",c=Ee.getActiveTransaction();if(c&&c.op&&["navigation","pageload"].includes(c.op)){ri.DEBUG_BUILD&&gn.logger.warn(`[Tracing] Did not create ${a} transaction because a pageload or navigation transaction is in progress.`);return}if(n&&(n.setFinishReason("interactionInterrupted"),n.end(),n=void 0),!t.name){ri.DEBUG_BUILD&&gn.logger.warn(`[Tracing] Did not create ${a} transaction because _latestRouteName is missing.`);return}let{location:u}=jt.WINDOW,l={name:t.name,op:a,trimEnd:!0,data:{[Ee.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]:t.context?zre(t.context):"url"}};n=Ee.startIdleTransaction(Ee.getCurrentHub(),l,i,o,!0,{location:u},s)};["click"].forEach(i=>{jt.WINDOW.document&&addEventListener(i,r,{once:!1,capture:!0})})}function Dre(e){return"duration"in e}var NE=10;function qre(e,t){let n=({entries:r})=>{let i=Ee.getClient(),o=i!==void 0&&i.getIntegrationByName!==void 0?i.getIntegrationByName("Replay"):void 0,s=o!==void 0?o.getReplayId():void 0,a=Ee.getActiveTransaction(),c=Ee.getCurrentScope(),u=c!==void 0?c.getUser():void 0;r.forEach(l=>{if(Dre(l)){let g=l.interactionId;if(g===void 0)return;let f=e[g],I=l.duration,m=l.startTime,C=Object.keys(e),b=C.length>0?C.reduce((v,Y)=>e[v].duration<e[Y].duration?v:Y):void 0;if(l.entryType==="first-input"&&C.map(Y=>e[Y]).some(Y=>Y.duration===I&&Y.startTime===m)||!g)return;if(f)f.duration=Math.max(f.duration,I);else if(C.length<NE||b===void 0||I>e[b].duration){let v=t.name,Y=t.context;v&&Y&&(b&&Object.keys(e).length>=NE&&delete e[b],e[g]={routeName:v,duration:I,parentContext:Y,user:u,activeTransaction:a,replayId:s,startTime:m})}}})};WE.addPerformanceInstrumentationHandler("event",n),WE.addPerformanceInstrumentationHandler("first-input",n)}function zre(e){let t=e.attributes&&e.attributes[Ee.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE],n=e.data&&e.data[Ee.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE],r=e.metadata&&e.metadata.source;return t||n||r}eo.BROWSER_TRACING_INTEGRATION_ID=_E;eo.browserTracingIntegration=Ore;eo.getMetaContent=Yy;eo.startBrowserTracingNavigationSpan=HE;eo.startBrowserTracingPageLoadSpan=EE});var FE=d((Fy,yc)=>{"use strict";Object.defineProperty(Fy,"__esModule",{value:!0});var YE=Q(),Cs=W();function Pre(){let e=YE.getMainCarrier();if(!e.__SENTRY__)return;let t={mongodb(){let r=Cs.dynamicRequire(yc,"./node/integrations/mongo");return new r.Mongo},mongoose(){let r=Cs.dynamicRequire(yc,"./node/integrations/mongo");return new r.Mongo},mysql(){let r=Cs.dynamicRequire(yc,"./node/integrations/mysql");return new r.Mysql},pg(){let r=Cs.dynamicRequire(yc,"./node/integrations/postgres");return new r.Postgres}},n=Object.keys(t).filter(r=>!!Cs.loadModule(r)).map(r=>{try{return t[r]()}catch{return}}).filter(r=>r);n.length>0&&(e.__SENTRY__.integrations=[...e.__SENTRY__.integrations||[],...n])}function jre(){YE.addTracingExtensions(),Cs.isNodeEnv()&&Pre()}Fy.addExtensionMethods=jre});var Xy=d(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});var Nr=Q(),TE=W(),Qre=S_(),$re=R_(),eie=W_(),tie=V_(),nie=E_(),rie=w_(),iie=F_(),oie=T_(),XE=RE(),Ty=wE(),kE=$f(),eI=hs(),KE=Vy(),sie=FE();ie.IdleTransaction=Nr.IdleTransaction;ie.Span=Nr.Span;ie.SpanStatus=Nr.SpanStatus;ie.Transaction=Nr.Transaction;ie.extractTraceparentData=Nr.extractTraceparentData;ie.getActiveTransaction=Nr.getActiveTransaction;ie.hasTracingEnabled=Nr.hasTracingEnabled;ie.spanStatusfromHttpCode=Nr.spanStatusfromHttpCode;ie.startIdleTransaction=Nr.startIdleTransaction;ie.TRACEPARENT_REGEXP=TE.TRACEPARENT_REGEXP;ie.stripUrlQueryAndFragment=TE.stripUrlQueryAndFragment;ie.Express=Qre.Express;ie.Postgres=$re.Postgres;ie.Mysql=eie.Mysql;ie.Mongo=tie.Mongo;ie.Prisma=nie.Prisma;ie.GraphQL=rie.GraphQL;ie.Apollo=iie.Apollo;ie.lazyLoadedNodePerformanceMonitoringIntegrations=oie.lazyLoadedNodePerformanceMonitoringIntegrations;ie.BROWSER_TRACING_INTEGRATION_ID=XE.BROWSER_TRACING_INTEGRATION_ID;ie.BrowserTracing=XE.BrowserTracing;ie.browserTracingIntegration=Ty.browserTracingIntegration;ie.startBrowserTracingNavigationSpan=Ty.startBrowserTracingNavigationSpan;ie.startBrowserTracingPageLoadSpan=Ty.startBrowserTracingPageLoadSpan;ie.defaultRequestInstrumentationOptions=kE.defaultRequestInstrumentationOptions;ie.instrumentOutgoingRequests=kE.instrumentOutgoingRequests;ie.addClsInstrumentationHandler=eI.addClsInstrumentationHandler;ie.addFidInstrumentationHandler=eI.addFidInstrumentationHandler;ie.addLcpInstrumentationHandler=eI.addLcpInstrumentationHandler;ie.addPerformanceInstrumentationHandler=eI.addPerformanceInstrumentationHandler;ie.addTracingHeadersToFetchRequest=KE.addTracingHeadersToFetchRequest;ie.instrumentFetchRequest=KE.instrumentFetchRequest;ie.addExtensionMethods=sie.addExtensionMethods});var xE=d(ky=>{"use strict";Object.defineProperty(ky,"__esModule",{value:!0});var aie=Xy(),cie=W();function uie(){let e=aie.lazyLoadedNodePerformanceMonitoringIntegrations.map(t=>{try{return t()}catch{return}}).filter(t=>!!t);return e.length===0&&cie.logger.warn("Performance monitoring integrations could not be automatically loaded."),e.filter(t=>!!t.loadDependency())}ky.autoDiscoverNodePerformanceMonitoringIntegrations=uie});var Ly=d(xy=>{"use strict";Object.defineProperty(xy,"__esModule",{value:!0});var lie=require("os"),die=require("util"),LE=Q(),Ky=class extends LE.ServerRuntimeClient{constructor(t){LE.applySdkMetadata(t,"node"),t.transportOptions={textEncoder:new die.TextEncoder,...t.transportOptions};let n={...t,platform:"node",runtime:{name:"node",version:global.process.version},serverName:t.serverName||global.process.env.SENTRY_NAME||lie.hostname()};super(n)}};xy.NodeClient=Ky});var OE=d(Jy=>{"use strict";var{_nullishCoalesce:UE}=W();Object.defineProperty(Jy,"__esModule",{value:!0});var JE=require("http");require("https");var Pn=Symbol("AgentBaseInternalState"),Uy=class extends JE.Agent{constructor(t){super(t),this[Pn]={}}isSecureEndpoint(t){if(t){if(typeof t.secureEndpoint=="boolean")return t.secureEndpoint;if(typeof t.protocol=="string")return t.protocol==="https:"}let{stack:n}=new Error;return typeof n!="string"?!1:n.split(`
|
|
31
|
+
`).some(r=>r.indexOf("(https.js:")!==-1||r.indexOf("node:https:")!==-1)}createSocket(t,n,r){let i={...n,secureEndpoint:this.isSecureEndpoint(n)};Promise.resolve().then(()=>this.connect(t,i)).then(o=>{if(o instanceof JE.Agent)return o.addRequest(t,i);this[Pn].currentSocket=o,super.createSocket(t,n,r)},r)}createConnection(){let t=this[Pn].currentSocket;if(this[Pn].currentSocket=void 0,!t)throw new Error("No socket was returned in the `connect()` function");return t}get defaultPort(){return UE(this[Pn].defaultPort,()=>this.protocol==="https:"?443:80)}set defaultPort(t){this[Pn]&&(this[Pn].defaultPort=t)}get protocol(){return UE(this[Pn].protocol,()=>this.isSecureEndpoint()?"https:":"http:")}set protocol(t){this[Pn]&&(this[Pn].protocol=t)}};Jy.Agent=Uy});var ME=d(Oy=>{"use strict";Object.defineProperty(Oy,"__esModule",{value:!0});var gie=W();function tI(...e){gie.logger.log("[https-proxy-agent:parse-proxy-response]",...e)}function fie(e){return new Promise((t,n)=>{let r=0,i=[];function o(){let l=e.read();l?u(l):e.once("readable",o)}function s(){e.removeListener("end",a),e.removeListener("error",c),e.removeListener("readable",o)}function a(){s(),tI("onend"),n(new Error("Proxy connection ended before receiving CONNECT response"))}function c(l){s(),tI("onerror %o",l),n(l)}function u(l){i.push(l),r+=l.length;let g=Buffer.concat(i,r),f=g.indexOf(`\r
|
|
32
|
+
\r
|
|
33
|
+
`);if(f===-1){tI("have not received end of HTTP headers yet..."),o();return}let I=g.slice(0,f).toString("ascii").split(`\r
|
|
34
|
+
`),m=I.shift();if(!m)return e.destroy(),n(new Error("No header received from proxy CONNECT response"));let C=m.split(" "),b=+C[1],v=C.slice(2).join(" "),Y={};for(let k of I){if(!k)continue;let ee=k.indexOf(":");if(ee===-1)return e.destroy(),n(new Error(`Invalid header from proxy CONNECT response: "${k}"`));let re=k.slice(0,ee).toLowerCase(),N=k.slice(ee+1).trimStart(),J=Y[re];typeof J=="string"?Y[re]=[J,N]:Array.isArray(J)?J.push(N):Y[re]=N}tI("got proxy server response: %o %o",m,Y),s(),t({connect:{statusCode:b,statusText:v,headers:Y},buffered:g})}e.on("error",c),e.on("end",a),o()})}Oy.parseProxyResponse=fie});var zE=d(My=>{"use strict";var{_nullishCoalesce:Iie,_optionalChain:pie}=W();Object.defineProperty(My,"__esModule",{value:!0});var Ac=require("net"),DE=require("tls"),mie=require("url"),hie=W(),Cie=OE(),bie=ME();function Bc(...e){hie.logger.log("[https-proxy-agent]",...e)}var nI=class extends Cie.Agent{static __initStatic(){this.protocols=["http","https"]}constructor(t,n){super(n),this.options={},this.proxy=typeof t=="string"?new mie.URL(t):t,this.proxyHeaders=Iie(pie([n,"optionalAccess",o=>o.headers]),()=>({})),Bc("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let r=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),i=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...n?qE(n,"headers"):null,host:r,port:i}}async connect(t,n){let{proxy:r}=this;if(!n.host)throw new TypeError('No "host" provided');let i;if(r.protocol==="https:"){Bc("Creating `tls.Socket`: %o",this.connectOpts);let f=this.connectOpts.servername||this.connectOpts.host;i=DE.connect({...this.connectOpts,servername:f&&Ac.isIP(f)?void 0:f})}else Bc("Creating `net.Socket`: %o",this.connectOpts),i=Ac.connect(this.connectOpts);let o=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},s=Ac.isIPv6(n.host)?`[${n.host}]`:n.host,a=`CONNECT ${s}:${n.port} HTTP/1.1\r
|
|
35
|
+
`;if(r.username||r.password){let f=`${decodeURIComponent(r.username)}:${decodeURIComponent(r.password)}`;o["Proxy-Authorization"]=`Basic ${Buffer.from(f).toString("base64")}`}o.Host=`${s}:${n.port}`,o["Proxy-Connection"]||(o["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let f of Object.keys(o))a+=`${f}: ${o[f]}\r
|
|
36
|
+
`;let c=bie.parseProxyResponse(i);i.write(`${a}\r
|
|
37
|
+
`);let{connect:u,buffered:l}=await c;if(t.emit("proxyConnect",u),this.emit("proxyConnect",u,t),u.statusCode===200){if(t.once("socket",yie),n.secureEndpoint){Bc("Upgrading socket connection to TLS");let f=n.servername||n.host;return DE.connect({...qE(n,"host","path","port"),socket:i,servername:Ac.isIP(f)?void 0:f})}return i}i.destroy();let g=new Ac.Socket({writable:!1});return g.readable=!0,t.once("socket",f=>{Bc("Replaying proxy buffer for failed request"),f.push(l),f.push(null)}),g}};nI.__initStatic();function yie(e){e.resume()}function qE(e,...t){let n={},r;for(r in e)t.includes(r)||(n[r]=e[r]);return n}My.HttpsProxyAgent=nI});var zy=d(qy=>{"use strict";var{_nullishCoalesce:Dy}=W();Object.defineProperty(qy,"__esModule",{value:!0});var Aie=require("http"),Bie=require("https"),Gie=require("stream"),jE=require("url"),Zie=require("zlib"),PE=Q(),vie=W(),Sie=zE(),Rie=1024*32;function Wie(e){return new Gie.Readable({read(){this.push(e),this.push(null)}})}function Nie(e){let t;try{t=new jE.URL(e.url)}catch{return vie.consoleSandbox(()=>{console.warn("[@sentry/node]: Invalid dsn or tunnel option, will not send any events. The tunnel option must be a full URL when used.")}),PE.createTransport(e,()=>Promise.resolve({}))}let n=t.protocol==="https:",r=Vie(t,e.proxy||(n?process.env.https_proxy:void 0)||process.env.http_proxy),i=n?Bie:Aie,o=e.keepAlive===void 0?!1:e.keepAlive,s=r?new Sie.HttpsProxyAgent(r):new i.Agent({keepAlive:o,maxSockets:30,timeout:2e3}),a=_ie(e,Dy(e.httpModule,()=>i),s);return PE.createTransport(e,a)}function Vie(e,t){let{no_proxy:n}=process.env;if(!(n&&n.split(",").some(i=>e.host.endsWith(i)||e.hostname.endsWith(i))))return t}function _ie(e,t,n){let{hostname:r,pathname:i,port:o,protocol:s,search:a}=new jE.URL(e.url);return function(u){return new Promise((l,g)=>{let f=Wie(u.body),I={...e.headers};u.body.length>Rie&&(I["content-encoding"]="gzip",f=f.pipe(Zie.createGzip()));let m=t.request({method:"POST",agent:n,headers:I,hostname:r,path:`${i}${a}`,port:o,protocol:s,ca:e.caCerts},C=>{C.on("data",()=>{}),C.on("end",()=>{}),C.setEncoding("utf8");let b=Dy(C.headers["retry-after"],()=>null),v=Dy(C.headers["x-sentry-rate-limits"],()=>null);l({statusCode:C.statusCode,headers:{"retry-after":b,"x-sentry-rate-limits":Array.isArray(v)?v[0]:v}})});m.on("error",g),f.pipe(m)})}}qy.makeNodeTransport=Nie});var to=d(Py=>{"use strict";Object.defineProperty(Py,"__esModule",{value:!0});var Eie=W(),Hie=Eie.parseSemver(process.versions.node);Py.NODE_VERSION=Hie});var eH=d(jy=>{"use strict";var{_optionalChain:wie}=W();Object.defineProperty(jy,"__esModule",{value:!0});var QE=require("domain"),no=Q();function $E(){return QE.active}function Yie(){let e=$E();if(e)return no.ensureHubOnCarrier(e),no.getHubFromCarrier(e)}function Fie(e){let t={};return no.ensureHubOnCarrier(t,e),no.getHubFromCarrier(t)}function Tie(e,t){let n=$E();if(n&&wie([t,"optionalAccess",s=>s.reuseExisting]))return e();let r=QE.create(),i=n?no.getHubFromCarrier(n):void 0,o=Fie(i);return no.setHubOnCarrier(r,o),r.bind(()=>e())()}function Xie(){no.setAsyncContextStrategy({getCurrentHub:Yie,runWithAsyncContext:Tie})}jy.setDomainAsyncContextStrategy=Xie});var tH=d($y=>{"use strict";var{_optionalChain:kie}=W();Object.defineProperty($y,"__esModule",{value:!0});var Qy=Q(),Kie=require("async_hooks"),rI;function xie(){rI||(rI=new Kie.AsyncLocalStorage);function e(){return rI.getStore()}function t(r){let i={};return Qy.ensureHubOnCarrier(i,r),Qy.getHubFromCarrier(i)}function n(r,i){let o=e();if(o&&kie([i,"optionalAccess",a=>a.reuseExisting]))return r();let s=t(o);return rI.run(s,()=>r())}Qy.setAsyncContextStrategy({getCurrentHub:e,runWithAsyncContext:n})}$y.setHooksAsyncContextStrategy=xie});var nH=d(e0=>{"use strict";Object.defineProperty(e0,"__esModule",{value:!0});var Lie=to(),Uie=eH(),Jie=tH();function Oie(){Lie.NODE_VERSION.major>=14?Jie.setHooksAsyncContextStrategy():Uie.setDomainAsyncContextStrategy()}e0.setNodeAsyncContextStrategy=Oie});var sI=d(oI=>{"use strict";Object.defineProperty(oI,"__esModule",{value:!0});var Mie=require("util"),iI=Q(),rH=W(),iH="Console",Die=()=>({name:iH,setupOnce(){},setup(e){rH.addConsoleInstrumentationHandler(({args:t,level:n})=>{iI.getClient()===e&&iI.addBreadcrumb({category:"console",level:rH.severityLevelFromString(n),message:Mie.format.apply(void 0,t)},{input:[...t],level:n})})}}),oH=iI.defineIntegration(Die),qie=iI.convertIntegrationFnToClass(iH,oH);oI.Console=qie;oI.consoleIntegration=oH});var aI=d(io=>{"use strict";var{_optionalChain:ro}=W();Object.defineProperty(io,"__esModule",{value:!0});var zie=require("child_process"),aH=require("fs"),fn=require("os"),Pie=require("path"),cH=require("util"),uH=Q(),lH=cH.promisify(aH.readFile),dH=cH.promisify(aH.readdir),gH="Context",jie=(e={})=>{let t,n={app:!0,os:!0,device:!0,culture:!0,cloudResource:!0,...e};async function r(o){t===void 0&&(t=i());let s=$ie(await t);return o.contexts={...o.contexts,app:{...s.app,...ro([o,"access",a=>a.contexts,"optionalAccess",a=>a.app])},os:{...s.os,...ro([o,"access",a=>a.contexts,"optionalAccess",a=>a.os])},device:{...s.device,...ro([o,"access",a=>a.contexts,"optionalAccess",a=>a.device])},culture:{...s.culture,...ro([o,"access",a=>a.contexts,"optionalAccess",a=>a.culture])},cloud_resource:{...s.cloud_resource,...ro([o,"access",a=>a.contexts,"optionalAccess",a=>a.cloud_resource])}},o}async function i(){let o={};if(n.os&&(o.os=await eoe()),n.app&&(o.app=noe()),n.device&&(o.device=IH(n.device)),n.culture){let s=toe();s&&(o.culture=s)}return n.cloudResource&&(o.cloud_resource=coe()),o}return{name:gH,setupOnce(){},processEvent(o){return r(o)}}},fH=uH.defineIntegration(jie),Qie=uH.convertIntegrationFnToClass(gH,fH);function $ie(e){return ro([e,"optionalAccess",t=>t.app,"optionalAccess",t=>t.app_memory])&&(e.app.app_memory=process.memoryUsage().rss),ro([e,"optionalAccess",t=>t.device,"optionalAccess",t=>t.free_memory])&&(e.device.free_memory=fn.freemem()),e}async function eoe(){let e=fn.platform();switch(e){case"darwin":return soe();case"linux":return aoe();default:return{name:roe[e]||e,version:fn.release()}}}function toe(){try{if(typeof process.versions.icu!="string")return;let e=new Date(9e8);if(new Intl.DateTimeFormat("es",{month:"long"}).format(e)==="enero"){let n=Intl.DateTimeFormat().resolvedOptions();return{locale:n.locale,timezone:n.timeZone}}}catch{}}function noe(){let e=process.memoryUsage().rss;return{app_start_time:new Date(Date.now()-process.uptime()*1e3).toISOString(),app_memory:e}}function IH(e){let t={},n;try{n=fn.uptime&&fn.uptime()}catch{}if(typeof n=="number"&&(t.boot_time=new Date(Date.now()-n*1e3).toISOString()),t.arch=fn.arch(),(e===!0||e.memory)&&(t.memory_size=fn.totalmem(),t.free_memory=fn.freemem()),e===!0||e.cpu){let r=fn.cpus();if(r&&r.length){let i=r[0];t.processor_count=r.length,t.cpu_description=i.model,t.processor_frequency=i.speed}}return t}var roe={aix:"IBM AIX",freebsd:"FreeBSD",openbsd:"OpenBSD",sunos:"SunOS",win32:"Windows"},ioe=[{name:"fedora-release",distros:["Fedora"]},{name:"redhat-release",distros:["Red Hat Linux","Centos"]},{name:"redhat_version",distros:["Red Hat Linux"]},{name:"SuSE-release",distros:["SUSE Linux"]},{name:"lsb-release",distros:["Ubuntu Linux","Arch Linux"]},{name:"debian_version",distros:["Debian"]},{name:"debian_release",distros:["Debian"]},{name:"arch-release",distros:["Arch Linux"]},{name:"gentoo-release",distros:["Gentoo Linux"]},{name:"novell-release",distros:["SUSE Linux"]},{name:"alpine-release",distros:["Alpine Linux"]}],ooe={alpine:e=>e,arch:e=>jn(/distrib_release=(.*)/,e),centos:e=>jn(/release ([^ ]+)/,e),debian:e=>e,fedora:e=>jn(/release (..)/,e),mint:e=>jn(/distrib_release=(.*)/,e),red:e=>jn(/release ([^ ]+)/,e),suse:e=>jn(/VERSION = (.*)\n/,e),ubuntu:e=>jn(/distrib_release=(.*)/,e)};function jn(e,t){let n=e.exec(t);return n?n[1]:void 0}async function soe(){let e={kernel_version:fn.release(),name:"Mac OS X",version:`10.${Number(fn.release().split(".")[0])-4}`};try{let t=await new Promise((n,r)=>{zie.execFile("/usr/bin/sw_vers",(i,o)=>{if(i){r(i);return}n(o)})});e.name=jn(/^ProductName:\s+(.*)$/m,t),e.version=jn(/^ProductVersion:\s+(.*)$/m,t),e.build=jn(/^BuildVersion:\s+(.*)$/m,t)}catch{}return e}function sH(e){return e.split(" ")[0].toLowerCase()}async function aoe(){let e={kernel_version:fn.release(),name:"Linux"};try{let t=await dH("/etc"),n=ioe.find(a=>t.includes(a.name));if(!n)return e;let r=Pie.join("/etc",n.name),i=(await lH(r,{encoding:"utf-8"})).toLowerCase(),{distros:o}=n;e.name=o.find(a=>i.indexOf(sH(a))>=0)||o[0];let s=sH(e.name);e.version=ooe[s](i)}catch{}return e}function coe(){return process.env.VERCEL?{"cloud.provider":"vercel","cloud.region":process.env.VERCEL_REGION}:process.env.AWS_REGION?{"cloud.provider":"aws","cloud.region":process.env.AWS_REGION,"cloud.platform":process.env.AWS_EXECUTION_ENV}:process.env.GCP_PROJECT?{"cloud.provider":"gcp"}:process.env.ALIYUN_REGION_ID?{"cloud.provider":"alibaba_cloud","cloud.region":process.env.ALIYUN_REGION_ID}:process.env.WEBSITE_SITE_NAME&&process.env.REGION_NAME?{"cloud.provider":"azure","cloud.region":process.env.REGION_NAME}:process.env.IBM_CLOUD_REGION?{"cloud.provider":"ibm_cloud","cloud.region":process.env.IBM_CLOUD_REGION}:process.env.TENCENTCLOUD_REGION?{"cloud.provider":"tencent_cloud","cloud.region":process.env.TENCENTCLOUD_REGION,"cloud.account.id":process.env.TENCENTCLOUD_APPID,"cloud.availability_zone":process.env.TENCENTCLOUD_ZONE}:process.env.NETLIFY?{"cloud.provider":"netlify"}:process.env.FLY_REGION?{"cloud.provider":"fly.io","cloud.region":process.env.FLY_REGION}:process.env.DYNO?{"cloud.provider":"heroku"}:void 0}io.Context=Qie;io.getDeviceContext=IH;io.nodeContextIntegration=fH;io.readDirAsync=dH;io.readFileAsync=lH});var lI=d(uI=>{"use strict";var{_optionalChain:t0}=W();Object.defineProperty(uI,"__esModule",{value:!0});var uoe=require("fs"),pH=Q(),mH=W(),cI=new mH.LRUMap(100),loe=7,hH="ContextLines";function doe(e){return new Promise((t,n)=>{uoe.readFile(e,"utf8",(r,i)=>{r?n(r):t(i)})})}var goe=(e={})=>{let t=e.frameContextLines!==void 0?e.frameContextLines:loe;return{name:hH,setupOnce(){},processEvent(n){return Ioe(n,t)}}},CH=pH.defineIntegration(goe),foe=pH.convertIntegrationFnToClass(hH,CH);async function Ioe(e,t){let n={},r=[];if(t>0&&t0([e,"access",i=>i.exception,"optionalAccess",i=>i.values])){for(let i of e.exception.values)if(t0([i,"access",o=>o.stacktrace,"optionalAccess",o=>o.frames]))for(let o=i.stacktrace.frames.length-1;o>=0;o--){let s=i.stacktrace.frames[o];s.filename&&!n[s.filename]&&!cI.get(s.filename)&&(r.push(moe(s.filename)),n[s.filename]=1)}}if(r.length>0&&await Promise.all(r),t>0&&t0([e,"access",i=>i.exception,"optionalAccess",i=>i.values]))for(let i of e.exception.values)i.stacktrace&&i.stacktrace.frames&&await poe(i.stacktrace.frames,t);return e}function poe(e,t){for(let n of e)if(n.filename&&n.context_line===void 0){let r=cI.get(n.filename);if(r)try{mH.addContextToFrame(r,n,t)}catch{}}}async function moe(e){let t=cI.get(e);if(t===null)return null;if(t!==void 0)return t;let n=null;try{n=(await doe(e)).split(`
|
|
38
|
+
`)}catch{}return cI.set(e,n),n}uI.ContextLines=foe;uI.contextLinesIntegration=CH});var Gc=d(n0=>{"use strict";Object.defineProperty(n0,"__esModule",{value:!0});var hoe=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;n0.DEBUG_BUILD=hoe});var AH=d(oo=>{"use strict";var{_optionalChain:Qn}=W();Object.defineProperty(oo,"__esModule",{value:!0});var r0=require("url"),Coe=to();function boe(e){let{protocol:t,hostname:n,port:r}=yH(e),i=e.path?e.path:"/";return`${t}//${n}${r}${i}`}function bH(e){let{protocol:t,hostname:n,port:r}=yH(e),i=e.pathname||"/",o=e.auth?yoe(e.auth):"";return`${t}//${o}${n}${r}${i}`}function yoe(e){let[t,n]=e.split(":");return`${t?"[Filtered]":""}:${n?"[Filtered]":""}@`}function Aoe(e,t,n){if(!e)return e;let[r,i]=e.split(" ");return t.host&&!t.protocol&&(t.protocol=Qn([n,"optionalAccess",o=>o.agent,"optionalAccess",o=>o.protocol]),i=bH(t)),Qn([i,"optionalAccess",o=>o.startsWith,"call",o=>o("///")])&&(i=i.slice(2)),`${r} ${i}`}function i0(e){let t={protocol:e.protocol,hostname:typeof e.hostname=="string"&&e.hostname.startsWith("[")?e.hostname.slice(1,-1):e.hostname,hash:e.hash,search:e.search,pathname:e.pathname,path:`${e.pathname||""}${e.search||""}`,href:e.href};return e.port!==""&&(t.port=Number(e.port)),(e.username||e.password)&&(t.auth=`${e.username}:${e.password}`),t}function Boe(e,t){let n,r;if(typeof t[t.length-1]=="function"&&(n=t.pop()),typeof t[0]=="string")r=i0(new r0.URL(t[0]));else if(t[0]instanceof r0.URL)r=i0(t[0]);else{r=t[0];try{let i=new r0.URL(r.path||"",`${r.protocol||"http:"}//${r.hostname}`);r={pathname:i.pathname,search:i.search,hash:i.hash,...r}}catch{}}return t.length===2&&(r={...r,...t[1]}),r.protocol===void 0&&(Coe.NODE_VERSION.major>8?r.protocol=Qn([Qn([e,"optionalAccess",i=>i.globalAgent]),"optionalAccess",i=>i.protocol])||Qn([r.agent,"optionalAccess",i=>i.protocol])||Qn([r._defaultAgent,"optionalAccess",i=>i.protocol]):r.protocol=Qn([r.agent,"optionalAccess",i=>i.protocol])||Qn([r._defaultAgent,"optionalAccess",i=>i.protocol])||Qn([Qn([e,"optionalAccess",i=>i.globalAgent]),"optionalAccess",i=>i.protocol])),n?[r,n]:[r]}function yH(e){let t=e.protocol||"",n=e.hostname||e.host||"",r=!e.port||e.port===80||e.port===443||/^(.*):(\d+)$/.test(n)?"":`:${e.port}`;return{protocol:t,hostname:n,port:r}}oo.cleanSpanDescription=Aoe;oo.extractRawUrl=boe;oo.extractUrl=bH;oo.normalizeRequestArgs=Boe;oo.urlToOptions=i0});var dI=d(As=>{"use strict";var{_optionalChain:bs}=W();Object.defineProperty(As,"__esModule",{value:!0});var at=Q(),Qt=W(),o0=Gc(),Goe=to(),Zc=AH(),Zoe=(e={})=>{let{breadcrumbs:t,tracing:n,shouldCreateSpanForRequest:r}=e,i={breadcrumbs:t,tracing:n===!1?!1:Qt.dropUndefinedKeys({enableIfHasTracingEnabled:n===!0?void 0:!0,shouldCreateSpanForRequest:r})};return new ys(i)},voe=at.defineIntegration(Zoe),ys=class e{static __initStatic(){this.id="Http"}__init(){this.name=e.id}constructor(t={}){e.prototype.__init.call(this),this._breadcrumbs=typeof t.breadcrumbs>"u"?!0:t.breadcrumbs,this._tracing=t.tracing?t.tracing===!0?{}:t.tracing:void 0}setupOnce(t,n){let r=bs([n,"call",u=>u(),"access",u=>u.getClient,"call",u=>u(),"optionalAccess",u=>u.getOptions,"call",u=>u()]),i=GH(this._tracing,r);if(!this._breadcrumbs&&!i)return;if(r&&r.instrumenter!=="sentry"){o0.DEBUG_BUILD&&Qt.logger.log("HTTP Integration is skipped because of instrumenter configuration.");return}let o=ZH(i,this._tracing,r),s=bs([r,"optionalAccess",u=>u.tracePropagationTargets])||bs([this,"access",u=>u._tracing,"optionalAccess",u=>u.tracePropagationTargets]),a=require("http"),c=BH(a,this._breadcrumbs,o,s);if(Qt.fill(a,"get",c),Qt.fill(a,"request",c),Goe.NODE_VERSION.major>8){let u=require("https"),l=BH(u,this._breadcrumbs,o,s);Qt.fill(u,"get",l),Qt.fill(u,"request",l)}}};ys.__initStatic();function BH(e,t,n,r){let i=new Qt.LRUMap(100),o=new Qt.LRUMap(100),s=u=>{if(n===void 0)return!0;let l=i.get(u);if(l!==void 0)return l;let g=n(u);return i.set(u,g),g},a=u=>{if(r===void 0)return!0;let l=o.get(u);if(l!==void 0)return l;let g=Qt.stringMatchesSomePattern(u,r);return o.set(u,g),g};function c(u,l,g,f){at.getCurrentHub().getIntegration(ys)&&at.addBreadcrumb({category:"http",data:{status_code:f&&f.statusCode,...l},type:"http"},{event:u,request:g,response:f})}return function(l){return function(...f){let I=Zc.normalizeRequestArgs(e,f),m=I[0],C=Zc.extractRawUrl(m),b=Zc.extractUrl(m),v=at.getClient();if(at.isSentryRequestUrl(b,v))return l.apply(e,I);let Y=at.getCurrentScope(),k=at.getIsolationScope(),ee=at.getActiveSpan(),re=Roe(b,m),N=s(C)?bs([ee,"optionalAccess",J=>J.startChild,"call",J=>J({op:"http.client",origin:"auto.http.node.http",description:`${re["http.method"]} ${re.url}`,data:re})]):void 0;if(v&&a(C)){let{traceId:J,spanId:q,sampled:x,dsc:z}={...k.getPropagationContext(),...Y.getPropagationContext()},j=N?at.spanToTraceHeader(N):Qt.generateSentryTraceHeader(J,q,x),oe=Qt.dynamicSamplingContextToSentryBaggageHeader(z||(N?at.getDynamicSamplingContextFromSpan(N):at.getDynamicSamplingContextFromClient(J,v,Y)));Soe(m,b,j,oe)}else o0.DEBUG_BUILD&&Qt.logger.log(`[Tracing] Not adding sentry-trace header to outgoing request (${b}) due to mismatching tracePropagationTargets option.`);return l.apply(e,I).once("response",function(J){let q=this;t&&c("response",re,q,J),N&&(J.statusCode&&at.setHttpStatus(N,J.statusCode),N.updateName(Zc.cleanSpanDescription(at.spanToJSON(N).description||"",m,q)||""),N.end())}).once("error",function(){let J=this;t&&c("error",re,J),N&&(at.setHttpStatus(N,500),N.updateName(Zc.cleanSpanDescription(at.spanToJSON(N).description||"",m,J)||""),N.end())})}}}function Soe(e,t,n,r){(e.headers||{})["sentry-trace"]||(o0.DEBUG_BUILD&&Qt.logger.log(`[Tracing] Adding sentry-trace header ${n} to outgoing request to "${t}": `),e.headers={...e.headers,"sentry-trace":n,...r&&r.length>0&&{baggage:Woe(e,r)}})}function Roe(e,t){let n=t.method||"GET",r={url:e,"http.method":n};return t.hash&&(r["http.fragment"]=t.hash.substring(1)),t.search&&(r["http.query"]=t.search.substring(1)),r}function Woe(e,t){if(!e.headers||!e.headers.baggage)return t;if(t){if(Array.isArray(e.headers.baggage))return[...e.headers.baggage,t]}else return e.headers.baggage;return[e.headers.baggage,t]}function GH(e,t){return e===void 0?!1:e.enableIfHasTracingEnabled?at.hasTracingEnabled(t):!0}function ZH(e,t,n){return e?bs([t,"optionalAccess",i=>i.shouldCreateSpanForRequest])||bs([n,"optionalAccess",i=>i.shouldCreateSpanForRequest]):()=>!1}As.Http=ys;As._getShouldCreateSpanForRequest=ZH;As._shouldCreateSpans=GH;As.httpIntegration=voe});var SH=d(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});function Noe(e,t,n){let r=0,i=5,o=0;return setInterval(()=>{o===0?r>e&&(i*=2,n(i),i>86400&&(i=86400),o=i):(o-=1,o===0&&t()),r=0},1e3).unref(),()=>{r+=1}}function s0(e){return e!==void 0&&(e.length===0||e==="?"||e==="<anonymous>")}function Voe(e,t){return e===t||s0(e)&&s0(t)}function vH(e){if(e!==void 0)return e.slice(-10).reduce((t,n)=>`${t},${n.function},${n.lineno},${n.colno}`,"")}function _oe(e,t){if(t!==void 0)return vH(e(t,1))}so.createRateLimiter=Noe;so.functionNamesMatch=Voe;so.hashFrames=vH;so.hashFromStack=_oe;so.isAnonymous=s0});var NH=d(vc=>{"use strict";var{_optionalChain:ve}=W();Object.defineProperty(vc,"__esModule",{value:!0});var c0=Q(),gI=W(),Eoe=to(),fI=SH();function u0(e){let t=[],n=!1;function r(s){t=[],!n&&(n=!0,e(s))}t.push(r);function i(s){t.push(s)}function o(s){let a=t.pop()||r;try{a(s)}catch{r(s)}}return{add:i,next:o}}var a0=class{constructor(){let{Session:t}=require("inspector");this._session=new t}configureAndConnect(t,n){this._session.connect(),this._session.on("Debugger.paused",r=>{t(r,()=>{this._session.post("Debugger.resume")})}),this._session.post("Debugger.enable"),this._session.post("Debugger.setPauseOnExceptions",{state:n?"all":"uncaught"})}setPauseOnExceptions(t){this._session.post("Debugger.setPauseOnExceptions",{state:t?"all":"uncaught"})}getLocalVariables(t,n){this._getProperties(t,r=>{let{add:i,next:o}=u0(n);for(let s of r)if(ve([s,"optionalAccess",a=>a.value,"optionalAccess",a=>a.objectId])&&ve([s,"optionalAccess",a=>a.value,"access",a=>a.className])==="Array"){let a=s.value.objectId;i(c=>this._unrollArray(a,s.name,c,o))}else if(ve([s,"optionalAccess",a=>a.value,"optionalAccess",a=>a.objectId])&&ve([s,"optionalAccess",a=>a.value,"optionalAccess",a=>a.className])==="Object"){let a=s.value.objectId;i(c=>this._unrollObject(a,s.name,c,o))}else(ve([s,"optionalAccess",a=>a.value,"optionalAccess",a=>a.value])!=null||ve([s,"optionalAccess",a=>a.value,"optionalAccess",a=>a.description])!=null)&&i(a=>this._unrollOther(s,a,o));o({})})}_getProperties(t,n){this._session.post("Runtime.getProperties",{objectId:t,ownProperties:!0},(r,i)=>{n(r?[]:i.result)})}_unrollArray(t,n,r,i){this._getProperties(t,o=>{r[n]=o.filter(s=>s.name!=="length"&&!isNaN(parseInt(s.name,10))).sort((s,a)=>parseInt(s.name,10)-parseInt(a.name,10)).map(s=>ve([s,"optionalAccess",a=>a.value,"optionalAccess",a=>a.value])),i(r)})}_unrollObject(t,n,r,i){this._getProperties(t,o=>{r[n]=o.map(s=>[s.name,ve([s,"optionalAccess",a=>a.value,"optionalAccess",a=>a.value])]).reduce((s,[a,c])=>(s[a]=c,s),{}),i(r)})}_unrollOther(t,n,r){ve([t,"optionalAccess",i=>i.value,"optionalAccess",i=>i.value])!=null?n[t.name]=t.value.value:ve([t,"optionalAccess",i=>i.value,"optionalAccess",i=>i.description])!=null&&ve([t,"optionalAccess",i=>i.value,"optionalAccess",i=>i.type])!=="function"&&(n[t.name]=`<${t.value.description}>`),r(n)}};function Hoe(){try{return new a0}catch{return}}var RH="LocalVariables",woe=(e={},t=Hoe())=>{let n=new gI.LRUMap(20),r,i=!1;function o(c,{params:{reason:u,data:l,callFrames:g}},f){if(u!=="exception"&&u!=="promiseRejection"){f();return}ve([r,"optionalCall",b=>b()]);let I=fI.hashFromStack(c,ve([l,"optionalAccess",b=>b.description]));if(I==null){f();return}let{add:m,next:C}=u0(b=>{n.set(I,b),f()});for(let b=0;b<Math.min(g.length,5);b++){let{scopeChain:v,functionName:Y,this:k}=g[b],ee=v.find(N=>N.type==="local"),re=k.className==="global"||!k.className?Y:`${k.className}.${Y}`;if(ve([ee,"optionalAccess",N=>N.object,"access",N=>N.objectId])===void 0)m(N=>{N[b]={function:re},C(N)});else{let N=ee.object.objectId;m(J=>ve([t,"optionalAccess",q=>q.getLocalVariables,"call",q=>q(N,x=>{J[b]={function:re,vars:x},C(J)})]))}}C([])}function s(c){let u=fI.hashFrames(ve([c,"optionalAccess",f=>f.stacktrace,"optionalAccess",f=>f.frames]));if(u===void 0)return;let l=n.remove(u);if(l===void 0)return;let g=(ve([c,"access",f=>f.stacktrace,"optionalAccess",f=>f.frames])||[]).filter(f=>f.function!=="new Promise");for(let f=0;f<g.length;f++){let I=g.length-f-1;if(!g[I]||!l[f])break;l[f].vars===void 0||g[I].in_app===!1||!fI.functionNamesMatch(g[I].function,l[f].function)||(g[I].vars=l[f].vars)}}function a(c){for(let u of ve([c,"optionalAccess",l=>l.exception,"optionalAccess",l=>l.values])||[])s(u);return c}return{name:RH,setupOnce(){let c=c0.getClient(),u=ve([c,"optionalAccess",l=>l.getOptions,"call",l=>l()]);if(t&&ve([u,"optionalAccess",l=>l.includeLocalVariables])){if(Eoe.NODE_VERSION.major<18){gI.logger.log("The `LocalVariables` integration is only supported on Node >= v18.");return}let g=e.captureAllExceptions!==!1;if(t.configureAndConnect((f,I)=>o(u.stackParser,f,I),g),g){let f=e.maxExceptionsPerSecond||50;r=fI.createRateLimiter(f,()=>{gI.logger.log("Local variables rate-limit lifted."),ve([t,"optionalAccess",I=>I.setPauseOnExceptions,"call",I=>I(!0)])},I=>{gI.logger.log(`Local variables rate-limit exceeded. Disabling capturing of caught exceptions for ${I} seconds.`),ve([t,"optionalAccess",m=>m.setPauseOnExceptions,"call",m=>m(!1)])})}i=!0}},processEvent(c){return i?a(c):c},_getCachedFramesCount(){return n.size},_getFirstCachedFrame(){return n.values()[0]}}},WH=c0.defineIntegration(woe),Yoe=c0.convertIntegrationFnToClass(RH,WH);vc.LocalVariablesSync=Yoe;vc.createCallbackList=u0;vc.localVariablesSyncIntegration=WH});var pI=d(II=>{"use strict";Object.defineProperty(II,"__esModule",{value:!0});var VH=NH(),Foe=VH.LocalVariablesSync,Toe=VH.localVariablesSyncIntegration;II.LocalVariables=Foe;II.localVariablesIntegration=Toe});var hI=d(mI=>{"use strict";Object.defineProperty(mI,"__esModule",{value:!0});var _H=require("fs"),EH=require("path"),HH=Q(),l0,wH="Modules";function Xoe(){try{return require.cache?Object.keys(require.cache):[]}catch{return[]}}function koe(){let e=require.main&&require.main.paths||[],t=Xoe(),n={},r={};return t.forEach(i=>{let o=i,s=()=>{let a=o;if(o=EH.dirname(a),!o||a===o||r[a])return;if(e.indexOf(o)<0)return s();let c=EH.join(a,"package.json");if(r[a]=!0,!_H.existsSync(c))return s();try{let u=JSON.parse(_H.readFileSync(c,"utf8"));n[u.name]=u.version}catch{}};s()}),n}function Koe(){return l0||(l0=koe()),l0}var xoe=()=>({name:wH,setupOnce(){},processEvent(e){return e.modules={...e.modules,...Koe()},e}}),YH=HH.defineIntegration(xoe),Loe=HH.convertIntegrationFnToClass(wH,YH);mI.Modules=Loe;mI.modulesIntegration=YH});var f0=d(g0=>{"use strict";Object.defineProperty(g0,"__esModule",{value:!0});var Uoe=Q(),CI=W(),d0=Gc(),Joe=2e3;function Ooe(e){CI.consoleSandbox(()=>{console.error(e)});let t=Uoe.getClient();t===void 0&&(d0.DEBUG_BUILD&&CI.logger.warn("No NodeClient was defined, we are exiting the process now."),global.process.exit(1));let n=t.getOptions(),r=n&&n.shutdownTimeout&&n.shutdownTimeout>0&&n.shutdownTimeout||Joe;t.close(r).then(i=>{i||d0.DEBUG_BUILD&&CI.logger.warn("We reached the timeout for emptying the request buffer, still exiting now!"),global.process.exit(1)},i=>{d0.DEBUG_BUILD&&CI.logger.error(i)})}g0.logAndExitProcess=Ooe});var yI=d(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});var bI=Q(),Moe=W(),Doe=Gc(),FH=f0(),TH="OnUncaughtException",qoe=(e={})=>{let t={exitEvenIfOtherHandlersAreRegistered:!0,...e};return{name:TH,setupOnce(){},setup(n){global.process.on("uncaughtException",kH(n,t))}}},XH=bI.defineIntegration(qoe),zoe=bI.convertIntegrationFnToClass(TH,XH);function kH(e,t){let r=!1,i=!1,o=!1,s,a=e.getOptions();return Object.assign(c=>{let u=FH.logAndExitProcess;t.onFatalError?u=t.onFatalError:a.onFatalError&&(u=a.onFatalError);let g=global.process.listeners("uncaughtException").reduce((I,m)=>m.name==="domainUncaughtExceptionClear"||m.tag&&m.tag==="sentry_tracingErrorCallback"||m._errorHandler?I:I+1,0)===0,f=t.exitEvenIfOtherHandlersAreRegistered||g;r?f&&(o?(Doe.DEBUG_BUILD&&Moe.logger.warn("uncaught exception after calling fatal error shutdown callback - this is bad! forcing shutdown"),FH.logAndExitProcess(c)):i||(i=!0,setTimeout(()=>{o||(o=!0,u(s,c))},2e3))):(s=c,r=!0,bI.getClient()===e&&bI.captureException(c,{originalException:c,captureContext:{level:"fatal"},mechanism:{handled:!1,type:"onuncaughtexception"}}),!o&&f&&(o=!0,u(c)))},{_errorHandler:!0})}Sc.OnUncaughtException=zoe;Sc.makeErrorHandler=kH;Sc.onUncaughtExceptionIntegration=XH});var BI=d(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});var AI=Q(),KH=W(),Poe=f0(),xH="OnUnhandledRejection",joe=(e={})=>{let t=e.mode||"warn";return{name:xH,setupOnce(){},setup(n){global.process.on("unhandledRejection",UH(n,{mode:t}))}}},LH=AI.defineIntegration(joe),Qoe=AI.convertIntegrationFnToClass(xH,LH);function UH(e,t){return function(r,i){AI.getClient()===e&&(AI.captureException(r,{originalException:i,captureContext:{extra:{unhandledPromiseRejection:!0}},mechanism:{handled:!1,type:"onunhandledrejection"}}),$oe(r,t))}}function $oe(e,t){let n="This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:";t.mode==="warn"?KH.consoleSandbox(()=>{console.warn(n),console.error(e&&e.stack?e.stack:e)}):t.mode==="strict"&&(KH.consoleSandbox(()=>{console.warn(n)}),Poe.logAndExitProcess(e))}Rc.OnUnhandledRejection=Qoe;Rc.makeUnhandledPromiseHandler=UH;Rc.onUnhandledRejectionIntegration=LH});var GI=d(Wc=>{"use strict";Object.defineProperty(Wc,"__esModule",{value:!0});var ese=require("http"),tse=require("url"),JH=Q(),Bs=W(),OH="Spotlight",nse=(e={})=>{let t={sidecarUrl:e.sidecarUrl||"http://localhost:8969/stream"};return{name:OH,setupOnce(){},setup(n){typeof process=="object"&&process.env&&process.env.NODE_ENV!=="development"&&Bs.logger.warn("[Spotlight] It seems you're not in dev mode. Do you really want to have Spotlight enabled?"),ise(n,t)}}},MH=JH.defineIntegration(nse),rse=JH.convertIntegrationFnToClass(OH,MH);function ise(e,t){let n=ose(t.sidecarUrl);if(!n)return;let r=0;if(typeof e.on!="function"){Bs.logger.warn("[Spotlight] Cannot connect to spotlight due to missing method on SDK client (`client.on`)");return}e.on("beforeEnvelope",i=>{if(r>3){Bs.logger.warn("[Spotlight] Disabled Sentry -> Spotlight integration due to too many failed requests");return}let o=Bs.serializeEnvelope(i),a=DH()({method:"POST",path:n.pathname,hostname:n.hostname,port:n.port,headers:{"Content-Type":"application/x-sentry-envelope"}},c=>{c.on("data",()=>{}),c.on("end",()=>{}),c.setEncoding("utf8")});a.on("error",()=>{r++,Bs.logger.warn("[Spotlight] Failed to send envelope to Spotlight Sidecar")}),a.write(o),a.end()})}function ose(e){try{return new tse.URL(`${e}`)}catch{Bs.logger.warn(`[Spotlight] Invalid sidecar URL: ${e}`);return}}function DH(){let{request:e}=ese;return sse(e)?e.__sentry_original__:e}function sse(e){return"__sentry_original__"in e}Wc.Spotlight=rse;Wc.getNativeHttpRequest=DH;Wc.spotlightIntegration=MH});var vI=d($n=>{"use strict";var{_optionalChain:ZI}=W();Object.defineProperty($n,"__esModule",{value:!0});var Ye=Q(),ao=W(),ase=to();$n.ChannelName=void 0;(function(e){let t="undici:request:create";e.RequestCreate=t;let n="undici:request:headers";e.RequestEnd=n;let r="undici:request:error";e.RequestError=r})($n.ChannelName||($n.ChannelName={}));var cse=e=>new Nc(e),use=Ye.defineIntegration(cse),Nc=class e{static __initStatic(){this.id="Undici"}__init(){this.name=e.id}__init2(){this._createSpanUrlMap=new ao.LRUMap(100)}__init3(){this._headersUrlMap=new ao.LRUMap(100)}constructor(t={}){e.prototype.__init.call(this),e.prototype.__init2.call(this),e.prototype.__init3.call(this),e.prototype.__init4.call(this),e.prototype.__init5.call(this),e.prototype.__init6.call(this),this._options={breadcrumbs:t.breadcrumbs===void 0?!0:t.breadcrumbs,tracing:t.tracing,shouldCreateSpanForRequest:t.shouldCreateSpanForRequest}}setupOnce(t){if(ase.NODE_VERSION.major<16)return;let n;try{n=require("diagnostics_channel")}catch{}!n||!n.subscribe||(n.subscribe($n.ChannelName.RequestCreate,this._onRequestCreate),n.subscribe($n.ChannelName.RequestEnd,this._onRequestEnd),n.subscribe($n.ChannelName.RequestError,this._onRequestError))}_shouldCreateSpan(t){if(this._options.tracing===!1||this._options.tracing===void 0&&!Ye.hasTracingEnabled())return!1;if(this._options.shouldCreateSpanForRequest===void 0)return!0;let n=this._createSpanUrlMap.get(t);if(n!==void 0)return n;let r=this._options.shouldCreateSpanForRequest(t);return this._createSpanUrlMap.set(t,r),r}__init4(){this._onRequestCreate=t=>{if(!ZI([Ye.getClient,"call",g=>g(),"optionalAccess",g=>g.getIntegration,"call",g=>g(e)]))return;let{request:n}=t,r=n.origin?n.origin.toString()+n.path:n.path,i=Ye.getClient();if(!i||Ye.isSentryRequestUrl(r,i)||n.__sentry_span__!==void 0)return;let o=i.getOptions(),s=Ye.getCurrentScope(),a=Ye.getIsolationScope(),c=Ye.getActiveSpan(),u=this._shouldCreateSpan(r)?dse(c,n,r):void 0;if(u&&(n.__sentry_span__=u),(g=>{if(o.tracePropagationTargets===void 0)return!0;let f=this._headersUrlMap.get(g);if(f!==void 0)return f;let I=ao.stringMatchesSomePattern(g,o.tracePropagationTargets);return this._headersUrlMap.set(g,I),I})(r)){let{traceId:g,spanId:f,sampled:I,dsc:m}={...a.getPropagationContext(),...s.getPropagationContext()},C=u?Ye.spanToTraceHeader(u):ao.generateSentryTraceHeader(g,f,I),b=ao.dynamicSamplingContextToSentryBaggageHeader(m||(u?Ye.getDynamicSamplingContextFromSpan(u):Ye.getDynamicSamplingContextFromClient(g,i,s)));lse(n,C,b)}}}__init5(){this._onRequestEnd=t=>{if(!ZI([Ye.getClient,"call",s=>s(),"optionalAccess",s=>s.getIntegration,"call",s=>s(e)]))return;let{request:n,response:r}=t,i=n.origin?n.origin.toString()+n.path:n.path;if(Ye.isSentryRequestUrl(i,Ye.getClient()))return;let o=n.__sentry_span__;o&&(Ye.setHttpStatus(o,r.statusCode),o.end()),this._options.breadcrumbs&&Ye.addBreadcrumb({category:"http",data:{method:n.method,status_code:r.statusCode,url:i},type:"http"},{event:"response",request:n,response:r})}}__init6(){this._onRequestError=t=>{if(!ZI([Ye.getClient,"call",o=>o(),"optionalAccess",o=>o.getIntegration,"call",o=>o(e)]))return;let{request:n}=t,r=n.origin?n.origin.toString()+n.path:n.path;if(Ye.isSentryRequestUrl(r,Ye.getClient()))return;let i=n.__sentry_span__;i&&(i.setStatus("internal_error"),i.end()),this._options.breadcrumbs&&Ye.addBreadcrumb({category:"http",data:{method:n.method,url:r},level:"error",type:"http"},{event:"error",request:n})}}};Nc.__initStatic();function lse(e,t,n){let r;Array.isArray(e.headers)?r=e.headers.some(i=>i==="sentry-trace"):r=e.headers.split(`\r
|
|
39
|
+
`).some(o=>o.startsWith("sentry-trace:")),!r&&(e.addHeader("sentry-trace",t),n&&e.addHeader("baggage",n))}function dse(e,t,n){let r=ao.parseUrl(n),i=t.method||"GET",o={"http.method":i};return r.search&&(o["http.query"]=r.search),r.hash&&(o["http.fragment"]=r.hash),ZI([e,"optionalAccess",s=>s.startChild,"call",s=>s({op:"http.client",origin:"auto.http.node.undici",description:`${i} ${ao.getSanitizedUrlString(r)}`,data:o})])}$n.Undici=Nc;$n.nativeNodeFetchintegration=use});var p0=d(I0=>{"use strict";Object.defineProperty(I0,"__esModule",{value:!0});var qH=require("path"),gse=W();function zH(e){return e.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}function fse(e=process.argv[1]?gse.dirname(process.argv[1]):process.cwd(),t=qH.sep==="\\"){let n=t?zH(e):e;return r=>{if(!r)return;let i=t?zH(r):r,{dir:o,base:s,ext:a}=qH.posix.parse(i);(a===".js"||a===".mjs"||a===".cjs")&&(s=s.slice(0,a.length*-1)),o||(o=".");let c=o.lastIndexOf("/node_modules");if(c>-1)return`${o.slice(c+14).replace(/\//g,".")}:${s}`;if(o.startsWith(n)){let u=o.slice(n.length+1).replace(/\//g,".");return u&&(u+=":"),u+=s,u}return s}}I0.createGetModuleFromFilename=fse});var m0=d(ii=>{"use strict";var{_optionalChain:Ise}=W();Object.defineProperty(ii,"__esModule",{value:!0});var In=Q(),co=W(),pse=nH(),mse=Ly(),hse=sI(),Cse=aI(),bse=lI(),yse=dI(),Ase=pI(),Bse=hI(),Gse=yI(),Zse=BI(),vse=GI(),Sse=vI(),Rse=p0(),Wse=zy(),PH=[In.inboundFiltersIntegration(),In.functionToStringIntegration(),In.linkedErrorsIntegration(),In.requestDataIntegration(),hse.consoleIntegration(),yse.httpIntegration(),Sse.nativeNodeFetchintegration(),Gse.onUncaughtExceptionIntegration(),Zse.onUnhandledRejectionIntegration(),bse.contextLinesIntegration(),Ase.localVariablesIntegration(),Cse.nodeContextIntegration(),Bse.modulesIntegration()];function jH(e){let t=In.getMainCarrier(),n=Ise([t,"access",r=>r.__SENTRY__,"optionalAccess",r=>r.integrations])||[];return[...PH,...n]}function Nse(e={}){pse.setNodeAsyncContextStrategy(),e.defaultIntegrations===void 0&&(e.defaultIntegrations=jH()),e.dsn===void 0&&(e.dsn="https://5a76d29d61ea79fd3ee038f276a6be21@o4510735861743616.ingest.de.sentry.io/4510735863840848");let t=process.env.SENTRY_TRACES_SAMPLE_RATE;if(e.tracesSampleRate===void 0&&t){let r=parseFloat(t);isFinite(r)&&(e.tracesSampleRate=r)}if(e.release===void 0){let r=QH();r!==void 0?e.release=r:e.autoSessionTracking=!1}e.environment===void 0&&process.env.SENTRY_ENVIRONMENT&&(e.environment=process.env.SENTRY_ENVIRONMENT),e.autoSessionTracking===void 0&&e.dsn!==void 0&&(e.autoSessionTracking=!0),e.instrumenter===void 0&&(e.instrumenter="sentry");let n={...e,stackParser:co.stackParserFromStackParserOptions(e.stackParser||$H),integrations:In.getIntegrationsToSetup(e),transport:e.transport||Wse.makeNodeTransport};if(In.initAndBind(e.clientClass||mse.NodeClient,n),e.autoSessionTracking&&_se(),Ese(),e.spotlight){let r=In.getClient();if(r&&r.addIntegration){let i=r.getOptions().integrations;for(let o of i)r.addIntegration(o);r.addIntegration(vse.spotlightIntegration({sidecarUrl:typeof e.spotlight=="string"?e.spotlight:void 0}))}}}function Vse(e){if(e===void 0)return!1;let t=e&&e.getOptions();return t&&t.autoSessionTracking!==void 0?t.autoSessionTracking:!1}function QH(e){return process.env.SENTRY_RELEASE?process.env.SENTRY_RELEASE:co.GLOBAL_OBJ.SENTRY_RELEASE&&co.GLOBAL_OBJ.SENTRY_RELEASE.id?co.GLOBAL_OBJ.SENTRY_RELEASE.id:process.env.GITHUB_SHA||process.env.COMMIT_REF||process.env.VERCEL_GIT_COMMIT_SHA||process.env.VERCEL_GITHUB_COMMIT_SHA||process.env.VERCEL_GITLAB_COMMIT_SHA||process.env.VERCEL_BITBUCKET_COMMIT_SHA||process.env.ZEIT_GITHUB_COMMIT_SHA||process.env.ZEIT_GITLAB_COMMIT_SHA||process.env.ZEIT_BITBUCKET_COMMIT_SHA||process.env.CF_PAGES_COMMIT_SHA||e}var $H=co.createStackParser(co.nodeStackLineParser(Rse.createGetModuleFromFilename()));function _se(){In.startSession(),process.on("beforeExit",()=>{let e=In.getIsolationScope().getSession();e&&!["exited","crashed"].includes(e.status)&&In.endSession()})}function Ese(){let e=(process.env.SENTRY_USE_ENVIRONMENT||"").toLowerCase();if(!["false","n","no","off","0"].includes(e)){let t=process.env.SENTRY_TRACE,n=process.env.SENTRY_BAGGAGE,r=co.propagationContextFromHeaders(t,n);In.getCurrentScope().setPropagationContext(r)}}ii.defaultIntegrations=PH;ii.defaultStackParser=$H;ii.getDefaultIntegrations=jH;ii.getSentryRelease=QH;ii.init=Nse;ii.isAutoSessionTrackingEnabled=Vse});var ew=d(C0=>{"use strict";Object.defineProperty(C0,"__esModule",{value:!0});var SI=require("fs"),h0=require("path");function Hse(e){let t=h0.resolve(e);if(!SI.existsSync(t))throw new Error(`Cannot read contents of ${t}. Directory does not exist.`);if(!SI.statSync(t).isDirectory())throw new Error(`Cannot read contents of ${t}, because it is not a directory.`);let n=r=>SI.readdirSync(r).reduce((i,o)=>{let s=h0.join(r,o);return SI.statSync(s).isDirectory()?i.concat(n(s)):(i.push(s),i)},[]);return n(t).map(r=>h0.relative(t,r))}C0.deepReadDirSync=Hse});var nw=d(tw=>{"use strict";tw.base64WorkerScript="aW1wb3J0IHsgU2Vzc2lvbiB9IGZyb20gJ2luc3BlY3Rvcic7CmltcG9ydCB7IHdvcmtlckRhdGEsIHBhcmVudFBvcnQgfSBmcm9tICd3b3JrZXJfdGhyZWFkcyc7CmltcG9ydCB7IHBvc2l4LCBzZXAgfSBmcm9tICdwYXRoJzsKaW1wb3J0ICogYXMgaHR0cCBmcm9tICdodHRwJzsKaW1wb3J0ICogYXMgaHR0cHMgZnJvbSAnaHR0cHMnOwppbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gJ3N0cmVhbSc7CmltcG9ydCB7IFVSTCB9IGZyb20gJ3VybCc7CmltcG9ydCB7IGNyZWF0ZUd6aXAgfSBmcm9tICd6bGliJzsKaW1wb3J0ICogYXMgbmV0IGZyb20gJ25ldCc7CmltcG9ydCAqIGFzIHRscyBmcm9tICd0bHMnOwoKLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZApjb25zdCBvYmplY3RUb1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CgovKioKICogQ2hlY2tzIHdoZXRoZXIgZ2l2ZW4gdmFsdWUncyB0eXBlIGlzIG9uZSBvZiBhIGZldyBFcnJvciBvciBFcnJvci1saWtlCiAqIHtAbGluayBpc0Vycm9yfS4KICoKICogQHBhcmFtIHdhdCBBIHZhbHVlIHRvIGJlIGNoZWNrZWQuCiAqIEByZXR1cm5zIEEgYm9vbGVhbiByZXByZXNlbnRpbmcgdGhlIHJlc3VsdC4KICovCmZ1bmN0aW9uIGlzRXJyb3Iod2F0KSB7CiAgc3dpdGNoIChvYmplY3RUb1N0cmluZy5jYWxsKHdhdCkpIHsKICAgIGNhc2UgJ1tvYmplY3QgRXJyb3JdJzoKICAgIGNhc2UgJ1tvYmplY3QgRXhjZXB0aW9uXSc6CiAgICBjYXNlICdbb2JqZWN0IERPTUV4Y2VwdGlvbl0nOgogICAgICByZXR1cm4gdHJ1ZTsKICAgIGRlZmF1bHQ6CiAgICAgIHJldHVybiBpc0luc3RhbmNlT2Yod2F0LCBFcnJvcik7CiAgfQp9Ci8qKgogKiBDaGVja3Mgd2hldGhlciBnaXZlbiB2YWx1ZSBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgZ2l2ZW4gYnVpbHQtaW4gY2xhc3MuCiAqCiAqIEBwYXJhbSB3YXQgVGhlIHZhbHVlIHRvIGJlIGNoZWNrZWQKICogQHBhcmFtIGNsYXNzTmFtZQogKiBAcmV0dXJucyBBIGJvb2xlYW4gcmVwcmVzZW50aW5nIHRoZSByZXN1bHQuCiAqLwpmdW5jdGlvbiBpc0J1aWx0aW4od2F0LCBjbGFzc05hbWUpIHsKICByZXR1cm4gb2JqZWN0VG9TdHJpbmcuY2FsbCh3YXQpID09PSBgW29iamVjdCAke2NsYXNzTmFtZX1dYDsKfQoKLyoqCiAqIENoZWNrcyB3aGV0aGVyIGdpdmVuIHZhbHVlJ3MgdHlwZSBpcyBhIHN0cmluZwogKiB7QGxpbmsgaXNTdHJpbmd9LgogKgogKiBAcGFyYW0gd2F0IEEgdmFsdWUgdG8gYmUgY2hlY2tlZC4KICogQHJldHVybnMgQSBib29sZWFuIHJlcHJlc2VudGluZyB0aGUgcmVzdWx0LgogKi8KZnVuY3Rpb24gaXNTdHJpbmcod2F0KSB7CiAgcmV0dXJuIGlzQnVpbHRpbih3YXQsICdTdHJpbmcnKTsKfQoKLyoqCiAqIENoZWNrcyB3aGV0aGVyIGdpdmVuIHZhbHVlJ3MgdHlwZSBpcyBhbiBvYmplY3QgbGl0ZXJhbCwgb3IgYSBjbGFzcyBpbnN0YW5jZS4KICoge0BsaW5rIGlzUGxhaW5PYmplY3R9LgogKgogKiBAcGFyYW0gd2F0IEEgdmFsdWUgdG8gYmUgY2hlY2tlZC4KICogQHJldHVybnMgQSBib29sZWFuIHJlcHJlc2VudGluZyB0aGUgcmVzdWx0LgogKi8KZnVuY3Rpb24gaXNQbGFpbk9iamVjdCh3YXQpIHsKICByZXR1cm4gaXNCdWlsdGluKHdhdCwgJ09iamVjdCcpOwp9CgovKioKICogQ2hlY2tzIHdoZXRoZXIgZ2l2ZW4gdmFsdWUncyB0eXBlIGlzIGFuIEV2ZW50IGluc3RhbmNlCiAqIHtAbGluayBpc0V2ZW50fS4KICoKICogQHBhcmFtIHdhdCBBIHZhbHVlIHRvIGJlIGNoZWNrZWQuCiAqIEByZXR1cm5zIEEgYm9vbGVhbiByZXByZXNlbnRpbmcgdGhlIHJlc3VsdC4KICovCmZ1bmN0aW9uIGlzRXZlbnQod2F0KSB7CiAgcmV0dXJuIHR5cGVvZiBFdmVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgaXNJbnN0YW5jZU9mKHdhdCwgRXZlbnQpOwp9CgovKioKICogQ2hlY2tzIHdoZXRoZXIgZ2l2ZW4gdmFsdWUncyB0eXBlIGlzIGFuIEVsZW1lbnQgaW5zdGFuY2UKICoge0BsaW5rIGlzRWxlbWVudH0uCiAqCiAqIEBwYXJhbSB3YXQgQSB2YWx1ZSB0byBiZSBjaGVja2VkLgogKiBAcmV0dXJucyBBIGJvb2xlYW4gcmVwcmVzZW50aW5nIHRoZSByZXN1bHQuCiAqLwpmdW5jdGlvbiBpc0VsZW1lbnQod2F0KSB7CiAgcmV0dXJuIHR5cGVvZiBFbGVtZW50ICE9PSAndW5kZWZpbmVkJyAmJiBpc0luc3RhbmNlT2Yod2F0LCBFbGVtZW50KTsKfQoKLyoqCiAqIENoZWNrcyB3aGV0aGVyIGdpdmVuIHZhbHVlIGhhcyBhIHRoZW4gZnVuY3Rpb24uCiAqIEBwYXJhbSB3YXQgQSB2YWx1ZSB0byBiZSBjaGVja2VkLgogKi8KZnVuY3Rpb24gaXNUaGVuYWJsZSh3YXQpIHsKICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzCiAgcmV0dXJuIEJvb2xlYW4od2F0ICYmIHdhdC50aGVuICYmIHR5cGVvZiB3YXQudGhlbiA9PT0gJ2Z1bmN0aW9uJyk7Cn0KCi8qKgogKiBDaGVja3Mgd2hldGhlciBnaXZlbiB2YWx1ZSdzIHR5cGUgaXMgYSBTeW50aGV0aWNFdmVudAogKiB7QGxpbmsgaXNTeW50aGV0aWNFdmVudH0uCiAqCiAqIEBwYXJhbSB3YXQgQSB2YWx1ZSB0byBiZSBjaGVja2VkLgogKiBAcmV0dXJucyBBIGJvb2xlYW4gcmVwcmVzZW50aW5nIHRoZSByZXN1bHQuCiAqLwpmdW5jdGlvbiBpc1N5bnRoZXRpY0V2ZW50KHdhdCkgewogIHJldHVybiBpc1BsYWluT2JqZWN0KHdhdCkgJiYgJ25hdGl2ZUV2ZW50JyBpbiB3YXQgJiYgJ3ByZXZlbnREZWZhdWx0JyBpbiB3YXQgJiYgJ3N0b3BQcm9wYWdhdGlvbicgaW4gd2F0Owp9CgovKioKICogQ2hlY2tzIHdoZXRoZXIgZ2l2ZW4gdmFsdWUgaXMgTmFOCiAqIHtAbGluayBpc05hTn0uCiAqCiAqIEBwYXJhbSB3YXQgQSB2YWx1ZSB0byBiZSBjaGVja2VkLgogKiBAcmV0dXJucyBBIGJvb2xlYW4gcmVwcmVzZW50aW5nIHRoZSByZXN1bHQuCiAqLwpmdW5jdGlvbiBpc05hTiQxKHdhdCkgewogIHJldHVybiB0eXBlb2Ygd2F0ID09PSAnbnVtYmVyJyAmJiB3YXQgIT09IHdhdDsKfQoKLyoqCiAqIENoZWNrcyB3aGV0aGVyIGdpdmVuIHZhbHVlJ3MgdHlwZSBpcyBhbiBpbnN0YW5jZSBvZiBwcm92aWRlZCBjb25zdHJ1Y3Rvci4KICoge0BsaW5rIGlzSW5zdGFuY2VPZn0uCiAqCiAqIEBwYXJhbSB3YXQgQSB2YWx1ZSB0byBiZSBjaGVja2VkLgogKiBAcGFyYW0gYmFzZSBBIGNvbnN0cnVjdG9yIHRvIGJlIHVzZWQgaW4gYSBjaGVjay4KICogQHJldHVybnMgQSBib29sZWFuIHJlcHJlc2VudGluZyB0aGUgcmVzdWx0LgogKi8KZnVuY3Rpb24gaXNJbnN0YW5jZU9mKHdhdCwgYmFzZSkgewogIHRyeSB7CiAgICByZXR1cm4gd2F0IGluc3RhbmNlb2YgYmFzZTsKICB9IGNhdGNoIChfZSkgewogICAgcmV0dXJuIGZhbHNlOwogIH0KfQoKLyoqCiAqIENoZWNrcyB3aGV0aGVyIGdpdmVuIHZhbHVlJ3MgdHlwZSBpcyBhIFZ1ZSBWaWV3TW9kZWwuCiAqCiAqIEBwYXJhbSB3YXQgQSB2YWx1ZSB0byBiZSBjaGVja2VkLgogKiBAcmV0dXJucyBBIGJvb2xlYW4gcmVwcmVzZW50aW5nIHRoZSByZXN1bHQuCiAqLwpmdW5jdGlvbiBpc1Z1ZVZpZXdNb2RlbCh3YXQpIHsKICAvLyBOb3QgdXNpbmcgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBiZWNhdXNlIGluIFZ1ZSAzIGl0IHdvdWxkIHJlYWQgdGhlIGluc3RhbmNlJ3MgU3ltYm9sKFN5bWJvbC50b1N0cmluZ1RhZykgcHJvcGVydHkuCiAgcmV0dXJuICEhKHR5cGVvZiB3YXQgPT09ICdvYmplY3QnICYmIHdhdCAhPT0gbnVsbCAmJiAoKHdhdCApLl9faXNWdWUgfHwgKHdhdCApLl9pc1Z1ZSkpOwp9CgovKiogSW50ZXJuYWwgZ2xvYmFsIHdpdGggY29tbW9uIHByb3BlcnRpZXMgYW5kIFNlbnRyeSBleHRlbnNpb25zICAqLwoKLy8gVGhlIGNvZGUgYmVsb3cgZm9yICdpc0dsb2JhbE9iaicgYW5kICdHTE9CQUxfT0JKJyB3YXMgY29waWVkIGZyb20gY29yZS1qcyBiZWZvcmUgbW9kaWZpY2F0aW9uCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS96bG9pcm9jay9jb3JlLWpzL2Jsb2IvMWI5NDRkZjU1MjgyY2RjOTljOTBkYjVmNDllYjBiNmVkYTJjYzBhMy9wYWNrYWdlcy9jb3JlLWpzL2ludGVybmFscy9nbG9iYWwuanMKLy8gY29yZS1qcyBoYXMgdGhlIGZvbGxvd2luZyBsaWNlbmNlOgovLwovLyBDb3B5cmlnaHQgKGMpIDIwMTQtMjAyMiBEZW5pcyBQdXNoa2FyZXYKLy8KLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQovLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAovLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzCi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Ci8vCi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgovLwovLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgovLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTgovLyBUSEUgU09GVFdBUkUuCgovKiogUmV0dXJucyAnb2JqJyBpZiBpdCdzIHRoZSBnbG9iYWwgb2JqZWN0LCBvdGhlcndpc2UgcmV0dXJucyB1bmRlZmluZWQgKi8KZnVuY3Rpb24gaXNHbG9iYWxPYmoob2JqKSB7CiAgcmV0dXJuIG9iaiAmJiBvYmouTWF0aCA9PSBNYXRoID8gb2JqIDogdW5kZWZpbmVkOwp9CgovKiogR2V0J3MgdGhlIGdsb2JhbCBvYmplY3QgZm9yIHRoZSBjdXJyZW50IEphdmFTY3JpcHQgcnVudGltZSAqLwpjb25zdCBHTE9CQUxfT0JKID0KICAodHlwZW9mIGdsb2JhbFRoaXMgPT0gJ29iamVjdCcgJiYgaXNHbG9iYWxPYmooZ2xvYmFsVGhpcykpIHx8CiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtZ2xvYmFscwogICh0eXBlb2Ygd2luZG93ID09ICdvYmplY3QnICYmIGlzR2xvYmFsT2JqKHdpbmRvdykpIHx8CiAgKHR5cGVvZiBzZWxmID09ICdvYmplY3QnICYmIGlzR2xvYmFsT2JqKHNlbGYpKSB8fAogICh0eXBlb2YgZ2xvYmFsID09ICdvYmplY3QnICYmIGlzR2xvYmFsT2JqKGdsb2JhbCkpIHx8CiAgKGZ1bmN0aW9uICgpIHsKICAgIHJldHVybiB0aGlzOwogIH0pKCkgfHwKICB7fTsKCi8qKgogKiBAZGVwcmVjYXRlZCBVc2UgR0xPQkFMX09CSiBpbnN0ZWFkIG9yIFdJTkRPVyBmcm9tIEBzZW50cnkvYnJvd3Nlci4gVGhpcyB3aWxsIGJlIHJlbW92ZWQgaW4gdjgKICovCmZ1bmN0aW9uIGdldEdsb2JhbE9iamVjdCgpIHsKICByZXR1cm4gR0xPQkFMX09CSiA7Cn0KCi8qKgogKiBSZXR1cm5zIGEgZ2xvYmFsIHNpbmdsZXRvbiBjb250YWluZWQgaW4gdGhlIGdsb2JhbCBgX19TRU5UUllfX2Agb2JqZWN0LgogKgogKiBJZiB0aGUgc2luZ2xldG9uIGRvZXNuJ3QgYWxyZWFkeSBleGlzdCBpbiBgX19TRU5UUllfX2AsIGl0IHdpbGwgYmUgY3JlYXRlZCB1c2luZyB0aGUgZ2l2ZW4gZmFjdG9yeQogKiBmdW5jdGlvbiBhbmQgYWRkZWQgdG8gdGhlIGBfX1NFTlRSWV9fYCBvYmplY3QuCiAqCiAqIEBwYXJhbSBuYW1lIG5hbWUgb2YgdGhlIGdsb2JhbCBzaW5nbGV0b24gb24gX19TRU5UUllfXwogKiBAcGFyYW0gY3JlYXRvciBjcmVhdG9yIEZhY3RvcnkgZnVuY3Rpb24gdG8gY3JlYXRlIHRoZSBzaW5nbGV0b24gaWYgaXQgZG9lc24ndCBhbHJlYWR5IGV4aXN0IG9uIGBfX1NFTlRSWV9fYAogKiBAcGFyYW0gb2JqIChPcHRpb25hbCkgVGhlIGdsb2JhbCBvYmplY3Qgb24gd2hpY2ggdG8gbG9vayBmb3IgYF9fU0VOVFJZX19gLCBpZiBub3QgYEdMT0JBTF9PQkpgJ3MgcmV0dXJuIHZhbHVlCiAqIEByZXR1cm5zIHRoZSBzaW5nbGV0b24KICovCmZ1bmN0aW9uIGdldEdsb2JhbFNpbmdsZXRvbihuYW1lLCBjcmVhdG9yLCBvYmopIHsKICBjb25zdCBnYmwgPSAob2JqIHx8IEdMT0JBTF9PQkopIDsKICBjb25zdCBfX1NFTlRSWV9fID0gKGdibC5fX1NFTlRSWV9fID0gZ2JsLl9fU0VOVFJZX18gfHwge30pOwogIGNvbnN0IHNpbmdsZXRvbiA9IF9fU0VOVFJZX19bbmFtZV0gfHwgKF9fU0VOVFJZX19bbmFtZV0gPSBjcmVhdG9yKCkpOwogIHJldHVybiBzaW5nbGV0b247Cn0KCi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgpjb25zdCBXSU5ET1cgPSBnZXRHbG9iYWxPYmplY3QoKTsKCmNvbnN0IERFRkFVTFRfTUFYX1NUUklOR19MRU5HVEggPSA4MDsKCi8qKgogKiBHaXZlbiBhIGNoaWxkIERPTSBlbGVtZW50LCByZXR1cm5zIGEgcXVlcnktc2VsZWN0b3Igc3RhdGVtZW50IGRlc2NyaWJpbmcgdGhhdAogKiBhbmQgaXRzIGFuY2VzdG9ycwogKiBlLmcuIFtIVE1MRWxlbWVudF0gPT4gYm9keSA+IGRpdiA+IGlucHV0I2Zvby5idG5bbmFtZT1iYXpdCiAqIEByZXR1cm5zIGdlbmVyYXRlZCBET00gcGF0aAogKi8KZnVuY3Rpb24gaHRtbFRyZWVBc1N0cmluZygKICBlbGVtLAogIG9wdGlvbnMgPSB7fSwKKSB7CiAgaWYgKCFlbGVtKSB7CiAgICByZXR1cm4gJzx1bmtub3duPic7CiAgfQoKICAvLyB0cnkvY2F0Y2ggYm90aDoKICAvLyAtIGFjY2Vzc2luZyBldmVudC50YXJnZXQgKHNlZSBnZXRzZW50cnkvcmF2ZW4tanMjODM4LCAjNzY4KQogIC8vIC0gYGh0bWxUcmVlQXNTdHJpbmdgIGJlY2F1c2UgaXQncyBjb21wbGV4LCBhbmQganVzdCBhY2Nlc3NpbmcgdGhlIERPTSBpbmNvcnJlY3RseQogIC8vIC0gY2FuIHRocm93IGFuIGV4Y2VwdGlvbiBpbiBzb21lIGNpcmN1bXN0YW5jZXMuCiAgdHJ5IHsKICAgIGxldCBjdXJyZW50RWxlbSA9IGVsZW0gOwogICAgY29uc3QgTUFYX1RSQVZFUlNFX0hFSUdIVCA9IDU7CiAgICBjb25zdCBvdXQgPSBbXTsKICAgIGxldCBoZWlnaHQgPSAwOwogICAgbGV0IGxlbiA9IDA7CiAgICBjb25zdCBzZXBhcmF0b3IgPSAnID4gJzsKICAgIGNvbnN0IHNlcExlbmd0aCA9IHNlcGFyYXRvci5sZW5ndGg7CiAgICBsZXQgbmV4dFN0cjsKICAgIGNvbnN0IGtleUF0dHJzID0gQXJyYXkuaXNBcnJheShvcHRpb25zKSA/IG9wdGlvbnMgOiBvcHRpb25zLmtleUF0dHJzOwogICAgY29uc3QgbWF4U3RyaW5nTGVuZ3RoID0gKCFBcnJheS5pc0FycmF5KG9wdGlvbnMpICYmIG9wdGlvbnMubWF4U3RyaW5nTGVuZ3RoKSB8fCBERUZBVUxUX01BWF9TVFJJTkdfTEVOR1RIOwoKICAgIHdoaWxlIChjdXJyZW50RWxlbSAmJiBoZWlnaHQrKyA8IE1BWF9UUkFWRVJTRV9IRUlHSFQpIHsKICAgICAgbmV4dFN0ciA9IF9odG1sRWxlbWVudEFzU3RyaW5nKGN1cnJlbnRFbGVtLCBrZXlBdHRycyk7CiAgICAgIC8vIGJhaWwgb3V0IGlmCiAgICAgIC8vIC0gbmV4dFN0ciBpcyB0aGUgJ2h0bWwnIGVsZW1lbnQKICAgICAgLy8gLSB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgdGhhdCB3b3VsZCBiZSBjcmVhdGVkIGV4Y2VlZHMgbWF4U3RyaW5nTGVuZ3RoCiAgICAgIC8vICAgKGlnbm9yZSB0aGlzIGxpbWl0IGlmIHdlIGFyZSBvbiB0aGUgZmlyc3QgaXRlcmF0aW9uKQogICAgICBpZiAobmV4dFN0ciA9PT0gJ2h0bWwnIHx8IChoZWlnaHQgPiAxICYmIGxlbiArIG91dC5sZW5ndGggKiBzZXBMZW5ndGggKyBuZXh0U3RyLmxlbmd0aCA+PSBtYXhTdHJpbmdMZW5ndGgpKSB7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KCiAgICAgIG91dC5wdXNoKG5leHRTdHIpOwoKICAgICAgbGVuICs9IG5leHRTdHIubGVuZ3RoOwogICAgICBjdXJyZW50RWxlbSA9IGN1cnJlbnRFbGVtLnBhcmVudE5vZGU7CiAgICB9CgogICAgcmV0dXJuIG91dC5yZXZlcnNlKCkuam9pbihzZXBhcmF0b3IpOwogIH0gY2F0Y2ggKF9vTykgewogICAgcmV0dXJuICc8dW5rbm93bj4nOwogIH0KfQoKLyoqCiAqIFJldHVybnMgYSBzaW1wbGUsIHF1ZXJ5LXNlbGVjdG9yIHJlcHJlc2VudGF0aW9uIG9mIGEgRE9NIGVsZW1lbnQKICogZS5nLiBbSFRNTEVsZW1lbnRdID0+IGlucHV0I2Zvby5idG5bbmFtZT1iYXpdCiAqIEByZXR1cm5zIGdlbmVyYXRlZCBET00gcGF0aAogKi8KZnVuY3Rpb24gX2h0bWxFbGVtZW50QXNTdHJpbmcoZWwsIGtleUF0dHJzKSB7CiAgY29uc3QgZWxlbSA9IGVsCgo7CgogIGNvbnN0IG91dCA9IFtdOwogIGxldCBjbGFzc05hbWU7CiAgbGV0IGNsYXNzZXM7CiAgbGV0IGtleTsKICBsZXQgYXR0cjsKICBsZXQgaTsKCiAgaWYgKCFlbGVtIHx8ICFlbGVtLnRhZ05hbWUpIHsKICAgIHJldHVybiAnJzsKICB9CgogIC8vIEB0cy1leHBlY3QtZXJyb3IgV0lORE9XIGhhcyBIVE1MRWxlbWVudAogIGlmIChXSU5ET1cuSFRNTEVsZW1lbnQpIHsKICAgIC8vIElmIHVzaW5nIHRoZSBjb21wb25lbnQgbmFtZSBhbm5vdGF0aW9uIHBsdWdpbiwgdGhpcyB2YWx1ZSBtYXkgYmUgYXZhaWxhYmxlIG9uIHRoZSBET00gbm9kZQogICAgaWYgKGVsZW0gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCAmJiBlbGVtLmRhdGFzZXQgJiYgZWxlbS5kYXRhc2V0WydzZW50cnlDb21wb25lbnQnXSkgewogICAgICByZXR1cm4gZWxlbS5kYXRhc2V0WydzZW50cnlDb21wb25lbnQnXTsKICAgIH0KICB9CgogIG91dC5wdXNoKGVsZW0udGFnTmFtZS50b0xvd2VyQ2FzZSgpKTsKCiAgLy8gUGFpcnMgb2YgYXR0cmlidXRlIGtleXMgZGVmaW5lZCBpbiBgc2VyaWFsaXplQXR0cmlidXRlYCBhbmQgdGhlaXIgdmFsdWVzIG9uIGVsZW1lbnQuCiAgY29uc3Qga2V5QXR0clBhaXJzID0KICAgIGtleUF0dHJzICYmIGtleUF0dHJzLmxlbmd0aAogICAgICA/IGtleUF0dHJzLmZpbHRlcihrZXlBdHRyID0+IGVsZW0uZ2V0QXR0cmlidXRlKGtleUF0dHIpKS5tYXAoa2V5QXR0ciA9PiBba2V5QXR0ciwgZWxlbS5nZXRBdHRyaWJ1dGUoa2V5QXR0cildKQogICAgICA6IG51bGw7CgogIGlmIChrZXlBdHRyUGFpcnMgJiYga2V5QXR0clBhaXJzLmxlbmd0aCkgewogICAga2V5QXR0clBhaXJzLmZvckVhY2goa2V5QXR0clBhaXIgPT4gewogICAgICBvdXQucHVzaChgWyR7a2V5QXR0clBhaXJbMF19PSIke2tleUF0dHJQYWlyWzFdfSJdYCk7CiAgICB9KTsKICB9IGVsc2UgewogICAgaWYgKGVsZW0uaWQpIHsKICAgICAgb3V0LnB1c2goYCMke2VsZW0uaWR9YCk7CiAgICB9CgogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdAogICAgY2xhc3NOYW1lID0gZWxlbS5jbGFzc05hbWU7CiAgICBpZiAoY2xhc3NOYW1lICYmIGlzU3RyaW5nKGNsYXNzTmFtZSkpIHsKICAgICAgY2xhc3NlcyA9IGNsYXNzTmFtZS5zcGxpdCgvXHMrLyk7CiAgICAgIGZvciAoaSA9IDA7IGkgPCBjbGFzc2VzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgb3V0LnB1c2goYC4ke2NsYXNzZXNbaV19YCk7CiAgICAgIH0KICAgIH0KICB9CiAgY29uc3QgYWxsb3dlZEF0dHJzID0gWydhcmlhLWxhYmVsJywgJ3R5cGUnLCAnbmFtZScsICd0aXRsZScsICdhbHQnXTsKICBmb3IgKGkgPSAwOyBpIDwgYWxsb3dlZEF0dHJzLmxlbmd0aDsgaSsrKSB7CiAgICBrZXkgPSBhbGxvd2VkQXR0cnNbaV07CiAgICBhdHRyID0gZWxlbS5nZXRBdHRyaWJ1dGUoa2V5KTsKICAgIGlmIChhdHRyKSB7CiAgICAgIG91dC5wdXNoKGBbJHtrZXl9PSIke2F0dHJ9Il1gKTsKICAgIH0KICB9CiAgcmV0dXJuIG91dC5qb2luKCcnKTsKfQoKLyoqCiAqIFRoaXMgc2VydmVzIGFzIGEgYnVpbGQgdGltZSBmbGFnIHRoYXQgd2lsbCBiZSB0cnVlIGJ5IGRlZmF1bHQsIGJ1dCBmYWxzZSBpbiBub24tZGVidWcgYnVpbGRzIG9yIGlmIHVzZXJzIHJlcGxhY2UgYF9fU0VOVFJZX0RFQlVHX19gIGluIHRoZWlyIGdlbmVyYXRlZCBjb2RlLgogKgogKiBBVFRFTlRJT046IFRoaXMgY29uc3RhbnQgbXVzdCBuZXZlciBjcm9zcyBwYWNrYWdlIGJvdW5kYXJpZXMgKGkuZS4gYmUgZXhwb3J0ZWQpIHRvIGd1YXJhbnRlZSB0aGF0IGl0IGNhbiBiZSB1c2VkIGZvciB0cmVlIHNoYWtpbmcuCiAqLwpjb25zdCBERUJVR19CVUlMRCQxID0gKHR5cGVvZiBfX1NFTlRSWV9ERUJVR19fID09PSAndW5kZWZpbmVkJyB8fCBfX1NFTlRSWV9ERUJVR19fKTsKCi8qKiBQcmVmaXggZm9yIGxvZ2dpbmcgc3RyaW5ncyAqLwpjb25zdCBQUkVGSVggPSAnU2VudHJ5IExvZ2dlciAnOwoKY29uc3QgQ09OU09MRV9MRVZFTFMgPSBbCiAgJ2RlYnVnJywKICAnaW5mbycsCiAgJ3dhcm4nLAogICdlcnJvcicsCiAgJ2xvZycsCiAgJ2Fzc2VydCcsCiAgJ3RyYWNlJywKXSA7CgovKiogVGhpcyBtYXkgYmUgbXV0YXRlZCBieSB0aGUgY29uc29sZSBpbnN0cnVtZW50YXRpb24uICovCmNvbnN0IG9yaWdpbmFsQ29uc29sZU1ldGhvZHMKCiA9IHt9OwoKLyoqIEpTRG9jICovCgovKioKICogVGVtcG9yYXJpbHkgZGlzYWJsZSBzZW50cnkgY29uc29sZSBpbnN0cnVtZW50YXRpb25zLgogKgogKiBAcGFyYW0gY2FsbGJhY2sgVGhlIGZ1bmN0aW9uIHRvIHJ1biBhZ2FpbnN0IHRoZSBvcmlnaW5hbCBgY29uc29sZWAgbWVzc2FnZXMKICogQHJldHVybnMgVGhlIHJlc3VsdHMgb2YgdGhlIGNhbGxiYWNrCiAqLwpmdW5jdGlvbiBjb25zb2xlU2FuZGJveChjYWxsYmFjaykgewogIGlmICghKCdjb25zb2xlJyBpbiBHTE9CQUxfT0JKKSkgewogICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgfQoKICBjb25zdCBjb25zb2xlID0gR0xPQkFMX09CSi5jb25zb2xlIDsKICBjb25zdCB3cmFwcGVkRnVuY3MgPSB7fTsKCiAgY29uc3Qgd3JhcHBlZExldmVscyA9IE9iamVjdC5rZXlzKG9yaWdpbmFsQ29uc29sZU1ldGhvZHMpIDsKCiAgLy8gUmVzdG9yZSBhbGwgd3JhcHBlZCBjb25zb2xlIG1ldGhvZHMKICB3cmFwcGVkTGV2ZWxzLmZvckVhY2gobGV2ZWwgPT4gewogICAgY29uc3Qgb3JpZ2luYWxDb25zb2xlTWV0aG9kID0gb3JpZ2luYWxDb25zb2xlTWV0aG9kc1tsZXZlbF0gOwogICAgd3JhcHBlZEZ1bmNzW2xldmVsXSA9IGNvbnNvbGVbbGV2ZWxdIDsKICAgIGNvbnNvbGVbbGV2ZWxdID0gb3JpZ2luYWxDb25zb2xlTWV0aG9kOwogIH0pOwoKICB0cnkgewogICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgfSBmaW5hbGx5IHsKICAgIC8vIFJldmVydCByZXN0b3JhdGlvbiB0byB3cmFwcGVkIHN0YXRlCiAgICB3cmFwcGVkTGV2ZWxzLmZvckVhY2gobGV2ZWwgPT4gewogICAgICBjb25zb2xlW2xldmVsXSA9IHdyYXBwZWRGdW5jc1tsZXZlbF0gOwogICAgfSk7CiAgfQp9CgpmdW5jdGlvbiBtYWtlTG9nZ2VyKCkgewogIGxldCBlbmFibGVkID0gZmFsc2U7CiAgY29uc3QgbG9nZ2VyID0gewogICAgZW5hYmxlOiAoKSA9PiB7CiAgICAgIGVuYWJsZWQgPSB0cnVlOwogICAgfSwKICAgIGRpc2FibGU6ICgpID0+IHsKICAgICAgZW5hYmxlZCA9IGZhbHNlOwogICAgfSwKICAgIGlzRW5hYmxlZDogKCkgPT4gZW5hYmxlZCwKICB9OwoKICBpZiAoREVCVUdfQlVJTEQkMSkgewogICAgQ09OU09MRV9MRVZFTFMuZm9yRWFjaChuYW1lID0+IHsKICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkKICAgICAgbG9nZ2VyW25hbWVdID0gKC4uLmFyZ3MpID0+IHsKICAgICAgICBpZiAoZW5hYmxlZCkgewogICAgICAgICAgY29uc29sZVNhbmRib3goKCkgPT4gewogICAgICAgICAgICBHTE9CQUxfT0JKLmNvbnNvbGVbbmFtZV0oYCR7UFJFRklYfVske25hbWV9XTpgLCAuLi5hcmdzKTsKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfTsKICAgIH0pOwogIH0gZWxzZSB7CiAgICBDT05TT0xFX0xFVkVMUy5mb3JFYWNoKG5hbWUgPT4gewogICAgICBsb2dnZXJbbmFtZV0gPSAoKSA9PiB1bmRlZmluZWQ7CiAgICB9KTsKICB9CgogIHJldHVybiBsb2dnZXIgOwp9Cgpjb25zdCBsb2dnZXIgPSBtYWtlTG9nZ2VyKCk7CgovKioKICogUmVuZGVycyB0aGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRHNuLgogKgogKiBCeSBkZWZhdWx0LCB0aGlzIHdpbGwgcmVuZGVyIHRoZSBwdWJsaWMgcmVwcmVzZW50YXRpb24gd2l0aG91dCB0aGUgcGFzc3dvcmQKICogY29tcG9uZW50LiBUbyBnZXQgdGhlIGRlcHJlY2F0ZWQgcHJpdmF0ZSByZXByZXNlbnRhdGlvbiwgc2V0IGB3aXRoUGFzc3dvcmRgCiAqIHRvIHRydWUuCiAqCiAqIEBwYXJhbSB3aXRoUGFzc3dvcmQgV2hlbiBzZXQgdG8gdHJ1ZSwgdGhlIHBhc3N3b3JkIHdpbGwgYmUgaW5jbHVkZWQuCiAqLwpmdW5jdGlvbiBkc25Ub1N0cmluZyhkc24sIHdpdGhQYXNzd29yZCA9IGZhbHNlKSB7CiAgY29uc3QgeyBob3N0LCBwYXRoLCBwYXNzLCBwb3J0LCBwcm9qZWN0SWQsIHByb3RvY29sLCBwdWJsaWNLZXkgfSA9IGRzbjsKICByZXR1cm4gKAogICAgYCR7cHJvdG9jb2x9Oi8vJHtwdWJsaWNLZXl9JHt3aXRoUGFzc3dvcmQgJiYgcGFzcyA/IGA6JHtwYXNzfWAgOiAnJ31gICsKICAgIGBAJHtob3N0fSR7cG9ydCA/IGA6JHtwb3J0fWAgOiAnJ30vJHtwYXRoID8gYCR7cGF0aH0vYCA6IHBhdGh9JHtwcm9qZWN0SWR9YAogICk7Cn0KCi8qKiBBbiBlcnJvciBlbWl0dGVkIGJ5IFNlbnRyeSBTREtzIGFuZCByZWxhdGVkIHV0aWxpdGllcy4gKi8KY2xhc3MgU2VudHJ5RXJyb3IgZXh0ZW5kcyBFcnJvciB7CiAgLyoqIERpc3BsYXkgbmFtZSBvZiB0aGlzIGVycm9yIGluc3RhbmNlLiAqLwoKICAgY29uc3RydWN0b3IoIG1lc3NhZ2UsIGxvZ0xldmVsID0gJ3dhcm4nKSB7CiAgICBzdXBlcihtZXNzYWdlKTt0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlOwogICAgdGhpcy5uYW1lID0gbmV3LnRhcmdldC5wcm90b3R5cGUuY29uc3RydWN0b3IubmFtZTsKICAgIC8vIFRoaXMgc2V0cyB0aGUgcHJvdG90eXBlIHRvIGJlIGBFcnJvcmAsIG5vdCBgU2VudHJ5RXJyb3JgLiBJdCdzIHVuY2xlYXIgd2h5IHdlIGRvIHRoaXMsIGJ1dCBjb21tZW50aW5nIHRoaXMgbGluZQogICAgLy8gb3V0IGNhdXNlcyB2YXJpb3VzIChzZWVtaW5nbHkgdG90YWxseSB1bnJlbGF0ZWQpIHBsYXl3cmlnaHQgdGVzdHMgY29uc2lzdGVudGx5IHRpbWUgb3V0LiBGWUksIHRoaXMgbWFrZXMKICAgIC8vIGluc3RhbmNlcyBvZiBgU2VudHJ5RXJyb3JgIGZhaWwgYG9iaiBpbnN0YW5jZW9mIFNlbnRyeUVycm9yYCBjaGVja3MuCiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgbmV3LnRhcmdldC5wcm90b3R5cGUpOwogICAgdGhpcy5sb2dMZXZlbCA9IGxvZ0xldmVsOwogIH0KfQoKLyoqCiAqIEVuY29kZXMgZ2l2ZW4gb2JqZWN0IGludG8gdXJsLWZyaWVuZGx5IGZvcm1hdAogKgogKiBAcGFyYW0gb2JqZWN0IEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHNlcmlhbGl6YWJsZSB2YWx1ZXMKICogQHJldHVybnMgc3RyaW5nIEVuY29kZWQKICovCmZ1bmN0aW9uIHVybEVuY29kZShvYmplY3QpIHsKICByZXR1cm4gT2JqZWN0LmtleXMob2JqZWN0KQogICAgLm1hcChrZXkgPT4gYCR7ZW5jb2RlVVJJQ29tcG9uZW50KGtleSl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdFtrZXldKX1gKQogICAgLmpvaW4oJyYnKTsKfQoKLyoqCiAqIFRyYW5zZm9ybXMgYW55IGBFcnJvcmAgb3IgYEV2ZW50YCBpbnRvIGEgcGxhaW4gb2JqZWN0IHdpdGggYWxsIG9mIHRoZWlyIGVudW1lcmFibGUgcHJvcGVydGllcywgYW5kIHNvbWUgb2YgdGhlaXIKICogbm9uLWVudW1lcmFibGUgcHJvcGVydGllcyBhdHRhY2hlZC4KICoKICogQHBhcmFtIHZhbHVlIEluaXRpYWwgc291cmNlIHRoYXQgd2UgaGF2ZSB0byB0cmFuc2Zvcm0gaW4gb3JkZXIgZm9yIGl0IHRvIGJlIHVzYWJsZSBieSB0aGUgc2VyaWFsaXplcgogKiBAcmV0dXJucyBBbiBFdmVudCBvciBFcnJvciB0dXJuZWQgaW50byBhbiBvYmplY3QgLSBvciB0aGUgdmFsdWUgYXJndXJtZW50IGl0c2VsZiwgd2hlbiB2YWx1ZSBpcyBuZWl0aGVyIGFuIEV2ZW50IG5vcgogKiAgYW4gRXJyb3IuCiAqLwpmdW5jdGlvbiBjb252ZXJ0VG9QbGFpbk9iamVjdCgKICB2YWx1ZSwKKQoKIHsKICBpZiAoaXNFcnJvcih2YWx1ZSkpIHsKICAgIHJldHVybiB7CiAgICAgIG1lc3NhZ2U6IHZhbHVlLm1lc3NhZ2UsCiAgICAgIG5hbWU6IHZhbHVlLm5hbWUsCiAgICAgIHN0YWNrOiB2YWx1ZS5zdGFjaywKICAgICAgLi4uZ2V0T3duUHJvcGVydGllcyh2YWx1ZSksCiAgICB9OwogIH0gZWxzZSBpZiAoaXNFdmVudCh2YWx1ZSkpIHsKICAgIGNvbnN0IG5ld09iagoKID0gewogICAgICB0eXBlOiB2YWx1ZS50eXBlLAogICAgICB0YXJnZXQ6IHNlcmlhbGl6ZUV2ZW50VGFyZ2V0KHZhbHVlLnRhcmdldCksCiAgICAgIGN1cnJlbnRUYXJnZXQ6IHNlcmlhbGl6ZUV2ZW50VGFyZ2V0KHZhbHVlLmN1cnJlbnRUYXJnZXQpLAogICAgICAuLi5nZXRPd25Qcm9wZXJ0aWVzKHZhbHVlKSwKICAgIH07CgogICAgaWYgKHR5cGVvZiBDdXN0b21FdmVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgaXNJbnN0YW5jZU9mKHZhbHVlLCBDdXN0b21FdmVudCkpIHsKICAgICAgbmV3T2JqLmRldGFpbCA9IHZhbHVlLmRldGFpbDsKICAgIH0KCiAgICByZXR1cm4gbmV3T2JqOwogIH0gZWxzZSB7CiAgICByZXR1cm4gdmFsdWU7CiAgfQp9CgovKiogQ3JlYXRlcyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdGFyZ2V0IG9mIGFuIGBFdmVudGAgb2JqZWN0ICovCmZ1bmN0aW9uIHNlcmlhbGl6ZUV2ZW50VGFyZ2V0KHRhcmdldCkgewogIHRyeSB7CiAgICByZXR1cm4gaXNFbGVtZW50KHRhcmdldCkgPyBodG1sVHJlZUFzU3RyaW5nKHRhcmdldCkgOiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGFyZ2V0KTsKICB9IGNhdGNoIChfb08pIHsKICAgIHJldHVybiAnPHVua25vd24+JzsKICB9Cn0KCi8qKiBGaWx0ZXJzIG91dCBhbGwgYnV0IGFuIG9iamVjdCdzIG93biBwcm9wZXJ0aWVzICovCmZ1bmN0aW9uIGdldE93blByb3BlcnRpZXMob2JqKSB7CiAgaWYgKHR5cGVvZiBvYmogPT09ICdvYmplY3QnICYmIG9iaiAhPT0gbnVsbCkgewogICAgY29uc3QgZXh0cmFjdGVkUHJvcHMgPSB7fTsKICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gb2JqKSB7CiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wZXJ0eSkpIHsKICAgICAgICBleHRyYWN0ZWRQcm9wc1twcm9wZXJ0eV0gPSAob2JqIClbcHJvcGVydHldOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gZXh0cmFjdGVkUHJvcHM7CiAgfSBlbHNlIHsKICAgIHJldHVybiB7fTsKICB9Cn0KCi8qKgogKiBHaXZlbiBhbnkgb2JqZWN0LCByZXR1cm4gYSBuZXcgb2JqZWN0IGhhdmluZyByZW1vdmVkIGFsbCBmaWVsZHMgd2hvc2UgdmFsdWUgd2FzIGB1bmRlZmluZWRgLgogKiBXb3JrcyByZWN1cnNpdmVseSBvbiBvYmplY3RzIGFuZCBhcnJheXMuCiAqCiAqIEF0dGVudGlvbjogVGhpcyBmdW5jdGlvbiBrZWVwcyBjaXJjdWxhciByZWZlcmVuY2VzIGluIHRoZSByZXR1cm5lZCBvYmplY3QuCiAqLwpmdW5jdGlvbiBkcm9wVW5kZWZpbmVkS2V5cyhpbnB1dFZhbHVlKSB7CiAgLy8gVGhpcyBtYXAga2VlcHMgdHJhY2sgb2Ygd2hhdCBhbHJlYWR5IHZpc2l0ZWQgbm9kZXMgbWFwIHRvLgogIC8vIE91ciBTZXQgLSBiYXNlZCBtZW1vQnVpbGRlciBkb2Vzbid0IHdvcmsgaGVyZSBiZWNhdXNlIHdlIHdhbnQgdG8gdGhlIG91dHB1dCBvYmplY3QgdG8gaGF2ZSB0aGUgc2FtZSBjaXJjdWxhcgogIC8vIHJlZmVyZW5jZXMgYXMgdGhlIGlucHV0IG9iamVjdC4KICBjb25zdCBtZW1vaXphdGlvbk1hcCA9IG5ldyBNYXAoKTsKCiAgLy8gVGhpcyBmdW5jdGlvbiBqdXN0IHByb3hpZXMgYF9kcm9wVW5kZWZpbmVkS2V5c2AgdG8ga2VlcCB0aGUgYG1lbW9CdWlsZGVyYCBvdXQgb2YgdGhpcyBmdW5jdGlvbidzIEFQSQogIHJldHVybiBfZHJvcFVuZGVmaW5lZEtleXMoaW5wdXRWYWx1ZSwgbWVtb2l6YXRpb25NYXApOwp9CgpmdW5jdGlvbiBfZHJvcFVuZGVmaW5lZEtleXMoaW5wdXRWYWx1ZSwgbWVtb2l6YXRpb25NYXApIHsKICBpZiAoaXNQb2pvKGlucHV0VmFsdWUpKSB7CiAgICAvLyBJZiB0aGlzIG5vZGUgaGFzIGFscmVhZHkgYmVlbiB2aXNpdGVkIGR1ZSB0byBhIGNpcmN1bGFyIHJlZmVyZW5jZSwgcmV0dXJuIHRoZSBvYmplY3QgaXQgd2FzIG1hcHBlZCB0byBpbiB0aGUgbmV3IG9iamVjdAogICAgY29uc3QgbWVtb1ZhbCA9IG1lbW9pemF0aW9uTWFwLmdldChpbnB1dFZhbHVlKTsKICAgIGlmIChtZW1vVmFsICE9PSB1bmRlZmluZWQpIHsKICAgICAgcmV0dXJuIG1lbW9WYWwgOwogICAgfQoKICAgIGNvbnN0IHJldHVyblZhbHVlID0ge307CiAgICAvLyBTdG9yZSB0aGUgbWFwcGluZyBvZiB0aGlzIHZhbHVlIGluIGNhc2Ugd2UgdmlzaXQgaXQgYWdhaW4sIGluIGNhc2Ugb2YgY2lyY3VsYXIgZGF0YQogICAgbWVtb2l6YXRpb25NYXAuc2V0KGlucHV0VmFsdWUsIHJldHVyblZhbHVlKTsKCiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhpbnB1dFZhbHVlKSkgewogICAgICBpZiAodHlwZW9mIGlucHV0VmFsdWVba2V5XSAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICByZXR1cm5WYWx1ZVtrZXldID0gX2Ryb3BVbmRlZmluZWRLZXlzKGlucHV0VmFsdWVba2V5XSwgbWVtb2l6YXRpb25NYXApOwogICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJldHVyblZhbHVlIDsKICB9CgogIGlmIChBcnJheS5pc0FycmF5KGlucHV0VmFsdWUpKSB7CiAgICAvLyBJZiB0aGlzIG5vZGUgaGFzIGFscmVhZHkgYmVlbiB2aXNpdGVkIGR1ZSB0byBhIGNpcmN1bGFyIHJlZmVyZW5jZSwgcmV0dXJuIHRoZSBhcnJheSBpdCB3YXMgbWFwcGVkIHRvIGluIHRoZSBuZXcgb2JqZWN0CiAgICBjb25zdCBtZW1vVmFsID0gbWVtb2l6YXRpb25NYXAuZ2V0KGlucHV0VmFsdWUpOwogICAgaWYgKG1lbW9WYWwgIT09IHVuZGVmaW5lZCkgewogICAgICByZXR1cm4gbWVtb1ZhbCA7CiAgICB9CgogICAgY29uc3QgcmV0dXJuVmFsdWUgPSBbXTsKICAgIC8vIFN0b3JlIHRoZSBtYXBwaW5nIG9mIHRoaXMgdmFsdWUgaW4gY2FzZSB3ZSB2aXNpdCBpdCBhZ2FpbiwgaW4gY2FzZSBvZiBjaXJjdWxhciBkYXRhCiAgICBtZW1vaXphdGlvbk1hcC5zZXQoaW5wdXRWYWx1ZSwgcmV0dXJuVmFsdWUpOwoKICAgIGlucHV0VmFsdWUuZm9yRWFjaCgoaXRlbSkgPT4gewogICAgICByZXR1cm5WYWx1ZS5wdXNoKF9kcm9wVW5kZWZpbmVkS2V5cyhpdGVtLCBtZW1vaXphdGlvbk1hcCkpOwogICAgfSk7CgogICAgcmV0dXJuIHJldHVyblZhbHVlIDsKICB9CgogIHJldHVybiBpbnB1dFZhbHVlOwp9CgpmdW5jdGlvbiBpc1Bvam8oaW5wdXQpIHsKICBpZiAoIWlzUGxhaW5PYmplY3QoaW5wdXQpKSB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICB0cnkgewogICAgY29uc3QgbmFtZSA9IChPYmplY3QuZ2V0UHJvdG90eXBlT2YoaW5wdXQpICkuY29uc3RydWN0b3IubmFtZTsKICAgIHJldHVybiAhbmFtZSB8fCBuYW1lID09PSAnT2JqZWN0JzsKICB9IGNhdGNoIChlKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9Cn0KCi8qKgogKiBEb2VzIHRoaXMgZmlsZW5hbWUgbG9vayBsaWtlIGl0J3MgcGFydCBvZiB0aGUgYXBwIGNvZGU/CiAqLwpmdW5jdGlvbiBmaWxlbmFtZUlzSW5BcHAoZmlsZW5hbWUsIGlzTmF0aXZlID0gZmFsc2UpIHsKICBjb25zdCBpc0ludGVybmFsID0KICAgIGlzTmF0aXZlIHx8CiAgICAoZmlsZW5hbWUgJiYKICAgICAgLy8gSXQncyBub3QgaW50ZXJuYWwgaWYgaXQncyBhbiBhYnNvbHV0ZSBsaW51eCBwYXRoCiAgICAgICFmaWxlbmFtZS5zdGFydHNXaXRoKCcvJykgJiYKICAgICAgLy8gSXQncyBub3QgaW50ZXJuYWwgaWYgaXQncyBhbiBhYnNvbHV0ZSB3aW5kb3dzIHBhdGgKICAgICAgIWZpbGVuYW1lLm1hdGNoKC9eW0EtWl06LykgJiYKICAgICAgLy8gSXQncyBub3QgaW50ZXJuYWwgaWYgdGhlIHBhdGggaXMgc3RhcnRpbmcgd2l0aCBhIGRvdAogICAgICAhZmlsZW5hbWUuc3RhcnRzV2l0aCgnLicpICYmCiAgICAgIC8vIEl0J3Mgbm90IGludGVybmFsIGlmIHRoZSBmcmFtZSBoYXMgYSBwcm90b2NvbC4gSW4gbm9kZSwgdGhpcyBpcyB1c3VhbGx5IHRoZSBjYXNlIGlmIHRoZSBmaWxlIGdvdCBwcmUtcHJvY2Vzc2VkIHdpdGggYSBidW5kbGVyIGxpa2Ugd2VicGFjawogICAgICAhZmlsZW5hbWUubWF0Y2goL15bYS16QS1aXShbYS16QS1aMC05LlwtK10pKjpcL1wvLykpOyAvLyBTY2hlbWEgZnJvbTogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzM2NDE3ODIKCiAgLy8gaW5fYXBwIGlzIGFsbCB0aGF0J3Mgbm90IGFuIGludGVybmFsIE5vZGUgZnVuY3Rpb24gb3IgYSBtb2R1bGUgd2l0aGluIG5vZGVfbW9kdWxlcwogIC8vIG5vdGUgdGhhdCBpc05hdGl2ZSBhcHBlYXJzIHRvIHJldHVybiB0cnVlIGV2ZW4gZm9yIG5vZGUgY29yZSBsaWJyYXJpZXMKICAvLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2dldHNlbnRyeS9yYXZlbi1ub2RlL2lzc3Vlcy8xNzYKCiAgcmV0dXJuICFpc0ludGVybmFsICYmIGZpbGVuYW1lICE9PSB1bmRlZmluZWQgJiYgIWZpbGVuYW1lLmluY2x1ZGVzKCdub2RlX21vZHVsZXMvJyk7Cn0KCmNvbnN0IFNUQUNLVFJBQ0VfRlJBTUVfTElNSVQgPSA1MDsKY29uc3QgU1RSSVBfRlJBTUVfUkVHRVhQID0gL2NhcHR1cmVNZXNzYWdlfGNhcHR1cmVFeGNlcHRpb24vOwoKLyoqCiAqIFJlbW92ZXMgU2VudHJ5IGZyYW1lcyBmcm9tIHRoZSB0b3AgYW5kIGJvdHRvbSBvZiB0aGUgc3RhY2sgaWYgcHJlc2VudCBhbmQgZW5mb3JjZXMgYSBsaW1pdCBvZiBtYXggbnVtYmVyIG9mIGZyYW1lcy4KICogQXNzdW1lcyBzdGFjayBpbnB1dCBpcyBvcmRlcmVkIGZyb20gdG9wIHRvIGJvdHRvbSBhbmQgcmV0dXJucyB0aGUgcmV2ZXJzZSByZXByZXNlbnRhdGlvbiBzbyBjYWxsIHNpdGUgb2YgdGhlCiAqIGZ1bmN0aW9uIHRoYXQgY2F1c2VkIHRoZSBjcmFzaCBpcyB0aGUgbGFzdCBmcmFtZSBpbiB0aGUgYXJyYXkuCiAqIEBoaWRkZW4KICovCmZ1bmN0aW9uIHN0cmlwU2VudHJ5RnJhbWVzQW5kUmV2ZXJzZShzdGFjaykgewogIGlmICghc3RhY2subGVuZ3RoKSB7CiAgICByZXR1cm4gW107CiAgfQoKICBjb25zdCBsb2NhbFN0YWNrID0gQXJyYXkuZnJvbShzdGFjayk7CgogIC8vIElmIHN0YWNrIHN0YXJ0cyB3aXRoIG9uZSBvZiBvdXIgQVBJIGNhbGxzLCByZW1vdmUgaXQgKHN0YXJ0cywgbWVhbmluZyBpdCdzIHRoZSB0b3Agb2YgdGhlIHN0YWNrIC0gYWthIGxhc3QgY2FsbCkKICBpZiAoL3NlbnRyeVdyYXBwZWQvLnRlc3QobG9jYWxTdGFja1tsb2NhbFN0YWNrLmxlbmd0aCAtIDFdLmZ1bmN0aW9uIHx8ICcnKSkgewogICAgbG9jYWxTdGFjay5wb3AoKTsKICB9CgogIC8vIFJldmVyc2luZyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBwcm9jZWR1cmUgYWxsb3dzIHVzIHRvIGp1c3QgcG9wIHRoZSB2YWx1ZXMgb2ZmIHRoZSBzdGFjawogIGxvY2FsU3RhY2sucmV2ZXJzZSgpOwoKICAvLyBJZiBzdGFjayBlbmRzIHdpdGggb25lIG9mIG91ciBpbnRlcm5hbCBBUEkgY2FsbHMsIHJlbW92ZSBpdCAoZW5kcywgbWVhbmluZyBpdCdzIHRoZSBib3R0b20gb2YgdGhlIHN0YWNrIC0gYWthIHRvcC1tb3N0IGNhbGwpCiAgaWYgKFNUUklQX0ZSQU1FX1JFR0VYUC50ZXN0KGxvY2FsU3RhY2tbbG9jYWxTdGFjay5sZW5ndGggLSAxXS5mdW5jdGlvbiB8fCAnJykpIHsKICAgIGxvY2FsU3RhY2sucG9wKCk7CgogICAgLy8gV2hlbiB1c2luZyBzeW50aGV0aWMgZXZlbnRzLCB3ZSB3aWxsIGhhdmUgYSAyIGxldmVscyBkZWVwIHN0YWNrLCBhcyBgbmV3IEVycm9yKCdTZW50cnkgc3ludGhldGljRXhjZXB0aW9uJylgCiAgICAvLyBpcyBwcm9kdWNlZCB3aXRoaW4gdGhlIGh1YiBpdHNlbGYsIG1ha2luZyBpdDoKICAgIC8vCiAgICAvLyAgIFNlbnRyeS5jYXB0dXJlRXhjZXB0aW9uKCkKICAgIC8vICAgZ2V0Q3VycmVudEh1YigpLmNhcHR1cmVFeGNlcHRpb24oKQogICAgLy8KICAgIC8vIGluc3RlYWQgb2YganVzdCB0aGUgdG9wIGBTZW50cnlgIGNhbGwgaXRzZWxmLgogICAgLy8gVGhpcyBmb3JjZXMgdXMgdG8gcG9zc2libHkgc3RyaXAgYW4gYWRkaXRpb25hbCBmcmFtZSBpbiB0aGUgZXhhY3Qgc2FtZSB3YXMgYXMgYWJvdmUuCiAgICBpZiAoU1RSSVBfRlJBTUVfUkVHRVhQLnRlc3QobG9jYWxTdGFja1tsb2NhbFN0YWNrLmxlbmd0aCAtIDFdLmZ1bmN0aW9uIHx8ICcnKSkgewogICAgICBsb2NhbFN0YWNrLnBvcCgpOwogICAgfQogIH0KCiAgcmV0dXJuIGxvY2FsU3RhY2suc2xpY2UoMCwgU1RBQ0tUUkFDRV9GUkFNRV9MSU1JVCkubWFwKGZyYW1lID0+ICh7CiAgICAuLi5mcmFtZSwKICAgIGZpbGVuYW1lOiBmcmFtZS5maWxlbmFtZSB8fCBsb2NhbFN0YWNrW2xvY2FsU3RhY2subGVuZ3RoIC0gMV0uZmlsZW5hbWUsCiAgICBmdW5jdGlvbjogZnJhbWUuZnVuY3Rpb24gfHwgJz8nLAogIH0pKTsKfQoKY29uc3QgZGVmYXVsdEZ1bmN0aW9uTmFtZSA9ICc8YW5vbnltb3VzPic7CgovKioKICogU2FmZWx5IGV4dHJhY3QgZnVuY3Rpb24gbmFtZSBmcm9tIGl0c2VsZgogKi8KZnVuY3Rpb24gZ2V0RnVuY3Rpb25OYW1lKGZuKSB7CiAgdHJ5IHsKICAgIGlmICghZm4gfHwgdHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7CiAgICAgIHJldHVybiBkZWZhdWx0RnVuY3Rpb25OYW1lOwogICAgfQogICAgcmV0dXJuIGZuLm5hbWUgfHwgZGVmYXVsdEZ1bmN0aW9uTmFtZTsKICB9IGNhdGNoIChlKSB7CiAgICAvLyBKdXN0IGFjY2Vzc2luZyBjdXN0b20gcHJvcHMgaW4gc29tZSBTZWxlbml1bSBlbnZpcm9ubWVudHMKICAgIC8vIGNhbiBjYXVzZSBhICJQZXJtaXNzaW9uIGRlbmllZCIgZXhjZXB0aW9uIChzZWUgcmF2ZW4tanMjNDk1KS4KICAgIHJldHVybiBkZWZhdWx0RnVuY3Rpb25OYW1lOwogIH0KfQoKLyoqCiAqIFVVSUQ0IGdlbmVyYXRvcgogKgogKiBAcmV0dXJucyBzdHJpbmcgR2VuZXJhdGVkIFVVSUQ0LgogKi8KZnVuY3Rpb24gdXVpZDQoKSB7CiAgY29uc3QgZ2JsID0gR0xPQkFMX09CSiA7CiAgY29uc3QgY3J5cHRvID0gZ2JsLmNyeXB0byB8fCBnYmwubXNDcnlwdG87CgogIGxldCBnZXRSYW5kb21CeXRlID0gKCkgPT4gTWF0aC5yYW5kb20oKSAqIDE2OwogIHRyeSB7CiAgICBpZiAoY3J5cHRvICYmIGNyeXB0by5yYW5kb21VVUlEKSB7CiAgICAgIHJldHVybiBjcnlwdG8ucmFuZG9tVVVJRCgpLnJlcGxhY2UoLy0vZywgJycpOwogICAgfQogICAgaWYgKGNyeXB0byAmJiBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKSB7CiAgICAgIGdldFJhbmRvbUJ5dGUgPSAoKSA9PiB7CiAgICAgICAgLy8gY3J5cHRvLmdldFJhbmRvbVZhbHVlcyBtaWdodCByZXR1cm4gdW5kZWZpbmVkIGluc3RlYWQgb2YgdGhlIHR5cGVkIGFycmF5CiAgICAgICAgLy8gaW4gb2xkIENocm9taXVtIHZlcnNpb25zIChlLmcuIDIzLjAuMTIzNS4wICgxNTE0MjIpKQogICAgICAgIC8vIEhvd2V2ZXIsIGB0eXBlZEFycmF5YCBpcyBzdGlsbCBmaWxsZWQgaW4tcGxhY2UuCiAgICAgICAgLy8gQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQ3J5cHRvL2dldFJhbmRvbVZhbHVlcyN0eXBlZGFycmF5CiAgICAgICAgY29uc3QgdHlwZWRBcnJheSA9IG5ldyBVaW50OEFycmF5KDEpOwogICAgICAgIGNyeXB0by5nZXRSYW5kb21WYWx1ZXModHlwZWRBcnJheSk7CiAgICAgICAgcmV0dXJuIHR5cGVkQXJyYXlbMF07CiAgICAgIH07CiAgICB9CiAgfSBjYXRjaCAoXykgewogICAgLy8gc29tZSBydW50aW1lcyBjYW4gY3Jhc2ggaW52b2tpbmcgY3J5cHRvCiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZ2V0c2VudHJ5L3NlbnRyeS1qYXZhc2NyaXB0L2lzc3Vlcy84OTM1CiAgfQoKICAvLyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzEwNTAzNC9ob3ctdG8tY3JlYXRlLWEtZ3VpZC11dWlkLWluLWphdmFzY3JpcHQvMjExNzUyMyMyMTE3NTIzCiAgLy8gQ29uY2F0ZW5hdGluZyB0aGUgZm9sbG93aW5nIG51bWJlcnMgYXMgc3RyaW5ncyByZXN1bHRzIGluICcxMDAwMDAwMDEwMDA0MDAwODAwMDEwMDAwMDAwMDAwMCcKICByZXR1cm4gKChbMWU3XSApICsgMWUzICsgNGUzICsgOGUzICsgMWUxMSkucmVwbGFjZSgvWzAxOF0vZywgYyA9PgogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWJpdHdpc2UKICAgICgoYyApIF4gKChnZXRSYW5kb21CeXRlKCkgJiAxNSkgPj4gKChjICkgLyA0KSkpLnRvU3RyaW5nKDE2KSwKICApOwp9CgovKioKICogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIGlucHV0IGlzIGFscmVhZHkgYW4gYXJyYXksIGFuZCBpZiBpdCBpc24ndCwgd3JhcHMgaXQgaW4gb25lLgogKgogKiBAcGFyYW0gbWF5YmVBcnJheSBJbnB1dCB0byB0dXJuIGludG8gYW4gYXJyYXksIGlmIG5lY2Vzc2FyeQogKiBAcmV0dXJucyBUaGUgaW5wdXQsIGlmIGFscmVhZHkgYW4gYXJyYXksIG9yIGFuIGFycmF5IHdpdGggdGhlIGlucHV0IGFzIHRoZSBvbmx5IGVsZW1lbnQsIGlmIG5vdAogKi8KZnVuY3Rpb24gYXJyYXlpZnkobWF5YmVBcnJheSkgewogIHJldHVybiBBcnJheS5pc0FycmF5KG1heWJlQXJyYXkpID8gbWF5YmVBcnJheSA6IFttYXliZUFycmF5XTsKfQoKLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzICovCi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi8KCi8qKgogKiBIZWxwZXIgdG8gZGVjeWNsZSBqc29uIG9iamVjdHMKICovCmZ1bmN0aW9uIG1lbW9CdWlsZGVyKCkgewogIGNvbnN0IGhhc1dlYWtTZXQgPSB0eXBlb2YgV2Vha1NldCA9PT0gJ2Z1bmN0aW9uJzsKICBjb25zdCBpbm5lciA9IGhhc1dlYWtTZXQgPyBuZXcgV2Vha1NldCgpIDogW107CiAgZnVuY3Rpb24gbWVtb2l6ZShvYmopIHsKICAgIGlmIChoYXNXZWFrU2V0KSB7CiAgICAgIGlmIChpbm5lci5oYXMob2JqKSkgewogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9CiAgICAgIGlubmVyLmFkZChvYmopOwogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1mb3Itb2YKICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5uZXIubGVuZ3RoOyBpKyspIHsKICAgICAgY29uc3QgdmFsdWUgPSBpbm5lcltpXTsKICAgICAgaWYgKHZhbHVlID09PSBvYmopIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgfQogICAgaW5uZXIucHVzaChvYmopOwogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgZnVuY3Rpb24gdW5tZW1vaXplKG9iaikgewogICAgaWYgKGhhc1dlYWtTZXQpIHsKICAgICAgaW5uZXIuZGVsZXRlKG9iaik7CiAgICB9IGVsc2UgewogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGlubmVyLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgaWYgKGlubmVyW2ldID09PSBvYmopIHsKICAgICAgICAgIGlubmVyLnNwbGljZShpLCAxKTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgfQogIH0KICByZXR1cm4gW21lbW9pemUsIHVubWVtb2l6ZV07Cn0KCi8qKgogKiBSZWN1cnNpdmVseSBub3JtYWxpemVzIHRoZSBnaXZlbiBvYmplY3QuCiAqCiAqIC0gQ3JlYXRlcyBhIGNvcHkgdG8gcHJldmVudCBvcmlnaW5hbCBpbnB1dCBtdXRhdGlvbgogKiAtIFNraXBzIG5vbi1lbnVtZXJhYmxlIHByb3BlcnRpZXMKICogLSBXaGVuIHN0cmluZ2lmeWluZywgY2FsbHMgYHRvSlNPTmAgaWYgaW1wbGVtZW50ZWQKICogLSBSZW1vdmVzIGNpcmN1bGFyIHJlZmVyZW5jZXMKICogLSBUcmFuc2xhdGVzIG5vbi1zZXJpYWxpemFibGUgdmFsdWVzIChgdW5kZWZpbmVkYC9gTmFOYC9mdW5jdGlvbnMpIHRvIHNlcmlhbGl6YWJsZSBmb3JtYXQKICogLSBUcmFuc2xhdGVzIGtub3duIGdsb2JhbCBvYmplY3RzL2NsYXNzZXMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb25zCiAqIC0gVGFrZXMgY2FyZSBvZiBgRXJyb3JgIG9iamVjdCBzZXJpYWxpemF0aW9uCiAqIC0gT3B0aW9uYWxseSBsaW1pdHMgZGVwdGggb2YgZmluYWwgb3V0cHV0CiAqIC0gT3B0aW9uYWxseSBsaW1pdHMgbnVtYmVyIG9mIHByb3BlcnRpZXMvZWxlbWVudHMgaW5jbHVkZWQgaW4gYW55IHNpbmdsZSBvYmplY3QvYXJyYXkKICoKICogQHBhcmFtIGlucHV0IFRoZSBvYmplY3QgdG8gYmUgbm9ybWFsaXplZC4KICogQHBhcmFtIGRlcHRoIFRoZSBtYXggZGVwdGggdG8gd2hpY2ggdG8gbm9ybWFsaXplIHRoZSBvYmplY3QuIChBbnl0aGluZyBkZWVwZXIgc3RyaW5naWZpZWQgd2hvbGUuKQogKiBAcGFyYW0gbWF4UHJvcGVydGllcyBUaGUgbWF4IG51bWJlciBvZiBlbGVtZW50cyBvciBwcm9wZXJ0aWVzIHRvIGJlIGluY2x1ZGVkIGluIGFueSBzaW5nbGUgYXJyYXkgb3IKICogb2JqZWN0IGluIHRoZSBub3JtYWxsaXplZCBvdXRwdXQuCiAqIEByZXR1cm5zIEEgbm9ybWFsaXplZCB2ZXJzaW9uIG9mIHRoZSBvYmplY3QsIG9yIGAiKipub24tc2VyaWFsaXphYmxlKioiYCBpZiBhbnkgZXJyb3JzIGFyZSB0aHJvd24gZHVyaW5nIG5vcm1hbGl6YXRpb24uCiAqLwovLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueQpmdW5jdGlvbiBub3JtYWxpemUoaW5wdXQsIGRlcHRoID0gMTAwLCBtYXhQcm9wZXJ0aWVzID0gK0luZmluaXR5KSB7CiAgdHJ5IHsKICAgIC8vIHNpbmNlIHdlJ3JlIGF0IHRoZSBvdXRlcm1vc3QgbGV2ZWwsIHdlIGRvbid0IHByb3ZpZGUgYSBrZXkKICAgIHJldHVybiB2aXNpdCgnJywgaW5wdXQsIGRlcHRoLCBtYXhQcm9wZXJ0aWVzKTsKICB9IGNhdGNoIChlcnIpIHsKICAgIHJldHVybiB7IEVSUk9SOiBgKipub24tc2VyaWFsaXphYmxlKiogKCR7ZXJyfSlgIH07CiAgfQp9CgovKioKICogVmlzaXRzIGEgbm9kZSB0byBwZXJmb3JtIG5vcm1hbGl6YXRpb24gb24gaXQKICoKICogQHBhcmFtIGtleSBUaGUga2V5IGNvcnJlc3BvbmRpbmcgdG8gdGhlIGdpdmVuIG5vZGUKICogQHBhcmFtIHZhbHVlIFRoZSBub2RlIHRvIGJlIHZpc2l0ZWQKICogQHBhcmFtIGRlcHRoIE9wdGlvbmFsIG51bWJlciBpbmRpY2F0aW5nIHRoZSBtYXhpbXVtIHJlY3Vyc2lvbiBkZXB0aAogKiBAcGFyYW0gbWF4UHJvcGVydGllcyBPcHRpb25hbCBtYXhpbXVtIG51bWJlciBvZiBwcm9wZXJ0aWVzL2VsZW1lbnRzIGluY2x1ZGVkIGluIGFueSBzaW5nbGUgb2JqZWN0L2FycmF5CiAqIEBwYXJhbSBtZW1vIE9wdGlvbmFsIE1lbW8gY2xhc3MgaGFuZGxpbmcgZGVjeWNsaW5nCiAqLwpmdW5jdGlvbiB2aXNpdCgKICBrZXksCiAgdmFsdWUsCiAgZGVwdGggPSArSW5maW5pdHksCiAgbWF4UHJvcGVydGllcyA9ICtJbmZpbml0eSwKICBtZW1vID0gbWVtb0J1aWxkZXIoKSwKKSB7CiAgY29uc3QgW21lbW9pemUsIHVubWVtb2l6ZV0gPSBtZW1vOwoKICAvLyBHZXQgdGhlIHNpbXBsZSBjYXNlcyBvdXQgb2YgdGhlIHdheSBmaXJzdAogIGlmICgKICAgIHZhbHVlID09IG51bGwgfHwgLy8gdGhpcyBtYXRjaGVzIG51bGwgYW5kIHVuZGVmaW5lZCAtPiBlcWVxIG5vdCBlcWVxZXEKICAgIChbJ251bWJlcicsICdib29sZWFuJywgJ3N0cmluZyddLmluY2x1ZGVzKHR5cGVvZiB2YWx1ZSkgJiYgIWlzTmFOJDEodmFsdWUpKQogICkgewogICAgcmV0dXJuIHZhbHVlIDsKICB9CgogIGNvbnN0IHN0cmluZ2lmaWVkID0gc3RyaW5naWZ5VmFsdWUoa2V5LCB2YWx1ZSk7CgogIC8vIEFueXRoaW5nIHdlIGNvdWxkIHBvdGVudGlhbGx5IGRpZyBpbnRvIG1vcmUgKG9iamVjdHMgb3IgYXJyYXlzKSB3aWxsIGhhdmUgY29tZSBiYWNrIGFzIGAiW29iamVjdCBYWFhYXSJgLgogIC8vIEV2ZXJ5dGhpbmcgZWxzZSB3aWxsIGhhdmUgYWxyZWFkeSBiZWVuIHNlcmlhbGl6ZWQsIHNvIGlmIHdlIGRvbid0IHNlZSB0aGF0IHBhdHRlcm4sIHdlJ3JlIGRvbmUuCiAgaWYgKCFzdHJpbmdpZmllZC5zdGFydHNXaXRoKCdbb2JqZWN0ICcpKSB7CiAgICByZXR1cm4gc3RyaW5naWZpZWQ7CiAgfQoKICAvLyBGcm9tIGhlcmUgb24sIHdlIGNhbiBhc3NlcnQgdGhhdCBgdmFsdWVgIGlzIGVpdGhlciBhbiBvYmplY3Qgb3IgYW4gYXJyYXkuCgogIC8vIERvIG5vdCBub3JtYWxpemUgb2JqZWN0cyB0aGF0IHdlIGtub3cgaGF2ZSBhbHJlYWR5IGJlZW4gbm9ybWFsaXplZC4gQXMgYSBnZW5lcmFsIHJ1bGUsIHRoZQogIC8vICJfX3NlbnRyeV9za2lwX25vcm1hbGl6YXRpb25fXyIgcHJvcGVydHkgc2hvdWxkIG9ubHkgYmUgdXNlZCBzcGFyaW5nbHkgYW5kIG9ubHkgc2hvdWxkIG9ubHkgYmUgc2V0IG9uIG9iamVjdHMgdGhhdAogIC8vIGhhdmUgYWxyZWFkeSBiZWVuIG5vcm1hbGl6ZWQuCiAgaWYgKCh2YWx1ZSApWydfX3NlbnRyeV9za2lwX25vcm1hbGl6YXRpb25fXyddKSB7CiAgICByZXR1cm4gdmFsdWUgOwogIH0KCiAgLy8gV2UgY2FuIHNldCBgX19zZW50cnlfb3ZlcnJpZGVfbm9ybWFsaXphdGlvbl9kZXB0aF9fYCBvbiBhbiBvYmplY3QgdG8gZW5zdXJlIHRoYXQgZnJvbSB0aGVyZQogIC8vIFdlIGtlZXAgYSBjZXJ0YWluIGFtb3VudCBvZiBkZXB0aC4KICAvLyBUaGlzIHNob3VsZCBiZSB1c2VkIHNwYXJpbmdseSwgZS5nLiB3ZSB1c2UgaXQgZm9yIHRoZSByZWR1eCBpbnRlZ3JhdGlvbiB0byBlbnN1cmUgd2UgZ2V0IGEgY2VydGFpbiBhbW91bnQgb2Ygc3RhdGUuCiAgY29uc3QgcmVtYWluaW5nRGVwdGggPQogICAgdHlwZW9mICh2YWx1ZSApWydfX3NlbnRyeV9vdmVycmlkZV9ub3JtYWxpemF0aW9uX2RlcHRoX18nXSA9PT0gJ251bWJlcicKICAgICAgPyAoKHZhbHVlIClbJ19fc2VudHJ5X292ZXJyaWRlX25vcm1hbGl6YXRpb25fZGVwdGhfXyddICkKICAgICAgOiBkZXB0aDsKCiAgLy8gV2UncmUgYWxzbyBkb25lIGlmIHdlJ3ZlIHJlYWNoZWQgdGhlIG1heCBkZXB0aAogIGlmIChyZW1haW5pbmdEZXB0aCA9PT0gMCkgewogICAgLy8gQXQgdGhpcyBwb2ludCB3ZSBrbm93IGBzZXJpYWxpemVkYCBpcyBhIHN0cmluZyBvZiB0aGUgZm9ybSBgIltvYmplY3QgWFhYWF0iYC4gQ2xlYW4gaXQgdXAgc28gaXQncyBqdXN0IGAiW1hYWFhdImAuCiAgICByZXR1cm4gc3RyaW5naWZpZWQucmVwbGFjZSgnb2JqZWN0ICcsICcnKTsKICB9CgogIC8vIElmIHdlJ3ZlIGFscmVhZHkgdmlzaXRlZCB0aGlzIGJyYW5jaCwgYmFpbCBvdXQsIGFzIGl0J3MgY2lyY3VsYXIgcmVmZXJlbmNlLiBJZiBub3QsIG5vdGUgdGhhdCB3ZSdyZSBzZWVpbmcgaXQgbm93LgogIGlmIChtZW1vaXplKHZhbHVlKSkgewogICAgcmV0dXJuICdbQ2lyY3VsYXIgfl0nOwogIH0KCiAgLy8gSWYgdGhlIHZhbHVlIGhhcyBhIGB0b0pTT05gIG1ldGhvZCwgd2UgY2FsbCBpdCB0byBleHRyYWN0IG1vcmUgaW5mb3JtYXRpb24KICBjb25zdCB2YWx1ZVdpdGhUb0pTT04gPSB2YWx1ZSA7CiAgaWYgKHZhbHVlV2l0aFRvSlNPTiAmJiB0eXBlb2YgdmFsdWVXaXRoVG9KU09OLnRvSlNPTiA9PT0gJ2Z1bmN0aW9uJykgewogICAgdHJ5IHsKICAgICAgY29uc3QganNvblZhbHVlID0gdmFsdWVXaXRoVG9KU09OLnRvSlNPTigpOwogICAgICAvLyBXZSBuZWVkIHRvIG5vcm1hbGl6ZSB0aGUgcmV0dXJuIHZhbHVlIG9mIGAudG9KU09OKClgIGluIGNhc2UgaXQgaGFzIGNpcmN1bGFyIHJlZmVyZW5jZXMKICAgICAgcmV0dXJuIHZpc2l0KCcnLCBqc29uVmFsdWUsIHJlbWFpbmluZ0RlcHRoIC0gMSwgbWF4UHJvcGVydGllcywgbWVtbyk7CiAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgLy8gcGFzcyAoVGhlIGJ1aWx0LWluIGB0b0pTT05gIGZhaWxlZCwgYnV0IHdlIGNhbiBzdGlsbCB0cnkgdG8gZG8gaXQgb3Vyc2VsdmVzKQogICAgfQogIH0KCiAgLy8gQXQgdGhpcyBwb2ludCB3ZSBrbm93IHdlIGVpdGhlciBoYXZlIGFuIG9iamVjdCBvciBhbiBhcnJheSwgd2UgaGF2ZW4ndCBzZWVuIGl0IGJlZm9yZSwgYW5kIHdlJ3JlIGdvaW5nIHRvIHJlY3Vyc2UKICAvLyBiZWNhdXNlIHdlIGhhdmVuJ3QgeWV0IHJlYWNoZWQgdGhlIG1heCBkZXB0aC4gQ3JlYXRlIGFuIGFjY3VtdWxhdG9yIHRvIGhvbGQgdGhlIHJlc3VsdHMgb2YgdmlzaXRpbmcgZWFjaAogIC8vIHByb3BlcnR5L2VudHJ5LCBhbmQga2VlcCB0cmFjayBvZiB0aGUgbnVtYmVyIG9mIGl0ZW1zIHdlIGFkZCB0byBpdC4KICBjb25zdCBub3JtYWxpemVkID0gKEFycmF5LmlzQXJyYXkodmFsdWUpID8gW10gOiB7fSkgOwogIGxldCBudW1BZGRlZCA9IDA7CgogIC8vIEJlZm9yZSB3ZSBiZWdpbiwgY29udmVydGBFcnJvcmAgYW5kYEV2ZW50YCBpbnN0YW5jZXMgaW50byBwbGFpbiBvYmplY3RzLCBzaW5jZSBzb21lIG9mIGVhY2ggb2YgdGhlaXIgcmVsZXZhbnQKICAvLyBwcm9wZXJ0aWVzIGFyZSBub24tZW51bWVyYWJsZSBhbmQgb3RoZXJ3aXNlIHdvdWxkIGdldCBtaXNzZWQuCiAgY29uc3QgdmlzaXRhYmxlID0gY29udmVydFRvUGxhaW5PYmplY3QodmFsdWUgKTsKCiAgZm9yIChjb25zdCB2aXNpdEtleSBpbiB2aXNpdGFibGUpIHsKICAgIC8vIEF2b2lkIGl0ZXJhdGluZyBvdmVyIGZpZWxkcyBpbiB0aGUgcHJvdG90eXBlIGlmIHRoZXkndmUgc29tZWhvdyBiZWVuIGV4cG9zZWQgdG8gZW51bWVyYXRpb24uCiAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2aXNpdGFibGUsIHZpc2l0S2V5KSkgewogICAgICBjb250aW51ZTsKICAgIH0KCiAgICBpZiAobnVtQWRkZWQgPj0gbWF4UHJvcGVydGllcykgewogICAgICBub3JtYWxpemVkW3Zpc2l0S2V5XSA9ICdbTWF4UHJvcGVydGllcyB+XSc7CiAgICAgIGJyZWFrOwogICAgfQoKICAgIC8vIFJlY3Vyc2l2ZWx5IHZpc2l0IGFsbCB0aGUgY2hpbGQgbm9kZXMKICAgIGNvbnN0IHZpc2l0VmFsdWUgPSB2aXNpdGFibGVbdmlzaXRLZXldOwogICAgbm9ybWFsaXplZFt2aXNpdEtleV0gPSB2aXNpdCh2aXNpdEtleSwgdmlzaXRWYWx1ZSwgcmVtYWluaW5nRGVwdGggLSAxLCBtYXhQcm9wZXJ0aWVzLCBtZW1vKTsKCiAgICBudW1BZGRlZCsrOwogIH0KCiAgLy8gT25jZSB3ZSd2ZSB2aXNpdGVkIGFsbCB0aGUgYnJhbmNoZXMsIHJlbW92ZSB0aGUgcGFyZW50IGZyb20gbWVtbyBzdG9yYWdlCiAgdW5tZW1vaXplKHZhbHVlKTsKCiAgLy8gUmV0dXJuIGFjY3VtdWxhdGVkIHZhbHVlcwogIHJldHVybiBub3JtYWxpemVkOwp9CgovKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5ICovCi8qKgogKiBTdHJpbmdpZnkgdGhlIGdpdmVuIHZhbHVlLiBIYW5kbGVzIHZhcmlvdXMga25vd24gc3BlY2lhbCB2YWx1ZXMgYW5kIHR5cGVzLgogKgogKiBOb3QgbWVhbnQgdG8gYmUgdXNlZCBvbiBzaW1wbGUgcHJpbWl0aXZlcyB3aGljaCBhbHJlYWR5IGhhdmUgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24sIGFzIGl0IHdpbGwsIGZvciBleGFtcGxlLCB0dXJuCiAqIHRoZSBudW1iZXIgMTIzMSBpbnRvICJbT2JqZWN0IE51bWJlcl0iLCBub3Igb24gYG51bGxgLCBhcyBpdCB3aWxsIHRocm93LgogKgogKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHN0cmluZ2lmeQogKiBAcmV0dXJucyBBIHN0cmluZ2lmaWVkIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBnaXZlbiB2YWx1ZQogKi8KZnVuY3Rpb24gc3RyaW5naWZ5VmFsdWUoCiAga2V5LAogIC8vIHRoaXMgdHlwZSBpcyBhIHRpbnkgYml0IG9mIGEgY2hlYXQsIHNpbmNlIHRoaXMgZnVuY3Rpb24gZG9lcyBoYW5kbGUgTmFOICh3aGljaCBpcyB0ZWNobmljYWxseSBhIG51bWJlciksIGJ1dCBmb3IKICAvLyBvdXIgaW50ZXJuYWwgdXNlLCBpdCdsbCBkbwogIHZhbHVlLAopIHsKICB0cnkgewogICAgaWYgKGtleSA9PT0gJ2RvbWFpbicgJiYgdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAodmFsdWUgKS5fZXZlbnRzKSB7CiAgICAgIHJldHVybiAnW0RvbWFpbl0nOwogICAgfQoKICAgIGlmIChrZXkgPT09ICdkb21haW5FbWl0dGVyJykgewogICAgICByZXR1cm4gJ1tEb21haW5FbWl0dGVyXSc7CiAgICB9CgogICAgLy8gSXQncyBzYWZlIHRvIHVzZSBgZ2xvYmFsYCwgYHdpbmRvd2AsIGFuZCBgZG9jdW1lbnRgIGhlcmUgaW4gdGhpcyBtYW5uZXIsIGFzIHdlIGFyZSBhc3NlcnRpbmcgdXNpbmcgYHR5cGVvZmAgZmlyc3QKICAgIC8vIHdoaWNoIHdvbid0IHRocm93IGlmIHRoZXkgYXJlIG5vdCBwcmVzZW50LgoKICAgIGlmICh0eXBlb2YgZ2xvYmFsICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSA9PT0gZ2xvYmFsKSB7CiAgICAgIHJldHVybiAnW0dsb2JhbF0nOwogICAgfQoKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLWdsb2JhbHMKICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSA9PT0gd2luZG93KSB7CiAgICAgIHJldHVybiAnW1dpbmRvd10nOwogICAgfQoKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLWdsb2JhbHMKICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlID09PSBkb2N1bWVudCkgewogICAgICByZXR1cm4gJ1tEb2N1bWVudF0nOwogICAgfQoKICAgIGlmIChpc1Z1ZVZpZXdNb2RlbCh2YWx1ZSkpIHsKICAgICAgcmV0dXJuICdbVnVlVmlld01vZGVsXSc7CiAgICB9CgogICAgLy8gUmVhY3QncyBTeW50aGV0aWNFdmVudCB0aGluZ3kKICAgIGlmIChpc1N5bnRoZXRpY0V2ZW50KHZhbHVlKSkgewogICAgICByZXR1cm4gJ1tTeW50aGV0aWNFdmVudF0nOwogICAgfQoKICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmIHZhbHVlICE9PSB2YWx1ZSkgewogICAgICByZXR1cm4gJ1tOYU5dJzsKICAgIH0KCiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nKSB7CiAgICAgIHJldHVybiBgW0Z1bmN0aW9uOiAke2dldEZ1bmN0aW9uTmFtZSh2YWx1ZSl9XWA7CiAgICB9CgogICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N5bWJvbCcpIHsKICAgICAgcmV0dXJuIGBbJHtTdHJpbmcodmFsdWUpfV1gOwogICAgfQoKICAgIC8vIHN0cmluZ2lmaWVkIEJpZ0ludHMgYXJlIGluZGlzdGluZ3Vpc2hhYmxlIGZyb20gcmVndWxhciBudW1iZXJzLCBzbyB3ZSBuZWVkIHRvIGxhYmVsIHRoZW0gdG8gYXZvaWQgY29uZnVzaW9uCiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnYmlnaW50JykgewogICAgICByZXR1cm4gYFtCaWdJbnQ6ICR7U3RyaW5nKHZhbHVlKX1dYDsKICAgIH0KCiAgICAvLyBOb3cgdGhhdCB3ZSd2ZSBrbm9ja2VkIG91dCBhbGwgdGhlIHNwZWNpYWwgY2FzZXMgYW5kIHRoZSBwcmltaXRpdmVzLCBhbGwgd2UgaGF2ZSBsZWZ0IGFyZSBvYmplY3RzLiBTaW1wbHkgY2FzdGluZwogICAgLy8gdGhlbSB0byBzdHJpbmdzIG1lYW5zIHRoYXQgaW5zdGFuY2VzIG9mIGNsYXNzZXMgd2hpY2ggaGF2ZW4ndCBkZWZpbmVkIHRoZWlyIGB0b1N0cmluZ1RhZ2Agd2lsbCBqdXN0IGNvbWUgb3V0IGFzCiAgICAvLyBgIltvYmplY3QgT2JqZWN0XSJgLiBJZiB3ZSBpbnN0ZWFkIGxvb2sgYXQgdGhlIGNvbnN0cnVjdG9yJ3MgbmFtZSAod2hpY2ggaXMgdGhlIHNhbWUgYXMgdGhlIG5hbWUgb2YgdGhlIGNsYXNzKSwKICAgIC8vIHdlIGNhbiBtYWtlIHN1cmUgdGhhdCBvbmx5IHBsYWluIG9iamVjdHMgY29tZSBvdXQgdGhhdCB3YXkuCiAgICBjb25zdCBvYmpOYW1lID0gZ2V0Q29uc3RydWN0b3JOYW1lKHZhbHVlKTsKCiAgICAvLyBIYW5kbGUgSFRNTCBFbGVtZW50cwogICAgaWYgKC9eSFRNTChcdyopRWxlbWVudCQvLnRlc3Qob2JqTmFtZSkpIHsKICAgICAgcmV0dXJuIGBbSFRNTEVsZW1lbnQ6ICR7b2JqTmFtZX1dYDsKICAgIH0KCiAgICByZXR1cm4gYFtvYmplY3QgJHtvYmpOYW1lfV1gOwogIH0gY2F0Y2ggKGVycikgewogICAgcmV0dXJuIGAqKm5vbi1zZXJpYWxpemFibGUqKiAoJHtlcnJ9KWA7CiAgfQp9Ci8qIGVzbGludC1lbmFibGUgY29tcGxleGl0eSAqLwoKZnVuY3Rpb24gZ2V0Q29uc3RydWN0b3JOYW1lKHZhbHVlKSB7CiAgY29uc3QgcHJvdG90eXBlID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHZhbHVlKTsKCiAgcmV0dXJuIHByb3RvdHlwZSA/IHByb3RvdHlwZS5jb25zdHJ1Y3Rvci5uYW1lIDogJ251bGwgcHJvdG90eXBlJzsKfQoKLyoqCiAqIE5vcm1hbGl6ZXMgVVJMcyBpbiBleGNlcHRpb25zIGFuZCBzdGFja3RyYWNlcyB0byBhIGJhc2UgcGF0aCBzbyBTZW50cnkgY2FuIGZpbmdlcnByaW50CiAqIGFjcm9zcyBwbGF0Zm9ybXMgYW5kIHdvcmtpbmcgZGlyZWN0b3J5LgogKgogKiBAcGFyYW0gdXJsIFRoZSBVUkwgdG8gYmUgbm9ybWFsaXplZC4KICogQHBhcmFtIGJhc2VQYXRoIFRoZSBhcHBsaWNhdGlvbiBiYXNlIHBhdGguCiAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIFVSTC4KICovCmZ1bmN0aW9uIG5vcm1hbGl6ZVVybFRvQmFzZSh1cmwsIGJhc2VQYXRoKSB7CiAgY29uc3QgZXNjYXBlZEJhc2UgPSBiYXNlUGF0aAogICAgLy8gQmFja3NsYXNoIHRvIGZvcndhcmQKICAgIC5yZXBsYWNlKC9cXC9nLCAnLycpCiAgICAvLyBFc2NhcGUgUmVnRXhwIHNwZWNpYWwgY2hhcmFjdGVycwogICAgLnJlcGxhY2UoL1t8XFx7fSgpW1xdXiQrKj8uXS9nLCAnXFwkJicpOwoKICBsZXQgbmV3VXJsID0gdXJsOwogIHRyeSB7CiAgICBuZXdVcmwgPSBkZWNvZGVVUkkodXJsKTsKICB9IGNhdGNoIChfT28pIHsKICAgIC8vIFNvbWV0aW1lIHRoaXMgYnJlYWtzCiAgfQogIHJldHVybiAoCiAgICBuZXdVcmwKICAgICAgLnJlcGxhY2UoL1xcL2csICcvJykKICAgICAgLnJlcGxhY2UoL3dlYnBhY2s6XC8/L2csICcnKSAvLyBSZW1vdmUgaW50ZXJtZWRpYXRlIGJhc2UgcGF0aAogICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHNlbnRyeS1pbnRlcm5hbC9zZGsvbm8tcmVnZXhwLWNvbnN0cnVjdG9yCiAgICAgIC5yZXBsYWNlKG5ldyBSZWdFeHAoYChmaWxlOi8vKT8vKiR7ZXNjYXBlZEJhc2V9LypgLCAnaWcnKSwgJ2FwcDovLy8nKQogICk7Cn0KCi8vIFNsaWdodGx5IG1vZGlmaWVkIChubyBJRTggc3VwcG9ydCwgRVM2KSBhbmQgdHJhbnNjcmliZWQgdG8gVHlwZVNjcmlwdAoKLy8gU3BsaXQgYSBmaWxlbmFtZSBpbnRvIFtyb290LCBkaXIsIGJhc2VuYW1lLCBleHRdLCB1bml4IHZlcnNpb24KLy8gJ3Jvb3QnIGlzIGp1c3QgYSBzbGFzaCwgb3Igbm90aGluZy4KY29uc3Qgc3BsaXRQYXRoUmUgPSAvXihcUys6XFx8XC8/KShbXHNcU10qPykoKD86XC57MSwyfXxbXi9cXF0rP3wpKFwuW14uL1xcXSp8KSkoPzpbL1xcXSopJC87Ci8qKiBKU0RvYyAqLwpmdW5jdGlvbiBzcGxpdFBhdGgoZmlsZW5hbWUpIHsKICAvLyBUcnVuY2F0ZSBmaWxlcyBuYW1lcyBncmVhdGVyIHRoYW4gMTAyNCBjaGFyYWN0ZXJzIHRvIGF2b2lkIHJlZ2V4IGRvcwogIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9nZXRzZW50cnkvc2VudHJ5LWphdmFzY3JpcHQvcHVsbC84NzM3I2Rpc2N1c3Npb25fcjEyODU3MTkxNzIKICBjb25zdCB0cnVuY2F0ZWQgPSBmaWxlbmFtZS5sZW5ndGggPiAxMDI0ID8gYDx0cnVuY2F0ZWQ+JHtmaWxlbmFtZS5zbGljZSgtMTAyNCl9YCA6IGZpbGVuYW1lOwogIGNvbnN0IHBhcnRzID0gc3BsaXRQYXRoUmUuZXhlYyh0cnVuY2F0ZWQpOwogIHJldHVybiBwYXJ0cyA/IHBhcnRzLnNsaWNlKDEpIDogW107Cn0KCi8qKiBKU0RvYyAqLwpmdW5jdGlvbiBkaXJuYW1lKHBhdGgpIHsKICBjb25zdCByZXN1bHQgPSBzcGxpdFBhdGgocGF0aCk7CiAgY29uc3Qgcm9vdCA9IHJlc3VsdFswXTsKICBsZXQgZGlyID0gcmVzdWx0WzFdOwoKICBpZiAoIXJvb3QgJiYgIWRpcikgewogICAgLy8gTm8gZGlybmFtZSB3aGF0c29ldmVyCiAgICByZXR1cm4gJy4nOwogIH0KCiAgaWYgKGRpcikgewogICAgLy8gSXQgaGFzIGEgZGlybmFtZSwgc3RyaXAgdHJhaWxpbmcgc2xhc2gKICAgIGRpciA9IGRpci5zbGljZSgwLCBkaXIubGVuZ3RoIC0gMSk7CiAgfQoKICByZXR1cm4gcm9vdCArIGRpcjsKfQoKLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LWZ1bmN0aW9uLXJldHVybi10eXBlICovCgovKiogU3luY1Byb21pc2UgaW50ZXJuYWwgc3RhdGVzICovCnZhciBTdGF0ZXM7IChmdW5jdGlvbiAoU3RhdGVzKSB7CiAgLyoqIFBlbmRpbmcgKi8KICBjb25zdCBQRU5ESU5HID0gMDsgU3RhdGVzW1N0YXRlc1siUEVORElORyJdID0gUEVORElOR10gPSAiUEVORElORyI7CiAgLyoqIFJlc29sdmVkIC8gT0sgKi8KICBjb25zdCBSRVNPTFZFRCA9IDE7IFN0YXRlc1tTdGF0ZXNbIlJFU09MVkVEIl0gPSBSRVNPTFZFRF0gPSAiUkVTT0xWRUQiOwogIC8qKiBSZWplY3RlZCAvIEVycm9yICovCiAgY29uc3QgUkVKRUNURUQgPSAyOyBTdGF0ZXNbU3RhdGVzWyJSRUpFQ1RFRCJdID0gUkVKRUNURURdID0gIlJFSkVDVEVEIjsKfSkoU3RhdGVzIHx8IChTdGF0ZXMgPSB7fSkpOwoKLy8gT3ZlcmxvYWRzIHNvIHdlIGNhbiBjYWxsIHJlc29sdmVkU3luY1Byb21pc2Ugd2l0aG91dCBhcmd1bWVudHMgYW5kIGdlbmVyaWMgYXJndW1lbnQKCi8qKgogKiBDcmVhdGVzIGEgcmVzb2x2ZWQgc3luYyBwcm9taXNlLgogKgogKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHRvIHJlc29sdmUgdGhlIHByb21pc2Ugd2l0aAogKiBAcmV0dXJucyB0aGUgcmVzb2x2ZWQgc3luYyBwcm9taXNlCiAqLwpmdW5jdGlvbiByZXNvbHZlZFN5bmNQcm9taXNlKHZhbHVlKSB7CiAgcmV0dXJuIG5ldyBTeW5jUHJvbWlzZShyZXNvbHZlID0+IHsKICAgIHJlc29sdmUodmFsdWUpOwogIH0pOwp9CgovKioKICogQ3JlYXRlcyBhIHJlamVjdGVkIHN5bmMgcHJvbWlzZS4KICoKICogQHBhcmFtIHZhbHVlIHRoZSB2YWx1ZSB0byByZWplY3QgdGhlIHByb21pc2Ugd2l0aAogKiBAcmV0dXJucyB0aGUgcmVqZWN0ZWQgc3luYyBwcm9taXNlCiAqLwpmdW5jdGlvbiByZWplY3RlZFN5bmNQcm9taXNlKHJlYXNvbikgewogIHJldHVybiBuZXcgU3luY1Byb21pc2UoKF8sIHJlamVjdCkgPT4gewogICAgcmVqZWN0KHJlYXNvbik7CiAgfSk7Cn0KCi8qKgogKiBUaGVuYWJsZSBjbGFzcyB0aGF0IGJlaGF2ZXMgbGlrZSBhIFByb21pc2UgYW5kIGZvbGxvd3MgaXQncyBpbnRlcmZhY2UKICogYnV0IGlzIG5vdCBhc3luYyBpbnRlcm5hbGx5CiAqLwpjbGFzcyBTeW5jUHJvbWlzZSB7CgogICBjb25zdHJ1Y3RvcigKICAgIGV4ZWN1dG9yLAogICkge1N5bmNQcm9taXNlLnByb3RvdHlwZS5fX2luaXQuY2FsbCh0aGlzKTtTeW5jUHJvbWlzZS5wcm90b3R5cGUuX19pbml0Mi5jYWxsKHRoaXMpO1N5bmNQcm9taXNlLnByb3RvdHlwZS5fX2luaXQzLmNhbGwodGhpcyk7U3luY1Byb21pc2UucHJvdG90eXBlLl9faW5pdDQuY2FsbCh0aGlzKTsKICAgIHRoaXMuX3N0YXRlID0gU3RhdGVzLlBFTkRJTkc7CiAgICB0aGlzLl9oYW5kbGVycyA9IFtdOwoKICAgIHRyeSB7CiAgICAgIGV4ZWN1dG9yKHRoaXMuX3Jlc29sdmUsIHRoaXMuX3JlamVjdCk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIHRoaXMuX3JlamVjdChlKTsKICAgIH0KICB9CgogIC8qKiBKU0RvYyAqLwogICB0aGVuKAogICAgb25mdWxmaWxsZWQsCiAgICBvbnJlamVjdGVkLAogICkgewogICAgcmV0dXJuIG5ldyBTeW5jUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CiAgICAgIHRoaXMuX2hhbmRsZXJzLnB1c2goWwogICAgICAgIGZhbHNlLAogICAgICAgIHJlc3VsdCA9PiB7CiAgICAgICAgICBpZiAoIW9uZnVsZmlsbGVkKSB7CiAgICAgICAgICAgIC8vIFRPRE86IMKvXF8o44OEKV8vwq8KICAgICAgICAgICAgLy8gVE9ETzogRklYTUUKICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQgKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgcmVzb2x2ZShvbmZ1bGZpbGxlZChyZXN1bHQpKTsKICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgIHJlamVjdChlKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgcmVhc29uID0+IHsKICAgICAgICAgIGlmICghb25yZWplY3RlZCkgewogICAgICAgICAgICByZWplY3QocmVhc29uKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgcmVzb2x2ZShvbnJlamVjdGVkKHJlYXNvbikpOwogICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgcmVqZWN0KGUpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgXSk7CiAgICAgIHRoaXMuX2V4ZWN1dGVIYW5kbGVycygpOwogICAgfSk7CiAgfQoKICAvKiogSlNEb2MgKi8KICAgY2F0Y2goCiAgICBvbnJlamVjdGVkLAogICkgewogICAgcmV0dXJuIHRoaXMudGhlbih2YWwgPT4gdmFsLCBvbnJlamVjdGVkKTsKICB9CgogIC8qKiBKU0RvYyAqLwogICBmaW5hbGx5KG9uZmluYWxseSkgewogICAgcmV0dXJuIG5ldyBTeW5jUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CiAgICAgIGxldCB2YWw7CiAgICAgIGxldCBpc1JlamVjdGVkOwoKICAgICAgcmV0dXJuIHRoaXMudGhlbigKICAgICAgICB2YWx1ZSA9PiB7CiAgICAgICAgICBpc1JlamVjdGVkID0gZmFsc2U7CiAgICAgICAgICB2YWwgPSB2YWx1ZTsKICAgICAgICAgIGlmIChvbmZpbmFsbHkpIHsKICAgICAgICAgICAgb25maW5hbGx5KCk7CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICByZWFzb24gPT4gewogICAgICAgICAgaXNSZWplY3RlZCA9IHRydWU7CiAgICAgICAgICB2YWwgPSByZWFzb247CiAgICAgICAgICBpZiAob25maW5hbGx5KSB7CiAgICAgICAgICAgIG9uZmluYWxseSgpOwogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICkudGhlbigoKSA9PiB7CiAgICAgICAgaWYgKGlzUmVqZWN0ZWQpIHsKICAgICAgICAgIHJlamVjdCh2YWwpOwogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgcmVzb2x2ZSh2YWwgKTsKICAgICAgfSk7CiAgICB9KTsKICB9CgogIC8qKiBKU0RvYyAqLwogICAgX19pbml0KCkge3RoaXMuX3Jlc29sdmUgPSAodmFsdWUpID0+IHsKICAgIHRoaXMuX3NldFJlc3VsdChTdGF0ZXMuUkVTT0xWRUQsIHZhbHVlKTsKICB9O30KCiAgLyoqIEpTRG9jICovCiAgICBfX2luaXQyKCkge3RoaXMuX3JlamVjdCA9IChyZWFzb24pID0+IHsKICAgIHRoaXMuX3NldFJlc3VsdChTdGF0ZXMuUkVKRUNURUQsIHJlYXNvbik7CiAgfTt9CgogIC8qKiBKU0RvYyAqLwogICAgX19pbml0MygpIHt0aGlzLl9zZXRSZXN1bHQgPSAoc3RhdGUsIHZhbHVlKSA9PiB7CiAgICBpZiAodGhpcy5fc3RhdGUgIT09IFN0YXRlcy5QRU5ESU5HKSB7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICBpZiAoaXNUaGVuYWJsZSh2YWx1ZSkpIHsKICAgICAgdm9pZCAodmFsdWUgKS50aGVuKHRoaXMuX3Jlc29sdmUsIHRoaXMuX3JlamVjdCk7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICB0aGlzLl9zdGF0ZSA9IHN0YXRlOwogICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTsKCiAgICB0aGlzLl9leGVjdXRlSGFuZGxlcnMoKTsKICB9O30KCiAgLyoqIEpTRG9jICovCiAgICBfX2luaXQ0KCkge3RoaXMuX2V4ZWN1dGVIYW5kbGVycyA9ICgpID0+IHsKICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gU3RhdGVzLlBFTkRJTkcpIHsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIGNvbnN0IGNhY2hlZEhhbmRsZXJzID0gdGhpcy5faGFuZGxlcnMuc2xpY2UoKTsKICAgIHRoaXMuX2hhbmRsZXJzID0gW107CgogICAgY2FjaGVkSGFuZGxlcnMuZm9yRWFjaChoYW5kbGVyID0+IHsKICAgICAgaWYgKGhhbmRsZXJbMF0pIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gU3RhdGVzLlJFU09MVkVEKSB7CiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1mbG9hdGluZy1wcm9taXNlcwogICAgICAgIGhhbmRsZXJbMV0odGhpcy5fdmFsdWUgKTsKICAgICAgfQoKICAgICAgaWYgKHRoaXMuX3N0YXRlID09PSBTdGF0ZXMuUkVKRUNURUQpIHsKICAgICAgICBoYW5kbGVyWzJdKHRoaXMuX3ZhbHVlKTsKICAgICAgfQoKICAgICAgaGFuZGxlclswXSA9IHRydWU7CiAgICB9KTsKICB9O30KfQoKLyoqCiAqIENyZWF0ZXMgYW4gbmV3IFByb21pc2VCdWZmZXIgb2JqZWN0IHdpdGggdGhlIHNwZWNpZmllZCBsaW1pdAogKiBAcGFyYW0gbGltaXQgbWF4IG51bWJlciBvZiBwcm9taXNlcyB0aGF0IGNhbiBiZSBzdG9yZWQgaW4gdGhlIGJ1ZmZlcgogKi8KZnVuY3Rpb24gbWFrZVByb21pc2VCdWZmZXIobGltaXQpIHsKICBjb25zdCBidWZmZXIgPSBbXTsKCiAgZnVuY3Rpb24gaXNSZWFkeSgpIHsKICAgIHJldHVybiBsaW1pdCA9PT0gdW5kZWZpbmVkIHx8IGJ1ZmZlci5sZW5ndGggPCBsaW1pdDsKICB9CgogIC8qKgogICAqIFJlbW92ZSBhIHByb21pc2UgZnJvbSB0aGUgcXVldWUuCiAgICoKICAgKiBAcGFyYW0gdGFzayBDYW4gYmUgYW55IFByb21pc2VMaWtlPFQ+CiAgICogQHJldHVybnMgUmVtb3ZlZCBwcm9taXNlLgogICAqLwogIGZ1bmN0aW9uIHJlbW92ZSh0YXNrKSB7CiAgICByZXR1cm4gYnVmZmVyLnNwbGljZShidWZmZXIuaW5kZXhPZih0YXNrKSwgMSlbMF07CiAgfQoKICAvKioKICAgKiBBZGQgYSBwcm9taXNlIChyZXByZXNlbnRpbmcgYW4gaW4tZmxpZ2h0IGFjdGlvbikgdG8gdGhlIHF1ZXVlLCBhbmQgc2V0IGl0IHRvIHJlbW92ZSBpdHNlbGYgb24gZnVsZmlsbG1lbnQuCiAgICoKICAgKiBAcGFyYW0gdGFza1Byb2R1Y2VyIEEgZnVuY3Rpb24gcHJvZHVjaW5nIGFueSBQcm9taXNlTGlrZTxUPjsgSW4gcHJldmlvdXMgdmVyc2lvbnMgdGhpcyB1c2VkIHRvIGJlIGB0YXNrOgogICAqICAgICAgICBQcm9taXNlTGlrZTxUPmAsIGJ1dCB1bmRlciB0aGF0IG1vZGVsLCBQcm9taXNlcyB3ZXJlIGluc3RhbnRseSBjcmVhdGVkIG9uIHRoZSBjYWxsLXNpdGUgYW5kIHRoZWlyIGV4ZWN1dG9yCiAgICogICAgICAgIGZ1bmN0aW9ucyB0aGVyZWZvcmUgcmFuIGltbWVkaWF0ZWx5LiBUaHVzLCBldmVuIGlmIHRoZSBidWZmZXIgd2FzIGZ1bGwsIHRoZSBhY3Rpb24gc3RpbGwgaGFwcGVuZWQuIEJ5CiAgICogICAgICAgIHJlcXVpcmluZyB0aGUgcHJvbWlzZSB0byBiZSB3cmFwcGVkIGluIGEgZnVuY3Rpb24sIHdlIGNhbiBkZWZlciBwcm9taXNlIGNyZWF0aW9uIHVudGlsIGFmdGVyIHRoZSBidWZmZXIKICAgKiAgICAgICAgbGltaXQgY2hlY2suCiAgICogQHJldHVybnMgVGhlIG9yaWdpbmFsIHByb21pc2UuCiAgICovCiAgZnVuY3Rpb24gYWRkKHRhc2tQcm9kdWNlcikgewogICAgaWYgKCFpc1JlYWR5KCkpIHsKICAgICAgcmV0dXJuIHJlamVjdGVkU3luY1Byb21pc2UobmV3IFNlbnRyeUVycm9yKCdOb3QgYWRkaW5nIFByb21pc2UgYmVjYXVzZSBidWZmZXIgbGltaXQgd2FzIHJlYWNoZWQuJykpOwogICAgfQoKICAgIC8vIHN0YXJ0IHRoZSB0YXNrIGFuZCBhZGQgaXRzIHByb21pc2UgdG8gdGhlIHF1ZXVlCiAgICBjb25zdCB0YXNrID0gdGFza1Byb2R1Y2VyKCk7CiAgICBpZiAoYnVmZmVyLmluZGV4T2YodGFzaykgPT09IC0xKSB7CiAgICAgIGJ1ZmZlci5wdXNoKHRhc2spOwogICAgfQogICAgdm9pZCB0YXNrCiAgICAgIC50aGVuKCgpID0+IHJlbW92ZSh0YXNrKSkKICAgICAgLy8gVXNlIGB0aGVuKG51bGwsIHJlamVjdGlvbkhhbmRsZXIpYCByYXRoZXIgdGhhbiBgY2F0Y2gocmVqZWN0aW9uSGFuZGxlcilgIHNvIHRoYXQgd2UgY2FuIHVzZSBgUHJvbWlzZUxpa2VgCiAgICAgIC8vIHJhdGhlciB0aGFuIGBQcm9taXNlYC4gYFByb21pc2VMaWtlYCBkb2Vzbid0IGhhdmUgYSBgLmNhdGNoYCBtZXRob2QsIG1ha2luZyBpdHMgcG9seWZpbGwgc21hbGxlci4gKEVTNSBkaWRuJ3QKICAgICAgLy8gaGF2ZSBwcm9taXNlcywgc28gVFMgaGFzIHRvIHBvbHlmaWxsIHdoZW4gZG93bi1jb21waWxpbmcuKQogICAgICAudGhlbihudWxsLCAoKSA9PgogICAgICAgIHJlbW92ZSh0YXNrKS50aGVuKG51bGwsICgpID0+IHsKICAgICAgICAgIC8vIFdlIGhhdmUgdG8gYWRkIGFub3RoZXIgY2F0Y2ggaGVyZSBiZWNhdXNlIGByZW1vdmUoKWAgc3RhcnRzIGEgbmV3IHByb21pc2UgY2hhaW4uCiAgICAgICAgfSksCiAgICAgICk7CiAgICByZXR1cm4gdGFzazsKICB9CgogIC8qKgogICAqIFdhaXQgZm9yIGFsbCBwcm9taXNlcyBpbiB0aGUgcXVldWUgdG8gcmVzb2x2ZSBvciBmb3IgdGltZW91dCB0byBleHBpcmUsIHdoaWNoZXZlciBjb21lcyBmaXJzdC4KICAgKgogICAqIEBwYXJhbSB0aW1lb3V0IFRoZSB0aW1lLCBpbiBtcywgYWZ0ZXIgd2hpY2ggdG8gcmVzb2x2ZSB0byBgZmFsc2VgIGlmIHRoZSBxdWV1ZSBpcyBzdGlsbCBub24tZW1wdHkuIFBhc3NpbmcgYDBgIChvcgogICAqIG5vdCBwYXNzaW5nIGFueXRoaW5nKSB3aWxsIG1ha2UgdGhlIHByb21pc2Ugd2FpdCBhcyBsb25nIGFzIGl0IHRha2VzIGZvciB0aGUgcXVldWUgdG8gZHJhaW4gYmVmb3JlIHJlc29sdmluZyB0bwogICAqIGB0cnVlYC4KICAgKiBAcmV0dXJucyBBIHByb21pc2Ugd2hpY2ggd2lsbCByZXNvbHZlIHRvIGB0cnVlYCBpZiB0aGUgcXVldWUgaXMgYWxyZWFkeSBlbXB0eSBvciBkcmFpbnMgYmVmb3JlIHRoZSB0aW1lb3V0LCBhbmQKICAgKiBgZmFsc2VgIG90aGVyd2lzZQogICAqLwogIGZ1bmN0aW9uIGRyYWluKHRpbWVvdXQpIHsKICAgIHJldHVybiBuZXcgU3luY1Byb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewogICAgICBsZXQgY291bnRlciA9IGJ1ZmZlci5sZW5ndGg7CgogICAgICBpZiAoIWNvdW50ZXIpIHsKICAgICAgICByZXR1cm4gcmVzb2x2ZSh0cnVlKTsKICAgICAgfQoKICAgICAgLy8gd2FpdCBmb3IgYHRpbWVvdXRgIG1zIGFuZCB0aGVuIHJlc29sdmUgdG8gYGZhbHNlYCAoaWYgbm90IGNhbmNlbGxlZCBmaXJzdCkKICAgICAgY29uc3QgY2FwdHVyZWRTZXRUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgaWYgKHRpbWVvdXQgJiYgdGltZW91dCA+IDApIHsKICAgICAgICAgIHJlc29sdmUoZmFsc2UpOwogICAgICAgIH0KICAgICAgfSwgdGltZW91dCk7CgogICAgICAvLyBpZiBhbGwgcHJvbWlzZXMgcmVzb2x2ZSBpbiB0aW1lLCBjYW5jZWwgdGhlIHRpbWVyIGFuZCByZXNvbHZlIHRvIGB0cnVlYAogICAgICBidWZmZXIuZm9yRWFjaChpdGVtID0+IHsKICAgICAgICB2b2lkIHJlc29sdmVkU3luY1Byb21pc2UoaXRlbSkudGhlbigoKSA9PiB7CiAgICAgICAgICBpZiAoIS0tY291bnRlcikgewogICAgICAgICAgICBjbGVhclRpbWVvdXQoY2FwdHVyZWRTZXRUaW1lb3V0KTsKICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTsKICAgICAgICAgIH0KICAgICAgICB9LCByZWplY3QpOwogICAgICB9KTsKICAgIH0pOwogIH0KCiAgcmV0dXJuIHsKICAgICQ6IGJ1ZmZlciwKICAgIGFkZCwKICAgIGRyYWluLAogIH07Cn0KCmNvbnN0IE9ORV9TRUNPTkRfSU5fTVMgPSAxMDAwOwoKLyoqCiAqIEEgcGFydGlhbCBkZWZpbml0aW9uIG9mIHRoZSBbUGVyZm9ybWFuY2UgV2ViIEFQSV17QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1BlcmZvcm1hbmNlfQogKiBmb3IgYWNjZXNzaW5nIGEgaGlnaC1yZXNvbHV0aW9uIG1vbm90b25pYyBjbG9jay4KICovCgovKioKICogUmV0dXJucyBhIHRpbWVzdGFtcCBpbiBzZWNvbmRzIHNpbmNlIHRoZSBVTklYIGVwb2NoIHVzaW5nIHRoZSBEYXRlIEFQSS4KICoKICogVE9ETyh2OCk6IFJldHVybiB0eXBlIHNob3VsZCBiZSByb3VuZGVkLgogKi8KZnVuY3Rpb24gZGF0ZVRpbWVzdGFtcEluU2Vjb25kcygpIHsKICByZXR1cm4gRGF0ZS5ub3coKSAvIE9ORV9TRUNPTkRfSU5fTVM7Cn0KCi8qKgogKiBSZXR1cm5zIGEgd3JhcHBlciBhcm91bmQgdGhlIG5hdGl2ZSBQZXJmb3JtYW5jZSBBUEkgYnJvd3NlciBpbXBsZW1lbnRhdGlvbiwgb3IgdW5kZWZpbmVkIGZvciBicm93c2VycyB0aGF0IGRvIG5vdAogKiBzdXBwb3J0IHRoZSBBUEkuCiAqCiAqIFdyYXBwaW5nIHRoZSBuYXRpdmUgQVBJIHdvcmtzIGFyb3VuZCBkaWZmZXJlbmNlcyBpbiBiZWhhdmlvciBmcm9tIGRpZmZlcmVudCBicm93c2Vycy4KICovCmZ1bmN0aW9uIGNyZWF0ZVVuaXhUaW1lc3RhbXBJblNlY29uZHNGdW5jKCkgewogIGNvbnN0IHsgcGVyZm9ybWFuY2UgfSA9IEdMT0JBTF9PQkogOwogIGlmICghcGVyZm9ybWFuY2UgfHwgIXBlcmZvcm1hbmNlLm5vdykgewogICAgcmV0dXJuIGRhdGVUaW1lc3RhbXBJblNlY29uZHM7CiAgfQoKICAvLyBTb21lIGJyb3dzZXIgYW5kIGVudmlyb25tZW50cyBkb24ndCBoYXZlIGEgdGltZU9yaWdpbiwgc28gd2UgZmFsbGJhY2sgdG8KICAvLyB1c2luZyBEYXRlLm5vdygpIHRvIGNvbXB1dGUgdGhlIHN0YXJ0aW5nIHRpbWUuCiAgY29uc3QgYXBwcm94U3RhcnRpbmdUaW1lT3JpZ2luID0gRGF0ZS5ub3coKSAtIHBlcmZvcm1hbmNlLm5vdygpOwogIGNvbnN0IHRpbWVPcmlnaW4gPSBwZXJmb3JtYW5jZS50aW1lT3JpZ2luID09IHVuZGVmaW5lZCA/IGFwcHJveFN0YXJ0aW5nVGltZU9yaWdpbiA6IHBlcmZvcm1hbmNlLnRpbWVPcmlnaW47CgogIC8vIHBlcmZvcm1hbmNlLm5vdygpIGlzIGEgbW9ub3RvbmljIGNsb2NrLCB3aGljaCBtZWFucyBpdCBzdGFydHMgYXQgMCB3aGVuIHRoZSBwcm9jZXNzIGJlZ2lucy4gVG8gZ2V0IHRoZSBjdXJyZW50CiAgLy8gd2FsbCBjbG9jayB0aW1lIChhY3R1YWwgVU5JWCB0aW1lc3RhbXApLCB3ZSBuZWVkIHRvIGFkZCB0aGUgc3RhcnRpbmcgdGltZSBvcmlnaW4gYW5kIHRoZSBjdXJyZW50IHRpbWUgZWxhcHNlZC4KICAvLwogIC8vIFRPRE86IFRoaXMgZG9lcyBub3QgYWNjb3VudCBmb3IgdGhlIGNhc2Ugd2hlcmUgdGhlIG1vbm90b25pYyBjbG9jayB0aGF0IHBvd2VycyBwZXJmb3JtYW5jZS5ub3coKSBkcmlmdHMgZnJvbSB0aGUKICAvLyB3YWxsIGNsb2NrIHRpbWUsIHdoaWNoIGNhdXNlcyB0aGUgcmV0dXJuZWQgdGltZXN0YW1wIHRvIGJlIGluYWNjdXJhdGUuIFdlIHNob3VsZCBpbnZlc3RpZ2F0ZSBob3cgdG8gZGV0ZWN0IGFuZAogIC8vIGNvcnJlY3QgZm9yIHRoaXMuCiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vZ2V0c2VudHJ5L3NlbnRyeS1qYXZhc2NyaXB0L2lzc3Vlcy8yNTkwCiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vbWRuL2NvbnRlbnQvaXNzdWVzLzQ3MTMKICAvLyBTZWU6IGh0dHBzOi8vZGV2LnRvL25vYW1yL3doZW4tYS1taWxsaXNlY29uZC1pcy1ub3QtYS1taWxsaXNlY29uZC0zaDYKICByZXR1cm4gKCkgPT4gewogICAgcmV0dXJuICh0aW1lT3JpZ2luICsgcGVyZm9ybWFuY2Uubm93KCkpIC8gT05FX1NFQ09ORF9JTl9NUzsKICB9Owp9CgovKioKICogUmV0dXJucyBhIHRpbWVzdGFtcCBpbiBzZWNvbmRzIHNpbmNlIHRoZSBVTklYIGVwb2NoIHVzaW5nIGVpdGhlciB0aGUgUGVyZm9ybWFuY2Ugb3IgRGF0ZSBBUElzLCBkZXBlbmRpbmcgb24gdGhlCiAqIGF2YWlsYWJpbGl0eSBvZiB0aGUgUGVyZm9ybWFuY2UgQVBJLgogKgogKiBCVUc6IE5vdGUgdGhhdCBiZWNhdXNlIG9mIGhvdyBicm93c2VycyBpbXBsZW1lbnQgdGhlIFBlcmZvcm1hbmNlIEFQSSwgdGhlIGNsb2NrIG1pZ2h0IHN0b3Agd2hlbiB0aGUgY29tcHV0ZXIgaXMKICogYXNsZWVwLiBUaGlzIGNyZWF0ZXMgYSBza2V3IGJldHdlZW4gYGRhdGVUaW1lc3RhbXBJblNlY29uZHNgIGFuZCBgdGltZXN0YW1wSW5TZWNvbmRzYC4gVGhlCiAqIHNrZXcgY2FuIGdyb3cgdG8gYXJiaXRyYXJ5IGFtb3VudHMgbGlrZSBkYXlzLCB3ZWVrcyBvciBtb250aHMuCiAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZ2V0c2VudHJ5L3NlbnRyeS1qYXZhc2NyaXB0L2lzc3Vlcy8yNTkwLgogKi8KY29uc3QgdGltZXN0YW1wSW5TZWNvbmRzID0gY3JlYXRlVW5peFRpbWVzdGFtcEluU2Vjb25kc0Z1bmMoKTsKCi8qKgogKiBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBzaW5jZSB0aGUgVU5JWCBlcG9jaC4gVGhpcyB2YWx1ZSBpcyBvbmx5IHVzYWJsZSBpbiBhIGJyb3dzZXIsIGFuZCBvbmx5IHdoZW4gdGhlCiAqIHBlcmZvcm1hbmNlIEFQSSBpcyBhdmFpbGFibGUuCiAqLwooKCkgPT4gewogIC8vIFVuZm9ydHVuYXRlbHkgYnJvd3NlcnMgbWF5IHJlcG9ydCBhbiBpbmFjY3VyYXRlIHRpbWUgb3JpZ2luIGRhdGEsIHRocm91Z2ggZWl0aGVyIHBlcmZvcm1hbmNlLnRpbWVPcmlnaW4gb3IKICAvLyBwZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0LCB3aGljaCByZXN1bHRzIGluIHBvb3IgcmVzdWx0cyBpbiBwZXJmb3JtYW5jZSBkYXRhLiBXZSBvbmx5IHRyZWF0IHRpbWUgb3JpZ2luCiAgLy8gZGF0YSBhcyByZWxpYWJsZSBpZiB0aGV5IGFyZSB3aXRoaW4gYSByZWFzb25hYmxlIHRocmVzaG9sZCBvZiB0aGUgY3VycmVudCB0aW1lLgoKICBjb25zdCB7IHBlcmZvcm1hbmNlIH0gPSBHTE9CQUxfT0JKIDsKICBpZiAoIXBlcmZvcm1hbmNlIHx8ICFwZXJmb3JtYW5jZS5ub3cpIHsKICAgIHJldHVybiB1bmRlZmluZWQ7CiAgfQoKICBjb25zdCB0aHJlc2hvbGQgPSAzNjAwICogMTAwMDsKICBjb25zdCBwZXJmb3JtYW5jZU5vdyA9IHBlcmZvcm1hbmNlLm5vdygpOwogIGNvbnN0IGRhdGVOb3cgPSBEYXRlLm5vdygpOwoKICAvLyBpZiB0aW1lT3JpZ2luIGlzbid0IGF2YWlsYWJsZSBzZXQgZGVsdGEgdG8gdGhyZXNob2xkIHNvIGl0IGlzbid0IHVzZWQKICBjb25zdCB0aW1lT3JpZ2luRGVsdGEgPSBwZXJmb3JtYW5jZS50aW1lT3JpZ2luCiAgICA/IE1hdGguYWJzKHBlcmZvcm1hbmNlLnRpbWVPcmlnaW4gKyBwZXJmb3JtYW5jZU5vdyAtIGRhdGVOb3cpCiAgICA6IHRocmVzaG9sZDsKICBjb25zdCB0aW1lT3JpZ2luSXNSZWxpYWJsZSA9IHRpbWVPcmlnaW5EZWx0YSA8IHRocmVzaG9sZDsKCiAgLy8gV2hpbGUgcGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCBpcyBkZXByZWNhdGVkIGluIGZhdm9yIG9mIHBlcmZvcm1hbmNlLnRpbWVPcmlnaW4sIHBlcmZvcm1hbmNlLnRpbWVPcmlnaW4KICAvLyBpcyBub3QgYXMgd2lkZWx5IHN1cHBvcnRlZC4gTmFtZWx5LCBwZXJmb3JtYW5jZS50aW1lT3JpZ2luIGlzIHVuZGVmaW5lZCBpbiBTYWZhcmkgYXMgb2Ygd3JpdGluZy4KICAvLyBBbHNvIGFzIG9mIHdyaXRpbmcsIHBlcmZvcm1hbmNlLnRpbWluZyBpcyBub3QgYXZhaWxhYmxlIGluIFdlYiBXb3JrZXJzIGluIG1haW5zdHJlYW0gYnJvd3NlcnMsIHNvIGl0IGlzIG5vdCBhbHdheXMKICAvLyBhIHZhbGlkIGZhbGxiYWNrLiBJbiB0aGUgYWJzZW5jZSBvZiBhbiBpbml0aWFsIHRpbWUgcHJvdmlkZWQgYnkgdGhlIGJyb3dzZXIsIGZhbGxiYWNrIHRvIHRoZSBjdXJyZW50IHRpbWUgZnJvbSB0aGUKICAvLyBEYXRlIEFQSS4KICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICBjb25zdCBuYXZpZ2F0aW9uU3RhcnQgPSBwZXJmb3JtYW5jZS50aW1pbmcgJiYgcGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydDsKICBjb25zdCBoYXNOYXZpZ2F0aW9uU3RhcnQgPSB0eXBlb2YgbmF2aWdhdGlvblN0YXJ0ID09PSAnbnVtYmVyJzsKICAvLyBpZiBuYXZpZ2F0aW9uU3RhcnQgaXNuJ3QgYXZhaWxhYmxlIHNldCBkZWx0YSB0byB0aHJlc2hvbGQgc28gaXQgaXNuJ3QgdXNlZAogIGNvbnN0IG5hdmlnYXRpb25TdGFydERlbHRhID0gaGFzTmF2aWdhdGlvblN0YXJ0ID8gTWF0aC5hYnMobmF2aWdhdGlvblN0YXJ0ICsgcGVyZm9ybWFuY2VOb3cgLSBkYXRlTm93KSA6IHRocmVzaG9sZDsKICBjb25zdCBuYXZpZ2F0aW9uU3RhcnRJc1JlbGlhYmxlID0gbmF2aWdhdGlvblN0YXJ0RGVsdGEgPCB0aHJlc2hvbGQ7CgogIGlmICh0aW1lT3JpZ2luSXNSZWxpYWJsZSB8fCBuYXZpZ2F0aW9uU3RhcnRJc1JlbGlhYmxlKSB7CiAgICAvLyBVc2UgdGhlIG1vcmUgcmVsaWFibGUgdGltZSBvcmlnaW4KICAgIGlmICh0aW1lT3JpZ2luRGVsdGEgPD0gbmF2aWdhdGlvblN0YXJ0RGVsdGEpIHsKICAgICAgcmV0dXJuIHBlcmZvcm1hbmNlLnRpbWVPcmlnaW47CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gbmF2aWdhdGlvblN0YXJ0OwogICAgfQogIH0KICByZXR1cm4gZGF0ZU5vdzsKfSkoKTsKCi8qKgogKiBDcmVhdGVzIGFuIGVudmVsb3BlLgogKiBNYWtlIHN1cmUgdG8gYWx3YXlzIGV4cGxpY2l0bHkgcHJvdmlkZSB0aGUgZ2VuZXJpYyB0byB0aGlzIGZ1bmN0aW9uCiAqIHNvIHRoYXQgdGhlIGVudmVsb3BlIHR5cGVzIHJlc29sdmUgY29ycmVjdGx5LgogKi8KZnVuY3Rpb24gY3JlYXRlRW52ZWxvcGUoaGVhZGVycywgaXRlbXMgPSBbXSkgewogIHJldHVybiBbaGVhZGVycywgaXRlbXNdIDsKfQoKLyoqCiAqIENvbnZlbmllbmNlIGZ1bmN0aW9uIHRvIGxvb3AgdGhyb3VnaCB0aGUgaXRlbXMgYW5kIGl0ZW0gdHlwZXMgb2YgYW4gZW52ZWxvcGUuCiAqIChUaGlzIGZ1bmN0aW9uIHdhcyBtb3N0bHkgY3JlYXRlZCBiZWNhdXNlIHdvcmtpbmcgd2l0aCBlbnZlbG9wZSB0eXBlcyBpcyBwYWluZnVsIGF0IHRoZSBtb21lbnQpCiAqCiAqIElmIHRoZSBjYWxsYmFjayByZXR1cm5zIHRydWUsIHRoZSByZXN0IG9mIHRoZSBpdGVtcyB3aWxsIGJlIHNraXBwZWQuCiAqLwpmdW5jdGlvbiBmb3JFYWNoRW52ZWxvcGVJdGVtKAogIGVudmVsb3BlLAogIGNhbGxiYWNrLAopIHsKICBjb25zdCBlbnZlbG9wZUl0ZW1zID0gZW52ZWxvcGVbMV07CgogIGZvciAoY29uc3QgZW52ZWxvcGVJdGVtIG9mIGVudmVsb3BlSXRlbXMpIHsKICAgIGNvbnN0IGVudmVsb3BlSXRlbVR5cGUgPSBlbnZlbG9wZUl0ZW1bMF0udHlwZTsKICAgIGNvbnN0IHJlc3VsdCA9IGNhbGxiYWNrKGVudmVsb3BlSXRlbSwgZW52ZWxvcGVJdGVtVHlwZSk7CgogICAgaWYgKHJlc3VsdCkgewogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICB9CgogIHJldHVybiBmYWxzZTsKfQoKLyoqCiAqIEVuY29kZSBhIHN0cmluZyB0byBVVEY4LgogKi8KZnVuY3Rpb24gZW5jb2RlVVRGOChpbnB1dCwgdGV4dEVuY29kZXIpIHsKICBjb25zdCB1dGY4ID0gdGV4dEVuY29kZXIgfHwgbmV3IFRleHRFbmNvZGVyKCk7CiAgcmV0dXJuIHV0ZjguZW5jb2RlKGlucHV0KTsKfQoKLyoqCiAqIFNlcmlhbGl6ZXMgYW4gZW52ZWxvcGUuCiAqLwpmdW5jdGlvbiBzZXJpYWxpemVFbnZlbG9wZShlbnZlbG9wZSwgdGV4dEVuY29kZXIpIHsKICBjb25zdCBbZW52SGVhZGVycywgaXRlbXNdID0gZW52ZWxvcGU7CgogIC8vIEluaXRpYWxseSB3ZSBjb25zdHJ1Y3Qgb3VyIGVudmVsb3BlIGFzIGEgc3RyaW5nIGFuZCBvbmx5IGNvbnZlcnQgdG8gYmluYXJ5IGNodW5rcyBpZiB3ZSBlbmNvdW50ZXIgYmluYXJ5IGRhdGEKICBsZXQgcGFydHMgPSBKU09OLnN0cmluZ2lmeShlbnZIZWFkZXJzKTsKCiAgZnVuY3Rpb24gYXBwZW5kKG5leHQpIHsKICAgIGlmICh0eXBlb2YgcGFydHMgPT09ICdzdHJpbmcnKSB7CiAgICAgIHBhcnRzID0gdHlwZW9mIG5leHQgPT09ICdzdHJpbmcnID8gcGFydHMgKyBuZXh0IDogW2VuY29kZVVURjgocGFydHMsIHRleHRFbmNvZGVyKSwgbmV4dF07CiAgICB9IGVsc2UgewogICAgICBwYXJ0cy5wdXNoKHR5cGVvZiBuZXh0ID09PSAnc3RyaW5nJyA/IGVuY29kZVVURjgobmV4dCwgdGV4dEVuY29kZXIpIDogbmV4dCk7CiAgICB9CiAgfQoKICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHsKICAgIGNvbnN0IFtpdGVtSGVhZGVycywgcGF5bG9hZF0gPSBpdGVtOwoKICAgIGFwcGVuZChgXG4ke0pTT04uc3RyaW5naWZ5KGl0ZW1IZWFkZXJzKX1cbmApOwoKICAgIGlmICh0eXBlb2YgcGF5bG9hZCA9PT0gJ3N0cmluZycgfHwgcGF5bG9hZCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHsKICAgICAgYXBwZW5kKHBheWxvYWQpOwogICAgfSBlbHNlIHsKICAgICAgbGV0IHN0cmluZ2lmaWVkUGF5bG9hZDsKICAgICAgdHJ5IHsKICAgICAgICBzdHJpbmdpZmllZFBheWxvYWQgPSBKU09OLnN0cmluZ2lmeShwYXlsb2FkKTsKICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgIC8vIEluIGNhc2UsIGRlc3BpdGUgYWxsIG91ciBlZmZvcnRzIHRvIGtlZXAgYHBheWxvYWRgIGNpcmN1bGFyLWRlcGVuZGVuY3ktZnJlZSwgYEpTT04uc3RyaW5pZnkoKWAgc3RpbGwKICAgICAgICAvLyBmYWlscywgd2UgdHJ5IGFnYWluIGFmdGVyIG5vcm1hbGl6aW5nIGl0IGFnYWluIHdpdGggaW5maW5pdGUgbm9ybWFsaXphdGlvbiBkZXB0aC4gVGhpcyBvZiBjb3Vyc2UgaGFzIGEKICAgICAgICAvLyBwZXJmb3JtYW5jZSBpbXBhY3QgYnV0IGluIHRoaXMgY2FzZSBhIHBlcmZvcm1hbmNlIGhpdCBpcyBiZXR0ZXIgdGhhbiB0aHJvd2luZy4KICAgICAgICBzdHJpbmdpZmllZFBheWxvYWQgPSBKU09OLnN0cmluZ2lmeShub3JtYWxpemUocGF5bG9hZCkpOwogICAgICB9CiAgICAgIGFwcGVuZChzdHJpbmdpZmllZFBheWxvYWQpOwogICAgfQogIH0KCiAgcmV0dXJuIHR5cGVvZiBwYXJ0cyA9PT0gJ3N0cmluZycgPyBwYXJ0cyA6IGNvbmNhdEJ1ZmZlcnMocGFydHMpOwp9CgpmdW5jdGlvbiBjb25jYXRCdWZmZXJzKGJ1ZmZlcnMpIHsKICBjb25zdCB0b3RhbExlbmd0aCA9IGJ1ZmZlcnMucmVkdWNlKChhY2MsIGJ1ZikgPT4gYWNjICsgYnVmLmxlbmd0aCwgMCk7CgogIGNvbnN0IG1lcmdlZCA9IG5ldyBVaW50OEFycmF5KHRvdGFsTGVuZ3RoKTsKICBsZXQgb2Zmc2V0ID0gMDsKICBmb3IgKGNvbnN0IGJ1ZmZlciBvZiBidWZmZXJzKSB7CiAgICBtZXJnZWQuc2V0KGJ1ZmZlciwgb2Zmc2V0KTsKICAgIG9mZnNldCArPSBidWZmZXIubGVuZ3RoOwogIH0KCiAgcmV0dXJuIG1lcmdlZDsKfQoKY29uc3QgSVRFTV9UWVBFX1RPX0RBVEFfQ0FURUdPUllfTUFQID0gewogIHNlc3Npb246ICdzZXNzaW9uJywKICBzZXNzaW9uczogJ3Nlc3Npb24nLAogIGF0dGFjaG1lbnQ6ICdhdHRhY2htZW50JywKICB0cmFuc2FjdGlvbjogJ3RyYW5zYWN0aW9uJywKICBldmVudDogJ2Vycm9yJywKICBjbGllbnRfcmVwb3J0OiAnaW50ZXJuYWwnLAogIHVzZXJfcmVwb3J0OiAnZGVmYXVsdCcsCiAgcHJvZmlsZTogJ3Byb2ZpbGUnLAogIHJlcGxheV9ldmVudDogJ3JlcGxheScsCiAgcmVwbGF5X3JlY29yZGluZzogJ3JlcGxheScsCiAgY2hlY2tfaW46ICdtb25pdG9yJywKICBmZWVkYmFjazogJ2ZlZWRiYWNrJywKICBzcGFuOiAnc3BhbicsCiAgc3RhdHNkOiAnbWV0cmljX2J1Y2tldCcsCn07CgovKioKICogTWFwcyB0aGUgdHlwZSBvZiBhbiBlbnZlbG9wZSBpdGVtIHRvIGEgZGF0YSBjYXRlZ29yeS4KICovCmZ1bmN0aW9uIGVudmVsb3BlSXRlbVR5cGVUb0RhdGFDYXRlZ29yeSh0eXBlKSB7CiAgcmV0dXJuIElURU1fVFlQRV9UT19EQVRBX0NBVEVHT1JZX01BUFt0eXBlXTsKfQoKLyoqIEV4dHJhY3RzIHRoZSBtaW5pbWFsIFNESyBpbmZvIGZyb20gdGhlIG1ldGFkYXRhIG9yIGFuIGV2ZW50cyAqLwpmdW5jdGlvbiBnZXRTZGtNZXRhZGF0YUZvckVudmVsb3BlSGVhZGVyKG1ldGFkYXRhT3JFdmVudCkgewogIGlmICghbWV0YWRhdGFPckV2ZW50IHx8ICFtZXRhZGF0YU9yRXZlbnQuc2RrKSB7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IHsgbmFtZSwgdmVyc2lvbiB9ID0gbWV0YWRhdGFPckV2ZW50LnNkazsKICByZXR1cm4geyBuYW1lLCB2ZXJzaW9uIH07Cn0KCi8qKgogKiBDcmVhdGVzIGV2ZW50IGVudmVsb3BlIGhlYWRlcnMsIGJhc2VkIG9uIGV2ZW50LCBzZGsgaW5mbyBhbmQgdHVubmVsCiAqIE5vdGU6IFRoaXMgZnVuY3Rpb24gd2FzIGV4dHJhY3RlZCBmcm9tIHRoZSBjb3JlIHBhY2thZ2UgdG8gbWFrZSBpdCBhdmFpbGFibGUgaW4gUmVwbGF5CiAqLwpmdW5jdGlvbiBjcmVhdGVFdmVudEVudmVsb3BlSGVhZGVycygKICBldmVudCwKICBzZGtJbmZvLAogIHR1bm5lbCwKICBkc24sCikgewogIGNvbnN0IGR5bmFtaWNTYW1wbGluZ0NvbnRleHQgPSBldmVudC5zZGtQcm9jZXNzaW5nTWV0YWRhdGEgJiYgZXZlbnQuc2RrUHJvY2Vzc2luZ01ldGFkYXRhLmR5bmFtaWNTYW1wbGluZ0NvbnRleHQ7CiAgcmV0dXJuIHsKICAgIGV2ZW50X2lkOiBldmVudC5ldmVudF9pZCAsCiAgICBzZW50X2F0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksCiAgICAuLi4oc2RrSW5mbyAmJiB7IHNkazogc2RrSW5mbyB9KSwKICAgIC4uLighIXR1bm5lbCAmJiBkc24gJiYgeyBkc246IGRzblRvU3RyaW5nKGRzbikgfSksCiAgICAuLi4oZHluYW1pY1NhbXBsaW5nQ29udGV4dCAmJiB7CiAgICAgIHRyYWNlOiBkcm9wVW5kZWZpbmVkS2V5cyh7IC4uLmR5bmFtaWNTYW1wbGluZ0NvbnRleHQgfSksCiAgICB9KSwKICB9Owp9CgovLyBJbnRlbnRpb25hbGx5IGtlZXBpbmcgdGhlIGtleSBicm9hZCwgYXMgd2UgZG9uJ3Qga25vdyBmb3Igc3VyZSB3aGF0IHJhdGUgbGltaXQgaGVhZGVycyBnZXQgcmV0dXJuZWQgZnJvbSBiYWNrZW5kCgpjb25zdCBERUZBVUxUX1JFVFJZX0FGVEVSID0gNjAgKiAxMDAwOyAvLyA2MCBzZWNvbmRzCgovKioKICogRXh0cmFjdHMgUmV0cnktQWZ0ZXIgdmFsdWUgZnJvbSB0aGUgcmVxdWVzdCBoZWFkZXIgb3IgcmV0dXJucyBkZWZhdWx0IHZhbHVlCiAqIEBwYXJhbSBoZWFkZXIgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mICdSZXRyeS1BZnRlcicgaGVhZGVyCiAqIEBwYXJhbSBub3cgY3VycmVudCB1bml4IHRpbWVzdGFtcAogKgogKi8KZnVuY3Rpb24gcGFyc2VSZXRyeUFmdGVySGVhZGVyKGhlYWRlciwgbm93ID0gRGF0ZS5ub3coKSkgewogIGNvbnN0IGhlYWRlckRlbGF5ID0gcGFyc2VJbnQoYCR7aGVhZGVyfWAsIDEwKTsKICBpZiAoIWlzTmFOKGhlYWRlckRlbGF5KSkgewogICAgcmV0dXJuIGhlYWRlckRlbGF5ICogMTAwMDsKICB9CgogIGNvbnN0IGhlYWRlckRhdGUgPSBEYXRlLnBhcnNlKGAke2hlYWRlcn1gKTsKICBpZiAoIWlzTmFOKGhlYWRlckRhdGUpKSB7CiAgICByZXR1cm4gaGVhZGVyRGF0ZSAtIG5vdzsKICB9CgogIHJldHVybiBERUZBVUxUX1JFVFJZX0FGVEVSOwp9CgovKioKICogR2V0cyB0aGUgdGltZSB0aGF0IHRoZSBnaXZlbiBjYXRlZ29yeSBpcyBkaXNhYmxlZCB1bnRpbCBmb3IgcmF0ZSBsaW1pdGluZy4KICogSW4gY2FzZSBubyBjYXRlZ29yeS1zcGVjaWZpYyBsaW1pdCBpcyBzZXQgYnV0IGEgZ2VuZXJhbCByYXRlIGxpbWl0IGFjcm9zcyBhbGwgY2F0ZWdvcmllcyBpcyBhY3RpdmUsCiAqIHRoYXQgdGltZSBpcyByZXR1cm5lZC4KICoKICogQHJldHVybiB0aGUgdGltZSBpbiBtcyB0aGF0IHRoZSBjYXRlZ29yeSBpcyBkaXNhYmxlZCB1bnRpbCBvciAwIGlmIHRoZXJlJ3Mgbm8gYWN0aXZlIHJhdGUgbGltaXQuCiAqLwpmdW5jdGlvbiBkaXNhYmxlZFVudGlsKGxpbWl0cywgZGF0YUNhdGVnb3J5KSB7CiAgcmV0dXJuIGxpbWl0c1tkYXRhQ2F0ZWdvcnldIHx8IGxpbWl0cy5hbGwgfHwgMDsKfQoKLyoqCiAqIENoZWNrcyBpZiBhIGNhdGVnb3J5IGlzIHJhdGUgbGltaXRlZAogKi8KZnVuY3Rpb24gaXNSYXRlTGltaXRlZChsaW1pdHMsIGRhdGFDYXRlZ29yeSwgbm93ID0gRGF0ZS5ub3coKSkgewogIHJldHVybiBkaXNhYmxlZFVudGlsKGxpbWl0cywgZGF0YUNhdGVnb3J5KSA+IG5vdzsKfQoKLyoqCiAqIFVwZGF0ZSByYXRlbGltaXRzIGZyb20gaW5jb21pbmcgaGVhZGVycy4KICoKICogQHJldHVybiB0aGUgdXBkYXRlZCBSYXRlTGltaXRzIG9iamVjdC4KICovCmZ1bmN0aW9uIHVwZGF0ZVJhdGVMaW1pdHMoCiAgbGltaXRzLAogIHsgc3RhdHVzQ29kZSwgaGVhZGVycyB9LAogIG5vdyA9IERhdGUubm93KCksCikgewogIGNvbnN0IHVwZGF0ZWRSYXRlTGltaXRzID0gewogICAgLi4ubGltaXRzLAogIH07CgogIC8vICJUaGUgbmFtZSBpcyBjYXNlLWluc2Vuc2l0aXZlLiIKICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvSGVhZGVycy9nZXQKICBjb25zdCByYXRlTGltaXRIZWFkZXIgPSBoZWFkZXJzICYmIGhlYWRlcnNbJ3gtc2VudHJ5LXJhdGUtbGltaXRzJ107CiAgY29uc3QgcmV0cnlBZnRlckhlYWRlciA9IGhlYWRlcnMgJiYgaGVhZGVyc1sncmV0cnktYWZ0ZXInXTsKCiAgaWYgKHJhdGVMaW1pdEhlYWRlcikgewogICAgLyoqCiAgICAgKiByYXRlIGxpbWl0IGhlYWRlcnMgYXJlIG9mIHRoZSBmb3JtCiAgICAgKiAgICAgPGhlYWRlcj4sPGhlYWRlcj4sLi4KICAgICAqIHdoZXJlIGVhY2ggPGhlYWRlcj4gaXMgb2YgdGhlIGZvcm0KICAgICAqICAgICA8cmV0cnlfYWZ0ZXI+OiA8Y2F0ZWdvcmllcz46IDxzY29wZT46IDxyZWFzb25fY29kZT46IDxuYW1lc3BhY2VzPgogICAgICogd2hlcmUKICAgICAqICAgICA8cmV0cnlfYWZ0ZXI+IGlzIGEgZGVsYXkgaW4gc2Vjb25kcwogICAgICogICAgIDxjYXRlZ29yaWVzPiBpcyB0aGUgZXZlbnQgdHlwZShzKSAoZXJyb3IsIHRyYW5zYWN0aW9uLCBldGMpIGJlaW5nIHJhdGUgbGltaXRlZCBhbmQgaXMgb2YgdGhlIGZvcm0KICAgICAqICAgICAgICAgPGNhdGVnb3J5Pjs8Y2F0ZWdvcnk+Oy4uLgogICAgICogICAgIDxzY29wZT4gaXMgd2hhdCdzIGJlaW5nIGxpbWl0ZWQgKG9yZywgcHJvamVjdCwgb3Iga2V5KSAtIGlnbm9yZWQgYnkgU0RLCiAgICAgKiAgICAgPHJlYXNvbl9jb2RlPiBpcyBhbiBhcmJpdHJhcnkgc3RyaW5nIGxpa2UgIm9yZ19xdW90YSIgLSBpZ25vcmVkIGJ5IFNESwogICAgICogICAgIDxuYW1lc3BhY2VzPiBTZW1pY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgbWV0cmljIG5hbWVzcGFjZSBpZGVudGlmaWVycy4gRGVmaW5lcyB3aGljaCBuYW1lc3BhY2Uocykgd2lsbCBiZSBhZmZlY3RlZC4KICAgICAqICAgICAgICAgT25seSBwcmVzZW50IGlmIHJhdGUgbGltaXQgYXBwbGllcyB0byB0aGUgbWV0cmljX2J1Y2tldCBkYXRhIGNhdGVnb3J5LgogICAgICovCiAgICBmb3IgKGNvbnN0IGxpbWl0IG9mIHJhdGVMaW1pdEhlYWRlci50cmltKCkuc3BsaXQoJywnKSkgewogICAgICBjb25zdCBbcmV0cnlBZnRlciwgY2F0ZWdvcmllcywgLCAsIG5hbWVzcGFjZXNdID0gbGltaXQuc3BsaXQoJzonLCA1KTsKICAgICAgY29uc3QgaGVhZGVyRGVsYXkgPSBwYXJzZUludChyZXRyeUFmdGVyLCAxMCk7CiAgICAgIGNvbnN0IGRlbGF5ID0gKCFpc05hTihoZWFkZXJEZWxheSkgPyBoZWFkZXJEZWxheSA6IDYwKSAqIDEwMDA7IC8vIDYwc2VjIGRlZmF1bHQKICAgICAgaWYgKCFjYXRlZ29yaWVzKSB7CiAgICAgICAgdXBkYXRlZFJhdGVMaW1pdHMuYWxsID0gbm93ICsgZGVsYXk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZm9yIChjb25zdCBjYXRlZ29yeSBvZiBjYXRlZ29yaWVzLnNwbGl0KCc7JykpIHsKICAgICAgICAgIGlmIChjYXRlZ29yeSA9PT0gJ21ldHJpY19idWNrZXQnKSB7CiAgICAgICAgICAgIC8vIG5hbWVzcGFjZXMgd2lsbCBiZSBwcmVzZW50IHdoZW4gY2F0ZWdvcnkgPT09ICdtZXRyaWNfYnVja2V0JwogICAgICAgICAgICBpZiAoIW5hbWVzcGFjZXMgfHwgbmFtZXNwYWNlcy5zcGxpdCgnOycpLmluY2x1ZGVzKCdjdXN0b20nKSkgewogICAgICAgICAgICAgIHVwZGF0ZWRSYXRlTGltaXRzW2NhdGVnb3J5XSA9IG5vdyArIGRlbGF5OwogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB1cGRhdGVkUmF0ZUxpbWl0c1tjYXRlZ29yeV0gPSBub3cgKyBkZWxheTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9IGVsc2UgaWYgKHJldHJ5QWZ0ZXJIZWFkZXIpIHsKICAgIHVwZGF0ZWRSYXRlTGltaXRzLmFsbCA9IG5vdyArIHBhcnNlUmV0cnlBZnRlckhlYWRlcihyZXRyeUFmdGVySGVhZGVyLCBub3cpOwogIH0gZWxzZSBpZiAoc3RhdHVzQ29kZSA9PT0gNDI5KSB7CiAgICB1cGRhdGVkUmF0ZUxpbWl0cy5hbGwgPSBub3cgKyA2MCAqIDEwMDA7CiAgfQoKICByZXR1cm4gdXBkYXRlZFJhdGVMaW1pdHM7Cn0KCi8qKgogKiBBIG5vZGUuanMgd2F0Y2hkb2cgdGltZXIKICogQHBhcmFtIHBvbGxJbnRlcnZhbCBUaGUgaW50ZXJ2YWwgdGhhdCB3ZSBleHBlY3QgdG8gZ2V0IHBvbGxlZCBhdAogKiBAcGFyYW0gYW5yVGhyZXNob2xkIFRoZSB0aHJlc2hvbGQgZm9yIHdoZW4gd2UgY29uc2lkZXIgQU5SCiAqIEBwYXJhbSBjYWxsYmFjayBUaGUgY2FsbGJhY2sgdG8gY2FsbCBmb3IgQU5SCiAqIEByZXR1cm5zIEFuIG9iamVjdCB3aXRoIGBwb2xsYCBhbmQgYGVuYWJsZWRgIGZ1bmN0aW9ucyB7QGxpbmsgV2F0Y2hkb2dSZXR1cm59CiAqLwpmdW5jdGlvbiB3YXRjaGRvZ1RpbWVyKAogIGNyZWF0ZVRpbWVyLAogIHBvbGxJbnRlcnZhbCwKICBhbnJUaHJlc2hvbGQsCiAgY2FsbGJhY2ssCikgewogIGNvbnN0IHRpbWVyID0gY3JlYXRlVGltZXIoKTsKICBsZXQgdHJpZ2dlcmVkID0gZmFsc2U7CiAgbGV0IGVuYWJsZWQgPSB0cnVlOwoKICBzZXRJbnRlcnZhbCgoKSA9PiB7CiAgICBjb25zdCBkaWZmTXMgPSB0aW1lci5nZXRUaW1lTXMoKTsKCiAgICBpZiAodHJpZ2dlcmVkID09PSBmYWxzZSAmJiBkaWZmTXMgPiBwb2xsSW50ZXJ2YWwgKyBhbnJUaHJlc2hvbGQpIHsKICAgICAgdHJpZ2dlcmVkID0gdHJ1ZTsKICAgICAgaWYgKGVuYWJsZWQpIHsKICAgICAgICBjYWxsYmFjaygpOwogICAgICB9CiAgICB9CgogICAgaWYgKGRpZmZNcyA8IHBvbGxJbnRlcnZhbCArIGFuclRocmVzaG9sZCkgewogICAgICB0cmlnZ2VyZWQgPSBmYWxzZTsKICAgIH0KICB9LCAyMCk7CgogIHJldHVybiB7CiAgICBwb2xsOiAoKSA9PiB7CiAgICAgIHRpbWVyLnJlc2V0KCk7CiAgICB9LAogICAgZW5hYmxlZDogKHN0YXRlKSA9PiB7CiAgICAgIGVuYWJsZWQgPSBzdGF0ZTsKICAgIH0sCiAgfTsKfQoKLy8gdHlwZXMgY29waWVkIGZyb20gaW5zcGVjdG9yLmQudHMKCi8qKgogKiBDb252ZXJ0cyBEZWJ1Z2dlci5DYWxsRnJhbWUgdG8gU2VudHJ5IFN0YWNrRnJhbWUKICovCmZ1bmN0aW9uIGNhbGxGcmFtZVRvU3RhY2tGcmFtZSgKICBmcmFtZSwKICB1cmwsCiAgZ2V0TW9kdWxlRnJvbUZpbGVuYW1lLAopIHsKICBjb25zdCBmaWxlbmFtZSA9IHVybCA/IHVybC5yZXBsYWNlKC9eZmlsZTpcL1wvLywgJycpIDogdW5kZWZpbmVkOwoKICAvLyBDYWxsRnJhbWUgcm93L2NvbCBhcmUgMCBiYXNlZCwgd2hlcmVhcyBTdGFja0ZyYW1lIGFyZSAxIGJhc2VkCiAgY29uc3QgY29sbm8gPSBmcmFtZS5sb2NhdGlvbi5jb2x1bW5OdW1iZXIgPyBmcmFtZS5sb2NhdGlvbi5jb2x1bW5OdW1iZXIgKyAxIDogdW5kZWZpbmVkOwogIGNvbnN0IGxpbmVubyA9IGZyYW1lLmxvY2F0aW9uLmxpbmVOdW1iZXIgPyBmcmFtZS5sb2NhdGlvbi5saW5lTnVtYmVyICsgMSA6IHVuZGVmaW5lZDsKCiAgcmV0dXJuIGRyb3BVbmRlZmluZWRLZXlzKHsKICAgIGZpbGVuYW1lLAogICAgbW9kdWxlOiBnZXRNb2R1bGVGcm9tRmlsZW5hbWUoZmlsZW5hbWUpLAogICAgZnVuY3Rpb246IGZyYW1lLmZ1bmN0aW9uTmFtZSB8fCAnPycsCiAgICBjb2xubywKICAgIGxpbmVubywKICAgIGluX2FwcDogZmlsZW5hbWUgPyBmaWxlbmFtZUlzSW5BcHAoZmlsZW5hbWUpIDogdW5kZWZpbmVkLAogIH0pOwp9CgovKioKICogVGhpcyBzZXJ2ZXMgYXMgYSBidWlsZCB0aW1lIGZsYWcgdGhhdCB3aWxsIGJlIHRydWUgYnkgZGVmYXVsdCwgYnV0IGZhbHNlIGluIG5vbi1kZWJ1ZyBidWlsZHMgb3IgaWYgdXNlcnMgcmVwbGFjZSBgX19TRU5UUllfREVCVUdfX2AgaW4gdGhlaXIgZ2VuZXJhdGVkIGNvZGUuCiAqCiAqIEFUVEVOVElPTjogVGhpcyBjb25zdGFudCBtdXN0IG5ldmVyIGNyb3NzIHBhY2thZ2UgYm91bmRhcmllcyAoaS5lLiBiZSBleHBvcnRlZCkgdG8gZ3VhcmFudGVlIHRoYXQgaXQgY2FuIGJlIHVzZWQgZm9yIHRyZWUgc2hha2luZy4KICovCmNvbnN0IERFQlVHX0JVSUxEID0gKHR5cGVvZiBfX1NFTlRSWV9ERUJVR19fID09PSAndW5kZWZpbmVkJyB8fCBfX1NFTlRSWV9ERUJVR19fKTsKCmNvbnN0IERFRkFVTFRfRU5WSVJPTk1FTlQgPSAncHJvZHVjdGlvbic7CgovKioKICogUmV0dXJucyB0aGUgZ2xvYmFsIGV2ZW50IHByb2Nlc3NvcnMuCiAqIEBkZXByZWNhdGVkIEdsb2JhbCBldmVudCBwcm9jZXNzb3JzIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4KICovCmZ1bmN0aW9uIGdldEdsb2JhbEV2ZW50UHJvY2Vzc29ycygpIHsKICByZXR1cm4gZ2V0R2xvYmFsU2luZ2xldG9uKCdnbG9iYWxFdmVudFByb2Nlc3NvcnMnLCAoKSA9PiBbXSk7Cn0KCi8qKgogKiBQcm9jZXNzIGFuIGFycmF5IG9mIGV2ZW50IHByb2Nlc3NvcnMsIHJldHVybmluZyB0aGUgcHJvY2Vzc2VkIGV2ZW50IChvciBgbnVsbGAgaWYgdGhlIGV2ZW50IHdhcyBkcm9wcGVkKS4KICovCmZ1bmN0aW9uIG5vdGlmeUV2ZW50UHJvY2Vzc29ycygKICBwcm9jZXNzb3JzLAogIGV2ZW50LAogIGhpbnQsCiAgaW5kZXggPSAwLAopIHsKICByZXR1cm4gbmV3IFN5bmNQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKICAgIGNvbnN0IHByb2Nlc3NvciA9IHByb2Nlc3NvcnNbaW5kZXhdOwogICAgaWYgKGV2ZW50ID09PSBudWxsIHx8IHR5cGVvZiBwcm9jZXNzb3IgIT09ICdmdW5jdGlvbicpIHsKICAgICAgcmVzb2x2ZShldmVudCk7CiAgICB9IGVsc2UgewogICAgICBjb25zdCByZXN1bHQgPSBwcm9jZXNzb3IoeyAuLi5ldmVudCB9LCBoaW50KSA7CgogICAgICBERUJVR19CVUlMRCAmJiBwcm9jZXNzb3IuaWQgJiYgcmVzdWx0ID09PSBudWxsICYmIGxvZ2dlci5sb2coYEV2ZW50IHByb2Nlc3NvciAiJHtwcm9jZXNzb3IuaWR9IiBkcm9wcGVkIGV2ZW50YCk7CgogICAgICBpZiAoaXNUaGVuYWJsZShyZXN1bHQpKSB7CiAgICAgICAgdm9pZCByZXN1bHQKICAgICAgICAgIC50aGVuKGZpbmFsID0+IG5vdGlmeUV2ZW50UHJvY2Vzc29ycyhwcm9jZXNzb3JzLCBmaW5hbCwgaGludCwgaW5kZXggKyAxKS50aGVuKHJlc29sdmUpKQogICAgICAgICAgLnRoZW4obnVsbCwgcmVqZWN0KTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2b2lkIG5vdGlmeUV2ZW50UHJvY2Vzc29ycyhwcm9jZXNzb3JzLCByZXN1bHQsIGhpbnQsIGluZGV4ICsgMSkKICAgICAgICAgIC50aGVuKHJlc29sdmUpCiAgICAgICAgICAudGhlbihudWxsLCByZWplY3QpOwogICAgICB9CiAgICB9CiAgfSk7Cn0KCi8qKgogKiBDcmVhdGVzIGEgbmV3IGBTZXNzaW9uYCBvYmplY3QgYnkgc2V0dGluZyBjZXJ0YWluIGRlZmF1bHQgcGFyYW1ldGVycy4gSWYgb3B0aW9uYWwgQHBhcmFtIGNvbnRleHQKICogaXMgcGFzc2VkLCB0aGUgcGFzc2VkIHByb3BlcnRpZXMgYXJlIGFwcGxpZWQgdG8gdGhlIHNlc3Npb24gb2JqZWN0LgogKgogKiBAcGFyYW0gY29udGV4dCAob3B0aW9uYWwpIGFkZGl0aW9uYWwgcHJvcGVydGllcyB0byBiZSBhcHBsaWVkIHRvIHRoZSByZXR1cm5lZCBzZXNzaW9uIG9iamVjdAogKgogKiBAcmV0dXJucyBhIG5ldyBgU2Vzc2lvbmAgb2JqZWN0CiAqLwpmdW5jdGlvbiBtYWtlU2Vzc2lvbihjb250ZXh0KSB7CiAgLy8gQm90aCB0aW1lc3RhbXAgYW5kIHN0YXJ0ZWQgYXJlIGluIHNlY29uZHMgc2luY2UgdGhlIFVOSVggZXBvY2guCiAgY29uc3Qgc3RhcnRpbmdUaW1lID0gdGltZXN0YW1wSW5TZWNvbmRzKCk7CgogIGNvbnN0IHNlc3Npb24gPSB7CiAgICBzaWQ6IHV1aWQ0KCksCiAgICBpbml0OiB0cnVlLAogICAgdGltZXN0YW1wOiBzdGFydGluZ1RpbWUsCiAgICBzdGFydGVkOiBzdGFydGluZ1RpbWUsCiAgICBkdXJhdGlvbjogMCwKICAgIHN0YXR1czogJ29rJywKICAgIGVycm9yczogMCwKICAgIGlnbm9yZUR1cmF0aW9uOiBmYWxzZSwKICAgIHRvSlNPTjogKCkgPT4gc2Vzc2lvblRvSlNPTihzZXNzaW9uKSwKICB9OwoKICBpZiAoY29udGV4dCkgewogICAgdXBkYXRlU2Vzc2lvbihzZXNzaW9uLCBjb250ZXh0KTsKICB9CgogIHJldHVybiBzZXNzaW9uOwp9CgovKioKICogVXBkYXRlcyBhIHNlc3Npb24gb2JqZWN0IHdpdGggdGhlIHByb3BlcnRpZXMgcGFzc2VkIGluIHRoZSBjb250ZXh0LgogKgogKiBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBtdXRhdGVzIHRoZSBwYXNzZWQgb2JqZWN0IGFuZCByZXR1cm5zIHZvaWQuCiAqIChIYWQgdG8gZG8gdGhpcyBpbnN0ZWFkIG9mIHJldHVybmluZyBhIG5ldyBhbmQgdXBkYXRlZCBzZXNzaW9uIGJlY2F1c2UgY2xvc2luZyBhbmQgc2VuZGluZyBhIHNlc3Npb24KICogbWFrZXMgYW4gdXBkYXRlIHRvIHRoZSBzZXNzaW9uIGFmdGVyIGl0IHdhcyBwYXNzZWQgdG8gdGhlIHNlbmRpbmcgbG9naWMuCiAqIEBzZWUgQmFzZUNsaWVudC5jYXB0dXJlU2Vzc2lvbiApCiAqCiAqIEBwYXJhbSBzZXNzaW9uIHRoZSBgU2Vzc2lvbmAgdG8gdXBkYXRlCiAqIEBwYXJhbSBjb250ZXh0IHRoZSBgU2Vzc2lvbkNvbnRleHRgIGhvbGRpbmcgdGhlIHByb3BlcnRpZXMgdGhhdCBzaG91bGQgYmUgdXBkYXRlZCBpbiBAcGFyYW0gc2Vzc2lvbgogKi8KLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbXBsZXhpdHkKZnVuY3Rpb24gdXBkYXRlU2Vzc2lvbihzZXNzaW9uLCBjb250ZXh0ID0ge30pIHsKICBpZiAoY29udGV4dC51c2VyKSB7CiAgICBpZiAoIXNlc3Npb24uaXBBZGRyZXNzICYmIGNvbnRleHQudXNlci5pcF9hZGRyZXNzKSB7CiAgICAgIHNlc3Npb24uaXBBZGRyZXNzID0gY29udGV4dC51c2VyLmlwX2FkZHJlc3M7CiAgICB9CgogICAgaWYgKCFzZXNzaW9uLmRpZCAmJiAhY29udGV4dC5kaWQpIHsKICAgICAgc2Vzc2lvbi5kaWQgPSBjb250ZXh0LnVzZXIuaWQgfHwgY29udGV4dC51c2VyLmVtYWlsIHx8IGNvbnRleHQudXNlci51c2VybmFtZTsKICAgIH0KICB9CgogIHNlc3Npb24udGltZXN0YW1wID0gY29udGV4dC50aW1lc3RhbXAgfHwgdGltZXN0YW1wSW5TZWNvbmRzKCk7CgogIGlmIChjb250ZXh0LmFibm9ybWFsX21lY2hhbmlzbSkgewogICAgc2Vzc2lvbi5hYm5vcm1hbF9tZWNoYW5pc20gPSBjb250ZXh0LmFibm9ybWFsX21lY2hhbmlzbTsKICB9CgogIGlmIChjb250ZXh0Lmlnbm9yZUR1cmF0aW9uKSB7CiAgICBzZXNzaW9uLmlnbm9yZUR1cmF0aW9uID0gY29udGV4dC5pZ25vcmVEdXJhdGlvbjsKICB9CiAgaWYgKGNvbnRleHQuc2lkKSB7CiAgICAvLyBHb29kIGVub3VnaCB1dWlkIHZhbGlkYXRpb24uIOKAlCBLYW1pbAogICAgc2Vzc2lvbi5zaWQgPSBjb250ZXh0LnNpZC5sZW5ndGggPT09IDMyID8gY29udGV4dC5zaWQgOiB1dWlkNCgpOwogIH0KICBpZiAoY29udGV4dC5pbml0ICE9PSB1bmRlZmluZWQpIHsKICAgIHNlc3Npb24uaW5pdCA9IGNvbnRleHQuaW5pdDsKICB9CiAgaWYgKCFzZXNzaW9uLmRpZCAmJiBjb250ZXh0LmRpZCkgewogICAgc2Vzc2lvbi5kaWQgPSBgJHtjb250ZXh0LmRpZH1gOwogIH0KICBpZiAodHlwZW9mIGNvbnRleHQuc3RhcnRlZCA9PT0gJ251bWJlcicpIHsKICAgIHNlc3Npb24uc3RhcnRlZCA9IGNvbnRleHQuc3RhcnRlZDsKICB9CiAgaWYgKHNlc3Npb24uaWdub3JlRHVyYXRpb24pIHsKICAgIHNlc3Npb24uZHVyYXRpb24gPSB1bmRlZmluZWQ7CiAgfSBlbHNlIGlmICh0eXBlb2YgY29udGV4dC5kdXJhdGlvbiA9PT0gJ251bWJlcicpIHsKICAgIHNlc3Npb24uZHVyYXRpb24gPSBjb250ZXh0LmR1cmF0aW9uOwogIH0gZWxzZSB7CiAgICBjb25zdCBkdXJhdGlvbiA9IHNlc3Npb24udGltZXN0YW1wIC0gc2Vzc2lvbi5zdGFydGVkOwogICAgc2Vzc2lvbi5kdXJhdGlvbiA9IGR1cmF0aW9uID49IDAgPyBkdXJhdGlvbiA6IDA7CiAgfQogIGlmIChjb250ZXh0LnJlbGVhc2UpIHsKICAgIHNlc3Npb24ucmVsZWFzZSA9IGNvbnRleHQucmVsZWFzZTsKICB9CiAgaWYgKGNvbnRleHQuZW52aXJvbm1lbnQpIHsKICAgIHNlc3Npb24uZW52aXJvbm1lbnQgPSBjb250ZXh0LmVudmlyb25tZW50OwogIH0KICBpZiAoIXNlc3Npb24uaXBBZGRyZXNzICYmIGNvbnRleHQuaXBBZGRyZXNzKSB7CiAgICBzZXNzaW9uLmlwQWRkcmVzcyA9IGNvbnRleHQuaXBBZGRyZXNzOwogIH0KICBpZiAoIXNlc3Npb24udXNlckFnZW50ICYmIGNvbnRleHQudXNlckFnZW50KSB7CiAgICBzZXNzaW9uLnVzZXJBZ2VudCA9IGNvbnRleHQudXNlckFnZW50OwogIH0KICBpZiAodHlwZW9mIGNvbnRleHQuZXJyb3JzID09PSAnbnVtYmVyJykgewogICAgc2Vzc2lvbi5lcnJvcnMgPSBjb250ZXh0LmVycm9yczsKICB9CiAgaWYgKGNvbnRleHQuc3RhdHVzKSB7CiAgICBzZXNzaW9uLnN0YXR1cyA9IGNvbnRleHQuc3RhdHVzOwogIH0KfQoKLyoqCiAqIENsb3NlcyBhIHNlc3Npb24gYnkgc2V0dGluZyBpdHMgc3RhdHVzIGFuZCB1cGRhdGluZyB0aGUgc2Vzc2lvbiBvYmplY3Qgd2l0aCBpdC4KICogSW50ZXJuYWxseSBjYWxscyBgdXBkYXRlU2Vzc2lvbmAgdG8gdXBkYXRlIHRoZSBwYXNzZWQgc2Vzc2lvbiBvYmplY3QuCiAqCiAqIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIG11dGF0ZXMgdGhlIHBhc3NlZCBzZXNzaW9uIChAc2VlIHVwZGF0ZVNlc3Npb24gZm9yIGV4cGxhbmF0aW9uKS4KICoKICogQHBhcmFtIHNlc3Npb24gdGhlIGBTZXNzaW9uYCBvYmplY3QgdG8gYmUgY2xvc2VkCiAqIEBwYXJhbSBzdGF0dXMgdGhlIGBTZXNzaW9uU3RhdHVzYCB3aXRoIHdoaWNoIHRoZSBzZXNzaW9uIHdhcyBjbG9zZWQuIElmIHlvdSBkb24ndCBwYXNzIGEgc3RhdHVzLAogKiAgICAgICAgICAgICAgIHRoaXMgZnVuY3Rpb24gd2lsbCBrZWVwIHRoZSBwcmV2aW91c2x5IHNldCBzdGF0dXMsIHVubGVzcyBpdCB3YXMgYCdvaydgIGluIHdoaWNoIGNhc2UKICogICAgICAgICAgICAgICBpdCBpcyBjaGFuZ2VkIHRvIGAnZXhpdGVkJ2AuCiAqLwpmdW5jdGlvbiBjbG9zZVNlc3Npb24oc2Vzc2lvbiwgc3RhdHVzKSB7CiAgbGV0IGNvbnRleHQgPSB7fTsKICBpZiAoc3RhdHVzKSB7CiAgICBjb250ZXh0ID0geyBzdGF0dXMgfTsKICB9IGVsc2UgaWYgKHNlc3Npb24uc3RhdHVzID09PSAnb2snKSB7CiAgICBjb250ZXh0ID0geyBzdGF0dXM6ICdleGl0ZWQnIH07CiAgfQoKICB1cGRhdGVTZXNzaW9uKHNlc3Npb24sIGNvbnRleHQpOwp9CgovKioKICogU2VyaWFsaXplcyBhIHBhc3NlZCBzZXNzaW9uIG9iamVjdCB0byBhIEpTT04gb2JqZWN0IHdpdGggYSBzbGlnaHRseSBkaWZmZXJlbnQgc3RydWN0dXJlLgogKiBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBTZW50cnkgYmFja2VuZCByZXF1aXJlcyBhIHNsaWdodGx5IGRpZmZlcmVudCBzY2hlbWEgb2YgYSBzZXNzaW9uCiAqIHRoYW4gdGhlIG9uZSB0aGUgSlMgU0RLcyB1c2UgaW50ZXJuYWxseS4KICoKICogQHBhcmFtIHNlc3Npb24gdGhlIHNlc3Npb24gdG8gYmUgY29udmVydGVkCiAqCiAqIEByZXR1cm5zIGEgSlNPTiBvYmplY3Qgb2YgdGhlIHBhc3NlZCBzZXNzaW9uCiAqLwpmdW5jdGlvbiBzZXNzaW9uVG9KU09OKHNlc3Npb24pIHsKICByZXR1cm4gZHJvcFVuZGVmaW5lZEtleXMoewogICAgc2lkOiBgJHtzZXNzaW9uLnNpZH1gLAogICAgaW5pdDogc2Vzc2lvbi5pbml0LAogICAgLy8gTWFrZSBzdXJlIHRoYXQgc2VjIGlzIGNvbnZlcnRlZCB0byBtcyBmb3IgZGF0ZSBjb25zdHJ1Y3RvcgogICAgc3RhcnRlZDogbmV3IERhdGUoc2Vzc2lvbi5zdGFydGVkICogMTAwMCkudG9JU09TdHJpbmcoKSwKICAgIHRpbWVzdGFtcDogbmV3IERhdGUoc2Vzc2lvbi50aW1lc3RhbXAgKiAxMDAwKS50b0lTT1N0cmluZygpLAogICAgc3RhdHVzOiBzZXNzaW9uLnN0YXR1cywKICAgIGVycm9yczogc2Vzc2lvbi5lcnJvcnMsCiAgICBkaWQ6IHR5cGVvZiBzZXNzaW9uLmRpZCA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHNlc3Npb24uZGlkID09PSAnc3RyaW5nJyA/IGAke3Nlc3Npb24uZGlkfWAgOiB1bmRlZmluZWQsCiAgICBkdXJhdGlvbjogc2Vzc2lvbi5kdXJhdGlvbiwKICAgIGFibm9ybWFsX21lY2hhbmlzbTogc2Vzc2lvbi5hYm5vcm1hbF9tZWNoYW5pc20sCiAgICBhdHRyczogewogICAgICByZWxlYXNlOiBzZXNzaW9uLnJlbGVhc2UsCiAgICAgIGVudmlyb25tZW50OiBzZXNzaW9uLmVudmlyb25tZW50LAogICAgICBpcF9hZGRyZXNzOiBzZXNzaW9uLmlwQWRkcmVzcywKICAgICAgdXNlcl9hZ2VudDogc2Vzc2lvbi51c2VyQWdlbnQsCiAgICB9LAogIH0pOwp9Cgpjb25zdCBUUkFDRV9GTEFHX1NBTVBMRUQgPSAweDE7CgovKioKICogQ29udmVydCBhIHNwYW4gdG8gYSB0cmFjZSBjb250ZXh0LCB3aGljaCBjYW4gYmUgc2VudCBhcyB0aGUgYHRyYWNlYCBjb250ZXh0IGluIGFuIGV2ZW50LgogKi8KZnVuY3Rpb24gc3BhblRvVHJhY2VDb250ZXh0KHNwYW4pIHsKICBjb25zdCB7IHNwYW5JZDogc3Bhbl9pZCwgdHJhY2VJZDogdHJhY2VfaWQgfSA9IHNwYW4uc3BhbkNvbnRleHQoKTsKICBjb25zdCB7IGRhdGEsIG9wLCBwYXJlbnRfc3Bhbl9pZCwgc3RhdHVzLCB0YWdzLCBvcmlnaW4gfSA9IHNwYW5Ub0pTT04oc3Bhbik7CgogIHJldHVybiBkcm9wVW5kZWZpbmVkS2V5cyh7CiAgICBkYXRhLAogICAgb3AsCiAgICBwYXJlbnRfc3Bhbl9pZCwKICAgIHNwYW5faWQsCiAgICBzdGF0dXMsCiAgICB0YWdzLAogICAgdHJhY2VfaWQsCiAgICBvcmlnaW4sCiAgfSk7Cn0KCi8qKgogKiBDb252ZXJ0IGEgc3BhbiB0byBhIEpTT04gcmVwcmVzZW50YXRpb24uCiAqIE5vdGUgdGhhdCBhbGwgZmllbGRzIHJldHVybmVkIGhlcmUgYXJlIG9wdGlvbmFsIGFuZCBuZWVkIHRvIGJlIGd1YXJkZWQgYWdhaW5zdC4KICoKICogTm90ZTogQmVjYXVzZSBvZiB0aGlzLCB3ZSBjdXJyZW50bHkgaGF2ZSBhIGNpcmN1bGFyIHR5cGUgZGVwZW5kZW5jeSAod2hpY2ggd2Ugb3B0ZWQgb3V0IG9mIGluIHBhY2thZ2UuanNvbikuCiAqIFRoaXMgaXMgbm90IGF2b2lkYWJsZSBhcyB3ZSBuZWVkIGBzcGFuVG9KU09OYCBpbiBgc3BhblV0aWxzLnRzYCwgd2hpY2ggaW4gdHVybiBpcyBuZWVkZWQgYnkgYHNwYW4udHNgIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KICogQW5kIGBzcGFuVG9KU09OYCBuZWVkcyB0aGUgU3BhbiBjbGFzcyBmcm9tIGBzcGFuLnRzYCB0byBjaGVjayBoZXJlLgogKiBUT0RPIHY4OiBXaGVuIHdlIHJlbW92ZSB0aGUgZGVwcmVjYXRlZCBzdHVmZiBmcm9tIGBzcGFuLnRzYCwgd2UgY2FuIHJlbW92ZSB0aGUgY2lyY3VsYXIgZGVwZW5kZW5jeSBhZ2Fpbi4KICovCmZ1bmN0aW9uIHNwYW5Ub0pTT04oc3BhbikgewogIGlmIChzcGFuSXNTcGFuQ2xhc3Moc3BhbikpIHsKICAgIHJldHVybiBzcGFuLmdldFNwYW5KU09OKCk7CiAgfQoKICAvLyBGYWxsYmFjazogV2UgYWxzbyBjaGVjayBmb3IgYC50b0pTT04oKWAgaGVyZS4uLgogIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogIGlmICh0eXBlb2Ygc3Bhbi50b0pTT04gPT09ICdmdW5jdGlvbicpIHsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgcmV0dXJuIHNwYW4udG9KU09OKCk7CiAgfQoKICByZXR1cm4ge307Cn0KCi8qKgogKiBTYWRseSwgZHVlIHRvIGNpcmN1bGFyIGRlcGVuZGVuY3kgY2hlY2tzIHdlIGNhbm5vdCBhY3R1YWxseSBpbXBvcnQgdGhlIFNwYW4gY2xhc3MgaGVyZSBhbmQgY2hlY2sgZm9yIGluc3RhbmNlb2YuCiAqIDooIFNvIGluc3RlYWQgd2UgYXBwcm94aW1hdGUgdGhpcyBieSBjaGVja2luZyBpZiBpdCBoYXMgdGhlIGBnZXRTcGFuSlNPTmAgbWV0aG9kLgogKi8KZnVuY3Rpb24gc3BhbklzU3BhbkNsYXNzKHNwYW4pIHsKICByZXR1cm4gdHlwZW9mIChzcGFuICkuZ2V0U3BhbkpTT04gPT09ICdmdW5jdGlvbic7Cn0KCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgYSBzcGFuIGlzIHNhbXBsZWQuCiAqIEluIG1vc3QgY2FzZXMsIHlvdSBzaG91bGQganVzdCB1c2UgYHNwYW4uaXNSZWNvcmRpbmcoKWAgaW5zdGVhZC4KICogSG93ZXZlciwgdGhpcyBoYXMgYSBzbGlnaHRseSBkaWZmZXJlbnQgc2VtYW50aWMsIGFzIGl0IGFsc28gcmV0dXJucyBmYWxzZSBpZiB0aGUgc3BhbiBpcyBmaW5pc2hlZC4KICogU28gaW4gdGhlIGNhc2Ugd2hlcmUgdGhpcyBkaXN0aW5jdGlvbiBpcyBpbXBvcnRhbnQsIHVzZSB0aGlzIG1ldGhvZC4KICovCmZ1bmN0aW9uIHNwYW5Jc1NhbXBsZWQoc3BhbikgewogIC8vIFdlIGFsaWduIG91ciB0cmFjZSBmbGFncyB3aXRoIHRoZSBvbmVzIE9wZW5UZWxlbWV0cnkgdXNlCiAgLy8gU28gd2UgYWxzbyBjaGVjayBmb3Igc2FtcGxlZCB0aGUgc2FtZSB3YXkgdGhleSBkby4KICBjb25zdCB7IHRyYWNlRmxhZ3MgfSA9IHNwYW4uc3BhbkNvbnRleHQoKTsKICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYml0d2lzZQogIHJldHVybiBCb29sZWFuKHRyYWNlRmxhZ3MgJiBUUkFDRV9GTEFHX1NBTVBMRUQpOwp9CgovKioKICogR2V0IHRoZSBjdXJyZW50bHkgYWN0aXZlIGNsaWVudC4KICovCmZ1bmN0aW9uIGdldENsaWVudCgpIHsKICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICByZXR1cm4gZ2V0Q3VycmVudEh1YigpLmdldENsaWVudCgpOwp9CgovKioKICogR2V0IHRoZSBjdXJyZW50bHkgYWN0aXZlIHNjb3BlLgogKi8KZnVuY3Rpb24gZ2V0Q3VycmVudFNjb3BlKCkgewogIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogIHJldHVybiBnZXRDdXJyZW50SHViKCkuZ2V0U2NvcGUoKTsKfQoKLyoqCiAqIFJldHVybnMgdGhlIHJvb3Qgc3BhbiBvZiBhIGdpdmVuIHNwYW4uCiAqCiAqIEFzIGxvbmcgYXMgd2UgdXNlIGBUcmFuc2FjdGlvbmBzIGludGVybmFsbHksIHRoZSByZXR1cm5lZCByb290IHNwYW4KICogd2lsbCBiZSBhIGBUcmFuc2FjdGlvbmAgYnV0IGJlIGF3YXJlIHRoYXQgdGhpcyBtaWdodCBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4KICoKICogSWYgdGhlIGdpdmVuIHNwYW4gaGFzIG5vIHJvb3Qgc3BhbiBvciB0cmFuc2FjdGlvbiwgYHVuZGVmaW5lZGAgaXMgcmV0dXJuZWQuCiAqLwpmdW5jdGlvbiBnZXRSb290U3BhbihzcGFuKSB7CiAgLy8gVE9ETyAodjgpOiBSZW1vdmUgdGhpcyBjaGVjayBhbmQganVzdCByZXR1cm4gc3BhbgogIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogIHJldHVybiBzcGFuLnRyYW5zYWN0aW9uOwp9CgovKioKICogQ3JlYXRlcyBhIGR5bmFtaWMgc2FtcGxpbmcgY29udGV4dCBmcm9tIGEgY2xpZW50LgogKgogKiBEaXNwYXRjaGVzIHRoZSBgY3JlYXRlRHNjYCBsaWZlY3ljbGUgaG9vayBhcyBhIHNpZGUgZWZmZWN0LgogKi8KZnVuY3Rpb24gZ2V0RHluYW1pY1NhbXBsaW5nQ29udGV4dEZyb21DbGllbnQoCiAgdHJhY2VfaWQsCiAgY2xpZW50LAogIHNjb3BlLAopIHsKICBjb25zdCBvcHRpb25zID0gY2xpZW50LmdldE9wdGlvbnMoKTsKCiAgY29uc3QgeyBwdWJsaWNLZXk6IHB1YmxpY19rZXkgfSA9IGNsaWVudC5nZXREc24oKSB8fCB7fTsKICAvLyBUT0RPKHY4KTogUmVtb3ZlIHNlZ21lbnQgZnJvbSBVc2VyCiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgY29uc3QgeyBzZWdtZW50OiB1c2VyX3NlZ21lbnQgfSA9IChzY29wZSAmJiBzY29wZS5nZXRVc2VyKCkpIHx8IHt9OwoKICBjb25zdCBkc2MgPSBkcm9wVW5kZWZpbmVkS2V5cyh7CiAgICBlbnZpcm9ubWVudDogb3B0aW9ucy5lbnZpcm9ubWVudCB8fCBERUZBVUxUX0VOVklST05NRU5ULAogICAgcmVsZWFzZTogb3B0aW9ucy5yZWxlYXNlLAogICAgdXNlcl9zZWdtZW50LAogICAgcHVibGljX2tleSwKICAgIHRyYWNlX2lkLAogIH0pIDsKCiAgY2xpZW50LmVtaXQgJiYgY2xpZW50LmVtaXQoJ2NyZWF0ZURzYycsIGRzYyk7CgogIHJldHVybiBkc2M7Cn0KCi8qKgogKiBBIFNwYW4gd2l0aCBhIGZyb3plbiBkeW5hbWljIHNhbXBsaW5nIGNvbnRleHQuCiAqLwoKLyoqCiAqIENyZWF0ZXMgYSBkeW5hbWljIHNhbXBsaW5nIGNvbnRleHQgZnJvbSBhIHNwYW4gKGFuZCBjbGllbnQgYW5kIHNjb3BlKQogKgogKiBAcGFyYW0gc3BhbiB0aGUgc3BhbiBmcm9tIHdoaWNoIGEgZmV3IHZhbHVlcyBsaWtlIHRoZSByb290IHNwYW4gbmFtZSBhbmQgc2FtcGxlIHJhdGUgYXJlIGV4dHJhY3RlZC4KICoKICogQHJldHVybnMgYSBkeW5hbWljIHNhbXBsaW5nIGNvbnRleHQKICovCmZ1bmN0aW9uIGdldER5bmFtaWNTYW1wbGluZ0NvbnRleHRGcm9tU3BhbihzcGFuKSB7CiAgY29uc3QgY2xpZW50ID0gZ2V0Q2xpZW50KCk7CiAgaWYgKCFjbGllbnQpIHsKICAgIHJldHVybiB7fTsKICB9CgogIC8vIHBhc3NpbmcgZW1pdD1mYWxzZSBoZXJlIHRvIG9ubHkgZW1pdCBsYXRlciBvbmNlIHRoZSBEU0MgaXMgYWN0dWFsbHkgcG9wdWxhdGVkCiAgY29uc3QgZHNjID0gZ2V0RHluYW1pY1NhbXBsaW5nQ29udGV4dEZyb21DbGllbnQoc3BhblRvSlNPTihzcGFuKS50cmFjZV9pZCB8fCAnJywgY2xpZW50LCBnZXRDdXJyZW50U2NvcGUoKSk7CgogIC8vIFRPRE8gKHY4KTogUmVtb3ZlIHY3RnJvemVuRHNjIGFzIGEgVHJhbnNhY3Rpb24gd2lsbCBubyBsb25nZXIgaGF2ZSBfZnJvemVuRHluYW1pY1NhbXBsaW5nQ29udGV4dAogIGNvbnN0IHR4biA9IGdldFJvb3RTcGFuKHNwYW4pIDsKICBpZiAoIXR4bikgewogICAgcmV0dXJuIGRzYzsKICB9CgogIC8vIFRPRE8gKHY4KTogUmVtb3ZlIHY3RnJvemVuRHNjIGFzIGEgVHJhbnNhY3Rpb24gd2lsbCBubyBsb25nZXIgaGF2ZSBfZnJvemVuRHluYW1pY1NhbXBsaW5nQ29udGV4dAogIC8vIEZvciBub3cgd2UgbmVlZCB0byBhdm9pZCBicmVha2luZyB1c2VycyB3aG8gZGlyZWN0bHkgY3JlYXRlZCBhIHR4biB3aXRoIGEgRFNDLCB3aGVyZSB0aGlzIGZpZWxkIGlzIHN0aWxsIHNldC4KICAvLyBAc2VlIFRyYW5zYWN0aW9uIGNsYXNzIGNvbnN0cnVjdG9yCiAgY29uc3QgdjdGcm96ZW5Ec2MgPSB0eG4gJiYgdHhuLl9mcm96ZW5EeW5hbWljU2FtcGxpbmdDb250ZXh0OwogIGlmICh2N0Zyb3plbkRzYykgewogICAgcmV0dXJuIHY3RnJvemVuRHNjOwogIH0KCiAgLy8gVE9ETyAodjgpOiBSZXBsYWNlIHR4bi5tZXRhZGF0YSB3aXRoIHR4bi5hdHRyaWJ1dGVzW10KICAvLyBXZSBjYW4ndCBkbyB0aGlzIHlldCBiZWNhdXNlIGF0dHJpYnV0ZXMgYXJlbid0IGFsd2F5cyBzZXQgeWV0LgogIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogIGNvbnN0IHsgc2FtcGxlUmF0ZTogbWF5YmVTYW1wbGVSYXRlLCBzb3VyY2UgfSA9IHR4bi5tZXRhZGF0YTsKICBpZiAobWF5YmVTYW1wbGVSYXRlICE9IG51bGwpIHsKICAgIGRzYy5zYW1wbGVfcmF0ZSA9IGAke21heWJlU2FtcGxlUmF0ZX1gOwogIH0KCiAgLy8gV2UgZG9uJ3Qgd2FudCB0byBoYXZlIGEgdHJhbnNhY3Rpb24gbmFtZSBpbiB0aGUgRFNDIGlmIHRoZSBzb3VyY2UgaXMgInVybCIgYmVjYXVzZSBVUkxzIG1pZ2h0IGNvbnRhaW4gUElJCiAgY29uc3QganNvblNwYW4gPSBzcGFuVG9KU09OKHR4bik7CgogIC8vIGFmdGVyIEpTT04gY29udmVyc2lvbiwgdHhuLm5hbWUgYmVjb21lcyBqc29uU3Bhbi5kZXNjcmlwdGlvbgogIGlmIChzb3VyY2UgJiYgc291cmNlICE9PSAndXJsJykgewogICAgZHNjLnRyYW5zYWN0aW9uID0ganNvblNwYW4uZGVzY3JpcHRpb247CiAgfQoKICBkc2Muc2FtcGxlZCA9IFN0cmluZyhzcGFuSXNTYW1wbGVkKHR4bikpOwoKICBjbGllbnQuZW1pdCAmJiBjbGllbnQuZW1pdCgnY3JlYXRlRHNjJywgZHNjKTsKCiAgcmV0dXJuIGRzYzsKfQoKLyoqCiAqIEFwcGxpZXMgZGF0YSBmcm9tIHRoZSBzY29wZSB0byB0aGUgZXZlbnQgYW5kIHJ1bnMgYWxsIGV2ZW50IHByb2Nlc3NvcnMgb24gaXQuCiAqLwpmdW5jdGlvbiBhcHBseVNjb3BlRGF0YVRvRXZlbnQoZXZlbnQsIGRhdGEpIHsKICBjb25zdCB7IGZpbmdlcnByaW50LCBzcGFuLCBicmVhZGNydW1icywgc2RrUHJvY2Vzc2luZ01ldGFkYXRhIH0gPSBkYXRhOwoKICAvLyBBcHBseSBnZW5lcmFsIGRhdGEKICBhcHBseURhdGFUb0V2ZW50KGV2ZW50LCBkYXRhKTsKCiAgLy8gV2Ugd2FudCB0byBzZXQgdGhlIHRyYWNlIGNvbnRleHQgZm9yIG5vcm1hbCBldmVudHMgb25seSBpZiB0aGVyZSBpc24ndCBhbHJlYWR5CiAgLy8gYSB0cmFjZSBjb250ZXh0IG9uIHRoZSBldmVudC4gVGhlcmUgaXMgYSBwcm9kdWN0IGZlYXR1cmUgaW4gcGxhY2Ugd2hlcmUgd2UgbGluawogIC8vIGVycm9ycyB3aXRoIHRyYW5zYWN0aW9uIGFuZCBpdCByZWxpZXMgb24gdGhhdC4KICBpZiAoc3BhbikgewogICAgYXBwbHlTcGFuVG9FdmVudChldmVudCwgc3Bhbik7CiAgfQoKICBhcHBseUZpbmdlcnByaW50VG9FdmVudChldmVudCwgZmluZ2VycHJpbnQpOwogIGFwcGx5QnJlYWRjcnVtYnNUb0V2ZW50KGV2ZW50LCBicmVhZGNydW1icyk7CiAgYXBwbHlTZGtNZXRhZGF0YVRvRXZlbnQoZXZlbnQsIHNka1Byb2Nlc3NpbmdNZXRhZGF0YSk7Cn0KCmZ1bmN0aW9uIGFwcGx5RGF0YVRvRXZlbnQoZXZlbnQsIGRhdGEpIHsKICBjb25zdCB7CiAgICBleHRyYSwKICAgIHRhZ3MsCiAgICB1c2VyLAogICAgY29udGV4dHMsCiAgICBsZXZlbCwKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgdHJhbnNhY3Rpb25OYW1lLAogIH0gPSBkYXRhOwoKICBjb25zdCBjbGVhbmVkRXh0cmEgPSBkcm9wVW5kZWZpbmVkS2V5cyhleHRyYSk7CiAgaWYgKGNsZWFuZWRFeHRyYSAmJiBPYmplY3Qua2V5cyhjbGVhbmVkRXh0cmEpLmxlbmd0aCkgewogICAgZXZlbnQuZXh0cmEgPSB7IC4uLmNsZWFuZWRFeHRyYSwgLi4uZXZlbnQuZXh0cmEgfTsKICB9CgogIGNvbnN0IGNsZWFuZWRUYWdzID0gZHJvcFVuZGVmaW5lZEtleXModGFncyk7CiAgaWYgKGNsZWFuZWRUYWdzICYmIE9iamVjdC5rZXlzKGNsZWFuZWRUYWdzKS5sZW5ndGgpIHsKICAgIGV2ZW50LnRhZ3MgPSB7IC4uLmNsZWFuZWRUYWdzLCAuLi5ldmVudC50YWdzIH07CiAgfQoKICBjb25zdCBjbGVhbmVkVXNlciA9IGRyb3BVbmRlZmluZWRLZXlzKHVzZXIpOwogIGlmIChjbGVhbmVkVXNlciAmJiBPYmplY3Qua2V5cyhjbGVhbmVkVXNlcikubGVuZ3RoKSB7CiAgICBldmVudC51c2VyID0geyAuLi5jbGVhbmVkVXNlciwgLi4uZXZlbnQudXNlciB9OwogIH0KCiAgY29uc3QgY2xlYW5lZENvbnRleHRzID0gZHJvcFVuZGVmaW5lZEtleXMoY29udGV4dHMpOwogIGlmIChjbGVhbmVkQ29udGV4dHMgJiYgT2JqZWN0LmtleXMoY2xlYW5lZENvbnRleHRzKS5sZW5ndGgpIHsKICAgIGV2ZW50LmNvbnRleHRzID0geyAuLi5jbGVhbmVkQ29udGV4dHMsIC4uLmV2ZW50LmNvbnRleHRzIH07CiAgfQoKICBpZiAobGV2ZWwpIHsKICAgIGV2ZW50LmxldmVsID0gbGV2ZWw7CiAgfQoKICBpZiAodHJhbnNhY3Rpb25OYW1lKSB7CiAgICBldmVudC50cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uTmFtZTsKICB9Cn0KCmZ1bmN0aW9uIGFwcGx5QnJlYWRjcnVtYnNUb0V2ZW50KGV2ZW50LCBicmVhZGNydW1icykgewogIGNvbnN0IG1lcmdlZEJyZWFkY3J1bWJzID0gWy4uLihldmVudC5icmVhZGNydW1icyB8fCBbXSksIC4uLmJyZWFkY3J1bWJzXTsKICBldmVudC5icmVhZGNydW1icyA9IG1lcmdlZEJyZWFkY3J1bWJzLmxlbmd0aCA/IG1lcmdlZEJyZWFkY3J1bWJzIDogdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBhcHBseVNka01ldGFkYXRhVG9FdmVudChldmVudCwgc2RrUHJvY2Vzc2luZ01ldGFkYXRhKSB7CiAgZXZlbnQuc2RrUHJvY2Vzc2luZ01ldGFkYXRhID0gewogICAgLi4uZXZlbnQuc2RrUHJvY2Vzc2luZ01ldGFkYXRhLAogICAgLi4uc2RrUHJvY2Vzc2luZ01ldGFkYXRhLAogIH07Cn0KCmZ1bmN0aW9uIGFwcGx5U3BhblRvRXZlbnQoZXZlbnQsIHNwYW4pIHsKICBldmVudC5jb250ZXh0cyA9IHsgdHJhY2U6IHNwYW5Ub1RyYWNlQ29udGV4dChzcGFuKSwgLi4uZXZlbnQuY29udGV4dHMgfTsKICBjb25zdCByb290U3BhbiA9IGdldFJvb3RTcGFuKHNwYW4pOwogIGlmIChyb290U3BhbikgewogICAgZXZlbnQuc2RrUHJvY2Vzc2luZ01ldGFkYXRhID0gewogICAgICBkeW5hbWljU2FtcGxpbmdDb250ZXh0OiBnZXREeW5hbWljU2FtcGxpbmdDb250ZXh0RnJvbVNwYW4oc3BhbiksCiAgICAgIC4uLmV2ZW50LnNka1Byb2Nlc3NpbmdNZXRhZGF0YSwKICAgIH07CiAgICBjb25zdCB0cmFuc2FjdGlvbk5hbWUgPSBzcGFuVG9KU09OKHJvb3RTcGFuKS5kZXNjcmlwdGlvbjsKICAgIGlmICh0cmFuc2FjdGlvbk5hbWUpIHsKICAgICAgZXZlbnQudGFncyA9IHsgdHJhbnNhY3Rpb246IHRyYW5zYWN0aW9uTmFtZSwgLi4uZXZlbnQudGFncyB9OwogICAgfQogIH0KfQoKLyoqCiAqIEFwcGxpZXMgZmluZ2VycHJpbnQgZnJvbSB0aGUgc2NvcGUgdG8gdGhlIGV2ZW50IGlmIHRoZXJlJ3Mgb25lLAogKiB1c2VzIG1lc3NhZ2UgaWYgdGhlcmUncyBvbmUgaW5zdGVhZCBvciBnZXQgcmlkIG9mIGVtcHR5IGZpbmdlcnByaW50CiAqLwpmdW5jdGlvbiBhcHBseUZpbmdlcnByaW50VG9FdmVudChldmVudCwgZmluZ2VycHJpbnQpIHsKICAvLyBNYWtlIHN1cmUgaXQncyBhbiBhcnJheSBmaXJzdCBhbmQgd2UgYWN0dWFsbHkgaGF2ZSBzb21ldGhpbmcgaW4gcGxhY2UKICBldmVudC5maW5nZXJwcmludCA9IGV2ZW50LmZpbmdlcnByaW50ID8gYXJyYXlpZnkoZXZlbnQuZmluZ2VycHJpbnQpIDogW107CgogIC8vIElmIHdlIGhhdmUgc29tZXRoaW5nIG9uIHRoZSBzY29wZSwgdGhlbiBtZXJnZSBpdCB3aXRoIGV2ZW50CiAgaWYgKGZpbmdlcnByaW50KSB7CiAgICBldmVudC5maW5nZXJwcmludCA9IGV2ZW50LmZpbmdlcnByaW50LmNvbmNhdChmaW5nZXJwcmludCk7CiAgfQoKICAvLyBJZiB3ZSBoYXZlIG5vIGRhdGEgYXQgYWxsLCByZW1vdmUgZW1wdHkgYXJyYXkgZGVmYXVsdAogIGlmIChldmVudC5maW5nZXJwcmludCAmJiAhZXZlbnQuZmluZ2VycHJpbnQubGVuZ3RoKSB7CiAgICBkZWxldGUgZXZlbnQuZmluZ2VycHJpbnQ7CiAgfQp9CgovKioKICogRGVmYXVsdCB2YWx1ZSBmb3IgbWF4aW11bSBudW1iZXIgb2YgYnJlYWRjcnVtYnMgYWRkZWQgdG8gYW4gZXZlbnQuCiAqLwpjb25zdCBERUZBVUxUX01BWF9CUkVBRENSVU1CUyA9IDEwMDsKCi8qKgogKiBIb2xkcyBhZGRpdGlvbmFsIGV2ZW50IGluZm9ybWF0aW9uLiB7QGxpbmsgU2NvcGUuYXBwbHlUb0V2ZW50fSB3aWxsIGJlCiAqIGNhbGxlZCBieSB0aGUgY2xpZW50IGJlZm9yZSBhbiBldmVudCB3aWxsIGJlIHNlbnQuCiAqLwpjbGFzcyBTY29wZSAgewogIC8qKiBGbGFnIGlmIG5vdGlmeWluZyBpcyBoYXBwZW5pbmcuICovCgogIC8qKiBDYWxsYmFjayBmb3IgY2xpZW50IHRvIHJlY2VpdmUgc2NvcGUgY2hhbmdlcy4gKi8KCiAgLyoqIENhbGxiYWNrIGxpc3QgdGhhdCB3aWxsIGJlIGNhbGxlZCBhZnRlciB7QGxpbmsgYXBwbHlUb0V2ZW50fS4gKi8KCiAgLyoqIEFycmF5IG9mIGJyZWFkY3J1bWJzLiAqLwoKICAvKiogVXNlciAqLwoKICAvKiogVGFncyAqLwoKICAvKiogRXh0cmEgKi8KCiAgLyoqIENvbnRleHRzICovCgogIC8qKiBBdHRhY2htZW50cyAqLwoKICAvKiogUHJvcGFnYXRpb24gQ29udGV4dCBmb3IgZGlzdHJpYnV0ZWQgdHJhY2luZyAqLwoKICAvKioKICAgKiBBIHBsYWNlIHRvIHN0YXNoIGRhdGEgd2hpY2ggaXMgbmVlZGVkIGF0IHNvbWUgcG9pbnQgaW4gdGhlIFNESydzIGV2ZW50IHByb2Nlc3NpbmcgcGlwZWxpbmUgYnV0IHdoaWNoIHNob3VsZG4ndCBnZXQKICAgKiBzZW50IHRvIFNlbnRyeQogICAqLwoKICAvKiogRmluZ2VycHJpbnQgKi8KCiAgLyoqIFNldmVyaXR5ICovCiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCgogIC8qKgogICAqIFRyYW5zYWN0aW9uIE5hbWUKICAgKi8KCiAgLyoqIFNwYW4gKi8KCiAgLyoqIFNlc3Npb24gKi8KCiAgLyoqIFJlcXVlc3QgTW9kZSBTZXNzaW9uIFN0YXR1cyAqLwoKICAvKiogVGhlIGNsaWVudCBvbiB0aGlzIHNjb3BlICovCgogIC8vIE5PVEU6IEFueSBmaWVsZCB3aGljaCBnZXRzIGFkZGVkIGhlcmUgc2hvdWxkIGdldCBhZGRlZCBub3Qgb25seSB0byB0aGUgY29uc3RydWN0b3IgYnV0IGFsc28gdG8gdGhlIGBjbG9uZWAgbWV0aG9kLgoKICAgY29uc3RydWN0b3IoKSB7CiAgICB0aGlzLl9ub3RpZnlpbmdMaXN0ZW5lcnMgPSBmYWxzZTsKICAgIHRoaXMuX3Njb3BlTGlzdGVuZXJzID0gW107CiAgICB0aGlzLl9ldmVudFByb2Nlc3NvcnMgPSBbXTsKICAgIHRoaXMuX2JyZWFkY3J1bWJzID0gW107CiAgICB0aGlzLl9hdHRhY2htZW50cyA9IFtdOwogICAgdGhpcy5fdXNlciA9IHt9OwogICAgdGhpcy5fdGFncyA9IHt9OwogICAgdGhpcy5fZXh0cmEgPSB7fTsKICAgIHRoaXMuX2NvbnRleHRzID0ge307CiAgICB0aGlzLl9zZGtQcm9jZXNzaW5nTWV0YWRhdGEgPSB7fTsKICAgIHRoaXMuX3Byb3BhZ2F0aW9uQ29udGV4dCA9IGdlbmVyYXRlUHJvcGFnYXRpb25Db250ZXh0KCk7CiAgfQoKICAvKioKICAgKiBJbmhlcml0IHZhbHVlcyBmcm9tIHRoZSBwYXJlbnQgc2NvcGUuCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBzY29wZS5jbG9uZSgpYCBhbmQgYG5ldyBTY29wZSgpYCBpbnN0ZWFkLgogICAqLwogICBzdGF0aWMgY2xvbmUoc2NvcGUpIHsKICAgIHJldHVybiBzY29wZSA/IHNjb3BlLmNsb25lKCkgOiBuZXcgU2NvcGUoKTsKICB9CgogIC8qKgogICAqIENsb25lIHRoaXMgc2NvcGUgaW5zdGFuY2UuCiAgICovCiAgIGNsb25lKCkgewogICAgY29uc3QgbmV3U2NvcGUgPSBuZXcgU2NvcGUoKTsKICAgIG5ld1Njb3BlLl9icmVhZGNydW1icyA9IFsuLi50aGlzLl9icmVhZGNydW1ic107CiAgICBuZXdTY29wZS5fdGFncyA9IHsgLi4udGhpcy5fdGFncyB9OwogICAgbmV3U2NvcGUuX2V4dHJhID0geyAuLi50aGlzLl9leHRyYSB9OwogICAgbmV3U2NvcGUuX2NvbnRleHRzID0geyAuLi50aGlzLl9jb250ZXh0cyB9OwogICAgbmV3U2NvcGUuX3VzZXIgPSB0aGlzLl91c2VyOwogICAgbmV3U2NvcGUuX2xldmVsID0gdGhpcy5fbGV2ZWw7CiAgICBuZXdTY29wZS5fc3BhbiA9IHRoaXMuX3NwYW47CiAgICBuZXdTY29wZS5fc2Vzc2lvbiA9IHRoaXMuX3Nlc3Npb247CiAgICBuZXdTY29wZS5fdHJhbnNhY3Rpb25OYW1lID0gdGhpcy5fdHJhbnNhY3Rpb25OYW1lOwogICAgbmV3U2NvcGUuX2ZpbmdlcnByaW50ID0gdGhpcy5fZmluZ2VycHJpbnQ7CiAgICBuZXdTY29wZS5fZXZlbnRQcm9jZXNzb3JzID0gWy4uLnRoaXMuX2V2ZW50UHJvY2Vzc29yc107CiAgICBuZXdTY29wZS5fcmVxdWVzdFNlc3Npb24gPSB0aGlzLl9yZXF1ZXN0U2Vzc2lvbjsKICAgIG5ld1Njb3BlLl9hdHRhY2htZW50cyA9IFsuLi50aGlzLl9hdHRhY2htZW50c107CiAgICBuZXdTY29wZS5fc2RrUHJvY2Vzc2luZ01ldGFkYXRhID0geyAuLi50aGlzLl9zZGtQcm9jZXNzaW5nTWV0YWRhdGEgfTsKICAgIG5ld1Njb3BlLl9wcm9wYWdhdGlvbkNvbnRleHQgPSB7IC4uLnRoaXMuX3Byb3BhZ2F0aW9uQ29udGV4dCB9OwogICAgbmV3U2NvcGUuX2NsaWVudCA9IHRoaXMuX2NsaWVudDsKCiAgICByZXR1cm4gbmV3U2NvcGU7CiAgfQoKICAvKiogVXBkYXRlIHRoZSBjbGllbnQgb24gdGhlIHNjb3BlLiAqLwogICBzZXRDbGllbnQoY2xpZW50KSB7CiAgICB0aGlzLl9jbGllbnQgPSBjbGllbnQ7CiAgfQoKICAvKioKICAgKiBHZXQgdGhlIGNsaWVudCBhc3NpZ25lZCB0byB0aGlzIHNjb3BlLgogICAqCiAgICogSXQgaXMgZ2VuZXJhbGx5IHJlY29tbWVuZGVkIHRvIHVzZSB0aGUgZ2xvYmFsIGZ1bmN0aW9uIGBTZW50cnkuZ2V0Q2xpZW50KClgIGluc3RlYWQsIHVubGVzcyB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmcuCiAgICovCiAgIGdldENsaWVudCgpIHsKICAgIHJldHVybiB0aGlzLl9jbGllbnQ7CiAgfQoKICAvKioKICAgKiBBZGQgaW50ZXJuYWwgb24gY2hhbmdlIGxpc3RlbmVyLiBVc2VkIGZvciBzdWIgU0RLcyB0aGF0IG5lZWQgdG8gc3RvcmUgdGhlIHNjb3BlLgogICAqIEBoaWRkZW4KICAgKi8KICAgYWRkU2NvcGVMaXN0ZW5lcihjYWxsYmFjaykgewogICAgdGhpcy5fc2NvcGVMaXN0ZW5lcnMucHVzaChjYWxsYmFjayk7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqLwogICBhZGRFdmVudFByb2Nlc3NvcihjYWxsYmFjaykgewogICAgdGhpcy5fZXZlbnRQcm9jZXNzb3JzLnB1c2goY2FsbGJhY2spOwogICAgcmV0dXJuIHRoaXM7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqLwogICBzZXRVc2VyKHVzZXIpIHsKICAgIC8vIElmIG51bGwgaXMgcGFzc2VkIHdlIHdhbnQgdG8gdW5zZXQgZXZlcnl0aGluZywgYnV0IHN0aWxsIGRlZmluZSBrZXlzLAogICAgLy8gc28gdGhhdCBsYXRlciBkb3duIGluIHRoZSBwaXBlbGluZSBhbnkgZXhpc3RpbmcgdmFsdWVzIGFyZSBjbGVhcmVkLgogICAgdGhpcy5fdXNlciA9IHVzZXIgfHwgewogICAgICBlbWFpbDogdW5kZWZpbmVkLAogICAgICBpZDogdW5kZWZpbmVkLAogICAgICBpcF9hZGRyZXNzOiB1bmRlZmluZWQsCiAgICAgIHNlZ21lbnQ6IHVuZGVmaW5lZCwKICAgICAgdXNlcm5hbWU6IHVuZGVmaW5lZCwKICAgIH07CgogICAgaWYgKHRoaXMuX3Nlc3Npb24pIHsKICAgICAgdXBkYXRlU2Vzc2lvbih0aGlzLl9zZXNzaW9uLCB7IHVzZXIgfSk7CiAgICB9CgogICAgdGhpcy5fbm90aWZ5U2NvcGVMaXN0ZW5lcnMoKTsKICAgIHJldHVybiB0aGlzOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKi8KICAgZ2V0VXNlcigpIHsKICAgIHJldHVybiB0aGlzLl91c2VyOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKi8KICAgZ2V0UmVxdWVzdFNlc3Npb24oKSB7CiAgICByZXR1cm4gdGhpcy5fcmVxdWVzdFNlc3Npb247CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqLwogICBzZXRSZXF1ZXN0U2Vzc2lvbihyZXF1ZXN0U2Vzc2lvbikgewogICAgdGhpcy5fcmVxdWVzdFNlc3Npb24gPSByZXF1ZXN0U2Vzc2lvbjsKICAgIHJldHVybiB0aGlzOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKi8KICAgc2V0VGFncyh0YWdzKSB7CiAgICB0aGlzLl90YWdzID0gewogICAgICAuLi50aGlzLl90YWdzLAogICAgICAuLi50YWdzLAogICAgfTsKICAgIHRoaXMuX25vdGlmeVNjb3BlTGlzdGVuZXJzKCk7CiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICovCiAgIHNldFRhZyhrZXksIHZhbHVlKSB7CiAgICB0aGlzLl90YWdzID0geyAuLi50aGlzLl90YWdzLCBba2V5XTogdmFsdWUgfTsKICAgIHRoaXMuX25vdGlmeVNjb3BlTGlzdGVuZXJzKCk7CiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICovCiAgIHNldEV4dHJhcyhleHRyYXMpIHsKICAgIHRoaXMuX2V4dHJhID0gewogICAgICAuLi50aGlzLl9leHRyYSwKICAgICAgLi4uZXh0cmFzLAogICAgfTsKICAgIHRoaXMuX25vdGlmeVNjb3BlTGlzdGVuZXJzKCk7CiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICovCiAgIHNldEV4dHJhKGtleSwgZXh0cmEpIHsKICAgIHRoaXMuX2V4dHJhID0geyAuLi50aGlzLl9leHRyYSwgW2tleV06IGV4dHJhIH07CiAgICB0aGlzLl9ub3RpZnlTY29wZUxpc3RlbmVycygpOwogICAgcmV0dXJuIHRoaXM7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqLwogICBzZXRGaW5nZXJwcmludChmaW5nZXJwcmludCkgewogICAgdGhpcy5fZmluZ2VycHJpbnQgPSBmaW5nZXJwcmludDsKICAgIHRoaXMuX25vdGlmeVNjb3BlTGlzdGVuZXJzKCk7CiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICovCiAgIHNldExldmVsKAogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICBsZXZlbCwKICApIHsKICAgIHRoaXMuX2xldmVsID0gbGV2ZWw7CiAgICB0aGlzLl9ub3RpZnlTY29wZUxpc3RlbmVycygpOwogICAgcmV0dXJuIHRoaXM7CiAgfQoKICAvKioKICAgKiBTZXRzIHRoZSB0cmFuc2FjdGlvbiBuYW1lIG9uIHRoZSBzY29wZSBmb3IgZnV0dXJlIGV2ZW50cy4KICAgKi8KICAgc2V0VHJhbnNhY3Rpb25OYW1lKG5hbWUpIHsKICAgIHRoaXMuX3RyYW5zYWN0aW9uTmFtZSA9IG5hbWU7CiAgICB0aGlzLl9ub3RpZnlTY29wZUxpc3RlbmVycygpOwogICAgcmV0dXJuIHRoaXM7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqLwogICBzZXRDb250ZXh0KGtleSwgY29udGV4dCkgewogICAgaWYgKGNvbnRleHQgPT09IG51bGwpIHsKICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1keW5hbWljLWRlbGV0ZQogICAgICBkZWxldGUgdGhpcy5fY29udGV4dHNba2V5XTsKICAgIH0gZWxzZSB7CiAgICAgIHRoaXMuX2NvbnRleHRzW2tleV0gPSBjb250ZXh0OwogICAgfQoKICAgIHRoaXMuX25vdGlmeVNjb3BlTGlzdGVuZXJzKCk7CiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKgogICAqIFNldHMgdGhlIFNwYW4gb24gdGhlIHNjb3BlLgogICAqIEBwYXJhbSBzcGFuIFNwYW4KICAgKiBAZGVwcmVjYXRlZCBJbnN0ZWFkIG9mIHNldHRpbmcgYSBzcGFuIG9uIGEgc2NvcGUsIHVzZSBgc3RhcnRTcGFuKClgL2BzdGFydFNwYW5NYW51YWwoKWAgaW5zdGVhZC4KICAgKi8KICAgc2V0U3BhbihzcGFuKSB7CiAgICB0aGlzLl9zcGFuID0gc3BhbjsKICAgIHRoaXMuX25vdGlmeVNjb3BlTGlzdGVuZXJzKCk7CiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKgogICAqIFJldHVybnMgdGhlIGBTcGFuYCBpZiB0aGVyZSBpcyBvbmUuCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBnZXRBY3RpdmVTcGFuKClgIGluc3RlYWQuCiAgICovCiAgIGdldFNwYW4oKSB7CiAgICByZXR1cm4gdGhpcy5fc3BhbjsKICB9CgogIC8qKgogICAqIFJldHVybnMgdGhlIGBUcmFuc2FjdGlvbmAgYXR0YWNoZWQgdG8gdGhlIHNjb3BlIChpZiB0aGVyZSBpcyBvbmUpLgogICAqIEBkZXByZWNhdGVkIFlvdSBzaG91bGQgbm90IHJlbHkgb24gdGhlIHRyYW5zYWN0aW9uLCBidXQganVzdCB1c2UgYHN0YXJ0U3BhbigpYCBBUElzIGluc3RlYWQuCiAgICovCiAgIGdldFRyYW5zYWN0aW9uKCkgewogICAgLy8gT2Z0ZW4sIHRoaXMgc3BhbiAoaWYgaXQgZXhpc3RzIGF0IGFsbCkgd2lsbCBiZSBhIHRyYW5zYWN0aW9uLCBidXQgaXQncyBub3QgZ3VhcmFudGVlZCB0byBiZS4gUmVnYXJkbGVzcywgaXQgd2lsbAogICAgLy8gaGF2ZSBhIHBvaW50ZXIgdG8gdGhlIGN1cnJlbnRseS1hY3RpdmUgdHJhbnNhY3Rpb24uCiAgICBjb25zdCBzcGFuID0gdGhpcy5fc3BhbjsKICAgIC8vIENhbm5vdCByZXBsYWNlIHdpdGggZ2V0Um9vdFNwYW4gYmVjYXVzZSBnZXRSb290U3BhbiByZXR1cm5zIGEgc3Bhbiwgbm90IGEgdHJhbnNhY3Rpb24KICAgIC8vIEFsc28sIHRoaXMgbWV0aG9kIHdpbGwgYmUgcmVtb3ZlZCBhbnl3YXkuCiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIHJldHVybiBzcGFuICYmIHNwYW4udHJhbnNhY3Rpb247CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqLwogICBzZXRTZXNzaW9uKHNlc3Npb24pIHsKICAgIGlmICghc2Vzc2lvbikgewogICAgICBkZWxldGUgdGhpcy5fc2Vzc2lvbjsKICAgIH0gZWxzZSB7CiAgICAgIHRoaXMuX3Nlc3Npb24gPSBzZXNzaW9uOwogICAgfQogICAgdGhpcy5fbm90aWZ5U2NvcGVMaXN0ZW5lcnMoKTsKICAgIHJldHVybiB0aGlzOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKi8KICAgZ2V0U2Vzc2lvbigpIHsKICAgIHJldHVybiB0aGlzLl9zZXNzaW9uOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKi8KICAgdXBkYXRlKGNhcHR1cmVDb250ZXh0KSB7CiAgICBpZiAoIWNhcHR1cmVDb250ZXh0KSB7CiAgICAgIHJldHVybiB0aGlzOwogICAgfQoKICAgIGNvbnN0IHNjb3BlVG9NZXJnZSA9IHR5cGVvZiBjYXB0dXJlQ29udGV4dCA9PT0gJ2Z1bmN0aW9uJyA/IGNhcHR1cmVDb250ZXh0KHRoaXMpIDogY2FwdHVyZUNvbnRleHQ7CgogICAgaWYgKHNjb3BlVG9NZXJnZSBpbnN0YW5jZW9mIFNjb3BlKSB7CiAgICAgIGNvbnN0IHNjb3BlRGF0YSA9IHNjb3BlVG9NZXJnZS5nZXRTY29wZURhdGEoKTsKCiAgICAgIHRoaXMuX3RhZ3MgPSB7IC4uLnRoaXMuX3RhZ3MsIC4uLnNjb3BlRGF0YS50YWdzIH07CiAgICAgIHRoaXMuX2V4dHJhID0geyAuLi50aGlzLl9leHRyYSwgLi4uc2NvcGVEYXRhLmV4dHJhIH07CiAgICAgIHRoaXMuX2NvbnRleHRzID0geyAuLi50aGlzLl9jb250ZXh0cywgLi4uc2NvcGVEYXRhLmNvbnRleHRzIH07CiAgICAgIGlmIChzY29wZURhdGEudXNlciAmJiBPYmplY3Qua2V5cyhzY29wZURhdGEudXNlcikubGVuZ3RoKSB7CiAgICAgICAgdGhpcy5fdXNlciA9IHNjb3BlRGF0YS51c2VyOwogICAgICB9CiAgICAgIGlmIChzY29wZURhdGEubGV2ZWwpIHsKICAgICAgICB0aGlzLl9sZXZlbCA9IHNjb3BlRGF0YS5sZXZlbDsKICAgICAgfQogICAgICBpZiAoc2NvcGVEYXRhLmZpbmdlcnByaW50Lmxlbmd0aCkgewogICAgICAgIHRoaXMuX2ZpbmdlcnByaW50ID0gc2NvcGVEYXRhLmZpbmdlcnByaW50OwogICAgICB9CiAgICAgIGlmIChzY29wZVRvTWVyZ2UuZ2V0UmVxdWVzdFNlc3Npb24oKSkgewogICAgICAgIHRoaXMuX3JlcXVlc3RTZXNzaW9uID0gc2NvcGVUb01lcmdlLmdldFJlcXVlc3RTZXNzaW9uKCk7CiAgICAgIH0KICAgICAgaWYgKHNjb3BlRGF0YS5wcm9wYWdhdGlvbkNvbnRleHQpIHsKICAgICAgICB0aGlzLl9wcm9wYWdhdGlvbkNvbnRleHQgPSBzY29wZURhdGEucHJvcGFnYXRpb25Db250ZXh0OwogICAgICB9CiAgICB9IGVsc2UgaWYgKGlzUGxhaW5PYmplY3Qoc2NvcGVUb01lcmdlKSkgewogICAgICBjb25zdCBzY29wZUNvbnRleHQgPSBjYXB0dXJlQ29udGV4dCA7CiAgICAgIHRoaXMuX3RhZ3MgPSB7IC4uLnRoaXMuX3RhZ3MsIC4uLnNjb3BlQ29udGV4dC50YWdzIH07CiAgICAgIHRoaXMuX2V4dHJhID0geyAuLi50aGlzLl9leHRyYSwgLi4uc2NvcGVDb250ZXh0LmV4dHJhIH07CiAgICAgIHRoaXMuX2NvbnRleHRzID0geyAuLi50aGlzLl9jb250ZXh0cywgLi4uc2NvcGVDb250ZXh0LmNvbnRleHRzIH07CiAgICAgIGlmIChzY29wZUNvbnRleHQudXNlcikgewogICAgICAgIHRoaXMuX3VzZXIgPSBzY29wZUNvbnRleHQudXNlcjsKICAgICAgfQogICAgICBpZiAoc2NvcGVDb250ZXh0LmxldmVsKSB7CiAgICAgICAgdGhpcy5fbGV2ZWwgPSBzY29wZUNvbnRleHQubGV2ZWw7CiAgICAgIH0KICAgICAgaWYgKHNjb3BlQ29udGV4dC5maW5nZXJwcmludCkgewogICAgICAgIHRoaXMuX2ZpbmdlcnByaW50ID0gc2NvcGVDb250ZXh0LmZpbmdlcnByaW50OwogICAgICB9CiAgICAgIGlmIChzY29wZUNvbnRleHQucmVxdWVzdFNlc3Npb24pIHsKICAgICAgICB0aGlzLl9yZXF1ZXN0U2Vzc2lvbiA9IHNjb3BlQ29udGV4dC5yZXF1ZXN0U2Vzc2lvbjsKICAgICAgfQogICAgICBpZiAoc2NvcGVDb250ZXh0LnByb3BhZ2F0aW9uQ29udGV4dCkgewogICAgICAgIHRoaXMuX3Byb3BhZ2F0aW9uQ29udGV4dCA9IHNjb3BlQ29udGV4dC5wcm9wYWdhdGlvbkNvbnRleHQ7CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICovCiAgIGNsZWFyKCkgewogICAgdGhpcy5fYnJlYWRjcnVtYnMgPSBbXTsKICAgIHRoaXMuX3RhZ3MgPSB7fTsKICAgIHRoaXMuX2V4dHJhID0ge307CiAgICB0aGlzLl91c2VyID0ge307CiAgICB0aGlzLl9jb250ZXh0cyA9IHt9OwogICAgdGhpcy5fbGV2ZWwgPSB1bmRlZmluZWQ7CiAgICB0aGlzLl90cmFuc2FjdGlvbk5hbWUgPSB1bmRlZmluZWQ7CiAgICB0aGlzLl9maW5nZXJwcmludCA9IHVuZGVmaW5lZDsKICAgIHRoaXMuX3JlcXVlc3RTZXNzaW9uID0gdW5kZWZpbmVkOwogICAgdGhpcy5fc3BhbiA9IHVuZGVmaW5lZDsKICAgIHRoaXMuX3Nlc3Npb24gPSB1bmRlZmluZWQ7CiAgICB0aGlzLl9ub3RpZnlTY29wZUxpc3RlbmVycygpOwogICAgdGhpcy5fYXR0YWNobWVudHMgPSBbXTsKICAgIHRoaXMuX3Byb3BhZ2F0aW9uQ29udGV4dCA9IGdlbmVyYXRlUHJvcGFnYXRpb25Db250ZXh0KCk7CiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICovCiAgIGFkZEJyZWFkY3J1bWIoYnJlYWRjcnVtYiwgbWF4QnJlYWRjcnVtYnMpIHsKICAgIGNvbnN0IG1heENydW1icyA9IHR5cGVvZiBtYXhCcmVhZGNydW1icyA9PT0gJ251bWJlcicgPyBtYXhCcmVhZGNydW1icyA6IERFRkFVTFRfTUFYX0JSRUFEQ1JVTUJTOwoKICAgIC8vIE5vIGRhdGEgaGFzIGJlZW4gY2hhbmdlZCwgc28gZG9uJ3Qgbm90aWZ5IHNjb3BlIGxpc3RlbmVycwogICAgaWYgKG1heENydW1icyA8PSAwKSB7CiAgICAgIHJldHVybiB0aGlzOwogICAgfQoKICAgIGNvbnN0IG1lcmdlZEJyZWFkY3J1bWIgPSB7CiAgICAgIHRpbWVzdGFtcDogZGF0ZVRpbWVzdGFtcEluU2Vjb25kcygpLAogICAgICAuLi5icmVhZGNydW1iLAogICAgfTsKCiAgICBjb25zdCBicmVhZGNydW1icyA9IHRoaXMuX2JyZWFkY3J1bWJzOwogICAgYnJlYWRjcnVtYnMucHVzaChtZXJnZWRCcmVhZGNydW1iKTsKICAgIHRoaXMuX2JyZWFkY3J1bWJzID0gYnJlYWRjcnVtYnMubGVuZ3RoID4gbWF4Q3J1bWJzID8gYnJlYWRjcnVtYnMuc2xpY2UoLW1heENydW1icykgOiBicmVhZGNydW1iczsKCiAgICB0aGlzLl9ub3RpZnlTY29wZUxpc3RlbmVycygpOwoKICAgIHJldHVybiB0aGlzOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKi8KICAgZ2V0TGFzdEJyZWFkY3J1bWIoKSB7CiAgICByZXR1cm4gdGhpcy5fYnJlYWRjcnVtYnNbdGhpcy5fYnJlYWRjcnVtYnMubGVuZ3RoIC0gMV07CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqLwogICBjbGVhckJyZWFkY3J1bWJzKCkgewogICAgdGhpcy5fYnJlYWRjcnVtYnMgPSBbXTsKICAgIHRoaXMuX25vdGlmeVNjb3BlTGlzdGVuZXJzKCk7CiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICovCiAgIGFkZEF0dGFjaG1lbnQoYXR0YWNobWVudCkgewogICAgdGhpcy5fYXR0YWNobWVudHMucHVzaChhdHRhY2htZW50KTsKICAgIHJldHVybiB0aGlzOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKiBAZGVwcmVjYXRlZCBVc2UgYGdldFNjb3BlRGF0YSgpYCBpbnN0ZWFkLgogICAqLwogICBnZXRBdHRhY2htZW50cygpIHsKICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdldFNjb3BlRGF0YSgpOwoKICAgIHJldHVybiBkYXRhLmF0dGFjaG1lbnRzOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKi8KICAgY2xlYXJBdHRhY2htZW50cygpIHsKICAgIHRoaXMuX2F0dGFjaG1lbnRzID0gW107CiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKiBAaW5oZXJpdERvYyAqLwogICBnZXRTY29wZURhdGEoKSB7CiAgICBjb25zdCB7CiAgICAgIF9icmVhZGNydW1icywKICAgICAgX2F0dGFjaG1lbnRzLAogICAgICBfY29udGV4dHMsCiAgICAgIF90YWdzLAogICAgICBfZXh0cmEsCiAgICAgIF91c2VyLAogICAgICBfbGV2ZWwsCiAgICAgIF9maW5nZXJwcmludCwKICAgICAgX2V2ZW50UHJvY2Vzc29ycywKICAgICAgX3Byb3BhZ2F0aW9uQ29udGV4dCwKICAgICAgX3Nka1Byb2Nlc3NpbmdNZXRhZGF0YSwKICAgICAgX3RyYW5zYWN0aW9uTmFtZSwKICAgICAgX3NwYW4sCiAgICB9ID0gdGhpczsKCiAgICByZXR1cm4gewogICAgICBicmVhZGNydW1iczogX2JyZWFkY3J1bWJzLAogICAgICBhdHRhY2htZW50czogX2F0dGFjaG1lbnRzLAogICAgICBjb250ZXh0czogX2NvbnRleHRzLAogICAgICB0YWdzOiBfdGFncywKICAgICAgZXh0cmE6IF9leHRyYSwKICAgICAgdXNlcjogX3VzZXIsCiAgICAgIGxldmVsOiBfbGV2ZWwsCiAgICAgIGZpbmdlcnByaW50OiBfZmluZ2VycHJpbnQgfHwgW10sCiAgICAgIGV2ZW50UHJvY2Vzc29yczogX2V2ZW50UHJvY2Vzc29ycywKICAgICAgcHJvcGFnYXRpb25Db250ZXh0OiBfcHJvcGFnYXRpb25Db250ZXh0LAogICAgICBzZGtQcm9jZXNzaW5nTWV0YWRhdGE6IF9zZGtQcm9jZXNzaW5nTWV0YWRhdGEsCiAgICAgIHRyYW5zYWN0aW9uTmFtZTogX3RyYW5zYWN0aW9uTmFtZSwKICAgICAgc3BhbjogX3NwYW4sCiAgICB9OwogIH0KCiAgLyoqCiAgICogQXBwbGllcyBkYXRhIGZyb20gdGhlIHNjb3BlIHRvIHRoZSBldmVudCBhbmQgcnVucyBhbGwgZXZlbnQgcHJvY2Vzc29ycyBvbiBpdC4KICAgKgogICAqIEBwYXJhbSBldmVudCBFdmVudAogICAqIEBwYXJhbSBoaW50IE9iamVjdCBjb250YWluaW5nIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG9yaWdpbmFsIGV4Y2VwdGlvbiwgZm9yIHVzZSBieSB0aGUgZXZlbnQgcHJvY2Vzc29ycy4KICAgKiBAaGlkZGVuCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBhcHBseVNjb3BlRGF0YVRvRXZlbnQoKWAgZGlyZWN0bHkKICAgKi8KICAgYXBwbHlUb0V2ZW50KAogICAgZXZlbnQsCiAgICBoaW50ID0ge30sCiAgICBhZGRpdGlvbmFsRXZlbnRQcm9jZXNzb3JzID0gW10sCiAgKSB7CiAgICBhcHBseVNjb3BlRGF0YVRvRXZlbnQoZXZlbnQsIHRoaXMuZ2V0U2NvcGVEYXRhKCkpOwoKICAgIC8vIFRPRE8gKHY4KTogVXBkYXRlIHRoaXMgb3JkZXIgdG8gYmU6IEdsb2JhbCA+IENsaWVudCA+IFNjb3BlCiAgICBjb25zdCBldmVudFByb2Nlc3NvcnMgPSBbCiAgICAgIC4uLmFkZGl0aW9uYWxFdmVudFByb2Nlc3NvcnMsCiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgICAuLi5nZXRHbG9iYWxFdmVudFByb2Nlc3NvcnMoKSwKICAgICAgLi4udGhpcy5fZXZlbnRQcm9jZXNzb3JzLAogICAgXTsKCiAgICByZXR1cm4gbm90aWZ5RXZlbnRQcm9jZXNzb3JzKGV2ZW50UHJvY2Vzc29ycywgZXZlbnQsIGhpbnQpOwogIH0KCiAgLyoqCiAgICogQWRkIGRhdGEgd2hpY2ggd2lsbCBiZSBhY2Nlc3NpYmxlIGR1cmluZyBldmVudCBwcm9jZXNzaW5nIGJ1dCB3b24ndCBnZXQgc2VudCB0byBTZW50cnkKICAgKi8KICAgc2V0U0RLUHJvY2Vzc2luZ01ldGFkYXRhKG5ld0RhdGEpIHsKICAgIHRoaXMuX3Nka1Byb2Nlc3NpbmdNZXRhZGF0YSA9IHsgLi4udGhpcy5fc2RrUHJvY2Vzc2luZ01ldGFkYXRhLCAuLi5uZXdEYXRhIH07CgogICAgcmV0dXJuIHRoaXM7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqLwogICBzZXRQcm9wYWdhdGlvbkNvbnRleHQoY29udGV4dCkgewogICAgdGhpcy5fcHJvcGFnYXRpb25Db250ZXh0ID0gY29udGV4dDsKICAgIHJldHVybiB0aGlzOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKi8KICAgZ2V0UHJvcGFnYXRpb25Db250ZXh0KCkgewogICAgcmV0dXJuIHRoaXMuX3Byb3BhZ2F0aW9uQ29udGV4dDsKICB9CgogIC8qKgogICAqIENhcHR1cmUgYW4gZXhjZXB0aW9uIGZvciB0aGlzIHNjb3BlLgogICAqCiAgICogQHBhcmFtIGV4Y2VwdGlvbiBUaGUgZXhjZXB0aW9uIHRvIGNhcHR1cmUuCiAgICogQHBhcmFtIGhpbnQgT3B0aW5hbCBhZGRpdGlvbmFsIGRhdGEgdG8gYXR0YWNoIHRvIHRoZSBTZW50cnkgZXZlbnQuCiAgICogQHJldHVybnMgdGhlIGlkIG9mIHRoZSBjYXB0dXJlZCBTZW50cnkgZXZlbnQuCiAgICovCiAgIGNhcHR1cmVFeGNlcHRpb24oZXhjZXB0aW9uLCBoaW50KSB7CiAgICBjb25zdCBldmVudElkID0gaGludCAmJiBoaW50LmV2ZW50X2lkID8gaGludC5ldmVudF9pZCA6IHV1aWQ0KCk7CgogICAgaWYgKCF0aGlzLl9jbGllbnQpIHsKICAgICAgbG9nZ2VyLndhcm4oJ05vIGNsaWVudCBjb25maWd1cmVkIG9uIHNjb3BlIC0gd2lsbCBub3QgY2FwdHVyZSBleGNlcHRpb24hJyk7CiAgICAgIHJldHVybiBldmVudElkOwogICAgfQoKICAgIGNvbnN0IHN5bnRoZXRpY0V4Y2VwdGlvbiA9IG5ldyBFcnJvcignU2VudHJ5IHN5bnRoZXRpY0V4Y2VwdGlvbicpOwoKICAgIHRoaXMuX2NsaWVudC5jYXB0dXJlRXhjZXB0aW9uKAogICAgICBleGNlcHRpb24sCiAgICAgIHsKICAgICAgICBvcmlnaW5hbEV4Y2VwdGlvbjogZXhjZXB0aW9uLAogICAgICAgIHN5bnRoZXRpY0V4Y2VwdGlvbiwKICAgICAgICAuLi5oaW50LAogICAgICAgIGV2ZW50X2lkOiBldmVudElkLAogICAgICB9LAogICAgICB0aGlzLAogICAgKTsKCiAgICByZXR1cm4gZXZlbnRJZDsKICB9CgogIC8qKgogICAqIENhcHR1cmUgYSBtZXNzYWdlIGZvciB0aGlzIHNjb3BlLgogICAqCiAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gY2FwdHVyZS4KICAgKiBAcGFyYW0gbGV2ZWwgQW4gb3B0aW9uYWwgc2V2ZXJpdHkgbGV2ZWwgdG8gcmVwb3J0IHRoZSBtZXNzYWdlIHdpdGguCiAgICogQHBhcmFtIGhpbnQgT3B0aW9uYWwgYWRkaXRpb25hbCBkYXRhIHRvIGF0dGFjaCB0byB0aGUgU2VudHJ5IGV2ZW50LgogICAqIEByZXR1cm5zIHRoZSBpZCBvZiB0aGUgY2FwdHVyZWQgbWVzc2FnZS4KICAgKi8KICAgY2FwdHVyZU1lc3NhZ2UobWVzc2FnZSwgbGV2ZWwsIGhpbnQpIHsKICAgIGNvbnN0IGV2ZW50SWQgPSBoaW50ICYmIGhpbnQuZXZlbnRfaWQgPyBoaW50LmV2ZW50X2lkIDogdXVpZDQoKTsKCiAgICBpZiAoIXRoaXMuX2NsaWVudCkgewogICAgICBsb2dnZXIud2FybignTm8gY2xpZW50IGNvbmZpZ3VyZWQgb24gc2NvcGUgLSB3aWxsIG5vdCBjYXB0dXJlIG1lc3NhZ2UhJyk7CiAgICAgIHJldHVybiBldmVudElkOwogICAgfQoKICAgIGNvbnN0IHN5bnRoZXRpY0V4Y2VwdGlvbiA9IG5ldyBFcnJvcihtZXNzYWdlKTsKCiAgICB0aGlzLl9jbGllbnQuY2FwdHVyZU1lc3NhZ2UoCiAgICAgIG1lc3NhZ2UsCiAgICAgIGxldmVsLAogICAgICB7CiAgICAgICAgb3JpZ2luYWxFeGNlcHRpb246IG1lc3NhZ2UsCiAgICAgICAgc3ludGhldGljRXhjZXB0aW9uLAogICAgICAgIC4uLmhpbnQsCiAgICAgICAgZXZlbnRfaWQ6IGV2ZW50SWQsCiAgICAgIH0sCiAgICAgIHRoaXMsCiAgICApOwoKICAgIHJldHVybiBldmVudElkOwogIH0KCiAgLyoqCiAgICogQ2FwdHVyZXMgYSBtYW51YWxseSBjcmVhdGVkIGV2ZW50IGZvciB0aGlzIHNjb3BlIGFuZCBzZW5kcyBpdCB0byBTZW50cnkuCiAgICoKICAgKiBAcGFyYW0gZXhjZXB0aW9uIFRoZSBldmVudCB0byBjYXB0dXJlLgogICAqIEBwYXJhbSBoaW50IE9wdGlvbmFsIGFkZGl0aW9uYWwgZGF0YSB0byBhdHRhY2ggdG8gdGhlIFNlbnRyeSBldmVudC4KICAgKiBAcmV0dXJucyB0aGUgaWQgb2YgdGhlIGNhcHR1cmVkIGV2ZW50LgogICAqLwogICBjYXB0dXJlRXZlbnQoZXZlbnQsIGhpbnQpIHsKICAgIGNvbnN0IGV2ZW50SWQgPSBoaW50ICYmIGhpbnQuZXZlbnRfaWQgPyBoaW50LmV2ZW50X2lkIDogdXVpZDQoKTsKCiAgICBpZiAoIXRoaXMuX2NsaWVudCkgewogICAgICBsb2dnZXIud2FybignTm8gY2xpZW50IGNvbmZpZ3VyZWQgb24gc2NvcGUgLSB3aWxsIG5vdCBjYXB0dXJlIGV2ZW50IScpOwogICAgICByZXR1cm4gZXZlbnRJZDsKICAgIH0KCiAgICB0aGlzLl9jbGllbnQuY2FwdHVyZUV2ZW50KGV2ZW50LCB7IC4uLmhpbnQsIGV2ZW50X2lkOiBldmVudElkIH0sIHRoaXMpOwoKICAgIHJldHVybiBldmVudElkOwogIH0KCiAgLyoqCiAgICogVGhpcyB3aWxsIGJlIGNhbGxlZCBvbiBldmVyeSBzZXQgY2FsbC4KICAgKi8KICAgX25vdGlmeVNjb3BlTGlzdGVuZXJzKCkgewogICAgLy8gV2UgbmVlZCB0aGlzIGNoZWNrIGZvciB0aGlzLl9ub3RpZnlpbmdMaXN0ZW5lcnMgdG8gYmUgYWJsZSB0byB3b3JrIG9uIHNjb3BlIGR1cmluZyB1cGRhdGVzCiAgICAvLyBJZiB0aGlzIGNoZWNrIGlzIG5vdCBoZXJlIHdlJ2xsIHByb2R1Y2UgZW5kbGVzcyByZWN1cnNpb24gd2hlbiBzb21ldGhpbmcgaXMgZG9uZSB3aXRoIHRoZSBzY29wZQogICAgLy8gZHVyaW5nIHRoZSBjYWxsYmFjay4KICAgIGlmICghdGhpcy5fbm90aWZ5aW5nTGlzdGVuZXJzKSB7CiAgICAgIHRoaXMuX25vdGlmeWluZ0xpc3RlbmVycyA9IHRydWU7CiAgICAgIHRoaXMuX3Njb3BlTGlzdGVuZXJzLmZvckVhY2goY2FsbGJhY2sgPT4gewogICAgICAgIGNhbGxiYWNrKHRoaXMpOwogICAgICB9KTsKICAgICAgdGhpcy5fbm90aWZ5aW5nTGlzdGVuZXJzID0gZmFsc2U7CiAgICB9CiAgfQp9CgpmdW5jdGlvbiBnZW5lcmF0ZVByb3BhZ2F0aW9uQ29udGV4dCgpIHsKICByZXR1cm4gewogICAgdHJhY2VJZDogdXVpZDQoKSwKICAgIHNwYW5JZDogdXVpZDQoKS5zdWJzdHJpbmcoMTYpLAogIH07Cn0KCmNvbnN0IFNES19WRVJTSU9OID0gJzcuMTIwLjMnOwoKLyoqCiAqIEFQSSBjb21wYXRpYmlsaXR5IHZlcnNpb24gb2YgdGhpcyBodWIuCiAqCiAqIFdBUk5JTkc6IFRoaXMgbnVtYmVyIHNob3VsZCBvbmx5IGJlIGluY3JlYXNlZCB3aGVuIHRoZSBnbG9iYWwgaW50ZXJmYWNlCiAqIGNoYW5nZXMgYW5kIG5ldyBtZXRob2RzIGFyZSBpbnRyb2R1Y2VkLgogKgogKiBAaGlkZGVuCiAqLwpjb25zdCBBUElfVkVSU0lPTiA9IHBhcnNlRmxvYXQoU0RLX1ZFUlNJT04pOwoKLyoqCiAqIERlZmF1bHQgbWF4aW11bSBudW1iZXIgb2YgYnJlYWRjcnVtYnMgYWRkZWQgdG8gYW4gZXZlbnQuIENhbiBiZSBvdmVyd3JpdHRlbgogKiB3aXRoIHtAbGluayBPcHRpb25zLm1heEJyZWFkY3J1bWJzfS4KICovCmNvbnN0IERFRkFVTFRfQlJFQURDUlVNQlMgPSAxMDA7CgovKioKICogQGRlcHJlY2F0ZWQgVGhlIGBIdWJgIGNsYXNzIHdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDggb2YgdGhlIFNESyBpbiBmYXZvdXIgb2YgYFNjb3BlYCBhbmQgYENsaWVudGAgb2JqZWN0cy4KICoKICogSWYgeW91IHByZXZpb3VzbHkgdXNlZCB0aGUgYEh1YmAgY2xhc3MgZGlyZWN0bHksIHJlcGxhY2UgaXQgd2l0aCBgU2NvcGVgIGFuZCBgQ2xpZW50YCBvYmplY3RzLiBNb3JlIGluZm9ybWF0aW9uOgogKiAtIFtNdWx0aXBsZSBTZW50cnkgSW5zdGFuY2VzXShodHRwczovL2RvY3Muc2VudHJ5LmlvL3BsYXRmb3Jtcy9qYXZhc2NyaXB0L2Jlc3QtcHJhY3RpY2VzL211bHRpcGxlLXNlbnRyeS1pbnN0YW5jZXMvKQogKiAtIFtCcm93c2VyIEV4dGVuc2lvbnNdKGh0dHBzOi8vZG9jcy5zZW50cnkuaW8vcGxhdGZvcm1zL2phdmFzY3JpcHQvYmVzdC1wcmFjdGljZXMvYnJvd3Nlci1leHRlbnNpb25zLykKICoKICogU29tZSBvZiBvdXIgQVBJcyBhcmUgdHlwZWQgd2l0aCB0aGUgSHViIGNsYXNzIGluc3RlYWQgb2YgdGhlIGludGVyZmFjZSAoZS5nLiBgZ2V0Q3VycmVudEh1YmApLiBNb3N0IG9mIHRoZW0gYXJlIGRlcHJlY2F0ZWQKICogdGhlbXNlbHZlcyBhbmQgd2lsbCBhbHNvIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA4LiBNb3JlIGluZm9ybWF0aW9uOgogKiAtIFtNaWdyYXRpb24gR3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9nZXRzZW50cnkvc2VudHJ5LWphdmFzY3JpcHQvYmxvYi9kZXZlbG9wL01JR1JBVElPTi5tZCNkZXByZWNhdGUtaHViKQogKi8KLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCmNsYXNzIEh1YiAgewogIC8qKiBJcyBhIHtAbGluayBMYXllcn1bXSBjb250YWluaW5nIHRoZSBjbGllbnQgYW5kIHNjb3BlICovCgogIC8qKiBDb250YWlucyB0aGUgbGFzdCBldmVudCBpZCBvZiBhIGNhcHR1cmVkIGV2ZW50LiAgKi8KCiAgLyoqCiAgICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgaHViLCB3aWxsIHB1c2ggb25lIHtAbGluayBMYXllcn0gaW50byB0aGUKICAgKiBpbnRlcm5hbCBzdGFjayBvbiBjcmVhdGlvbi4KICAgKgogICAqIEBwYXJhbSBjbGllbnQgYm91bmQgdG8gdGhlIGh1Yi4KICAgKiBAcGFyYW0gc2NvcGUgYm91bmQgdG8gdGhlIGh1Yi4KICAgKiBAcGFyYW0gdmVyc2lvbiBudW1iZXIsIGhpZ2hlciBudW1iZXIgbWVhbnMgaGlnaGVyIHByaW9yaXR5LgogICAqCiAgICogQGRlcHJlY2F0ZWQgSW5zdGFudGlhdGlvbiBvZiBIdWIgb2JqZWN0cyBpcyBkZXByZWNhdGVkIGFuZCB0aGUgY29uc3RydWN0b3Igd2lsbCBiZSByZW1vdmVkIGluIHZlcnNpb24gOCBvZiB0aGUgU0RLLgogICAqCiAgICogSWYgeW91IGFyZSBjdXJyZW50bHkgdXNpbmcgdGhlIEh1YiBmb3IgbXVsdGktY2xpZW50IHVzZSBsaWtlIHNvOgogICAqCiAgICogYGBgCiAgICogLy8gT0xECiAgICogY29uc3QgaHViID0gbmV3IEh1YigpOwogICAqIGh1Yi5iaW5kQ2xpZW50KGNsaWVudCk7CiAgICogbWFrZU1haW4oaHViKQogICAqIGBgYAogICAqCiAgICogaW5zdGVhZCBpbml0aWFsaXplIHRoZSBjbGllbnQgYXMgZm9sbG93czoKICAgKgogICAqIGBgYAogICAqIC8vIE5FVwogICAqIFNlbnRyeS53aXRoSXNvbGF0aW9uU2NvcGUoKCkgPT4gewogICAqICAgIFNlbnRyeS5zZXRDdXJyZW50Q2xpZW50KGNsaWVudCk7CiAgICogICAgY2xpZW50LmluaXQoKTsKICAgKiB9KTsKICAgKiBgYGAKICAgKgogICAqIElmIHlvdSBhcmUgdXNpbmcgdGhlIEh1YiB0byBjYXB0dXJlIGV2ZW50cyBsaWtlIHNvOgogICAqCiAgICogYGBgCiAgICogLy8gT0xECiAgICogY29uc3QgY2xpZW50ID0gbmV3IENsaWVudCgpOwogICAqIGNvbnN0IGh1YiA9IG5ldyBIdWIoY2xpZW50KTsKICAgKiBodWIuY2FwdHVyZUV4Y2VwdGlvbigpCiAgICogYGBgCiAgICoKICAgKiBpbnN0ZWFkIGNhcHR1cmUgaXNvbGF0ZWQgZXZlbnRzIGFzIGZvbGxvd3M6CiAgICoKICAgKiBgYGAKICAgKiAvLyBORVcKICAgKiBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICogY29uc3Qgc2NvcGUgPSBuZXcgU2NvcGUoKTsKICAgKiBzY29wZS5zZXRDbGllbnQoY2xpZW50KTsKICAgKiBzY29wZS5jYXB0dXJlRXhjZXB0aW9uKCk7CiAgICogYGBgCiAgICovCiAgIGNvbnN0cnVjdG9yKAogICAgY2xpZW50LAogICAgc2NvcGUsCiAgICBpc29sYXRpb25TY29wZSwKICAgICAgX3ZlcnNpb24gPSBBUElfVkVSU0lPTiwKICApIHt0aGlzLl92ZXJzaW9uID0gX3ZlcnNpb247CiAgICBsZXQgYXNzaWduZWRTY29wZTsKICAgIGlmICghc2NvcGUpIHsKICAgICAgYXNzaWduZWRTY29wZSA9IG5ldyBTY29wZSgpOwogICAgICBhc3NpZ25lZFNjb3BlLnNldENsaWVudChjbGllbnQpOwogICAgfSBlbHNlIHsKICAgICAgYXNzaWduZWRTY29wZSA9IHNjb3BlOwogICAgfQoKICAgIGxldCBhc3NpZ25lZElzb2xhdGlvblNjb3BlOwogICAgaWYgKCFpc29sYXRpb25TY29wZSkgewogICAgICBhc3NpZ25lZElzb2xhdGlvblNjb3BlID0gbmV3IFNjb3BlKCk7CiAgICAgIGFzc2lnbmVkSXNvbGF0aW9uU2NvcGUuc2V0Q2xpZW50KGNsaWVudCk7CiAgICB9IGVsc2UgewogICAgICBhc3NpZ25lZElzb2xhdGlvblNjb3BlID0gaXNvbGF0aW9uU2NvcGU7CiAgICB9CgogICAgdGhpcy5fc3RhY2sgPSBbeyBzY29wZTogYXNzaWduZWRTY29wZSB9XTsKCiAgICBpZiAoY2xpZW50KSB7CiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgICB0aGlzLmJpbmRDbGllbnQoY2xpZW50KTsKICAgIH0KCiAgICB0aGlzLl9pc29sYXRpb25TY29wZSA9IGFzc2lnbmVkSXNvbGF0aW9uU2NvcGU7CiAgfQoKICAvKioKICAgKiBDaGVja3MgaWYgdGhpcyBodWIncyB2ZXJzaW9uIGlzIG9sZGVyIHRoYW4gdGhlIGdpdmVuIHZlcnNpb24uCiAgICoKICAgKiBAcGFyYW0gdmVyc2lvbiBBIHZlcnNpb24gbnVtYmVyIHRvIGNvbXBhcmUgdG8uCiAgICogQHJldHVybiBUcnVlIGlmIHRoZSBnaXZlbiB2ZXJzaW9uIGlzIG5ld2VyOyBvdGhlcndpc2UgZmFsc2UuCiAgICoKICAgKiBAZGVwcmVjYXRlZCBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4KICAgKi8KICAgaXNPbGRlclRoYW4odmVyc2lvbikgewogICAgcmV0dXJuIHRoaXMuX3ZlcnNpb24gPCB2ZXJzaW9uOwogIH0KCiAgLyoqCiAgICogVGhpcyBiaW5kcyB0aGUgZ2l2ZW4gY2xpZW50IHRvIHRoZSBjdXJyZW50IHNjb3BlLgogICAqIEBwYXJhbSBjbGllbnQgQW4gU0RLIGNsaWVudCAoY2xpZW50KSBpbnN0YW5jZS4KICAgKgogICAqIEBkZXByZWNhdGVkIFVzZSBgaW5pdEFuZEJpbmQoKWAgZGlyZWN0bHksIG9yIGBzZXRDdXJyZW50Q2xpZW50KClgIGFuZC9vciBgY2xpZW50LmluaXQoKWAgaW5zdGVhZC4KICAgKi8KICAgYmluZENsaWVudChjbGllbnQpIHsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgY29uc3QgdG9wID0gdGhpcy5nZXRTdGFja1RvcCgpOwogICAgdG9wLmNsaWVudCA9IGNsaWVudDsKICAgIHRvcC5zY29wZS5zZXRDbGllbnQoY2xpZW50KTsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgaWYgKGNsaWVudCAmJiBjbGllbnQuc2V0dXBJbnRlZ3JhdGlvbnMpIHsKICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICAgIGNsaWVudC5zZXR1cEludGVncmF0aW9ucygpOwogICAgfQogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKgogICAqIEBkZXByZWNhdGVkIFVzZSBgd2l0aFNjb3BlYCBpbnN0ZWFkLgogICAqLwogICBwdXNoU2NvcGUoKSB7CiAgICAvLyBXZSB3YW50IHRvIGNsb25lIHRoZSBjb250ZW50IG9mIHByZXYgc2NvcGUKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgY29uc3Qgc2NvcGUgPSB0aGlzLmdldFNjb3BlKCkuY2xvbmUoKTsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgdGhpcy5nZXRTdGFjaygpLnB1c2goewogICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgICAgY2xpZW50OiB0aGlzLmdldENsaWVudCgpLAogICAgICBzY29wZSwKICAgIH0pOwogICAgcmV0dXJuIHNjb3BlOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKgogICAqIEBkZXByZWNhdGVkIFVzZSBgd2l0aFNjb3BlYCBpbnN0ZWFkLgogICAqLwogICBwb3BTY29wZSgpIHsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgaWYgKHRoaXMuZ2V0U3RhY2soKS5sZW5ndGggPD0gMSkgcmV0dXJuIGZhbHNlOwogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICByZXR1cm4gISF0aGlzLmdldFN0YWNrKCkucG9wKCk7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBTZW50cnkud2l0aFNjb3BlKClgIGluc3RlYWQuCiAgICovCiAgIHdpdGhTY29wZShjYWxsYmFjaykgewogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICBjb25zdCBzY29wZSA9IHRoaXMucHVzaFNjb3BlKCk7CgogICAgbGV0IG1heWJlUHJvbWlzZVJlc3VsdDsKICAgIHRyeSB7CiAgICAgIG1heWJlUHJvbWlzZVJlc3VsdCA9IGNhbGxiYWNrKHNjb3BlKTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICAgIHRoaXMucG9wU2NvcGUoKTsKICAgICAgdGhyb3cgZTsKICAgIH0KCiAgICBpZiAoaXNUaGVuYWJsZShtYXliZVByb21pc2VSZXN1bHQpKSB7CiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBpc1RoZW5hYmxlIHJldHVybnMgdGhlIHdyb25nIHR5cGUKICAgICAgcmV0dXJuIG1heWJlUHJvbWlzZVJlc3VsdC50aGVuKAogICAgICAgIHJlcyA9PiB7CiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgICAgICAgIHRoaXMucG9wU2NvcGUoKTsKICAgICAgICAgIHJldHVybiByZXM7CiAgICAgICAgfSwKICAgICAgICBlID0+IHsKICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgICAgICAgdGhpcy5wb3BTY29wZSgpOwogICAgICAgICAgdGhyb3cgZTsKICAgICAgICB9LAogICAgICApOwogICAgfQoKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgdGhpcy5wb3BTY29wZSgpOwogICAgcmV0dXJuIG1heWJlUHJvbWlzZVJlc3VsdDsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICoKICAgKiBAZGVwcmVjYXRlZCBVc2UgYFNlbnRyeS5nZXRDbGllbnQoKWAgaW5zdGVhZC4KICAgKi8KICAgZ2V0Q2xpZW50KCkgewogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICByZXR1cm4gdGhpcy5nZXRTdGFja1RvcCgpLmNsaWVudCA7CiAgfQoKICAvKioKICAgKiBSZXR1cm5zIHRoZSBzY29wZSBvZiB0aGUgdG9wIHN0YWNrLgogICAqCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBTZW50cnkuZ2V0Q3VycmVudFNjb3BlKClgIGluc3RlYWQuCiAgICovCiAgIGdldFNjb3BlKCkgewogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICByZXR1cm4gdGhpcy5nZXRTdGFja1RvcCgpLnNjb3BlOwogIH0KCiAgLyoqCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBTZW50cnkuZ2V0SXNvbGF0aW9uU2NvcGUoKWAgaW5zdGVhZC4KICAgKi8KICAgZ2V0SXNvbGF0aW9uU2NvcGUoKSB7CiAgICByZXR1cm4gdGhpcy5faXNvbGF0aW9uU2NvcGU7CiAgfQoKICAvKioKICAgKiBSZXR1cm5zIHRoZSBzY29wZSBzdGFjayBmb3IgZG9tYWlucyBvciB0aGUgcHJvY2Vzcy4KICAgKiBAZGVwcmVjYXRlZCBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4KICAgKi8KICAgZ2V0U3RhY2soKSB7CiAgICByZXR1cm4gdGhpcy5fc3RhY2s7CiAgfQoKICAvKioKICAgKiBSZXR1cm5zIHRoZSB0b3Btb3N0IHNjb3BlIGxheWVyIGluIHRoZSBvcmRlciBkb21haW4gPiBsb2NhbCA+IHByb2Nlc3MuCiAgICogQGRlcHJlY2F0ZWQgVGhpcyB3aWxsIGJlIHJlbW92ZWQgaW4gdjguCiAgICovCiAgIGdldFN0YWNrVG9wKCkgewogICAgcmV0dXJuIHRoaXMuX3N0YWNrW3RoaXMuX3N0YWNrLmxlbmd0aCAtIDFdOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKgogICAqIEBkZXByZWNhdGVkIFVzZSBgU2VudHJ5LmNhcHR1cmVFeGNlcHRpb24oKWAgaW5zdGVhZC4KICAgKi8KICAgY2FwdHVyZUV4Y2VwdGlvbihleGNlcHRpb24sIGhpbnQpIHsKICAgIGNvbnN0IGV2ZW50SWQgPSAodGhpcy5fbGFzdEV2ZW50SWQgPSBoaW50ICYmIGhpbnQuZXZlbnRfaWQgPyBoaW50LmV2ZW50X2lkIDogdXVpZDQoKSk7CiAgICBjb25zdCBzeW50aGV0aWNFeGNlcHRpb24gPSBuZXcgRXJyb3IoJ1NlbnRyeSBzeW50aGV0aWNFeGNlcHRpb24nKTsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgdGhpcy5nZXRTY29wZSgpLmNhcHR1cmVFeGNlcHRpb24oZXhjZXB0aW9uLCB7CiAgICAgIG9yaWdpbmFsRXhjZXB0aW9uOiBleGNlcHRpb24sCiAgICAgIHN5bnRoZXRpY0V4Y2VwdGlvbiwKICAgICAgLi4uaGludCwKICAgICAgZXZlbnRfaWQ6IGV2ZW50SWQsCiAgICB9KTsKCiAgICByZXR1cm4gZXZlbnRJZDsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICoKICAgKiBAZGVwcmVjYXRlZCBVc2UgIGBTZW50cnkuY2FwdHVyZU1lc3NhZ2UoKWAgaW5zdGVhZC4KICAgKi8KICAgY2FwdHVyZU1lc3NhZ2UoCiAgICBtZXNzYWdlLAogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICBsZXZlbCwKICAgIGhpbnQsCiAgKSB7CiAgICBjb25zdCBldmVudElkID0gKHRoaXMuX2xhc3RFdmVudElkID0gaGludCAmJiBoaW50LmV2ZW50X2lkID8gaGludC5ldmVudF9pZCA6IHV1aWQ0KCkpOwogICAgY29uc3Qgc3ludGhldGljRXhjZXB0aW9uID0gbmV3IEVycm9yKG1lc3NhZ2UpOwogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICB0aGlzLmdldFNjb3BlKCkuY2FwdHVyZU1lc3NhZ2UobWVzc2FnZSwgbGV2ZWwsIHsKICAgICAgb3JpZ2luYWxFeGNlcHRpb246IG1lc3NhZ2UsCiAgICAgIHN5bnRoZXRpY0V4Y2VwdGlvbiwKICAgICAgLi4uaGludCwKICAgICAgZXZlbnRfaWQ6IGV2ZW50SWQsCiAgICB9KTsKCiAgICByZXR1cm4gZXZlbnRJZDsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICoKICAgKiBAZGVwcmVjYXRlZCBVc2UgYFNlbnRyeS5jYXB0dXJlRXZlbnQoKWAgaW5zdGVhZC4KICAgKi8KICAgY2FwdHVyZUV2ZW50KGV2ZW50LCBoaW50KSB7CiAgICBjb25zdCBldmVudElkID0gaGludCAmJiBoaW50LmV2ZW50X2lkID8gaGludC5ldmVudF9pZCA6IHV1aWQ0KCk7CiAgICBpZiAoIWV2ZW50LnR5cGUpIHsKICAgICAgdGhpcy5fbGFzdEV2ZW50SWQgPSBldmVudElkOwogICAgfQogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICB0aGlzLmdldFNjb3BlKCkuY2FwdHVyZUV2ZW50KGV2ZW50LCB7IC4uLmhpbnQsIGV2ZW50X2lkOiBldmVudElkIH0pOwogICAgcmV0dXJuIGV2ZW50SWQ7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqCiAgICogQGRlcHJlY2F0ZWQgVGhpcyB3aWxsIGJlIHJlbW92ZWQgaW4gdjguCiAgICovCiAgIGxhc3RFdmVudElkKCkgewogICAgcmV0dXJuIHRoaXMuX2xhc3RFdmVudElkOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKgogICAqIEBkZXByZWNhdGVkIFVzZSBgU2VudHJ5LmFkZEJyZWFkY3J1bWIoKWAgaW5zdGVhZC4KICAgKi8KICAgYWRkQnJlYWRjcnVtYihicmVhZGNydW1iLCBoaW50KSB7CiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIGNvbnN0IHsgc2NvcGUsIGNsaWVudCB9ID0gdGhpcy5nZXRTdGFja1RvcCgpOwoKICAgIGlmICghY2xpZW50KSByZXR1cm47CgogICAgY29uc3QgeyBiZWZvcmVCcmVhZGNydW1iID0gbnVsbCwgbWF4QnJlYWRjcnVtYnMgPSBERUZBVUxUX0JSRUFEQ1JVTUJTIH0gPQogICAgICAoY2xpZW50LmdldE9wdGlvbnMgJiYgY2xpZW50LmdldE9wdGlvbnMoKSkgfHwge307CgogICAgaWYgKG1heEJyZWFkY3J1bWJzIDw9IDApIHJldHVybjsKCiAgICBjb25zdCB0aW1lc3RhbXAgPSBkYXRlVGltZXN0YW1wSW5TZWNvbmRzKCk7CiAgICBjb25zdCBtZXJnZWRCcmVhZGNydW1iID0geyB0aW1lc3RhbXAsIC4uLmJyZWFkY3J1bWIgfTsKICAgIGNvbnN0IGZpbmFsQnJlYWRjcnVtYiA9IGJlZm9yZUJyZWFkY3J1bWIKICAgICAgPyAoY29uc29sZVNhbmRib3goKCkgPT4gYmVmb3JlQnJlYWRjcnVtYihtZXJnZWRCcmVhZGNydW1iLCBoaW50KSkgKQogICAgICA6IG1lcmdlZEJyZWFkY3J1bWI7CgogICAgaWYgKGZpbmFsQnJlYWRjcnVtYiA9PT0gbnVsbCkgcmV0dXJuOwoKICAgIGlmIChjbGllbnQuZW1pdCkgewogICAgICBjbGllbnQuZW1pdCgnYmVmb3JlQWRkQnJlYWRjcnVtYicsIGZpbmFsQnJlYWRjcnVtYiwgaGludCk7CiAgICB9CgogICAgLy8gVE9ETyh2OCk6IEkga25vdyB0aGlzIGNvbW1lbnQgZG9lc24ndCBtYWtlIG11Y2ggc2Vuc2UgYmVjYXVzZSB0aGUgaHViIHdpbGwgYmUgZGVwcmVjYXRlZCBidXQgSSBzdGlsbCB3YW50ZWQgdG8KICAgIC8vIHdyaXRlIGl0IGRvd24uIEluIHRoZW9yeSwgd2Ugd291bGQgaGF2ZSB0byBhZGQgdGhlIGJyZWFkY3J1bWJzIHRvIHRoZSBpc29sYXRpb24gc2NvcGUgaGVyZSwgaG93ZXZlciwgdGhhdCB3b3VsZAogICAgLy8gZHVwbGljYXRlIGFsbCBvZiB0aGUgYnJlYWRjcnVtYnMuIFRoZXJlIHdhcyB0aGUgcG9zc2liaWxpdHkgb2YgYWRkaW5nIGJyZWFkY3J1bWJzIHRvIGJvdGgsIHRoZSBpc29sYXRpb24gc2NvcGUKICAgIC8vIGFuZCB0aGUgbm9ybWFsIHNjb3BlLCBhbmQgZGVkdXBsaWNhdGluZyBpdCBkb3duIHRoZSBsaW5lIGluIHRoZSBldmVudCBwcm9jZXNzaW5nIHBpcGVsaW5lLiBIb3dldmVyLCB0aGF0IHdvdWxkCiAgICAvLyBoYXZlIGJlZW4gdmVyeSBmcmFnaWxlLCBiZWNhdXNlIHRoZSBicmVhZGNydW1iIG9iamVjdHMgd291bGQgaGF2ZSBuZWVkZWQgdG8ga2VlcCB0aGVpciBpZGVudGl0eSBhbGwgdGhyb3VnaG91dAogICAgLy8gdGhlIGV2ZW50IHByb2Nlc3NpbmcgcGlwZWxpbmUuCiAgICAvLyBJbiB0aGUgbmV3IGltcGxlbWVudGF0aW9uLCB0aGUgdG9wIGxldmVsIGBTZW50cnkuYWRkQnJlYWRjcnVtYigpYCBzaG91bGQgT05MWSB3cml0ZSB0byB0aGUgaXNvbGF0aW9uIHNjb3BlLgoKICAgIHNjb3BlLmFkZEJyZWFkY3J1bWIoZmluYWxCcmVhZGNydW1iLCBtYXhCcmVhZGNydW1icyk7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqIEBkZXByZWNhdGVkIFVzZSBgU2VudHJ5LnNldFVzZXIoKWAgaW5zdGVhZC4KICAgKi8KICAgc2V0VXNlcih1c2VyKSB7CiAgICAvLyBUT0RPKHY4KTogVGhlIHRvcCBsZXZlbCBgU2VudHJ5LnNldFVzZXIoKWAgZnVuY3Rpb24gc2hvdWxkIHdyaXRlIE9OTFkgdG8gdGhlIGlzb2xhdGlvbiBzY29wZS4KICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgdGhpcy5nZXRTY29wZSgpLnNldFVzZXIodXNlcik7CiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIHRoaXMuZ2V0SXNvbGF0aW9uU2NvcGUoKS5zZXRVc2VyKHVzZXIpOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKiBAZGVwcmVjYXRlZCBVc2UgYFNlbnRyeS5zZXRUYWdzKClgIGluc3RlYWQuCiAgICovCiAgIHNldFRhZ3ModGFncykgewogICAgLy8gVE9ETyh2OCk6IFRoZSB0b3AgbGV2ZWwgYFNlbnRyeS5zZXRUYWdzKClgIGZ1bmN0aW9uIHNob3VsZCB3cml0ZSBPTkxZIHRvIHRoZSBpc29sYXRpb24gc2NvcGUuCiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIHRoaXMuZ2V0U2NvcGUoKS5zZXRUYWdzKHRhZ3MpOwogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICB0aGlzLmdldElzb2xhdGlvblNjb3BlKCkuc2V0VGFncyh0YWdzKTsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBTZW50cnkuc2V0RXh0cmFzKClgIGluc3RlYWQuCiAgICovCiAgIHNldEV4dHJhcyhleHRyYXMpIHsKICAgIC8vIFRPRE8odjgpOiBUaGUgdG9wIGxldmVsIGBTZW50cnkuc2V0RXh0cmFzKClgIGZ1bmN0aW9uIHNob3VsZCB3cml0ZSBPTkxZIHRvIHRoZSBpc29sYXRpb24gc2NvcGUuCiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIHRoaXMuZ2V0U2NvcGUoKS5zZXRFeHRyYXMoZXh0cmFzKTsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgdGhpcy5nZXRJc29sYXRpb25TY29wZSgpLnNldEV4dHJhcyhleHRyYXMpOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKiBAZGVwcmVjYXRlZCBVc2UgYFNlbnRyeS5zZXRUYWcoKWAgaW5zdGVhZC4KICAgKi8KICAgc2V0VGFnKGtleSwgdmFsdWUpIHsKICAgIC8vIFRPRE8odjgpOiBUaGUgdG9wIGxldmVsIGBTZW50cnkuc2V0VGFnKClgIGZ1bmN0aW9uIHNob3VsZCB3cml0ZSBPTkxZIHRvIHRoZSBpc29sYXRpb24gc2NvcGUuCiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIHRoaXMuZ2V0U2NvcGUoKS5zZXRUYWcoa2V5LCB2YWx1ZSk7CiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIHRoaXMuZ2V0SXNvbGF0aW9uU2NvcGUoKS5zZXRUYWcoa2V5LCB2YWx1ZSk7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqIEBkZXByZWNhdGVkIFVzZSBgU2VudHJ5LnNldEV4dHJhKClgIGluc3RlYWQuCiAgICovCiAgIHNldEV4dHJhKGtleSwgZXh0cmEpIHsKICAgIC8vIFRPRE8odjgpOiBUaGUgdG9wIGxldmVsIGBTZW50cnkuc2V0RXh0cmEoKWAgZnVuY3Rpb24gc2hvdWxkIHdyaXRlIE9OTFkgdG8gdGhlIGlzb2xhdGlvbiBzY29wZS4KICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgdGhpcy5nZXRTY29wZSgpLnNldEV4dHJhKGtleSwgZXh0cmEpOwogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICB0aGlzLmdldElzb2xhdGlvblNjb3BlKCkuc2V0RXh0cmEoa2V5LCBleHRyYSk7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqIEBkZXByZWNhdGVkIFVzZSBgU2VudHJ5LnNldENvbnRleHQoKWAgaW5zdGVhZC4KICAgKi8KICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueQogICBzZXRDb250ZXh0KG5hbWUsIGNvbnRleHQpIHsKICAgIC8vIFRPRE8odjgpOiBUaGUgdG9wIGxldmVsIGBTZW50cnkuc2V0Q29udGV4dCgpYCBmdW5jdGlvbiBzaG91bGQgd3JpdGUgT05MWSB0byB0aGUgaXNvbGF0aW9uIHNjb3BlLgogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICB0aGlzLmdldFNjb3BlKCkuc2V0Q29udGV4dChuYW1lLCBjb250ZXh0KTsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgdGhpcy5nZXRJc29sYXRpb25TY29wZSgpLnNldENvbnRleHQobmFtZSwgY29udGV4dCk7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBnZXRTY29wZSgpYCBkaXJlY3RseS4KICAgKi8KICAgY29uZmlndXJlU2NvcGUoY2FsbGJhY2spIHsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgY29uc3QgeyBzY29wZSwgY2xpZW50IH0gPSB0aGlzLmdldFN0YWNrVG9wKCk7CiAgICBpZiAoY2xpZW50KSB7CiAgICAgIGNhbGxiYWNrKHNjb3BlKTsKICAgIH0KICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICovCiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgIHJ1bihjYWxsYmFjaykgewogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICBjb25zdCBvbGRIdWIgPSBtYWtlTWFpbih0aGlzKTsKICAgIHRyeSB7CiAgICAgIGNhbGxiYWNrKHRoaXMpOwogICAgfSBmaW5hbGx5IHsKICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICAgIG1ha2VNYWluKG9sZEh1Yik7CiAgICB9CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqIEBkZXByZWNhdGVkIFVzZSBgU2VudHJ5LmdldENsaWVudCgpLmdldEludGVncmF0aW9uQnlOYW1lKClgIGluc3RlYWQuCiAgICovCiAgIGdldEludGVncmF0aW9uKGludGVncmF0aW9uKSB7CiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIGNvbnN0IGNsaWVudCA9IHRoaXMuZ2V0Q2xpZW50KCk7CiAgICBpZiAoIWNsaWVudCkgcmV0dXJuIG51bGw7CiAgICB0cnkgewogICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgICAgcmV0dXJuIGNsaWVudC5nZXRJbnRlZ3JhdGlvbihpbnRlZ3JhdGlvbik7CiAgICB9IGNhdGNoIChfb08pIHsKICAgICAgREVCVUdfQlVJTEQgJiYgbG9nZ2VyLndhcm4oYENhbm5vdCByZXRyaWV2ZSBpbnRlZ3JhdGlvbiAke2ludGVncmF0aW9uLmlkfSBmcm9tIHRoZSBjdXJyZW50IEh1YmApOwogICAgICByZXR1cm4gbnVsbDsKICAgIH0KICB9CgogIC8qKgogICAqIFN0YXJ0cyBhIG5ldyBgVHJhbnNhY3Rpb25gIGFuZCByZXR1cm5zIGl0LiBUaGlzIGlzIHRoZSBlbnRyeSBwb2ludCB0byBtYW51YWwgdHJhY2luZyBpbnN0cnVtZW50YXRpb24uCiAgICoKICAgKiBBIHRyZWUgc3RydWN0dXJlIGNhbiBiZSBidWlsdCBieSBhZGRpbmcgY2hpbGQgc3BhbnMgdG8gdGhlIHRyYW5zYWN0aW9uLCBhbmQgY2hpbGQgc3BhbnMgdG8gb3RoZXIgc3BhbnMuIFRvIHN0YXJ0IGEKICAgKiBuZXcgY2hpbGQgc3BhbiB3aXRoaW4gdGhlIHRyYW5zYWN0aW9uIG9yIGFueSBzcGFuLCBjYWxsIHRoZSByZXNwZWN0aXZlIGAuc3RhcnRDaGlsZCgpYCBtZXRob2QuCiAgICoKICAgKiBFdmVyeSBjaGlsZCBzcGFuIG11c3QgYmUgZmluaXNoZWQgYmVmb3JlIHRoZSB0cmFuc2FjdGlvbiBpcyBmaW5pc2hlZCwgb3RoZXJ3aXNlIHRoZSB1bmZpbmlzaGVkIHNwYW5zIGFyZSBkaXNjYXJkZWQuCiAgICoKICAgKiBUaGUgdHJhbnNhY3Rpb24gbXVzdCBiZSBmaW5pc2hlZCB3aXRoIGEgY2FsbCB0byBpdHMgYC5lbmQoKWAgbWV0aG9kLCBhdCB3aGljaCBwb2ludCB0aGUgdHJhbnNhY3Rpb24gd2l0aCBhbGwgaXRzCiAgICogZmluaXNoZWQgY2hpbGQgc3BhbnMgd2lsbCBiZSBzZW50IHRvIFNlbnRyeS4KICAgKgogICAqIEBwYXJhbSBjb250ZXh0IFByb3BlcnRpZXMgb2YgdGhlIG5ldyBgVHJhbnNhY3Rpb25gLgogICAqIEBwYXJhbSBjdXN0b21TYW1wbGluZ0NvbnRleHQgSW5mb3JtYXRpb24gZ2l2ZW4gdG8gdGhlIHRyYW5zYWN0aW9uIHNhbXBsaW5nIGZ1bmN0aW9uIChhbG9uZyB3aXRoIGNvbnRleHQtZGVwZW5kZW50CiAgICogZGVmYXVsdCB2YWx1ZXMpLiBTZWUge0BsaW5rIE9wdGlvbnMudHJhY2VzU2FtcGxlcn0uCiAgICoKICAgKiBAcmV0dXJucyBUaGUgdHJhbnNhY3Rpb24gd2hpY2ggd2FzIGp1c3Qgc3RhcnRlZAogICAqCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBzdGFydFNwYW4oKWAsIGBzdGFydFNwYW5NYW51YWwoKWAgb3IgYHN0YXJ0SW5hY3RpdmVTcGFuKClgIGluc3RlYWQuCiAgICovCiAgIHN0YXJ0VHJhbnNhY3Rpb24oY29udGV4dCwgY3VzdG9tU2FtcGxpbmdDb250ZXh0KSB7CiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9jYWxsRXh0ZW5zaW9uTWV0aG9kKCdzdGFydFRyYW5zYWN0aW9uJywgY29udGV4dCwgY3VzdG9tU2FtcGxpbmdDb250ZXh0KTsKCiAgICBpZiAoREVCVUdfQlVJTEQgJiYgIXJlc3VsdCkgewogICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgICAgY29uc3QgY2xpZW50ID0gdGhpcy5nZXRDbGllbnQoKTsKICAgICAgaWYgKCFjbGllbnQpIHsKICAgICAgICBsb2dnZXIud2FybigKICAgICAgICAgICJUcmFjaW5nIGV4dGVuc2lvbiAnc3RhcnRUcmFuc2FjdGlvbicgaXMgbWlzc2luZy4gWW91IHNob3VsZCAnaW5pdCcgdGhlIFNESyBiZWZvcmUgY2FsbGluZyAnc3RhcnRUcmFuc2FjdGlvbiciLAogICAgICAgICk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLndhcm4oYFRyYWNpbmcgZXh0ZW5zaW9uICdzdGFydFRyYW5zYWN0aW9uJyBoYXMgbm90IGJlZW4gYWRkZWQuIENhbGwgJ2FkZFRyYWNpbmdFeHRlbnNpb25zJyBiZWZvcmUgY2FsbGluZyAnaW5pdCc6ClNlbnRyeS5hZGRUcmFjaW5nRXh0ZW5zaW9ucygpOwpTZW50cnkuaW5pdCh7Li4ufSk7CmApOwogICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdDsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBzcGFuVG9UcmFjZUhlYWRlcigpYCBpbnN0ZWFkLgogICAqLwogICB0cmFjZUhlYWRlcnMoKSB7CiAgICByZXR1cm4gdGhpcy5fY2FsbEV4dGVuc2lvbk1ldGhvZCgndHJhY2VIZWFkZXJzJyk7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqCiAgICogQGRlcHJlY2F0ZWQgVXNlIHRvcCBsZXZlbCBgY2FwdHVyZVNlc3Npb25gIGluc3RlYWQuCiAgICovCiAgIGNhcHR1cmVTZXNzaW9uKGVuZFNlc3Npb24gPSBmYWxzZSkgewogICAgLy8gYm90aCBzZW5kIHRoZSB1cGRhdGUgYW5kIHB1bGwgdGhlIHNlc3Npb24gZnJvbSB0aGUgc2NvcGUKICAgIGlmIChlbmRTZXNzaW9uKSB7CiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgICByZXR1cm4gdGhpcy5lbmRTZXNzaW9uKCk7CiAgICB9CgogICAgLy8gb25seSBzZW5kIHRoZSB1cGRhdGUKICAgIHRoaXMuX3NlbmRTZXNzaW9uVXBkYXRlKCk7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqIEBkZXByZWNhdGVkIFVzZSB0b3AgbGV2ZWwgYGVuZFNlc3Npb25gIGluc3RlYWQuCiAgICovCiAgIGVuZFNlc3Npb24oKSB7CiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIGNvbnN0IGxheWVyID0gdGhpcy5nZXRTdGFja1RvcCgpOwogICAgY29uc3Qgc2NvcGUgPSBsYXllci5zY29wZTsKICAgIGNvbnN0IHNlc3Npb24gPSBzY29wZS5nZXRTZXNzaW9uKCk7CiAgICBpZiAoc2Vzc2lvbikgewogICAgICBjbG9zZVNlc3Npb24oc2Vzc2lvbik7CiAgICB9CiAgICB0aGlzLl9zZW5kU2Vzc2lvblVwZGF0ZSgpOwoKICAgIC8vIHRoZSBzZXNzaW9uIGlzIG92ZXI7IHRha2UgaXQgb2ZmIG9mIHRoZSBzY29wZQogICAgc2NvcGUuc2V0U2Vzc2lvbigpOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKiBAZGVwcmVjYXRlZCBVc2UgdG9wIGxldmVsIGBzdGFydFNlc3Npb25gIGluc3RlYWQuCiAgICovCiAgIHN0YXJ0U2Vzc2lvbihjb250ZXh0KSB7CiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIGNvbnN0IHsgc2NvcGUsIGNsaWVudCB9ID0gdGhpcy5nZXRTdGFja1RvcCgpOwogICAgY29uc3QgeyByZWxlYXNlLCBlbnZpcm9ubWVudCA9IERFRkFVTFRfRU5WSVJPTk1FTlQgfSA9IChjbGllbnQgJiYgY2xpZW50LmdldE9wdGlvbnMoKSkgfHwge307CgogICAgLy8gV2lsbCBmZXRjaCB1c2VyQWdlbnQgaWYgY2FsbGVkIGZyb20gYnJvd3NlciBzZGsKICAgIGNvbnN0IHsgdXNlckFnZW50IH0gPSBHTE9CQUxfT0JKLm5hdmlnYXRvciB8fCB7fTsKCiAgICBjb25zdCBzZXNzaW9uID0gbWFrZVNlc3Npb24oewogICAgICByZWxlYXNlLAogICAgICBlbnZpcm9ubWVudCwKICAgICAgdXNlcjogc2NvcGUuZ2V0VXNlcigpLAogICAgICAuLi4odXNlckFnZW50ICYmIHsgdXNlckFnZW50IH0pLAogICAgICAuLi5jb250ZXh0LAogICAgfSk7CgogICAgLy8gRW5kIGV4aXN0aW5nIHNlc3Npb24gaWYgdGhlcmUncyBvbmUKICAgIGNvbnN0IGN1cnJlbnRTZXNzaW9uID0gc2NvcGUuZ2V0U2Vzc2lvbiAmJiBzY29wZS5nZXRTZXNzaW9uKCk7CiAgICBpZiAoY3VycmVudFNlc3Npb24gJiYgY3VycmVudFNlc3Npb24uc3RhdHVzID09PSAnb2snKSB7CiAgICAgIHVwZGF0ZVNlc3Npb24oY3VycmVudFNlc3Npb24sIHsgc3RhdHVzOiAnZXhpdGVkJyB9KTsKICAgIH0KICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgdGhpcy5lbmRTZXNzaW9uKCk7CgogICAgLy8gQWZ0ZXJ3YXJkcyB3ZSBzZXQgdGhlIG5ldyBzZXNzaW9uIG9uIHRoZSBzY29wZQogICAgc2NvcGUuc2V0U2Vzc2lvbihzZXNzaW9uKTsKCiAgICByZXR1cm4gc2Vzc2lvbjsKICB9CgogIC8qKgogICAqIFJldHVybnMgaWYgZGVmYXVsdCBQSUkgc2hvdWxkIGJlIHNlbnQgdG8gU2VudHJ5IGFuZCBwcm9wYWdhdGVkIGluIG91cmdvaW5nIHJlcXVlc3RzCiAgICogd2hlbiBUcmFjaW5nIGlzIHVzZWQuCiAgICoKICAgKiBAZGVwcmVjYXRlZCBVc2UgdG9wLWxldmVsIGBnZXRDbGllbnQoKS5nZXRPcHRpb25zKCkuc2VuZERlZmF1bHRQaWlgIGluc3RlYWQuIFRoaXMgZnVuY3Rpb24KICAgKiBvbmx5IHVubmVjZXNzYXJpbHkgaW5jcmVhc2VkIEFQSSBzdXJmYWNlIGJ1dCBvbmx5IHdyYXBwZWQgYWNjZXNzaW5nIHRoZSBvcHRpb24uCiAgICovCiAgIHNob3VsZFNlbmREZWZhdWx0UGlpKCkgewogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICBjb25zdCBjbGllbnQgPSB0aGlzLmdldENsaWVudCgpOwogICAgY29uc3Qgb3B0aW9ucyA9IGNsaWVudCAmJiBjbGllbnQuZ2V0T3B0aW9ucygpOwogICAgcmV0dXJuIEJvb2xlYW4ob3B0aW9ucyAmJiBvcHRpb25zLnNlbmREZWZhdWx0UGlpKTsKICB9CgogIC8qKgogICAqIFNlbmRzIHRoZSBjdXJyZW50IFNlc3Npb24gb24gdGhlIHNjb3BlCiAgICovCiAgIF9zZW5kU2Vzc2lvblVwZGF0ZSgpIHsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgY29uc3QgeyBzY29wZSwgY2xpZW50IH0gPSB0aGlzLmdldFN0YWNrVG9wKCk7CgogICAgY29uc3Qgc2Vzc2lvbiA9IHNjb3BlLmdldFNlc3Npb24oKTsKICAgIGlmIChzZXNzaW9uICYmIGNsaWVudCAmJiBjbGllbnQuY2FwdHVyZVNlc3Npb24pIHsKICAgICAgY2xpZW50LmNhcHR1cmVTZXNzaW9uKHNlc3Npb24pOwogICAgfQogIH0KCiAgLyoqCiAgICogQ2FsbHMgZ2xvYmFsIGV4dGVuc2lvbiBtZXRob2QgYW5kIGJpbmRpbmcgY3VycmVudCBpbnN0YW5jZSB0byB0aGUgZnVuY3Rpb24gY2FsbAogICAqLwogIC8vIEB0cy1leHBlY3QtZXJyb3IgRnVuY3Rpb24gbGFja3MgZW5kaW5nIHJldHVybiBzdGF0ZW1lbnQgYW5kIHJldHVybiB0eXBlIGRvZXMgbm90IGluY2x1ZGUgJ3VuZGVmaW5lZCcuIHRzKDIzNjYpCiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkKICAgX2NhbGxFeHRlbnNpb25NZXRob2QobWV0aG9kLCAuLi5hcmdzKSB7CiAgICBjb25zdCBjYXJyaWVyID0gZ2V0TWFpbkNhcnJpZXIoKTsKICAgIGNvbnN0IHNlbnRyeSA9IGNhcnJpZXIuX19TRU5UUllfXzsKICAgIGlmIChzZW50cnkgJiYgc2VudHJ5LmV4dGVuc2lvbnMgJiYgdHlwZW9mIHNlbnRyeS5leHRlbnNpb25zW21ldGhvZF0gPT09ICdmdW5jdGlvbicpIHsKICAgICAgcmV0dXJuIHNlbnRyeS5leHRlbnNpb25zW21ldGhvZF0uYXBwbHkodGhpcywgYXJncyk7CiAgICB9CiAgICBERUJVR19CVUlMRCAmJiBsb2dnZXIud2FybihgRXh0ZW5zaW9uIG1ldGhvZCAke21ldGhvZH0gY291bGRuJ3QgYmUgZm91bmQsIGRvaW5nIG5vdGhpbmcuYCk7CiAgfQp9CgovKioKICogUmV0dXJucyB0aGUgZ2xvYmFsIHNoaW0gcmVnaXN0cnkuCiAqCiAqIEZJWE1FOiBUaGlzIGZ1bmN0aW9uIGlzIHByb2JsZW1hdGljLCBiZWNhdXNlIGRlc3BpdGUgYWx3YXlzIHJldHVybmluZyBhIHZhbGlkIENhcnJpZXIsCiAqIGl0IGhhcyBhbiBvcHRpb25hbCBgX19TRU5UUllfX2AgcHJvcGVydHksIHdoaWNoIHRoZW4gaW4gdHVybiByZXF1aXJlcyB1cyB0byBhbHdheXMgcGVyZm9ybSBhbiB1bm5lY2Vzc2FyeSBjaGVjawogKiBhdCB0aGUgY2FsbC1zaXRlLiBXZSBhbHdheXMgYWNjZXNzIHRoZSBjYXJyaWVyIHRocm91Z2ggdGhpcyBmdW5jdGlvbiwgc28gd2UgY2FuIGd1YXJhbnRlZSB0aGF0IGBfX1NFTlRSWV9fYCBpcyB0aGVyZS4KICoqLwpmdW5jdGlvbiBnZXRNYWluQ2FycmllcigpIHsKICBHTE9CQUxfT0JKLl9fU0VOVFJZX18gPSBHTE9CQUxfT0JKLl9fU0VOVFJZX18gfHwgewogICAgZXh0ZW5zaW9uczoge30sCiAgICBodWI6IHVuZGVmaW5lZCwKICB9OwogIHJldHVybiBHTE9CQUxfT0JKOwp9CgovKioKICogUmVwbGFjZXMgdGhlIGN1cnJlbnQgbWFpbiBodWIgd2l0aCB0aGUgcGFzc2VkIG9uZSBvbiB0aGUgZ2xvYmFsIG9iamVjdAogKgogKiBAcmV0dXJucyBUaGUgb2xkIHJlcGxhY2VkIGh1YgogKgogKiBAZGVwcmVjYXRlZCBVc2UgYHNldEN1cnJlbnRDbGllbnQoKWAgaW5zdGVhZC4KICovCi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgpmdW5jdGlvbiBtYWtlTWFpbihodWIpIHsKICBjb25zdCByZWdpc3RyeSA9IGdldE1haW5DYXJyaWVyKCk7CiAgY29uc3Qgb2xkSHViID0gZ2V0SHViRnJvbUNhcnJpZXIocmVnaXN0cnkpOwogIHNldEh1Yk9uQ2FycmllcihyZWdpc3RyeSwgaHViKTsKICByZXR1cm4gb2xkSHViOwp9CgovKioKICogUmV0dXJucyB0aGUgZGVmYXVsdCBodWIgaW5zdGFuY2UuCiAqCiAqIElmIGEgaHViIGlzIGFscmVhZHkgcmVnaXN0ZXJlZCBpbiB0aGUgZ2xvYmFsIGNhcnJpZXIgYnV0IHRoaXMgbW9kdWxlCiAqIGNvbnRhaW5zIGEgbW9yZSByZWNlbnQgdmVyc2lvbiwgaXQgcmVwbGFjZXMgdGhlIHJlZ2lzdGVyZWQgdmVyc2lvbi4KICogT3RoZXJ3aXNlLCB0aGUgY3VycmVudGx5IHJlZ2lzdGVyZWQgaHViIHdpbGwgYmUgcmV0dXJuZWQuCiAqCiAqIEBkZXByZWNhdGVkIFVzZSB0aGUgcmVzcGVjdGl2ZSByZXBsYWNlbWVudCBtZXRob2QgZGlyZWN0bHkgaW5zdGVhZC4KICovCi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgpmdW5jdGlvbiBnZXRDdXJyZW50SHViKCkgewogIC8vIEdldCBtYWluIGNhcnJpZXIgKGdsb2JhbCBmb3IgZXZlcnkgZW52aXJvbm1lbnQpCiAgY29uc3QgcmVnaXN0cnkgPSBnZXRNYWluQ2FycmllcigpOwoKICBpZiAocmVnaXN0cnkuX19TRU5UUllfXyAmJiByZWdpc3RyeS5fX1NFTlRSWV9fLmFjcykgewogICAgY29uc3QgaHViID0gcmVnaXN0cnkuX19TRU5UUllfXy5hY3MuZ2V0Q3VycmVudEh1YigpOwoKICAgIGlmIChodWIpIHsKICAgICAgcmV0dXJuIGh1YjsKICAgIH0KICB9CgogIC8vIFJldHVybiBodWIgdGhhdCBsaXZlcyBvbiBhIGdsb2JhbCBvYmplY3QKICByZXR1cm4gZ2V0R2xvYmFsSHViKHJlZ2lzdHJ5KTsKfQoKLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCmZ1bmN0aW9uIGdldEdsb2JhbEh1YihyZWdpc3RyeSA9IGdldE1haW5DYXJyaWVyKCkpIHsKICAvLyBJZiB0aGVyZSdzIG5vIGh1Yiwgb3IgaXRzIGFuIG9sZCBBUEksIGFzc2lnbiBhIG5ldyBvbmUKCiAgaWYgKAogICAgIWhhc0h1Yk9uQ2FycmllcihyZWdpc3RyeSkgfHwKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgZ2V0SHViRnJvbUNhcnJpZXIocmVnaXN0cnkpLmlzT2xkZXJUaGFuKEFQSV9WRVJTSU9OKQogICkgewogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICBzZXRIdWJPbkNhcnJpZXIocmVnaXN0cnksIG5ldyBIdWIoKSk7CiAgfQoKICAvLyBSZXR1cm4gaHViIHRoYXQgbGl2ZXMgb24gYSBnbG9iYWwgb2JqZWN0CiAgcmV0dXJuIGdldEh1YkZyb21DYXJyaWVyKHJlZ2lzdHJ5KTsKfQoKLyoqCiAqIFRoaXMgd2lsbCB0ZWxsIHdoZXRoZXIgYSBjYXJyaWVyIGhhcyBhIGh1YiBvbiBpdCBvciBub3QKICogQHBhcmFtIGNhcnJpZXIgb2JqZWN0CiAqLwpmdW5jdGlvbiBoYXNIdWJPbkNhcnJpZXIoY2FycmllcikgewogIHJldHVybiAhIShjYXJyaWVyICYmIGNhcnJpZXIuX19TRU5UUllfXyAmJiBjYXJyaWVyLl9fU0VOVFJZX18uaHViKTsKfQoKLyoqCiAqIFRoaXMgd2lsbCBjcmVhdGUgYSBuZXcge0BsaW5rIEh1Yn0gYW5kIGFkZCB0byB0aGUgcGFzc2VkIG9iamVjdCBvbgogKiBfX1NFTlRSWV9fLmh1Yi4KICogQHBhcmFtIGNhcnJpZXIgb2JqZWN0CiAqIEBoaWRkZW4KICovCi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgpmdW5jdGlvbiBnZXRIdWJGcm9tQ2FycmllcihjYXJyaWVyKSB7CiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgcmV0dXJuIGdldEdsb2JhbFNpbmdsZXRvbignaHViJywgKCkgPT4gbmV3IEh1YigpLCBjYXJyaWVyKTsKfQoKLyoqCiAqIFRoaXMgd2lsbCBzZXQgcGFzc2VkIHtAbGluayBIdWJ9IG9uIHRoZSBwYXNzZWQgb2JqZWN0J3MgX19TRU5UUllfXy5odWIgYXR0cmlidXRlCiAqIEBwYXJhbSBjYXJyaWVyIG9iamVjdAogKiBAcGFyYW0gaHViIEh1YgogKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyBzdWNjZXNzIG9yIGZhaWx1cmUKICovCi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgpmdW5jdGlvbiBzZXRIdWJPbkNhcnJpZXIoY2FycmllciwgaHViKSB7CiAgaWYgKCFjYXJyaWVyKSByZXR1cm4gZmFsc2U7CiAgY29uc3QgX19TRU5UUllfXyA9IChjYXJyaWVyLl9fU0VOVFJZX18gPSBjYXJyaWVyLl9fU0VOVFJZX18gfHwge30pOwogIF9fU0VOVFJZX18uaHViID0gaHViOwogIHJldHVybiB0cnVlOwp9CgovKioKICogQXBwbHkgU2RrSW5mbyAobmFtZSwgdmVyc2lvbiwgcGFja2FnZXMsIGludGVncmF0aW9ucykgdG8gdGhlIGNvcnJlc3BvbmRpbmcgZXZlbnQga2V5LgogKiBNZXJnZSB3aXRoIGV4aXN0aW5nIGRhdGEgaWYgYW55LgogKiovCmZ1bmN0aW9uIGVuaGFuY2VFdmVudFdpdGhTZGtJbmZvKGV2ZW50LCBzZGtJbmZvKSB7CiAgaWYgKCFzZGtJbmZvKSB7CiAgICByZXR1cm4gZXZlbnQ7CiAgfQogIGV2ZW50LnNkayA9IGV2ZW50LnNkayB8fCB7fTsKICBldmVudC5zZGsubmFtZSA9IGV2ZW50LnNkay5uYW1lIHx8IHNka0luZm8ubmFtZTsKICBldmVudC5zZGsudmVyc2lvbiA9IGV2ZW50LnNkay52ZXJzaW9uIHx8IHNka0luZm8udmVyc2lvbjsKICBldmVudC5zZGsuaW50ZWdyYXRpb25zID0gWy4uLihldmVudC5zZGsuaW50ZWdyYXRpb25zIHx8IFtdKSwgLi4uKHNka0luZm8uaW50ZWdyYXRpb25zIHx8IFtdKV07CiAgZXZlbnQuc2RrLnBhY2thZ2VzID0gWy4uLihldmVudC5zZGsucGFja2FnZXMgfHwgW10pLCAuLi4oc2RrSW5mby5wYWNrYWdlcyB8fCBbXSldOwogIHJldHVybiBldmVudDsKfQoKLyoqIENyZWF0ZXMgYW4gZW52ZWxvcGUgZnJvbSBhIFNlc3Npb24gKi8KZnVuY3Rpb24gY3JlYXRlU2Vzc2lvbkVudmVsb3BlKAogIHNlc3Npb24sCiAgZHNuLAogIG1ldGFkYXRhLAogIHR1bm5lbCwKKSB7CiAgY29uc3Qgc2RrSW5mbyA9IGdldFNka01ldGFkYXRhRm9yRW52ZWxvcGVIZWFkZXIobWV0YWRhdGEpOwogIGNvbnN0IGVudmVsb3BlSGVhZGVycyA9IHsKICAgIHNlbnRfYXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSwKICAgIC4uLihzZGtJbmZvICYmIHsgc2RrOiBzZGtJbmZvIH0pLAogICAgLi4uKCEhdHVubmVsICYmIGRzbiAmJiB7IGRzbjogZHNuVG9TdHJpbmcoZHNuKSB9KSwKICB9OwoKICBjb25zdCBlbnZlbG9wZUl0ZW0gPQogICAgJ2FnZ3JlZ2F0ZXMnIGluIHNlc3Npb24gPyBbeyB0eXBlOiAnc2Vzc2lvbnMnIH0sIHNlc3Npb25dIDogW3sgdHlwZTogJ3Nlc3Npb24nIH0sIHNlc3Npb24udG9KU09OKCldOwoKICByZXR1cm4gY3JlYXRlRW52ZWxvcGUoZW52ZWxvcGVIZWFkZXJzLCBbZW52ZWxvcGVJdGVtXSk7Cn0KCi8qKgogKiBDcmVhdGUgYW4gRW52ZWxvcGUgZnJvbSBhbiBldmVudC4KICovCmZ1bmN0aW9uIGNyZWF0ZUV2ZW50RW52ZWxvcGUoCiAgZXZlbnQsCiAgZHNuLAogIG1ldGFkYXRhLAogIHR1bm5lbCwKKSB7CiAgY29uc3Qgc2RrSW5mbyA9IGdldFNka01ldGFkYXRhRm9yRW52ZWxvcGVIZWFkZXIobWV0YWRhdGEpOwoKICAvKgogICAgTm90ZTogRHVlIHRvIFRTLCBldmVudC50eXBlIG1heSBiZSBgcmVwbGF5X2V2ZW50YCwgdGhlb3JldGljYWxseS4KICAgIEluIHByYWN0aWNlLCB3ZSBuZXZlciBjYWxsIGBjcmVhdGVFdmVudEVudmVsb3BlYCB3aXRoIGByZXBsYXlfZXZlbnRgIHR5cGUsCiAgICBhbmQgd2UnZCBoYXZlIHRvIGFkanV0IGEgbG9vb3Qgb2YgdHlwZXMgdG8gbWFrZSB0aGlzIHdvcmsgcHJvcGVybHkuCiAgICBXZSB3YW50IHRvIGF2b2lkIGNhc3RpbmcgdGhpcyBhcm91bmQsIGFzIHRoYXQgY291bGQgbGVhZCB0byBidWdzIChlLmcuIHdoZW4gd2UgYWRkIGFub3RoZXIgdHlwZSkKICAgIFNvIHRoZSBzYWZlIGNob2ljZSBpcyB0byByZWFsbHkgZ3VhcmQgYWdhaW5zdCB0aGUgcmVwbGF5X2V2ZW50IHR5cGUgaGVyZS4KICAqLwogIGNvbnN0IGV2ZW50VHlwZSA9IGV2ZW50LnR5cGUgJiYgZXZlbnQudHlwZSAhPT0gJ3JlcGxheV9ldmVudCcgPyBldmVudC50eXBlIDogJ2V2ZW50JzsKCiAgZW5oYW5jZUV2ZW50V2l0aFNka0luZm8oZXZlbnQsIG1ldGFkYXRhICYmIG1ldGFkYXRhLnNkayk7CgogIGNvbnN0IGVudmVsb3BlSGVhZGVycyA9IGNyZWF0ZUV2ZW50RW52ZWxvcGVIZWFkZXJzKGV2ZW50LCBzZGtJbmZvLCB0dW5uZWwsIGRzbik7CgogIC8vIFByZXZlbnQgdGhpcyBkYXRhICh3aGljaCwgaWYgaXQgZXhpc3RzLCB3YXMgdXNlZCBpbiBlYXJsaWVyIHN0ZXBzIGluIHRoZSBwcm9jZXNzaW5nIHBpcGVsaW5lKSBmcm9tIGJlaW5nIHNlbnQgdG8KICAvLyBzZW50cnkuIChOb3RlOiBPdXIgdXNlIG9mIHRoaXMgcHJvcGVydHkgY29tZXMgYW5kIGdvZXMgd2l0aCB3aGF0ZXZlciB3ZSBtaWdodCBiZSBkZWJ1Z2dpbmcsIHdoYXRldmVyIGhhY2tzIHdlIG1heQogIC8vIGhhdmUgdGVtcG9yYXJpbHkgYWRkZWQsIGV0Yy4gRXZlbiBpZiB3ZSBkb24ndCBoYXBwZW4gdG8gYmUgdXNpbmcgaXQgYXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLCBsZXQncyBub3QgZ2V0IHJpZAogIC8vIG9mIHRoaXMgYGRlbGV0ZWAsIGxlc3Qgd2UgbWlzcyBwdXR0aW5nIGl0IGJhY2sgaW4gdGhlIG5leHQgdGltZSB0aGUgcHJvcGVydHkgaXMgaW4gdXNlLikKICBkZWxldGUgZXZlbnQuc2RrUHJvY2Vzc2luZ01ldGFkYXRhOwoKICBjb25zdCBldmVudEl0ZW0gPSBbeyB0eXBlOiBldmVudFR5cGUgfSwgZXZlbnRdOwogIHJldHVybiBjcmVhdGVFbnZlbG9wZShlbnZlbG9wZUhlYWRlcnMsIFtldmVudEl0ZW1dKTsKfQoKY29uc3QgU0VOVFJZX0FQSV9WRVJTSU9OID0gJzcnOwoKLyoqIFJldHVybnMgdGhlIHByZWZpeCB0byBjb25zdHJ1Y3QgU2VudHJ5IGluZ2VzdGlvbiBBUEkgZW5kcG9pbnRzLiAqLwpmdW5jdGlvbiBnZXRCYXNlQXBpRW5kcG9pbnQoZHNuKSB7CiAgY29uc3QgcHJvdG9jb2wgPSBkc24ucHJvdG9jb2wgPyBgJHtkc24ucHJvdG9jb2x9OmAgOiAnJzsKICBjb25zdCBwb3J0ID0gZHNuLnBvcnQgPyBgOiR7ZHNuLnBvcnR9YCA6ICcnOwogIHJldHVybiBgJHtwcm90b2NvbH0vLyR7ZHNuLmhvc3R9JHtwb3J0fSR7ZHNuLnBhdGggPyBgLyR7ZHNuLnBhdGh9YCA6ICcnfS9hcGkvYDsKfQoKLyoqIFJldHVybnMgdGhlIGluZ2VzdCBBUEkgZW5kcG9pbnQgZm9yIHRhcmdldC4gKi8KZnVuY3Rpb24gX2dldEluZ2VzdEVuZHBvaW50KGRzbikgewogIHJldHVybiBgJHtnZXRCYXNlQXBpRW5kcG9pbnQoZHNuKX0ke2Rzbi5wcm9qZWN0SWR9L2VudmVsb3BlL2A7Cn0KCi8qKiBSZXR1cm5zIGEgVVJMLWVuY29kZWQgc3RyaW5nIHdpdGggYXV0aCBjb25maWcgc3VpdGFibGUgZm9yIGEgcXVlcnkgc3RyaW5nLiAqLwpmdW5jdGlvbiBfZW5jb2RlZEF1dGgoZHNuLCBzZGtJbmZvKSB7CiAgcmV0dXJuIHVybEVuY29kZSh7CiAgICAvLyBXZSBzZW5kIG9ubHkgdGhlIG1pbmltdW0gc2V0IG9mIHJlcXVpcmVkIGluZm9ybWF0aW9uLiBTZWUKICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9nZXRzZW50cnkvc2VudHJ5LWphdmFzY3JpcHQvaXNzdWVzLzI1NzIuCiAgICBzZW50cnlfa2V5OiBkc24ucHVibGljS2V5LAogICAgc2VudHJ5X3ZlcnNpb246IFNFTlRSWV9BUElfVkVSU0lPTiwKICAgIC4uLihzZGtJbmZvICYmIHsgc2VudHJ5X2NsaWVudDogYCR7c2RrSW5mby5uYW1lfS8ke3Nka0luZm8udmVyc2lvbn1gIH0pLAogIH0pOwp9CgovKioKICogUmV0dXJucyB0aGUgZW52ZWxvcGUgZW5kcG9pbnQgVVJMIHdpdGggYXV0aCBpbiB0aGUgcXVlcnkgc3RyaW5nLgogKgogKiBTZW5kaW5nIGF1dGggYXMgcGFydCBvZiB0aGUgcXVlcnkgc3RyaW5nIGFuZCBub3QgYXMgY3VzdG9tIEhUVFAgaGVhZGVycyBhdm9pZHMgQ09SUyBwcmVmbGlnaHQgcmVxdWVzdHMuCiAqLwpmdW5jdGlvbiBnZXRFbnZlbG9wZUVuZHBvaW50V2l0aFVybEVuY29kZWRBdXRoKAogIGRzbiwKICAvLyBUT0RPICh2OCk6IFJlbW92ZSBgdHVubmVsT3JPcHRpb25zYCBpbiBmYXZvciBvZiBgb3B0aW9uc2AsIGFuZCB1c2UgdGhlIHN1YnN0aXR1dGUgY29kZSBiZWxvdwogIC8vIG9wdGlvbnM6IENsaWVudE9wdGlvbnMgPSB7fSBhcyBDbGllbnRPcHRpb25zLAogIHR1bm5lbE9yT3B0aW9ucyA9IHt9ICwKKSB7CiAgLy8gVE9ETyAodjgpOiBVc2UgdGhpcyBjb2RlIGluc3RlYWQKICAvLyBjb25zdCB7IHR1bm5lbCwgX21ldGFkYXRhID0ge30gfSA9IG9wdGlvbnM7CiAgLy8gcmV0dXJuIHR1bm5lbCA/IHR1bm5lbCA6IGAke19nZXRJbmdlc3RFbmRwb2ludChkc24pfT8ke19lbmNvZGVkQXV0aChkc24sIF9tZXRhZGF0YS5zZGspfWA7CgogIGNvbnN0IHR1bm5lbCA9IHR5cGVvZiB0dW5uZWxPck9wdGlvbnMgPT09ICdzdHJpbmcnID8gdHVubmVsT3JPcHRpb25zIDogdHVubmVsT3JPcHRpb25zLnR1bm5lbDsKICBjb25zdCBzZGtJbmZvID0KICAgIHR5cGVvZiB0dW5uZWxPck9wdGlvbnMgPT09ICdzdHJpbmcnIHx8ICF0dW5uZWxPck9wdGlvbnMuX21ldGFkYXRhID8gdW5kZWZpbmVkIDogdHVubmVsT3JPcHRpb25zLl9tZXRhZGF0YS5zZGs7CgogIHJldHVybiB0dW5uZWwgPyB0dW5uZWwgOiBgJHtfZ2V0SW5nZXN0RW5kcG9pbnQoZHNuKX0/JHtfZW5jb2RlZEF1dGgoZHNuLCBzZGtJbmZvKX1gOwp9Cgpjb25zdCBERUZBVUxUX1RSQU5TUE9SVF9CVUZGRVJfU0laRSA9IDMwOwoKLyoqCiAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgYSBTZW50cnkgYFRyYW5zcG9ydGAKICoKICogQHBhcmFtIG9wdGlvbnMKICogQHBhcmFtIG1ha2VSZXF1ZXN0CiAqLwpmdW5jdGlvbiBjcmVhdGVUcmFuc3BvcnQoCiAgb3B0aW9ucywKICBtYWtlUmVxdWVzdCwKICBidWZmZXIgPSBtYWtlUHJvbWlzZUJ1ZmZlcigKICAgIG9wdGlvbnMuYnVmZmVyU2l6ZSB8fCBERUZBVUxUX1RSQU5TUE9SVF9CVUZGRVJfU0laRSwKICApLAopIHsKICBsZXQgcmF0ZUxpbWl0cyA9IHt9OwogIGNvbnN0IGZsdXNoID0gKHRpbWVvdXQpID0+IGJ1ZmZlci5kcmFpbih0aW1lb3V0KTsKCiAgZnVuY3Rpb24gc2VuZChlbnZlbG9wZSkgewogICAgY29uc3QgZmlsdGVyZWRFbnZlbG9wZUl0ZW1zID0gW107CgogICAgLy8gRHJvcCByYXRlIGxpbWl0ZWQgaXRlbXMgZnJvbSBlbnZlbG9wZQogICAgZm9yRWFjaEVudmVsb3BlSXRlbShlbnZlbG9wZSwgKGl0ZW0sIHR5cGUpID0+IHsKICAgICAgY29uc3QgZGF0YUNhdGVnb3J5ID0gZW52ZWxvcGVJdGVtVHlwZVRvRGF0YUNhdGVnb3J5KHR5cGUpOwogICAgICBpZiAoaXNSYXRlTGltaXRlZChyYXRlTGltaXRzLCBkYXRhQ2F0ZWdvcnkpKSB7CiAgICAgICAgY29uc3QgZXZlbnQgPSBnZXRFdmVudEZvckVudmVsb3BlSXRlbShpdGVtLCB0eXBlKTsKICAgICAgICBvcHRpb25zLnJlY29yZERyb3BwZWRFdmVudCgncmF0ZWxpbWl0X2JhY2tvZmYnLCBkYXRhQ2F0ZWdvcnksIGV2ZW50KTsKICAgICAgfSBlbHNlIHsKICAgICAgICBmaWx0ZXJlZEVudmVsb3BlSXRlbXMucHVzaChpdGVtKTsKICAgICAgfQogICAgfSk7CgogICAgLy8gU2tpcCBzZW5kaW5nIGlmIGVudmVsb3BlIGlzIGVtcHR5IGFmdGVyIGZpbHRlcmluZyBvdXQgcmF0ZSBsaW1pdGVkIGV2ZW50cwogICAgaWYgKGZpbHRlcmVkRW52ZWxvcGVJdGVtcy5sZW5ndGggPT09IDApIHsKICAgICAgcmV0dXJuIHJlc29sdmVkU3luY1Byb21pc2UoKTsKICAgIH0KCiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueQogICAgY29uc3QgZmlsdGVyZWRFbnZlbG9wZSA9IGNyZWF0ZUVudmVsb3BlKGVudmVsb3BlWzBdLCBmaWx0ZXJlZEVudmVsb3BlSXRlbXMgKTsKCiAgICAvLyBDcmVhdGVzIGNsaWVudCByZXBvcnQgZm9yIGVhY2ggaXRlbSBpbiBhbiBlbnZlbG9wZQogICAgY29uc3QgcmVjb3JkRW52ZWxvcGVMb3NzID0gKHJlYXNvbikgPT4gewogICAgICBmb3JFYWNoRW52ZWxvcGVJdGVtKGZpbHRlcmVkRW52ZWxvcGUsIChpdGVtLCB0eXBlKSA9PiB7CiAgICAgICAgY29uc3QgZXZlbnQgPSBnZXRFdmVudEZvckVudmVsb3BlSXRlbShpdGVtLCB0eXBlKTsKICAgICAgICBvcHRpb25zLnJlY29yZERyb3BwZWRFdmVudChyZWFzb24sIGVudmVsb3BlSXRlbVR5cGVUb0RhdGFDYXRlZ29yeSh0eXBlKSwgZXZlbnQpOwogICAgICB9KTsKICAgIH07CgogICAgY29uc3QgcmVxdWVzdFRhc2sgPSAoKSA9PgogICAgICBtYWtlUmVxdWVzdCh7IGJvZHk6IHNlcmlhbGl6ZUVudmVsb3BlKGZpbHRlcmVkRW52ZWxvcGUsIG9wdGlvbnMudGV4dEVuY29kZXIpIH0pLnRoZW4oCiAgICAgICAgcmVzcG9uc2UgPT4gewogICAgICAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byB0aHJvdyBvbiBOT0sgcmVzcG9uc2VzLCBidXQgd2Ugd2FudCB0byBhdCBsZWFzdCBsb2cgdGhlbQogICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1c0NvZGUgIT09IHVuZGVmaW5lZCAmJiAocmVzcG9uc2Uuc3RhdHVzQ29kZSA8IDIwMCB8fCByZXNwb25zZS5zdGF0dXNDb2RlID49IDMwMCkpIHsKICAgICAgICAgICAgREVCVUdfQlVJTEQgJiYgbG9nZ2VyLndhcm4oYFNlbnRyeSByZXNwb25kZWQgd2l0aCBzdGF0dXMgY29kZSAke3Jlc3BvbnNlLnN0YXR1c0NvZGV9IHRvIHNlbnQgZXZlbnQuYCk7CiAgICAgICAgICB9CgogICAgICAgICAgcmF0ZUxpbWl0cyA9IHVwZGF0ZVJhdGVMaW1pdHMocmF0ZUxpbWl0cywgcmVzcG9uc2UpOwogICAgICAgICAgcmV0dXJuIHJlc3BvbnNlOwogICAgICAgIH0sCiAgICAgICAgZXJyb3IgPT4gewogICAgICAgICAgcmVjb3JkRW52ZWxvcGVMb3NzKCduZXR3b3JrX2Vycm9yJyk7CiAgICAgICAgICB0aHJvdyBlcnJvcjsKICAgICAgICB9LAogICAgICApOwoKICAgIHJldHVybiBidWZmZXIuYWRkKHJlcXVlc3RUYXNrKS50aGVuKAogICAgICByZXN1bHQgPT4gcmVzdWx0LAogICAgICBlcnJvciA9PiB7CiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgU2VudHJ5RXJyb3IpIHsKICAgICAgICAgIERFQlVHX0JVSUxEICYmIGxvZ2dlci5lcnJvcignU2tpcHBlZCBzZW5kaW5nIGV2ZW50IGJlY2F1c2UgYnVmZmVyIGlzIGZ1bGwuJyk7CiAgICAgICAgICByZWNvcmRFbnZlbG9wZUxvc3MoJ3F1ZXVlX292ZXJmbG93Jyk7CiAgICAgICAgICByZXR1cm4gcmVzb2x2ZWRTeW5jUHJvbWlzZSgpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aHJvdyBlcnJvcjsKICAgICAgICB9CiAgICAgIH0sCiAgICApOwogIH0KCiAgLy8gV2UgdXNlIHRoaXMgdG8gaWRlbnRpZmlmeSBpZiB0aGUgdHJhbnNwb3J0IGlzIHRoZSBiYXNlIHRyYW5zcG9ydAogIC8vIFRPRE8gKHY4KTogUmVtb3ZlIHRoaXMgYWdhaW4gYXMgd2UnbGwgbm8gbG9uZ2VyIG5lZWQgaXQKICBzZW5kLl9fc2VudHJ5X19iYXNlVHJhbnNwb3J0X18gPSB0cnVlOwoKICByZXR1cm4gewogICAgc2VuZCwKICAgIGZsdXNoLAogIH07Cn0KCmZ1bmN0aW9uIGdldEV2ZW50Rm9yRW52ZWxvcGVJdGVtKGl0ZW0sIHR5cGUpIHsKICBpZiAodHlwZSAhPT0gJ2V2ZW50JyAmJiB0eXBlICE9PSAndHJhbnNhY3Rpb24nKSB7CiAgICByZXR1cm4gdW5kZWZpbmVkOwogIH0KCiAgcmV0dXJuIEFycmF5LmlzQXJyYXkoaXRlbSkgPyAoaXRlbSApWzFdIDogdW5kZWZpbmVkOwp9CgovKiogbm9ybWFsaXplcyBXaW5kb3dzIHBhdGhzICovCmZ1bmN0aW9uIG5vcm1hbGl6ZVdpbmRvd3NQYXRoKHBhdGgpIHsKICByZXR1cm4gcGF0aAogICAgLnJlcGxhY2UoL15bQS1aXTovLCAnJykgLy8gcmVtb3ZlIFdpbmRvd3Mtc3R5bGUgcHJlZml4CiAgICAucmVwbGFjZSgvXFwvZywgJy8nKTsgLy8gcmVwbGFjZSBhbGwgYFxgIGluc3RhbmNlcyB3aXRoIGAvYAp9CgovKiogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgZ2V0cyB0aGUgbW9kdWxlIG5hbWUgZnJvbSBhIGZpbGVuYW1lICovCmZ1bmN0aW9uIGNyZWF0ZUdldE1vZHVsZUZyb21GaWxlbmFtZSgKICBiYXNlUGF0aCA9IHByb2Nlc3MuYXJndlsxXSA/IGRpcm5hbWUocHJvY2Vzcy5hcmd2WzFdKSA6IHByb2Nlc3MuY3dkKCksCiAgaXNXaW5kb3dzID0gc2VwID09PSAnXFwnLAopIHsKICBjb25zdCBub3JtYWxpemVkQmFzZSA9IGlzV2luZG93cyA/IG5vcm1hbGl6ZVdpbmRvd3NQYXRoKGJhc2VQYXRoKSA6IGJhc2VQYXRoOwoKICByZXR1cm4gKGZpbGVuYW1lKSA9PiB7CiAgICBpZiAoIWZpbGVuYW1lKSB7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICBjb25zdCBub3JtYWxpemVkRmlsZW5hbWUgPSBpc1dpbmRvd3MgPyBub3JtYWxpemVXaW5kb3dzUGF0aChmaWxlbmFtZSkgOiBmaWxlbmFtZTsKCiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0CiAgICBsZXQgeyBkaXIsIGJhc2U6IGZpbGUsIGV4dCB9ID0gcG9zaXgucGFyc2Uobm9ybWFsaXplZEZpbGVuYW1lKTsKCiAgICBpZiAoZXh0ID09PSAnLmpzJyB8fCBleHQgPT09ICcubWpzJyB8fCBleHQgPT09ICcuY2pzJykgewogICAgICBmaWxlID0gZmlsZS5zbGljZSgwLCBleHQubGVuZ3RoICogLTEpOwogICAgfQoKICAgIGlmICghZGlyKSB7CiAgICAgIC8vIE5vIGRpcm5hbWUgd2hhdHNvZXZlcgogICAgICBkaXIgPSAnLic7CiAgICB9CgogICAgY29uc3QgbiA9IGRpci5sYXN0SW5kZXhPZignL25vZGVfbW9kdWxlcycpOwogICAgaWYgKG4gPiAtMSkgewogICAgICByZXR1cm4gYCR7ZGlyLnNsaWNlKG4gKyAxNCkucmVwbGFjZSgvXC8vZywgJy4nKX06JHtmaWxlfWA7CiAgICB9CgogICAgLy8gTGV0J3Mgc2VlIGlmIGl0J3MgYSBwYXJ0IG9mIHRoZSBtYWluIG1vZHVsZQogICAgLy8gVG8gYmUgYSBwYXJ0IG9mIG1haW4gbW9kdWxlLCBpdCBoYXMgdG8gc2hhcmUgdGhlIHNhbWUgYmFzZQogICAgaWYgKGRpci5zdGFydHNXaXRoKG5vcm1hbGl6ZWRCYXNlKSkgewogICAgICBsZXQgbW9kdWxlTmFtZSA9IGRpci5zbGljZShub3JtYWxpemVkQmFzZS5sZW5ndGggKyAxKS5yZXBsYWNlKC9cLy9nLCAnLicpOwoKICAgICAgaWYgKG1vZHVsZU5hbWUpIHsKICAgICAgICBtb2R1bGVOYW1lICs9ICc6JzsKICAgICAgfQogICAgICBtb2R1bGVOYW1lICs9IGZpbGU7CgogICAgICByZXR1cm4gbW9kdWxlTmFtZTsKICAgIH0KCiAgICByZXR1cm4gZmlsZTsKICB9Owp9CgpmdW5jdGlvbiBfbnVsbGlzaENvYWxlc2NlJDIobGhzLCByaHNGbikgeyBpZiAobGhzICE9IG51bGwpIHsgcmV0dXJuIGxoczsgfSBlbHNlIHsgcmV0dXJuIHJoc0ZuKCk7IH0gfS8qKgogKiBUaGlzIGNvZGUgd2FzIG9yaWdpbmFsbHkgZm9ya2VkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL1Rvb1RhbGxOYXRlL3Byb3h5LWFnZW50cy90cmVlL2IxMzMyOTVmZDE2ZjY0NzU1NzhiNmIxNWJkOWI0ZTMzZWNiMGQwYjcKICogV2l0aCB0aGUgZm9sbG93aW5nIGxpY2VuY2U6CiAqCiAqIChUaGUgTUlUIExpY2Vuc2UpCiAqCiAqIENvcHlyaWdodCAoYykgMjAxMyBOYXRoYW4gUmFqbGljaCA8bmF0aGFuQHRvb3RhbGxuYXRlLm5ldD4qCiAqCiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZwogKiBhIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKICogJ1NvZnR3YXJlJyksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwogKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCiAqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0bwogKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KICogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOioKICoKICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUKICogaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuKgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgJ0FTIElTJywgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKICogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCiAqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKICogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKICogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKICogU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqLwoKY29uc3QgSU5URVJOQUwgPSBTeW1ib2woJ0FnZW50QmFzZUludGVybmFsU3RhdGUnKTsKCmNsYXNzIEFnZW50IGV4dGVuZHMgaHR0cC5BZ2VudCB7CgogIC8vIFNldCBieSBgaHR0cC5BZ2VudGAgLSBtaXNzaW5nIGZyb20gYEB0eXBlcy9ub2RlYAoKICBjb25zdHJ1Y3RvcihvcHRzKSB7CiAgICBzdXBlcihvcHRzKTsKICAgIHRoaXNbSU5URVJOQUxdID0ge307CiAgfQoKICAvKioKICAgKiBEZXRlcm1pbmUgd2hldGhlciB0aGlzIGlzIGFuIGBodHRwYCBvciBgaHR0cHNgIHJlcXVlc3QuCiAgICovCiAgaXNTZWN1cmVFbmRwb2ludChvcHRpb25zKSB7CiAgICBpZiAob3B0aW9ucykgewogICAgICAvLyBGaXJzdCBjaGVjayB0aGUgYHNlY3VyZUVuZHBvaW50YCBwcm9wZXJ0eSBleHBsaWNpdGx5LCBzaW5jZSB0aGlzCiAgICAgIC8vIG1lYW5zIHRoYXQgYSBwYXJlbnQgYEFnZW50YCBpcyAicGFzc2luZyB0aHJvdWdoIiB0byB0aGlzIGluc3RhbmNlLgogICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSwgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzCiAgICAgIGlmICh0eXBlb2YgKG9wdGlvbnMgKS5zZWN1cmVFbmRwb2ludCA9PT0gJ2Jvb2xlYW4nKSB7CiAgICAgICAgcmV0dXJuIG9wdGlvbnMuc2VjdXJlRW5kcG9pbnQ7CiAgICAgIH0KCiAgICAgIC8vIElmIG5vIGV4cGxpY2l0IGBzZWN1cmVgIGVuZHBvaW50LCBjaGVjayBpZiBgcHJvdG9jb2xgIHByb3BlcnR5IGlzCiAgICAgIC8vIHNldC4gVGhpcyB3aWxsIHVzdWFsbHkgYmUgdGhlIGNhc2Ugc2luY2UgdXNpbmcgYSBmdWxsIHN0cmluZyBVUkwKICAgICAgLy8gb3IgYFVSTGAgaW5zdGFuY2Ugc2hvdWxkIGJlIHRoZSBtb3N0IGNvbW1vbiB1c2FnZS4KICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLnByb3RvY29sID09PSAnc3RyaW5nJykgewogICAgICAgIHJldHVybiBvcHRpb25zLnByb3RvY29sID09PSAnaHR0cHM6JzsKICAgICAgfQogICAgfQoKICAgIC8vIEZpbmFsbHksIGlmIG5vIGBwcm90b2NvbGAgcHJvcGVydHkgd2FzIHNldCwgdGhlbiBmYWxsIGJhY2sgdG8KICAgIC8vIGNoZWNraW5nIHRoZSBzdGFjayB0cmFjZSBvZiB0aGUgY3VycmVudCBjYWxsIHN0YWNrLCBhbmQgdHJ5IHRvCiAgICAvLyBkZXRlY3QgdGhlICJodHRwcyIgbW9kdWxlLgogICAgY29uc3QgeyBzdGFjayB9ID0gbmV3IEVycm9yKCk7CiAgICBpZiAodHlwZW9mIHN0YWNrICE9PSAnc3RyaW5nJykgcmV0dXJuIGZhbHNlOwogICAgcmV0dXJuIHN0YWNrLnNwbGl0KCdcbicpLnNvbWUobCA9PiBsLmluZGV4T2YoJyhodHRwcy5qczonKSAhPT0gLTEgfHwgbC5pbmRleE9mKCdub2RlOmh0dHBzOicpICE9PSAtMSk7CiAgfQoKICBjcmVhdGVTb2NrZXQocmVxLCBvcHRpb25zLCBjYikgewogICAgY29uc3QgY29ubmVjdE9wdHMgPSB7CiAgICAgIC4uLm9wdGlvbnMsCiAgICAgIHNlY3VyZUVuZHBvaW50OiB0aGlzLmlzU2VjdXJlRW5kcG9pbnQob3B0aW9ucyksCiAgICB9OwogICAgUHJvbWlzZS5yZXNvbHZlKCkKICAgICAgLnRoZW4oKCkgPT4gdGhpcy5jb25uZWN0KHJlcSwgY29ubmVjdE9wdHMpKQogICAgICAudGhlbihzb2NrZXQgPT4gewogICAgICAgIGlmIChzb2NrZXQgaW5zdGFuY2VvZiBodHRwLkFnZW50KSB7CiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGBhZGRSZXF1ZXN0KClgIGlzbid0IGRlZmluZWQgaW4gYEB0eXBlcy9ub2RlYAogICAgICAgICAgcmV0dXJuIHNvY2tldC5hZGRSZXF1ZXN0KHJlcSwgY29ubmVjdE9wdHMpOwogICAgICAgIH0KICAgICAgICB0aGlzW0lOVEVSTkFMXS5jdXJyZW50U29ja2V0ID0gc29ja2V0OwogICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgYGNyZWF0ZVNvY2tldCgpYCBpc24ndCBkZWZpbmVkIGluIGBAdHlwZXMvbm9kZWAKICAgICAgICBzdXBlci5jcmVhdGVTb2NrZXQocmVxLCBvcHRpb25zLCBjYik7CiAgICAgIH0sIGNiKTsKICB9CgogIGNyZWF0ZUNvbm5lY3Rpb24oKSB7CiAgICBjb25zdCBzb2NrZXQgPSB0aGlzW0lOVEVSTkFMXS5jdXJyZW50U29ja2V0OwogICAgdGhpc1tJTlRFUk5BTF0uY3VycmVudFNvY2tldCA9IHVuZGVmaW5lZDsKICAgIGlmICghc29ja2V0KSB7CiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gc29ja2V0IHdhcyByZXR1cm5lZCBpbiB0aGUgYGNvbm5lY3QoKWAgZnVuY3Rpb24nKTsKICAgIH0KICAgIHJldHVybiBzb2NrZXQ7CiAgfQoKICBnZXQgZGVmYXVsdFBvcnQoKSB7CiAgICByZXR1cm4gX251bGxpc2hDb2FsZXNjZSQyKHRoaXNbSU5URVJOQUxdLmRlZmF1bHRQb3J0LCAoKSA9PiAoICh0aGlzLnByb3RvY29sID09PSAnaHR0cHM6JyA/IDQ0MyA6IDgwKSkpOwogIH0KCiAgc2V0IGRlZmF1bHRQb3J0KHYpIHsKICAgIGlmICh0aGlzW0lOVEVSTkFMXSkgewogICAgICB0aGlzW0lOVEVSTkFMXS5kZWZhdWx0UG9ydCA9IHY7CiAgICB9CiAgfQoKICBnZXQgcHJvdG9jb2woKSB7CiAgICByZXR1cm4gX251bGxpc2hDb2FsZXNjZSQyKHRoaXNbSU5URVJOQUxdLnByb3RvY29sLCAoKSA9PiAoICh0aGlzLmlzU2VjdXJlRW5kcG9pbnQoKSA/ICdodHRwczonIDogJ2h0dHA6JykpKTsKICB9CgogIHNldCBwcm90b2NvbCh2KSB7CiAgICBpZiAodGhpc1tJTlRFUk5BTF0pIHsKICAgICAgdGhpc1tJTlRFUk5BTF0ucHJvdG9jb2wgPSB2OwogICAgfQogIH0KfQoKZnVuY3Rpb24gZGVidWckMSguLi5hcmdzKSB7CiAgbG9nZ2VyLmxvZygnW2h0dHBzLXByb3h5LWFnZW50OnBhcnNlLXByb3h5LXJlc3BvbnNlXScsIC4uLmFyZ3MpOwp9CgpmdW5jdGlvbiBwYXJzZVByb3h5UmVzcG9uc2Uoc29ja2V0KSB7CiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKICAgIC8vIHdlIG5lZWQgdG8gYnVmZmVyIGFueSBIVFRQIHRyYWZmaWMgdGhhdCBoYXBwZW5zIHdpdGggdGhlIHByb3h5IGJlZm9yZSB3ZSBnZXQKICAgIC8vIHRoZSBDT05ORUNUIHJlc3BvbnNlLCBzbyB0aGF0IGlmIHRoZSByZXNwb25zZSBpcyBhbnl0aGluZyBvdGhlciB0aGFuIGFuICIyMDAiCiAgICAvLyByZXNwb25zZSBjb2RlLCB0aGVuIHdlIGNhbiByZS1wbGF5IHRoZSAiZGF0YSIgZXZlbnRzIG9uIHRoZSBzb2NrZXQgb25jZSB0aGUKICAgIC8vIEhUVFAgcGFyc2VyIGlzIGhvb2tlZCB1cC4uLgogICAgbGV0IGJ1ZmZlcnNMZW5ndGggPSAwOwogICAgY29uc3QgYnVmZmVycyA9IFtdOwoKICAgIGZ1bmN0aW9uIHJlYWQoKSB7CiAgICAgIGNvbnN0IGIgPSBzb2NrZXQucmVhZCgpOwogICAgICBpZiAoYikgb25kYXRhKGIpOwogICAgICBlbHNlIHNvY2tldC5vbmNlKCdyZWFkYWJsZScsIHJlYWQpOwogICAgfQoKICAgIGZ1bmN0aW9uIGNsZWFudXAoKSB7CiAgICAgIHNvY2tldC5yZW1vdmVMaXN0ZW5lcignZW5kJywgb25lbmQpOwogICAgICBzb2NrZXQucmVtb3ZlTGlzdGVuZXIoJ2Vycm9yJywgb25lcnJvcik7CiAgICAgIHNvY2tldC5yZW1vdmVMaXN0ZW5lcigncmVhZGFibGUnLCByZWFkKTsKICAgIH0KCiAgICBmdW5jdGlvbiBvbmVuZCgpIHsKICAgICAgY2xlYW51cCgpOwogICAgICBkZWJ1ZyQxKCdvbmVuZCcpOwogICAgICByZWplY3QobmV3IEVycm9yKCdQcm94eSBjb25uZWN0aW9uIGVuZGVkIGJlZm9yZSByZWNlaXZpbmcgQ09OTkVDVCByZXNwb25zZScpKTsKICAgIH0KCiAgICBmdW5jdGlvbiBvbmVycm9yKGVycikgewogICAgICBjbGVhbnVwKCk7CiAgICAgIGRlYnVnJDEoJ29uZXJyb3IgJW8nLCBlcnIpOwogICAgICByZWplY3QoZXJyKTsKICAgIH0KCiAgICBmdW5jdGlvbiBvbmRhdGEoYikgewogICAgICBidWZmZXJzLnB1c2goYik7CiAgICAgIGJ1ZmZlcnNMZW5ndGggKz0gYi5sZW5ndGg7CgogICAgICBjb25zdCBidWZmZXJlZCA9IEJ1ZmZlci5jb25jYXQoYnVmZmVycywgYnVmZmVyc0xlbmd0aCk7CiAgICAgIGNvbnN0IGVuZE9mSGVhZGVycyA9IGJ1ZmZlcmVkLmluZGV4T2YoJ1xyXG5cclxuJyk7CgogICAgICBpZiAoZW5kT2ZIZWFkZXJzID09PSAtMSkgewogICAgICAgIC8vIGtlZXAgYnVmZmVyaW5nCiAgICAgICAgZGVidWckMSgnaGF2ZSBub3QgcmVjZWl2ZWQgZW5kIG9mIEhUVFAgaGVhZGVycyB5ZXQuLi4nKTsKICAgICAgICByZWFkKCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBjb25zdCBoZWFkZXJQYXJ0cyA9IGJ1ZmZlcmVkLnNsaWNlKDAsIGVuZE9mSGVhZGVycykudG9TdHJpbmcoJ2FzY2lpJykuc3BsaXQoJ1xyXG4nKTsKICAgICAgY29uc3QgZmlyc3RMaW5lID0gaGVhZGVyUGFydHMuc2hpZnQoKTsKICAgICAgaWYgKCFmaXJzdExpbmUpIHsKICAgICAgICBzb2NrZXQuZGVzdHJveSgpOwogICAgICAgIHJldHVybiByZWplY3QobmV3IEVycm9yKCdObyBoZWFkZXIgcmVjZWl2ZWQgZnJvbSBwcm94eSBDT05ORUNUIHJlc3BvbnNlJykpOwogICAgICB9CiAgICAgIGNvbnN0IGZpcnN0TGluZVBhcnRzID0gZmlyc3RMaW5lLnNwbGl0KCcgJyk7CiAgICAgIGNvbnN0IHN0YXR1c0NvZGUgPSArZmlyc3RMaW5lUGFydHNbMV07CiAgICAgIGNvbnN0IHN0YXR1c1RleHQgPSBmaXJzdExpbmVQYXJ0cy5zbGljZSgyKS5qb2luKCcgJyk7CiAgICAgIGNvbnN0IGhlYWRlcnMgPSB7fTsKICAgICAgZm9yIChjb25zdCBoZWFkZXIgb2YgaGVhZGVyUGFydHMpIHsKICAgICAgICBpZiAoIWhlYWRlcikgY29udGludWU7CiAgICAgICAgY29uc3QgZmlyc3RDb2xvbiA9IGhlYWRlci5pbmRleE9mKCc6Jyk7CiAgICAgICAgaWYgKGZpcnN0Q29sb24gPT09IC0xKSB7CiAgICAgICAgICBzb2NrZXQuZGVzdHJveSgpOwogICAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRXJyb3IoYEludmFsaWQgaGVhZGVyIGZyb20gcHJveHkgQ09OTkVDVCByZXNwb25zZTogIiR7aGVhZGVyfSJgKSk7CiAgICAgICAgfQogICAgICAgIGNvbnN0IGtleSA9IGhlYWRlci5zbGljZSgwLCBmaXJzdENvbG9uKS50b0xvd2VyQ2FzZSgpOwogICAgICAgIGNvbnN0IHZhbHVlID0gaGVhZGVyLnNsaWNlKGZpcnN0Q29sb24gKyAxKS50cmltU3RhcnQoKTsKICAgICAgICBjb25zdCBjdXJyZW50ID0gaGVhZGVyc1trZXldOwogICAgICAgIGlmICh0eXBlb2YgY3VycmVudCA9PT0gJ3N0cmluZycpIHsKICAgICAgICAgIGhlYWRlcnNba2V5XSA9IFtjdXJyZW50LCB2YWx1ZV07CiAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGN1cnJlbnQpKSB7CiAgICAgICAgICBjdXJyZW50LnB1c2godmFsdWUpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBoZWFkZXJzW2tleV0gPSB2YWx1ZTsKICAgICAgICB9CiAgICAgIH0KICAgICAgZGVidWckMSgnZ290IHByb3h5IHNlcnZlciByZXNwb25zZTogJW8gJW8nLCBmaXJzdExpbmUsIGhlYWRlcnMpOwogICAgICBjbGVhbnVwKCk7CiAgICAgIHJlc29sdmUoewogICAgICAgIGNvbm5lY3Q6IHsKICAgICAgICAgIHN0YXR1c0NvZGUsCiAgICAgICAgICBzdGF0dXNUZXh0LAogICAgICAgICAgaGVhZGVycywKICAgICAgICB9LAogICAgICAgIGJ1ZmZlcmVkLAogICAgICB9KTsKICAgIH0KCiAgICBzb2NrZXQub24oJ2Vycm9yJywgb25lcnJvcik7CiAgICBzb2NrZXQub24oJ2VuZCcsIG9uZW5kKTsKCiAgICByZWFkKCk7CiAgfSk7Cn0KCmZ1bmN0aW9uIF9udWxsaXNoQ29hbGVzY2UkMShsaHMsIHJoc0ZuKSB7IGlmIChsaHMgIT0gbnVsbCkgeyByZXR1cm4gbGhzOyB9IGVsc2UgeyByZXR1cm4gcmhzRm4oKTsgfSB9IGZ1bmN0aW9uIF9vcHRpb25hbENoYWluJDEob3BzKSB7IGxldCBsYXN0QWNjZXNzTEhTID0gdW5kZWZpbmVkOyBsZXQgdmFsdWUgPSBvcHNbMF07IGxldCBpID0gMTsgd2hpbGUgKGkgPCBvcHMubGVuZ3RoKSB7IGNvbnN0IG9wID0gb3BzW2ldOyBjb25zdCBmbiA9IG9wc1tpICsgMV07IGkgKz0gMjsgaWYgKChvcCA9PT0gJ29wdGlvbmFsQWNjZXNzJyB8fCBvcCA9PT0gJ29wdGlvbmFsQ2FsbCcpICYmIHZhbHVlID09IG51bGwpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfSBpZiAob3AgPT09ICdhY2Nlc3MnIHx8IG9wID09PSAnb3B0aW9uYWxBY2Nlc3MnKSB7IGxhc3RBY2Nlc3NMSFMgPSB2YWx1ZTsgdmFsdWUgPSBmbih2YWx1ZSk7IH0gZWxzZSBpZiAob3AgPT09ICdjYWxsJyB8fCBvcCA9PT0gJ29wdGlvbmFsQ2FsbCcpIHsgdmFsdWUgPSBmbigoLi4uYXJncykgPT4gdmFsdWUuY2FsbChsYXN0QWNjZXNzTEhTLCAuLi5hcmdzKSk7IGxhc3RBY2Nlc3NMSFMgPSB1bmRlZmluZWQ7IH0gfSByZXR1cm4gdmFsdWU7IH0KCmZ1bmN0aW9uIGRlYnVnKC4uLmFyZ3MpIHsKICBsb2dnZXIubG9nKCdbaHR0cHMtcHJveHktYWdlbnRdJywgLi4uYXJncyk7Cn0KCi8qKgogKiBUaGUgYEh0dHBzUHJveHlBZ2VudGAgaW1wbGVtZW50cyBhbiBIVFRQIEFnZW50IHN1YmNsYXNzIHRoYXQgY29ubmVjdHMgdG8KICogdGhlIHNwZWNpZmllZCAiSFRUUChzKSBwcm94eSBzZXJ2ZXIiIGluIG9yZGVyIHRvIHByb3h5IEhUVFBTIHJlcXVlc3RzLgogKgogKiBPdXRnb2luZyBIVFRQIHJlcXVlc3RzIGFyZSBmaXJzdCB0dW5uZWxlZCB0aHJvdWdoIHRoZSBwcm94eSBzZXJ2ZXIgdXNpbmcgdGhlCiAqIGBDT05ORUNUYCBIVFRQIHJlcXVlc3QgbWV0aG9kIHRvIGVzdGFibGlzaCBhIGNvbm5lY3Rpb24gdG8gdGhlIHByb3h5IHNlcnZlciwKICogYW5kIHRoZW4gdGhlIHByb3h5IHNlcnZlciBjb25uZWN0cyB0byB0aGUgZGVzdGluYXRpb24gdGFyZ2V0IGFuZCBpc3N1ZXMgdGhlCiAqIEhUVFAgcmVxdWVzdCBmcm9tIHRoZSBwcm94eSBzZXJ2ZXIuCiAqCiAqIGBodHRwczpgIHJlcXVlc3RzIGhhdmUgdGhlaXIgc29ja2V0IGNvbm5lY3Rpb24gdXBncmFkZWQgdG8gVExTIG9uY2UKICogdGhlIGNvbm5lY3Rpb24gdG8gdGhlIHByb3h5IHNlcnZlciBoYXMgYmVlbiBlc3RhYmxpc2hlZC4KICovCmNsYXNzIEh0dHBzUHJveHlBZ2VudCBleHRlbmRzIEFnZW50IHsKICBzdGF0aWMgX19pbml0U3RhdGljKCkge3RoaXMucHJvdG9jb2xzID0gWydodHRwJywgJ2h0dHBzJ107IH0KCiAgY29uc3RydWN0b3IocHJveHksIG9wdHMpIHsKICAgIHN1cGVyKG9wdHMpOwogICAgdGhpcy5vcHRpb25zID0ge307CiAgICB0aGlzLnByb3h5ID0gdHlwZW9mIHByb3h5ID09PSAnc3RyaW5nJyA/IG5ldyBVUkwocHJveHkpIDogcHJveHk7CiAgICB0aGlzLnByb3h5SGVhZGVycyA9IF9udWxsaXNoQ29hbGVzY2UkMShfb3B0aW9uYWxDaGFpbiQxKFtvcHRzLCAnb3B0aW9uYWxBY2Nlc3MnLCBfMiA9PiBfMi5oZWFkZXJzXSksICgpID0+ICgge30pKTsKICAgIGRlYnVnKCdDcmVhdGluZyBuZXcgSHR0cHNQcm94eUFnZW50IGluc3RhbmNlOiAlbycsIHRoaXMucHJveHkuaHJlZik7CgogICAgLy8gVHJpbSBvZmYgdGhlIGJyYWNrZXRzIGZyb20gSVB2NiBhZGRyZXNzZXMKICAgIGNvbnN0IGhvc3QgPSAodGhpcy5wcm94eS5ob3N0bmFtZSB8fCB0aGlzLnByb3h5Lmhvc3QpLnJlcGxhY2UoL15cW3xcXSQvZywgJycpOwogICAgY29uc3QgcG9ydCA9IHRoaXMucHJveHkucG9ydCA/IHBhcnNlSW50KHRoaXMucHJveHkucG9ydCwgMTApIDogdGhpcy5wcm94eS5wcm90b2NvbCA9PT0gJ2h0dHBzOicgPyA0NDMgOiA4MDsKICAgIHRoaXMuY29ubmVjdE9wdHMgPSB7CiAgICAgIC8vIEF0dGVtcHQgdG8gbmVnb3RpYXRlIGh0dHAvMS4xIGZvciBwcm94eSBzZXJ2ZXJzIHRoYXQgc3VwcG9ydCBodHRwLzIKICAgICAgQUxQTlByb3RvY29sczogWydodHRwLzEuMSddLAogICAgICAuLi4ob3B0cyA/IG9taXQob3B0cywgJ2hlYWRlcnMnKSA6IG51bGwpLAogICAgICBob3N0LAogICAgICBwb3J0LAogICAgfTsKICB9CgogIC8qKgogICAqIENhbGxlZCB3aGVuIHRoZSBub2RlLWNvcmUgSFRUUCBjbGllbnQgbGlicmFyeSBpcyBjcmVhdGluZyBhCiAgICogbmV3IEhUVFAgcmVxdWVzdC4KICAgKi8KICBhc3luYyBjb25uZWN0KHJlcSwgb3B0cykgewogICAgY29uc3QgeyBwcm94eSB9ID0gdGhpczsKCiAgICBpZiAoIW9wdHMuaG9zdCkgewogICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdObyAiaG9zdCIgcHJvdmlkZWQnKTsKICAgIH0KCiAgICAvLyBDcmVhdGUgYSBzb2NrZXQgY29ubmVjdGlvbiB0byB0aGUgcHJveHkgc2VydmVyLgogICAgbGV0IHNvY2tldDsKICAgIGlmIChwcm94eS5wcm90b2NvbCA9PT0gJ2h0dHBzOicpIHsKICAgICAgZGVidWcoJ0NyZWF0aW5nIGB0bHMuU29ja2V0YDogJW8nLCB0aGlzLmNvbm5lY3RPcHRzKTsKICAgICAgY29uc3Qgc2VydmVybmFtZSA9IHRoaXMuY29ubmVjdE9wdHMuc2VydmVybmFtZSB8fCB0aGlzLmNvbm5lY3RPcHRzLmhvc3Q7CiAgICAgIHNvY2tldCA9IHRscy5jb25uZWN0KHsKICAgICAgICAuLi50aGlzLmNvbm5lY3RPcHRzLAogICAgICAgIHNlcnZlcm5hbWU6IHNlcnZlcm5hbWUgJiYgbmV0LmlzSVAoc2VydmVybmFtZSkgPyB1bmRlZmluZWQgOiBzZXJ2ZXJuYW1lLAogICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgIGRlYnVnKCdDcmVhdGluZyBgbmV0LlNvY2tldGA6ICVvJywgdGhpcy5jb25uZWN0T3B0cyk7CiAgICAgIHNvY2tldCA9IG5ldC5jb25uZWN0KHRoaXMuY29ubmVjdE9wdHMpOwogICAgfQoKICAgIGNvbnN0IGhlYWRlcnMgPQogICAgICB0eXBlb2YgdGhpcy5wcm94eUhlYWRlcnMgPT09ICdmdW5jdGlvbicgPyB0aGlzLnByb3h5SGVhZGVycygpIDogeyAuLi50aGlzLnByb3h5SGVhZGVycyB9OwogICAgY29uc3QgaG9zdCA9IG5ldC5pc0lQdjYob3B0cy5ob3N0KSA/IGBbJHtvcHRzLmhvc3R9XWAgOiBvcHRzLmhvc3Q7CiAgICBsZXQgcGF5bG9hZCA9IGBDT05ORUNUICR7aG9zdH06JHtvcHRzLnBvcnR9IEhUVFAvMS4xXHJcbmA7CgogICAgLy8gSW5qZWN0IHRoZSBgUHJveHktQXV0aG9yaXphdGlvbmAgaGVhZGVyIGlmIG5lY2Vzc2FyeS4KICAgIGlmIChwcm94eS51c2VybmFtZSB8fCBwcm94eS5wYXNzd29yZCkgewogICAgICBjb25zdCBhdXRoID0gYCR7ZGVjb2RlVVJJQ29tcG9uZW50KHByb3h5LnVzZXJuYW1lKX06JHtkZWNvZGVVUklDb21wb25lbnQocHJveHkucGFzc3dvcmQpfWA7CiAgICAgIGhlYWRlcnNbJ1Byb3h5LUF1dGhvcml6YXRpb24nXSA9IGBCYXNpYyAke0J1ZmZlci5mcm9tKGF1dGgpLnRvU3RyaW5nKCdiYXNlNjQnKX1gOwogICAgfQoKICAgIGhlYWRlcnMuSG9zdCA9IGAke2hvc3R9OiR7b3B0cy5wb3J0fWA7CgogICAgaWYgKCFoZWFkZXJzWydQcm94eS1Db25uZWN0aW9uJ10pIHsKICAgICAgaGVhZGVyc1snUHJveHktQ29ubmVjdGlvbiddID0gdGhpcy5rZWVwQWxpdmUgPyAnS2VlcC1BbGl2ZScgOiAnY2xvc2UnOwogICAgfQogICAgZm9yIChjb25zdCBuYW1lIG9mIE9iamVjdC5rZXlzKGhlYWRlcnMpKSB7CiAgICAgIHBheWxvYWQgKz0gYCR7bmFtZX06ICR7aGVhZGVyc1tuYW1lXX1cclxuYDsKICAgIH0KCiAgICBjb25zdCBwcm94eVJlc3BvbnNlUHJvbWlzZSA9IHBhcnNlUHJveHlSZXNwb25zZShzb2NrZXQpOwoKICAgIHNvY2tldC53cml0ZShgJHtwYXlsb2FkfVxyXG5gKTsKCiAgICBjb25zdCB7IGNvbm5lY3QsIGJ1ZmZlcmVkIH0gPSBhd2FpdCBwcm94eVJlc3BvbnNlUHJvbWlzZTsKICAgIHJlcS5lbWl0KCdwcm94eUNvbm5lY3QnLCBjb25uZWN0KTsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnQKICAgIC8vIEB0cy1pZ25vcmUgTm90IEV2ZW50RW1pdHRlciBpbiBOb2RlIHR5cGVzCiAgICB0aGlzLmVtaXQoJ3Byb3h5Q29ubmVjdCcsIGNvbm5lY3QsIHJlcSk7CgogICAgaWYgKGNvbm5lY3Quc3RhdHVzQ29kZSA9PT0gMjAwKSB7CiAgICAgIHJlcS5vbmNlKCdzb2NrZXQnLCByZXN1bWUpOwoKICAgICAgaWYgKG9wdHMuc2VjdXJlRW5kcG9pbnQpIHsKICAgICAgICAvLyBUaGUgcHJveHkgaXMgY29ubmVjdGluZyB0byBhIFRMUyBzZXJ2ZXIsIHNvIHVwZ3JhZGUKICAgICAgICAvLyB0aGlzIHNvY2tldCBjb25uZWN0aW9uIHRvIGEgVExTIGNvbm5lY3Rpb24uCiAgICAgICAgZGVidWcoJ1VwZ3JhZGluZyBzb2NrZXQgY29ubmVjdGlvbiB0byBUTFMnKTsKICAgICAgICBjb25zdCBzZXJ2ZXJuYW1lID0gb3B0cy5zZXJ2ZXJuYW1lIHx8IG9wdHMuaG9zdDsKICAgICAgICByZXR1cm4gdGxzLmNvbm5lY3QoewogICAgICAgICAgLi4ub21pdChvcHRzLCAnaG9zdCcsICdwYXRoJywgJ3BvcnQnKSwKICAgICAgICAgIHNvY2tldCwKICAgICAgICAgIHNlcnZlcm5hbWU6IG5ldC5pc0lQKHNlcnZlcm5hbWUpID8gdW5kZWZpbmVkIDogc2VydmVybmFtZSwKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgcmV0dXJuIHNvY2tldDsKICAgIH0KCiAgICAvLyBTb21lIG90aGVyIHN0YXR1cyBjb2RlIHRoYXQncyBub3QgMjAwLi4uIG5lZWQgdG8gcmUtcGxheSB0aGUgSFRUUAogICAgLy8gaGVhZGVyICJkYXRhIiBldmVudHMgb250byB0aGUgc29ja2V0IG9uY2UgdGhlIEhUVFAgbWFjaGluZXJ5IGlzCiAgICAvLyBhdHRhY2hlZCBzbyB0aGF0IHRoZSBub2RlIGNvcmUgYGh0dHBgIGNhbiBwYXJzZSBhbmQgaGFuZGxlIHRoZQogICAgLy8gZXJyb3Igc3RhdHVzIGNvZGUuCgogICAgLy8gQ2xvc2UgdGhlIG9yaWdpbmFsIHNvY2tldCwgYW5kIGEgbmV3ICJmYWtlIiBzb2NrZXQgaXMgcmV0dXJuZWQKICAgIC8vIGluc3RlYWQsIHNvIHRoYXQgdGhlIHByb3h5IGRvZXNuJ3QgZ2V0IHRoZSBIVFRQIHJlcXVlc3QKICAgIC8vIHdyaXR0ZW4gdG8gaXQgKHdoaWNoIG1heSBjb250YWluIGBBdXRob3JpemF0aW9uYCBoZWFkZXJzIG9yIG90aGVyCiAgICAvLyBzZW5zaXRpdmUgZGF0YSkuCiAgICAvLwogICAgLy8gU2VlOiBodHRwczovL2hhY2tlcm9uZS5jb20vcmVwb3J0cy81NDE1MDIKICAgIHNvY2tldC5kZXN0cm95KCk7CgogICAgY29uc3QgZmFrZVNvY2tldCA9IG5ldyBuZXQuU29ja2V0KHsgd3JpdGFibGU6IGZhbHNlIH0pOwogICAgZmFrZVNvY2tldC5yZWFkYWJsZSA9IHRydWU7CgogICAgLy8gTmVlZCB0byB3YWl0IGZvciB0aGUgInNvY2tldCIgZXZlbnQgdG8gcmUtcGxheSB0aGUgImRhdGEiIGV2ZW50cy4KICAgIHJlcS5vbmNlKCdzb2NrZXQnLCAocykgPT4gewogICAgICBkZWJ1ZygnUmVwbGF5aW5nIHByb3h5IGJ1ZmZlciBmb3IgZmFpbGVkIHJlcXVlc3QnKTsKICAgICAgLy8gUmVwbGF5IHRoZSAiYnVmZmVyZWQiIEJ1ZmZlciBvbnRvIHRoZSBmYWtlIGBzb2NrZXRgLCBzaW5jZSBhdAogICAgICAvLyB0aGlzIHBvaW50IHRoZSBIVFRQIG1vZHVsZSBtYWNoaW5lcnkgaGFzIGJlZW4gaG9va2VkIHVwIGZvcgogICAgICAvLyB0aGUgdXNlci4KICAgICAgcy5wdXNoKGJ1ZmZlcmVkKTsKICAgICAgcy5wdXNoKG51bGwpOwogICAgfSk7CgogICAgcmV0dXJuIGZha2VTb2NrZXQ7CiAgfQp9IEh0dHBzUHJveHlBZ2VudC5fX2luaXRTdGF0aWMoKTsKCmZ1bmN0aW9uIHJlc3VtZShzb2NrZXQpIHsKICBzb2NrZXQucmVzdW1lKCk7Cn0KCmZ1bmN0aW9uIG9taXQoCiAgb2JqLAogIC4uLmtleXMKKQoKIHsKICBjb25zdCByZXQgPSB7fQoKOwogIGxldCBrZXk7CiAgZm9yIChrZXkgaW4gb2JqKSB7CiAgICBpZiAoIWtleXMuaW5jbHVkZXMoa2V5KSkgewogICAgICByZXRba2V5XSA9IG9ialtrZXldOwogICAgfQogIH0KICByZXR1cm4gcmV0Owp9CgpmdW5jdGlvbiBfbnVsbGlzaENvYWxlc2NlKGxocywgcmhzRm4pIHsgaWYgKGxocyAhPSBudWxsKSB7IHJldHVybiBsaHM7IH0gZWxzZSB7IHJldHVybiByaHNGbigpOyB9IH0KLy8gRXN0aW1hdGVkIG1heGltdW0gc2l6ZSBmb3IgcmVhc29uYWJsZSBzdGFuZGFsb25lIGV2ZW50CmNvbnN0IEdaSVBfVEhSRVNIT0xEID0gMTAyNCAqIDMyOwoKLyoqCiAqIEdldHMgYSBzdHJlYW0gZnJvbSBhIFVpbnQ4QXJyYXkgb3Igc3RyaW5nCiAqIFJlYWRhYmxlLmZyb20gaXMgaWRlYWwgYnV0IHdhcyBhZGRlZCBpbiBub2RlLmpzIHYxMi4zLjAgYW5kIHYxMC4xNy4wCiAqLwpmdW5jdGlvbiBzdHJlYW1Gcm9tQm9keShib2R5KSB7CiAgcmV0dXJuIG5ldyBSZWFkYWJsZSh7CiAgICByZWFkKCkgewogICAgICB0aGlzLnB1c2goYm9keSk7CiAgICAgIHRoaXMucHVzaChudWxsKTsKICAgIH0sCiAgfSk7Cn0KCi8qKgogKiBDcmVhdGVzIGEgVHJhbnNwb3J0IHRoYXQgdXNlcyBuYXRpdmUgdGhlIG5hdGl2ZSAnaHR0cCcgYW5kICdodHRwcycgbW9kdWxlcyB0byBzZW5kIGV2ZW50cyB0byBTZW50cnkuCiAqLwpmdW5jdGlvbiBtYWtlTm9kZVRyYW5zcG9ydChvcHRpb25zKSB7CiAgbGV0IHVybFNlZ21lbnRzOwoKICB0cnkgewogICAgdXJsU2VnbWVudHMgPSBuZXcgVVJMKG9wdGlvbnMudXJsKTsKICB9IGNhdGNoIChlKSB7CiAgICBjb25zb2xlU2FuZGJveCgoKSA9PiB7CiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlCiAgICAgIGNvbnNvbGUud2FybigKICAgICAgICAnW0BzZW50cnkvbm9kZV06IEludmFsaWQgZHNuIG9yIHR1bm5lbCBvcHRpb24sIHdpbGwgbm90IHNlbmQgYW55IGV2ZW50cy4gVGhlIHR1bm5lbCBvcHRpb24gbXVzdCBiZSBhIGZ1bGwgVVJMIHdoZW4gdXNlZC4nLAogICAgICApOwogICAgfSk7CiAgICByZXR1cm4gY3JlYXRlVHJhbnNwb3J0KG9wdGlvbnMsICgpID0+IFByb21pc2UucmVzb2x2ZSh7fSkpOwogIH0KCiAgY29uc3QgaXNIdHRwcyA9IHVybFNlZ21lbnRzLnByb3RvY29sID09PSAnaHR0cHM6JzsKCiAgLy8gUHJveHkgcHJpb3JpdGl6YXRpb246IGh0dHAgPT4gYG9wdGlvbnMucHJveHlgIHwgYHByb2Nlc3MuZW52Lmh0dHBfcHJveHlgCiAgLy8gUHJveHkgcHJpb3JpdGl6YXRpb246IGh0dHBzID0+IGBvcHRpb25zLnByb3h5YCB8IGBwcm9jZXNzLmVudi5odHRwc19wcm94eWAgfCBgcHJvY2Vzcy5lbnYuaHR0cF9wcm94eWAKICBjb25zdCBwcm94eSA9IGFwcGx5Tm9Qcm94eU9wdGlvbigKICAgIHVybFNlZ21lbnRzLAogICAgb3B0aW9ucy5wcm94eSB8fCAoaXNIdHRwcyA/IHByb2Nlc3MuZW52Lmh0dHBzX3Byb3h5IDogdW5kZWZpbmVkKSB8fCBwcm9jZXNzLmVudi5odHRwX3Byb3h5LAogICk7CgogIGNvbnN0IG5hdGl2ZUh0dHBNb2R1bGUgPSBpc0h0dHBzID8gaHR0cHMgOiBodHRwOwogIGNvbnN0IGtlZXBBbGl2ZSA9IG9wdGlvbnMua2VlcEFsaXZlID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IG9wdGlvbnMua2VlcEFsaXZlOwoKICAvLyBUT0RPKHY3KTogRXZhbHVhdGUgaWYgd2UgY2FuIHNldCBrZWVwQWxpdmUgdG8gdHJ1ZS4gVGhpcyB3b3VsZCBpbnZvbHZlIHRlc3RpbmcgZm9yIG1lbW9yeSBsZWFrcyBpbiBvbGRlciBub2RlCiAgLy8gdmVyc2lvbnMoPj0gOCkgYXMgdGhleSBoYWQgbWVtb3J5IGxlYWtzIHdoZW4gdXNpbmcgaXQ6ICMyNTU1CiAgY29uc3QgYWdlbnQgPSBwcm94eQogICAgPyAobmV3IEh0dHBzUHJveHlBZ2VudChwcm94eSkgKQogICAgOiBuZXcgbmF0aXZlSHR0cE1vZHVsZS5BZ2VudCh7IGtlZXBBbGl2ZSwgbWF4U29ja2V0czogMzAsIHRpbWVvdXQ6IDIwMDAgfSk7CgogIGNvbnN0IHJlcXVlc3RFeGVjdXRvciA9IGNyZWF0ZVJlcXVlc3RFeGVjdXRvcihvcHRpb25zLCBfbnVsbGlzaENvYWxlc2NlKG9wdGlvbnMuaHR0cE1vZHVsZSwgKCkgPT4gKCBuYXRpdmVIdHRwTW9kdWxlKSksIGFnZW50KTsKICByZXR1cm4gY3JlYXRlVHJhbnNwb3J0KG9wdGlvbnMsIHJlcXVlc3RFeGVjdXRvcik7Cn0KCi8qKgogKiBIb25vcnMgdGhlIGBub19wcm94eWAgZW52IHZhcmlhYmxlIHdpdGggdGhlIGhpZ2hlc3QgcHJpb3JpdHkgdG8gYWxsb3cgZm9yIGhvc3RzIGV4Y2x1c2lvbi4KICoKICogQHBhcmFtIHRyYW5zcG9ydFVybCBUaGUgVVJMIHRoZSB0cmFuc3BvcnQgaW50ZW5kcyB0byBzZW5kIGV2ZW50cyB0by4KICogQHBhcmFtIHByb3h5IFRoZSBjbGllbnQgY29uZmlndXJlZCBwcm94eS4KICogQHJldHVybnMgQSBwcm94eSB0aGUgdHJhbnNwb3J0IHNob3VsZCB1c2UuCiAqLwpmdW5jdGlvbiBhcHBseU5vUHJveHlPcHRpb24odHJhbnNwb3J0VXJsU2VnbWVudHMsIHByb3h5KSB7CiAgY29uc3QgeyBub19wcm94eSB9ID0gcHJvY2Vzcy5lbnY7CgogIGNvbnN0IHVybElzRXhlbXB0RnJvbVByb3h5ID0KICAgIG5vX3Byb3h5ICYmCiAgICBub19wcm94eQogICAgICAuc3BsaXQoJywnKQogICAgICAuc29tZSgKICAgICAgICBleGVtcHRpb24gPT4gdHJhbnNwb3J0VXJsU2VnbWVudHMuaG9zdC5lbmRzV2l0aChleGVtcHRpb24pIHx8IHRyYW5zcG9ydFVybFNlZ21lbnRzLmhvc3RuYW1lLmVuZHNXaXRoKGV4ZW1wdGlvbiksCiAgICAgICk7CgogIGlmICh1cmxJc0V4ZW1wdEZyb21Qcm94eSkgewogICAgcmV0dXJuIHVuZGVmaW5lZDsKICB9IGVsc2UgewogICAgcmV0dXJuIHByb3h5OwogIH0KfQoKLyoqCiAqIENyZWF0ZXMgYSBSZXF1ZXN0RXhlY3V0b3IgdG8gYmUgdXNlZCB3aXRoIGBjcmVhdGVUcmFuc3BvcnRgLgogKi8KZnVuY3Rpb24gY3JlYXRlUmVxdWVzdEV4ZWN1dG9yKAogIG9wdGlvbnMsCiAgaHR0cE1vZHVsZSwKICBhZ2VudCwKKSB7CiAgY29uc3QgeyBob3N0bmFtZSwgcGF0aG5hbWUsIHBvcnQsIHByb3RvY29sLCBzZWFyY2ggfSA9IG5ldyBVUkwob3B0aW9ucy51cmwpOwogIHJldHVybiBmdW5jdGlvbiBtYWtlUmVxdWVzdChyZXF1ZXN0KSB7CiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewogICAgICBsZXQgYm9keSA9IHN0cmVhbUZyb21Cb2R5KHJlcXVlc3QuYm9keSk7CgogICAgICBjb25zdCBoZWFkZXJzID0geyAuLi5vcHRpb25zLmhlYWRlcnMgfTsKCiAgICAgIGlmIChyZXF1ZXN0LmJvZHkubGVuZ3RoID4gR1pJUF9USFJFU0hPTEQpIHsKICAgICAgICBoZWFkZXJzWydjb250ZW50LWVuY29kaW5nJ10gPSAnZ3ppcCc7CiAgICAgICAgYm9keSA9IGJvZHkucGlwZShjcmVhdGVHemlwKCkpOwogICAgICB9CgogICAgICBjb25zdCByZXEgPSBodHRwTW9kdWxlLnJlcXVlc3QoCiAgICAgICAgewogICAgICAgICAgbWV0aG9kOiAnUE9TVCcsCiAgICAgICAgICBhZ2VudCwKICAgICAgICAgIGhlYWRlcnMsCiAgICAgICAgICBob3N0bmFtZSwKICAgICAgICAgIHBhdGg6IGAke3BhdGhuYW1lfSR7c2VhcmNofWAsCiAgICAgICAgICBwb3J0LAogICAgICAgICAgcHJvdG9jb2wsCiAgICAgICAgICBjYTogb3B0aW9ucy5jYUNlcnRzLAogICAgICAgIH0sCiAgICAgICAgcmVzID0+IHsKICAgICAgICAgIHJlcy5vbignZGF0YScsICgpID0+IHsKICAgICAgICAgICAgLy8gRHJhaW4gc29ja2V0CiAgICAgICAgICB9KTsKCiAgICAgICAgICByZXMub24oJ2VuZCcsICgpID0+IHsKICAgICAgICAgICAgLy8gRHJhaW4gc29ja2V0CiAgICAgICAgICB9KTsKCiAgICAgICAgICByZXMuc2V0RW5jb2RpbmcoJ3V0ZjgnKTsKCiAgICAgICAgICAvLyAiS2V5LXZhbHVlIHBhaXJzIG9mIGhlYWRlciBuYW1lcyBhbmQgdmFsdWVzLiBIZWFkZXIgbmFtZXMgYXJlIGxvd2VyLWNhc2VkLiIKICAgICAgICAgIC8vIGh0dHBzOi8vbm9kZWpzLm9yZy9hcGkvaHR0cC5odG1sI2h0dHBfbWVzc2FnZV9oZWFkZXJzCiAgICAgICAgICBjb25zdCByZXRyeUFmdGVySGVhZGVyID0gX251bGxpc2hDb2FsZXNjZShyZXMuaGVhZGVyc1sncmV0cnktYWZ0ZXInXSwgKCkgPT4gKCBudWxsKSk7CiAgICAgICAgICBjb25zdCByYXRlTGltaXRzSGVhZGVyID0gX251bGxpc2hDb2FsZXNjZShyZXMuaGVhZGVyc1sneC1zZW50cnktcmF0ZS1saW1pdHMnXSwgKCkgPT4gKCBudWxsKSk7CgogICAgICAgICAgcmVzb2x2ZSh7CiAgICAgICAgICAgIHN0YXR1c0NvZGU6IHJlcy5zdGF0dXNDb2RlLAogICAgICAgICAgICBoZWFkZXJzOiB7CiAgICAgICAgICAgICAgJ3JldHJ5LWFmdGVyJzogcmV0cnlBZnRlckhlYWRlciwKICAgICAgICAgICAgICAneC1zZW50cnktcmF0ZS1saW1pdHMnOiBBcnJheS5pc0FycmF5KHJhdGVMaW1pdHNIZWFkZXIpID8gcmF0ZUxpbWl0c0hlYWRlclswXSA6IHJhdGVMaW1pdHNIZWFkZXIsCiAgICAgICAgICAgIH0sCiAgICAgICAgICB9KTsKICAgICAgICB9LAogICAgICApOwoKICAgICAgcmVxLm9uKCdlcnJvcicsIHJlamVjdCk7CiAgICAgIGJvZHkucGlwZShyZXEpOwogICAgfSk7CiAgfTsKfQoKZnVuY3Rpb24gX29wdGlvbmFsQ2hhaW4ob3BzKSB7IGxldCBsYXN0QWNjZXNzTEhTID0gdW5kZWZpbmVkOyBsZXQgdmFsdWUgPSBvcHNbMF07IGxldCBpID0gMTsgd2hpbGUgKGkgPCBvcHMubGVuZ3RoKSB7IGNvbnN0IG9wID0gb3BzW2ldOyBjb25zdCBmbiA9IG9wc1tpICsgMV07IGkgKz0gMjsgaWYgKChvcCA9PT0gJ29wdGlvbmFsQWNjZXNzJyB8fCBvcCA9PT0gJ29wdGlvbmFsQ2FsbCcpICYmIHZhbHVlID09IG51bGwpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfSBpZiAob3AgPT09ICdhY2Nlc3MnIHx8IG9wID09PSAnb3B0aW9uYWxBY2Nlc3MnKSB7IGxhc3RBY2Nlc3NMSFMgPSB2YWx1ZTsgdmFsdWUgPSBmbih2YWx1ZSk7IH0gZWxzZSBpZiAob3AgPT09ICdjYWxsJyB8fCBvcCA9PT0gJ29wdGlvbmFsQ2FsbCcpIHsgdmFsdWUgPSBmbigoLi4uYXJncykgPT4gdmFsdWUuY2FsbChsYXN0QWNjZXNzTEhTLCAuLi5hcmdzKSk7IGxhc3RBY2Nlc3NMSFMgPSB1bmRlZmluZWQ7IH0gfSByZXR1cm4gdmFsdWU7IH0KY29uc3Qgb3B0aW9ucyA9IHdvcmtlckRhdGE7CmxldCBzZXNzaW9uOwpsZXQgaGFzU2VudEFuckV2ZW50ID0gZmFsc2U7CgpmdW5jdGlvbiBsb2cobXNnKSB7CiAgaWYgKG9wdGlvbnMuZGVidWcpIHsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlCiAgICBjb25zb2xlLmxvZyhgW0FOUiBXb3JrZXJdICR7bXNnfWApOwogIH0KfQoKY29uc3QgdXJsID0gZ2V0RW52ZWxvcGVFbmRwb2ludFdpdGhVcmxFbmNvZGVkQXV0aChvcHRpb25zLmRzbik7CmNvbnN0IHRyYW5zcG9ydCA9IG1ha2VOb2RlVHJhbnNwb3J0KHsKICB1cmwsCiAgcmVjb3JkRHJvcHBlZEV2ZW50OiAoKSA9PiB7CiAgICAvLwogIH0sCn0pOwoKYXN5bmMgZnVuY3Rpb24gc2VuZEFibm9ybWFsU2Vzc2lvbigpIHsKICAvLyBvZiB3ZSBoYXZlIGFuIGV4aXN0aW5nIHNlc3Npb24gcGFzc2VkIGZyb20gdGhlIG1haW4gdGhyZWFkLCBzZW5kIGl0IGFzIGFibm9ybWFsCiAgaWYgKHNlc3Npb24pIHsKICAgIGxvZygnU2VuZGluZyBhYm5vcm1hbCBzZXNzaW9uJyk7CiAgICB1cGRhdGVTZXNzaW9uKHNlc3Npb24sIHsgc3RhdHVzOiAnYWJub3JtYWwnLCBhYm5vcm1hbF9tZWNoYW5pc206ICdhbnJfZm9yZWdyb3VuZCcgfSk7CgogICAgY29uc3QgZW52ZWxvcGUgPSBjcmVhdGVTZXNzaW9uRW52ZWxvcGUoc2Vzc2lvbiwgb3B0aW9ucy5kc24sIG9wdGlvbnMuc2RrTWV0YWRhdGEpOwogICAgLy8gTG9nIHRoZSBlbnZlbG9wZSBzbyB0byBhaWQgaW4gdGVzdGluZwogICAgbG9nKEpTT04uc3RyaW5naWZ5KGVudmVsb3BlKSk7CgogICAgYXdhaXQgdHJhbnNwb3J0LnNlbmQoZW52ZWxvcGUpOwoKICAgIHRyeSB7CiAgICAgIC8vIE5vdGlmeSB0aGUgbWFpbiBwcm9jZXNzIHRoYXQgdGhlIHNlc3Npb24gaGFzIGVuZGVkIHNvIHRoZSBzZXNzaW9uIGNhbiBiZSBjbGVhcmVkIGZyb20gdGhlIHNjb3BlCiAgICAgIF9vcHRpb25hbENoYWluKFtwYXJlbnRQb3J0LCAnb3B0aW9uYWxBY2Nlc3MnLCBfMiA9PiBfMi5wb3N0TWVzc2FnZSwgJ2NhbGwnLCBfMyA9PiBfMygnc2Vzc2lvbi1lbmRlZCcpXSk7CiAgICB9IGNhdGNoIChfKSB7CiAgICAgIC8vIGlnbm9yZQogICAgfQogIH0KfQoKbG9nKCdTdGFydGVkJyk7CgpmdW5jdGlvbiBwcmVwYXJlU3RhY2tGcmFtZXMoc3RhY2tGcmFtZXMpIHsKICBpZiAoIXN0YWNrRnJhbWVzKSB7CiAgICByZXR1cm4gdW5kZWZpbmVkOwogIH0KCiAgLy8gU3RyaXAgU2VudHJ5IGZyYW1lcyBhbmQgcmV2ZXJzZSB0aGUgc3RhY2sgZnJhbWVzIHNvIHRoZXkgYXJlIGluIHRoZSBjb3JyZWN0IG9yZGVyCiAgY29uc3Qgc3RyaXBwZWRGcmFtZXMgPSBzdHJpcFNlbnRyeUZyYW1lc0FuZFJldmVyc2Uoc3RhY2tGcmFtZXMpOwoKICAvLyBJZiB3ZSBoYXZlIGFuIGFwcCByb290IHBhdGgsIHJld3JpdGUgdGhlIGZpbGVuYW1lcyB0byBiZSByZWxhdGl2ZSB0byB0aGUgYXBwIHJvb3QKICBpZiAob3B0aW9ucy5hcHBSb290UGF0aCkgewogICAgZm9yIChjb25zdCBmcmFtZSBvZiBzdHJpcHBlZEZyYW1lcykgewogICAgICBpZiAoIWZyYW1lLmZpbGVuYW1lKSB7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KCiAgICAgIGZyYW1lLmZpbGVuYW1lID0gbm9ybWFsaXplVXJsVG9CYXNlKGZyYW1lLmZpbGVuYW1lLCBvcHRpb25zLmFwcFJvb3RQYXRoKTsKICAgIH0KICB9CgogIHJldHVybiBzdHJpcHBlZEZyYW1lczsKfQoKZnVuY3Rpb24gYXBwbHlTY29wZVRvRXZlbnQoZXZlbnQsIHNjb3BlKSB7CiAgYXBwbHlTY29wZURhdGFUb0V2ZW50KGV2ZW50LCBzY29wZSk7CgogIGlmICghX29wdGlvbmFsQ2hhaW4oW2V2ZW50LCAnYWNjZXNzJywgXzQgPT4gXzQuY29udGV4dHMsICdvcHRpb25hbEFjY2VzcycsIF81ID0+IF81LnRyYWNlXSkpIHsKICAgIGNvbnN0IHsgdHJhY2VJZCwgc3BhbklkLCBwYXJlbnRTcGFuSWQgfSA9IHNjb3BlLnByb3BhZ2F0aW9uQ29udGV4dDsKICAgIGV2ZW50LmNvbnRleHRzID0gewogICAgICB0cmFjZTogewogICAgICAgIHRyYWNlX2lkOiB0cmFjZUlkLAogICAgICAgIHNwYW5faWQ6IHNwYW5JZCwKICAgICAgICBwYXJlbnRfc3Bhbl9pZDogcGFyZW50U3BhbklkLAogICAgICB9LAogICAgICAuLi5ldmVudC5jb250ZXh0cywKICAgIH07CiAgfQp9Cgphc3luYyBmdW5jdGlvbiBzZW5kQW5yRXZlbnQoZnJhbWVzLCBzY29wZSkgewogIGlmIChoYXNTZW50QW5yRXZlbnQpIHsKICAgIHJldHVybjsKICB9CgogIGhhc1NlbnRBbnJFdmVudCA9IHRydWU7CgogIGF3YWl0IHNlbmRBYm5vcm1hbFNlc3Npb24oKTsKCiAgbG9nKCdTZW5kaW5nIGV2ZW50Jyk7CgogIGNvbnN0IGV2ZW50ID0gewogICAgZXZlbnRfaWQ6IHV1aWQ0KCksCiAgICBjb250ZXh0czogb3B0aW9ucy5jb250ZXh0cywKICAgIHJlbGVhc2U6IG9wdGlvbnMucmVsZWFzZSwKICAgIGVudmlyb25tZW50OiBvcHRpb25zLmVudmlyb25tZW50LAogICAgZGlzdDogb3B0aW9ucy5kaXN0LAogICAgcGxhdGZvcm06ICdub2RlJywKICAgIGxldmVsOiAnZXJyb3InLAogICAgZXhjZXB0aW9uOiB7CiAgICAgIHZhbHVlczogWwogICAgICAgIHsKICAgICAgICAgIHR5cGU6ICdBcHBsaWNhdGlvbk5vdFJlc3BvbmRpbmcnLAogICAgICAgICAgdmFsdWU6IGBBcHBsaWNhdGlvbiBOb3QgUmVzcG9uZGluZyBmb3IgYXQgbGVhc3QgJHtvcHRpb25zLmFuclRocmVzaG9sZH0gbXNgLAogICAgICAgICAgc3RhY2t0cmFjZTogeyBmcmFtZXM6IHByZXBhcmVTdGFja0ZyYW1lcyhmcmFtZXMpIH0sCiAgICAgICAgICAvLyBUaGlzIGVuc3VyZXMgdGhlIFVJIGRvZXNuJ3Qgc2F5ICdDcmFzaGVkIGluJyBmb3IgdGhlIHN0YWNrIHRyYWNlCiAgICAgICAgICBtZWNoYW5pc206IHsgdHlwZTogJ0FOUicgfSwKICAgICAgICB9LAogICAgICBdLAogICAgfSwKICAgIHRhZ3M6IG9wdGlvbnMuc3RhdGljVGFncywKICB9OwoKICBpZiAoc2NvcGUpIHsKICAgIGFwcGx5U2NvcGVUb0V2ZW50KGV2ZW50LCBzY29wZSk7CiAgfQoKICBjb25zdCBlbnZlbG9wZSA9IGNyZWF0ZUV2ZW50RW52ZWxvcGUoZXZlbnQsIG9wdGlvbnMuZHNuLCBvcHRpb25zLnNka01ldGFkYXRhKTsKICAvLyBMb2cgdGhlIGVudmVsb3BlIHRvIGFpZCBpbiB0ZXN0aW5nCiAgbG9nKEpTT04uc3RyaW5naWZ5KGVudmVsb3BlKSk7CgogIGF3YWl0IHRyYW5zcG9ydC5zZW5kKGVudmVsb3BlKTsKICBhd2FpdCB0cmFuc3BvcnQuZmx1c2goMjAwMCk7CgogIC8vIERlbGF5IGZvciA1IHNlY29uZHMgc28gdGhhdCBzdGRpbyBjYW4gZmx1c2ggaW4gdGhlIG1haW4gZXZlbnQgbG9vcCBldmVyIHJlc3RhcnRzLgogIC8vIFRoaXMgaXMgbWFpbmx5IGZvciB0aGUgYmVuZWZpdCBvZiBsb2dnaW5nL2RlYnVnZ2luZyBpc3N1ZXMuCiAgc2V0VGltZW91dCgoKSA9PiB7CiAgICBwcm9jZXNzLmV4aXQoMCk7CiAgfSwgNTAwMCk7Cn0KCmxldCBkZWJ1Z2dlclBhdXNlOwoKaWYgKG9wdGlvbnMuY2FwdHVyZVN0YWNrVHJhY2UpIHsKICBsb2coJ0Nvbm5lY3RpbmcgdG8gZGVidWdnZXInKTsKCiAgY29uc3Qgc2Vzc2lvbiA9IG5ldyBTZXNzaW9uKCkgOwogIHNlc3Npb24uY29ubmVjdFRvTWFpblRocmVhZCgpOwoKICBsb2coJ0Nvbm5lY3RlZCB0byBkZWJ1Z2dlcicpOwoKICAvLyBDb2xsZWN0IHNjcmlwdElkIC0+IHVybCBtYXAgc28gd2UgY2FuIGxvb2sgdXAgdGhlIGZpbGVuYW1lcyBsYXRlcgogIGNvbnN0IHNjcmlwdHMgPSBuZXcgTWFwKCk7CgogIHNlc3Npb24ub24oJ0RlYnVnZ2VyLnNjcmlwdFBhcnNlZCcsIGV2ZW50ID0+IHsKICAgIHNjcmlwdHMuc2V0KGV2ZW50LnBhcmFtcy5zY3JpcHRJZCwgZXZlbnQucGFyYW1zLnVybCk7CiAgfSk7CgogIHNlc3Npb24ub24oJ0RlYnVnZ2VyLnBhdXNlZCcsIGV2ZW50ID0+IHsKICAgIGlmIChldmVudC5wYXJhbXMucmVhc29uICE9PSAnb3RoZXInKSB7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICB0cnkgewogICAgICBsb2coJ0RlYnVnZ2VyIHBhdXNlZCcpOwoKICAgICAgLy8gY29weSB0aGUgZnJhbWVzCiAgICAgIGNvbnN0IGNhbGxGcmFtZXMgPSBbLi4uZXZlbnQucGFyYW1zLmNhbGxGcmFtZXNdOwoKICAgICAgY29uc3QgZ2V0TW9kdWxlTmFtZSA9IG9wdGlvbnMuYXBwUm9vdFBhdGggPyBjcmVhdGVHZXRNb2R1bGVGcm9tRmlsZW5hbWUob3B0aW9ucy5hcHBSb290UGF0aCkgOiAoKSA9PiB1bmRlZmluZWQ7CiAgICAgIGNvbnN0IHN0YWNrRnJhbWVzID0gY2FsbEZyYW1lcy5tYXAoZnJhbWUgPT4KICAgICAgICBjYWxsRnJhbWVUb1N0YWNrRnJhbWUoZnJhbWUsIHNjcmlwdHMuZ2V0KGZyYW1lLmxvY2F0aW9uLnNjcmlwdElkKSwgZ2V0TW9kdWxlTmFtZSksCiAgICAgICk7CgogICAgICAvLyBFdmFsdWF0ZSBhIHNjcmlwdCBpbiB0aGUgY3VycmVudGx5IHBhdXNlZCBjb250ZXh0CiAgICAgIHNlc3Npb24ucG9zdCgKICAgICAgICAnUnVudGltZS5ldmFsdWF0ZScsCiAgICAgICAgewogICAgICAgICAgLy8gR3JhYiB0aGUgdHJhY2UgY29udGV4dCBmcm9tIHRoZSBjdXJyZW50IHNjb3BlCiAgICAgICAgICBleHByZXNzaW9uOiAnZ2xvYmFsLl9fU0VOVFJZX0dFVF9TQ09QRVNfXygpOycsCiAgICAgICAgICAvLyBEb24ndCByZS10cmlnZ2VyIHRoZSBkZWJ1Z2dlciBpZiB0aGlzIGNhdXNlcyBhbiBlcnJvcgogICAgICAgICAgc2lsZW50OiB0cnVlLAogICAgICAgICAgLy8gU2VyaWFsaXplIHRoZSByZXN1bHQgdG8ganNvbiBvdGhlcndpc2Ugb25seSBwcmltaXRpdmVzIGFyZSBzdXBwb3J0ZWQKICAgICAgICAgIHJldHVybkJ5VmFsdWU6IHRydWUsCiAgICAgICAgfSwKICAgICAgICAoZXJyLCBwYXJhbSkgPT4gewogICAgICAgICAgaWYgKGVycikgewogICAgICAgICAgICBsb2coYEVycm9yIGV4ZWN1dGluZyBzY3JpcHQ6ICcke2Vyci5tZXNzYWdlfSdgKTsKICAgICAgICAgIH0KCiAgICAgICAgICBjb25zdCBzY29wZXMgPSBwYXJhbSAmJiBwYXJhbS5yZXN1bHQgPyAocGFyYW0ucmVzdWx0LnZhbHVlICkgOiB1bmRlZmluZWQ7CgogICAgICAgICAgc2Vzc2lvbi5wb3N0KCdEZWJ1Z2dlci5yZXN1bWUnKTsKICAgICAgICAgIHNlc3Npb24ucG9zdCgnRGVidWdnZXIuZGlzYWJsZScpOwoKICAgICAgICAgIHNlbmRBbnJFdmVudChzdGFja0ZyYW1lcywgc2NvcGVzKS50aGVuKG51bGwsICgpID0+IHsKICAgICAgICAgICAgbG9nKCdTZW5kaW5nIEFOUiBldmVudCBmYWlsZWQuJyk7CiAgICAgICAgICB9KTsKICAgICAgICB9LAogICAgICApOwogICAgfSBjYXRjaCAoZSkgewogICAgICBzZXNzaW9uLnBvc3QoJ0RlYnVnZ2VyLnJlc3VtZScpOwogICAgICBzZXNzaW9uLnBvc3QoJ0RlYnVnZ2VyLmRpc2FibGUnKTsKICAgICAgdGhyb3cgZTsKICAgIH0KICB9KTsKCiAgZGVidWdnZXJQYXVzZSA9ICgpID0+IHsKICAgIHRyeSB7CiAgICAgIHNlc3Npb24ucG9zdCgnRGVidWdnZXIuZW5hYmxlJywgKCkgPT4gewogICAgICAgIHNlc3Npb24ucG9zdCgnRGVidWdnZXIucGF1c2UnKTsKICAgICAgfSk7CiAgICB9IGNhdGNoIChfKSB7CiAgICAgIC8vCiAgICB9CiAgfTsKfQoKZnVuY3Rpb24gY3JlYXRlSHJUaW1lcigpIHsKICAvLyBUT0RPICh2OCk6IFdlIGNhbiB1c2UgcHJvY2Vzcy5ocnRpbWUuYmlnaW50KCkgYWZ0ZXIgd2UgZHJvcCBub2RlIHY4CiAgbGV0IGxhc3RQb2xsID0gcHJvY2Vzcy5ocnRpbWUoKTsKCiAgcmV0dXJuIHsKICAgIGdldFRpbWVNczogKCkgPT4gewogICAgICBjb25zdCBbc2Vjb25kcywgbmFub1NlY29uZHNdID0gcHJvY2Vzcy5ocnRpbWUobGFzdFBvbGwpOwogICAgICByZXR1cm4gTWF0aC5mbG9vcihzZWNvbmRzICogMWUzICsgbmFub1NlY29uZHMgLyAxZTYpOwogICAgfSwKICAgIHJlc2V0OiAoKSA9PiB7CiAgICAgIGxhc3RQb2xsID0gcHJvY2Vzcy5ocnRpbWUoKTsKICAgIH0sCiAgfTsKfQoKZnVuY3Rpb24gd2F0Y2hkb2dUaW1lb3V0KCkgewogIGxvZygnV2F0Y2hkb2cgdGltZW91dCcpOwoKICBpZiAoZGVidWdnZXJQYXVzZSkgewogICAgbG9nKCdQYXVzaW5nIGRlYnVnZ2VyIHRvIGNhcHR1cmUgc3RhY2sgdHJhY2UnKTsKICAgIGRlYnVnZ2VyUGF1c2UoKTsKICB9IGVsc2UgewogICAgbG9nKCdDYXB0dXJpbmcgZXZlbnQgd2l0aG91dCBhIHN0YWNrIHRyYWNlJyk7CiAgICBzZW5kQW5yRXZlbnQoKS50aGVuKG51bGwsICgpID0+IHsKICAgICAgbG9nKCdTZW5kaW5nIEFOUiBldmVudCBmYWlsZWQgb24gd2F0Y2hkb2cgdGltZW91dC4nKTsKICAgIH0pOwogIH0KfQoKY29uc3QgeyBwb2xsIH0gPSB3YXRjaGRvZ1RpbWVyKGNyZWF0ZUhyVGltZXIsIG9wdGlvbnMucG9sbEludGVydmFsLCBvcHRpb25zLmFuclRocmVzaG9sZCwgd2F0Y2hkb2dUaW1lb3V0KTsKCl9vcHRpb25hbENoYWluKFtwYXJlbnRQb3J0LCAnb3B0aW9uYWxBY2Nlc3MnLCBfNiA9PiBfNi5vbiwgJ2NhbGwnLCBfNyA9PiBfNygnbWVzc2FnZScsIChtc2cpID0+IHsKICBpZiAobXNnLnNlc3Npb24pIHsKICAgIHNlc3Npb24gPSBtYWtlU2Vzc2lvbihtc2cuc2Vzc2lvbik7CiAgfQoKICBwb2xsKCk7Cn0pXSk7"});var NI=d((WI,sw)=>{"use strict";var{_optionalChain:wse,_optionalChainDelete:rw}=W();Object.defineProperty(WI,"__esModule",{value:!0});var Yse=require("url"),Vr=Q(),RI=W(),b0=to(),Fse=nw(),Tse=50,Xse=5e3;function y0(e,...t){RI.logger.log(`[ANR] ${e}`,...t)}function kse(){return RI.GLOBAL_OBJ}function Kse(){let e=Vr.getGlobalScope().getScopeData();return Vr.mergeScopeData(e,Vr.getIsolationScope().getScopeData()),Vr.mergeScopeData(e,Vr.getCurrentScope().getScopeData()),e.attachments=[],e.eventProcessors=[],e}function xse(){return RI.dynamicRequire(sw,"worker_threads")}async function Lse(e){let t={message:"ANR"},n={};for(let r of e.getEventProcessors()){if(t===null)break;t=await r(t,n)}return wse([t,"optionalAccess",r=>r.contexts])||{}}var iw="Anr",Use=(e={})=>{if(b0.NODE_VERSION.major<16||b0.NODE_VERSION.major===16&&b0.NODE_VERSION.minor<17)throw new Error("ANR detection requires Node 16.17.0 or later");let t,n,r=kse();return r.__SENTRY_GET_SCOPES__=Kse,{name:iw,setupOnce(){},startWorker:()=>{t||n&&(t=Ose(n,e))},stopWorker:()=>{t&&t.then(i=>{i(),t=void 0})},setup(i){n=i,setImmediate(()=>this.startWorker())}}},ow=Vr.defineIntegration(Use),Jse=Vr.convertIntegrationFnToClass(iw,ow);async function Ose(e,t){let n=e.getDsn();if(!n)return()=>{};let r=await Lse(e);rw([r,"access",l=>l.app,"optionalAccess",l=>delete l.app_memory]),rw([r,"access",l=>l.device,"optionalAccess",l=>delete l.free_memory]);let i=e.getOptions(),o=e.getSdkMetadata()||{};o.sdk&&(o.sdk.integrations=i.integrations.map(l=>l.name));let s={debug:RI.logger.isEnabled(),dsn:n,environment:i.environment||"production",release:i.release,dist:i.dist,sdkMetadata:o,appRootPath:t.appRootPath,pollInterval:t.pollInterval||Tse,anrThreshold:t.anrThreshold||Xse,captureStackTrace:!!t.captureStackTrace,staticTags:t.staticTags||{},contexts:r};if(s.captureStackTrace){let l=require("inspector");l.url()||l.open(0)}let{Worker:a}=xse(),c=new a(new Yse.URL(`data:application/javascript;base64,${Fse.base64WorkerScript}`),{workerData:s});process.on("exit",()=>{c.terminate()});let u=setInterval(()=>{try{let l=Vr.getCurrentScope().getSession(),g=l?{...l,toJSON:void 0}:void 0;c.postMessage({session:g})}catch{}},s.pollInterval);return u.unref(),c.on("message",l=>{l==="session-ended"&&(y0("ANR event sent from ANR worker. Clearing session in this thread."),Vr.getCurrentScope().setSession(void 0))}),c.once("error",l=>{clearInterval(u),y0("ANR worker error",l)}),c.once("exit",l=>{clearInterval(u),y0("ANR worker exit",l)}),c.unref(),()=>{c.terminate(),clearInterval(u)}}WI.Anr=Jse;WI.anrIntegration=ow});var aw=d(A0=>{"use strict";Object.defineProperty(A0,"__esModule",{value:!0});var Mse=Q(),Dse=NI();function qse(e){let t=Mse.getClient();return new Dse.Anr(e).setup(t),Promise.resolve()}A0.enableAnrDetection=qse});var G0=d(B0=>{"use strict";var{_optionalChain:cw}=W();Object.defineProperty(B0,"__esModule",{value:!0});var Gs=Q(),uw=W();function zse(e={}){return function({path:t,type:n,next:r,rawInput:i}){let o=cw([Gs.getClient,"call",u=>u(),"optionalAccess",u=>u.getOptions,"call",u=>u()]),s=Gs.getCurrentScope().getTransaction();if(s){s.updateName(`trpc/${t}`),s.setAttribute(Gs.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,"route"),s.op="rpc.server";let u={procedure_type:n};(e.attachRpcInput!==void 0?e.attachRpcInput:cw([o,"optionalAccess",l=>l.sendDefaultPii]))&&(u.input=uw.normalize(i)),s.setContext("trpc",u)}function a(u){u.ok||Gs.captureException(u.error,{mechanism:{handled:!1,data:{function:"trpcMiddleware"}}})}let c;try{c=r()}catch(u){throw Gs.captureException(u,{mechanism:{handled:!1,data:{function:"trpcMiddleware"}}}),u}return uw.isThenable(c)?Promise.resolve(c).then(u=>{a(u)},u=>{Gs.captureException(u,{mechanism:{handled:!1,data:{function:"trpcMiddleware"}}})}):a(c),c}}B0.trpcMiddleware=zse});var dw=d(VI=>{"use strict";Object.defineProperty(VI,"__esModule",{value:!0});var lw=W();function Pse(e,t){return lw.extractRequestData(e,{include:t})}function jse(e,t,n={}){return lw.addRequestDataToEvent(e,t,{include:n})}VI.extractRequestData=Pse;VI.parseRequest=jse});var fw=d(oi=>{"use strict";var{_optionalChain:_I}=W();Object.defineProperty(oi,"__esModule",{value:!0});var Me=Q(),Zs=W(),Qse=Gc(),EI=m0(),$se=G0(),gw=dw();function eae(){return function(t,n,r){let i=_I([Me.getClient,"call",l=>l(),"optionalAccess",l=>l.getOptions,"call",l=>l()]);if(!i||i.instrumenter!=="sentry"||_I([t,"access",l=>l.method,"optionalAccess",l=>l.toUpperCase,"call",l=>l()])==="OPTIONS"||_I([t,"access",l=>l.method,"optionalAccess",l=>l.toUpperCase,"call",l=>l()])==="HEAD")return r();let o=t.headers&&Zs.isString(t.headers["sentry-trace"])?t.headers["sentry-trace"]:void 0,s=_I([t,"access",l=>l.headers,"optionalAccess",l=>l.baggage]);if(!Me.hasTracingEnabled(i))return r();let[a,c]=Zs.extractPathForTransaction(t,{path:!0,method:!0}),u=Me.continueTrace({sentryTrace:o,baggage:s},l=>Me.startTransaction({name:a,op:"http.server",origin:"auto.http.node.tracingHandler",...l,data:{[Me.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]:c},metadata:{...l.metadata,request:t}},{request:Zs.extractRequestData(t)}));Me.getCurrentScope().setSpan(u),n.__sentry_transaction=u,n.once("finish",()=>{setImmediate(()=>{Zs.addRequestDataToTransaction(u,t),Me.setHttpStatus(u,n.statusCode),u.end()})}),r()}}function tae(e={}){let t;if("include"in e)t={include:e.include};else{let{ip:n,request:r,transaction:i,user:o}=e;(n||r||i||o)&&(t={include:Zs.dropUndefinedKeys({ip:n,request:r,transaction:i,user:o})})}return t}function nae(e){let t=tae(e),n=Me.getClient();if(n&&EI.isAutoSessionTrackingEnabled(n)){n.initSessionFlusher();let r=Me.getCurrentScope();r.getSession()&&r.setSession()}return function(i,o,s){if(e&&e.flushTimeout&&e.flushTimeout>0){let a=o.end;o.end=function(c,u,l){Me.flush(e.flushTimeout).then(()=>{a.call(this,c,u,l)}).then(null,g=>{Qse.DEBUG_BUILD&&Zs.logger.error(g),a.call(this,c,u,l)})}}Me.runWithAsyncContext(()=>{let a=Me.getCurrentScope();a.setSDKProcessingMetadata({request:i,requestDataOptionsFromExpressHandler:t});let c=Me.getClient();EI.isAutoSessionTrackingEnabled(c)&&a.setRequestSession({status:"ok"}),o.once("finish",()=>{let u=Me.getClient();EI.isAutoSessionTrackingEnabled(u)&&setImmediate(()=>{u&&u._captureRequestSession&&u._captureRequestSession()})}),s()})}}function rae(e){let t=e.status||e.statusCode||e.status_code||e.output&&e.output.statusCode;return t?parseInt(t,10):500}function iae(e){return rae(e)>=500}function oae(e){return function(n,r,i,o){if((e&&e.shouldHandleError||iae)(n)){Me.withScope(a=>{a.setSDKProcessingMetadata({request:r});let c=i.__sentry_transaction;c&&!Me.getActiveSpan()&&a.setSpan(c);let u=Me.getClient();if(u&&EI.isAutoSessionTrackingEnabled(u)&&u._sessionFlusher!==void 0){let f=a.getRequestSession();f&&f.status!==void 0&&(f.status="crashed")}let l=Me.captureException(n,{mechanism:{type:"middleware",handled:!1}});i.sentry=l,o(n)});return}o(n)}}var sae=$se.trpcMiddleware;oi.extractRequestData=gw.extractRequestData;oi.parseRequest=gw.parseRequest;oi.errorHandler=oae;oi.requestHandler=nae;oi.tracingHandler=eae;oi.trpcMiddleware=sae});var Z0=d(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});var wt=Q(),pw=W();function Iw(e){return e&&e.statusCode!==void 0}function aae(e){return e&&e.error!==void 0}function cae(e){wt.captureException(e,{mechanism:{type:"hapi",handled:!1,data:{function:"hapiErrorPlugin"}}})}var mw={name:"SentryHapiErrorPlugin",version:wt.SDK_VERSION,register:async function(e){e.events.on("request",(n,r)=>{let i=wt.getActiveTransaction();aae(r)&&cae(r.error),i&&(i.setStatus("internal_error"),i.end())})}},hw={name:"SentryHapiTracingPlugin",version:wt.SDK_VERSION,register:async function(e){let t=e;t.ext("onPreHandler",(n,r)=>{let i=wt.continueTrace({sentryTrace:n.headers["sentry-trace"]||void 0,baggage:n.headers.baggage||void 0},o=>wt.startTransaction({...o,op:"hapi.request",name:n.route.path,description:`${n.route.method} ${n.path}`}));return wt.getCurrentScope().setSpan(i),r.continue}),t.ext("onPreResponse",(n,r)=>{let i=wt.getActiveTransaction();if(n.response&&Iw(n.response)&&i){let o=n.response;o.header("sentry-trace",wt.spanToTraceHeader(i));let s=pw.dynamicSamplingContextToSentryBaggageHeader(wt.getDynamicSamplingContextFromSpan(i));s&&o.header("baggage",s)}return r.continue}),t.ext("onPostHandler",(n,r)=>{let i=wt.getActiveTransaction();return i&&(n.response&&Iw(n.response)&&wt.setHttpStatus(i,n.response.statusCode),i.end()),r.continue})}},Cw="Hapi",uae=(e={})=>{let t=e.server;return{name:Cw,setupOnce(){t&&pw.fill(t,"start",n=>async function(){return await this.register(hw),await this.register(mw),n.apply(this)})}}},bw=wt.defineIntegration(uae),lae=wt.convertIntegrationFnToClass(Cw,bw);vs.Hapi=lae;vs.hapiErrorPlugin=mw;vs.hapiIntegration=bw;vs.hapiTracingPlugin=hw});var yw=d(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});var dae=sI(),gae=dI(),fae=yI(),Iae=BI(),pae=hI(),mae=lI(),hae=aI(),Cae=Q(),bae=pI(),yae=vI(),Aae=GI(),Bae=NI(),Gae=Z0();mt.Console=dae.Console;mt.Http=gae.Http;mt.OnUncaughtException=fae.OnUncaughtException;mt.OnUnhandledRejection=Iae.OnUnhandledRejection;mt.Modules=pae.Modules;mt.ContextLines=mae.ContextLines;mt.Context=hae.Context;mt.RequestData=Cae.RequestData;mt.LocalVariables=bae.LocalVariables;mt.Undici=yae.Undici;mt.Spotlight=Aae.Spotlight;mt.Anr=Bae.Anr;mt.Hapi=Gae.Hapi});var Aw=d(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});var uo=Xy();_r.Apollo=uo.Apollo;_r.Express=uo.Express;_r.GraphQL=uo.GraphQL;_r.Mongo=uo.Mongo;_r.Mysql=uo.Mysql;_r.Postgres=uo.Postgres;_r.Prisma=uo.Prisma});var Zw=d(HI=>{"use strict";Object.defineProperty(HI,"__esModule",{value:!0});var lo=Q(),go=W(),Bw="CaptureConsole",Zae=(e={})=>{let t=e.levels||go.CONSOLE_LEVELS;return{name:Bw,setupOnce(){},setup(n){"console"in go.GLOBAL_OBJ&&go.addConsoleInstrumentationHandler(({args:r,level:i})=>{lo.getClient()!==n||!t.includes(i)||Sae(r,i)})}}},Gw=lo.defineIntegration(Zae),vae=lo.convertIntegrationFnToClass(Bw,Gw);function Sae(e,t){let n={level:go.severityLevelFromString(t),extra:{arguments:e}};lo.withScope(r=>{if(r.addEventProcessor(s=>(s.logger="console",go.addExceptionMechanism(s,{handled:!1,type:"console"}),s)),t==="assert"&&e[0]===!1){let s=`Assertion failed: ${go.safeJoin(e.slice(1)," ")||"console.assert"}`;r.setExtra("arguments",e.slice(1)),lo.captureMessage(s,n);return}let i=e.find(s=>s instanceof Error);if(t==="error"&&i){lo.captureException(i,n);return}let o=go.safeJoin(e," ");lo.captureMessage(o,n)})}HI.CaptureConsole=vae;HI.captureConsoleIntegration=Gw});var Ww=d(wI=>{"use strict";Object.defineProperty(wI,"__esModule",{value:!0});var vw=Q(),Rae=W(),Sw="Debug",Wae=(e={})=>{let t={debugger:!1,stringify:!1,...e};return{name:Sw,setupOnce(){},setup(n){n.on&&n.on("beforeSendEvent",(r,i)=>{if(t.debugger)debugger;Rae.consoleSandbox(()=>{t.stringify?(console.log(JSON.stringify(r,null,2)),i&&Object.keys(i).length&&console.log(JSON.stringify(i,null,2))):(console.log(r),i&&Object.keys(i).length&&console.log(i))})})}}},Rw=vw.defineIntegration(Wae),Nae=vw.convertIntegrationFnToClass(Sw,Rw);wI.Debug=Nae;wI.debugIntegration=Rw});var Vc=d(v0=>{"use strict";Object.defineProperty(v0,"__esModule",{value:!0});var Vae=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;v0.DEBUG_BUILD=Vae});var Tw=d(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});var _w=Q(),_ae=W(),Eae=Vc(),Ew="Dedupe",Hae=()=>{let e;return{name:Ew,setupOnce(){},processEvent(t){if(t.type)return t;try{if(ww(t,e))return Eae.DEBUG_BUILD&&_ae.logger.warn("Event dropped due to being a duplicate of previously captured event."),null}catch{}return e=t}}},Hw=_w.defineIntegration(Hae),wae=_w.convertIntegrationFnToClass(Ew,Hw);function ww(e,t){return t?!!(Yae(e,t)||Fae(e,t)):!1}function Yae(e,t){let n=e.message,r=t.message;return!(!n&&!r||n&&!r||!n&&r||n!==r||!Fw(e,t)||!Yw(e,t))}function Fae(e,t){let n=Nw(t),r=Nw(e);return!(!n||!r||n.type!==r.type||n.value!==r.value||!Fw(e,t)||!Yw(e,t))}function Yw(e,t){let n=Vw(e),r=Vw(t);if(!n&&!r)return!0;if(n&&!r||!n&&r||(n=n,r=r,r.length!==n.length))return!1;for(let i=0;i<r.length;i++){let o=r[i],s=n[i];if(o.filename!==s.filename||o.lineno!==s.lineno||o.colno!==s.colno||o.function!==s.function)return!1}return!0}function Fw(e,t){let n=e.fingerprint,r=t.fingerprint;if(!n&&!r)return!0;if(n&&!r||!n&&r)return!1;n=n,r=r;try{return n.join("")===r.join("")}catch{return!1}}function Nw(e){return e.exception&&e.exception.values&&e.exception.values[0]}function Vw(e){let t=e.exception;if(t)try{return t.values[0].stacktrace.frames}catch{return}}_c.Dedupe=wae;_c._shouldDropEvent=ww;_c.dedupeIntegration=Hw});var xw=d(YI=>{"use strict";Object.defineProperty(YI,"__esModule",{value:!0});var Xw=Q(),si=W(),Tae=Vc(),kw="ExtraErrorData",Xae=(e={})=>{let t=e.depth||3,n=e.captureErrorCause||!1;return{name:kw,setupOnce(){},processEvent(r,i){return Kae(r,i,t,n)}}},Kw=Xw.defineIntegration(Xae),kae=Xw.convertIntegrationFnToClass(kw,Kw);function Kae(e,t={},n,r){if(!t.originalException||!si.isError(t.originalException))return e;let i=t.originalException.name||t.originalException.constructor.name,o=xae(t.originalException,r);if(o){let s={...e.contexts},a=si.normalize(o,n);return si.isPlainObject(a)&&(si.addNonEnumerableProperty(a,"__sentry_skip_normalization__",!0),s[i]=a),{...e,contexts:s}}return e}function xae(e,t){try{let n=["name","message","stack","line","column","fileName","lineNumber","columnNumber","toJSON"],r={};for(let i of Object.keys(e)){if(n.indexOf(i)!==-1)continue;let o=e[i];r[i]=si.isError(o)?o.toString():o}if(t&&e.cause!==void 0&&(r.cause=si.isError(e.cause)?e.cause.toString():e.cause),typeof e.toJSON=="function"){let i=e.toJSON();for(let o of Object.keys(i)){let s=i[o];r[o]=si.isError(s)?s.toString():s}}return r}catch(n){Tae.DEBUG_BUILD&&si.logger.error("Unable to extract extra data from the Error object:",n)}return null}YI.ExtraErrorData=kae;YI.extraErrorDataIntegration=Kw});var Uw=d((Lw,S0)=>{"use strict";(function(e){if(typeof Lw=="object"&&typeof S0<"u")S0.exports=e();else if(typeof define=="function"&&define.amd)define([],e);else{var t;typeof window<"u"?t=window:typeof global<"u"?t=global:typeof self<"u"?t=self:t=this,t.localforage=e()}})(function(){var e,t,n;return function r(i,o,s){function a(l,g){if(!o[l]){if(!i[l]){var f=typeof require=="function"&&require;if(!g&&f)return f(l,!0);if(c)return c(l,!0);var I=new Error("Cannot find module '"+l+"'");throw I.code="MODULE_NOT_FOUND",I}var m=o[l]={exports:{}};i[l][0].call(m.exports,function(C){var b=i[l][1][C];return a(b||C)},m,m.exports,r,i,o,s)}return o[l].exports}for(var c=typeof require=="function"&&require,u=0;u<s.length;u++)a(s[u]);return a}({1:[function(r,i,o){(function(s){"use strict";var a=s.MutationObserver||s.WebKitMutationObserver,c;if(a){var u=0,l=new a(C),g=s.document.createTextNode("");l.observe(g,{characterData:!0}),c=function(){g.data=u=++u%2}}else if(!s.setImmediate&&typeof s.MessageChannel<"u"){var f=new s.MessageChannel;f.port1.onmessage=C,c=function(){f.port2.postMessage(0)}}else"document"in s&&"onreadystatechange"in s.document.createElement("script")?c=function(){var v=s.document.createElement("script");v.onreadystatechange=function(){C(),v.onreadystatechange=null,v.parentNode.removeChild(v),v=null},s.document.documentElement.appendChild(v)}:c=function(){setTimeout(C,0)};var I,m=[];function C(){I=!0;for(var v,Y,k=m.length;k;){for(Y=m,m=[],v=-1;++v<k;)Y[v]();k=m.length}I=!1}i.exports=b;function b(v){m.push(v)===1&&!I&&c()}}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{}],2:[function(r,i,o){"use strict";var s=r(1);function a(){}var c={},u=["REJECTED"],l=["FULFILLED"],g=["PENDING"];i.exports=f;function f(N){if(typeof N!="function")throw new TypeError("resolver must be a function");this.state=g,this.queue=[],this.outcome=void 0,N!==a&&b(this,N)}f.prototype.catch=function(N){return this.then(null,N)},f.prototype.then=function(N,J){if(typeof N!="function"&&this.state===l||typeof J!="function"&&this.state===u)return this;var q=new this.constructor(a);if(this.state!==g){var x=this.state===l?N:J;m(q,x,this.outcome)}else this.queue.push(new I(q,N,J));return q};function I(N,J,q){this.promise=N,typeof J=="function"&&(this.onFulfilled=J,this.callFulfilled=this.otherCallFulfilled),typeof q=="function"&&(this.onRejected=q,this.callRejected=this.otherCallRejected)}I.prototype.callFulfilled=function(N){c.resolve(this.promise,N)},I.prototype.otherCallFulfilled=function(N){m(this.promise,this.onFulfilled,N)},I.prototype.callRejected=function(N){c.reject(this.promise,N)},I.prototype.otherCallRejected=function(N){m(this.promise,this.onRejected,N)};function m(N,J,q){s(function(){var x;try{x=J(q)}catch(z){return c.reject(N,z)}x===N?c.reject(N,new TypeError("Cannot resolve promise with itself")):c.resolve(N,x)})}c.resolve=function(N,J){var q=v(C,J);if(q.status==="error")return c.reject(N,q.value);var x=q.value;if(x)b(N,x);else{N.state=l,N.outcome=J;for(var z=-1,j=N.queue.length;++z<j;)N.queue[z].callFulfilled(J)}return N},c.reject=function(N,J){N.state=u,N.outcome=J;for(var q=-1,x=N.queue.length;++q<x;)N.queue[q].callRejected(J);return N};function C(N){var J=N&&N.then;if(N&&(typeof N=="object"||typeof N=="function")&&typeof J=="function")return function(){J.apply(N,arguments)}}function b(N,J){var q=!1;function x(se){q||(q=!0,c.reject(N,se))}function z(se){q||(q=!0,c.resolve(N,se))}function j(){J(z,x)}var oe=v(j);oe.status==="error"&&x(oe.value)}function v(N,J){var q={};try{q.value=N(J),q.status="success"}catch(x){q.status="error",q.value=x}return q}f.resolve=Y;function Y(N){return N instanceof this?N:c.resolve(new this(a),N)}f.reject=k;function k(N){var J=new this(a);return c.reject(J,N)}f.all=ee;function ee(N){var J=this;if(Object.prototype.toString.call(N)!=="[object Array]")return this.reject(new TypeError("must be an array"));var q=N.length,x=!1;if(!q)return this.resolve([]);for(var z=new Array(q),j=0,oe=-1,se=new this(a);++oe<q;)de(N[oe],oe);return se;function de(T,L){J.resolve(T).then(K,function($){x||(x=!0,c.reject(se,$))});function K($){z[L]=$,++j===q&&!x&&(x=!0,c.resolve(se,z))}}}f.race=re;function re(N){var J=this;if(Object.prototype.toString.call(N)!=="[object Array]")return this.reject(new TypeError("must be an array"));var q=N.length,x=!1;if(!q)return this.resolve([]);for(var z=-1,j=new this(a);++z<q;)oe(N[z]);return j;function oe(se){J.resolve(se).then(function(de){x||(x=!0,c.resolve(j,de))},function(de){x||(x=!0,c.reject(j,de))})}}},{1:1}],3:[function(r,i,o){(function(s){"use strict";typeof s.Promise!="function"&&(s.Promise=r(2))}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{2:2}],4:[function(r,i,o){"use strict";var s=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(p){return typeof p}:function(p){return p&&typeof Symbol=="function"&&p.constructor===Symbol&&p!==Symbol.prototype?"symbol":typeof p};function a(p,y){if(!(p instanceof y))throw new TypeError("Cannot call a class as a function")}function c(){try{if(typeof indexedDB<"u")return indexedDB;if(typeof webkitIndexedDB<"u")return webkitIndexedDB;if(typeof mozIndexedDB<"u")return mozIndexedDB;if(typeof OIndexedDB<"u")return OIndexedDB;if(typeof msIndexedDB<"u")return msIndexedDB}catch{return}}var u=c();function l(){try{if(!u||!u.open)return!1;var p=typeof openDatabase<"u"&&/(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)&&!/BlackBerry/.test(navigator.platform),y=typeof fetch=="function"&&fetch.toString().indexOf("[native code")!==-1;return(!p||y)&&typeof indexedDB<"u"&&typeof IDBKeyRange<"u"}catch{return!1}}function g(p,y){p=p||[],y=y||{};try{return new Blob(p,y)}catch(A){if(A.name!=="TypeError")throw A;for(var h=typeof BlobBuilder<"u"?BlobBuilder:typeof MSBlobBuilder<"u"?MSBlobBuilder:typeof MozBlobBuilder<"u"?MozBlobBuilder:WebKitBlobBuilder,B=new h,G=0;G<p.length;G+=1)B.append(p[G]);return B.getBlob(y.type)}}typeof Promise>"u"&&r(3);var f=Promise;function I(p,y){y&&p.then(function(h){y(null,h)},function(h){y(h)})}function m(p,y,h){typeof y=="function"&&p.then(y),typeof h=="function"&&p.catch(h)}function C(p){return typeof p!="string"&&(console.warn(p+" used as a key, but it is not a string."),p=String(p)),p}function b(){if(arguments.length&&typeof arguments[arguments.length-1]=="function")return arguments[arguments.length-1]}var v="local-forage-detect-blob-support",Y=void 0,k={},ee=Object.prototype.toString,re="readonly",N="readwrite";function J(p){for(var y=p.length,h=new ArrayBuffer(y),B=new Uint8Array(h),G=0;G<y;G++)B[G]=p.charCodeAt(G);return h}function q(p){return new f(function(y){var h=p.transaction(v,N),B=g([""]);h.objectStore(v).put(B,"key"),h.onabort=function(G){G.preventDefault(),G.stopPropagation(),y(!1)},h.oncomplete=function(){var G=navigator.userAgent.match(/Chrome\/(\d+)/),A=navigator.userAgent.match(/Edge\//);y(A||!G||parseInt(G[1],10)>=43)}}).catch(function(){return!1})}function x(p){return typeof Y=="boolean"?f.resolve(Y):q(p).then(function(y){return Y=y,Y})}function z(p){var y=k[p.name],h={};h.promise=new f(function(B,G){h.resolve=B,h.reject=G}),y.deferredOperations.push(h),y.dbReady?y.dbReady=y.dbReady.then(function(){return h.promise}):y.dbReady=h.promise}function j(p){var y=k[p.name],h=y.deferredOperations.pop();if(h)return h.resolve(),h.promise}function oe(p,y){var h=k[p.name],B=h.deferredOperations.pop();if(B)return B.reject(y),B.promise}function se(p,y){return new f(function(h,B){if(k[p.name]=k[p.name]||ra(),p.db)if(y)z(p),p.db.close();else return h(p.db);var G=[p.name];y&&G.push(p.version);var A=u.open.apply(u,G);y&&(A.onupgradeneeded=function(R){var _=A.result;try{_.createObjectStore(p.storeName),R.oldVersion<=1&&_.createObjectStore(v)}catch(w){if(w.name==="ConstraintError")console.warn('The database "'+p.name+'" has been upgraded from version '+R.oldVersion+" to version "+R.newVersion+', but the storage "'+p.storeName+'" already exists.');else throw w}}),A.onerror=function(R){R.preventDefault(),B(A.error)},A.onsuccess=function(){var R=A.result;R.onversionchange=function(_){_.target.close()},h(R),j(p)}})}function de(p){return se(p,!1)}function T(p){return se(p,!0)}function L(p,y){if(!p.db)return!0;var h=!p.db.objectStoreNames.contains(p.storeName),B=p.version<p.db.version,G=p.version>p.db.version;if(B&&(p.version!==y&&console.warn('The database "'+p.name+`" can't be downgraded from version `+p.db.version+" to version "+p.version+"."),p.version=p.db.version),G||h){if(h){var A=p.db.version+1;A>p.version&&(p.version=A)}return!0}return!1}function K(p){return new f(function(y,h){var B=new FileReader;B.onerror=h,B.onloadend=function(G){var A=btoa(G.target.result||"");y({__local_forage_encoded_blob:!0,data:A,type:p.type})},B.readAsBinaryString(p)})}function $(p){var y=J(atob(p.data));return g([y],{type:p.type})}function P(p){return p&&p.__local_forage_encoded_blob}function Yn(p){var y=this,h=y._initReady().then(function(){var B=k[y._dbInfo.name];if(B&&B.dbReady)return B.dbReady});return m(h,p,p),h}function ym(p){z(p);for(var y=k[p.name],h=y.forages,B=0;B<h.length;B++){var G=h[B];G._dbInfo.db&&(G._dbInfo.db.close(),G._dbInfo.db=null)}return p.db=null,de(p).then(function(A){return p.db=A,L(p)?T(p):A}).then(function(A){p.db=y.db=A;for(var R=0;R<h.length;R++)h[R]._dbInfo.db=A}).catch(function(A){throw oe(p,A),A})}function Bn(p,y,h,B){B===void 0&&(B=1);try{var G=p.db.transaction(p.storeName,y);h(null,G)}catch(A){if(B>0&&(!p.db||A.name==="InvalidStateError"||A.name==="NotFoundError"))return f.resolve().then(function(){if(!p.db||A.name==="NotFoundError"&&!p.db.objectStoreNames.contains(p.storeName)&&p.version<=p.db.version)return p.db&&(p.version=p.db.version+1),T(p)}).then(function(){return ym(p).then(function(){Bn(p,y,h,B-1)})}).catch(h);h(A)}}function ra(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function Am(p){var y=this,h={db:null};if(p)for(var B in p)h[B]=p[B];var G=k[h.name];G||(G=ra(),k[h.name]=G),G.forages.push(y),y._initReady||(y._initReady=y.ready,y.ready=Yn);var A=[];function R(){return f.resolve()}for(var _=0;_<G.forages.length;_++){var w=G.forages[_];w!==y&&A.push(w._initReady().catch(R))}var F=G.forages.slice(0);return f.all(A).then(function(){return h.db=G.db,de(h)}).then(function(X){return h.db=X,L(h,y._defaultConfig.version)?T(h):X}).then(function(X){h.db=G.db=X,y._dbInfo=h;for(var O=0;O<F.length;O++){var te=F[O];te!==y&&(te._dbInfo.db=h.db,te._dbInfo.version=h.version)}})}function VM(p,y){var h=this;p=C(p);var B=new f(function(G,A){h.ready().then(function(){Bn(h._dbInfo,re,function(R,_){if(R)return A(R);try{var w=_.objectStore(h._dbInfo.storeName),F=w.get(p);F.onsuccess=function(){var X=F.result;X===void 0&&(X=null),P(X)&&(X=$(X)),G(X)},F.onerror=function(){A(F.error)}}catch(X){A(X)}})}).catch(A)});return I(B,y),B}function _M(p,y){var h=this,B=new f(function(G,A){h.ready().then(function(){Bn(h._dbInfo,re,function(R,_){if(R)return A(R);try{var w=_.objectStore(h._dbInfo.storeName),F=w.openCursor(),X=1;F.onsuccess=function(){var O=F.result;if(O){var te=O.value;P(te)&&(te=$(te));var ge=p(te,O.key,X++);ge!==void 0?G(ge):O.continue()}else G()},F.onerror=function(){A(F.error)}}catch(O){A(O)}})}).catch(A)});return I(B,y),B}function EM(p,y,h){var B=this;p=C(p);var G=new f(function(A,R){var _;B.ready().then(function(){return _=B._dbInfo,ee.call(y)==="[object Blob]"?x(_.db).then(function(w){return w?y:K(y)}):y}).then(function(w){Bn(B._dbInfo,N,function(F,X){if(F)return R(F);try{var O=X.objectStore(B._dbInfo.storeName);w===null&&(w=void 0);var te=O.put(w,p);X.oncomplete=function(){w===void 0&&(w=null),A(w)},X.onabort=X.onerror=function(){var ge=te.error?te.error:te.transaction.error;R(ge)}}catch(ge){R(ge)}})}).catch(R)});return I(G,h),G}function HM(p,y){var h=this;p=C(p);var B=new f(function(G,A){h.ready().then(function(){Bn(h._dbInfo,N,function(R,_){if(R)return A(R);try{var w=_.objectStore(h._dbInfo.storeName),F=w.delete(p);_.oncomplete=function(){G()},_.onerror=function(){A(F.error)},_.onabort=function(){var X=F.error?F.error:F.transaction.error;A(X)}}catch(X){A(X)}})}).catch(A)});return I(B,y),B}function wM(p){var y=this,h=new f(function(B,G){y.ready().then(function(){Bn(y._dbInfo,N,function(A,R){if(A)return G(A);try{var _=R.objectStore(y._dbInfo.storeName),w=_.clear();R.oncomplete=function(){B()},R.onabort=R.onerror=function(){var F=w.error?w.error:w.transaction.error;G(F)}}catch(F){G(F)}})}).catch(G)});return I(h,p),h}function YM(p){var y=this,h=new f(function(B,G){y.ready().then(function(){Bn(y._dbInfo,re,function(A,R){if(A)return G(A);try{var _=R.objectStore(y._dbInfo.storeName),w=_.count();w.onsuccess=function(){B(w.result)},w.onerror=function(){G(w.error)}}catch(F){G(F)}})}).catch(G)});return I(h,p),h}function FM(p,y){var h=this,B=new f(function(G,A){if(p<0){G(null);return}h.ready().then(function(){Bn(h._dbInfo,re,function(R,_){if(R)return A(R);try{var w=_.objectStore(h._dbInfo.storeName),F=!1,X=w.openKeyCursor();X.onsuccess=function(){var O=X.result;if(!O){G(null);return}p===0||F?G(O.key):(F=!0,O.advance(p))},X.onerror=function(){A(X.error)}}catch(O){A(O)}})}).catch(A)});return I(B,y),B}function TM(p){var y=this,h=new f(function(B,G){y.ready().then(function(){Bn(y._dbInfo,re,function(A,R){if(A)return G(A);try{var _=R.objectStore(y._dbInfo.storeName),w=_.openKeyCursor(),F=[];w.onsuccess=function(){var X=w.result;if(!X){B(F);return}F.push(X.key),X.continue()},w.onerror=function(){G(w.error)}}catch(X){G(X)}})}).catch(G)});return I(h,p),h}function XM(p,y){y=b.apply(this,arguments);var h=this.config();p=typeof p!="function"&&p||{},p.name||(p.name=p.name||h.name,p.storeName=p.storeName||h.storeName);var B=this,G;if(!p.name)G=f.reject("Invalid arguments");else{var A=p.name===h.name&&B._dbInfo.db,R=A?f.resolve(B._dbInfo.db):de(p).then(function(_){var w=k[p.name],F=w.forages;w.db=_;for(var X=0;X<F.length;X++)F[X]._dbInfo.db=_;return _});p.storeName?G=R.then(function(_){if(_.objectStoreNames.contains(p.storeName)){var w=_.version+1;z(p);var F=k[p.name],X=F.forages;_.close();for(var O=0;O<X.length;O++){var te=X[O];te._dbInfo.db=null,te._dbInfo.version=w}var ge=new f(function(pe,He){var Ne=u.open(p.name,w);Ne.onerror=function(rn){var oa=Ne.result;oa.close(),He(rn)},Ne.onupgradeneeded=function(){var rn=Ne.result;rn.deleteObjectStore(p.storeName)},Ne.onsuccess=function(){var rn=Ne.result;rn.close(),pe(rn)}});return ge.then(function(pe){F.db=pe;for(var He=0;He<X.length;He++){var Ne=X[He];Ne._dbInfo.db=pe,j(Ne._dbInfo)}}).catch(function(pe){throw(oe(p,pe)||f.resolve()).catch(function(){}),pe})}}):G=R.then(function(_){z(p);var w=k[p.name],F=w.forages;_.close();for(var X=0;X<F.length;X++){var O=F[X];O._dbInfo.db=null}var te=new f(function(ge,pe){var He=u.deleteDatabase(p.name);He.onerror=function(){var Ne=He.result;Ne&&Ne.close(),pe(He.error)},He.onblocked=function(){console.warn('dropInstance blocked for database "'+p.name+'" until all open connections are closed')},He.onsuccess=function(){var Ne=He.result;Ne&&Ne.close(),ge(Ne)}});return te.then(function(ge){w.db=ge;for(var pe=0;pe<F.length;pe++){var He=F[pe];j(He._dbInfo)}}).catch(function(ge){throw(oe(p,ge)||f.resolve()).catch(function(){}),ge})})}return I(G,y),G}var kM={_driver:"asyncStorage",_initStorage:Am,_support:l(),iterate:_M,getItem:VM,setItem:EM,removeItem:HM,clear:wM,length:YM,key:FM,keys:TM,dropInstance:XM};function KM(){return typeof openDatabase=="function"}var Kr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",xM="~~local_forage_type~",Jv=/^~~local_forage_type~([^~]+)~/,Yd="__lfsc__:",Bm=Yd.length,Gm="arbf",Zm="blob",Ov="si08",Mv="ui08",Dv="uic8",qv="si16",zv="si32",Pv="ur16",jv="ui32",Qv="fl32",$v="fl64",eS=Bm+Gm.length,tS=Object.prototype.toString;function nS(p){var y=p.length*.75,h=p.length,B,G=0,A,R,_,w;p[p.length-1]==="="&&(y--,p[p.length-2]==="="&&y--);var F=new ArrayBuffer(y),X=new Uint8Array(F);for(B=0;B<h;B+=4)A=Kr.indexOf(p[B]),R=Kr.indexOf(p[B+1]),_=Kr.indexOf(p[B+2]),w=Kr.indexOf(p[B+3]),X[G++]=A<<2|R>>4,X[G++]=(R&15)<<4|_>>2,X[G++]=(_&3)<<6|w&63;return F}function vm(p){var y=new Uint8Array(p),h="",B;for(B=0;B<y.length;B+=3)h+=Kr[y[B]>>2],h+=Kr[(y[B]&3)<<4|y[B+1]>>4],h+=Kr[(y[B+1]&15)<<2|y[B+2]>>6],h+=Kr[y[B+2]&63];return y.length%3===2?h=h.substring(0,h.length-1)+"=":y.length%3===1&&(h=h.substring(0,h.length-2)+"=="),h}function LM(p,y){var h="";if(p&&(h=tS.call(p)),p&&(h==="[object ArrayBuffer]"||p.buffer&&tS.call(p.buffer)==="[object ArrayBuffer]")){var B,G=Yd;p instanceof ArrayBuffer?(B=p,G+=Gm):(B=p.buffer,h==="[object Int8Array]"?G+=Ov:h==="[object Uint8Array]"?G+=Mv:h==="[object Uint8ClampedArray]"?G+=Dv:h==="[object Int16Array]"?G+=qv:h==="[object Uint16Array]"?G+=Pv:h==="[object Int32Array]"?G+=zv:h==="[object Uint32Array]"?G+=jv:h==="[object Float32Array]"?G+=Qv:h==="[object Float64Array]"?G+=$v:y(new Error("Failed to get type for BinaryArray"))),y(G+vm(B))}else if(h==="[object Blob]"){var A=new FileReader;A.onload=function(){var R=xM+p.type+"~"+vm(this.result);y(Yd+Zm+R)},A.readAsArrayBuffer(p)}else try{y(JSON.stringify(p))}catch(R){console.error("Couldn't convert value into a JSON string: ",p),y(null,R)}}function UM(p){if(p.substring(0,Bm)!==Yd)return JSON.parse(p);var y=p.substring(eS),h=p.substring(Bm,eS),B;if(h===Zm&&Jv.test(y)){var G=y.match(Jv);B=G[1],y=y.substring(G[0].length)}var A=nS(y);switch(h){case Gm:return A;case Zm:return g([A],{type:B});case Ov:return new Int8Array(A);case Mv:return new Uint8Array(A);case Dv:return new Uint8ClampedArray(A);case qv:return new Int16Array(A);case Pv:return new Uint16Array(A);case zv:return new Int32Array(A);case jv:return new Uint32Array(A);case Qv:return new Float32Array(A);case $v:return new Float64Array(A);default:throw new Error("Unkown type: "+h)}}var Sm={serialize:LM,deserialize:UM,stringToBuffer:nS,bufferToString:vm};function rS(p,y,h,B){p.executeSql("CREATE TABLE IF NOT EXISTS "+y.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],h,B)}function JM(p){var y=this,h={db:null};if(p)for(var B in p)h[B]=typeof p[B]!="string"?p[B].toString():p[B];var G=new f(function(A,R){try{h.db=openDatabase(h.name,String(h.version),h.description,h.size)}catch(_){return R(_)}h.db.transaction(function(_){rS(_,h,function(){y._dbInfo=h,A()},function(w,F){R(F)})},R)});return h.serializer=Sm,G}function xr(p,y,h,B,G,A){p.executeSql(h,B,G,function(R,_){_.code===_.SYNTAX_ERR?R.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[y.storeName],function(w,F){F.rows.length?A(w,_):rS(w,y,function(){w.executeSql(h,B,G,A)},A)},A):A(R,_)},A)}function OM(p,y){var h=this;p=C(p);var B=new f(function(G,A){h.ready().then(function(){var R=h._dbInfo;R.db.transaction(function(_){xr(_,R,"SELECT * FROM "+R.storeName+" WHERE key = ? LIMIT 1",[p],function(w,F){var X=F.rows.length?F.rows.item(0).value:null;X&&(X=R.serializer.deserialize(X)),G(X)},function(w,F){A(F)})})}).catch(A)});return I(B,y),B}function MM(p,y){var h=this,B=new f(function(G,A){h.ready().then(function(){var R=h._dbInfo;R.db.transaction(function(_){xr(_,R,"SELECT * FROM "+R.storeName,[],function(w,F){for(var X=F.rows,O=X.length,te=0;te<O;te++){var ge=X.item(te),pe=ge.value;if(pe&&(pe=R.serializer.deserialize(pe)),pe=p(pe,ge.key,te+1),pe!==void 0){G(pe);return}}G()},function(w,F){A(F)})})}).catch(A)});return I(B,y),B}function iS(p,y,h,B){var G=this;p=C(p);var A=new f(function(R,_){G.ready().then(function(){y===void 0&&(y=null);var w=y,F=G._dbInfo;F.serializer.serialize(y,function(X,O){O?_(O):F.db.transaction(function(te){xr(te,F,"INSERT OR REPLACE INTO "+F.storeName+" (key, value) VALUES (?, ?)",[p,X],function(){R(w)},function(ge,pe){_(pe)})},function(te){if(te.code===te.QUOTA_ERR){if(B>0){R(iS.apply(G,[p,w,h,B-1]));return}_(te)}})})}).catch(_)});return I(A,h),A}function DM(p,y,h){return iS.apply(this,[p,y,h,1])}function qM(p,y){var h=this;p=C(p);var B=new f(function(G,A){h.ready().then(function(){var R=h._dbInfo;R.db.transaction(function(_){xr(_,R,"DELETE FROM "+R.storeName+" WHERE key = ?",[p],function(){G()},function(w,F){A(F)})})}).catch(A)});return I(B,y),B}function zM(p){var y=this,h=new f(function(B,G){y.ready().then(function(){var A=y._dbInfo;A.db.transaction(function(R){xr(R,A,"DELETE FROM "+A.storeName,[],function(){B()},function(_,w){G(w)})})}).catch(G)});return I(h,p),h}function PM(p){var y=this,h=new f(function(B,G){y.ready().then(function(){var A=y._dbInfo;A.db.transaction(function(R){xr(R,A,"SELECT COUNT(key) as c FROM "+A.storeName,[],function(_,w){var F=w.rows.item(0).c;B(F)},function(_,w){G(w)})})}).catch(G)});return I(h,p),h}function jM(p,y){var h=this,B=new f(function(G,A){h.ready().then(function(){var R=h._dbInfo;R.db.transaction(function(_){xr(_,R,"SELECT key FROM "+R.storeName+" WHERE id = ? LIMIT 1",[p+1],function(w,F){var X=F.rows.length?F.rows.item(0).key:null;G(X)},function(w,F){A(F)})})}).catch(A)});return I(B,y),B}function QM(p){var y=this,h=new f(function(B,G){y.ready().then(function(){var A=y._dbInfo;A.db.transaction(function(R){xr(R,A,"SELECT key FROM "+A.storeName,[],function(_,w){for(var F=[],X=0;X<w.rows.length;X++)F.push(w.rows.item(X).key);B(F)},function(_,w){G(w)})})}).catch(G)});return I(h,p),h}function $M(p){return new f(function(y,h){p.transaction(function(B){B.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'",[],function(G,A){for(var R=[],_=0;_<A.rows.length;_++)R.push(A.rows.item(_).name);y({db:p,storeNames:R})},function(G,A){h(A)})},function(B){h(B)})})}function eD(p,y){y=b.apply(this,arguments);var h=this.config();p=typeof p!="function"&&p||{},p.name||(p.name=p.name||h.name,p.storeName=p.storeName||h.storeName);var B=this,G;return p.name?G=new f(function(A){var R;p.name===h.name?R=B._dbInfo.db:R=openDatabase(p.name,"","",0),p.storeName?A({db:R,storeNames:[p.storeName]}):A($M(R))}).then(function(A){return new f(function(R,_){A.db.transaction(function(w){function F(ge){return new f(function(pe,He){w.executeSql("DROP TABLE IF EXISTS "+ge,[],function(){pe()},function(Ne,rn){He(rn)})})}for(var X=[],O=0,te=A.storeNames.length;O<te;O++)X.push(F(A.storeNames[O]));f.all(X).then(function(){R()}).catch(function(ge){_(ge)})},function(w){_(w)})})}):G=f.reject("Invalid arguments"),I(G,y),G}var tD={_driver:"webSQLStorage",_initStorage:JM,_support:KM(),iterate:MM,getItem:OM,setItem:DM,removeItem:qM,clear:zM,length:PM,key:jM,keys:QM,dropInstance:eD};function nD(){try{return typeof localStorage<"u"&&"setItem"in localStorage&&!!localStorage.setItem}catch{return!1}}function oS(p,y){var h=p.name+"/";return p.storeName!==y.storeName&&(h+=p.storeName+"/"),h}function rD(){var p="_localforage_support_test";try{return localStorage.setItem(p,!0),localStorage.removeItem(p),!1}catch{return!0}}function iD(){return!rD()||localStorage.length>0}function oD(p){var y=this,h={};if(p)for(var B in p)h[B]=p[B];return h.keyPrefix=oS(p,y._defaultConfig),iD()?(y._dbInfo=h,h.serializer=Sm,f.resolve()):f.reject()}function sD(p){var y=this,h=y.ready().then(function(){for(var B=y._dbInfo.keyPrefix,G=localStorage.length-1;G>=0;G--){var A=localStorage.key(G);A.indexOf(B)===0&&localStorage.removeItem(A)}});return I(h,p),h}function aD(p,y){var h=this;p=C(p);var B=h.ready().then(function(){var G=h._dbInfo,A=localStorage.getItem(G.keyPrefix+p);return A&&(A=G.serializer.deserialize(A)),A});return I(B,y),B}function cD(p,y){var h=this,B=h.ready().then(function(){for(var G=h._dbInfo,A=G.keyPrefix,R=A.length,_=localStorage.length,w=1,F=0;F<_;F++){var X=localStorage.key(F);if(X.indexOf(A)===0){var O=localStorage.getItem(X);if(O&&(O=G.serializer.deserialize(O)),O=p(O,X.substring(R),w++),O!==void 0)return O}}});return I(B,y),B}function uD(p,y){var h=this,B=h.ready().then(function(){var G=h._dbInfo,A;try{A=localStorage.key(p)}catch{A=null}return A&&(A=A.substring(G.keyPrefix.length)),A});return I(B,y),B}function lD(p){var y=this,h=y.ready().then(function(){for(var B=y._dbInfo,G=localStorage.length,A=[],R=0;R<G;R++){var _=localStorage.key(R);_.indexOf(B.keyPrefix)===0&&A.push(_.substring(B.keyPrefix.length))}return A});return I(h,p),h}function dD(p){var y=this,h=y.keys().then(function(B){return B.length});return I(h,p),h}function gD(p,y){var h=this;p=C(p);var B=h.ready().then(function(){var G=h._dbInfo;localStorage.removeItem(G.keyPrefix+p)});return I(B,y),B}function fD(p,y,h){var B=this;p=C(p);var G=B.ready().then(function(){y===void 0&&(y=null);var A=y;return new f(function(R,_){var w=B._dbInfo;w.serializer.serialize(y,function(F,X){if(X)_(X);else try{localStorage.setItem(w.keyPrefix+p,F),R(A)}catch(O){(O.name==="QuotaExceededError"||O.name==="NS_ERROR_DOM_QUOTA_REACHED")&&_(O),_(O)}})})});return I(G,h),G}function ID(p,y){if(y=b.apply(this,arguments),p=typeof p!="function"&&p||{},!p.name){var h=this.config();p.name=p.name||h.name,p.storeName=p.storeName||h.storeName}var B=this,G;return p.name?G=new f(function(A){p.storeName?A(oS(p,B._defaultConfig)):A(p.name+"/")}).then(function(A){for(var R=localStorage.length-1;R>=0;R--){var _=localStorage.key(R);_.indexOf(A)===0&&localStorage.removeItem(_)}}):G=f.reject("Invalid arguments"),I(G,y),G}var pD={_driver:"localStorageWrapper",_initStorage:oD,_support:nD(),iterate:cD,getItem:aD,setItem:fD,removeItem:gD,clear:sD,length:dD,key:uD,keys:lD,dropInstance:ID},mD=function(y,h){return y===h||typeof y=="number"&&typeof h=="number"&&isNaN(y)&&isNaN(h)},hD=function(y,h){for(var B=y.length,G=0;G<B;){if(mD(y[G],h))return!0;G++}return!1},sS=Array.isArray||function(p){return Object.prototype.toString.call(p)==="[object Array]"},ia={},aS={},Yo={INDEXEDDB:kM,WEBSQL:tD,LOCALSTORAGE:pD},CD=[Yo.INDEXEDDB._driver,Yo.WEBSQL._driver,Yo.LOCALSTORAGE._driver],Fd=["dropInstance"],Rm=["clear","getItem","iterate","key","keys","length","removeItem","setItem"].concat(Fd),bD={description:"",driver:CD.slice(),name:"localforage",size:4980736,storeName:"keyvaluepairs",version:1};function yD(p,y){p[y]=function(){var h=arguments;return p.ready().then(function(){return p[y].apply(p,h)})}}function Wm(){for(var p=1;p<arguments.length;p++){var y=arguments[p];if(y)for(var h in y)y.hasOwnProperty(h)&&(sS(y[h])?arguments[0][h]=y[h].slice():arguments[0][h]=y[h])}return arguments[0]}var AD=function(){function p(y){a(this,p);for(var h in Yo)if(Yo.hasOwnProperty(h)){var B=Yo[h],G=B._driver;this[h]=G,ia[G]||this.defineDriver(B)}this._defaultConfig=Wm({},bD),this._config=Wm({},this._defaultConfig,y),this._driverSet=null,this._initDriver=null,this._ready=!1,this._dbInfo=null,this._wrapLibraryMethodsWithReady(),this.setDriver(this._config.driver).catch(function(){})}return p.prototype.config=function(h){if((typeof h>"u"?"undefined":s(h))==="object"){if(this._ready)return new Error("Can't call config() after localforage has been used.");for(var B in h){if(B==="storeName"&&(h[B]=h[B].replace(/\W/g,"_")),B==="version"&&typeof h[B]!="number")return new Error("Database version must be a number.");this._config[B]=h[B]}return"driver"in h&&h.driver?this.setDriver(this._config.driver):!0}else return typeof h=="string"?this._config[h]:this._config},p.prototype.defineDriver=function(h,B,G){var A=new f(function(R,_){try{var w=h._driver,F=new Error("Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver");if(!h._driver){_(F);return}for(var X=Rm.concat("_initStorage"),O=0,te=X.length;O<te;O++){var ge=X[O],pe=!hD(Fd,ge);if((pe||h[ge])&&typeof h[ge]!="function"){_(F);return}}var He=function(){for(var oa=function(ZD){return function(){var vD=new Error("Method "+ZD+" is not implemented by the current driver"),cS=f.reject(vD);return I(cS,arguments[arguments.length-1]),cS}},Nm=0,GD=Fd.length;Nm<GD;Nm++){var Vm=Fd[Nm];h[Vm]||(h[Vm]=oa(Vm))}};He();var Ne=function(oa){ia[w]&&console.info("Redefining LocalForage driver: "+w),ia[w]=h,aS[w]=oa,R()};"_support"in h?h._support&&typeof h._support=="function"?h._support().then(Ne,_):Ne(!!h._support):Ne(!0)}catch(rn){_(rn)}});return m(A,B,G),A},p.prototype.driver=function(){return this._driver||null},p.prototype.getDriver=function(h,B,G){var A=ia[h]?f.resolve(ia[h]):f.reject(new Error("Driver not found."));return m(A,B,G),A},p.prototype.getSerializer=function(h){var B=f.resolve(Sm);return m(B,h),B},p.prototype.ready=function(h){var B=this,G=B._driverSet.then(function(){return B._ready===null&&(B._ready=B._initDriver()),B._ready});return m(G,h,h),G},p.prototype.setDriver=function(h,B,G){var A=this;sS(h)||(h=[h]);var R=this._getSupportedDrivers(h);function _(){A._config.driver=A.driver()}function w(O){return A._extend(O),_(),A._ready=A._initStorage(A._config),A._ready}function F(O){return function(){var te=0;function ge(){for(;te<O.length;){var pe=O[te];return te++,A._dbInfo=null,A._ready=null,A.getDriver(pe).then(w).catch(ge)}_();var He=new Error("No available storage method found.");return A._driverSet=f.reject(He),A._driverSet}return ge()}}var X=this._driverSet!==null?this._driverSet.catch(function(){return f.resolve()}):f.resolve();return this._driverSet=X.then(function(){var O=R[0];return A._dbInfo=null,A._ready=null,A.getDriver(O).then(function(te){A._driver=te._driver,_(),A._wrapLibraryMethodsWithReady(),A._initDriver=F(R)})}).catch(function(){_();var O=new Error("No available storage method found.");return A._driverSet=f.reject(O),A._driverSet}),m(this._driverSet,B,G),this._driverSet},p.prototype.supports=function(h){return!!aS[h]},p.prototype._extend=function(h){Wm(this,h)},p.prototype._getSupportedDrivers=function(h){for(var B=[],G=0,A=h.length;G<A;G++){var R=h[G];this.supports(R)&&B.push(R)}return B},p.prototype._wrapLibraryMethodsWithReady=function(){for(var h=0,B=Rm.length;h<B;h++)yD(this,Rm[h])},p.prototype.createInstance=function(h){return new p(h)},p}(),BD=new AD;i.exports=BD},{3:3}]},{},[4])(4)})});var Jw=d(R0=>{"use strict";Object.defineProperty(R0,"__esModule",{value:!0});var er=W(),Lae=Uw(),fo=Vc(),ai=er.GLOBAL_OBJ,FI=class e{static __initStatic(){this.id="Offline"}constructor(t={}){this.name=e.id,this.maxStoredEvents=t.maxStoredEvents||30,this.offlineEventStore=Lae.createInstance({name:"sentry/offlineEventStore"})}setupOnce(t,n){this.hub=n(),"addEventListener"in ai&&ai.addEventListener("online",()=>{this._sendEvents().catch(()=>{fo.DEBUG_BUILD&&er.logger.warn("could not send cached events")})});let r=i=>this.hub&&this.hub.getIntegration(e)&&"navigator"in ai&&"onLine"in ai.navigator&&!ai.navigator.onLine?(fo.DEBUG_BUILD&&er.logger.log("Event dropped due to being a offline - caching instead"),this._cacheEvent(i).then(o=>this._enforceMaxEvents()).catch(o=>{fo.DEBUG_BUILD&&er.logger.warn("could not cache event while offline")}),null):i;r.id=this.name,t(r),"navigator"in ai&&"onLine"in ai.navigator&&ai.navigator.onLine&&this._sendEvents().catch(()=>{fo.DEBUG_BUILD&&er.logger.warn("could not send cached events")})}async _cacheEvent(t){return this.offlineEventStore.setItem(er.uuid4(),er.normalize(t))}async _enforceMaxEvents(){let t=[];return this.offlineEventStore.iterate((n,r,i)=>{t.push({cacheKey:r,event:n})}).then(()=>this._purgeEvents(t.sort((n,r)=>(r.event.timestamp||0)-(n.event.timestamp||0)).slice(this.maxStoredEvents<t.length?this.maxStoredEvents:t.length).map(n=>n.cacheKey))).catch(n=>{fo.DEBUG_BUILD&&er.logger.warn("could not enforce max events")})}async _purgeEvent(t){return this.offlineEventStore.removeItem(t)}async _purgeEvents(t){return Promise.all(t.map(n=>this._purgeEvent(n))).then()}async _sendEvents(){return this.offlineEventStore.iterate((t,n,r)=>{this.hub?(this.hub.captureEvent(t),this._purgeEvent(n).catch(i=>{fo.DEBUG_BUILD&&er.logger.warn("could not purge event from cache")})):fo.DEBUG_BUILD&&er.logger.warn("no hub found - could not send cached event")})}};FI.__initStatic();R0.Offline=FI});var zw=d(TI=>{"use strict";Object.defineProperty(TI,"__esModule",{value:!0});var Ec=Q(),Mw=W(),Uae=Mw.GLOBAL_OBJ,Dw="ReportingObserver",Ow=new WeakMap,Jae=(e={})=>{let t=e.types||["crash","deprecation","intervention"];function n(r){if(Ow.has(Ec.getClient()))for(let i of r)Ec.withScope(o=>{o.setExtra("url",i.url);let s=`ReportingObserver [${i.type}]`,a="No details available";if(i.body){let c={};for(let u in i.body)c[u]=i.body[u];if(o.setExtra("body",c),i.type==="crash"){let u=i.body;a=[u.crashId||"",u.reason||""].join(" ").trim()||a}else a=i.body.message||a}Ec.captureMessage(`${s}: ${a}`)})}return{name:Dw,setupOnce(){if(!Mw.supportsReportingObserver())return;new Uae.ReportingObserver(n,{buffered:!0,types:t}).observe()},setup(r){Ow.set(r,!0)}}},qw=Ec.defineIntegration(Jae),Oae=Ec.convertIntegrationFnToClass(Dw,qw);TI.ReportingObserver=Oae;TI.reportingObserverIntegration=qw});var eY=d(XI=>{"use strict";Object.defineProperty(XI,"__esModule",{value:!0});var jw=Q(),Pw=W(),Qw="RewriteFrames",Mae=(e={})=>{let t=e.root,n=e.prefix||"app:///",r=e.iteratee||(s=>{if(!s.filename)return s;let a=/^[a-zA-Z]:\\/.test(s.filename)||s.filename.includes("\\")&&!s.filename.includes("/"),c=/^\//.test(s.filename);if(a||c){let u=a?s.filename.replace(/^[a-zA-Z]:/,"").replace(/\\/g,"/"):s.filename,l=t?Pw.relative(t,u):Pw.basename(u);s.filename=`${n}${l}`}return s});function i(s){try{return{...s,exception:{...s.exception,values:s.exception.values.map(a=>({...a,...a.stacktrace&&{stacktrace:o(a.stacktrace)}}))}}}catch{return s}}function o(s){return{...s,frames:s&&s.frames&&s.frames.map(a=>r(a))}}return{name:Qw,setupOnce(){},processEvent(s){let a=s;return s.exception&&Array.isArray(s.exception.values)&&(a=i(a)),a}}},$w=jw.defineIntegration(Mae),Dae=jw.convertIntegrationFnToClass(Qw,$w);XI.RewriteFrames=Dae;XI.rewriteFramesIntegration=$w});var iY=d(kI=>{"use strict";Object.defineProperty(kI,"__esModule",{value:!0});var tY=Q(),nY="SessionTiming",qae=()=>{let e=Date.now();return{name:nY,setupOnce(){},processEvent(t){let n=Date.now();return{...t,extra:{...t.extra,"session:start":e,"session:duration":n-e,"session:end":n}}}}},rY=tY.defineIntegration(qae),zae=tY.convertIntegrationFnToClass(nY,rY);kI.SessionTiming=zae;kI.sessionTimingIntegration=rY});var sY=d(W0=>{"use strict";Object.defineProperty(W0,"__esModule",{value:!0});var Pae=Q(),oY="Transaction",jae=()=>({name:oY,setupOnce(){},processEvent(e){let t=$ae(e);for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.in_app===!0){e.transaction=ece(r);break}}return e}}),Qae=Pae.convertIntegrationFnToClass(oY,jae);function $ae(e){let t=e.exception&&e.exception.values&&e.exception.values[0];return t&&t.stacktrace&&t.stacktrace.frames||[]}function ece(e){return e.module||e.function?`${e.module||"?"}/${e.function||"?"}`:"<unknown>"}W0.Transaction=Qae});var fY=d(xI=>{"use strict";Object.defineProperty(xI,"__esModule",{value:!0});var Er=Q(),tr=W(),KI=Vc(),aY="HttpClient",tce=(e={})=>{let t={failedRequestStatusCodes:[[500,599]],failedRequestTargets:[/.*/],...e};return{name:aY,setupOnce(){},setup(n){lce(n,t),dce(n,t)}}},cY=Er.defineIntegration(tce),nce=Er.convertIntegrationFnToClass(aY,cY);function rce(e,t,n,r){if(lY(e,n.status,n.url)){let i=gce(t,r),o,s,a,c;gY()&&([{headers:o,cookies:a},{headers:s,cookies:c}]=[{cookieHeader:"Cookie",obj:i},{cookieHeader:"Set-Cookie",obj:n}].map(({cookieHeader:l,obj:g})=>{let f=sce(g.headers),I;try{let m=f[l]||f[l.toLowerCase()]||void 0;m&&(I=uY(m))}catch{KI.DEBUG_BUILD&&tr.logger.log(`Could not extract cookies from header ${l}`)}return{headers:f,cookies:I}}));let u=dY({url:i.url,method:i.method,status:n.status,requestHeaders:o,responseHeaders:s,requestCookies:a,responseCookies:c});Er.captureEvent(u)}}function ice(e,t,n,r){if(lY(e,t.status,t.responseURL)){let i,o,s;if(gY()){try{let c=t.getResponseHeader("Set-Cookie")||t.getResponseHeader("set-cookie")||void 0;c&&(o=uY(c))}catch{KI.DEBUG_BUILD&&tr.logger.log("Could not extract cookies from response headers")}try{s=ace(t)}catch{KI.DEBUG_BUILD&&tr.logger.log("Could not extract headers from response")}i=r}let a=dY({url:t.responseURL,method:n,status:t.status,requestHeaders:i,responseHeaders:s,responseCookies:o});Er.captureEvent(a)}}function oce(e){if(e){let t=e["Content-Length"]||e["content-length"];if(t)return parseInt(t,10)}}function uY(e){return e.split("; ").reduce((t,n)=>{let[r,i]=n.split("=");return t[r]=i,t},{})}function sce(e){let t={};return e.forEach((n,r)=>{t[r]=n}),t}function ace(e){let t=e.getAllResponseHeaders();return t?t.split(`\r
|
|
40
|
+
`).reduce((n,r)=>{let[i,o]=r.split(": ");return n[i]=o,n},{}):{}}function cce(e,t){return e.some(n=>typeof n=="string"?t.includes(n):n.test(t))}function uce(e,t){return e.some(n=>typeof n=="number"?n===t:t>=n[0]&&t<=n[1])}function lce(e,t){tr.supportsNativeFetch()&&tr.addFetchInstrumentationHandler(n=>{if(Er.getClient()!==e)return;let{response:r,args:i}=n,[o,s]=i;r&&rce(t,o,r,s)})}function dce(e,t){"XMLHttpRequest"in tr.GLOBAL_OBJ&&tr.addXhrInstrumentationHandler(n=>{if(Er.getClient()!==e)return;let r=n.xhr,i=r[tr.SENTRY_XHR_DATA_KEY];if(!i)return;let{method:o,request_headers:s}=i;try{ice(t,r,o,s)}catch(a){KI.DEBUG_BUILD&&tr.logger.warn("Error while extracting response event form XHR response",a)}})}function lY(e,t,n){return uce(e.failedRequestStatusCodes,t)&&cce(e.failedRequestTargets,n)&&!Er.isSentryRequestUrl(n,Er.getClient())}function dY(e){let t=`HTTP Client Error with status code: ${e.status}`,n={message:t,exception:{values:[{type:"Error",value:t}]},request:{url:e.url,method:e.method,headers:e.requestHeaders,cookies:e.requestCookies},contexts:{response:{status_code:e.status,headers:e.responseHeaders,cookies:e.responseCookies,body_size:oce(e.responseHeaders)}}};return tr.addExceptionMechanism(n,{type:"http.client",handled:!1}),n}function gce(e,t){return!t&&e instanceof Request||e instanceof Request&&e.bodyUsed?e:new Request(e,t)}function gY(){let e=Er.getClient();return e?!!e.getOptions().sendDefaultPii:!1}xI.HttpClient=nce;xI.httpClientIntegration=cY});var CY=d(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});var IY=Q(),V0=W(),N0=V0.GLOBAL_OBJ,fce=7,pY="ContextLines",Ice=(e={})=>{let t=e.frameContextLines!=null?e.frameContextLines:fce;return{name:pY,setupOnce(){},processEvent(n){return mce(n,t)}}},mY=IY.defineIntegration(Ice),pce=IY.convertIntegrationFnToClass(pY,mY);function mce(e,t){let n=N0.document,r=N0.location&&V0.stripUrlQueryAndFragment(N0.location.href);if(!n||!r)return e;let i=e.exception&&e.exception.values;if(!i||!i.length)return e;let o=n.documentElement.innerHTML;if(!o)return e;let s=["<!DOCTYPE html>","<html>",...o.split(`
|
|
41
|
+
`),"</html>"];return i.forEach(a=>{let c=a.stacktrace;c&&c.frames&&(c.frames=c.frames.map(u=>hY(u,s,r,t)))}),e}function hY(e,t,n,r){return e.filename!==n||!e.lineno||!t.length||V0.addContextToFrame(t,e,r),e}Hc.ContextLines=pce;Hc.applySourceContextToFrame=hY;Hc.contextLinesIntegration=mY});var WY=d(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});var bY=Zw(),yY=Ww(),AY=Tw(),BY=xw(),hce=Jw(),GY=zw(),ZY=eY(),vY=iY(),Cce=sY(),SY=fY(),RY=CY();Se.CaptureConsole=bY.CaptureConsole;Se.captureConsoleIntegration=bY.captureConsoleIntegration;Se.Debug=yY.Debug;Se.debugIntegration=yY.debugIntegration;Se.Dedupe=AY.Dedupe;Se.dedupeIntegration=AY.dedupeIntegration;Se.ExtraErrorData=BY.ExtraErrorData;Se.extraErrorDataIntegration=BY.extraErrorDataIntegration;Se.Offline=hce.Offline;Se.ReportingObserver=GY.ReportingObserver;Se.reportingObserverIntegration=GY.reportingObserverIntegration;Se.RewriteFrames=ZY.RewriteFrames;Se.rewriteFramesIntegration=ZY.rewriteFramesIntegration;Se.SessionTiming=vY.SessionTiming;Se.sessionTimingIntegration=vY.sessionTimingIntegration;Se.Transaction=Cce.Transaction;Se.HttpClient=SY.HttpClient;Se.httpClientIntegration=SY.httpClientIntegration;Se.ContextLines=RY.ContextLines;Se.contextLinesIntegration=RY.contextLinesIntegration});var LI=d(_0=>{"use strict";Object.defineProperty(_0,"__esModule",{value:!0});var bce=[["january","1"],["february","2"],["march","3"],["april","4"],["may","5"],["june","6"],["july","7"],["august","8"],["september","9"],["october","10"],["november","11"],["december","12"],["jan","1"],["feb","2"],["mar","3"],["apr","4"],["may","5"],["jun","6"],["jul","7"],["aug","8"],["sep","9"],["oct","10"],["nov","11"],["dec","12"],["sunday","0"],["monday","1"],["tuesday","2"],["wednesday","3"],["thursday","4"],["friday","5"],["saturday","6"],["sun","0"],["mon","1"],["tue","2"],["wed","3"],["thu","4"],["fri","5"],["sat","6"]];function yce(e){return bce.reduce((t,[n,r])=>t.replace(new RegExp(n,"gi"),r),e)}_0.replaceCronNames=yce});var EY=d(E0=>{"use strict";Object.defineProperty(E0,"__esModule",{value:!0});var NY=Q(),VY=LI(),_Y="Automatic instrumentation of CronJob only supports crontab string";function Ace(e,t){let n=!1;return new Proxy(e,{construct(r,i){let[o,s,a,c,u,...l]=i;if(typeof o!="string")throw new Error(_Y);if(n)throw new Error(`A job named '${t}' has already been scheduled`);n=!0;let g=VY.replaceCronNames(o);function f(I,m){return NY.withMonitor(t,()=>s(I,m),{schedule:{type:"crontab",value:g},timezone:u||void 0})}return new r(o,f,a,c,u,...l)},get(r,i){return i==="from"?o=>{let{cronTime:s,onTick:a,timeZone:c}=o;if(typeof s!="string")throw new Error(_Y);if(n)throw new Error(`A job named '${t}' has already been scheduled`);n=!0;let u=VY.replaceCronNames(s);return o.onTick=(l,g)=>NY.withMonitor(t,()=>a(l,g),{schedule:{type:"crontab",value:u},timezone:c||void 0}),r.from(o)}:r[i]}})}E0.instrumentCron=Ace});var wY=d(H0=>{"use strict";var{_optionalChain:HY}=W();Object.defineProperty(H0,"__esModule",{value:!0});var Bce=Q(),Gce=LI();function Zce(e){return new Proxy(e,{get(t,n){return n==="schedule"&&t.schedule?new Proxy(t.schedule,{apply(r,i,o){let[s,,a]=o;if(!HY([a,"optionalAccess",c=>c.name]))throw new Error('Missing "name" for scheduled job. A name is required for Sentry check-in monitoring.');return Bce.withMonitor(a.name,()=>r.apply(i,o),{schedule:{type:"crontab",value:Gce.replaceCronNames(s)},timezone:HY([a,"optionalAccess",c=>c.timezone])})}}):t[n]}})}H0.instrumentNodeCron=Zce});var YY=d(w0=>{"use strict";Object.defineProperty(w0,"__esModule",{value:!0});var vce=Q(),Sce=LI();function Rce(e){return new Proxy(e,{get(t,n){return n==="scheduleJob"?new Proxy(t.scheduleJob,{apply(r,i,o){let[s,a]=o;if(typeof s!="string"||typeof a!="string")throw new Error("Automatic instrumentation of 'node-schedule' requires the first parameter of 'scheduleJob' to be a job name string and the second parameter to be a crontab string");let c=s,u=a;return vce.withMonitor(c,()=>r.apply(i,o),{schedule:{type:"crontab",value:Sce.replaceCronNames(u)}})}}):t[n]}})}w0.instrumentNodeSchedule=Rce});var UI=d(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});var U=Q(),Wce=xE(),Nce=Ly(),Vce=zy(),wc=m0(),Y0=W(),_ce=ew(),FY=p0(),Ece=aw(),Hce=fw(),wce=yw(),Yce=Aw(),ci=WY(),Fce=sI(),Tce=yI(),Xce=BI(),kce=hI(),Kce=lI(),xce=aI(),Lce=pI(),Uce=GI(),Jce=NI(),TY=Z0(),XY=vI(),kY=dI(),Oce=G0(),Mce=EY(),Dce=wY(),qce=YY(),zce=FY.createGetModuleFromFilename(),Pce={...U.Integrations,...wce,...Yce},jce={instrumentCron:Mce.instrumentCron,instrumentNodeCron:Dce.instrumentNodeCron,instrumentNodeSchedule:qce.instrumentNodeSchedule};V.Hub=U.Hub;V.SDK_VERSION=U.SDK_VERSION;V.SEMANTIC_ATTRIBUTE_SENTRY_OP=U.SEMANTIC_ATTRIBUTE_SENTRY_OP;V.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN=U.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN;V.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE=U.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE;V.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE=U.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE;V.Scope=U.Scope;V.addBreadcrumb=U.addBreadcrumb;V.addEventProcessor=U.addEventProcessor;V.addGlobalEventProcessor=U.addGlobalEventProcessor;V.addIntegration=U.addIntegration;V.captureCheckIn=U.captureCheckIn;V.captureEvent=U.captureEvent;V.captureException=U.captureException;V.captureMessage=U.captureMessage;V.captureSession=U.captureSession;V.close=U.close;V.configureScope=U.configureScope;V.continueTrace=U.continueTrace;V.createTransport=U.createTransport;V.endSession=U.endSession;V.extractTraceparentData=U.extractTraceparentData;V.flush=U.flush;V.functionToStringIntegration=U.functionToStringIntegration;V.getActiveSpan=U.getActiveSpan;V.getActiveTransaction=U.getActiveTransaction;V.getClient=U.getClient;V.getCurrentHub=U.getCurrentHub;V.getCurrentScope=U.getCurrentScope;V.getGlobalScope=U.getGlobalScope;V.getHubFromCarrier=U.getHubFromCarrier;V.getIsolationScope=U.getIsolationScope;V.getSpanStatusFromHttpCode=U.getSpanStatusFromHttpCode;V.inboundFiltersIntegration=U.inboundFiltersIntegration;V.isInitialized=U.isInitialized;V.lastEventId=U.lastEventId;V.linkedErrorsIntegration=U.linkedErrorsIntegration;V.makeMain=U.makeMain;V.metrics=U.metrics;V.parameterize=U.parameterize;V.requestDataIntegration=U.requestDataIntegration;V.runWithAsyncContext=U.runWithAsyncContext;V.setContext=U.setContext;V.setCurrentClient=U.setCurrentClient;V.setExtra=U.setExtra;V.setExtras=U.setExtras;V.setHttpStatus=U.setHttpStatus;V.setMeasurement=U.setMeasurement;V.setTag=U.setTag;V.setTags=U.setTags;V.setUser=U.setUser;V.spanStatusfromHttpCode=U.spanStatusfromHttpCode;V.startActiveSpan=U.startActiveSpan;V.startInactiveSpan=U.startInactiveSpan;V.startSession=U.startSession;V.startSpan=U.startSpan;V.startSpanManual=U.startSpanManual;V.startTransaction=U.startTransaction;V.trace=U.trace;V.withActiveSpan=U.withActiveSpan;V.withIsolationScope=U.withIsolationScope;V.withMonitor=U.withMonitor;V.withScope=U.withScope;V.autoDiscoverNodePerformanceMonitoringIntegrations=Wce.autoDiscoverNodePerformanceMonitoringIntegrations;V.NodeClient=Nce.NodeClient;V.makeNodeTransport=Vce.makeNodeTransport;V.defaultIntegrations=wc.defaultIntegrations;V.defaultStackParser=wc.defaultStackParser;V.getDefaultIntegrations=wc.getDefaultIntegrations;V.getSentryRelease=wc.getSentryRelease;V.init=wc.init;V.DEFAULT_USER_INCLUDES=Y0.DEFAULT_USER_INCLUDES;V.addRequestDataToEvent=Y0.addRequestDataToEvent;V.extractRequestData=Y0.extractRequestData;V.deepReadDirSync=_ce.deepReadDirSync;V.createGetModuleFromFilename=FY.createGetModuleFromFilename;V.enableAnrDetection=Ece.enableAnrDetection;V.Handlers=Hce;V.captureConsoleIntegration=ci.captureConsoleIntegration;V.debugIntegration=ci.debugIntegration;V.dedupeIntegration=ci.dedupeIntegration;V.extraErrorDataIntegration=ci.extraErrorDataIntegration;V.httpClientIntegration=ci.httpClientIntegration;V.reportingObserverIntegration=ci.reportingObserverIntegration;V.rewriteFramesIntegration=ci.rewriteFramesIntegration;V.sessionTimingIntegration=ci.sessionTimingIntegration;V.consoleIntegration=Fce.consoleIntegration;V.onUncaughtExceptionIntegration=Tce.onUncaughtExceptionIntegration;V.onUnhandledRejectionIntegration=Xce.onUnhandledRejectionIntegration;V.modulesIntegration=kce.modulesIntegration;V.contextLinesIntegration=Kce.contextLinesIntegration;V.nodeContextIntegration=xce.nodeContextIntegration;V.localVariablesIntegration=Lce.localVariablesIntegration;V.spotlightIntegration=Uce.spotlightIntegration;V.anrIntegration=Jce.anrIntegration;V.hapiErrorPlugin=TY.hapiErrorPlugin;V.hapiIntegration=TY.hapiIntegration;V.Undici=XY.Undici;V.nativeNodeFetchintegration=XY.nativeNodeFetchintegration;V.Http=kY.Http;V.httpIntegration=kY.httpIntegration;V.trpcMiddleware=Oce.trpcMiddleware;V.Integrations=Pce;V.cron=jce;V.getModuleFromFilename=zce});function F0(){return JI>OI.length-16&&(KY.default.randomFillSync(OI),JI=0),OI.slice(JI,JI+=16)}var KY,OI,JI,xY=Ve(()=>{"use strict";KY=M(require("crypto")),OI=new Uint8Array(256),JI=OI.length});function LY(e,t=0){return $e[e[t+0]]+$e[e[t+1]]+$e[e[t+2]]+$e[e[t+3]]+"-"+$e[e[t+4]]+$e[e[t+5]]+"-"+$e[e[t+6]]+$e[e[t+7]]+"-"+$e[e[t+8]]+$e[e[t+9]]+"-"+$e[e[t+10]]+$e[e[t+11]]+$e[e[t+12]]+$e[e[t+13]]+$e[e[t+14]]+$e[e[t+15]]}var $e,UY=Ve(()=>{"use strict";$e=[];for(let e=0;e<256;++e)$e.push((e+256).toString(16).slice(1))});var JY,T0,OY=Ve(()=>{"use strict";JY=M(require("crypto")),T0={randomUUID:JY.default.randomUUID}});function Qce(e,t,n){if(T0.randomUUID&&!t&&!e)return T0.randomUUID();e=e||{};let r=e.random||(e.rng||F0)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return LY(r)}var MI,MY=Ve(()=>{"use strict";OY();xY();UY();MI=Qce});var DY=Ve(()=>{"use strict";MY()});var qY=d((kEe,$ce)=>{$ce.exports=[{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"TF_BUILD",pr:{BUILD_REASON:"PullRequest"}},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codemagic",constant:"CODEMAGIC",env:"CM_BUILD_ID",pr:"CM_PULL_REQUEST"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"Gerrit",constant:"GERRIT",env:"GERRIT_PROJECT"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Google Cloud Build",constant:"GOOGLE_CLOUD_BUILD",env:"BUILDER_OUTPUT"},{name:"Harness CI",constant:"HARNESS",env:"HARNESS_BUILD_ID"},{name:"Heroku",constant:"HEROKU",env:{env:"NODE",includes:"/app/.heroku/node/bin/node"}},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"ReleaseHub",constant:"RELEASEHUB",env:"RELEASE_BUILD_ID"},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Sourcehut",constant:"SOURCEHUT",env:{CI_NAME:"sourcehut"}},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:{any:["NOW_BUILDER","VERCEL"]},pr:"VERCEL_GIT_PULL_REQUEST_ID"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"},{name:"Woodpecker",constant:"WOODPECKER",env:{CI:"woodpecker"},pr:{CI_BUILD_EVENT:"pull_request"}},{name:"Xcode Cloud",constant:"XCODE_CLOUD",env:"CI_XCODE_PROJECT",pr:"CI_PULL_REQUEST_NUMBER"},{name:"Xcode Server",constant:"XCODE_SERVER",env:"XCS"}]});var jY=d($t=>{"use strict";var PY=qY(),xe=process.env;Object.defineProperty($t,"_vendors",{value:PY.map(function(e){return e.constant})});$t.name=null;$t.isPR=null;PY.forEach(function(e){let n=(Array.isArray(e.env)?e.env:[e.env]).every(function(r){return zY(r)});if($t[e.constant]=n,!!n)switch($t.name=e.name,typeof e.pr){case"string":$t.isPR=!!xe[e.pr];break;case"object":"env"in e.pr?$t.isPR=e.pr.env in xe&&xe[e.pr.env]!==e.pr.ne:"any"in e.pr?$t.isPR=e.pr.any.some(function(r){return!!xe[r]}):$t.isPR=zY(e.pr);break;default:$t.isPR=null}});$t.isCI=!!(xe.CI!=="false"&&(xe.BUILD_ID||xe.BUILD_NUMBER||xe.CI||xe.CI_APP_ID||xe.CI_BUILD_ID||xe.CI_BUILD_NUMBER||xe.CI_NAME||xe.CONTINUOUS_INTEGRATION||xe.RUN_ID||$t.name));function zY(e){return typeof e=="string"?!!xe[e]:"env"in e?xe[e.env]&&xe[e.env].includes(e.includes):"any"in e?e.any.some(function(t){return!!xe[t]}):Object.keys(e).every(function(t){return xe[t]===e[t]})}});var $Y=d((xEe,QY)=>{"use strict";var Ss=1e3,Rs=Ss*60,Ws=Rs*60,Io=Ws*24,eue=Io*7,tue=Io*365.25;QY.exports=function(e,t){t=t||{};var n=typeof e;if(n==="string"&&e.length>0)return nue(e);if(n==="number"&&isFinite(e))return t.long?iue(e):rue(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function nue(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var n=parseFloat(t[1]),r=(t[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return n*tue;case"weeks":case"week":case"w":return n*eue;case"days":case"day":case"d":return n*Io;case"hours":case"hour":case"hrs":case"hr":case"h":return n*Ws;case"minutes":case"minute":case"mins":case"min":case"m":return n*Rs;case"seconds":case"second":case"secs":case"sec":case"s":return n*Ss;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function rue(e){var t=Math.abs(e);return t>=Io?Math.round(e/Io)+"d":t>=Ws?Math.round(e/Ws)+"h":t>=Rs?Math.round(e/Rs)+"m":t>=Ss?Math.round(e/Ss)+"s":e+"ms"}function iue(e){var t=Math.abs(e);return t>=Io?DI(e,t,Io,"day"):t>=Ws?DI(e,t,Ws,"hour"):t>=Rs?DI(e,t,Rs,"minute"):t>=Ss?DI(e,t,Ss,"second"):e+" ms"}function DI(e,t,n,r){var i=t>=n*1.5;return Math.round(e/n)+" "+r+(i?"s":"")}});var X0=d((LEe,eF)=>{"use strict";function oue(e){n.debug=n,n.default=n,n.coerce=c,n.disable=s,n.enable=i,n.enabled=a,n.humanize=$Y(),n.destroy=u,Object.keys(e).forEach(l=>{n[l]=e[l]}),n.names=[],n.skips=[],n.formatters={};function t(l){let g=0;for(let f=0;f<l.length;f++)g=(g<<5)-g+l.charCodeAt(f),g|=0;return n.colors[Math.abs(g)%n.colors.length]}n.selectColor=t;function n(l){let g,f=null,I,m;function C(...b){if(!C.enabled)return;let v=C,Y=Number(new Date),k=Y-(g||Y);v.diff=k,v.prev=g,v.curr=Y,g=Y,b[0]=n.coerce(b[0]),typeof b[0]!="string"&&b.unshift("%O");let ee=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(N,J)=>{if(N==="%%")return"%";ee++;let q=n.formatters[J];if(typeof q=="function"){let x=b[ee];N=q.call(v,x),b.splice(ee,1),ee--}return N}),n.formatArgs.call(v,b),(v.log||n.log).apply(v,b)}return C.namespace=l,C.useColors=n.useColors(),C.color=n.selectColor(l),C.extend=r,C.destroy=n.destroy,Object.defineProperty(C,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(I!==n.namespaces&&(I=n.namespaces,m=n.enabled(l)),m),set:b=>{f=b}}),typeof n.init=="function"&&n.init(C),C}function r(l,g){let f=n(this.namespace+(typeof g>"u"?":":g)+l);return f.log=this.log,f}function i(l){n.save(l),n.namespaces=l,n.names=[],n.skips=[];let g=(typeof l=="string"?l:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let f of g)f[0]==="-"?n.skips.push(f.slice(1)):n.names.push(f)}function o(l,g){let f=0,I=0,m=-1,C=0;for(;f<l.length;)if(I<g.length&&(g[I]===l[f]||g[I]==="*"))g[I]==="*"?(m=I,C=f,I++):(f++,I++);else if(m!==-1)I=m+1,C++,f=C;else return!1;for(;I<g.length&&g[I]==="*";)I++;return I===g.length}function s(){let l=[...n.names,...n.skips.map(g=>"-"+g)].join(",");return n.enable(""),l}function a(l){for(let g of n.skips)if(o(l,g))return!1;for(let g of n.names)if(o(l,g))return!0;return!1}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}eF.exports=oue});var tF=d((Yt,qI)=>{"use strict";Yt.formatArgs=aue;Yt.save=cue;Yt.load=uue;Yt.useColors=sue;Yt.storage=lue();Yt.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Yt.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function sue(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function aue(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+qI.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let n=0,r=0;e[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(n++,i==="%c"&&(r=n))}),e.splice(r,0,t)}Yt.log=console.debug||console.log||(()=>{});function cue(e){try{e?Yt.storage.setItem("debug",e):Yt.storage.removeItem("debug")}catch{}}function uue(){let e;try{e=Yt.storage.getItem("debug")||Yt.storage.getItem("DEBUG")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function lue(){try{return localStorage}catch{}}qI.exports=X0()(Yt);var{formatters:due}=qI.exports;due.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var rF=d((UEe,nF)=>{"use strict";nF.exports=(e,t=process.argv)=>{let n=e.startsWith("-")?"":e.length===1?"-":"--",r=t.indexOf(n+e),i=t.indexOf("--");return r!==-1&&(i===-1||r<i)}});var sF=d((JEe,oF)=>{"use strict";var gue=require("os"),iF=require("tty"),pn=rF(),{env:De}=process,ui;pn("no-color")||pn("no-colors")||pn("color=false")||pn("color=never")?ui=0:(pn("color")||pn("colors")||pn("color=true")||pn("color=always"))&&(ui=1);"FORCE_COLOR"in De&&(De.FORCE_COLOR==="true"?ui=1:De.FORCE_COLOR==="false"?ui=0:ui=De.FORCE_COLOR.length===0?1:Math.min(parseInt(De.FORCE_COLOR,10),3));function k0(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function K0(e,t){if(ui===0)return 0;if(pn("color=16m")||pn("color=full")||pn("color=truecolor"))return 3;if(pn("color=256"))return 2;if(e&&!t&&ui===void 0)return 0;let n=ui||0;if(De.TERM==="dumb")return n;if(process.platform==="win32"){let r=gue.release().split(".");return Number(r[0])>=10&&Number(r[2])>=10586?Number(r[2])>=14931?3:2:1}if("CI"in De)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(r=>r in De)||De.CI_NAME==="codeship"?1:n;if("TEAMCITY_VERSION"in De)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(De.TEAMCITY_VERSION)?1:0;if(De.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in De){let r=parseInt((De.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(De.TERM_PROGRAM){case"iTerm.app":return r>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(De.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(De.TERM)||"COLORTERM"in De?1:n}function fue(e){let t=K0(e,e&&e.isTTY);return k0(t)}oF.exports={supportsColor:fue,stdout:k0(K0(!0,iF.isatty(1))),stderr:k0(K0(!0,iF.isatty(2)))}});var cF=d((qe,PI)=>{"use strict";var Iue=require("tty"),zI=require("util");qe.init=Aue;qe.log=Cue;qe.formatArgs=mue;qe.save=bue;qe.load=yue;qe.useColors=pue;qe.destroy=zI.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");qe.colors=[6,2,3,4,5,1];try{let e=sF();e&&(e.stderr||e).level>=2&&(qe.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}qe.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{let n=t.substring(6).toLowerCase().replace(/_([a-z])/g,(i,o)=>o.toUpperCase()),r=process.env[t];return/^(yes|on|true|enabled)$/i.test(r)?r=!0:/^(no|off|false|disabled)$/i.test(r)?r=!1:r==="null"?r=null:r=Number(r),e[n]=r,e},{});function pue(){return"colors"in qe.inspectOpts?!!qe.inspectOpts.colors:Iue.isatty(process.stderr.fd)}function mue(e){let{namespace:t,useColors:n}=this;if(n){let r=this.color,i="\x1B[3"+(r<8?r:"8;5;"+r),o=` ${i};1m${t} \x1B[0m`;e[0]=o+e[0].split(`
|
|
42
|
+
`).join(`
|
|
43
|
+
`+o),e.push(i+"m+"+PI.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=hue()+t+" "+e[0]}function hue(){return qe.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Cue(...e){return process.stderr.write(zI.formatWithOptions(qe.inspectOpts,...e)+`
|
|
44
|
+
`)}function bue(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function yue(){return process.env.DEBUG}function Aue(e){e.inspectOpts={};let t=Object.keys(qe.inspectOpts);for(let n=0;n<t.length;n++)e.inspectOpts[t[n]]=qe.inspectOpts[t[n]]}PI.exports=X0()(qe);var{formatters:aF}=PI.exports;aF.o=function(e){return this.inspectOpts.colors=this.useColors,zI.inspect(e,this.inspectOpts).split(`
|
|
45
|
+
`).map(t=>t.trim()).join(" ")};aF.O=function(e){return this.inspectOpts.colors=this.useColors,zI.inspect(e,this.inspectOpts)}});var Le=d((OEe,x0)=>{"use strict";typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?x0.exports=tF():x0.exports=cF()});var lF=d((MEe,uF)=>{"use strict";uF.exports=Bue;function Ns(e){return e instanceof Buffer?Buffer.from(e):new e.constructor(e.buffer.slice(),e.byteOffset,e.length)}function Bue(e){if(e=e||{},e.circles)return Gue(e);let t=new Map;if(t.set(Date,s=>new Date(s)),t.set(Map,(s,a)=>new Map(r(Array.from(s),a))),t.set(Set,(s,a)=>new Set(r(Array.from(s),a))),e.constructorHandlers)for(let s of e.constructorHandlers)t.set(s[0],s[1]);let n=null;return e.proto?o:i;function r(s,a){let c=Object.keys(s),u=new Array(c.length);for(let l=0;l<c.length;l++){let g=c[l],f=s[g];typeof f!="object"||f===null?u[g]=f:f.constructor!==Object&&(n=t.get(f.constructor))?u[g]=n(f,a):ArrayBuffer.isView(f)?u[g]=Ns(f):u[g]=a(f)}return u}function i(s){if(typeof s!="object"||s===null)return s;if(Array.isArray(s))return r(s,i);if(s.constructor!==Object&&(n=t.get(s.constructor)))return n(s,i);let a={};for(let c in s){if(Object.hasOwnProperty.call(s,c)===!1)continue;let u=s[c];typeof u!="object"||u===null?a[c]=u:u.constructor!==Object&&(n=t.get(u.constructor))?a[c]=n(u,i):ArrayBuffer.isView(u)?a[c]=Ns(u):a[c]=i(u)}return a}function o(s){if(typeof s!="object"||s===null)return s;if(Array.isArray(s))return r(s,o);if(s.constructor!==Object&&(n=t.get(s.constructor)))return n(s,o);let a={};for(let c in s){let u=s[c];typeof u!="object"||u===null?a[c]=u:u.constructor!==Object&&(n=t.get(u.constructor))?a[c]=n(u,o):ArrayBuffer.isView(u)?a[c]=Ns(u):a[c]=o(u)}return a}}function Gue(e){let t=[],n=[],r=new Map;if(r.set(Date,c=>new Date(c)),r.set(Map,(c,u)=>new Map(o(Array.from(c),u))),r.set(Set,(c,u)=>new Set(o(Array.from(c),u))),e.constructorHandlers)for(let c of e.constructorHandlers)r.set(c[0],c[1]);let i=null;return e.proto?a:s;function o(c,u){let l=Object.keys(c),g=new Array(l.length);for(let f=0;f<l.length;f++){let I=l[f],m=c[I];if(typeof m!="object"||m===null)g[I]=m;else if(m.constructor!==Object&&(i=r.get(m.constructor)))g[I]=i(m,u);else if(ArrayBuffer.isView(m))g[I]=Ns(m);else{let C=t.indexOf(m);C!==-1?g[I]=n[C]:g[I]=u(m)}}return g}function s(c){if(typeof c!="object"||c===null)return c;if(Array.isArray(c))return o(c,s);if(c.constructor!==Object&&(i=r.get(c.constructor)))return i(c,s);let u={};t.push(c),n.push(u);for(let l in c){if(Object.hasOwnProperty.call(c,l)===!1)continue;let g=c[l];if(typeof g!="object"||g===null)u[l]=g;else if(g.constructor!==Object&&(i=r.get(g.constructor)))u[l]=i(g,s);else if(ArrayBuffer.isView(g))u[l]=Ns(g);else{let f=t.indexOf(g);f!==-1?u[l]=n[f]:u[l]=s(g)}}return t.pop(),n.pop(),u}function a(c){if(typeof c!="object"||c===null)return c;if(Array.isArray(c))return o(c,a);if(c.constructor!==Object&&(i=r.get(c.constructor)))return i(c,a);let u={};t.push(c),n.push(u);for(let l in c){let g=c[l];if(typeof g!="object"||g===null)u[l]=g;else if(g.constructor!==Object&&(i=r.get(g.constructor)))u[l]=i(g,a);else if(ArrayBuffer.isView(g))u[l]=Ns(g);else{let f=t.indexOf(g);f!==-1?u[l]=n[f]:u[l]=a(g)}}return t.pop(),n.pop(),u}}});var mo=d((DEe,IF)=>{"use strict";var Zue=require("util"),po=Le()("log4js:configuration"),jI=[],QI=[],dF=e=>!e,gF=e=>e&&typeof e=="object"&&!Array.isArray(e),vue=e=>/^[A-Za-z][A-Za-z0-9_]*$/g.test(e),Sue=e=>e&&typeof e=="number"&&Number.isInteger(e),Rue=e=>{QI.push(e),po(`Added listener, now ${QI.length} listeners`)},Wue=e=>{jI.push(e),po(`Added pre-processing listener, now ${jI.length} listeners`)},fF=(e,t,n)=>{(Array.isArray(t)?t:[t]).forEach(i=>{if(i)throw new Error(`Problem with log4js configuration: (${Zue.inspect(e,{depth:5})}) - ${n}`)})},Nue=e=>{po("New configuration to be validated: ",e),fF(e,dF(gF(e)),"must be an object."),po(`Calling pre-processing listeners (${jI.length})`),jI.forEach(t=>t(e)),po("Configuration pre-processing finished."),po(`Calling configuration listeners (${QI.length})`),QI.forEach(t=>t(e)),po("Configuration finished.")};IF.exports={configure:Nue,addListener:Rue,addPreProcessingListener:Wue,throwExceptionIf:fF,anObject:gF,anInteger:Sue,validIdentifier:vue,not:dF}});var $I=d((qEe,mn)=>{"use strict";function pF(e,t){for(var n=e.toString();n.length<t;)n="0"+n;return n}function ho(e){return pF(e,2)}function Vue(e){var t=Math.abs(e),n=String(Math.floor(t/60)),r=String(t%60);return n=("0"+n).slice(-2),r=("0"+r).slice(-2),e===0?"Z":(e<0?"+":"-")+n+":"+r}function mF(e,t){typeof e!="string"&&(t=e,e=mn.exports.ISO8601_FORMAT),t||(t=mn.exports.now());var n=ho(t.getDate()),r=ho(t.getMonth()+1),i=ho(t.getFullYear()),o=ho(i.substring(2,4)),s=e.indexOf("yyyy")>-1?i:o,a=ho(t.getHours()),c=ho(t.getMinutes()),u=ho(t.getSeconds()),l=pF(t.getMilliseconds(),3),g=Vue(t.getTimezoneOffset()),f=e.replace(/dd/g,n).replace(/MM/g,r).replace(/y{1,4}/g,s).replace(/hh/g,a).replace(/mm/g,c).replace(/ss/g,u).replace(/SSS/g,l).replace(/O/g,g);return f}function li(e,t,n,r){e["set"+(r?"":"UTC")+t](n)}function _ue(e,t,n){var r=e.indexOf("O")<0,i=!1,o=[{pattern:/y{1,4}/,regexp:"\\d{1,4}",fn:function(g,f){li(g,"FullYear",f,r)}},{pattern:/MM/,regexp:"\\d{1,2}",fn:function(g,f){li(g,"Month",f-1,r),g.getMonth()!==f-1&&(i=!0)}},{pattern:/dd/,regexp:"\\d{1,2}",fn:function(g,f){i&&li(g,"Month",g.getMonth()-1,r),li(g,"Date",f,r)}},{pattern:/hh/,regexp:"\\d{1,2}",fn:function(g,f){li(g,"Hours",f,r)}},{pattern:/mm/,regexp:"\\d\\d",fn:function(g,f){li(g,"Minutes",f,r)}},{pattern:/ss/,regexp:"\\d\\d",fn:function(g,f){li(g,"Seconds",f,r)}},{pattern:/SSS/,regexp:"\\d\\d\\d",fn:function(g,f){li(g,"Milliseconds",f,r)}},{pattern:/O/,regexp:"[+-]\\d{1,2}:?\\d{2}?|Z",fn:function(g,f){f==="Z"?f=0:f=f.replace(":","");var I=Math.abs(f),m=(f>0?-1:1)*(I%100+Math.floor(I/100)*60);g.setUTCMinutes(g.getUTCMinutes()+m)}}],s=o.reduce(function(g,f){return f.pattern.test(g.regexp)?(f.index=g.regexp.match(f.pattern).index,g.regexp=g.regexp.replace(f.pattern,"("+f.regexp+")")):f.index=-1,g},{regexp:e,index:[]}),a=o.filter(function(g){return g.index>-1});a.sort(function(g,f){return g.index-f.index});var c=new RegExp(s.regexp),u=c.exec(t);if(u){var l=n||mn.exports.now();return a.forEach(function(g,f){g.fn(l,u[f+1])}),l}throw new Error("String '"+t+"' could not be parsed as '"+e+"'")}function Eue(e,t,n){if(!e)throw new Error("pattern must be supplied");return _ue(e,t,n)}function Hue(){return new Date}mn.exports=mF;mn.exports.asString=mF;mn.exports.parse=Eue;mn.exports.now=Hue;mn.exports.ISO8601_FORMAT="yyyy-MM-ddThh:mm:ss.SSS";mn.exports.ISO8601_WITH_TZ_OFFSET_FORMAT="yyyy-MM-ddThh:mm:ss.SSSO";mn.exports.DATETIME_FORMAT="dd MM yyyy hh:mm:ss.SSS";mn.exports.ABSOLUTETIME_FORMAT="hh:mm:ss.SSS"});var U0=d((zEe,WF)=>{"use strict";var di=$I(),hF=require("os"),Fc=require("util"),Yc=require("path"),CF=require("url"),bF=Le()("log4js:layouts"),yF={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[90,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[91,39],yellow:[33,39]};function AF(e){return e?`\x1B[${yF[e][0]}m`:""}function BF(e){return e?`\x1B[${yF[e][1]}m`:""}function wue(e,t){return AF(t)+e+BF(t)}function GF(e,t){return wue(Fc.format("[%s] [%s] %s - ",di.asString(e.startTime),e.level.toString(),e.categoryName),t)}function ZF(e){return GF(e)+Fc.format(...e.data)}function ep(e){return GF(e,e.level.colour)+Fc.format(...e.data)}function vF(e){return Fc.format(...e.data)}function SF(e){return e.data[0]}function RF(e,t){let n="%r %p %c - %m%n",r=/%(-?[0-9]+)?(\.?-?[0-9]+)?([[\]cdhmnprzxXyflosCMAF%])(\{([^}]+)\})?|([^%]+)/;e=e||n;function i(T,L){let K=T.categoryName;if(L){let $=parseInt(L,10),P=K.split(".");$<P.length&&(K=P.slice(P.length-$).join("."))}return K}function o(T,L){let K=di.ISO8601_FORMAT;if(L)switch(K=L,K){case"ISO8601":case"ISO8601_FORMAT":K=di.ISO8601_FORMAT;break;case"ISO8601_WITH_TZ_OFFSET":case"ISO8601_WITH_TZ_OFFSET_FORMAT":K=di.ISO8601_WITH_TZ_OFFSET_FORMAT;break;case"ABSOLUTE":process.emitWarning("Pattern %d{ABSOLUTE} is deprecated in favor of %d{ABSOLUTETIME}. Please use %d{ABSOLUTETIME} instead.","DeprecationWarning","log4js-node-DEP0003"),bF("[log4js-node-DEP0003]","DEPRECATION: Pattern %d{ABSOLUTE} is deprecated and replaced by %d{ABSOLUTETIME}.");case"ABSOLUTETIME":case"ABSOLUTETIME_FORMAT":K=di.ABSOLUTETIME_FORMAT;break;case"DATE":process.emitWarning("Pattern %d{DATE} is deprecated due to the confusion it causes when used. Please use %d{DATETIME} instead.","DeprecationWarning","log4js-node-DEP0004"),bF("[log4js-node-DEP0004]","DEPRECATION: Pattern %d{DATE} is deprecated and replaced by %d{DATETIME}.");case"DATETIME":case"DATETIME_FORMAT":K=di.DATETIME_FORMAT;break}return di.asString(K,T.startTime)}function s(){return hF.hostname().toString()}function a(T,L){let K=T.data;if(L){let[$,P]=L.split(",");K=K.slice($,P)}return Fc.format(...K)}function c(){return hF.EOL}function u(T){return T.level.toString()}function l(T){return di.asString("hh:mm:ss",T.startTime)}function g(T){return AF(T.level.colour)}function f(T){return BF(T.level.colour)}function I(){return"%"}function m(T){return T&&T.pid?T.pid.toString():process.pid.toString()}function C(){return m()}function b(T,L){return typeof t[L]<"u"?typeof t[L]=="function"?t[L](T):t[L]:null}function v(T,L){let K=T.context[L];return typeof K<"u"?typeof K=="function"?K(T):K:null}function Y(T,L){let K=T.fileName||"";if(K=function(P){let Yn="file://";return P.startsWith(Yn)&&(typeof CF.fileURLToPath=="function"?P=CF.fileURLToPath(P):(P=Yc.normalize(P.replace(new RegExp(`^${Yn}`),"")),process.platform==="win32"&&(P.startsWith("\\")?P=P.slice(1):P=Yc.sep+Yc.sep+P))),P}(K),L){let P=parseInt(L,10),Yn=K.split(Yc.sep);Yn.length>P&&(K=Yn.slice(-P).join(Yc.sep))}return K}function k(T){return T.lineNumber?`${T.lineNumber}`:""}function ee(T){return T.columnNumber?`${T.columnNumber}`:""}function re(T){return T.callStack||""}function N(T){return T.className||""}function J(T){return T.functionName||""}function q(T){return T.functionAlias||""}function x(T){return T.callerName||""}let z={c:i,d:o,h:s,m:a,n:c,p:u,r:l,"[":g,"]":f,y:C,z:m,"%":I,x:b,X:v,f:Y,l:k,o:ee,s:re,C:N,M:J,A:q,F:x};function j(T,L,K){return z[T](L,K)}function oe(T,L){let K;return T?(K=parseInt(T.slice(1),10),K>0?L.slice(0,K):L.slice(K)):L}function se(T,L){let K;if(T)if(T.charAt(0)==="-")for(K=parseInt(T.slice(1),10);L.length<K;)L+=" ";else for(K=parseInt(T,10);L.length<K;)L=` ${L}`;return L}function de(T,L,K){let $=T;return $=oe(L,$),$=se(K,$),$}return function(T){let L="",K,$=e;for(;(K=r.exec($))!==null;){let P=K[1],Yn=K[2],ym=K[3],Bn=K[5],ra=K[6];if(ra)L+=ra.toString();else{let Am=j(ym,T,Bn);L+=de(Am,Yn,P)}$=$.slice(K.index+K[0].length)}return L}}var L0={messagePassThrough(){return vF},basic(){return ZF},colored(){return ep},coloured(){return ep},pattern(e){return RF(e&&e.pattern,e&&e.tokens)},dummy(){return SF}};WF.exports={basicLayout:ZF,messagePassThroughLayout:vF,patternLayout:RF,colouredLayout:ep,coloredLayout:ep,dummyLayout:SF,addLayout(e,t){L0[e]=t},layout(e,t){return L0[e]&&L0[e](t)}}});var Co=d((PEe,VF)=>{"use strict";var Fe=mo(),NF=["white","grey","black","blue","cyan","green","magenta","red","yellow"],Vs=class e{constructor(t,n,r){this.level=t,this.levelStr=n,this.colour=r}toString(){return this.levelStr}static getLevel(t,n){return t?t instanceof e?t:(t instanceof Object&&t.levelStr&&(t=t.levelStr),e[t.toString().toUpperCase()]||n):n}static addLevels(t){t&&(Object.keys(t).forEach(r=>{let i=r.toUpperCase();e[i]=new e(t[r].value,i,t[r].colour);let o=e.levels.findIndex(s=>s.levelStr===i);o>-1?e.levels[o]=e[i]:e.levels.push(e[i])}),e.levels.sort((r,i)=>r.level-i.level))}isLessThanOrEqualTo(t){return typeof t=="string"&&(t=e.getLevel(t)),this.level<=t.level}isGreaterThanOrEqualTo(t){return typeof t=="string"&&(t=e.getLevel(t)),this.level>=t.level}isEqualTo(t){return typeof t=="string"&&(t=e.getLevel(t)),this.level===t.level}};Vs.levels=[];Vs.addLevels({ALL:{value:Number.MIN_VALUE,colour:"grey"},TRACE:{value:5e3,colour:"blue"},DEBUG:{value:1e4,colour:"cyan"},INFO:{value:2e4,colour:"green"},WARN:{value:3e4,colour:"yellow"},ERROR:{value:4e4,colour:"red"},FATAL:{value:5e4,colour:"magenta"},MARK:{value:9007199254740992,colour:"grey"},OFF:{value:Number.MAX_VALUE,colour:"grey"}});Fe.addListener(e=>{let t=e.levels;t&&(Fe.throwExceptionIf(e,Fe.not(Fe.anObject(t)),"levels must be an object"),Object.keys(t).forEach(r=>{Fe.throwExceptionIf(e,Fe.not(Fe.validIdentifier(r)),`level name "${r}" is not a valid identifier (must start with a letter, only contain A-Z,a-z,0-9,_)`),Fe.throwExceptionIf(e,Fe.not(Fe.anObject(t[r])),`level "${r}" must be an object`),Fe.throwExceptionIf(e,Fe.not(t[r].value),`level "${r}" must have a 'value' property`),Fe.throwExceptionIf(e,Fe.not(Fe.anInteger(t[r].value)),`level "${r}".value must have an integer value`),Fe.throwExceptionIf(e,Fe.not(t[r].colour),`level "${r}" must have a 'colour' property`),Fe.throwExceptionIf(e,Fe.not(NF.indexOf(t[r].colour)>-1),`level "${r}".colour must be one of ${NF.join(", ")}`)}))});Fe.addListener(e=>{Vs.addLevels(e.levels)});VF.exports=Vs});var KF=d(Xc=>{"use strict";var{parse:HF,stringify:wF}=JSON,{keys:Yue}=Object,Tc=String,YF="string",_F={},tp="object",FF=(e,t)=>t,Fue=e=>e instanceof Tc?Tc(e):e,Tue=(e,t)=>typeof t===YF?new Tc(t):t,TF=(e,t,n,r)=>{let i=[];for(let o=Yue(n),{length:s}=o,a=0;a<s;a++){let c=o[a],u=n[c];if(u instanceof Tc){let l=e[u];typeof l===tp&&!t.has(l)?(t.add(l),n[c]=_F,i.push({k:c,a:[e,t,l,r]})):n[c]=r.call(n,c,l)}else n[c]!==_F&&(n[c]=r.call(n,c,u))}for(let{length:o}=i,s=0;s<o;s++){let{k:a,a:c}=i[s];n[a]=r.call(n,a,TF.apply(null,c))}return n},EF=(e,t,n)=>{let r=Tc(t.push(n)-1);return e.set(n,r),r},XF=(e,t)=>{let n=HF(e,Tue).map(Fue),r=n[0],i=t||FF,o=typeof r===tp&&r?TF(n,new Set,r,i):r;return i.call({"":o},"",o)};Xc.parse=XF;var kF=(e,t,n)=>{let r=t&&typeof t===tp?(l,g)=>l===""||-1<t.indexOf(l)?g:void 0:t||FF,i=new Map,o=[],s=[],a=+EF(i,o,r.call({"":e},"",e)),c=!a;for(;a<o.length;)c=!0,s[a]=wF(o[a++],u,n);return"["+s.join(",")+"]";function u(l,g){if(c)return c=!c,g;let f=r.call(this,l,g);switch(typeof f){case tp:if(f===null)return f;case YF:return i.get(f)||EF(i,o,f)}return f}};Xc.stringify=kF;var Xue=e=>HF(kF(e));Xc.toJSON=Xue;var kue=e=>XF(wF(e));Xc.fromJSON=kue});var M0=d((QEe,JF)=>{"use strict";var xF=KF(),LF=Co(),J0=class{constructor(){let t={__LOG4JS_undefined__:void 0,__LOG4JS_NaN__:+"abc",__LOG4JS_Infinity__:1/0,"__LOG4JS_-Infinity__":-1/0};this.deMap=t,this.serMap={},Object.keys(this.deMap).forEach(n=>{let r=this.deMap[n];this.serMap[r]=n})}canSerialise(t){return typeof t=="string"?!1:t in this.serMap}serialise(t){return this.canSerialise(t)?this.serMap[t]:t}canDeserialise(t){return t in this.deMap}deserialise(t){return this.canDeserialise(t)?this.deMap[t]:t}},UF=new J0,O0=class e{constructor(t,n,r,i,o,s){if(this.startTime=new Date,this.categoryName=t,this.data=r,this.level=n,this.context=Object.assign({},i),this.pid=process.pid,this.error=s,typeof o<"u"){if(!o||typeof o!="object"||Array.isArray(o))throw new TypeError("Invalid location type passed to LoggingEvent constructor");this.constructor._getLocationKeys().forEach(a=>{typeof o[a]<"u"&&(this[a]=o[a])})}}static _getLocationKeys(){return["fileName","lineNumber","columnNumber","callStack","className","functionName","functionAlias","callerName"]}serialise(){return xF.stringify(this,(t,n)=>(n instanceof Error&&(n=Object.assign({message:n.message,stack:n.stack},n)),UF.serialise(n)))}static deserialise(t){let n;try{let r=xF.parse(t,(i,o)=>{if(o&&o.message&&o.stack){let s=new Error(o);Object.keys(o).forEach(a=>{s[a]=o[a]}),o=s}return UF.deserialise(o)});this._getLocationKeys().forEach(i=>{typeof r[i]<"u"&&(r.location||(r.location={}),r.location[i]=r[i])}),n=new e(r.categoryName,LF.getLevel(r.level.levelStr),r.data,r.context,r.location,r.error),n.startTime=new Date(r.startTime),n.pid=r.pid,r.cluster&&(n.cluster=r.cluster)}catch(r){n=new e("log4js",LF.ERROR,["Unable to parse log:",t,"because: ",r])}return n}};JF.exports=O0});var rp=d(($Ee,DF)=>{"use strict";var hn=Le()("log4js:clustering"),Kue=M0(),xue=mo(),_s=!1,Cn=null;try{Cn=require("cluster")}catch{hn("cluster module not present"),_s=!0}var q0=[],Kc=!1,kc="NODE_APP_INSTANCE",OF=()=>Kc&&process.env[kc]==="0",D0=()=>_s||Cn&&Cn.isMaster||OF(),MF=e=>{q0.forEach(t=>t(e))},np=(e,t)=>{if(hn("cluster message received from worker ",e,": ",t),e.topic&&e.data&&(t=e,e=void 0),t&&t.topic&&t.topic==="log4js:message"){hn("received message: ",t.data);let n=Kue.deserialise(t.data);MF(n)}};_s||xue.addListener(e=>{q0.length=0,{pm2:Kc,disableClustering:_s,pm2InstanceVar:kc="NODE_APP_INSTANCE"}=e,hn(`clustering disabled ? ${_s}`),hn(`cluster.isMaster ? ${Cn&&Cn.isMaster}`),hn(`pm2 enabled ? ${Kc}`),hn(`pm2InstanceVar = ${kc}`),hn(`process.env[${kc}] = ${process.env[kc]}`),Kc&&process.removeListener("message",np),Cn&&Cn.removeListener&&Cn.removeListener("message",np),_s||e.disableClustering?hn("Not listening for cluster messages, because clustering disabled."):OF()?(hn("listening for PM2 broadcast messages"),process.on("message",np)):Cn&&Cn.isMaster?(hn("listening for cluster messages"),Cn.on("message",np)):hn("not listening for messages, because we are not a master process")});DF.exports={onlyOnMaster:(e,t)=>D0()?e():t,isMaster:D0,send:e=>{D0()?MF(e):(Kc||(e.cluster={workerId:Cn.worker.id,worker:process.pid}),process.send({topic:"log4js:message",data:e.serialise()}))},onMessage:e=>{q0.push(e)}}});var PF=d((eHe,zF)=>{"use strict";function Lue(e){if(typeof e=="number"&&Number.isInteger(e))return e;let t={K:1024,M:1024*1024,G:1024*1024*1024},n=Object.keys(t),r=e.slice(-1).toLocaleUpperCase(),i=e.slice(0,-1).trim();if(n.indexOf(r)<0||!Number.isInteger(Number(i)))throw Error(`maxLogSize: "${e}" is invalid`);return i*t[r]}function Uue(e,t){let n=Object.assign({},t);return Object.keys(e).forEach(r=>{n[r]&&(n[r]=e[r](t[r]))}),n}function z0(e){return Uue({maxLogSize:Lue},e)}var qF={dateFile:z0,file:z0,fileSync:z0};zF.exports.modifyConfig=e=>qF[e.type]?qF[e.type](e):e});var QF=d((tHe,jF)=>{"use strict";var Jue=console.log.bind(console);function Oue(e,t){return n=>{Jue(e(n,t))}}function Mue(e,t){let n=t.colouredLayout;return e.layout&&(n=t.layout(e.layout.type,e.layout)),Oue(n,e.timezoneOffset)}jF.exports.configure=Mue});var eT=d($F=>{"use strict";function Due(e,t){return n=>{process.stdout.write(`${e(n,t)}
|
|
46
|
+
`)}}function que(e,t){let n=t.colouredLayout;return e.layout&&(n=t.layout(e.layout.type,e.layout)),Due(n,e.timezoneOffset)}$F.configure=que});var nT=d((rHe,tT)=>{"use strict";function zue(e,t){return n=>{process.stderr.write(`${e(n,t)}
|
|
47
|
+
`)}}function Pue(e,t){let n=t.colouredLayout;return e.layout&&(n=t.layout(e.layout.type,e.layout)),zue(n,e.timezoneOffset)}tT.exports.configure=Pue});var iT=d((iHe,rT)=>{"use strict";function jue(e,t,n,r){let i=r.getLevel(e),o=r.getLevel(t,r.FATAL);return s=>{let a=s.level;i.isLessThanOrEqualTo(a)&&o.isGreaterThanOrEqualTo(a)&&n(s)}}function Que(e,t,n,r){let i=n(e.appender);return jue(e.level,e.maxLevel,i,r)}rT.exports.configure=Que});var aT=d((oHe,sT)=>{"use strict";var oT=Le()("log4js:categoryFilter");function $ue(e,t){return typeof e=="string"&&(e=[e]),n=>{oT(`Checking ${n.categoryName} against ${e}`),e.indexOf(n.categoryName)===-1&&(oT("Not excluded, sending to appender"),t(n))}}function ele(e,t,n){let r=n(e.appender);return $ue(e.exclude,r)}sT.exports.configure=ele});var lT=d((sHe,uT)=>{"use strict";var cT=Le()("log4js:noLogFilter");function tle(e){return e.filter(n=>n!=null&&n!=="")}function nle(e,t){return n=>{cT(`Checking data: ${n.data} against filters: ${e}`),typeof e=="string"&&(e=[e]),e=tle(e);let r=new RegExp(e.join("|"),"i");(e.length===0||n.data.findIndex(i=>r.test(i))<0)&&(cT("Not excluded, sending to appender"),t(n))}}function rle(e,t,n){let r=n(e.appender);return nle(e.exclude,r)}uT.exports.configure=rle});var Ft=d(P0=>{"use strict";P0.fromCallback=function(e){return Object.defineProperty(function(){if(typeof arguments[arguments.length-1]=="function")e.apply(this,arguments);else return new Promise((t,n)=>{arguments[arguments.length]=(r,i)=>{if(r)return n(r);t(i)},arguments.length++,e.apply(this,arguments)})},"name",{value:e.name})};P0.fromPromise=function(e){return Object.defineProperty(function(){let t=arguments[arguments.length-1];if(typeof t!="function")return e.apply(this,arguments);e.apply(this,arguments).then(n=>t(null,n),t)},"name",{value:e.name})}});var j0=d(bo=>{"use strict";var dT=Ft().fromCallback,bn=D(),ile=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchown","lchmod","link","lstat","mkdir","mkdtemp","open","readFile","readdir","readlink","realpath","rename","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter(e=>typeof bn[e]=="function");Object.keys(bn).forEach(e=>{e!=="promises"&&(bo[e]=bn[e])});ile.forEach(e=>{bo[e]=dT(bn[e])});bo.exists=function(e,t){return typeof t=="function"?bn.exists(e,t):new Promise(n=>bn.exists(e,n))};bo.read=function(e,t,n,r,i,o){return typeof o=="function"?bn.read(e,t,n,r,i,o):new Promise((s,a)=>{bn.read(e,t,n,r,i,(c,u,l)=>{if(c)return a(c);s({bytesRead:u,buffer:l})})})};bo.write=function(e,t,...n){return typeof n[n.length-1]=="function"?bn.write(e,t,...n):new Promise((r,i)=>{bn.write(e,t,...n,(o,s,a)=>{if(o)return i(o);r({bytesWritten:s,buffer:a})})})};typeof bn.realpath.native=="function"&&(bo.realpath.native=dT(bn.realpath.native))});var $0=d((uHe,fT)=>{"use strict";var Q0=require("path");function gT(e){return e=Q0.normalize(Q0.resolve(e)).split(Q0.sep),e.length>0?e[0]:null}var ole=/[<>:"|?*]/;function sle(e){let t=gT(e);return e=e.replace(t,""),ole.test(e)}fT.exports={getRootPath:gT,invalidWin32Path:sle}});var pT=d((lHe,IT)=>{"use strict";var ale=D(),eA=require("path"),cle=$0().invalidWin32Path,ule=parseInt("0777",8);function tA(e,t,n,r){if(typeof t=="function"?(n=t,t={}):(!t||typeof t!="object")&&(t={mode:t}),process.platform==="win32"&&cle(e)){let s=new Error(e+" contains invalid WIN32 path characters.");return s.code="EINVAL",n(s)}let i=t.mode,o=t.fs||ale;i===void 0&&(i=ule&~process.umask()),r||(r=null),n=n||function(){},e=eA.resolve(e),o.mkdir(e,i,s=>{if(!s)return r=r||e,n(null,r);switch(s.code){case"ENOENT":if(eA.dirname(e)===e)return n(s);tA(eA.dirname(e),t,(a,c)=>{a?n(a,c):tA(e,t,n,c)});break;default:o.stat(e,(a,c)=>{a||!c.isDirectory()?n(s,r):n(null,r)});break}})}IT.exports=tA});var hT=d((dHe,mT)=>{"use strict";var lle=D(),nA=require("path"),dle=$0().invalidWin32Path,gle=parseInt("0777",8);function rA(e,t,n){(!t||typeof t!="object")&&(t={mode:t});let r=t.mode,i=t.fs||lle;if(process.platform==="win32"&&dle(e)){let o=new Error(e+" contains invalid WIN32 path characters.");throw o.code="EINVAL",o}r===void 0&&(r=gle&~process.umask()),n||(n=null),e=nA.resolve(e);try{i.mkdirSync(e,r),n=n||e}catch(o){if(o.code==="ENOENT"){if(nA.dirname(e)===e)throw o;n=rA(nA.dirname(e),t,n),rA(e,t,n)}else{let s;try{s=i.statSync(e)}catch{throw o}if(!s.isDirectory())throw o}}return n}mT.exports=rA});var en=d((gHe,CT)=>{"use strict";var fle=Ft().fromCallback,iA=fle(pT()),oA=hT();CT.exports={mkdirs:iA,mkdirsSync:oA,mkdirp:iA,mkdirpSync:oA,ensureDir:iA,ensureDirSync:oA}});var sA=d((fHe,yT)=>{"use strict";var ct=D(),bT=require("os"),ip=require("path");function Ile(){let e=ip.join("millis-test-sync"+Date.now().toString()+Math.random().toString().slice(2));e=ip.join(bT.tmpdir(),e);let t=new Date(1435410243862);ct.writeFileSync(e,"https://github.com/jprichardson/node-fs-extra/pull/141");let n=ct.openSync(e,"r+");return ct.futimesSync(n,t,t),ct.closeSync(n),ct.statSync(e).mtime>1435410243e3}function ple(e){let t=ip.join("millis-test"+Date.now().toString()+Math.random().toString().slice(2));t=ip.join(bT.tmpdir(),t);let n=new Date(1435410243862);ct.writeFile(t,"https://github.com/jprichardson/node-fs-extra/pull/141",r=>{if(r)return e(r);ct.open(t,"r+",(i,o)=>{if(i)return e(i);ct.futimes(o,n,n,s=>{if(s)return e(s);ct.close(o,a=>{if(a)return e(a);ct.stat(t,(c,u)=>{if(c)return e(c);e(null,u.mtime>1435410243e3)})})})})})}function mle(e){if(typeof e=="number")return Math.floor(e/1e3)*1e3;if(e instanceof Date)return new Date(Math.floor(e.getTime()/1e3)*1e3);throw new Error("fs-extra: timeRemoveMillis() unknown parameter type")}function hle(e,t,n,r){ct.open(e,"r+",(i,o)=>{if(i)return r(i);ct.futimes(o,t,n,s=>{ct.close(o,a=>{r&&r(s||a)})})})}function Cle(e,t,n){let r=ct.openSync(e,"r+");return ct.futimesSync(r,t,n),ct.closeSync(r)}yT.exports={hasMillisRes:ple,hasMillisResSync:Ile,timeRemoveMillis:mle,utimesMillis:hle,utimesMillisSync:Cle}});var Uc=d((IHe,ST)=>{"use strict";var yn=D(),Tt=require("path"),AT=10,BT=5,ble=0,cA=process.versions.node.split("."),GT=Number.parseInt(cA[0],10),ZT=Number.parseInt(cA[1],10),yle=Number.parseInt(cA[2],10);function xc(){if(GT>AT)return!0;if(GT===AT){if(ZT>BT)return!0;if(ZT===BT&&yle>=ble)return!0}return!1}function Ale(e,t,n){xc()?yn.stat(e,{bigint:!0},(r,i)=>{if(r)return n(r);yn.stat(t,{bigint:!0},(o,s)=>o?o.code==="ENOENT"?n(null,{srcStat:i,destStat:null}):n(o):n(null,{srcStat:i,destStat:s}))}):yn.stat(e,(r,i)=>{if(r)return n(r);yn.stat(t,(o,s)=>o?o.code==="ENOENT"?n(null,{srcStat:i,destStat:null}):n(o):n(null,{srcStat:i,destStat:s}))})}function Ble(e,t){let n,r;xc()?n=yn.statSync(e,{bigint:!0}):n=yn.statSync(e);try{xc()?r=yn.statSync(t,{bigint:!0}):r=yn.statSync(t)}catch(i){if(i.code==="ENOENT")return{srcStat:n,destStat:null};throw i}return{srcStat:n,destStat:r}}function Gle(e,t,n,r){Ale(e,t,(i,o)=>{if(i)return r(i);let{srcStat:s,destStat:a}=o;return a&&a.ino&&a.dev&&a.ino===s.ino&&a.dev===s.dev?r(new Error("Source and destination must not be the same.")):s.isDirectory()&&uA(e,t)?r(new Error(Lc(e,t,n))):r(null,{srcStat:s,destStat:a})})}function Zle(e,t,n){let{srcStat:r,destStat:i}=Ble(e,t);if(i&&i.ino&&i.dev&&i.ino===r.ino&&i.dev===r.dev)throw new Error("Source and destination must not be the same.");if(r.isDirectory()&&uA(e,t))throw new Error(Lc(e,t,n));return{srcStat:r,destStat:i}}function aA(e,t,n,r,i){let o=Tt.resolve(Tt.dirname(e)),s=Tt.resolve(Tt.dirname(n));if(s===o||s===Tt.parse(s).root)return i();xc()?yn.stat(s,{bigint:!0},(a,c)=>a?a.code==="ENOENT"?i():i(a):c.ino&&c.dev&&c.ino===t.ino&&c.dev===t.dev?i(new Error(Lc(e,n,r))):aA(e,t,s,r,i)):yn.stat(s,(a,c)=>a?a.code==="ENOENT"?i():i(a):c.ino&&c.dev&&c.ino===t.ino&&c.dev===t.dev?i(new Error(Lc(e,n,r))):aA(e,t,s,r,i))}function vT(e,t,n,r){let i=Tt.resolve(Tt.dirname(e)),o=Tt.resolve(Tt.dirname(n));if(o===i||o===Tt.parse(o).root)return;let s;try{xc()?s=yn.statSync(o,{bigint:!0}):s=yn.statSync(o)}catch(a){if(a.code==="ENOENT")return;throw a}if(s.ino&&s.dev&&s.ino===t.ino&&s.dev===t.dev)throw new Error(Lc(e,n,r));return vT(e,t,o,r)}function uA(e,t){let n=Tt.resolve(e).split(Tt.sep).filter(i=>i),r=Tt.resolve(t).split(Tt.sep).filter(i=>i);return n.reduce((i,o,s)=>i&&r[s]===o,!0)}function Lc(e,t,n){return`Cannot ${n} '${e}' to a subdirectory of itself, '${t}'.`}ST.exports={checkPaths:Gle,checkPathsSync:Zle,checkParentPaths:aA,checkParentPathsSync:vT,isSrcSubdir:uA}});var WT=d((pHe,RT)=>{"use strict";RT.exports=function(e){if(typeof Buffer.allocUnsafe=="function")try{return Buffer.allocUnsafe(e)}catch{return new Buffer(e)}return new Buffer(e)}});var HT=d((mHe,ET)=>{"use strict";var Ae=D(),Jc=require("path"),vle=en().mkdirsSync,Sle=sA().utimesMillisSync,Oc=Uc();function Rle(e,t,n){typeof n=="function"&&(n={filter:n}),n=n||{},n.clobber="clobber"in n?!!n.clobber:!0,n.overwrite="overwrite"in n?!!n.overwrite:n.clobber,n.preserveTimestamps&&process.arch==="ia32"&&console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
48
|
+
|
|
49
|
+
see https://github.com/jprichardson/node-fs-extra/issues/269`);let{srcStat:r,destStat:i}=Oc.checkPathsSync(e,t,"copy");return Oc.checkParentPathsSync(e,r,t,"copy"),Wle(i,e,t,n)}function Wle(e,t,n,r){if(r.filter&&!r.filter(t,n))return;let i=Jc.dirname(n);return Ae.existsSync(i)||vle(i),NT(e,t,n,r)}function NT(e,t,n,r){if(!(r.filter&&!r.filter(t,n)))return Nle(e,t,n,r)}function Nle(e,t,n,r){let o=(r.dereference?Ae.statSync:Ae.lstatSync)(t);if(o.isDirectory())return Hle(o,e,t,n,r);if(o.isFile()||o.isCharacterDevice()||o.isBlockDevice())return Vle(o,e,t,n,r);if(o.isSymbolicLink())return Fle(e,t,n,r)}function Vle(e,t,n,r,i){return t?_le(e,n,r,i):VT(e,n,r,i)}function _le(e,t,n,r){if(r.overwrite)return Ae.unlinkSync(n),VT(e,t,n,r);if(r.errorOnExist)throw new Error(`'${n}' already exists`)}function VT(e,t,n,r){return typeof Ae.copyFileSync=="function"?(Ae.copyFileSync(t,n),Ae.chmodSync(n,e.mode),r.preserveTimestamps?Sle(n,e.atime,e.mtime):void 0):Ele(e,t,n,r)}function Ele(e,t,n,r){let o=WT()(65536),s=Ae.openSync(t,"r"),a=Ae.openSync(n,"w",e.mode),c=0;for(;c<e.size;){let u=Ae.readSync(s,o,0,65536,c);Ae.writeSync(a,o,0,u),c+=u}r.preserveTimestamps&&Ae.futimesSync(a,e.atime,e.mtime),Ae.closeSync(s),Ae.closeSync(a)}function Hle(e,t,n,r,i){if(!t)return wle(e,n,r,i);if(t&&!t.isDirectory())throw new Error(`Cannot overwrite non-directory '${r}' with directory '${n}'.`);return _T(n,r,i)}function wle(e,t,n,r){return Ae.mkdirSync(n),_T(t,n,r),Ae.chmodSync(n,e.mode)}function _T(e,t,n){Ae.readdirSync(e).forEach(r=>Yle(r,e,t,n))}function Yle(e,t,n,r){let i=Jc.join(t,e),o=Jc.join(n,e),{destStat:s}=Oc.checkPathsSync(i,o,"copy");return NT(s,i,o,r)}function Fle(e,t,n,r){let i=Ae.readlinkSync(t);if(r.dereference&&(i=Jc.resolve(process.cwd(),i)),e){let o;try{o=Ae.readlinkSync(n)}catch(s){if(s.code==="EINVAL"||s.code==="UNKNOWN")return Ae.symlinkSync(i,n);throw s}if(r.dereference&&(o=Jc.resolve(process.cwd(),o)),Oc.isSrcSubdir(i,o))throw new Error(`Cannot copy '${i}' to a subdirectory of itself, '${o}'.`);if(Ae.statSync(n).isDirectory()&&Oc.isSrcSubdir(o,i))throw new Error(`Cannot overwrite '${o}' with '${i}'.`);return Tle(i,n)}else return Ae.symlinkSync(i,n)}function Tle(e,t){return Ae.unlinkSync(t),Ae.symlinkSync(e,t)}ET.exports=Rle});var lA=d((hHe,wT)=>{"use strict";wT.exports={copySync:HT()}});var nr=d((CHe,FT)=>{"use strict";var Xle=Ft().fromPromise,YT=j0();function kle(e){return YT.access(e).then(()=>!0).catch(()=>!1)}FT.exports={pathExists:Xle(kle),pathExistsSync:YT.existsSync}});var OT=d((bHe,JT)=>{"use strict";var et=D(),Mc=require("path"),Kle=en().mkdirs,xle=nr().pathExists,Lle=sA().utimesMillis,Dc=Uc();function Ule(e,t,n,r){typeof n=="function"&&!r?(r=n,n={}):typeof n=="function"&&(n={filter:n}),r=r||function(){},n=n||{},n.clobber="clobber"in n?!!n.clobber:!0,n.overwrite="overwrite"in n?!!n.overwrite:n.clobber,n.preserveTimestamps&&process.arch==="ia32"&&console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
50
|
+
|
|
51
|
+
see https://github.com/jprichardson/node-fs-extra/issues/269`),Dc.checkPaths(e,t,"copy",(i,o)=>{if(i)return r(i);let{srcStat:s,destStat:a}=o;Dc.checkParentPaths(e,s,t,"copy",c=>c?r(c):n.filter?kT(TT,a,e,t,n,r):TT(a,e,t,n,r))})}function TT(e,t,n,r,i){let o=Mc.dirname(n);xle(o,(s,a)=>{if(s)return i(s);if(a)return dA(e,t,n,r,i);Kle(o,c=>c?i(c):dA(e,t,n,r,i))})}function kT(e,t,n,r,i,o){Promise.resolve(i.filter(n,r)).then(s=>s?e(t,n,r,i,o):o(),s=>o(s))}function dA(e,t,n,r,i){return r.filter?kT(XT,e,t,n,r,i):XT(e,t,n,r,i)}function XT(e,t,n,r,i){(r.dereference?et.stat:et.lstat)(t,(s,a)=>{if(s)return i(s);if(a.isDirectory())return Dle(a,e,t,n,r,i);if(a.isFile()||a.isCharacterDevice()||a.isBlockDevice())return Jle(a,e,t,n,r,i);if(a.isSymbolicLink())return Ple(e,t,n,r,i)})}function Jle(e,t,n,r,i,o){return t?Ole(e,n,r,i,o):KT(e,n,r,i,o)}function Ole(e,t,n,r,i){if(r.overwrite)et.unlink(n,o=>o?i(o):KT(e,t,n,r,i));else return r.errorOnExist?i(new Error(`'${n}' already exists`)):i()}function KT(e,t,n,r,i){return typeof et.copyFile=="function"?et.copyFile(t,n,o=>o?i(o):xT(e,n,r,i)):Mle(e,t,n,r,i)}function Mle(e,t,n,r,i){let o=et.createReadStream(t);o.on("error",s=>i(s)).once("open",()=>{let s=et.createWriteStream(n,{mode:e.mode});s.on("error",a=>i(a)).on("open",()=>o.pipe(s)).once("close",()=>xT(e,n,r,i))})}function xT(e,t,n,r){et.chmod(t,e.mode,i=>i?r(i):n.preserveTimestamps?Lle(t,e.atime,e.mtime,r):r())}function Dle(e,t,n,r,i,o){return t?t&&!t.isDirectory()?o(new Error(`Cannot overwrite non-directory '${r}' with directory '${n}'.`)):LT(n,r,i,o):qle(e,n,r,i,o)}function qle(e,t,n,r,i){et.mkdir(n,o=>{if(o)return i(o);LT(t,n,r,s=>s?i(s):et.chmod(n,e.mode,i))})}function LT(e,t,n,r){et.readdir(e,(i,o)=>i?r(i):UT(o,e,t,n,r))}function UT(e,t,n,r,i){let o=e.pop();return o?zle(e,o,t,n,r,i):i()}function zle(e,t,n,r,i,o){let s=Mc.join(n,t),a=Mc.join(r,t);Dc.checkPaths(s,a,"copy",(c,u)=>{if(c)return o(c);let{destStat:l}=u;dA(l,s,a,i,g=>g?o(g):UT(e,n,r,i,o))})}function Ple(e,t,n,r,i){et.readlink(t,(o,s)=>{if(o)return i(o);if(r.dereference&&(s=Mc.resolve(process.cwd(),s)),e)et.readlink(n,(a,c)=>a?a.code==="EINVAL"||a.code==="UNKNOWN"?et.symlink(s,n,i):i(a):(r.dereference&&(c=Mc.resolve(process.cwd(),c)),Dc.isSrcSubdir(s,c)?i(new Error(`Cannot copy '${s}' to a subdirectory of itself, '${c}'.`)):e.isDirectory()&&Dc.isSrcSubdir(c,s)?i(new Error(`Cannot overwrite '${c}' with '${s}'.`)):jle(s,n,i)));else return et.symlink(s,n,i)})}function jle(e,t,n){et.unlink(t,r=>r?n(r):et.symlink(e,t,n))}JT.exports=Ule});var gA=d((yHe,MT)=>{"use strict";var Qle=Ft().fromCallback;MT.exports={copy:Qle(OT())}});var tX=d((AHe,eX)=>{"use strict";var DT=D(),jT=require("path"),le=require("assert"),qc=process.platform==="win32";function QT(e){["unlink","chmod","stat","lstat","rmdir","readdir"].forEach(n=>{e[n]=e[n]||DT[n],n=n+"Sync",e[n]=e[n]||DT[n]}),e.maxBusyTries=e.maxBusyTries||3}function fA(e,t,n){let r=0;typeof t=="function"&&(n=t,t={}),le(e,"rimraf: missing path"),le.strictEqual(typeof e,"string","rimraf: path should be a string"),le.strictEqual(typeof n,"function","rimraf: callback function required"),le(t,"rimraf: invalid options argument provided"),le.strictEqual(typeof t,"object","rimraf: options should be object"),QT(t),qT(e,t,function i(o){if(o){if((o.code==="EBUSY"||o.code==="ENOTEMPTY"||o.code==="EPERM")&&r<t.maxBusyTries){r++;let s=r*100;return setTimeout(()=>qT(e,t,i),s)}o.code==="ENOENT"&&(o=null)}n(o)})}function qT(e,t,n){le(e),le(t),le(typeof n=="function"),t.lstat(e,(r,i)=>{if(r&&r.code==="ENOENT")return n(null);if(r&&r.code==="EPERM"&&qc)return zT(e,t,r,n);if(i&&i.isDirectory())return op(e,t,r,n);t.unlink(e,o=>{if(o){if(o.code==="ENOENT")return n(null);if(o.code==="EPERM")return qc?zT(e,t,o,n):op(e,t,o,n);if(o.code==="EISDIR")return op(e,t,o,n)}return n(o)})})}function zT(e,t,n,r){le(e),le(t),le(typeof r=="function"),n&&le(n instanceof Error),t.chmod(e,438,i=>{i?r(i.code==="ENOENT"?null:n):t.stat(e,(o,s)=>{o?r(o.code==="ENOENT"?null:n):s.isDirectory()?op(e,t,n,r):t.unlink(e,r)})})}function PT(e,t,n){let r;le(e),le(t),n&&le(n instanceof Error);try{t.chmodSync(e,438)}catch(i){if(i.code==="ENOENT")return;throw n}try{r=t.statSync(e)}catch(i){if(i.code==="ENOENT")return;throw n}r.isDirectory()?sp(e,t,n):t.unlinkSync(e)}function op(e,t,n,r){le(e),le(t),n&&le(n instanceof Error),le(typeof r=="function"),t.rmdir(e,i=>{i&&(i.code==="ENOTEMPTY"||i.code==="EEXIST"||i.code==="EPERM")?$le(e,t,r):i&&i.code==="ENOTDIR"?r(n):r(i)})}function $le(e,t,n){le(e),le(t),le(typeof n=="function"),t.readdir(e,(r,i)=>{if(r)return n(r);let o=i.length,s;if(o===0)return t.rmdir(e,n);i.forEach(a=>{fA(jT.join(e,a),t,c=>{if(!s){if(c)return n(s=c);--o===0&&t.rmdir(e,n)}})})})}function $T(e,t){let n;t=t||{},QT(t),le(e,"rimraf: missing path"),le.strictEqual(typeof e,"string","rimraf: path should be a string"),le(t,"rimraf: missing options"),le.strictEqual(typeof t,"object","rimraf: options should be object");try{n=t.lstatSync(e)}catch(r){if(r.code==="ENOENT")return;r.code==="EPERM"&&qc&&PT(e,t,r)}try{n&&n.isDirectory()?sp(e,t,null):t.unlinkSync(e)}catch(r){if(r.code==="ENOENT")return;if(r.code==="EPERM")return qc?PT(e,t,r):sp(e,t,r);if(r.code!=="EISDIR")throw r;sp(e,t,r)}}function sp(e,t,n){le(e),le(t),n&&le(n instanceof Error);try{t.rmdirSync(e)}catch(r){if(r.code==="ENOTDIR")throw n;if(r.code==="ENOTEMPTY"||r.code==="EEXIST"||r.code==="EPERM")ede(e,t);else if(r.code!=="ENOENT")throw r}}function ede(e,t){if(le(e),le(t),t.readdirSync(e).forEach(n=>$T(jT.join(e,n),t)),qc){let n=Date.now();do try{return t.rmdirSync(e,t)}catch{}while(Date.now()-n<500)}else return t.rmdirSync(e,t)}eX.exports=fA;fA.sync=$T});var zc=d((BHe,rX)=>{"use strict";var tde=Ft().fromCallback,nX=tX();rX.exports={remove:tde(nX),removeSync:nX.sync}});var dX=d((GHe,lX)=>{"use strict";var nde=Ft().fromCallback,sX=D(),aX=require("path"),cX=en(),uX=zc(),iX=nde(function(t,n){n=n||function(){},sX.readdir(t,(r,i)=>{if(r)return cX.mkdirs(t,n);i=i.map(s=>aX.join(t,s)),o();function o(){let s=i.pop();if(!s)return n();uX.remove(s,a=>{if(a)return n(a);o()})}})});function oX(e){let t;try{t=sX.readdirSync(e)}catch{return cX.mkdirsSync(e)}t.forEach(n=>{n=aX.join(e,n),uX.removeSync(n)})}lX.exports={emptyDirSync:oX,emptydirSync:oX,emptyDir:iX,emptydir:iX}});var pX=d((ZHe,IX)=>{"use strict";var rde=Ft().fromCallback,gX=require("path"),Pc=D(),fX=en(),ide=nr().pathExists;function ode(e,t){function n(){Pc.writeFile(e,"",r=>{if(r)return t(r);t()})}Pc.stat(e,(r,i)=>{if(!r&&i.isFile())return t();let o=gX.dirname(e);ide(o,(s,a)=>{if(s)return t(s);if(a)return n();fX.mkdirs(o,c=>{if(c)return t(c);n()})})})}function sde(e){let t;try{t=Pc.statSync(e)}catch{}if(t&&t.isFile())return;let n=gX.dirname(e);Pc.existsSync(n)||fX.mkdirsSync(n),Pc.writeFileSync(e,"")}IX.exports={createFile:rde(ode),createFileSync:sde}});var yX=d((vHe,bX)=>{"use strict";var ade=Ft().fromCallback,hX=require("path"),yo=D(),CX=en(),mX=nr().pathExists;function cde(e,t,n){function r(i,o){yo.link(i,o,s=>{if(s)return n(s);n(null)})}mX(t,(i,o)=>{if(i)return n(i);if(o)return n(null);yo.lstat(e,s=>{if(s)return s.message=s.message.replace("lstat","ensureLink"),n(s);let a=hX.dirname(t);mX(a,(c,u)=>{if(c)return n(c);if(u)return r(e,t);CX.mkdirs(a,l=>{if(l)return n(l);r(e,t)})})})})}function ude(e,t){if(yo.existsSync(t))return;try{yo.lstatSync(e)}catch(o){throw o.message=o.message.replace("lstat","ensureLink"),o}let r=hX.dirname(t);return yo.existsSync(r)||CX.mkdirsSync(r),yo.linkSync(e,t)}bX.exports={createLink:ade(cde),createLinkSync:ude}});var BX=d((SHe,AX)=>{"use strict";var gi=require("path"),jc=D(),lde=nr().pathExists;function dde(e,t,n){if(gi.isAbsolute(e))return jc.lstat(e,r=>r?(r.message=r.message.replace("lstat","ensureSymlink"),n(r)):n(null,{toCwd:e,toDst:e}));{let r=gi.dirname(t),i=gi.join(r,e);return lde(i,(o,s)=>o?n(o):s?n(null,{toCwd:i,toDst:e}):jc.lstat(e,a=>a?(a.message=a.message.replace("lstat","ensureSymlink"),n(a)):n(null,{toCwd:e,toDst:gi.relative(r,e)})))}}function gde(e,t){let n;if(gi.isAbsolute(e)){if(n=jc.existsSync(e),!n)throw new Error("absolute srcpath does not exist");return{toCwd:e,toDst:e}}else{let r=gi.dirname(t),i=gi.join(r,e);if(n=jc.existsSync(i),n)return{toCwd:i,toDst:e};if(n=jc.existsSync(e),!n)throw new Error("relative srcpath does not exist");return{toCwd:e,toDst:gi.relative(r,e)}}}AX.exports={symlinkPaths:dde,symlinkPathsSync:gde}});var vX=d((RHe,ZX)=>{"use strict";var GX=D();function fde(e,t,n){if(n=typeof t=="function"?t:n,t=typeof t=="function"?!1:t,t)return n(null,t);GX.lstat(e,(r,i)=>{if(r)return n(null,"file");t=i&&i.isDirectory()?"dir":"file",n(null,t)})}function Ide(e,t){let n;if(t)return t;try{n=GX.lstatSync(e)}catch{return"file"}return n&&n.isDirectory()?"dir":"file"}ZX.exports={symlinkType:fde,symlinkTypeSync:Ide}});var EX=d((WHe,_X)=>{"use strict";var pde=Ft().fromCallback,RX=require("path"),Es=D(),WX=en(),mde=WX.mkdirs,hde=WX.mkdirsSync,NX=BX(),Cde=NX.symlinkPaths,bde=NX.symlinkPathsSync,VX=vX(),yde=VX.symlinkType,Ade=VX.symlinkTypeSync,SX=nr().pathExists;function Bde(e,t,n,r){r=typeof n=="function"?n:r,n=typeof n=="function"?!1:n,SX(t,(i,o)=>{if(i)return r(i);if(o)return r(null);Cde(e,t,(s,a)=>{if(s)return r(s);e=a.toDst,yde(a.toCwd,n,(c,u)=>{if(c)return r(c);let l=RX.dirname(t);SX(l,(g,f)=>{if(g)return r(g);if(f)return Es.symlink(e,t,u,r);mde(l,I=>{if(I)return r(I);Es.symlink(e,t,u,r)})})})})})}function Gde(e,t,n){if(Es.existsSync(t))return;let i=bde(e,t);e=i.toDst,n=Ade(i.toCwd,n);let o=RX.dirname(t);return Es.existsSync(o)||hde(o),Es.symlinkSync(e,t,n)}_X.exports={createSymlink:pde(Bde),createSymlinkSync:Gde}});var wX=d((NHe,HX)=>{"use strict";var ap=pX(),cp=yX(),up=EX();HX.exports={createFile:ap.createFile,createFileSync:ap.createFileSync,ensureFile:ap.createFile,ensureFileSync:ap.createFileSync,createLink:cp.createLink,createLinkSync:cp.createLinkSync,ensureLink:cp.createLink,ensureLinkSync:cp.createLinkSync,createSymlink:up.createSymlink,createSymlinkSync:up.createSymlinkSync,ensureSymlink:up.createSymlink,ensureSymlinkSync:up.createSymlinkSync}});var XX=d((VHe,TX)=>{"use strict";var Hs;try{Hs=D()}catch{Hs=require("fs")}function Zde(e,t,n){n==null&&(n=t,t={}),typeof t=="string"&&(t={encoding:t}),t=t||{};var r=t.fs||Hs,i=!0;"throws"in t&&(i=t.throws),r.readFile(e,t,function(o,s){if(o)return n(o);s=FX(s);var a;try{a=JSON.parse(s,t?t.reviver:null)}catch(c){return i?(c.message=e+": "+c.message,n(c)):n(null,null)}n(null,a)})}function vde(e,t){t=t||{},typeof t=="string"&&(t={encoding:t});var n=t.fs||Hs,r=!0;"throws"in t&&(r=t.throws);try{var i=n.readFileSync(e,t);return i=FX(i),JSON.parse(i,t.reviver)}catch(o){if(r)throw o.message=e+": "+o.message,o;return null}}function YX(e,t){var n,r=`
|
|
52
|
+
`;typeof t=="object"&&t!==null&&(t.spaces&&(n=t.spaces),t.EOL&&(r=t.EOL));var i=JSON.stringify(e,t?t.replacer:null,n);return i.replace(/\n/g,r)+r}function Sde(e,t,n,r){r==null&&(r=n,n={}),n=n||{};var i=n.fs||Hs,o="";try{o=YX(t,n)}catch(s){r&&r(s,null);return}i.writeFile(e,o,n,r)}function Rde(e,t,n){n=n||{};var r=n.fs||Hs,i=YX(t,n);return r.writeFileSync(e,i,n)}function FX(e){return Buffer.isBuffer(e)&&(e=e.toString("utf8")),e=e.replace(/^\uFEFF/,""),e}var Wde={readFile:Zde,readFileSync:vde,writeFile:Sde,writeFileSync:Rde};TX.exports=Wde});var dp=d((_He,KX)=>{"use strict";var kX=Ft().fromCallback,lp=XX();KX.exports={readJson:kX(lp.readFile),readJsonSync:lp.readFileSync,writeJson:kX(lp.writeFile),writeJsonSync:lp.writeFileSync}});var UX=d((EHe,LX)=>{"use strict";var Nde=require("path"),Vde=en(),_de=nr().pathExists,xX=dp();function Ede(e,t,n,r){typeof n=="function"&&(r=n,n={});let i=Nde.dirname(e);_de(i,(o,s)=>{if(o)return r(o);if(s)return xX.writeJson(e,t,n,r);Vde.mkdirs(i,a=>{if(a)return r(a);xX.writeJson(e,t,n,r)})})}LX.exports=Ede});var OX=d((HHe,JX)=>{"use strict";var Hde=D(),wde=require("path"),Yde=en(),Fde=dp();function Tde(e,t,n){let r=wde.dirname(e);Hde.existsSync(r)||Yde.mkdirsSync(r),Fde.writeJsonSync(e,t,n)}JX.exports=Tde});var DX=d((wHe,MX)=>{"use strict";var Xde=Ft().fromCallback,ht=dp();ht.outputJson=Xde(UX());ht.outputJsonSync=OX();ht.outputJSON=ht.outputJson;ht.outputJSONSync=ht.outputJsonSync;ht.writeJSON=ht.writeJson;ht.writeJSONSync=ht.writeJsonSync;ht.readJSON=ht.readJson;ht.readJSONSync=ht.readJsonSync;MX.exports=ht});var $X=d((YHe,QX)=>{"use strict";var PX=D(),kde=require("path"),Kde=lA().copySync,jX=zc().removeSync,xde=en().mkdirpSync,qX=Uc();function Lde(e,t,n){n=n||{};let r=n.overwrite||n.clobber||!1,{srcStat:i}=qX.checkPathsSync(e,t,"move");return qX.checkParentPathsSync(e,i,t,"move"),xde(kde.dirname(t)),Ude(e,t,r)}function Ude(e,t,n){if(n)return jX(t),zX(e,t,n);if(PX.existsSync(t))throw new Error("dest already exists.");return zX(e,t,n)}function zX(e,t,n){try{PX.renameSync(e,t)}catch(r){if(r.code!=="EXDEV")throw r;return Jde(e,t,n)}}function Jde(e,t,n){return Kde(e,t,{overwrite:n,errorOnExist:!0}),jX(e)}QX.exports=Lde});var t1=d((FHe,e1)=>{"use strict";e1.exports={moveSync:$X()}});var s1=d((THe,o1)=>{"use strict";var Ode=D(),Mde=require("path"),Dde=gA().copy,i1=zc().remove,qde=en().mkdirp,zde=nr().pathExists,n1=Uc();function Pde(e,t,n,r){typeof n=="function"&&(r=n,n={});let i=n.overwrite||n.clobber||!1;n1.checkPaths(e,t,"move",(o,s)=>{if(o)return r(o);let{srcStat:a}=s;n1.checkParentPaths(e,a,t,"move",c=>{if(c)return r(c);qde(Mde.dirname(t),u=>u?r(u):jde(e,t,i,r))})})}function jde(e,t,n,r){if(n)return i1(t,i=>i?r(i):r1(e,t,n,r));zde(t,(i,o)=>i?r(i):o?r(new Error("dest already exists.")):r1(e,t,n,r))}function r1(e,t,n,r){Ode.rename(e,t,i=>i?i.code!=="EXDEV"?r(i):Qde(e,t,n,r):r())}function Qde(e,t,n,r){Dde(e,t,{overwrite:n,errorOnExist:!0},o=>o?r(o):i1(e,r))}o1.exports=Pde});var c1=d((XHe,a1)=>{"use strict";var $de=Ft().fromCallback;a1.exports={move:$de(s1())}});var g1=d((kHe,d1)=>{"use strict";var ege=Ft().fromCallback,Qc=D(),u1=require("path"),l1=en(),tge=nr().pathExists;function nge(e,t,n,r){typeof n=="function"&&(r=n,n="utf8");let i=u1.dirname(e);tge(i,(o,s)=>{if(o)return r(o);if(s)return Qc.writeFile(e,t,n,r);l1.mkdirs(i,a=>{if(a)return r(a);Qc.writeFile(e,t,n,r)})})}function rge(e,...t){let n=u1.dirname(e);if(Qc.existsSync(n))return Qc.writeFileSync(e,...t);l1.mkdirsSync(n),Qc.writeFileSync(e,...t)}d1.exports={outputFile:ege(nge),outputFileSync:rge}});var pA=d((KHe,IA)=>{"use strict";IA.exports=Object.assign({},j0(),lA(),gA(),dX(),wX(),DX(),en(),t1(),c1(),g1(),nr(),zc());var f1=require("fs");Object.getOwnPropertyDescriptor(f1,"promises")&&Object.defineProperty(IA.exports,"promises",{get(){return f1.promises}})});var p1=d((xHe,I1)=>{"use strict";I1.exports=()=>new Date});var h1=d((LHe,m1)=>{"use strict";var ige=Le()("streamroller:fileNameFormatter"),oge=require("path"),sge=".gz",age=".";m1.exports=({file:e,keepFileExt:t,needsIndex:n,alwaysIncludeDate:r,compress:i,fileNameSep:o})=>{let s=o||age,a=oge.join(e.dir,e.name),c=I=>I+e.ext,u=(I,m,C)=>(n||!C)&&m?I+s+m:I,l=(I,m,C)=>(m>0||r)&&C?I+s+C:I,g=(I,m)=>m&&i?I+sge:I,f=t?[l,u,c,g]:[c,l,u,g];return({date:I,index:m})=>(ige(`_formatFileName: date=${I}, index=${m}`),f.reduce((C,b)=>b(C,m,I),a))}});var A1=d((UHe,y1)=>{"use strict";var Ao=Le()("streamroller:fileNameParser"),C1=".gz",b1=$I(),cge=".";y1.exports=({file:e,keepFileExt:t,pattern:n,fileNameSep:r})=>{let i=r||cge,o=(f,I)=>f.endsWith(C1)?(Ao("it is gzipped"),I.isCompressed=!0,f.slice(0,-1*C1.length)):f,s="__NOT_MATCHING__",g=[o,t?f=>f.startsWith(e.name)&&f.endsWith(e.ext)?(Ao("it starts and ends with the right things"),f.slice(e.name.length+1,-1*e.ext.length)):s:f=>f.startsWith(e.base)?(Ao("it starts with the right things"),f.slice(e.base.length+1)):s,n?(f,I)=>{let m=f.split(i),C=m[m.length-1];Ao("items: ",m,", indexStr: ",C);let b=f;C!==void 0&&C.match(/^\d+$/)?(b=f.slice(0,-1*(C.length+1)),Ao(`dateStr is ${b}`),n&&!b&&(b=C,C="0")):C="0";try{let v=b1.parse(n,b,new Date(0,0));return b1.asString(n,v)!==b?f:(I.index=parseInt(C,10),I.date=b,I.timestamp=v.getTime(),"")}catch(v){return Ao(`Problem parsing ${b} as ${n}, error was: `,v),f}}:(f,I)=>f.match(/^\d+$/)?(Ao("it has an index"),I.index=parseInt(f,10),""):f];return f=>{let I={filename:f,index:0,isCompressed:!1};return g.reduce((C,b)=>b(C,I),f)?null:I}}});var G1=d((JHe,B1)=>{"use strict";var Xt=Le()("streamroller:moveAndMaybeCompressFile"),Hr=pA(),uge=require("zlib"),lge=function(e){let t={mode:parseInt("0600",8),compress:!1},n=Object.assign({},t,e);return Xt(`_parseOption: moveAndMaybeCompressFile called with option=${JSON.stringify(n)}`),n},dge=async(e,t,n)=>{if(n=lge(n),e===t){Xt("moveAndMaybeCompressFile: source and target are the same, not doing anything");return}if(await Hr.pathExists(e))if(Xt(`moveAndMaybeCompressFile: moving file from ${e} to ${t} ${n.compress?"with":"without"} compress`),n.compress)await new Promise((r,i)=>{let o=!1,s=Hr.createWriteStream(t,{mode:n.mode,flags:"wx"}).on("open",()=>{o=!0;let a=Hr.createReadStream(e).on("open",()=>{a.pipe(uge.createGzip()).pipe(s)}).on("error",c=>{Xt(`moveAndMaybeCompressFile: error reading ${e}`,c),s.destroy(c)})}).on("finish",()=>{Xt(`moveAndMaybeCompressFile: finished compressing ${t}, deleting ${e}`),Hr.unlink(e).then(r).catch(a=>{Xt(`moveAndMaybeCompressFile: error deleting ${e}, truncating instead`,a),Hr.truncate(e).then(r).catch(c=>{Xt(`moveAndMaybeCompressFile: error truncating ${e}`,c),i(c)})})}).on("error",a=>{o?(Xt(`moveAndMaybeCompressFile: error writing ${t}, deleting`,a),Hr.unlink(t).then(()=>{i(a)}).catch(c=>{Xt(`moveAndMaybeCompressFile: error deleting ${t}`,c),i(c)})):(Xt(`moveAndMaybeCompressFile: error creating ${t}`,a),i(a))})}).catch(()=>{});else{Xt(`moveAndMaybeCompressFile: renaming ${e} to ${t}`);try{await Hr.move(e,t,{overwrite:!0})}catch(r){if(Xt(`moveAndMaybeCompressFile: error renaming ${e} to ${t}`,r),r.code!=="ENOENT"){Xt("moveAndMaybeCompressFile: trying copy+truncate instead");try{await Hr.copy(e,t,{overwrite:!0}),await Hr.truncate(e)}catch(i){Xt("moveAndMaybeCompressFile: error copy+truncate",i)}}}}};B1.exports=dge});var Ip=d((OHe,Z1)=>{"use strict";var tn=Le()("streamroller:RollingFileWriteStream"),Go=pA(),Bo=require("path"),gge=require("os"),gp=p1(),fp=$I(),{Writable:fge}=require("stream"),Ige=h1(),pge=A1(),mge=G1(),hge=e=>(tn(`deleteFiles: files to delete: ${e}`),Promise.all(e.map(t=>Go.unlink(t).catch(n=>{tn(`deleteFiles: error when unlinking ${t}, ignoring. Error was ${n}`)})))),mA=class extends fge{constructor(t,n){if(tn(`constructor: creating RollingFileWriteStream. path=${t}`),typeof t!="string"||t.length===0)throw new Error(`Invalid filename: ${t}`);if(t.endsWith(Bo.sep))throw new Error(`Filename is a directory: ${t}`);t.indexOf(`~${Bo.sep}`)===0&&(t=t.replace("~",gge.homedir())),super(n),this.options=this._parseOption(n),this.fileObject=Bo.parse(t),this.fileObject.dir===""&&(this.fileObject=Bo.parse(Bo.join(process.cwd(),t))),this.fileFormatter=Ige({file:this.fileObject,alwaysIncludeDate:this.options.alwaysIncludePattern,needsIndex:this.options.maxSize<Number.MAX_SAFE_INTEGER,compress:this.options.compress,keepFileExt:this.options.keepFileExt,fileNameSep:this.options.fileNameSep}),this.fileNameParser=pge({file:this.fileObject,keepFileExt:this.options.keepFileExt,pattern:this.options.pattern,fileNameSep:this.options.fileNameSep}),this.state={currentSize:0},this.options.pattern&&(this.state.currentDate=fp(this.options.pattern,gp())),this.filename=this.fileFormatter({index:0,date:this.state.currentDate}),["a","a+","as","as+"].includes(this.options.flags)&&this._setExistingSizeAndDate(),tn(`constructor: create new file ${this.filename}, state=${JSON.stringify(this.state)}`),this._renewWriteStream()}_setExistingSizeAndDate(){try{let t=Go.statSync(this.filename);this.state.currentSize=t.size,this.options.pattern&&(this.state.currentDate=fp(this.options.pattern,t.mtime))}catch{return}}_parseOption(t){let n={maxSize:0,numToKeep:Number.MAX_SAFE_INTEGER,encoding:"utf8",mode:parseInt("0600",8),flags:"a",compress:!1,keepFileExt:!1,alwaysIncludePattern:!1},r=Object.assign({},n,t);if(!r.maxSize)delete r.maxSize;else if(r.maxSize<=0)throw new Error(`options.maxSize (${r.maxSize}) should be > 0`);if(r.numBackups||r.numBackups===0){if(r.numBackups<0)throw new Error(`options.numBackups (${r.numBackups}) should be >= 0`);if(r.numBackups>=Number.MAX_SAFE_INTEGER)throw new Error(`options.numBackups (${r.numBackups}) should be < Number.MAX_SAFE_INTEGER`);r.numToKeep=r.numBackups+1}else if(r.numToKeep<=0)throw new Error(`options.numToKeep (${r.numToKeep}) should be > 0`);return tn(`_parseOption: creating stream with option=${JSON.stringify(r)}`),r}_final(t){this.currentFileStream.end("",this.options.encoding,t)}_write(t,n,r){this._shouldRoll().then(()=>{tn(`_write: writing chunk. file=${this.currentFileStream.path} state=${JSON.stringify(this.state)} chunk=${t}`),this.currentFileStream.write(t,n,i=>{this.state.currentSize+=t.length,r(i)})})}async _shouldRoll(){(this._dateChanged()||this._tooBig())&&(tn(`_shouldRoll: rolling because dateChanged? ${this._dateChanged()} or tooBig? ${this._tooBig()}`),await this._roll())}_dateChanged(){return this.state.currentDate&&this.state.currentDate!==fp(this.options.pattern,gp())}_tooBig(){return this.state.currentSize>=this.options.maxSize}_roll(){return tn("_roll: closing the current stream"),new Promise((t,n)=>{this.currentFileStream.end("",this.options.encoding,()=>{this._moveOldFiles().then(t).catch(n)})})}async _moveOldFiles(){let t=await this._getExistingFiles(),n=this.state.currentDate?t.filter(r=>r.date===this.state.currentDate):t;for(let r=n.length;r>=0;r--){tn(`_moveOldFiles: i = ${r}`);let i=this.fileFormatter({date:this.state.currentDate,index:r}),o=this.fileFormatter({date:this.state.currentDate,index:r+1}),s={compress:this.options.compress&&r===0,mode:this.options.mode};await mge(i,o,s)}this.state.currentSize=0,this.state.currentDate=this.state.currentDate?fp(this.options.pattern,gp()):null,tn(`_moveOldFiles: finished rolling files. state=${JSON.stringify(this.state)}`),this._renewWriteStream(),await new Promise((r,i)=>{this.currentFileStream.write("","utf8",()=>{this._clean().then(r).catch(i)})})}async _getExistingFiles(){let t=await Go.readdir(this.fileObject.dir).catch(()=>[]);tn(`_getExistingFiles: files=${t}`);let n=t.map(i=>this.fileNameParser(i)).filter(i=>i),r=i=>(i.timestamp?i.timestamp:gp().getTime())-i.index;return n.sort((i,o)=>r(i)-r(o)),n}_renewWriteStream(){let t=this.fileFormatter({date:this.state.currentDate,index:0}),n=o=>{try{return Go.mkdirSync(o,{recursive:!0})}catch(s){if(s.code==="ENOENT")return n(Bo.dirname(o)),n(o);if(s.code!=="EEXIST"&&s.code!=="EROFS")throw s;try{if(Go.statSync(o).isDirectory())return o;throw s}catch{throw s}}};n(this.fileObject.dir);let r={flags:this.options.flags,encoding:this.options.encoding,mode:this.options.mode},i=function(o,s,a){return o[a]=o[s],delete o[s],o};Go.appendFileSync(t,"",i({...r},"flags","flag")),this.currentFileStream=Go.createWriteStream(t,r),this.currentFileStream.on("error",o=>{this.emit("error",o)})}async _clean(){let t=await this._getExistingFiles();if(tn(`_clean: numToKeep = ${this.options.numToKeep}, existingFiles = ${t.length}`),tn("_clean: existing files are: ",t),this._tooManyFiles(t.length)){let n=t.slice(0,t.length-this.options.numToKeep).map(r=>Bo.format({dir:this.fileObject.dir,base:r.filename}));await hge(n)}}_tooManyFiles(t){return this.options.numToKeep>0&&t>this.options.numToKeep}};Z1.exports=mA});var S1=d((MHe,v1)=>{"use strict";var Cge=Ip(),hA=class extends Cge{constructor(t,n,r,i){i||(i={}),n&&(i.maxSize=n),!i.numBackups&&i.numBackups!==0&&(!r&&r!==0&&(r=1),i.numBackups=r),super(t,i),this.backups=i.numBackups,this.size=this.options.maxSize}get theStream(){return this.currentFileStream}};v1.exports=hA});var W1=d((DHe,R1)=>{"use strict";var bge=Ip(),CA=class extends bge{constructor(t,n,r){n&&typeof n=="object"&&(r=n,n=null),r||(r={}),n||(n="yyyy-MM-dd"),r.pattern=n,!r.numBackups&&r.numBackups!==0?(!r.daysToKeep&&r.daysToKeep!==0?r.daysToKeep=1:process.emitWarning("options.daysToKeep is deprecated due to the confusion it causes when used together with file size rolling. Please use options.numBackups instead.","DeprecationWarning","streamroller-DEP0001"),r.numBackups=r.daysToKeep):r.daysToKeep=r.numBackups,super(t,r),this.mode=this.options.mode}get theStream(){return this.currentFileStream}};R1.exports=CA});var bA=d((qHe,N1)=>{"use strict";N1.exports={RollingFileWriteStream:Ip(),RollingFileStream:S1(),DateRollingFileStream:W1()}});var w1=d((zHe,H1)=>{"use strict";var V1=Le()("log4js:file"),yA=require("path"),yge=bA(),E1=require("os"),Age=E1.EOL,pp=!1,mp=new Set;function _1(){mp.forEach(e=>{e.sighupHandler()})}function Bge(e,t,n,r,i,o){if(typeof e!="string"||e.length===0)throw new Error(`Invalid filename: ${e}`);if(e.endsWith(yA.sep))throw new Error(`Filename is a directory: ${e}`);e.indexOf(`~${yA.sep}`)===0&&(e=e.replace("~",E1.homedir())),e=yA.normalize(e),r=!r&&r!==0?5:r,V1("Creating file appender (",e,", ",n,", ",r,", ",i,", ",o,")");function s(u,l,g,f){let I=new yge.RollingFileStream(u,l,g,f);return I.on("error",m=>{console.error("log4js.fileAppender - Writing to file %s, error happened ",u,m)}),I.on("drain",()=>{process.emit("log4js:pause",!1)}),I}let a=s(e,n,r,i),c=function(u){if(a.writable){if(i.removeColor===!0){let l=/\x1b[[0-9;]*m/g;u.data=u.data.map(g=>typeof g=="string"?g.replace(l,""):g)}a.write(t(u,o)+Age,"utf8")||process.emit("log4js:pause",!0)}};return c.reopen=function(){a.end(()=>{a=s(e,n,r,i)})},c.sighupHandler=function(){V1("SIGHUP handler called."),c.reopen()},c.shutdown=function(u){mp.delete(c),mp.size===0&&pp&&(process.removeListener("SIGHUP",_1),pp=!1),a.end("","utf-8",u)},mp.add(c),pp||(process.on("SIGHUP",_1),pp=!0),c}function Gge(e,t){let n=t.basicLayout;return e.layout&&(n=t.layout(e.layout.type,e.layout)),e.mode=e.mode||384,Bge(e.filename,n,e.maxLogSize,e.backups,e,e.timezoneOffset)}H1.exports.configure=Gge});var F1=d((PHe,Y1)=>{"use strict";var Zge=bA(),vge=require("os"),Sge=vge.EOL;function Rge(e,t,n){let r=new Zge.DateRollingFileStream(e,t,n);return r.on("error",i=>{console.error("log4js.dateFileAppender - Writing to file %s, error happened ",e,i)}),r.on("drain",()=>{process.emit("log4js:pause",!1)}),r}function Wge(e,t,n,r,i){r.maxSize=r.maxLogSize;let o=Rge(e,t,r),s=function(a){o.writable&&(o.write(n(a,i)+Sge,"utf8")||process.emit("log4js:pause",!0))};return s.shutdown=function(a){o.end("","utf-8",a)},s}function Nge(e,t){let n=t.basicLayout;return e.layout&&(n=t.layout(e.layout.type,e.layout)),e.alwaysIncludePattern||(e.alwaysIncludePattern=!1),e.mode=e.mode||384,Wge(e.filename,e.pattern,n,e,e.timezoneOffset)}Y1.exports.configure=Nge});var K1=d((jHe,k1)=>{"use strict";var wr=Le()("log4js:fileSync"),ir=require("path"),rr=require("fs"),T1=require("os"),Vge=T1.EOL;function X1(e,t){let n=r=>{try{return rr.mkdirSync(r,{recursive:!0})}catch(i){if(i.code==="ENOENT")return n(ir.dirname(r)),n(r);if(i.code!=="EEXIST"&&i.code!=="EROFS")throw i;try{if(rr.statSync(r).isDirectory())return r;throw i}catch{throw i}}};n(ir.dirname(e)),rr.appendFileSync(e,"",{mode:t.mode,flag:t.flags})}var AA=class{constructor(t,n,r,i){if(wr("In RollingFileStream"),n<0)throw new Error(`maxLogSize (${n}) should be > 0`);this.filename=t,this.size=n,this.backups=r,this.options=i,this.currentSize=0;function o(s){let a=0;try{a=rr.statSync(s).size}catch{X1(s,i)}return a}this.currentSize=o(this.filename)}shouldRoll(){return wr("should roll with current size %d, and max size %d",this.currentSize,this.size),this.currentSize>=this.size}roll(t){let n=this,r=new RegExp(`^${ir.basename(t)}`);function i(u){return r.test(u)}function o(u){return parseInt(u.slice(`${ir.basename(t)}.`.length),10)||0}function s(u,l){return o(u)-o(l)}function a(u){let l=o(u);if(wr(`Index of ${u} is ${l}`),n.backups===0)rr.truncateSync(t,0);else if(l<n.backups){try{rr.unlinkSync(`${t}.${l+1}`)}catch{}wr(`Renaming ${u} -> ${t}.${l+1}`),rr.renameSync(ir.join(ir.dirname(t),u),`${t}.${l+1}`)}}function c(){wr("Renaming the old files"),rr.readdirSync(ir.dirname(t)).filter(i).sort(s).reverse().forEach(a)}wr("Rolling, rolling, rolling"),c()}write(t,n){let r=this;function i(){wr("writing the chunk to the file"),r.currentSize+=t.length,rr.appendFileSync(r.filename,t)}wr("in write"),this.shouldRoll()&&(this.currentSize=0,this.roll(this.filename)),i()}};function _ge(e,t,n,r,i,o){if(typeof e!="string"||e.length===0)throw new Error(`Invalid filename: ${e}`);if(e.endsWith(ir.sep))throw new Error(`Filename is a directory: ${e}`);e.indexOf(`~${ir.sep}`)===0&&(e=e.replace("~",T1.homedir())),e=ir.normalize(e),r=!r&&r!==0?5:r,wr("Creating fileSync appender (",e,", ",n,", ",r,", ",i,", ",o,")");function s(c,u,l){let g;return u?g=new AA(c,u,l,i):g=(f=>(X1(f,i),{write(I){rr.appendFileSync(f,I)}}))(c),g}let a=s(e,n,r);return c=>{a.write(t(c,o)+Vge)}}function Ege(e,t){let n=t.basicLayout;e.layout&&(n=t.layout(e.layout.type,e.layout));let r={flags:e.flags||"a",encoding:e.encoding||"utf8",mode:e.mode||384};return _ge(e.filename,n,e.maxLogSize,e.backups,r,e.timezoneOffset)}k1.exports.configure=Ege});var L1=d((QHe,x1)=>{"use strict";var or=Le()("log4js:tcp"),Hge=require("net");function wge(e,t){let n=!1,r=[],i,o=3,s="__LOG4JS__";function a(g){or("Writing log event to socket"),n=i.write(`${t(g)}${s}`,"utf8")}function c(){let g;for(or("emptying buffer");g=r.shift();)a(g)}function u(){or(`appender creating socket to ${e.host||"localhost"}:${e.port||5e3}`),s=`${e.endMsg||"__LOG4JS__"}`,i=Hge.createConnection(e.port||5e3,e.host||"localhost"),i.on("connect",()=>{or("socket connected"),c(),n=!0}),i.on("drain",()=>{or("drain event received, emptying buffer"),n=!0,c()}),i.on("timeout",i.end.bind(i)),i.on("error",g=>{or("connection error",g),n=!1,c()}),i.on("close",u)}u();function l(g){n?a(g):(or("buffering log event because it cannot write at the moment"),r.push(g))}return l.shutdown=function(g){or("shutdown called"),r.length&&o?(or("buffer has items, waiting 100ms to empty"),o-=1,setTimeout(()=>{l.shutdown(g)},100)):(i.removeAllListeners("close"),i.end(g))},l}function Yge(e,t){or(`configure with config = ${e}`);let n=function(r){return r.serialise()};return e.layout&&(n=t.layout(e.layout.type,e.layout)),wge(e,n)}x1.exports.configure=Yge});var ZA=d(($He,GA)=>{"use strict";var BA=require("path"),fi=Le()("log4js:appenders"),An=mo(),U1=rp(),Fge=Co(),Tge=U0(),Xge=PF(),_n=new Map;_n.set("console",QF());_n.set("stdout",eT());_n.set("stderr",nT());_n.set("logLevelFilter",iT());_n.set("categoryFilter",aT());_n.set("noLogFilter",lT());_n.set("file",w1());_n.set("dateFile",F1());_n.set("fileSync",K1());_n.set("tcp",L1());var $c=new Map,hp=(e,t)=>{let n;try{let r=`${e}.cjs`;n=require.resolve(r),fi("Loading module from ",r)}catch{n=e,fi("Loading module from ",e)}try{return require(n)}catch(r){An.throwExceptionIf(t,r.code!=="MODULE_NOT_FOUND",`appender "${e}" could not be loaded (error was: ${r})`);return}},kge=(e,t)=>_n.get(e)||hp(`./${e}`,t)||hp(e,t)||require.main&&require.main.filename&&hp(BA.join(BA.dirname(require.main.filename),e),t)||hp(BA.join(process.cwd(),e),t),Cp=new Set,J1=(e,t)=>{if($c.has(e))return $c.get(e);if(!t.appenders[e])return!1;if(Cp.has(e))throw new Error(`Dependency loop detected for appender ${e}.`);Cp.add(e),fi(`Creating appender ${e}`);let n=Kge(e,t);return Cp.delete(e),$c.set(e,n),n},Kge=(e,t)=>{let n=t.appenders[e],r=n.type.configure?n.type:kge(n.type,t);return An.throwExceptionIf(t,An.not(r),`appender "${e}" is not valid (type "${n.type}" could not be found)`),r.appender&&(process.emitWarning(`Appender ${n.type} exports an appender function.`,"DeprecationWarning","log4js-node-DEP0001"),fi("[log4js-node-DEP0001]",`DEPRECATION: Appender ${n.type} exports an appender function.`)),r.shutdown&&(process.emitWarning(`Appender ${n.type} exports a shutdown function.`,"DeprecationWarning","log4js-node-DEP0002"),fi("[log4js-node-DEP0002]",`DEPRECATION: Appender ${n.type} exports a shutdown function.`)),fi(`${e}: clustering.isMaster ? ${U1.isMaster()}`),fi(`${e}: appenderModule is ${require("util").inspect(r)}`),U1.onlyOnMaster(()=>(fi(`calling appenderModule.configure for ${e} / ${n.type}`),r.configure(Xge.modifyConfig(n),Tge,i=>J1(i,t),Fge)),()=>{})},O1=e=>{if($c.clear(),Cp.clear(),!e)return;let t=[];Object.values(e.categories).forEach(n=>{t.push(...n.appenders)}),Object.keys(e.appenders).forEach(n=>{(t.includes(n)||e.appenders[n].type==="tcp-server"||e.appenders[n].type==="multiprocess")&&J1(n,e)})},M1=()=>{O1()};M1();An.addListener(e=>{An.throwExceptionIf(e,An.not(An.anObject(e.appenders)),'must have a property "appenders" of type object.');let t=Object.keys(e.appenders);An.throwExceptionIf(e,An.not(t.length),"must define at least one appender."),t.forEach(n=>{An.throwExceptionIf(e,An.not(e.appenders[n].type),`appender "${n}" is not valid (must be an object with property "type")`)})});An.addListener(O1);GA.exports=$c;GA.exports.init=M1});var RA=d((ewe,bp)=>{"use strict";var eu=Le()("log4js:categories"),Re=mo(),vA=Co(),D1=ZA(),Ii=new Map;function q1(e,t,n){if(t.inherit===!1)return;let r=n.lastIndexOf(".");if(r<0)return;let i=n.slice(0,r),o=e.categories[i];o||(o={inherit:!0,appenders:[]}),q1(e,o,i),!e.categories[i]&&o.appenders&&o.appenders.length&&o.level&&(e.categories[i]=o),t.appenders=t.appenders||[],t.level=t.level||o.level,o.appenders.forEach(s=>{t.appenders.includes(s)||t.appenders.push(s)}),t.parent=o}function xge(e){if(!e.categories)return;Object.keys(e.categories).forEach(n=>{let r=e.categories[n];q1(e,r,n)})}Re.addPreProcessingListener(e=>xge(e));Re.addListener(e=>{Re.throwExceptionIf(e,Re.not(Re.anObject(e.categories)),'must have a property "categories" of type object.');let t=Object.keys(e.categories);Re.throwExceptionIf(e,Re.not(t.length),"must define at least one category."),t.forEach(n=>{let r=e.categories[n];Re.throwExceptionIf(e,[Re.not(r.appenders),Re.not(r.level)],`category "${n}" is not valid (must be an object with properties "appenders" and "level")`),Re.throwExceptionIf(e,Re.not(Array.isArray(r.appenders)),`category "${n}" is not valid (appenders must be an array of appender names)`),Re.throwExceptionIf(e,Re.not(r.appenders.length),`category "${n}" is not valid (appenders must contain at least one appender name)`),Object.prototype.hasOwnProperty.call(r,"enableCallStack")&&Re.throwExceptionIf(e,typeof r.enableCallStack!="boolean",`category "${n}" is not valid (enableCallStack must be boolean type)`),r.appenders.forEach(i=>{Re.throwExceptionIf(e,Re.not(D1.get(i)),`category "${n}" is not valid (appender "${i}" is not defined)`)}),Re.throwExceptionIf(e,Re.not(vA.getLevel(r.level)),`category "${n}" is not valid (level "${r.level}" not recognised; valid levels are ${vA.levels.join(", ")})`)}),Re.throwExceptionIf(e,Re.not(e.categories.default),'must define a "default" category.')});var SA=e=>{if(Ii.clear(),!e)return;Object.keys(e.categories).forEach(n=>{let r=e.categories[n],i=[];r.appenders.forEach(o=>{i.push(D1.get(o)),eu(`Creating category ${n}`),Ii.set(n,{appenders:i,level:vA.getLevel(r.level),enableCallStack:r.enableCallStack||!1})})})},z1=()=>{SA()};z1();Re.addListener(SA);var ws=e=>{if(eu(`configForCategory: searching for config for ${e}`),Ii.has(e))return eu(`configForCategory: ${e} exists in config, returning it`),Ii.get(e);let t;return e.indexOf(".")>0?(eu(`configForCategory: ${e} has hierarchy, cloning from parents`),t={...ws(e.slice(0,e.lastIndexOf(".")))}):(Ii.has("default")||SA({categories:{default:{appenders:["out"],level:"OFF"}}}),eu("configForCategory: cloning default category"),t={...Ii.get("default")}),Ii.set(e,t),t},Lge=e=>ws(e).appenders,Uge=e=>ws(e).level,Jge=(e,t)=>{ws(e).level=t},Oge=e=>ws(e).enableCallStack===!0,Mge=(e,t)=>{ws(e).enableCallStack=t};bp.exports=Ii;bp.exports=Object.assign(bp.exports,{appendersForCategory:Lge,getLevelForCategory:Uge,setLevelForCategory:Jge,getEnableCallStackForCategory:Oge,setEnableCallStackForCategory:Mge,init:z1})});var n9=d((twe,t9)=>{"use strict";var P1=Le()("log4js:logger"),Dge=M0(),sr=Co(),qge=rp(),yp=RA(),Q1=mo(),zge=/^(?:\s*)at (?:(.+) \()?(?:([^(]+?):(\d+):(\d+))\)?$/,WA=1,$1=3;function j1(e,t=$1+WA){try{let n=e.stack.split(`
|
|
53
|
+
`).slice(t);if(!n.length)return null;let r=zge.exec(n[0]);if(r&&r.length===5){let i="",o="",s="";return r[1]&&r[1]!==""&&([o,s]=r[1].replace(/[[\]]/g,"").split(" as "),s=s||"",o.includes(".")&&([i,o]=o.split("."))),{fileName:r[2],lineNumber:parseInt(r[3],10),columnNumber:parseInt(r[4],10),callStack:n.join(`
|
|
54
|
+
`),className:i,functionName:o,functionAlias:s,callerName:r[1]||""}}else console.error("log4js.logger - defaultParseCallStack error")}catch(n){console.error("log4js.logger - defaultParseCallStack error",n)}return null}var tu=class{constructor(t){if(!t)throw new Error("No category provided.");this.category=t,this.context={},this.callStackSkipIndex=0,this.parseCallStack=j1,P1(`Logger created (${this.category}, ${this.level})`)}get level(){return sr.getLevel(yp.getLevelForCategory(this.category),sr.OFF)}set level(t){yp.setLevelForCategory(this.category,sr.getLevel(t,this.level))}get useCallStack(){return yp.getEnableCallStackForCategory(this.category)}set useCallStack(t){yp.setEnableCallStackForCategory(this.category,t===!0)}get callStackLinesToSkip(){return this.callStackSkipIndex}set callStackLinesToSkip(t){if(typeof t!="number")throw new TypeError("Must be a number");if(t<0)throw new RangeError("Must be >= 0");this.callStackSkipIndex=t}log(t,...n){let r=sr.getLevel(t);r?this.isLevelEnabled(r)&&this._log(r,n):Q1.validIdentifier(t)&&n.length>0?(this.log(sr.WARN,"log4js:logger.log: valid log-level not found as first parameter given:",t),this.log(sr.INFO,`[${t}]`,...n)):this.log(sr.INFO,t,...n)}isLevelEnabled(t){return this.level.isLessThanOrEqualTo(t)}_log(t,n){P1(`sending log data (${t}) to appenders`);let r=n.find(s=>s instanceof Error),i;if(this.useCallStack){try{r&&(i=this.parseCallStack(r,this.callStackSkipIndex+WA))}catch{}i=i||this.parseCallStack(new Error,this.callStackSkipIndex+$1+WA)}let o=new Dge(this.category,t,n,this.context,i,r);qge.send(o)}addContext(t,n){this.context[t]=n}removeContext(t){delete this.context[t]}clearContext(){this.context={}}setParseCallStackFunction(t){if(typeof t=="function")this.parseCallStack=t;else if(typeof t>"u")this.parseCallStack=j1;else throw new TypeError("Invalid type passed to setParseCallStackFunction")}};function e9(e){let t=sr.getLevel(e),r=t.toString().toLowerCase().replace(/_([a-z])/g,o=>o[1].toUpperCase()),i=r[0].toUpperCase()+r.slice(1);tu.prototype[`is${i}Enabled`]=function(){return this.isLevelEnabled(t)},tu.prototype[r]=function(...o){this.log(t,...o)}}sr.levels.forEach(e9);Q1.addListener(()=>{sr.levels.forEach(e9)});t9.exports=tu});var o9=d((nwe,i9)=>{"use strict";var Ys=Co(),Pge=':remote-addr - - ":method :url HTTP/:http-version" :status :content-length ":referrer" ":user-agent"';function jge(e){return e.originalUrl||e.url}function Qge(e,t,n){let r=o=>{let s=o.concat();for(let a=0;a<s.length;++a)for(let c=a+1;c<s.length;++c)s[a].token==s[c].token&&s.splice(c--,1);return s},i=[];return i.push({token:":url",replacement:jge(e)}),i.push({token:":protocol",replacement:e.protocol}),i.push({token:":hostname",replacement:e.hostname}),i.push({token:":method",replacement:e.method}),i.push({token:":status",replacement:t.__statusCode||t.statusCode}),i.push({token:":response-time",replacement:t.responseTime}),i.push({token:":date",replacement:new Date().toUTCString()}),i.push({token:":referrer",replacement:e.headers.referer||e.headers.referrer||""}),i.push({token:":http-version",replacement:`${e.httpVersionMajor}.${e.httpVersionMinor}`}),i.push({token:":remote-addr",replacement:e.headers["x-forwarded-for"]||e.ip||e._remoteAddress||e.socket&&(e.socket.remoteAddress||e.socket.socket&&e.socket.socket.remoteAddress)}),i.push({token:":user-agent",replacement:e.headers["user-agent"]}),i.push({token:":content-length",replacement:t.getHeader("content-length")||t.__headers&&t.__headers["Content-Length"]||"-"}),i.push({token:/:req\[([^\]]+)]/g,replacement(o,s){return e.headers[s.toLowerCase()]}}),i.push({token:/:res\[([^\]]+)]/g,replacement(o,s){return t.getHeader(s.toLowerCase())||t.__headers&&t.__headers[s]}}),r(n.concat(i))}function r9(e,t){for(let n=0;n<t.length;n++)e=e.replace(t[n].token,t[n].replacement);return e}function $ge(e){let t=null;if(e instanceof RegExp&&(t=e),typeof e=="string"&&(t=new RegExp(e)),Array.isArray(e)){let n=e.map(r=>r.source?r.source:r);t=new RegExp(n.join("|"))}return t}function efe(e,t,n){let r=t;if(n){let i=n.find(o=>{let s=!1;return o.from&&o.to?s=e>=o.from&&e<=o.to:s=o.codes.indexOf(e)!==-1,s});i&&(r=Ys.getLevel(i.level,r))}return r}i9.exports=function(t,n){typeof n=="string"||typeof n=="function"?n={format:n}:n=n||{};let r=t,i=Ys.getLevel(n.level,Ys.INFO),o=n.format||Pge;return(s,a,c)=>{if(typeof s._logging<"u")return c();if(typeof n.nolog!="function"){let u=$ge(n.nolog);if(u&&u.test(s.originalUrl))return c()}if(r.isLevelEnabled(i)||n.level==="auto"){let u=new Date,{writeHead:l}=a;s._logging=!0,a.writeHead=(I,m)=>{a.writeHead=l,a.writeHead(I,m),a.__statusCode=I,a.__headers=m||{}};let g=!1,f=()=>{if(g)return;if(g=!0,typeof n.nolog=="function"&&n.nolog(s,a)===!0){s._logging=!1;return}a.responseTime=new Date-u,a.statusCode&&n.level==="auto"&&(i=Ys.INFO,a.statusCode>=300&&(i=Ys.WARN),a.statusCode>=400&&(i=Ys.ERROR)),i=efe(a.statusCode,i,n.statusRules);let I=Qge(s,a,n.tokens||[]);if(n.context&&r.addContext("res",a),typeof o=="function"){let m=o(s,a,C=>r9(C,I));m&&r.log(i,m)}else r.log(i,r9(o,I));n.context&&r.removeContext("res")};a.on("end",f),a.on("finish",f),a.on("error",f),a.on("close",f)}return c()}}});var l9=d((rwe,u9)=>{"use strict";var s9=Le()("log4js:recording"),Ap=[];function tfe(){return function(e){s9(`received logEvent, number of events now ${Ap.length+1}`),s9("log event was ",e),Ap.push(e)}}function a9(){return Ap.slice()}function c9(){Ap.length=0}u9.exports={configure:tfe,replay:a9,playback:a9,reset:c9,erase:c9}});var h9=d((iwe,m9)=>{"use strict";var pi=Le()("log4js:main"),nfe=require("fs"),rfe=lF()({proto:!0}),ife=mo(),ofe=U0(),sfe=Co(),d9=ZA(),g9=RA(),afe=n9(),cfe=rp(),ufe=o9(),lfe=l9(),Fs=!1;function dfe(e){if(!Fs)return;pi("Received log event ",e),g9.appendersForCategory(e.categoryName).forEach(n=>{n(e)})}function gfe(e){pi(`Loading configuration from ${e}`);try{return JSON.parse(nfe.readFileSync(e,"utf8"))}catch(t){throw new Error(`Problem reading config from file "${e}". Error was ${t.message}`,t)}}function f9(e){Fs&&I9();let t=e;return typeof t=="string"&&(t=gfe(e)),pi(`Configuration is ${t}`),ife.configure(rfe(t)),cfe.onMessage(dfe),Fs=!0,p9}function ffe(){return Fs}function Ife(){return lfe}function I9(e=()=>{}){if(typeof e!="function")throw new TypeError("Invalid callback passed to shutdown");pi("Shutdown called. Disabling all log writing."),Fs=!1;let t=Array.from(d9.values());d9.init(),g9.init();let n=t.reduce((s,a)=>a.shutdown?s+1:s,0);n===0&&(pi("No appenders with shutdown functions found."),e());let r=0,i;pi(`Found ${n} appenders with shutdown functions.`);function o(s){i=i||s,r+=1,pi(`Appender shutdowns complete: ${r} / ${n}`),r>=n&&(pi("All shutdown functions completed."),e(i))}t.filter(s=>s.shutdown).forEach(s=>s.shutdown(o))}function pfe(e){return Fs||f9(process.env.LOG4JS_CONFIG||{appenders:{out:{type:"stdout"}},categories:{default:{appenders:["out"],level:"OFF"}}}),new afe(e||"default")}var p9={getLogger:pfe,configure:f9,isConfigured:ffe,shutdown:I9,connectLogger:ufe,levels:sfe,addLayout:ofe.addLayout,recording:Ife};m9.exports=p9});var fe=d(NA=>{"use strict";NA.fromCallback=function(e){return Object.defineProperty(function(...t){if(typeof t[t.length-1]=="function")e.apply(this,t);else return new Promise((n,r)=>{t.push((i,o)=>i!=null?r(i):n(o)),e.apply(this,t)})},"name",{value:e.name})};NA.fromPromise=function(e){return Object.defineProperty(function(...t){let n=t[t.length-1];if(typeof n!="function")return e.apply(this,t);t.pop(),e.apply(this,t).then(r=>n(null,r),n)},"name",{value:e.name})}});var bt=d(Yr=>{"use strict";var C9=fe().fromCallback,Ct=D(),mfe=["access","appendFile","chmod","chown","close","copyFile","cp","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","glob","lchmod","lchown","lutimes","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","statfs","symlink","truncate","unlink","utimes","writeFile"].filter(e=>typeof Ct[e]=="function");Object.assign(Yr,Ct);mfe.forEach(e=>{Yr[e]=C9(Ct[e])});Yr.exists=function(e,t){return typeof t=="function"?Ct.exists(e,t):new Promise(n=>Ct.exists(e,n))};Yr.read=function(e,t,n,r,i,o){return typeof o=="function"?Ct.read(e,t,n,r,i,o):new Promise((s,a)=>{Ct.read(e,t,n,r,i,(c,u,l)=>{if(c)return a(c);s({bytesRead:u,buffer:l})})})};Yr.write=function(e,t,...n){return typeof n[n.length-1]=="function"?Ct.write(e,t,...n):new Promise((r,i)=>{Ct.write(e,t,...n,(o,s,a)=>{if(o)return i(o);r({bytesWritten:s,buffer:a})})})};Yr.readv=function(e,t,...n){return typeof n[n.length-1]=="function"?Ct.readv(e,t,...n):new Promise((r,i)=>{Ct.readv(e,t,...n,(o,s,a)=>{if(o)return i(o);r({bytesRead:s,buffers:a})})})};Yr.writev=function(e,t,...n){return typeof n[n.length-1]=="function"?Ct.writev(e,t,...n):new Promise((r,i)=>{Ct.writev(e,t,...n,(o,s,a)=>{if(o)return i(o);r({bytesWritten:s,buffers:a})})})};typeof Ct.realpath.native=="function"?Yr.realpath.native=C9(Ct.realpath.native):process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?","Warning","fs-extra-WARN0003")});var y9=d((awe,b9)=>{"use strict";var hfe=require("path");b9.exports.checkPath=function(t){if(process.platform==="win32"&&/[<>:"|?*]/.test(t.replace(hfe.parse(t).root,""))){let r=new Error(`Path contains invalid characters: ${t}`);throw r.code="EINVAL",r}}});var Z9=d((cwe,VA)=>{"use strict";var A9=bt(),{checkPath:B9}=y9(),G9=e=>{let t={mode:511};return typeof e=="number"?e:{...t,...e}.mode};VA.exports.makeDir=async(e,t)=>(B9(e),A9.mkdir(e,{mode:G9(t),recursive:!0}));VA.exports.makeDirSync=(e,t)=>(B9(e),A9.mkdirSync(e,{mode:G9(t),recursive:!0}))});var En=d((uwe,v9)=>{"use strict";var Cfe=fe().fromPromise,{makeDir:bfe,makeDirSync:_A}=Z9(),EA=Cfe(bfe);v9.exports={mkdirs:EA,mkdirsSync:_A,mkdirp:EA,mkdirpSync:_A,ensureDir:EA,ensureDirSync:_A}});var mi=d((lwe,R9)=>{"use strict";var yfe=fe().fromPromise,S9=bt();function Afe(e){return S9.access(e).then(()=>!0).catch(()=>!1)}R9.exports={pathExists:yfe(Afe),pathExistsSync:S9.existsSync}});var HA=d((dwe,W9)=>{"use strict";var Ts=bt(),Bfe=fe().fromPromise;async function Gfe(e,t,n){let r=await Ts.open(e,"r+"),i=null;try{await Ts.futimes(r,t,n)}finally{try{await Ts.close(r)}catch(o){i=o}}if(i)throw i}function Zfe(e,t,n){let r=Ts.openSync(e,"r+");return Ts.futimesSync(r,t,n),Ts.closeSync(r)}W9.exports={utimesMillis:Bfe(Gfe),utimesMillisSync:Zfe}});var Zo=d((gwe,E9)=>{"use strict";var Xs=bt(),ze=require("path"),N9=fe().fromPromise;function vfe(e,t,n){let r=n.dereference?i=>Xs.stat(i,{bigint:!0}):i=>Xs.lstat(i,{bigint:!0});return Promise.all([r(e),r(t).catch(i=>{if(i.code==="ENOENT")return null;throw i})]).then(([i,o])=>({srcStat:i,destStat:o}))}function Sfe(e,t,n){let r,i=n.dereference?s=>Xs.statSync(s,{bigint:!0}):s=>Xs.lstatSync(s,{bigint:!0}),o=i(e);try{r=i(t)}catch(s){if(s.code==="ENOENT")return{srcStat:o,destStat:null};throw s}return{srcStat:o,destStat:r}}async function Rfe(e,t,n,r){let{srcStat:i,destStat:o}=await vfe(e,t,r);if(o){if(nu(i,o)){let s=ze.basename(e),a=ze.basename(t);if(n==="move"&&s!==a&&s.toLowerCase()===a.toLowerCase())return{srcStat:i,destStat:o,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(i.isDirectory()&&!o.isDirectory())throw new Error(`Cannot overwrite non-directory '${t}' with directory '${e}'.`);if(!i.isDirectory()&&o.isDirectory())throw new Error(`Cannot overwrite directory '${t}' with non-directory '${e}'.`)}if(i.isDirectory()&&wA(e,t))throw new Error(Bp(e,t,n));return{srcStat:i,destStat:o}}function Wfe(e,t,n,r){let{srcStat:i,destStat:o}=Sfe(e,t,r);if(o){if(nu(i,o)){let s=ze.basename(e),a=ze.basename(t);if(n==="move"&&s!==a&&s.toLowerCase()===a.toLowerCase())return{srcStat:i,destStat:o,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(i.isDirectory()&&!o.isDirectory())throw new Error(`Cannot overwrite non-directory '${t}' with directory '${e}'.`);if(!i.isDirectory()&&o.isDirectory())throw new Error(`Cannot overwrite directory '${t}' with non-directory '${e}'.`)}if(i.isDirectory()&&wA(e,t))throw new Error(Bp(e,t,n));return{srcStat:i,destStat:o}}async function V9(e,t,n,r){let i=ze.resolve(ze.dirname(e)),o=ze.resolve(ze.dirname(n));if(o===i||o===ze.parse(o).root)return;let s;try{s=await Xs.stat(o,{bigint:!0})}catch(a){if(a.code==="ENOENT")return;throw a}if(nu(t,s))throw new Error(Bp(e,n,r));return V9(e,t,o,r)}function _9(e,t,n,r){let i=ze.resolve(ze.dirname(e)),o=ze.resolve(ze.dirname(n));if(o===i||o===ze.parse(o).root)return;let s;try{s=Xs.statSync(o,{bigint:!0})}catch(a){if(a.code==="ENOENT")return;throw a}if(nu(t,s))throw new Error(Bp(e,n,r));return _9(e,t,o,r)}function nu(e,t){return t.ino&&t.dev&&t.ino===e.ino&&t.dev===e.dev}function wA(e,t){let n=ze.resolve(e).split(ze.sep).filter(i=>i),r=ze.resolve(t).split(ze.sep).filter(i=>i);return n.every((i,o)=>r[o]===i)}function Bp(e,t,n){return`Cannot ${n} '${e}' to a subdirectory of itself, '${t}'.`}E9.exports={checkPaths:N9(Rfe),checkPathsSync:Wfe,checkParentPaths:N9(V9),checkParentPathsSync:_9,isSrcSubdir:wA,areIdentical:nu}});var T9=d((fwe,F9)=>{"use strict";var ut=bt(),ru=require("path"),{mkdirs:Nfe}=En(),{pathExists:Vfe}=mi(),{utimesMillis:_fe}=HA(),iu=Zo();async function Efe(e,t,n={}){typeof n=="function"&&(n={filter:n}),n.clobber="clobber"in n?!!n.clobber:!0,n.overwrite="overwrite"in n?!!n.overwrite:n.clobber,n.preserveTimestamps&&process.arch==="ia32"&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
55
|
+
|
|
56
|
+
see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0001");let{srcStat:r,destStat:i}=await iu.checkPaths(e,t,"copy",n);if(await iu.checkParentPaths(e,r,t,"copy"),!await w9(e,t,n))return;let s=ru.dirname(t);await Vfe(s)||await Nfe(s),await Y9(i,e,t,n)}async function w9(e,t,n){return n.filter?n.filter(e,t):!0}async function Y9(e,t,n,r){let o=await(r.dereference?ut.stat:ut.lstat)(t);if(o.isDirectory())return Ffe(o,e,t,n,r);if(o.isFile()||o.isCharacterDevice()||o.isBlockDevice())return Hfe(o,e,t,n,r);if(o.isSymbolicLink())return Tfe(e,t,n,r);throw o.isSocket()?new Error(`Cannot copy a socket file: ${t}`):o.isFIFO()?new Error(`Cannot copy a FIFO pipe: ${t}`):new Error(`Unknown file: ${t}`)}async function Hfe(e,t,n,r,i){if(!t)return H9(e,n,r,i);if(i.overwrite)return await ut.unlink(r),H9(e,n,r,i);if(i.errorOnExist)throw new Error(`'${r}' already exists`)}async function H9(e,t,n,r){if(await ut.copyFile(t,n),r.preserveTimestamps){wfe(e.mode)&&await Yfe(n,e.mode);let i=await ut.stat(t);await _fe(n,i.atime,i.mtime)}return ut.chmod(n,e.mode)}function wfe(e){return(e&128)===0}function Yfe(e,t){return ut.chmod(e,t|128)}async function Ffe(e,t,n,r,i){t||await ut.mkdir(r);let o=[];for await(let s of await ut.opendir(n)){let a=ru.join(n,s.name),c=ru.join(r,s.name);o.push(w9(a,c,i).then(u=>{if(u)return iu.checkPaths(a,c,"copy",i).then(({destStat:l})=>Y9(l,a,c,i))}))}await Promise.all(o),t||await ut.chmod(r,e.mode)}async function Tfe(e,t,n,r){let i=await ut.readlink(t);if(r.dereference&&(i=ru.resolve(process.cwd(),i)),!e)return ut.symlink(i,n);let o=null;try{o=await ut.readlink(n)}catch(s){if(s.code==="EINVAL"||s.code==="UNKNOWN")return ut.symlink(i,n);throw s}if(r.dereference&&(o=ru.resolve(process.cwd(),o)),iu.isSrcSubdir(i,o))throw new Error(`Cannot copy '${i}' to a subdirectory of itself, '${o}'.`);if(iu.isSrcSubdir(o,i))throw new Error(`Cannot overwrite '${o}' with '${i}'.`);return await ut.unlink(n),ut.symlink(i,n)}F9.exports=Efe});var L9=d((Iwe,x9)=>{"use strict";var yt=D(),ou=require("path"),Xfe=En().mkdirsSync,kfe=HA().utimesMillisSync,su=Zo();function Kfe(e,t,n){typeof n=="function"&&(n={filter:n}),n=n||{},n.clobber="clobber"in n?!!n.clobber:!0,n.overwrite="overwrite"in n?!!n.overwrite:n.clobber,n.preserveTimestamps&&process.arch==="ia32"&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
57
|
+
|
|
58
|
+
see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0002");let{srcStat:r,destStat:i}=su.checkPathsSync(e,t,"copy",n);if(su.checkParentPathsSync(e,r,t,"copy"),n.filter&&!n.filter(e,t))return;let o=ou.dirname(t);return yt.existsSync(o)||Xfe(o),X9(i,e,t,n)}function X9(e,t,n,r){let o=(r.dereference?yt.statSync:yt.lstatSync)(t);if(o.isDirectory())return Dfe(o,e,t,n,r);if(o.isFile()||o.isCharacterDevice()||o.isBlockDevice())return xfe(o,e,t,n,r);if(o.isSymbolicLink())return Pfe(e,t,n,r);throw o.isSocket()?new Error(`Cannot copy a socket file: ${t}`):o.isFIFO()?new Error(`Cannot copy a FIFO pipe: ${t}`):new Error(`Unknown file: ${t}`)}function xfe(e,t,n,r,i){return t?Lfe(e,n,r,i):k9(e,n,r,i)}function Lfe(e,t,n,r){if(r.overwrite)return yt.unlinkSync(n),k9(e,t,n,r);if(r.errorOnExist)throw new Error(`'${n}' already exists`)}function k9(e,t,n,r){return yt.copyFileSync(t,n),r.preserveTimestamps&&Ufe(e.mode,t,n),YA(n,e.mode)}function Ufe(e,t,n){return Jfe(e)&&Ofe(n,e),Mfe(t,n)}function Jfe(e){return(e&128)===0}function Ofe(e,t){return YA(e,t|128)}function YA(e,t){return yt.chmodSync(e,t)}function Mfe(e,t){let n=yt.statSync(e);return kfe(t,n.atime,n.mtime)}function Dfe(e,t,n,r,i){return t?K9(n,r,i):qfe(e.mode,n,r,i)}function qfe(e,t,n,r){return yt.mkdirSync(n),K9(t,n,r),YA(n,e)}function K9(e,t,n){let r=yt.opendirSync(e);try{let i;for(;(i=r.readSync())!==null;)zfe(i.name,e,t,n)}finally{r.closeSync()}}function zfe(e,t,n,r){let i=ou.join(t,e),o=ou.join(n,e);if(r.filter&&!r.filter(i,o))return;let{destStat:s}=su.checkPathsSync(i,o,"copy",r);return X9(s,i,o,r)}function Pfe(e,t,n,r){let i=yt.readlinkSync(t);if(r.dereference&&(i=ou.resolve(process.cwd(),i)),e){let o;try{o=yt.readlinkSync(n)}catch(s){if(s.code==="EINVAL"||s.code==="UNKNOWN")return yt.symlinkSync(i,n);throw s}if(r.dereference&&(o=ou.resolve(process.cwd(),o)),su.isSrcSubdir(i,o))throw new Error(`Cannot copy '${i}' to a subdirectory of itself, '${o}'.`);if(su.isSrcSubdir(o,i))throw new Error(`Cannot overwrite '${o}' with '${i}'.`);return jfe(i,n)}else return yt.symlinkSync(i,n)}function jfe(e,t){return yt.unlinkSync(t),yt.symlinkSync(e,t)}x9.exports=Kfe});var Gp=d((pwe,U9)=>{"use strict";var Qfe=fe().fromPromise;U9.exports={copy:Qfe(T9()),copySync:L9()}});var au=d((mwe,O9)=>{"use strict";var J9=D(),$fe=fe().fromCallback;function eIe(e,t){J9.rm(e,{recursive:!0,force:!0},t)}function tIe(e){J9.rmSync(e,{recursive:!0,force:!0})}O9.exports={remove:$fe(eIe),removeSync:tIe}});var $9=d((hwe,Q9)=>{"use strict";var nIe=fe().fromPromise,q9=bt(),z9=require("path"),P9=En(),j9=au(),M9=nIe(async function(t){let n;try{n=await q9.readdir(t)}catch{return P9.mkdirs(t)}return Promise.all(n.map(r=>j9.remove(z9.join(t,r))))});function D9(e){let t;try{t=q9.readdirSync(e)}catch{return P9.mkdirsSync(e)}t.forEach(n=>{n=z9.join(e,n),j9.removeSync(n)})}Q9.exports={emptyDirSync:D9,emptydirSync:D9,emptyDir:M9,emptydir:M9}});var rk=d((Cwe,nk)=>{"use strict";var rIe=fe().fromPromise,ek=require("path"),Fr=bt(),tk=En();async function iIe(e){let t;try{t=await Fr.stat(e)}catch{}if(t&&t.isFile())return;let n=ek.dirname(e),r=null;try{r=await Fr.stat(n)}catch(i){if(i.code==="ENOENT"){await tk.mkdirs(n),await Fr.writeFile(e,"");return}else throw i}r.isDirectory()?await Fr.writeFile(e,""):await Fr.readdir(n)}function oIe(e){let t;try{t=Fr.statSync(e)}catch{}if(t&&t.isFile())return;let n=ek.dirname(e);try{Fr.statSync(n).isDirectory()||Fr.readdirSync(n)}catch(r){if(r&&r.code==="ENOENT")tk.mkdirsSync(n);else throw r}Fr.writeFileSync(e,"")}nk.exports={createFile:rIe(iIe),createFileSync:oIe}});var ck=d((bwe,ak)=>{"use strict";var sIe=fe().fromPromise,ik=require("path"),hi=bt(),ok=En(),{pathExists:aIe}=mi(),{areIdentical:sk}=Zo();async function cIe(e,t){let n;try{n=await hi.lstat(t)}catch{}let r;try{r=await hi.lstat(e)}catch(s){throw s.message=s.message.replace("lstat","ensureLink"),s}if(n&&sk(r,n))return;let i=ik.dirname(t);await aIe(i)||await ok.mkdirs(i),await hi.link(e,t)}function uIe(e,t){let n;try{n=hi.lstatSync(t)}catch{}try{let o=hi.lstatSync(e);if(n&&sk(o,n))return}catch(o){throw o.message=o.message.replace("lstat","ensureLink"),o}let r=ik.dirname(t);return hi.existsSync(r)||ok.mkdirsSync(r),hi.linkSync(e,t)}ak.exports={createLink:sIe(cIe),createLinkSync:uIe}});var lk=d((ywe,uk)=>{"use strict";var Ci=require("path"),cu=bt(),{pathExists:lIe}=mi(),dIe=fe().fromPromise;async function gIe(e,t){if(Ci.isAbsolute(e)){try{await cu.lstat(e)}catch(o){throw o.message=o.message.replace("lstat","ensureSymlink"),o}return{toCwd:e,toDst:e}}let n=Ci.dirname(t),r=Ci.join(n,e);if(await lIe(r))return{toCwd:r,toDst:e};try{await cu.lstat(e)}catch(o){throw o.message=o.message.replace("lstat","ensureSymlink"),o}return{toCwd:e,toDst:Ci.relative(n,e)}}function fIe(e,t){if(Ci.isAbsolute(e)){if(!cu.existsSync(e))throw new Error("absolute srcpath does not exist");return{toCwd:e,toDst:e}}let n=Ci.dirname(t),r=Ci.join(n,e);if(cu.existsSync(r))return{toCwd:r,toDst:e};if(!cu.existsSync(e))throw new Error("relative srcpath does not exist");return{toCwd:e,toDst:Ci.relative(n,e)}}uk.exports={symlinkPaths:dIe(gIe),symlinkPathsSync:fIe}});var fk=d((Awe,gk)=>{"use strict";var dk=bt(),IIe=fe().fromPromise;async function pIe(e,t){if(t)return t;let n;try{n=await dk.lstat(e)}catch{return"file"}return n&&n.isDirectory()?"dir":"file"}function mIe(e,t){if(t)return t;let n;try{n=dk.lstatSync(e)}catch{return"file"}return n&&n.isDirectory()?"dir":"file"}gk.exports={symlinkType:IIe(pIe),symlinkTypeSync:mIe}});var hk=d((Bwe,mk)=>{"use strict";var hIe=fe().fromPromise,Ik=require("path"),ar=bt(),{mkdirs:CIe,mkdirsSync:bIe}=En(),{symlinkPaths:yIe,symlinkPathsSync:AIe}=lk(),{symlinkType:BIe,symlinkTypeSync:GIe}=fk(),{pathExists:ZIe}=mi(),{areIdentical:pk}=Zo();async function vIe(e,t,n){let r;try{r=await ar.lstat(t)}catch{}if(r&&r.isSymbolicLink()){let[a,c]=await Promise.all([ar.stat(e),ar.stat(t)]);if(pk(a,c))return}let i=await yIe(e,t);e=i.toDst;let o=await BIe(i.toCwd,n),s=Ik.dirname(t);return await ZIe(s)||await CIe(s),ar.symlink(e,t,o)}function SIe(e,t,n){let r;try{r=ar.lstatSync(t)}catch{}if(r&&r.isSymbolicLink()){let a=ar.statSync(e),c=ar.statSync(t);if(pk(a,c))return}let i=AIe(e,t);e=i.toDst,n=GIe(i.toCwd,n);let o=Ik.dirname(t);return ar.existsSync(o)||bIe(o),ar.symlinkSync(e,t,n)}mk.exports={createSymlink:hIe(vIe),createSymlinkSync:SIe}});var vk=d((Gwe,Zk)=>{"use strict";var{createFile:Ck,createFileSync:bk}=rk(),{createLink:yk,createLinkSync:Ak}=ck(),{createSymlink:Bk,createSymlinkSync:Gk}=hk();Zk.exports={createFile:Ck,createFileSync:bk,ensureFile:Ck,ensureFileSync:bk,createLink:yk,createLinkSync:Ak,ensureLink:yk,ensureLinkSync:Ak,createSymlink:Bk,createSymlinkSync:Gk,ensureSymlink:Bk,ensureSymlinkSync:Gk}});var ks=d((Zwe,Sk)=>{"use strict";function RIe(e,{EOL:t=`
|
|
59
|
+
`,finalEOL:n=!0,replacer:r=null,spaces:i}={}){let o=n?t:"";return JSON.stringify(e,r,i).replace(/\n/g,t)+o}function WIe(e){return Buffer.isBuffer(e)&&(e=e.toString("utf8")),e.replace(/^\uFEFF/,"")}Sk.exports={stringify:RIe,stripBom:WIe}});var FA=d((vwe,Nk)=>{"use strict";var Ks;try{Ks=D()}catch{Ks=require("fs")}var Zp=fe(),{stringify:Rk,stripBom:Wk}=ks();async function NIe(e,t={}){typeof t=="string"&&(t={encoding:t});let n=t.fs||Ks,r="throws"in t?t.throws:!0,i=await Zp.fromCallback(n.readFile)(e,t);i=Wk(i);let o;try{o=JSON.parse(i,t?t.reviver:null)}catch(s){if(r)throw s.message=`${e}: ${s.message}`,s;return null}return o}var VIe=Zp.fromPromise(NIe);function _Ie(e,t={}){typeof t=="string"&&(t={encoding:t});let n=t.fs||Ks,r="throws"in t?t.throws:!0;try{let i=n.readFileSync(e,t);return i=Wk(i),JSON.parse(i,t.reviver)}catch(i){if(r)throw i.message=`${e}: ${i.message}`,i;return null}}async function EIe(e,t,n={}){let r=n.fs||Ks,i=Rk(t,n);await Zp.fromCallback(r.writeFile)(e,i,n)}var HIe=Zp.fromPromise(EIe);function wIe(e,t,n={}){let r=n.fs||Ks,i=Rk(t,n);return r.writeFileSync(e,i,n)}var YIe={readFile:VIe,readFileSync:_Ie,writeFile:HIe,writeFileSync:wIe};Nk.exports=YIe});var _k=d((Swe,Vk)=>{"use strict";var vp=FA();Vk.exports={readJson:vp.readFile,readJsonSync:vp.readFileSync,writeJson:vp.writeFile,writeJsonSync:vp.writeFileSync}});var Sp=d((Rwe,wk)=>{"use strict";var FIe=fe().fromPromise,TA=bt(),Ek=require("path"),Hk=En(),TIe=mi().pathExists;async function XIe(e,t,n="utf-8"){let r=Ek.dirname(e);return await TIe(r)||await Hk.mkdirs(r),TA.writeFile(e,t,n)}function kIe(e,...t){let n=Ek.dirname(e);TA.existsSync(n)||Hk.mkdirsSync(n),TA.writeFileSync(e,...t)}wk.exports={outputFile:FIe(XIe),outputFileSync:kIe}});var Fk=d((Wwe,Yk)=>{"use strict";var{stringify:KIe}=ks(),{outputFile:xIe}=Sp();async function LIe(e,t,n={}){let r=KIe(t,n);await xIe(e,r,n)}Yk.exports=LIe});var Xk=d((Nwe,Tk)=>{"use strict";var{stringify:UIe}=ks(),{outputFileSync:JIe}=Sp();function OIe(e,t,n){let r=UIe(t,n);JIe(e,r,n)}Tk.exports=OIe});var Kk=d((Vwe,kk)=>{"use strict";var MIe=fe().fromPromise,At=_k();At.outputJson=MIe(Fk());At.outputJsonSync=Xk();At.outputJSON=At.outputJson;At.outputJSONSync=At.outputJsonSync;At.writeJSON=At.writeJson;At.writeJSONSync=At.writeJsonSync;At.readJSON=At.readJson;At.readJSONSync=At.readJsonSync;kk.exports=At});var Ok=d((_we,Jk)=>{"use strict";var DIe=bt(),xk=require("path"),{copy:qIe}=Gp(),{remove:Uk}=au(),{mkdirp:zIe}=En(),{pathExists:PIe}=mi(),Lk=Zo();async function jIe(e,t,n={}){let r=n.overwrite||n.clobber||!1,{srcStat:i,isChangingCase:o=!1}=await Lk.checkPaths(e,t,"move",n);await Lk.checkParentPaths(e,i,t,"move");let s=xk.dirname(t);return xk.parse(s).root!==s&&await zIe(s),QIe(e,t,r,o)}async function QIe(e,t,n,r){if(!r){if(n)await Uk(t);else if(await PIe(t))throw new Error("dest already exists.")}try{await DIe.rename(e,t)}catch(i){if(i.code!=="EXDEV")throw i;await $Ie(e,t,n)}}async function $Ie(e,t,n){return await qIe(e,t,{overwrite:n,errorOnExist:!0,preserveTimestamps:!0}),Uk(e)}Jk.exports=jIe});var Pk=d((Ewe,zk)=>{"use strict";var Dk=D(),kA=require("path"),epe=Gp().copySync,qk=au().removeSync,tpe=En().mkdirpSync,Mk=Zo();function npe(e,t,n){n=n||{};let r=n.overwrite||n.clobber||!1,{srcStat:i,isChangingCase:o=!1}=Mk.checkPathsSync(e,t,"move",n);return Mk.checkParentPathsSync(e,i,t,"move"),rpe(t)||tpe(kA.dirname(t)),ipe(e,t,r,o)}function rpe(e){let t=kA.dirname(e);return kA.parse(t).root===t}function ipe(e,t,n,r){if(r)return XA(e,t,n);if(n)return qk(t),XA(e,t,n);if(Dk.existsSync(t))throw new Error("dest already exists.");return XA(e,t,n)}function XA(e,t,n){try{Dk.renameSync(e,t)}catch(r){if(r.code!=="EXDEV")throw r;return ope(e,t,n)}}function ope(e,t,n){return epe(e,t,{overwrite:n,errorOnExist:!0,preserveTimestamps:!0}),qk(e)}zk.exports=npe});var Qk=d((Hwe,jk)=>{"use strict";var spe=fe().fromPromise;jk.exports={move:spe(Ok()),moveSync:Pk()}});var vo=d((wwe,$k)=>{"use strict";$k.exports={...bt(),...Gp(),...$9(),...vk(),...Kk(),...En(),...Qk(),...Sp(),...mi(),...au()}});var iK=d((Ywe,rK)=>{"use strict";rK.exports=nK;nK.sync=cpe;var eK=require("fs");function ape(e,t){var n=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!n||(n=n.split(";"),n.indexOf("")!==-1))return!0;for(var r=0;r<n.length;r++){var i=n[r].toLowerCase();if(i&&e.substr(-i.length).toLowerCase()===i)return!0}return!1}function tK(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:ape(t,n)}function nK(e,t,n){eK.stat(e,function(r,i){n(r,r?!1:tK(i,e,t))})}function cpe(e,t){return tK(eK.statSync(e),e,t)}});var uK=d((Fwe,cK)=>{"use strict";cK.exports=sK;sK.sync=upe;var oK=require("fs");function sK(e,t,n){oK.stat(e,function(r,i){n(r,r?!1:aK(i,t))})}function upe(e,t){return aK(oK.statSync(e),t)}function aK(e,t){return e.isFile()&&lpe(e,t)}function lpe(e,t){var n=e.mode,r=e.uid,i=e.gid,o=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),s=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),a=parseInt("100",8),c=parseInt("010",8),u=parseInt("001",8),l=a|c,g=n&u||n&c&&i===s||n&a&&r===o||n&l&&o===0;return g}});var dK=d((Xwe,lK)=>{"use strict";var Twe=require("fs"),Rp;process.platform==="win32"||global.TESTING_WINDOWS?Rp=iK():Rp=uK();lK.exports=KA;KA.sync=dpe;function KA(e,t,n){if(typeof t=="function"&&(n=t,t={}),!n){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(r,i){KA(e,t||{},function(o,s){o?i(o):r(s)})})}Rp(e,t||{},function(r,i){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,i=!1),n(r,i)})}function dpe(e,t){try{return Rp.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var CK=d((kwe,hK)=>{"use strict";var xs=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",gK=require("path"),gpe=xs?";":":",fK=dK(),IK=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),pK=(e,t)=>{let n=t.colon||gpe,r=e.match(/\//)||xs&&e.match(/\\/)?[""]:[...xs?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],i=xs?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=xs?i.split(n):[""];return xs&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:i}},mK=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:i,pathExtExe:o}=pK(e,t),s=[],a=u=>new Promise((l,g)=>{if(u===r.length)return t.all&&s.length?l(s):g(IK(e));let f=r[u],I=/^".*"$/.test(f)?f.slice(1,-1):f,m=gK.join(I,e),C=!I&&/^\.[\\\/]/.test(e)?e.slice(0,2)+m:m;l(c(C,u,0))}),c=(u,l,g)=>new Promise((f,I)=>{if(g===i.length)return f(a(l+1));let m=i[g];fK(u+m,{pathExt:o},(C,b)=>{if(!C&&b)if(t.all)s.push(u+m);else return f(u+m);return f(c(u,l,g+1))})});return n?a(0).then(u=>n(null,u),n):a(0)},fpe=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:i}=pK(e,t),o=[];for(let s=0;s<n.length;s++){let a=n[s],c=/^".*"$/.test(a)?a.slice(1,-1):a,u=gK.join(c,e),l=!c&&/^\.[\\\/]/.test(e)?e.slice(0,2)+u:u;for(let g=0;g<r.length;g++){let f=l+r[g];try{if(fK.sync(f,{pathExt:i}))if(t.all)o.push(f);else return f}catch{}}}if(t.all&&o.length)return o;if(t.nothrow)return null;throw IK(e)};hK.exports=mK;mK.sync=fpe});var yK=d((Kwe,xA)=>{"use strict";var bK=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};xA.exports=bK;xA.exports.default=bK});var ZK=d((xwe,GK)=>{"use strict";var AK=require("path"),Ipe=CK(),ppe=yK();function BK(e,t){let n=e.options.env||process.env,r=process.cwd(),i=e.options.cwd!=null,o=i&&process.chdir!==void 0&&!process.chdir.disabled;if(o)try{process.chdir(e.options.cwd)}catch{}let s;try{s=Ipe.sync(e.command,{path:n[ppe({env:n})],pathExt:t?AK.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return s&&(s=AK.resolve(i?e.options.cwd:"",s)),s}function mpe(e){return BK(e)||BK(e,!0)}GK.exports=mpe});var vK=d((Lwe,UA)=>{"use strict";var LA=/([()\][%!^"`<>&|;, *?])/g;function hpe(e){return e=e.replace(LA,"^$1"),e}function Cpe(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(LA,"^$1"),t&&(e=e.replace(LA,"^$1")),e}UA.exports.command=hpe;UA.exports.argument=Cpe});var RK=d((Uwe,SK)=>{"use strict";SK.exports=/^#!(.*)/});var NK=d((Jwe,WK)=>{"use strict";var bpe=RK();WK.exports=(e="")=>{let t=e.match(bpe);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),i=n.split("/").pop();return i==="env"?r:r?`${i} ${r}`:i}});var _K=d((Owe,VK)=>{"use strict";var JA=require("fs"),ype=NK();function Ape(e){let n=Buffer.alloc(150),r;try{r=JA.openSync(e,"r"),JA.readSync(r,n,0,150,0),JA.closeSync(r)}catch{}return ype(n.toString())}VK.exports=Ape});var YK=d((Mwe,wK)=>{"use strict";var Bpe=require("path"),EK=ZK(),HK=vK(),Gpe=_K(),Zpe=process.platform==="win32",vpe=/\.(?:com|exe)$/i,Spe=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Rpe(e){e.file=EK(e);let t=e.file&&Gpe(e.file);return t?(e.args.unshift(e.file),e.command=t,EK(e)):e.file}function Wpe(e){if(!Zpe)return e;let t=Rpe(e),n=!vpe.test(t);if(e.options.forceShell||n){let r=Spe.test(t);e.command=Bpe.normalize(e.command),e.command=HK.command(e.command),e.args=e.args.map(o=>HK.argument(o,r));let i=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${i}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function Npe(e,t,n){t&&!Array.isArray(t)&&(n=t,t=null),t=t?t.slice(0):[],n=Object.assign({},n);let r={command:e,args:t,options:n,file:void 0,original:{command:e,args:t}};return n.shell?r:Wpe(r)}wK.exports=Npe});var XK=d((Dwe,TK)=>{"use strict";var OA=process.platform==="win32";function MA(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function Vpe(e,t){if(!OA)return;let n=e.emit;e.emit=function(r,i){if(r==="exit"){let o=FK(i,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function FK(e,t){return OA&&e===1&&!t.file?MA(t.original,"spawn"):null}function _pe(e,t){return OA&&e===1&&!t.file?MA(t.original,"spawnSync"):null}TK.exports={hookChildProcess:Vpe,verifyENOENT:FK,verifyENOENTSync:_pe,notFoundError:MA}});var xK=d((qwe,Ls)=>{"use strict";var kK=require("child_process"),DA=YK(),qA=XK();function KK(e,t,n){let r=DA(e,t,n),i=kK.spawn(r.command,r.args,r.options);return qA.hookChildProcess(i,r),i}function Epe(e,t,n){let r=DA(e,t,n),i=kK.spawnSync(r.command,r.args,r.options);return i.error=i.error||qA.verifyENOENTSync(i.status,r),i}Ls.exports=KK;Ls.exports.spawn=KK;Ls.exports.sync=Epe;Ls.exports._parse=DA;Ls.exports._enoent=qA});var UK=d((zwe,LK)=>{"use strict";var uu;LK.exports=function(){if(!uu){try{uu=Le()("follow-redirects")}catch{}typeof uu!="function"&&(uu=function(){})}uu.apply(null,arguments)}});var qK=d((Pwe,sB)=>{"use strict";var du=require("url"),lu=du.URL,Hpe=require("http"),wpe=require("https"),$A=require("stream").Writable,eB=require("assert"),JK=UK();(function(){var t=typeof process<"u",n=typeof window<"u"&&typeof document<"u",r=Ro(Error.captureStackTrace);!t&&(n||!r)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var tB=!1;try{eB(new lu(""))}catch(e){tB=e.code==="ERR_INVALID_URL"}var Ype=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],nB=["abort","aborted","connect","error","socket","timeout"],rB=Object.create(null);nB.forEach(function(e){rB[e]=function(t,n,r){this._redirectable.emit(e,t,n,r)}});var PA=gu("ERR_INVALID_URL","Invalid URL",TypeError),jA=gu("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),Fpe=gu("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",jA),Tpe=gu("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),Xpe=gu("ERR_STREAM_WRITE_AFTER_END","write after end"),kpe=$A.prototype.destroy||MK;function kt(e,t){$A.call(this),this._sanitizeOptions(e),this._options=e,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],t&&this.on("response",t);var n=this;this._onNativeResponse=function(r){try{n._processResponse(r)}catch(i){n.emit("error",i instanceof jA?i:new jA({cause:i}))}},this._performRequest()}kt.prototype=Object.create($A.prototype);kt.prototype.abort=function(){oB(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};kt.prototype.destroy=function(e){return oB(this._currentRequest,e),kpe.call(this,e),this};kt.prototype.write=function(e,t,n){if(this._ending)throw new Xpe;if(!So(e)&&!Lpe(e))throw new TypeError("data should be a string, Buffer or Uint8Array");if(Ro(t)&&(n=t,t=null),e.length===0){n&&n();return}this._requestBodyLength+e.length<=this._options.maxBodyLength?(this._requestBodyLength+=e.length,this._requestBodyBuffers.push({data:e,encoding:t}),this._currentRequest.write(e,t,n)):(this.emit("error",new Tpe),this.abort())};kt.prototype.end=function(e,t,n){if(Ro(e)?(n=e,e=t=null):Ro(t)&&(n=t,t=null),!e)this._ended=this._ending=!0,this._currentRequest.end(null,null,n);else{var r=this,i=this._currentRequest;this.write(e,t,function(){r._ended=!0,i.end(null,null,n)}),this._ending=!0}};kt.prototype.setHeader=function(e,t){this._options.headers[e]=t,this._currentRequest.setHeader(e,t)};kt.prototype.removeHeader=function(e){delete this._options.headers[e],this._currentRequest.removeHeader(e)};kt.prototype.setTimeout=function(e,t){var n=this;function r(s){s.setTimeout(e),s.removeListener("timeout",s.destroy),s.addListener("timeout",s.destroy)}function i(s){n._timeout&&clearTimeout(n._timeout),n._timeout=setTimeout(function(){n.emit("timeout"),o()},e),r(s)}function o(){n._timeout&&(clearTimeout(n._timeout),n._timeout=null),n.removeListener("abort",o),n.removeListener("error",o),n.removeListener("response",o),n.removeListener("close",o),t&&n.removeListener("timeout",t),n.socket||n._currentRequest.removeListener("socket",i)}return t&&this.on("timeout",t),this.socket?i(this.socket):this._currentRequest.once("socket",i),this.on("socket",r),this.on("abort",o),this.on("error",o),this.on("response",o),this.on("close",o),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(e){kt.prototype[e]=function(t,n){return this._currentRequest[e](t,n)}});["aborted","connection","socket"].forEach(function(e){Object.defineProperty(kt.prototype,e,{get:function(){return this._currentRequest[e]}})});kt.prototype._sanitizeOptions=function(e){if(e.headers||(e.headers={}),e.host&&(e.hostname||(e.hostname=e.host),delete e.host),!e.pathname&&e.path){var t=e.path.indexOf("?");t<0?e.pathname=e.path:(e.pathname=e.path.substring(0,t),e.search=e.path.substring(t))}};kt.prototype._performRequest=function(){var e=this._options.protocol,t=this._options.nativeProtocols[e];if(!t)throw new TypeError("Unsupported protocol "+e);if(this._options.agents){var n=e.slice(0,-1);this._options.agent=this._options.agents[n]}var r=this._currentRequest=t.request(this._options,this._onNativeResponse);r._redirectable=this;for(var i of nB)r.on(i,rB[i]);if(this._currentUrl=/^\//.test(this._options.path)?du.format(this._options):this._options.path,this._isRedirect){var o=0,s=this,a=this._requestBodyBuffers;(function c(u){if(r===s._currentRequest)if(u)s.emit("error",u);else if(o<a.length){var l=a[o++];r.finished||r.write(l.data,l.encoding,c)}else s._ended&&r.end()})()}};kt.prototype._processResponse=function(e){var t=e.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:e.headers,statusCode:t});var n=e.headers.location;if(!n||this._options.followRedirects===!1||t<300||t>=400){e.responseUrl=this._currentUrl,e.redirects=this._redirects,this.emit("response",e),this._requestBodyBuffers=[];return}if(oB(this._currentRequest),e.destroy(),++this._redirectCount>this._options.maxRedirects)throw new Fpe;var r,i=this._options.beforeRedirect;i&&(r=Object.assign({Host:e.req.getHeader("host")},this._options.headers));var o=this._options.method;((t===301||t===302)&&this._options.method==="POST"||t===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],zA(/^content-/i,this._options.headers));var s=zA(/^host$/i,this._options.headers),a=iB(this._currentUrl),c=s||a.host,u=/^\w+:/.test(n)?this._currentUrl:du.format(Object.assign(a,{host:c})),l=Kpe(n,u);if(JK("redirecting to",l.href),this._isRedirect=!0,QA(l,this._options),(l.protocol!==a.protocol&&l.protocol!=="https:"||l.host!==c&&!xpe(l.host,c))&&zA(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),Ro(i)){var g={headers:e.headers,statusCode:t},f={url:u,method:o,headers:r};i(this._options,g,f),this._sanitizeOptions(this._options)}this._performRequest()};function OK(e){var t={maxRedirects:21,maxBodyLength:10485760},n={};return Object.keys(e).forEach(function(r){var i=r+":",o=n[i]=e[r],s=t[r]=Object.create(o);function a(u,l,g){return Upe(u)?u=QA(u):So(u)?u=QA(iB(u)):(g=l,l=DK(u),u={protocol:i}),Ro(l)&&(g=l,l=null),l=Object.assign({maxRedirects:t.maxRedirects,maxBodyLength:t.maxBodyLength},u,l),l.nativeProtocols=n,!So(l.host)&&!So(l.hostname)&&(l.hostname="::1"),eB.equal(l.protocol,i,"protocol mismatch"),JK("options",l),new kt(l,g)}function c(u,l,g){var f=s.request(u,l,g);return f.end(),f}Object.defineProperties(s,{request:{value:a,configurable:!0,enumerable:!0,writable:!0},get:{value:c,configurable:!0,enumerable:!0,writable:!0}})}),t}function MK(){}function iB(e){var t;if(tB)t=new lu(e);else if(t=DK(du.parse(e)),!So(t.protocol))throw new PA({input:e});return t}function Kpe(e,t){return tB?new lu(e,t):iB(du.resolve(t,e))}function DK(e){if(/^\[/.test(e.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(e.hostname))throw new PA({input:e.href||e});if(/^\[/.test(e.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(e.host))throw new PA({input:e.href||e});return e}function QA(e,t){var n=t||{};for(var r of Ype)n[r]=e[r];return n.hostname.startsWith("[")&&(n.hostname=n.hostname.slice(1,-1)),n.port!==""&&(n.port=Number(n.port)),n.path=n.search?n.pathname+n.search:n.pathname,n}function zA(e,t){var n;for(var r in t)e.test(r)&&(n=t[r],delete t[r]);return n===null||typeof n>"u"?void 0:String(n).trim()}function gu(e,t,n){function r(i){Ro(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,i||{}),this.code=e,this.message=this.cause?t+": "+this.cause.message:t}return r.prototype=new(n||Error),Object.defineProperties(r.prototype,{constructor:{value:r,enumerable:!1},name:{value:"Error ["+e+"]",enumerable:!1}}),r}function oB(e,t){for(var n of nB)e.removeListener(n,rB[n]);e.on("error",MK),e.destroy(t)}function xpe(e,t){eB(So(e)&&So(t));var n=e.length-t.length-1;return n>0&&e[n]==="."&&e.endsWith(t)}function So(e){return typeof e=="string"||e instanceof String}function Ro(e){return typeof e=="function"}function Lpe(e){return typeof e=="object"&&"length"in e}function Upe(e){return lu&&e instanceof lu}sB.exports=OK({http:Hpe,https:wpe});sB.exports.wrap=OK});var E=d((fu,cB)=>{"use strict";Object.defineProperty(fu,"__esModule",{value:!0});fu.default=Jpe;function aB(e){"@babel/helpers - typeof";return aB=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},aB(e)}function Jpe(e){var t=typeof e=="string"||e instanceof String;if(!t){var n=aB(e);throw e===null?n="null":n==="object"&&(n=e.constructor.name),new TypeError("Expected a string but received a ".concat(n))}}cB.exports=fu.default;cB.exports.default=fu.default});var Wp=d((Iu,uB)=>{"use strict";Object.defineProperty(Iu,"__esModule",{value:!0});Iu.default=Dpe;var Ope=Mpe(E());function Mpe(e){return e&&e.__esModule?e:{default:e}}function Dpe(e){return(0,Ope.default)(e),e=Date.parse(e),isNaN(e)?null:new Date(e)}uB.exports=Iu.default;uB.exports.default=Iu.default});var dB=d((pu,lB)=>{"use strict";Object.defineProperty(pu,"__esModule",{value:!0});pu.default=qpe;function qpe(e){return e==null}lB.exports=pu.default;lB.exports.default=pu.default});var Us=d(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.farsiLocales=Te.englishLocales=Te.dotDecimal=Te.decimal=Te.commaDecimal=Te.bengaliLocales=Te.arabicLocales=Te.alphanumeric=Te.alpha=void 0;var Kt=Te.alpha={"en-US":/^[A-Z]+$/i,"az-AZ":/^[A-VXYZÇƏĞİıÖŞÜ]+$/i,"bg-BG":/^[А-Я]+$/i,"cs-CZ":/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[A-ZÆØÅ]+$/i,"de-DE":/^[A-ZÄÖÜß]+$/i,"el-GR":/^[Α-ώ]+$/i,"es-ES":/^[A-ZÁÉÍÑÓÚÜ]+$/i,"fa-IR":/^[ابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهی]+$/i,"fi-FI":/^[A-ZÅÄÖ]+$/i,"fr-FR":/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[A-ZÀÉÈÌÎÓÒÙ]+$/i,"ja-JP":/^[ぁ-んァ-ヶヲ-゚一-龠ー・。、]+$/i,"nb-NO":/^[A-ZÆØÅ]+$/i,"nl-NL":/^[A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[A-ZÆØÅ]+$/i,"hu-HU":/^[A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"pl-PL":/^[A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[A-ZÃÁÀÂÄÇÉÊËÍÏÕÓÔÖÚÜ]+$/i,"ru-RU":/^[А-ЯЁ]+$/i,"kk-KZ":/^[А-ЯЁ\u04D8\u04B0\u0406\u04A2\u0492\u04AE\u049A\u04E8\u04BA]+$/i,"sl-SI":/^[A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[A-ZÅÄÖ]+$/i,"th-TH":/^[ก-๐\s]+$/i,"tr-TR":/^[A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[А-ЩЬЮЯЄIЇҐі]+$/i,"vi-VN":/^[A-ZÀÁẠẢÃÂẦẤẬẨẪĂẰẮẶẲẴĐÈÉẸẺẼÊỀẾỆỂỄÌÍỊỈĨÒÓỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠÙÚỤỦŨƯỪỨỰỬỮỲÝỴỶỸ]+$/i,"ko-KR":/^[ㄱ-ㅎㅏ-ㅣ가-힣]*$/,"ku-IQ":/^[ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,ar:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/,he:/^[א-ת]+$/,fa:/^['آاءأؤئبپتثجچحخدذرزژسشصضطظعغفقکگلمنوهةی']+$/i,bn:/^['ঀঁংঃঅআইঈউঊঋঌএঐওঔকখগঘঙচছজঝঞটঠডঢণতথদধনপফবভমযরলশষসহ়ঽািীুূৃৄেৈোৌ্ৎৗড়ঢ়য়ৠৡৢৣৰৱ৲৳৴৵৶৷৸৹৺৻']+$/,eo:/^[ABCĈD-GĜHĤIJĴK-PRSŜTUŬVZ]+$/i,"hi-IN":/^[\u0900-\u0961]+[\u0972-\u097F]*$/i,"si-LK":/^[\u0D80-\u0DFF]+$/},xt=Te.alphanumeric={"en-US":/^[0-9A-Z]+$/i,"az-AZ":/^[0-9A-VXYZÇƏĞİıÖŞÜ]+$/i,"bg-BG":/^[0-9А-Я]+$/i,"cs-CZ":/^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[0-9A-ZÆØÅ]+$/i,"de-DE":/^[0-9A-ZÄÖÜß]+$/i,"el-GR":/^[0-9Α-ω]+$/i,"es-ES":/^[0-9A-ZÁÉÍÑÓÚÜ]+$/i,"fi-FI":/^[0-9A-ZÅÄÖ]+$/i,"fr-FR":/^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[0-9A-ZÀÉÈÌÎÓÒÙ]+$/i,"ja-JP":/^[0-90-9ぁ-んァ-ヶヲ-゚一-龠ー・。、]+$/i,"hu-HU":/^[0-9A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"nb-NO":/^[0-9A-ZÆØÅ]+$/i,"nl-NL":/^[0-9A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[0-9A-ZÆØÅ]+$/i,"pl-PL":/^[0-9A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[0-9A-ZÃÁÀÂÄÇÉÊËÍÏÕÓÔÖÚÜ]+$/i,"ru-RU":/^[0-9А-ЯЁ]+$/i,"kk-KZ":/^[0-9А-ЯЁ\u04D8\u04B0\u0406\u04A2\u0492\u04AE\u049A\u04E8\u04BA]+$/i,"sl-SI":/^[0-9A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[0-9A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[0-9A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[0-9А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[0-9A-ZÅÄÖ]+$/i,"th-TH":/^[ก-๙\s]+$/i,"tr-TR":/^[0-9A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[0-9А-ЩЬЮЯЄIЇҐі]+$/i,"ko-KR":/^[0-9ㄱ-ㅎㅏ-ㅣ가-힣]*$/,"ku-IQ":/^[٠١٢٣٤٥٦٧٨٩0-9ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,"vi-VN":/^[0-9A-ZÀÁẠẢÃÂẦẤẬẨẪĂẰẮẶẲẴĐÈÉẸẺẼÊỀẾỆỂỄÌÍỊỈĨÒÓỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠÙÚỤỦŨƯỪỨỰỬỮỲÝỴỶỸ]+$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/,he:/^[0-9א-ת]+$/,fa:/^['0-9آاءأؤئبپتثجچحخدذرزژسشصضطظعغفقکگلمنوهةی۱۲۳۴۵۶۷۸۹۰']+$/i,bn:/^['ঀঁংঃঅআইঈউঊঋঌএঐওঔকখগঘঙচছজঝঞটঠডঢণতথদধনপফবভমযরলশষসহ়ঽািীুূৃৄেৈোৌ্ৎৗড়ঢ়য়ৠৡৢৣ০১২৩৪৫৬৭৮৯ৰৱ৲৳৴৵৶৷৸৹৺৻']+$/,eo:/^[0-9ABCĈD-GĜHĤIJĴK-PRSŜTUŬVZ]+$/i,"hi-IN":/^[\u0900-\u0963]+[\u0966-\u097F]*$/i,"si-LK":/^[0-9\u0D80-\u0DFF]+$/},Bt=Te.decimal={"en-US":".",ar:"\u066B"},zK=Te.englishLocales=["AU","GB","HK","IN","NZ","ZA","ZM"];for(Np=0;Np<zK.length;Np++)mu="en-".concat(zK[Np]),Kt[mu]=Kt["en-US"],xt[mu]=xt["en-US"],Bt[mu]=Bt["en-US"];var mu,Np,PK=Te.arabicLocales=["AE","BH","DZ","EG","IQ","JO","KW","LB","LY","MA","QM","QA","SA","SD","SY","TN","YE"];for(Vp=0;Vp<PK.length;Vp++)hu="ar-".concat(PK[Vp]),Kt[hu]=Kt.ar,xt[hu]=xt.ar,Bt[hu]=Bt.ar;var hu,Vp,jK=Te.farsiLocales=["IR","AF"];for(Ep=0;Ep<jK.length;Ep++)_p="fa-".concat(jK[Ep]),xt[_p]=xt.fa,Bt[_p]=Bt.ar;var _p,Ep,QK=Te.bengaliLocales=["BD","IN"];for(Hp=0;Hp<QK.length;Hp++)Cu="bn-".concat(QK[Hp]),Kt[Cu]=Kt.bn,xt[Cu]=xt.bn,Bt[Cu]=Bt["en-US"];var Cu,Hp,$K=Te.dotDecimal=["ar-EG","ar-LB","ar-LY"],ex=Te.commaDecimal=["bg-BG","cs-CZ","da-DK","de-DE","el-GR","en-ZM","eo","es-ES","fr-CA","fr-FR","id-ID","it-IT","ku-IQ","hi-IN","hu-HU","nb-NO","nn-NO","nl-NL","pl-PL","pt-PT","ru-RU","kk-KZ","si-LK","sl-SI","sr-RS@latin","sr-RS","sv-SE","tr-TR","uk-UA","vi-VN"];for(wp=0;wp<$K.length;wp++)Bt[$K[wp]]=Bt["en-US"];var wp;for(Yp=0;Yp<ex.length;Yp++)Bt[ex[Yp]]=",";var Yp;Kt["fr-CA"]=Kt["fr-FR"];xt["fr-CA"]=xt["fr-FR"];Kt["pt-BR"]=Kt["pt-PT"];xt["pt-BR"]=xt["pt-PT"];Bt["pt-BR"]=Bt["pt-PT"];Kt["pl-Pl"]=Kt["pl-PL"];xt["pl-Pl"]=xt["pl-PL"];Bt["pl-Pl"]=Bt["pl-PL"];Kt["fa-AF"]=Kt.fa});var gB=d(bu=>{"use strict";Object.defineProperty(bu,"__esModule",{value:!0});bu.default=Ppe;bu.locales=void 0;var zpe=nx(E()),Fp=nx(dB()),tx=Us();function nx(e){return e&&e.__esModule?e:{default:e}}function Ppe(e,t){(0,zpe.default)(e),t=t||{};var n=new RegExp("^(?:[-+])?(?:[0-9]+)?(?:\\".concat(t.locale?tx.decimal[t.locale]:".","[0-9]*)?(?:[eE][\\+\\-]?(?:[0-9]+))?$"));if(e===""||e==="."||e===","||e==="-"||e==="+")return!1;var r=parseFloat(e.replace(",","."));return n.test(e)&&(!t.hasOwnProperty("min")||(0,Fp.default)(t.min)||r>=t.min)&&(!t.hasOwnProperty("max")||(0,Fp.default)(t.max)||r<=t.max)&&(!t.hasOwnProperty("lt")||(0,Fp.default)(t.lt)||r<t.lt)&&(!t.hasOwnProperty("gt")||(0,Fp.default)(t.gt)||r>t.gt)}var Qwe=bu.locales=Object.keys(tx.decimal)});var IB=d((yu,fB)=>{"use strict";Object.defineProperty(yu,"__esModule",{value:!0});yu.default=$pe;var jpe=Qpe(gB());function Qpe(e){return e&&e.__esModule?e:{default:e}}function $pe(e){return(0,jpe.default)(e)?parseFloat(e):NaN}fB.exports=yu.default;fB.exports.default=yu.default});var rx=d((Au,pB)=>{"use strict";Object.defineProperty(Au,"__esModule",{value:!0});Au.default=nme;var eme=tme(E());function tme(e){return e&&e.__esModule?e:{default:e}}function nme(e,t){return(0,eme.default)(e),parseInt(e,t||10)}pB.exports=Au.default;pB.exports.default=Au.default});var ix=d((Bu,mB)=>{"use strict";Object.defineProperty(Bu,"__esModule",{value:!0});Bu.default=ome;var rme=ime(E());function ime(e){return e&&e.__esModule?e:{default:e}}function ome(e,t){return(0,rme.default)(e),t?e==="1"||/^true$/i.test(e):e!=="0"&&!/^false$/i.test(e)&&e!==""}mB.exports=Bu.default;mB.exports.default=Bu.default});var ox=d((Gu,hB)=>{"use strict";Object.defineProperty(Gu,"__esModule",{value:!0});Gu.default=cme;var sme=ame(E());function ame(e){return e&&e.__esModule?e:{default:e}}function cme(e,t){return(0,sme.default)(e),e===t}hB.exports=Gu.default;hB.exports.default=Gu.default});var yB=d((Zu,bB)=>{"use strict";Object.defineProperty(Zu,"__esModule",{value:!0});Zu.default=ume;function CB(e){"@babel/helpers - typeof";return CB=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},CB(e)}function ume(e){return CB(e)==="object"&&e!==null?typeof e.toString=="function"?e=e.toString():e="[object Object]":(e===null||typeof e>"u"||isNaN(e)&&!e.length)&&(e=""),String(e)}bB.exports=Zu.default;bB.exports.default=Zu.default});var lt=d((vu,AB)=>{"use strict";Object.defineProperty(vu,"__esModule",{value:!0});vu.default=lme;function lme(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;for(var n in t)typeof e[n]>"u"&&(e[n]=t[n]);return e}AB.exports=vu.default;AB.exports.default=vu.default});var ax=d((Su,GB)=>{"use strict";Object.defineProperty(Su,"__esModule",{value:!0});Su.default=Ime;var dme=BB(E()),sx=BB(yB()),gme=BB(lt());function BB(e){return e&&e.__esModule?e:{default:e}}var fme={ignoreCase:!1,minOccurrences:1};function Ime(e,t,n){return(0,dme.default)(e),n=(0,gme.default)(n,fme),n.ignoreCase?e.toLowerCase().split((0,sx.default)(t).toLowerCase()).length>n.minOccurrences:e.split((0,sx.default)(t)).length>n.minOccurrences}GB.exports=Su.default;GB.exports.default=Su.default});var cx=d((Ru,ZB)=>{"use strict";Object.defineProperty(Ru,"__esModule",{value:!0});Ru.default=hme;var pme=mme(E());function mme(e){return e&&e.__esModule?e:{default:e}}function hme(e,t,n){return(0,pme.default)(e),Object.prototype.toString.call(t)!=="[object RegExp]"&&(t=new RegExp(t,n)),!!e.match(t)}ZB.exports=Ru.default;ZB.exports.default=Ru.default});var SB=d((Wu,vB)=>{"use strict";Object.defineProperty(Wu,"__esModule",{value:!0});Wu.default=bme;function Cme(e){return Object.prototype.toString.call(e)==="[object RegExp]"}function bme(e,t){for(var n=0;n<t.length;n++){var r=t[n];if(e===r||Cme(r)&&r.test(e))return!0}return!1}vB.exports=Wu.default;vB.exports.default=Wu.default});var NB=d((Nu,WB)=>{"use strict";Object.defineProperty(Nu,"__esModule",{value:!0});Nu.default=Bme;var yme=Ame(E());function Ame(e){return e&&e.__esModule?e:{default:e}}function RB(e){"@babel/helpers - typeof";return RB=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},RB(e)}function Bme(e,t){(0,yme.default)(e);var n,r;RB(t)==="object"?(n=t.min||0,r=t.max):(n=arguments[1],r=arguments[2]);var i=encodeURI(e).split(/%..|./).length-1;return i>=n&&(typeof r>"u"||i<=r)}WB.exports=Nu.default;WB.exports.default=Nu.default});var Tp=d((Vu,VB)=>{"use strict";Object.defineProperty(Vu,"__esModule",{value:!0});Vu.default=Sme;var Gme=ux(E()),Zme=ux(lt());function ux(e){return e&&e.__esModule?e:{default:e}}var vme={require_tld:!0,allow_underscores:!1,allow_trailing_dot:!1,allow_numeric_tld:!1,allow_wildcard:!1,ignore_max_length:!1};function Sme(e,t){(0,Gme.default)(e),t=(0,Zme.default)(t,vme),t.allow_trailing_dot&&e[e.length-1]==="."&&(e=e.substring(0,e.length-1)),t.allow_wildcard===!0&&e.indexOf("*.")===0&&(e=e.substring(2));var n=e.split("."),r=n[n.length-1];return t.require_tld&&(n.length<2||!t.allow_numeric_tld&&!/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(r)||/\s/.test(r))||!t.allow_numeric_tld&&/^\d+$/.test(r)?!1:n.every(function(i){return!(i.length>63&&!t.ignore_max_length||!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(i)||/[\uff01-\uff5e]/.test(i)||/^-|-$/.test(i)||!t.allow_underscores&&/_/.test(i))})}VB.exports=Vu.default;VB.exports.default=Vu.default});var Eu=d((_u,EB)=>{"use strict";Object.defineProperty(_u,"__esModule",{value:!0});_u.default=_B;var Rme=Wme(E());function Wme(e){return e&&e.__esModule?e:{default:e}}var lx="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",bi="(".concat(lx,"[.]){3}").concat(lx),Nme=new RegExp("^".concat(bi,"$")),Xe="(?:[0-9a-fA-F]{1,4})",Vme=new RegExp("^("+"(?:".concat(Xe,":){7}(?:").concat(Xe,"|:)|")+"(?:".concat(Xe,":){6}(?:").concat(bi,"|:").concat(Xe,"|:)|")+"(?:".concat(Xe,":){5}(?::").concat(bi,"|(:").concat(Xe,"){1,2}|:)|")+"(?:".concat(Xe,":){4}(?:(:").concat(Xe,"){0,1}:").concat(bi,"|(:").concat(Xe,"){1,3}|:)|")+"(?:".concat(Xe,":){3}(?:(:").concat(Xe,"){0,2}:").concat(bi,"|(:").concat(Xe,"){1,4}|:)|")+"(?:".concat(Xe,":){2}(?:(:").concat(Xe,"){0,3}:").concat(bi,"|(:").concat(Xe,"){1,5}|:)|")+"(?:".concat(Xe,":){1}(?:(:").concat(Xe,"){0,4}:").concat(bi,"|(:").concat(Xe,"){1,6}|:)|")+"(?::((?::".concat(Xe,"){0,5}:").concat(bi,"|(?::").concat(Xe,"){1,7}|:))")+")(%[0-9a-zA-Z-.:]{1,})?$");function _B(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return(0,Rme.default)(e),t=String(t),t?t==="4"?Nme.test(e):t==="6"?Vme.test(e):!1:_B(e,4)||_B(e,6)}EB.exports=_u.default;EB.exports.default=_u.default});var YB=d((Hu,wB)=>{"use strict";Object.defineProperty(Hu,"__esModule",{value:!0});Hu.default=Ume;var _me=Js(E()),dx=Js(SB()),HB=Js(NB()),Eme=Js(Tp()),gx=Js(Eu()),Hme=Js(lt());function Js(e){return e&&e.__esModule?e:{default:e}}var wme={allow_display_name:!1,allow_underscores:!1,require_display_name:!1,allow_utf8_local_part:!0,require_tld:!0,blacklisted_chars:"",ignore_max_length:!1,host_blacklist:[],host_whitelist:[]},Yme=/^([^\x00-\x1F\x7F-\x9F\cX]+)</i,Fme=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i,Tme=/^[a-z\d]+$/,Xme=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i,kme=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A1-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,Kme=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i,xme=254;function Lme(e){var t=e.replace(/^"(.+)"$/,"$1");if(!t.trim())return!1;var n=/[\.";<>]/.test(t);if(n){if(t===e)return!1;var r=t.split('"').length===t.split('\\"').length;if(!r)return!1}return!0}function Ume(e,t){if((0,_me.default)(e),t=(0,Hme.default)(t,wme),t.require_display_name||t.allow_display_name){var n=e.match(Yme);if(n){var r=n[1];if(e=e.replace(r,"").replace(/(^<|>$)/g,""),r.endsWith(" ")&&(r=r.slice(0,-1)),!Lme(r))return!1}else if(t.require_display_name)return!1}if(!t.ignore_max_length&&e.length>xme)return!1;var i=e.split("@"),o=i.pop(),s=o.toLowerCase();if(t.host_blacklist.length>0&&(0,dx.default)(s,t.host_blacklist)||t.host_whitelist.length>0&&!(0,dx.default)(s,t.host_whitelist))return!1;var a=i.join("@");if(t.domain_specific_validation&&(s==="gmail.com"||s==="googlemail.com")){a=a.toLowerCase();var c=a.split("+")[0];if(!(0,HB.default)(c.replace(/\./g,""),{min:6,max:30}))return!1;for(var u=c.split("."),l=0;l<u.length;l++)if(!Tme.test(u[l]))return!1}if(t.ignore_max_length===!1&&(!(0,HB.default)(a,{max:64})||!(0,HB.default)(o,{max:254})))return!1;if(!(0,Eme.default)(o,{require_tld:t.require_tld,ignore_max_length:t.ignore_max_length,allow_underscores:t.allow_underscores})){if(!t.allow_ip_domain)return!1;if(!(0,gx.default)(o)){if(!o.startsWith("[")||!o.endsWith("]"))return!1;var g=o.slice(1,-1);if(g.length===0||!(0,gx.default)(g))return!1}}if(t.blacklisted_chars&&a.search(new RegExp("[".concat(t.blacklisted_chars,"]+"),"g"))!==-1)return!1;if(a[0]==='"'&&a[a.length-1]==='"')return a=a.slice(1,a.length-1),t.allow_utf8_local_part?Kme.test(a):Xme.test(a);for(var f=t.allow_utf8_local_part?kme:Fme,I=a.split("."),m=0;m<I.length;m++)if(!f.test(I[m]))return!1;return!0}wB.exports=Hu.default;wB.exports.default=Hu.default});var mx=d((Yu,FB)=>{"use strict";Object.defineProperty(Yu,"__esModule",{value:!0});Yu.default=ehe;var Jme=wu(E()),fx=wu(SB()),Ome=wu(Tp()),Ix=wu(Eu()),Mme=wu(lt());function wu(e){return e&&e.__esModule?e:{default:e}}function Dme(e,t){return jme(e)||Pme(e,t)||zme(e,t)||qme()}function qme(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
60
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zme(e,t){if(e){if(typeof e=="string")return px(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?px(e,t):void 0}}function px(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Pme(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,i,o,s,a=[],c=!0,u=!1;try{if(o=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(a.push(r.value),a.length!==t);c=!0);}catch(l){u=!0,i=l}finally{try{if(!c&&n.return!=null&&(s=n.return(),Object(s)!==s))return}finally{if(u)throw i}}return a}}function jme(e){if(Array.isArray(e))return e}var Qme={protocols:["http","https","ftp"],require_tld:!0,require_protocol:!1,require_host:!0,require_port:!1,require_valid_protocol:!0,allow_underscores:!1,allow_trailing_dot:!1,allow_protocol_relative_urls:!1,allow_fragments:!0,allow_query_components:!0,validate_length:!0,max_allowed_length:2084},$me=/^\[([^\]]+)\](?::([0-9]+))?$/;function ehe(e,t){if((0,Jme.default)(e),!e||/[\s<>]/.test(e)||e.indexOf("mailto:")===0||(t=(0,Mme.default)(t,Qme),t.validate_length&&e.length>t.max_allowed_length)||!t.allow_fragments&&e.includes("#")||!t.allow_query_components&&(e.includes("?")||e.includes("&")))return!1;var n,r,i,o,s,a,c,u;if(c=e.split("#"),e=c.shift(),c=e.split("?"),e=c.shift(),c=e.split("://"),c.length>1){if(n=c.shift().toLowerCase(),t.require_valid_protocol&&t.protocols.indexOf(n)===-1)return!1}else{if(t.require_protocol)return!1;if(e.slice(0,2)==="//"){if(!t.allow_protocol_relative_urls)return!1;c[0]=e.slice(2)}}if(e=c.join("://"),e==="")return!1;if(c=e.split("/"),e=c.shift(),e===""&&!t.require_host)return!0;if(c=e.split("@"),c.length>1){if(t.disallow_auth||c[0]===""||(r=c.shift(),r.indexOf(":")>=0&&r.split(":").length>2))return!1;var l=r.split(":"),g=Dme(l,2),f=g[0],I=g[1];if(f===""&&I==="")return!1}o=c.join("@"),a=null,u=null;var m=o.match($me);if(m?(i="",u=m[1],a=m[2]||null):(c=o.split(":"),i=c.shift(),c.length&&(a=c.join(":"))),a!==null&&a.length>0){if(s=parseInt(a,10),!/^[0-9]+$/.test(a)||s<=0||s>65535)return!1}else if(t.require_port)return!1;return t.host_whitelist?(0,fx.default)(i,t.host_whitelist):i===""&&!t.require_host?!0:!(!(0,Ix.default)(i)&&!(0,Ome.default)(i,t)&&(!u||!(0,Ix.default)(u,6))||(i=i||u,t.host_blacklist&&(0,fx.default)(i,t.host_blacklist)))}FB.exports=Yu.default;FB.exports.default=Yu.default});var bx=d((Fu,XB)=>{"use strict";Object.defineProperty(Fu,"__esModule",{value:!0});Fu.default=TB;var the=nhe(E());function nhe(e){return e&&e.__esModule?e:{default:e}}var rhe=/^(?:[0-9a-fA-F]{2}([-:\s]))([0-9a-fA-F]{2}\1){4}([0-9a-fA-F]{2})$/,hx=/^([0-9a-fA-F]){12}$/,ihe=/^([0-9a-fA-F]{4}\.){2}([0-9a-fA-F]{4})$/,ohe=/^(?:[0-9a-fA-F]{2}([-:\s]))([0-9a-fA-F]{2}\1){6}([0-9a-fA-F]{2})$/,Cx=/^([0-9a-fA-F]){16}$/,she=/^([0-9a-fA-F]{4}\.){3}([0-9a-fA-F]{4})$/;function TB(e,t){return(0,the.default)(e),t!=null&&t.eui&&(t.eui=String(t.eui)),t!=null&&t.no_colons||t!=null&&t.no_separators?t.eui==="48"?hx.test(e):t.eui==="64"?Cx.test(e):hx.test(e)||Cx.test(e):(t==null?void 0:t.eui)==="48"?rhe.test(e)||ihe.test(e):(t==null?void 0:t.eui)==="64"?ohe.test(e)||she.test(e):TB(e,{eui:"48"})||TB(e,{eui:"64"})}XB.exports=Fu.default;XB.exports.default=Fu.default});var Zx=d((Tu,kB)=>{"use strict";Object.defineProperty(Tu,"__esModule",{value:!0});Tu.default=uhe;var ahe=Gx(E()),yx=Gx(Eu());function Gx(e){return e&&e.__esModule?e:{default:e}}var che=/^\d{1,3}$/,Ax=32,Bx=128;function uhe(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";(0,ahe.default)(e);var n=e.split("/");if(n.length!==2||!che.test(n[1])||n[1].length>1&&n[1].startsWith("0"))return!1;var r=(0,yx.default)(n[0],t);if(!r)return!1;var i=null;switch(String(t)){case"4":i=Ax;break;case"6":i=Bx;break;default:i=(0,yx.default)(n[0],"6")?Bx:Ax}return n[1]<=i&&n[1]>=0}kB.exports=Tu.default;kB.exports.default=Tu.default});var xB=d((Xu,KB)=>{"use strict";Object.defineProperty(Xu,"__esModule",{value:!0});Xu.default=Che;var vx=lhe(lt());function lhe(e){return e&&e.__esModule?e:{default:e}}function dhe(e,t){return Ihe(e)||fhe(e,t)||Wx(e,t)||ghe()}function ghe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
61
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function fhe(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,i,o,s,a=[],c=!0,u=!1;try{if(o=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(a.push(r.value),a.length!==t);c=!0);}catch(l){u=!0,i=l}finally{try{if(!c&&n.return!=null&&(s=n.return(),Object(s)!==s))return}finally{if(u)throw i}}return a}}function Ihe(e){if(Array.isArray(e))return e}function phe(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=Wx(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
62
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o,s=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return s=u.done,u},e:function(u){a=!0,o=u},f:function(){try{s||n.return==null||n.return()}finally{if(a)throw o}}}}function Wx(e,t){if(e){if(typeof e=="string")return Sx(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Sx(e,t):void 0}}function Sx(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var Rx={format:"YYYY/MM/DD",delimiters:["/","-"],strictMode:!1};function mhe(e){return/(^(y{4}|y{2})[.\/-](m{1,2})[.\/-](d{1,2})$)|(^(m{1,2})[.\/-](d{1,2})[.\/-]((y{4}|y{2})$))|(^(d{1,2})[.\/-](m{1,2})[.\/-]((y{4}|y{2})$))/gi.test(e)}function hhe(e,t){for(var n=[],r=Math.max(e.length,t.length),i=0;i<r;i++)n.push([e[i],t[i]]);return n}function Che(e,t){if(typeof t=="string"?t=(0,vx.default)({format:t},Rx):t=(0,vx.default)(t,Rx),typeof e=="string"&&mhe(t.format)){if(t.strictMode&&e.length!==t.format.length)return!1;var n=t.delimiters.find(function(b){return t.format.indexOf(b)!==-1}),r=t.strictMode?n:t.delimiters.find(function(b){return e.indexOf(b)!==-1}),i=hhe(e.split(r),t.format.toLowerCase().split(n)),o={},s=phe(i),a;try{for(s.s();!(a=s.n()).done;){var c=dhe(a.value,2),u=c[0],l=c[1];if(!u||!l||u.length!==l.length)return!1;o[l.charAt(0)]=u}}catch(b){s.e(b)}finally{s.f()}var g=o.y;if(g.startsWith("-"))return!1;if(o.y.length===2){var f=parseInt(o.y,10);if(isNaN(f))return!1;var I=new Date().getFullYear()%100;f<I?g="20".concat(o.y):g="19".concat(o.y)}var m=o.m;o.m.length===1&&(m="0".concat(o.m));var C=o.d;return o.d.length===1&&(C="0".concat(o.d)),new Date("".concat(g,"-").concat(m,"-").concat(C,"T00:00:00.000Z")).getUTCDate()===+o.d}return t.strictMode?!1:Object.prototype.toString.call(e)==="[object Date]"&&isFinite(e)}KB.exports=Xu.default;KB.exports.default=Xu.default});var Nx=d((ku,LB)=>{"use strict";Object.defineProperty(ku,"__esModule",{value:!0});ku.default=Ghe;var bhe=yhe(lt());function yhe(e){return e&&e.__esModule?e:{default:e}}var Ahe={hourFormat:"hour24",mode:"default"},Bhe={hour24:{default:/^([01]?[0-9]|2[0-3]):([0-5][0-9])$/,withSeconds:/^([01]?[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/},hour12:{default:/^(0?[1-9]|1[0-2]):([0-5][0-9]) (A|P)M$/,withSeconds:/^(0?[1-9]|1[0-2]):([0-5][0-9]):([0-5][0-9]) (A|P)M$/}};function Ghe(e,t){return t=(0,bhe.default)(t,Ahe),typeof e!="string"?!1:Bhe[t.hourFormat][t.mode].test(e)}LB.exports=ku.default;LB.exports.default=ku.default});var _x=d((Ku,UB)=>{"use strict";Object.defineProperty(Ku,"__esModule",{value:!0});Ku.default=Whe;var Zhe=vhe(E());function vhe(e){return e&&e.__esModule?e:{default:e}}var She={loose:!1},Vx=["true","false","1","0"],Rhe=[].concat(Vx,["yes","no"]);function Whe(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:She;return(0,Zhe.default)(e),t.loose?Rhe.includes(e.toLowerCase()):Vx.includes(e)}UB.exports=Ku.default;UB.exports.default=Ku.default});var Hx=d((Lu,JB)=>{"use strict";Object.defineProperty(Lu,"__esModule",{value:!0});Lu.default=Uhe;var Nhe=Vhe(E());function Vhe(e){return e&&e.__esModule?e:{default:e}}var _he="([A-Za-z]{3}(-[A-Za-z]{3}){0,2})",Ehe="(([a-zA-Z]{2,3}(-".concat(_he,")?)|([a-zA-Z]{5,8}))"),Hhe="([A-Za-z]{4})",whe="([A-Za-z]{2}|\\d{3})",Yhe="([A-Za-z0-9]{5,8}|(\\d[A-Z-a-z0-9]{3}))",Fhe="(\\d|[A-W]|[Y-Z]|[a-w]|[y-z])",The="(".concat(Fhe,"(-[A-Za-z0-9]{2,8})+)"),Ex="(x(-[A-Za-z0-9]{1,8})+)",Xhe="((en-GB-oed)|(i-ami)|(i-bnn)|(i-default)|(i-enochian)|(i-hak)|(i-klingon)|(i-lux)|(i-mingo)|(i-navajo)|(i-pwn)|(i-tao)|(i-tay)|(i-tsu)|(sgn-BE-FR)|(sgn-BE-NL)|(sgn-CH-DE))",khe="((art-lojban)|(cel-gaulish)|(no-bok)|(no-nyn)|(zh-guoyu)|(zh-hakka)|(zh-min)|(zh-min-nan)|(zh-xiang))",Khe="(".concat(Xhe,"|").concat(khe,")"),xu="(-|_)",xhe="".concat(Ehe,"(").concat(xu).concat(Hhe,")?(").concat(xu).concat(whe,")?(").concat(xu).concat(Yhe,")*(").concat(xu).concat(The,")*(").concat(xu).concat(Ex,")?"),Lhe=new RegExp("(^".concat(Ex,"$)|(^").concat(Khe,"$)|(^").concat(xhe,"$)"));function Uhe(e){return(0,Nhe.default)(e),Lhe.test(e)}JB.exports=Lu.default;JB.exports.default=Lu.default});var wx=d((Uu,OB)=>{"use strict";Object.defineProperty(Uu,"__esModule",{value:!0});Uu.default=Dhe;var Jhe=Ohe(E());function Ohe(e){return e&&e.__esModule?e:{default:e}}var Mhe=/^(?!(1[3-9])|(20)|(3[3-9])|(4[0-9])|(5[0-9])|(60)|(7[3-9])|(8[1-9])|(9[0-2])|(9[3-9]))[0-9]{9}$/;function Dhe(e){if((0,Jhe.default)(e),!Mhe.test(e))return!1;for(var t=0,n=0;n<e.length;n++)n%3===0?t+=e[n]*3:n%3===1?t+=e[n]*7:t+=e[n]*1;return t%10===0}OB.exports=Uu.default;OB.exports.default=Uu.default});var Yx=d(Ju=>{"use strict";Object.defineProperty(Ju,"__esModule",{value:!0});Ju.default=Phe;Ju.locales=void 0;var qhe=zhe(E()),MB=Us();function zhe(e){return e&&e.__esModule?e:{default:e}}function Phe(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"en-US",n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};(0,qhe.default)(e);var r=e,i=n.ignore;if(i)if(i instanceof RegExp)r=r.replace(i,"");else if(typeof i=="string")r=r.replace(new RegExp("[".concat(i.replace(/[-[\]{}()*+?.,\\^$|#\\s]/g,"\\$&"),"]"),"g"),"");else throw new Error("ignore should be instance of a String or RegExp");if(t in MB.alpha)return MB.alpha[t].test(r);throw new Error("Invalid locale '".concat(t,"'"))}var eYe=Ju.locales=Object.keys(MB.alpha)});var Fx=d(Ou=>{"use strict";Object.defineProperty(Ou,"__esModule",{value:!0});Ou.default=$he;Ou.locales=void 0;var jhe=Qhe(E()),DB=Us();function Qhe(e){return e&&e.__esModule?e:{default:e}}function $he(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"en-US",n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};(0,jhe.default)(e);var r=e,i=n.ignore;if(i)if(i instanceof RegExp)r=r.replace(i,"");else if(typeof i=="string")r=r.replace(new RegExp("[".concat(i.replace(/[-[\]{}()*+?.,\\^$|#\\s]/g,"\\$&"),"]"),"g"),"");else throw new Error("ignore should be instance of a String or RegExp");if(t in DB.alphanumeric)return DB.alphanumeric[t].test(r);throw new Error("Invalid locale '".concat(t,"'"))}var nYe=Ou.locales=Object.keys(DB.alphanumeric)});var Tx=d((Mu,qB)=>{"use strict";Object.defineProperty(Mu,"__esModule",{value:!0});Mu.default=iCe;var eCe=nCe(E()),tCe=Us();function nCe(e){return e&&e.__esModule?e:{default:e}}var rCe=/^[0-9]+$/;function iCe(e,t){return(0,eCe.default)(e),t&&t.no_symbols?rCe.test(e):new RegExp("^[+-]?([0-9]*[".concat((t||{}).locale?tCe.decimal[t.locale]:".","])?[0-9]+$")).test(e)}qB.exports=Mu.default;qB.exports.default=Mu.default});var Xx=d(Du=>{"use strict";Object.defineProperty(Du,"__esModule",{value:!0});Du.default=aCe;Du.locales=void 0;var oCe=sCe(E());function sCe(e){return e&&e.__esModule?e:{default:e}}var zB={AM:/^[A-Z]{2}\d{7}$/,AR:/^[A-Z]{3}\d{6}$/,AT:/^[A-Z]\d{7}$/,AU:/^[A-Z]\d{7}$/,AZ:/^[A-Z]{1}\d{8}$/,BE:/^[A-Z]{2}\d{6}$/,BG:/^\d{9}$/,BR:/^[A-Z]{2}\d{6}$/,BY:/^[A-Z]{2}\d{7}$/,CA:/^[A-Z]{2}\d{6}$/,CH:/^[A-Z]\d{7}$/,CN:/^G\d{8}$|^E(?![IO])[A-Z0-9]\d{7}$/,CY:/^[A-Z](\d{6}|\d{8})$/,CZ:/^\d{8}$/,DE:/^[CFGHJKLMNPRTVWXYZ0-9]{9}$/,DK:/^\d{9}$/,DZ:/^\d{9}$/,EE:/^([A-Z]\d{7}|[A-Z]{2}\d{7})$/,ES:/^[A-Z0-9]{2}([A-Z0-9]?)\d{6}$/,FI:/^[A-Z]{2}\d{7}$/,FR:/^\d{2}[A-Z]{2}\d{5}$/,GB:/^\d{9}$/,GR:/^[A-Z]{2}\d{7}$/,HR:/^\d{9}$/,HU:/^[A-Z]{2}(\d{6}|\d{7})$/,IE:/^[A-Z0-9]{2}\d{7}$/,IN:/^[A-Z]{1}-?\d{7}$/,ID:/^[A-C]\d{7}$/,IR:/^[A-Z]\d{8}$/,IS:/^(A)\d{7}$/,IT:/^[A-Z0-9]{2}\d{7}$/,JM:/^[Aa]\d{7}$/,JP:/^[A-Z]{2}\d{7}$/,KR:/^[MS]\d{8}$/,KZ:/^[a-zA-Z]\d{7}$/,LI:/^[a-zA-Z]\d{5}$/,LT:/^[A-Z0-9]{8}$/,LU:/^[A-Z0-9]{8}$/,LV:/^[A-Z0-9]{2}\d{7}$/,LY:/^[A-Z0-9]{8}$/,MT:/^\d{7}$/,MZ:/^([A-Z]{2}\d{7})|(\d{2}[A-Z]{2}\d{5})$/,MY:/^[AHK]\d{8}$/,MX:/^\d{10,11}$/,NL:/^[A-Z]{2}[A-Z0-9]{6}\d$/,NZ:/^([Ll]([Aa]|[Dd]|[Ff]|[Hh])|[Ee]([Aa]|[Pp])|[Nn])\d{6}$/,PH:/^([A-Z](\d{6}|\d{7}[A-Z]))|([A-Z]{2}(\d{6}|\d{7}))$/,PK:/^[A-Z]{2}\d{7}$/,PL:/^[A-Z]{2}\d{7}$/,PT:/^[A-Z]\d{6}$/,RO:/^\d{8,9}$/,RU:/^\d{9}$/,SE:/^\d{8}$/,SL:/^(P)[A-Z]\d{7}$/,SK:/^[0-9A-Z]\d{7}$/,TH:/^[A-Z]{1,2}\d{6,7}$/,TR:/^[A-Z]\d{8}$/,UA:/^[A-Z]{2}\d{6}$/,US:/^\d{9}$/,ZA:/^[TAMD]\d{8}$/},iYe=Du.locales=Object.keys(zB);function aCe(e,t){(0,oCe.default)(e);var n=e.replace(/\s/g,"").toUpperCase();return t.toUpperCase()in zB&&zB[t].test(n)}});var kp=d((qu,PB)=>{"use strict";Object.defineProperty(qu,"__esModule",{value:!0});qu.default=dCe;var cCe=kx(E()),Xp=kx(dB());function kx(e){return e&&e.__esModule?e:{default:e}}var uCe=/^(?:[-+]?(?:0|[1-9][0-9]*))$/,lCe=/^[-+]?[0-9]+$/;function dCe(e,t){(0,cCe.default)(e),t=t||{};var n=t.allow_leading_zeroes===!1?uCe:lCe,r=!t.hasOwnProperty("min")||(0,Xp.default)(t.min)||e>=t.min,i=!t.hasOwnProperty("max")||(0,Xp.default)(t.max)||e<=t.max,o=!t.hasOwnProperty("lt")||(0,Xp.default)(t.lt)||e<t.lt,s=!t.hasOwnProperty("gt")||(0,Xp.default)(t.gt)||e>t.gt;return n.test(e)&&r&&i&&o&&s}PB.exports=qu.default;PB.exports.default=qu.default});var Kx=d((zu,jB)=>{"use strict";Object.defineProperty(zu,"__esModule",{value:!0});zu.default=ICe;var gCe=fCe(kp());function fCe(e){return e&&e.__esModule?e:{default:e}}function ICe(e){return(0,gCe.default)(e,{allow_leading_zeroes:!1,min:0,max:65535})}jB.exports=zu.default;jB.exports.default=zu.default});var xx=d((Pu,QB)=>{"use strict";Object.defineProperty(Pu,"__esModule",{value:!0});Pu.default=hCe;var pCe=mCe(E());function mCe(e){return e&&e.__esModule?e:{default:e}}function hCe(e){return(0,pCe.default)(e),e===e.toLowerCase()}QB.exports=Pu.default;QB.exports.default=Pu.default});var Lx=d((ju,$B)=>{"use strict";Object.defineProperty(ju,"__esModule",{value:!0});ju.default=yCe;var CCe=bCe(E());function bCe(e){return e&&e.__esModule?e:{default:e}}function yCe(e){return(0,CCe.default)(e),e===e.toUpperCase()}$B.exports=ju.default;$B.exports.default=ju.default});var Ux=d((Qu,eG)=>{"use strict";Object.defineProperty(Qu,"__esModule",{value:!0});Qu.default=vCe;var ACe=BCe(E());function BCe(e){return e&&e.__esModule?e:{default:e}}var GCe=/^[0-9]{15}$/,ZCe=/^\d{2}-\d{6}-\d{6}-\d{1}$/;function vCe(e,t){(0,ACe.default)(e),t=t||{};var n=GCe;if(t.allow_hyphens&&(n=ZCe),!n.test(e))return!1;e=e.replace(/-/g,"");for(var r=0,i=2,o=14,s=0;s<o;s++){var a=e.substring(o-s-1,o-s),c=parseInt(a,10)*i;c>=10?r+=c%10+1:r+=c,i===1?i+=1:i-=1}var u=(10-r%10)%10;return u===parseInt(e.substring(14,15),10)}eG.exports=Qu.default;eG.exports.default=Qu.default});var Jx=d(($u,tG)=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});$u.default=NCe;var SCe=RCe(E());function RCe(e){return e&&e.__esModule?e:{default:e}}var WCe=/^[\x00-\x7F]+$/;function NCe(e){return(0,SCe.default)(e),WCe.test(e)}tG.exports=$u.default;tG.exports.default=$u.default});var nG=d(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});el.default=HCe;el.fullWidth=void 0;var VCe=_Ce(E());function _Ce(e){return e&&e.__esModule?e:{default:e}}var ECe=el.fullWidth=/[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;function HCe(e){return(0,VCe.default)(e),ECe.test(e)}});var rG=d(tl=>{"use strict";Object.defineProperty(tl,"__esModule",{value:!0});tl.default=TCe;tl.halfWidth=void 0;var wCe=YCe(E());function YCe(e){return e&&e.__esModule?e:{default:e}}var FCe=tl.halfWidth=/[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;function TCe(e){return(0,wCe.default)(e),FCe.test(e)}});var Ox=d((nl,iG)=>{"use strict";Object.defineProperty(nl,"__esModule",{value:!0});nl.default=LCe;var XCe=xCe(E()),kCe=nG(),KCe=rG();function xCe(e){return e&&e.__esModule?e:{default:e}}function LCe(e){return(0,XCe.default)(e),kCe.fullWidth.test(e)&&KCe.halfWidth.test(e)}iG.exports=nl.default;iG.exports.default=nl.default});var Mx=d((rl,oG)=>{"use strict";Object.defineProperty(rl,"__esModule",{value:!0});rl.default=MCe;var UCe=JCe(E());function JCe(e){return e&&e.__esModule?e:{default:e}}var OCe=/[^\x00-\x7F]/;function MCe(e){return(0,UCe.default)(e),OCe.test(e)}oG.exports=rl.default;oG.exports.default=rl.default});var Dx=d((il,sG)=>{"use strict";Object.defineProperty(il,"__esModule",{value:!0});il.default=DCe;function DCe(e,t){var n=e.join("");return new RegExp(n,t)}sG.exports=il.default;sG.exports.default=il.default});var zx=d((ol,aG)=>{"use strict";Object.defineProperty(ol,"__esModule",{value:!0});ol.default=jCe;var qCe=qx(E()),zCe=qx(Dx());function qx(e){return e&&e.__esModule?e:{default:e}}var PCe=(0,zCe.default)(["^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)","(?:-((?:0|[1-9]\\d*|\\d*[a-z-][0-9a-z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-z-][0-9a-z-]*))*))","?(?:\\+([0-9a-z-]+(?:\\.[0-9a-z-]+)*))?$"],"i");function jCe(e){return(0,qCe.default)(e),PCe.test(e)}aG.exports=ol.default;aG.exports.default=ol.default});var Px=d((sl,cG)=>{"use strict";Object.defineProperty(sl,"__esModule",{value:!0});sl.default=tbe;var QCe=$Ce(E());function $Ce(e){return e&&e.__esModule?e:{default:e}}var ebe=/[\uD800-\uDBFF][\uDC00-\uDFFF]/;function tbe(e){return(0,QCe.default)(e),ebe.test(e)}cG.exports=sl.default;cG.exports.default=sl.default});var jx=d((Os,uG)=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.default=void 0;var nbe=function(t,n){return t.some(function(r){return n===r})},cYe=Os.default=nbe;uG.exports=Os.default;uG.exports.default=Os.default});var $x=d((al,dG)=>{"use strict";Object.defineProperty(al,"__esModule",{value:!0});al.default=ube;var rbe=lG(lt()),ibe=lG(E()),obe=lG(jx()),Qx=Us();function lG(e){return e&&e.__esModule?e:{default:e}}function sbe(e){var t=new RegExp("^[-+]?([0-9]+)?(\\".concat(Qx.decimal[e.locale],"[0-9]{").concat(e.decimal_digits,"})").concat(e.force_decimal?"":"?","$"));return t}var abe={force_decimal:!1,decimal_digits:"1,",locale:"en-US"},cbe=["","-","+"];function ube(e,t){if((0,ibe.default)(e),t=(0,rbe.default)(t,abe),t.locale in Qx.decimal)return!(0,obe.default)(cbe,e.replace(/ /g,""))&&sbe(t).test(e);throw new Error("Invalid locale '".concat(t.locale,"'"))}dG.exports=al.default;dG.exports.default=al.default});var fG=d((cl,gG)=>{"use strict";Object.defineProperty(cl,"__esModule",{value:!0});cl.default=fbe;var lbe=dbe(E());function dbe(e){return e&&e.__esModule?e:{default:e}}var gbe=/^(0x|0h)?[0-9A-F]+$/i;function fbe(e){return(0,lbe.default)(e),gbe.test(e)}gG.exports=cl.default;gG.exports.default=cl.default});var eL=d((ul,IG)=>{"use strict";Object.defineProperty(ul,"__esModule",{value:!0});ul.default=hbe;var Ibe=pbe(E());function pbe(e){return e&&e.__esModule?e:{default:e}}var mbe=/^(0o)?[0-7]+$/i;function hbe(e){return(0,Ibe.default)(e),mbe.test(e)}IG.exports=ul.default;IG.exports.default=ul.default});var nL=d((ll,pG)=>{"use strict";Object.defineProperty(ll,"__esModule",{value:!0});ll.default=ybe;var Cbe=tL(E()),bbe=tL(IB());function tL(e){return e&&e.__esModule?e:{default:e}}function ybe(e,t){return(0,Cbe.default)(e),(0,bbe.default)(e)%parseInt(t,10)===0}pG.exports=ll.default;pG.exports.default=ll.default});var rL=d((dl,mG)=>{"use strict";Object.defineProperty(dl,"__esModule",{value:!0});dl.default=Zbe;var Abe=Bbe(E());function Bbe(e){return e&&e.__esModule?e:{default:e}}var Gbe=/^#?([0-9A-F]{3}|[0-9A-F]{4}|[0-9A-F]{6}|[0-9A-F]{8})$/i;function Zbe(e){return(0,Abe.default)(e),Gbe.test(e)}mG.exports=dl.default;mG.exports.default=dl.default});var sL=d((gl,CG)=>{"use strict";Object.defineProperty(gl,"__esModule",{value:!0});gl.default=Vbe;var vbe=Sbe(E());function Sbe(e){return e&&e.__esModule?e:{default:e}}function hG(e){"@babel/helpers - typeof";return hG=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hG(e)}var iL=/^rgb\((([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]),){2}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\)$/,oL=/^rgba\((([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]),){3}(0?\.\d|1(\.0)?|0(\.0)?)\)$/,Rbe=/^rgb\((([0-9]%|[1-9][0-9]%|100%),){2}([0-9]%|[1-9][0-9]%|100%)\)$/,Wbe=/^rgba\((([0-9]%|[1-9][0-9]%|100%),){3}(0?\.\d|1(\.0)?|0(\.0)?)\)$/,Nbe=/^rgba?/;function Vbe(e,t){(0,vbe.default)(e);var n=!1,r=!0;if(hG(t)!=="object"?arguments.length>=2&&(r=arguments[1]):(n=t.allowSpaces!==void 0?t.allowSpaces:n,r=t.includePercentValues!==void 0?t.includePercentValues:r),n){if(!Nbe.test(e))return!1;e=e.replace(/\s/g,"")}return r?iL.test(e)||oL.test(e)||Rbe.test(e)||Wbe.test(e):iL.test(e)||oL.test(e)}CG.exports=gl.default;CG.exports.default=gl.default});var aL=d((fl,bG)=>{"use strict";Object.defineProperty(fl,"__esModule",{value:!0});fl.default=Ybe;var _be=Ebe(E());function Ebe(e){return e&&e.__esModule?e:{default:e}}var Hbe=/^hsla?\(((\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?))(deg|grad|rad|turn)?(,(\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?)%){2}(,((\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?)%?))?\)$/i,wbe=/^hsla?\(((\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?))(deg|grad|rad|turn)?(\s(\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?)%){2}\s?(\/\s((\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?)%?)\s?)?\)$/i;function Ybe(e){(0,_be.default)(e);var t=e.replace(/\s+/g," ").replace(/\s?(hsla?\(|\)|,)\s?/ig,"$1");return t.indexOf(",")!==-1?Hbe.test(t):wbe.test(t)}bG.exports=fl.default;bG.exports.default=fl.default});var cL=d((Il,yG)=>{"use strict";Object.defineProperty(Il,"__esModule",{value:!0});Il.default=kbe;var Fbe=Tbe(E());function Tbe(e){return e&&e.__esModule?e:{default:e}}var Xbe=/^[A-Z]{2}[0-9A-Z]{3}\d{2}\d{5}$/;function kbe(e){return(0,Fbe.default)(e),Xbe.test(e)}yG.exports=Il.default;yG.exports.default=Il.default});var uL=d(pl=>{"use strict";Object.defineProperty(pl,"__esModule",{value:!0});pl.default=Obe;pl.locales=void 0;var Kbe=xbe(E());function xbe(e){return e&&e.__esModule?e:{default:e}}var Kp={AD:/^(AD[0-9]{2})\d{8}[A-Z0-9]{12}$/,AE:/^(AE[0-9]{2})\d{3}\d{16}$/,AL:/^(AL[0-9]{2})\d{8}[A-Z0-9]{16}$/,AT:/^(AT[0-9]{2})\d{16}$/,AZ:/^(AZ[0-9]{2})[A-Z0-9]{4}\d{20}$/,BA:/^(BA[0-9]{2})\d{16}$/,BE:/^(BE[0-9]{2})\d{12}$/,BG:/^(BG[0-9]{2})[A-Z]{4}\d{6}[A-Z0-9]{8}$/,BH:/^(BH[0-9]{2})[A-Z]{4}[A-Z0-9]{14}$/,BR:/^(BR[0-9]{2})\d{23}[A-Z]{1}[A-Z0-9]{1}$/,BY:/^(BY[0-9]{2})[A-Z0-9]{4}\d{20}$/,CH:/^(CH[0-9]{2})\d{5}[A-Z0-9]{12}$/,CR:/^(CR[0-9]{2})\d{18}$/,CY:/^(CY[0-9]{2})\d{8}[A-Z0-9]{16}$/,CZ:/^(CZ[0-9]{2})\d{20}$/,DE:/^(DE[0-9]{2})\d{18}$/,DK:/^(DK[0-9]{2})\d{14}$/,DO:/^(DO[0-9]{2})[A-Z]{4}\d{20}$/,DZ:/^(DZ\d{24})$/,EE:/^(EE[0-9]{2})\d{16}$/,EG:/^(EG[0-9]{2})\d{25}$/,ES:/^(ES[0-9]{2})\d{20}$/,FI:/^(FI[0-9]{2})\d{14}$/,FO:/^(FO[0-9]{2})\d{14}$/,FR:/^(FR[0-9]{2})\d{10}[A-Z0-9]{11}\d{2}$/,GB:/^(GB[0-9]{2})[A-Z]{4}\d{14}$/,GE:/^(GE[0-9]{2})[A-Z0-9]{2}\d{16}$/,GI:/^(GI[0-9]{2})[A-Z]{4}[A-Z0-9]{15}$/,GL:/^(GL[0-9]{2})\d{14}$/,GR:/^(GR[0-9]{2})\d{7}[A-Z0-9]{16}$/,GT:/^(GT[0-9]{2})[A-Z0-9]{4}[A-Z0-9]{20}$/,HR:/^(HR[0-9]{2})\d{17}$/,HU:/^(HU[0-9]{2})\d{24}$/,IE:/^(IE[0-9]{2})[A-Z]{4}\d{14}$/,IL:/^(IL[0-9]{2})\d{19}$/,IQ:/^(IQ[0-9]{2})[A-Z]{4}\d{15}$/,IR:/^(IR[0-9]{2})0\d{2}0\d{18}$/,IS:/^(IS[0-9]{2})\d{22}$/,IT:/^(IT[0-9]{2})[A-Z]{1}\d{10}[A-Z0-9]{12}$/,JO:/^(JO[0-9]{2})[A-Z]{4}\d{22}$/,KW:/^(KW[0-9]{2})[A-Z]{4}[A-Z0-9]{22}$/,KZ:/^(KZ[0-9]{2})\d{3}[A-Z0-9]{13}$/,LB:/^(LB[0-9]{2})\d{4}[A-Z0-9]{20}$/,LC:/^(LC[0-9]{2})[A-Z]{4}[A-Z0-9]{24}$/,LI:/^(LI[0-9]{2})\d{5}[A-Z0-9]{12}$/,LT:/^(LT[0-9]{2})\d{16}$/,LU:/^(LU[0-9]{2})\d{3}[A-Z0-9]{13}$/,LV:/^(LV[0-9]{2})[A-Z]{4}[A-Z0-9]{13}$/,MA:/^(MA[0-9]{26})$/,MC:/^(MC[0-9]{2})\d{10}[A-Z0-9]{11}\d{2}$/,MD:/^(MD[0-9]{2})[A-Z0-9]{20}$/,ME:/^(ME[0-9]{2})\d{18}$/,MK:/^(MK[0-9]{2})\d{3}[A-Z0-9]{10}\d{2}$/,MR:/^(MR[0-9]{2})\d{23}$/,MT:/^(MT[0-9]{2})[A-Z]{4}\d{5}[A-Z0-9]{18}$/,MU:/^(MU[0-9]{2})[A-Z]{4}\d{19}[A-Z]{3}$/,MZ:/^(MZ[0-9]{2})\d{21}$/,NL:/^(NL[0-9]{2})[A-Z]{4}\d{10}$/,NO:/^(NO[0-9]{2})\d{11}$/,PK:/^(PK[0-9]{2})[A-Z0-9]{4}\d{16}$/,PL:/^(PL[0-9]{2})\d{24}$/,PS:/^(PS[0-9]{2})[A-Z]{4}[A-Z0-9]{21}$/,PT:/^(PT[0-9]{2})\d{21}$/,QA:/^(QA[0-9]{2})[A-Z]{4}[A-Z0-9]{21}$/,RO:/^(RO[0-9]{2})[A-Z]{4}[A-Z0-9]{16}$/,RS:/^(RS[0-9]{2})\d{18}$/,SA:/^(SA[0-9]{2})\d{2}[A-Z0-9]{18}$/,SC:/^(SC[0-9]{2})[A-Z]{4}\d{20}[A-Z]{3}$/,SE:/^(SE[0-9]{2})\d{20}$/,SI:/^(SI[0-9]{2})\d{15}$/,SK:/^(SK[0-9]{2})\d{20}$/,SM:/^(SM[0-9]{2})[A-Z]{1}\d{10}[A-Z0-9]{12}$/,SV:/^(SV[0-9]{2})[A-Z0-9]{4}\d{20}$/,TL:/^(TL[0-9]{2})\d{19}$/,TN:/^(TN[0-9]{2})\d{20}$/,TR:/^(TR[0-9]{2})\d{5}[A-Z0-9]{17}$/,UA:/^(UA[0-9]{2})\d{6}[A-Z0-9]{19}$/,VA:/^(VA[0-9]{2})\d{18}$/,VG:/^(VG[0-9]{2})[A-Z]{4}\d{16}$/,XK:/^(XK[0-9]{2})\d{16}$/};function Lbe(e){var t=e.filter(function(n){return!(n in Kp)});return!(t.length>0)}function Ube(e,t){var n=e.replace(/[\s\-]+/gi,"").toUpperCase(),r=n.slice(0,2).toUpperCase(),i=r in Kp;if(t.whitelist){if(!Lbe(t.whitelist))return!1;var o=t.whitelist.includes(r);if(!o)return!1}if(t.blacklist){var s=t.blacklist.includes(r);if(s)return!1}return i&&Kp[r].test(n)}function Jbe(e){var t=e.replace(/[^A-Z0-9]+/gi,"").toUpperCase(),n=t.slice(4)+t.slice(0,4),r=n.replace(/[A-Z]/g,function(o){return o.charCodeAt(0)-55}),i=r.match(/\d{1,7}/g).reduce(function(o,s){return Number(o+s)%97},"");return i===1}function Obe(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return(0,Kbe.default)(e),Ube(e,t)&&Jbe(e)}var uYe=pl.locales=Object.keys(Kp)});var AG=d(ml=>{"use strict";Object.defineProperty(ml,"__esModule",{value:!0});ml.CountryCodes=void 0;ml.default=qbe;var Mbe=Dbe(E());function Dbe(e){return e&&e.__esModule?e:{default:e}}var lL=new Set(["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"]);function qbe(e){return(0,Mbe.default)(e),lL.has(e.toUpperCase())}var dYe=ml.CountryCodes=lL});var dL=d((hl,BG)=>{"use strict";Object.defineProperty(hl,"__esModule",{value:!0});hl.default=$be;var zbe=jbe(E()),Pbe=AG();function jbe(e){return e&&e.__esModule?e:{default:e}}var Qbe=/^[A-Za-z]{6}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$/;function $be(e){(0,zbe.default)(e);var t=e.slice(4,6).toUpperCase();return!Pbe.CountryCodes.has(t)&&t!=="XK"?!1:Qbe.test(e)}BG.exports=hl.default;BG.exports.default=hl.default});var gL=d((Cl,GG)=>{"use strict";Object.defineProperty(Cl,"__esModule",{value:!0});Cl.default=rye;var eye=tye(E());function tye(e){return e&&e.__esModule?e:{default:e}}var nye=/^[a-f0-9]{32}$/;function rye(e){return(0,eye.default)(e),nye.test(e)}GG.exports=Cl.default;GG.exports.default=Cl.default});var fL=d((bl,ZG)=>{"use strict";Object.defineProperty(bl,"__esModule",{value:!0});bl.default=aye;var iye=oye(E());function oye(e){return e&&e.__esModule?e:{default:e}}var sye={md5:32,md4:32,sha1:40,sha256:64,sha384:96,sha512:128,ripemd128:32,ripemd160:40,tiger128:32,tiger160:40,tiger192:48,crc32:8,crc32b:8};function aye(e,t){(0,iye.default)(e);var n=new RegExp("^[a-fA-F0-9]{".concat(sye[t],"}$"));return n.test(e)}ZG.exports=bl.default;ZG.exports.default=bl.default});var SG=d((yl,vG)=>{"use strict";Object.defineProperty(yl,"__esModule",{value:!0});yl.default=fye;var cye=IL(E()),uye=IL(lt());function IL(e){return e&&e.__esModule?e:{default:e}}var lye=/[^A-Z0-9+\/=]/i,dye=/^[A-Z0-9_\-]*$/i,gye={urlSafe:!1};function fye(e,t){(0,cye.default)(e),t=(0,uye.default)(t,gye);var n=e.length;if(t.urlSafe)return dye.test(e);if(n%4!==0||lye.test(e))return!1;var r=e.indexOf("=");return r===-1||r===n-1||r===n-2&&e[n-1]==="="}vG.exports=yl.default;vG.exports.default=yl.default});var mL=d((Al,RG)=>{"use strict";Object.defineProperty(Al,"__esModule",{value:!0});Al.default=mye;var Iye=pL(E()),pye=pL(SG());function pL(e){return e&&e.__esModule?e:{default:e}}function mye(e){(0,Iye.default)(e);var t=e.split("."),n=t.length;return n!==3?!1:t.reduce(function(r,i){return r&&(0,pye.default)(i,{urlSafe:!0})},!0)}RG.exports=Al.default;RG.exports.default=Al.default});var CL=d((Bl,NG)=>{"use strict";Object.defineProperty(Bl,"__esModule",{value:!0});Bl.default=yye;var hye=hL(E()),Cye=hL(lt());function hL(e){return e&&e.__esModule?e:{default:e}}function WG(e){"@babel/helpers - typeof";return WG=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},WG(e)}var bye={allow_primitives:!1};function yye(e,t){(0,hye.default)(e);try{t=(0,Cye.default)(t,bye);var n=[];t.allow_primitives&&(n=[null,!1,!0]);var r=JSON.parse(e);return n.includes(r)||!!r&&WG(r)==="object"}catch{}return!1}NG.exports=Bl.default;NG.exports.default=Bl.default});var yL=d((Gl,VG)=>{"use strict";Object.defineProperty(Gl,"__esModule",{value:!0});Gl.default=Zye;var Aye=bL(E()),Bye=bL(lt());function bL(e){return e&&e.__esModule?e:{default:e}}var Gye={ignore_whitespace:!1};function Zye(e,t){return(0,Aye.default)(e),t=(0,Bye.default)(t,Gye),(t.ignore_whitespace?e.trim().length:e.length)===0}VG.exports=Gl.default;VG.exports.default=Gl.default});var AL=d((Zl,EG)=>{"use strict";Object.defineProperty(Zl,"__esModule",{value:!0});Zl.default=Rye;var vye=Sye(E());function Sye(e){return e&&e.__esModule?e:{default:e}}function _G(e){"@babel/helpers - typeof";return _G=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_G(e)}function Rye(e,t){(0,vye.default)(e);var n,r;_G(t)==="object"?(n=t.min||0,r=t.max):(n=arguments[1]||0,r=arguments[2]);var i=e.match(/(\uFE0F|\uFE0E)/g)||[],o=e.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g)||[],s=e.length-i.length-o.length,a=s>=n&&(typeof r>"u"||s<=r);return a&&Array.isArray(t==null?void 0:t.discreteLengths)?t.discreteLengths.some(function(c){return c===s}):a}EG.exports=Zl.default;EG.exports.default=Zl.default});var BL=d((vl,HG)=>{"use strict";Object.defineProperty(vl,"__esModule",{value:!0});vl.default=Vye;var Wye=Nye(E());function Nye(e){return e&&e.__esModule?e:{default:e}}function Vye(e){return(0,Wye.default)(e),/^[0-7][0-9A-HJKMNP-TV-Z]{25}$/i.test(e)}HG.exports=vl.default;HG.exports.default=vl.default});var ZL=d((Sl,wG)=>{"use strict";Object.defineProperty(Sl,"__esModule",{value:!0});Sl.default=Hye;var _ye=Eye(E());function Eye(e){return e&&e.__esModule?e:{default:e}}var GL={1:/^[0-9A-F]{8}-[0-9A-F]{4}-1[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,2:/^[0-9A-F]{8}-[0-9A-F]{4}-2[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,3:/^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,4:/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,5:/^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,6:/^[0-9A-F]{8}-[0-9A-F]{4}-6[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,7:/^[0-9A-F]{8}-[0-9A-F]{4}-7[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,8:/^[0-9A-F]{8}-[0-9A-F]{4}-8[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,nil:/^00000000-0000-0000-0000-000000000000$/i,max:/^ffffffff-ffff-ffff-ffff-ffffffffffff$/i,all:/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i};function Hye(e,t){return(0,_ye.default)(e),t==null&&(t="all"),t in GL?GL[t].test(e):!1}wG.exports=Sl.default;wG.exports.default=Sl.default});var SL=d((Rl,YG)=>{"use strict";Object.defineProperty(Rl,"__esModule",{value:!0});Rl.default=Fye;var wye=vL(E()),Yye=vL(fG());function vL(e){return e&&e.__esModule?e:{default:e}}function Fye(e){return(0,wye.default)(e),(0,Yye.default)(e)&&e.length===24}YG.exports=Rl.default;YG.exports.default=Rl.default});var WL=d((Wl,FG)=>{"use strict";Object.defineProperty(Wl,"__esModule",{value:!0});Wl.default=Xye;var RL=Tye(Wp());function Tye(e){return e&&e.__esModule?e:{default:e}}function Xye(e,t){var n=(t==null?void 0:t.comparisonDate)||t||Date().toString(),r=(0,RL.default)(n),i=(0,RL.default)(e);return!!(i&&r&&i>r)}FG.exports=Wl.default;FG.exports.default=Wl.default});var _L=d((Nl,TG)=>{"use strict";Object.defineProperty(Nl,"__esModule",{value:!0});Nl.default=Kye;var kye=VL(E()),NL=VL(Wp());function VL(e){return e&&e.__esModule?e:{default:e}}function Kye(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:String(new Date);(0,kye.default)(e);var n=(0,NL.default)(t),r=(0,NL.default)(e);return!!(r&&n&&r<n)}TG.exports=Nl.default;TG.exports.default=Nl.default});var HL=d((Vl,kG)=>{"use strict";Object.defineProperty(Vl,"__esModule",{value:!0});Vl.default=Uye;var xye=EL(E()),Lye=EL(yB());function EL(e){return e&&e.__esModule?e:{default:e}}function XG(e){"@babel/helpers - typeof";return XG=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},XG(e)}function Uye(e,t){(0,xye.default)(e);var n;if(Object.prototype.toString.call(t)==="[object Array]"){var r=[];for(n in t)({}).hasOwnProperty.call(t,n)&&(r[n]=(0,Lye.default)(t[n]));return r.indexOf(e)>=0}else{if(XG(t)==="object")return t.hasOwnProperty(e);if(t&&typeof t.indexOf=="function")return t.indexOf(e)>=0}return!1}kG.exports=Vl.default;kG.exports.default=Vl.default});var xG=d((_l,KG)=>{"use strict";Object.defineProperty(_l,"__esModule",{value:!0});_l.default=Mye;var Jye=Oye(E());function Oye(e){return e&&e.__esModule?e:{default:e}}function Mye(e){(0,Jye.default)(e);for(var t=e.replace(/[- ]+/g,""),n=0,r,i,o,s=t.length-1;s>=0;s--)r=t.substring(s,s+1),i=parseInt(r,10),o?(i*=2,i>=10?n+=i%10+1:n+=i):n+=i,o=!o;return!!(n%10===0&&t)}KG.exports=_l.default;KG.exports.default=_l.default});var YL=d((El,LG)=>{"use strict";Object.defineProperty(El,"__esModule",{value:!0});El.default=Pye;var Dye=wL(E()),qye=wL(xG());function wL(e){return e&&e.__esModule?e:{default:e}}var Ms={amex:/^3[47][0-9]{13}$/,dinersclub:/^3(?:0[0-5]|[68][0-9])[0-9]{11}$/,discover:/^6(?:011|5[0-9][0-9])[0-9]{12,15}$/,jcb:/^(?:2131|1800|35\d{3})\d{11}$/,mastercard:/^5[1-5][0-9]{2}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}$/,unionpay:/^(6[27][0-9]{14}|^(81[0-9]{14,17}))$/,visa:/^(?:4[0-9]{12})(?:[0-9]{3,6})?$/},zye=function(){var e=[];for(var t in Ms)Ms.hasOwnProperty(t)&&e.push(Ms[t]);return e}();function Pye(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};(0,Dye.default)(e);var n=t.provider,r=e.replace(/[- ]+/g,"");if(n&&n.toLowerCase()in Ms){if(!Ms[n.toLowerCase()].test(r))return!1}else{if(n&&!(n.toLowerCase()in Ms))throw new Error("".concat(n," is not a valid credit card provider."));if(!zye.some(function(i){return i.test(r)}))return!1}return(0,qye.default)(e)}LG.exports=El.default;LG.exports.default=El.default});var TL=d((wl,UG)=>{"use strict";Object.defineProperty(wl,"__esModule",{value:!0});wl.default=Qye;var xp=FL(E()),jye=FL(kp());function FL(e){return e&&e.__esModule?e:{default:e}}var Hl={PL:function(t){(0,xp.default)(t);var n={1:1,2:3,3:7,4:9,5:1,6:3,7:7,8:9,9:1,10:3,11:0};if(t!=null&&t.length===11&&(0,jye.default)(t,{allow_leading_zeroes:!0})){var r=t.split("").slice(0,-1),i=r.reduce(function(a,c,u){return a+Number(c)*n[u+1]},0),o=i%10,s=Number(t.charAt(t.length-1));if(o===0&&s===0||s===10-o)return!0}return!1},ES:function(t){(0,xp.default)(t);var n=/^[0-9X-Z][0-9]{7}[TRWAGMYFPDXBNJZSQVHLCKE]$/,r={X:0,Y:1,Z:2},i=["T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E"],o=t.trim().toUpperCase();if(!n.test(o))return!1;var s=o.slice(0,-1).replace(/[X,Y,Z]/g,function(a){return r[a]});return o.endsWith(i[s%23])},FI:function(t){if((0,xp.default)(t),t.length!==11||!t.match(/^\d{6}[\-A\+]\d{3}[0-9ABCDEFHJKLMNPRSTUVWXY]{1}$/))return!1;var n="0123456789ABCDEFHJKLMNPRSTUVWXY",r=parseInt(t.slice(0,6),10)*1e3+parseInt(t.slice(7,10),10),i=r%31,o=n[i];return o===t.slice(10,11)},IN:function(t){var n=/^[1-9]\d{3}\s?\d{4}\s?\d{4}$/,r=[[0,1,2,3,4,5,6,7,8,9],[1,2,3,4,0,6,7,8,9,5],[2,3,4,0,1,7,8,9,5,6],[3,4,0,1,2,8,9,5,6,7],[4,0,1,2,3,9,5,6,7,8],[5,9,8,7,6,0,4,3,2,1],[6,5,9,8,7,1,0,4,3,2],[7,6,5,9,8,2,1,0,4,3],[8,7,6,5,9,3,2,1,0,4],[9,8,7,6,5,4,3,2,1,0]],i=[[0,1,2,3,4,5,6,7,8,9],[1,5,7,6,2,8,3,0,9,4],[5,8,0,3,7,9,6,1,4,2],[8,9,1,6,0,4,3,5,2,7],[9,4,5,3,1,2,6,8,7,0],[4,2,8,6,5,7,3,9,0,1],[2,7,9,3,8,0,6,4,1,5],[7,0,4,6,9,1,3,2,5,8]],o=t.trim();if(!n.test(o))return!1;var s=0,a=o.replace(/\s/g,"").split("").map(Number).reverse();return a.forEach(function(c,u){s=r[s][i[u%8][c]]}),s===0},IR:function(t){if(!t.match(/^\d{10}$/)||(t="0000".concat(t).slice(t.length-6),parseInt(t.slice(3,9),10)===0))return!1;for(var n=parseInt(t.slice(9,10),10),r=0,i=0;i<9;i++)r+=parseInt(t.slice(i,i+1),10)*(10-i);return r%=11,r<2&&n===r||r>=2&&n===11-r},IT:function(t){return t.length!==9||t==="CA00000AA"?!1:t.search(/C[A-Z]\d{5}[A-Z]{2}/i)>-1},NO:function(t){var n=t.trim();if(isNaN(Number(n))||n.length!==11||n==="00000000000")return!1;var r=n.split("").map(Number),i=(11-(3*r[0]+7*r[1]+6*r[2]+1*r[3]+8*r[4]+9*r[5]+4*r[6]+5*r[7]+2*r[8])%11)%11,o=(11-(5*r[0]+4*r[1]+3*r[2]+2*r[3]+7*r[4]+6*r[5]+5*r[6]+4*r[7]+3*r[8]+2*i)%11)%11;return!(i!==r[9]||o!==r[10])},TH:function(t){if(!t.match(/^[1-8]\d{12}$/))return!1;for(var n=0,r=0;r<12;r++)n+=parseInt(t[r],10)*(13-r);return t[12]===((11-n%11)%10).toString()},LK:function(t){var n=/^[1-9]\d{8}[vx]$/i,r=/^[1-9]\d{11}$/i;return t.length===10&&n.test(t)?!0:!!(t.length===12&&r.test(t))},"he-IL":function(t){var n=/^\d{9}$/,r=t.trim();if(!n.test(r))return!1;for(var i=r,o=0,s,a=0;a<i.length;a++)s=Number(i[a])*(a%2+1),o+=s>9?s-9:s;return o%10===0},"ar-LY":function(t){var n=/^(1|2)\d{11}$/,r=t.trim();return!!n.test(r)},"ar-TN":function(t){var n=/^\d{8}$/,r=t.trim();return!!n.test(r)},"zh-CN":function(t){var n=["11","12","13","14","15","21","22","23","31","32","33","34","35","36","37","41","42","43","44","45","46","50","51","52","53","54","61","62","63","64","65","71","81","82","91"],r=["7","9","10","5","8","4","2","1","6","3","7","9","10","5","8","4","2"],i=["1","0","X","9","8","7","6","5","4","3","2"],o=function(I){return n.includes(I)},s=function(I){var m=parseInt(I.substring(0,4),10),C=parseInt(I.substring(4,6),10),b=parseInt(I.substring(6),10),v=new Date(m,C-1,b);return v>new Date?!1:v.getFullYear()===m&&v.getMonth()===C-1&&v.getDate()===b},a=function(I){for(var m=I.substring(0,17),C=0,b=0;b<17;b++)C+=parseInt(m.charAt(b),10)*parseInt(r[b],10);var v=C%11;return i[v]},c=function(I){return a(I)===I.charAt(17).toUpperCase()},u=function(I){var m=/^[1-9]\d{7}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))\d{3}$/.test(I);if(!m)return!1;var C=I.substring(0,2);if(m=o(C),!m)return!1;var b="19".concat(I.substring(6,12));return m=s(b),!!m},l=function(I){var m=/^[1-9]\d{5}[1-9]\d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))\d{3}(\d|x|X)$/.test(I);if(!m)return!1;var C=I.substring(0,2);if(m=o(C),!m)return!1;var b=I.substring(6,14);return m=s(b),m?c(I):!1},g=function(I){var m=/^\d{15}|(\d{17}(\d|x|X))$/.test(I);return m?I.length===15?u(I):l(I):!1};return g(t)},"zh-HK":function(t){t=t.trim();var n=/^[A-Z]{1,2}[0-9]{6}((\([0-9A]\))|(\[[0-9A]\])|([0-9A]))$/,r=/^[0-9]$/;if(t=t.toUpperCase(),!n.test(t))return!1;t=t.replace(/\[|\]|\(|\)/g,""),t.length===8&&(t="3".concat(t));for(var i=0,o=0;o<=7;o++){var s=void 0;r.test(t[o])?s=t[o]:s=(t[o].charCodeAt(0)-55)%11,i+=s*(9-o)}i%=11;var a;return i===0?a="0":i===1?a="A":a=String(11-i),a===t[t.length-1]},"zh-TW":function(t){var n={A:10,B:11,C:12,D:13,E:14,F:15,G:16,H:17,I:34,J:18,K:19,L:20,M:21,N:22,O:35,P:23,Q:24,R:25,S:26,T:27,U:28,V:29,W:32,X:30,Y:31,Z:33},r=t.trim().toUpperCase();return/^[A-Z][0-9]{9}$/.test(r)?Array.from(r).reduce(function(i,o,s){if(s===0){var a=n[o];return a%10*9+Math.floor(a/10)}return s===9?(10-i%10-Number(o))%10===0:i+Number(o)*(9-s)},0):!1},PK:function(t){var n=/^[1-7][0-9]{4}-[0-9]{7}-[1-9]$/,r=t.trim();return n.test(r)}};function Qye(e,t){if((0,xp.default)(e),t in Hl)return Hl[t](e);if(t==="any"){for(var n in Hl)if(Hl.hasOwnProperty(n)){var r=Hl[n];if(r(e))return!0}return!1}throw new Error("Invalid locale '".concat(t,"'"))}UG.exports=wl.default;UG.exports.default=wl.default});var XL=d((Yl,JG)=>{"use strict";Object.defineProperty(Yl,"__esModule",{value:!0});Yl.default=s0e;var $ye=e0e(E());function e0e(e){return e&&e.__esModule?e:{default:e}}var t0e=8,n0e=14,r0e=/^(\d{8}|\d{13}|\d{14})$/;function i0e(e,t){return e===t0e||e===n0e?t%2===0?3:1:t%2===0?1:3}function o0e(e){var t=e.slice(0,-1).split("").map(function(r,i){return Number(r)*i0e(e.length,i)}).reduce(function(r,i){return r+i},0),n=10-t%10;return n<10?n:0}function s0e(e){(0,$ye.default)(e);var t=Number(e.slice(-1));return r0e.test(e)&&t===o0e(e)}JG.exports=Yl.default;JG.exports.default=Yl.default});var kL=d((Fl,OG)=>{"use strict";Object.defineProperty(Fl,"__esModule",{value:!0});Fl.default=l0e;var a0e=c0e(E());function c0e(e){return e&&e.__esModule?e:{default:e}}var u0e=/^[A-Z]{2}[0-9A-Z]{9}[0-9]$/;function l0e(e){if((0,a0e.default)(e),!u0e.test(e))return!1;for(var t=!0,n=0,r=e.length-2;r>=0;r--)if(e[r]>="A"&&e[r]<="Z")for(var i=e[r].charCodeAt(0)-55,o=i%10,s=Math.trunc(i/10),a=0,c=[o,s];a<c.length;a++){var u=c[a];t?u>=5?n+=1+(u-5)*2:n+=u*2:n+=u,t=!t}else{var l=e[r].charCodeAt(0)-48;t?l>=5?n+=1+(l-5)*2:n+=l*2:n+=l,t=!t}var g=Math.trunc((n+9)/10)*10-n;return+e[e.length-1]===g}OG.exports=Fl.default;OG.exports.default=Fl.default});var KL=d((Tl,DG)=>{"use strict";Object.defineProperty(Tl,"__esModule",{value:!0});Tl.default=MG;var d0e=g0e(E());function g0e(e){return e&&e.__esModule?e:{default:e}}var f0e=/^(?:[0-9]{9}X|[0-9]{10})$/,I0e=/^(?:[0-9]{13})$/,p0e=[1,3];function MG(e,t){(0,d0e.default)(e);var n=String((t==null?void 0:t.version)||t);if(!(t!=null&&t.version||t))return MG(e,{version:10})||MG(e,{version:13});var r=e.replace(/[\s-]+/g,""),i=0;if(n==="10"){if(!f0e.test(r))return!1;for(var o=0;o<n-1;o++)i+=(o+1)*r.charAt(o);if(r.charAt(9)==="X"?i+=10*10:i+=10*r.charAt(9),i%11===0)return!0}else if(n==="13"){if(!I0e.test(r))return!1;for(var s=0;s<12;s++)i+=p0e[s%2]*r.charAt(s);if(r.charAt(12)-(10-i%10)%10===0)return!0}return!1}DG.exports=Tl.default;DG.exports.default=Tl.default});var xL=d((Xl,qG)=>{"use strict";Object.defineProperty(Xl,"__esModule",{value:!0});Xl.default=b0e;var m0e=h0e(E());function h0e(e){return e&&e.__esModule?e:{default:e}}var C0e="^\\d{4}-?\\d{3}[\\dX]$";function b0e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};(0,m0e.default)(e);var n=C0e;if(n=t.require_hyphen?n.replace("?",""):n,n=t.case_sensitive?new RegExp(n):new RegExp(n,"i"),!n.test(e))return!1;for(var r=e.replace("-","").toUpperCase(),i=0,o=0;o<r.length;o++){var s=r[o];i+=(s==="X"?10:+s)*(8-o)}return i%11===0}qG.exports=Xl.default;qG.exports.default=Xl.default});var zG=d(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.iso7064Check=y0e;Ds.luhnCheck=A0e;Ds.reverseMultiplyAndSum=B0e;Ds.verhoeffCheck=G0e;function y0e(e){for(var t=10,n=0;n<e.length-1;n++)t=(parseInt(e[n],10)+t)%10===0?10*2%11:(parseInt(e[n],10)+t)%10*2%11;return t=t===1?0:11-t,t===parseInt(e[10],10)}function A0e(e){for(var t=0,n=!1,r=e.length-1;r>=0;r--){if(n){var i=parseInt(e[r],10)*2;i>9?t+=i.toString().split("").map(function(o){return parseInt(o,10)}).reduce(function(o,s){return o+s},0):t+=i}else t+=parseInt(e[r],10);n=!n}return t%10===0}function B0e(e,t){for(var n=0,r=0;r<e.length;r++)n+=e[r]*(t-r);return n}function G0e(e){for(var t=[[0,1,2,3,4,5,6,7,8,9],[1,2,3,4,0,6,7,8,9,5],[2,3,4,0,1,7,8,9,5,6],[3,4,0,1,2,8,9,5,6,7],[4,0,1,2,3,9,5,6,7,8],[5,9,8,7,6,0,4,3,2,1],[6,5,9,8,7,1,0,4,3,2],[7,6,5,9,8,2,1,0,4,3],[8,7,6,5,9,3,2,1,0,4],[9,8,7,6,5,4,3,2,1,0]],n=[[0,1,2,3,4,5,6,7,8,9],[1,5,7,6,2,8,3,0,9,4],[5,8,0,3,7,9,6,1,4,2],[8,9,1,6,0,4,3,5,2,7],[9,4,5,3,1,2,6,8,7,0],[4,2,8,6,5,7,3,9,0,1],[2,7,9,3,8,0,6,4,1,5],[7,0,4,6,9,1,3,2,5,8]],r=e.split("").reverse().join(""),i=0,o=0;o<r.length;o++)i=t[i][n[o%8][parseInt(r[o],10)]];return i===0}});var ML=d((kl,$G)=>{"use strict";function jG(e){"@babel/helpers - typeof";return jG=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jG(e)}Object.defineProperty(kl,"__esModule",{value:!0});kl.default=uAe;var Z0e=OL(E()),cr=v0e(zG()),Gt=OL(xB());function JL(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,n=new WeakMap;return(JL=function(i){return i?n:t})(e)}function v0e(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||jG(e)!="object"&&typeof e!="function")return{default:e};var n=JL(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(o!=="default"&&{}.hasOwnProperty.call(e,o)){var s=i?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,n&&n.set(e,r),r}function OL(e){return e&&e.__esModule?e:{default:e}}function S0e(e){return V0e(e)||N0e(e)||W0e(e)||R0e()}function R0e(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
63
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function W0e(e,t){if(e){if(typeof e=="string")return QG(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?QG(e,t):void 0}}function N0e(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function V0e(e){if(Array.isArray(e))return QG(e)}function QG(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function _0e(e){var t=e.slice(0,2),n=parseInt(e.slice(2,4),10);n>40?(n-=40,t="20".concat(t)):n>20?(n-=20,t="18".concat(t)):t="19".concat(t),n<10&&(n="0".concat(n));var r="".concat(t,"/").concat(n,"/").concat(e.slice(4,6));if(!(0,Gt.default)(r,"YYYY/MM/DD"))return!1;for(var i=e.split("").map(function(c){return parseInt(c,10)}),o=[2,4,8,5,10,9,7,3,6],s=0,a=0;a<o.length;a++)s+=i[a]*o[a];return s=s%11===10?0:s%11,s===i[9]}function E0e(e){var t=e.split(""),n=t.filter(function(i,o){return o%2}).map(function(i){return Number(i)*2}).join("").split(""),r=t.filter(function(i,o){return!(o%2)}).concat(n).map(function(i){return Number(i)}).reduce(function(i,o){return i+o});return r%10===0}function H0e(e){e=e.replace(/\W/,"");var t=parseInt(e.slice(0,2),10);if(e.length===10)t<54?t="20".concat(t):t="19".concat(t);else{if(e.slice(6)==="000")return!1;if(t<54)t="19".concat(t);else return!1}t.length===3&&(t=[t.slice(0,2),"0",t.slice(2)].join(""));var n=parseInt(e.slice(2,4),10);if(n>50&&(n-=50),n>20){if(parseInt(t,10)<2004)return!1;n-=20}n<10&&(n="0".concat(n));var r="".concat(t,"/").concat(n,"/").concat(e.slice(4,6));if(!(0,Gt.default)(r,"YYYY/MM/DD"))return!1;if(e.length===10&&parseInt(e,10)%11!==0){var i=parseInt(e.slice(0,9),10)%11;if(parseInt(t,10)<1986&&i===10){if(parseInt(e.slice(9),10)!==0)return!1}else return!1}return!0}function w0e(e){return cr.luhnCheck(e)}function Y0e(e){for(var t=e.split("").map(function(c){return parseInt(c,10)}),n=[],r=0;r<t.length-1;r++){n.push("");for(var i=0;i<t.length-1;i++)t[r]===t[i]&&(n[r]+=i)}if(n=n.filter(function(c){return c.length>1}),n.length!==2&&n.length!==3)return!1;if(n[0].length===3){for(var o=n[0].split("").map(function(c){return parseInt(c,10)}),s=0,a=0;a<o.length-1;a++)o[a]+1===o[a+1]&&(s+=1);if(s===2)return!1}return cr.iso7064Check(e)}function F0e(e){e=e.replace(/\W/,"");var t=parseInt(e.slice(4,6),10),n=e.slice(6,7);switch(n){case"0":case"1":case"2":case"3":t="19".concat(t);break;case"4":case"9":t<37?t="20".concat(t):t="19".concat(t);break;default:if(t<37)t="20".concat(t);else if(t>58)t="18".concat(t);else return!1;break}t.length===3&&(t=[t.slice(0,2),"0",t.slice(2)].join(""));var r="".concat(t,"/").concat(e.slice(2,4),"/").concat(e.slice(0,2));if(!(0,Gt.default)(r,"YYYY/MM/DD"))return!1;for(var i=e.split("").map(function(c){return parseInt(c,10)}),o=0,s=4,a=0;a<9;a++)o+=i[a]*s,s-=1,s===1&&(s=7);return o%=11,o===1?!1:o===0?i[9]===0:i[9]===11-o}function T0e(e){for(var t=e.slice(0,8).split("").map(function(o){return parseInt(o,10)}),n=0,r=1;r<t.length;r+=2)n+=t[r];for(var i=0;i<t.length;i+=2)t[i]<2?n+=1-t[i]:(n+=2*(t[i]-2)+5,t[i]>4&&(n+=2));return String.fromCharCode(n%26+65)===e.charAt(8)}function X0e(e){for(var t=e.split("").map(function(i){return parseInt(i,10)}),n=0,r=0;r<8;r++)n+=t[r]*Math.pow(2,8-r);return n%11%10===t[8]}function k0e(e){var t=cr.reverseMultiplyAndSum(e.split("").slice(0,7).map(function(n){return parseInt(n,10)}),8);return e.length===9&&e[8]!=="W"&&(t+=(e[8].charCodeAt(0)-64)*9),t%=23,t===0?e[7].toUpperCase()==="W":e[7].toUpperCase()===String.fromCharCode(64+t)}var PG={andover:["10","12"],atlanta:["60","67"],austin:["50","53"],brookhaven:["01","02","03","04","05","06","11","13","14","16","21","22","23","25","34","51","52","54","55","56","57","58","59","65"],cincinnati:["30","32","35","36","37","38","61"],fresno:["15","24"],internet:["20","26","27","45","46","47"],kansas:["40","44"],memphis:["94","95"],ogden:["80","90"],philadelphia:["33","39","41","42","43","46","48","62","63","64","66","68","71","72","73","74","75","76","77","81","82","83","84","85","86","87","88","91","92","93","98","99"],sba:["31"]};function K0e(){var e=[];for(var t in PG)PG.hasOwnProperty(t)&&e.push.apply(e,S0e(PG[t]));return e}function x0e(e){return K0e().indexOf(e.slice(0,2))!==-1}function L0e(e){for(var t=0,n=e.split(""),r=parseInt(n.pop(),10),i=0;i<n.length;i++)t+=n[9-i]*(2+i%6);var o=11-t%11;return o===11?o=0:o===10&&(o=9),r===o}function U0e(e){var t=e.toUpperCase().split("");if(isNaN(parseInt(t[0],10))&&t.length>1){var n=0;switch(t[0]){case"Y":n=1;break;case"Z":n=2;break;default:}t.splice(0,1,n)}else for(;t.length<9;)t.unshift(0);var r=["T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E"];t=t.join("");var i=parseInt(t.slice(0,8),10)%23;return t[8]===r[i]}function J0e(e){var t=e.slice(1,3),n=e.slice(0,1);switch(n){case"1":case"2":t="18".concat(t);break;case"3":case"4":t="19".concat(t);break;default:t="20".concat(t);break}var r="".concat(t,"/").concat(e.slice(3,5),"/").concat(e.slice(5,7));if(!(0,Gt.default)(r,"YYYY/MM/DD"))return!1;for(var i=e.split("").map(function(u){return parseInt(u,10)}),o=0,s=1,a=0;a<10;a++)o+=i[a]*s,s+=1,s===10&&(s=1);if(o%11===10){o=0,s=3;for(var c=0;c<10;c++)o+=i[c]*s,s+=1,s===10&&(s=1);if(o%11===10)return i[10]===0}return o%11===i[10]}function O0e(e){var t=e.slice(4,6),n=e.slice(6,7);switch(n){case"+":t="18".concat(t);break;case"-":t="19".concat(t);break;default:t="20".concat(t);break}var r="".concat(t,"/").concat(e.slice(2,4),"/").concat(e.slice(0,2));if(!(0,Gt.default)(r,"YYYY/MM/DD"))return!1;var i=parseInt(e.slice(0,6)+e.slice(7,10),10)%31;if(i<10)return i===parseInt(e.slice(10),10);i-=10;var o=["A","B","C","D","E","F","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y"];return o[i]===e.slice(10)}function M0e(e){if(e.slice(2,4)!=="00"||e.slice(4,6)!=="00"){var t="".concat(e.slice(0,2),"/").concat(e.slice(2,4),"/").concat(e.slice(4,6));if(!(0,Gt.default)(t,"YY/MM/DD"))return!1}var n=97-parseInt(e.slice(0,9),10)%97,r=parseInt(e.slice(9,11),10);return!(n!==r&&(n=97-parseInt("2".concat(e.slice(0,9)),10)%97,n!==r))}function D0e(e){e=e.replace(/\s/g,"");var t=parseInt(e.slice(0,10),10)%511,n=parseInt(e.slice(10,13),10);return t===n}function q0e(e){var t="".concat(e.slice(0,4),"/").concat(e.slice(4,6),"/").concat(e.slice(6,8));return!(0,Gt.default)(t,"YYYY/MM/DD")||!cr.luhnCheck(e.slice(0,12))?!1:cr.verhoeffCheck("".concat(e.slice(0,11)).concat(e[12]))}function z0e(e){return cr.iso7064Check(e)}function P0e(e){for(var t=e.split("").map(function(i){return parseInt(i,10)}),n=8,r=1;r<9;r++)n+=t[r]*(r+1);return n%11===t[9]}function LL(e){for(var t=!1,n=!1,r=0;r<3;r++)if(!t&&/[AEIOU]/.test(e[r]))t=!0;else if(!n&&t&&e[r]==="X")n=!0;else if(r>0&&(t&&!n&&!/[AEIOU]/.test(e[r])||n&&!/X/.test(e[r])))return!1;return!0}function j0e(e){var t=e.toUpperCase().split("");if(!LL(t.slice(0,3))||!LL(t.slice(3,6)))return!1;for(var n=[6,7,9,10,12,13,14],r={L:"0",M:"1",N:"2",P:"3",Q:"4",R:"5",S:"6",T:"7",U:"8",V:"9"},i=0,o=n;i<o.length;i++){var s=o[i];t[s]in r&&t.splice(s,1,r[t[s]])}var a={A:"01",B:"02",C:"03",D:"04",E:"05",H:"06",L:"07",M:"08",P:"09",R:"10",S:"11",T:"12"},c=a[t[8]],u=parseInt(t[9]+t[10],10);u>40&&(u-=40),u<10&&(u="0".concat(u));var l="".concat(t[6]).concat(t[7],"/").concat(c,"/").concat(u);if(!(0,Gt.default)(l,"YY/MM/DD"))return!1;for(var g=0,f=1;f<t.length-1;f+=2){var I=parseInt(t[f],10);isNaN(I)&&(I=t[f].charCodeAt(0)-65),g+=I}for(var m={A:1,B:0,C:5,D:7,E:9,F:13,G:15,H:17,I:19,J:21,K:2,L:4,M:18,N:20,O:11,P:3,Q:6,R:8,S:12,T:14,U:16,V:10,W:22,X:25,Y:24,Z:23,0:1,1:0},C=0;C<t.length-1;C+=2){var b=0;if(t[C]in m)b=m[t[C]];else{var v=parseInt(t[C],10);b=2*v+1,v>4&&(b+=2)}g+=b}return String.fromCharCode(65+g%26)===t[15]}function Q0e(e){e=e.replace(/\W/,"");var t=e.slice(0,2);if(t!=="32"){var n=e.slice(2,4);if(n!=="00"){var r=e.slice(4,6);switch(e[6]){case"0":r="18".concat(r);break;case"1":r="19".concat(r);break;default:r="20".concat(r);break}var i="".concat(r,"/").concat(e.slice(2,4),"/").concat(t);if(!(0,Gt.default)(i,"YYYY/MM/DD"))return!1}for(var o=1101,s=[1,6,3,7,9,10,5,8,4,2],a=0;a<e.length-1;a++)o-=parseInt(e[a],10)*s[a];return parseInt(e[10],10)===o%11}return!0}function $0e(e){if(e.length!==9){for(var t=e.toUpperCase().split("");t.length<8;)t.unshift(0);switch(e[7]){case"A":case"P":if(parseInt(t[6],10)===0)return!1;break;default:{var n=parseInt(t.join("").slice(0,5),10);if(n>32e3)return!1;var r=parseInt(t.join("").slice(5,7),10);if(n===r)return!1}}}return!0}function eAe(e){return cr.reverseMultiplyAndSum(e.split("").slice(0,8).map(function(t){return parseInt(t,10)}),9)%11===parseInt(e[8],10)}function tAe(e){if(e.length===10){for(var t=[6,5,7,2,3,4,5,6,7],n=0,r=0;r<t.length;r++)n+=parseInt(e[r],10)*t[r];return n%=11,n===10?!1:n===parseInt(e[9],10)}var i=e.slice(0,2),o=parseInt(e.slice(2,4),10);o>80?(i="18".concat(i),o-=80):o>60?(i="22".concat(i),o-=60):o>40?(i="21".concat(i),o-=40):o>20?(i="20".concat(i),o-=20):i="19".concat(i),o<10&&(o="0".concat(o));var s="".concat(i,"/").concat(o,"/").concat(e.slice(4,6));if(!(0,Gt.default)(s,"YYYY/MM/DD"))return!1;for(var a=0,c=1,u=0;u<e.length-1;u++)a+=parseInt(e[u],10)*c%10,c+=2,c>10?c=1:c===5&&(c+=2);return a=10-a%10,a===parseInt(e[10],10)}function nAe(e){if(e.length===11){var t,n;if(t=0,e==="11111111111"||e==="22222222222"||e==="33333333333"||e==="44444444444"||e==="55555555555"||e==="66666666666"||e==="77777777777"||e==="88888888888"||e==="99999999999"||e==="00000000000")return!1;for(var r=1;r<=9;r++)t+=parseInt(e.substring(r-1,r),10)*(11-r);if(n=t*10%11,n===10&&(n=0),n!==parseInt(e.substring(9,10),10))return!1;t=0;for(var i=1;i<=10;i++)t+=parseInt(e.substring(i-1,i),10)*(12-i);return n=t*10%11,n===10&&(n=0),n===parseInt(e.substring(10,11),10)}if(e==="00000000000000"||e==="11111111111111"||e==="22222222222222"||e==="33333333333333"||e==="44444444444444"||e==="55555555555555"||e==="66666666666666"||e==="77777777777777"||e==="88888888888888"||e==="99999999999999")return!1;for(var o=e.length-2,s=e.substring(0,o),a=e.substring(o),c=0,u=o-7,l=o;l>=1;l--)c+=s.charAt(o-l)*u,u-=1,u<2&&(u=9);var g=c%11<2?0:11-c%11;if(g!==parseInt(a.charAt(0),10))return!1;o+=1,s=e.substring(0,o),c=0,u=o-7;for(var f=o;f>=1;f--)c+=s.charAt(o-f)*u,u-=1,u<2&&(u=9);return g=c%11<2?0:11-c%11,g===parseInt(a.charAt(1),10)}function rAe(e){var t=11-cr.reverseMultiplyAndSum(e.split("").slice(0,8).map(function(n){return parseInt(n,10)}),9)%11;return t>9?parseInt(e[8],10)===0:t===parseInt(e[8],10)}function iAe(e){if(e.slice(0,4)!=="9000"){var t=e.slice(1,3);switch(e[0]){case"1":case"2":t="19".concat(t);break;case"3":case"4":t="18".concat(t);break;case"5":case"6":t="20".concat(t);break;default:}var n="".concat(t,"/").concat(e.slice(3,5),"/").concat(e.slice(5,7));if(n.length===8){if(!(0,Gt.default)(n,"YY/MM/DD"))return!1}else if(!(0,Gt.default)(n,"YYYY/MM/DD"))return!1;for(var r=e.split("").map(function(a){return parseInt(a,10)}),i=[2,7,9,1,4,6,3,5,8,2,7,9],o=0,s=0;s<i.length;s++)o+=r[s]*i[s];return o%11===10?r[12]===1:r[12]===o%11}return!0}function oAe(e){if(e.length===9){if(e=e.replace(/\W/,""),e.slice(6)==="000")return!1;var t=parseInt(e.slice(0,2),10);if(t>53)return!1;t<10?t="190".concat(t):t="19".concat(t);var n=parseInt(e.slice(2,4),10);n>50&&(n-=50),n<10&&(n="0".concat(n));var r="".concat(t,"/").concat(n,"/").concat(e.slice(4,6));if(!(0,Gt.default)(r,"YYYY/MM/DD"))return!1}return!0}function sAe(e){var t=11-cr.reverseMultiplyAndSum(e.split("").slice(0,7).map(function(n){return parseInt(n,10)}),8)%11;return t===10?parseInt(e[7],10)===0:t===parseInt(e[7],10)}function aAe(e){var t=e.slice(0);e.length>11&&(t=t.slice(2));var n="",r=t.slice(2,4),i=parseInt(t.slice(4,6),10);if(e.length>11)n=e.slice(0,4);else if(n=e.slice(0,2),e.length===11&&i<60){var o=new Date().getFullYear().toString(),s=parseInt(o.slice(0,2),10);if(o=parseInt(o,10),e[6]==="-")parseInt("".concat(s).concat(n),10)>o?n="".concat(s-1).concat(n):n="".concat(s).concat(n);else if(n="".concat(s-1).concat(n),o-parseInt(n,10)<100)return!1}i>60&&(i-=60),i<10&&(i="0".concat(i));var a="".concat(n,"/").concat(r,"/").concat(i);if(a.length===8){if(!(0,Gt.default)(a,"YY/MM/DD"))return!1}else if(!(0,Gt.default)(a,"YYYY/MM/DD"))return!1;return cr.luhnCheck(e.replace(/\W/,""))}function cAe(e){for(var t=e.split("").map(function(o){return parseInt(o,10)}),n=[-1,5,7,9,4,6,10,5,7],r=0,i=0;i<n.length;i++)r+=t[i]*n[i];return r%11===10?t[9]===0:t[9]===r%11}var ur={"bg-BG":/^\d{10}$/,"cs-CZ":/^\d{6}\/{0,1}\d{3,4}$/,"de-AT":/^\d{9}$/,"de-DE":/^[1-9]\d{10}$/,"dk-DK":/^\d{6}-{0,1}\d{4}$/,"el-CY":/^[09]\d{7}[A-Z]$/,"el-GR":/^([0-4]|[7-9])\d{8}$/,"en-CA":/^\d{9}$/,"en-GB":/^\d{10}$|^(?!GB|NK|TN|ZZ)(?![DFIQUV])[A-Z](?![DFIQUVO])[A-Z]\d{6}[ABCD ]$/i,"en-IE":/^\d{7}[A-W][A-IW]{0,1}$/i,"en-US":/^\d{2}[- ]{0,1}\d{7}$/,"es-AR":/(20|23|24|27|30|33|34)[0-9]{8}[0-9]/,"es-ES":/^(\d{0,8}|[XYZKLM]\d{7})[A-HJ-NP-TV-Z]$/i,"et-EE":/^[1-6]\d{6}(00[1-9]|0[1-9][0-9]|[1-6][0-9]{2}|70[0-9]|710)\d$/,"fi-FI":/^\d{6}[-+A]\d{3}[0-9A-FHJ-NPR-Y]$/i,"fr-BE":/^\d{11}$/,"fr-FR":/^[0-3]\d{12}$|^[0-3]\d\s\d{2}(\s\d{3}){3}$/,"fr-LU":/^\d{13}$/,"hr-HR":/^\d{11}$/,"hu-HU":/^8\d{9}$/,"it-IT":/^[A-Z]{6}[L-NP-V0-9]{2}[A-EHLMPRST][L-NP-V0-9]{2}[A-ILMZ][L-NP-V0-9]{3}[A-Z]$/i,"lv-LV":/^\d{6}-{0,1}\d{5}$/,"mt-MT":/^\d{3,7}[APMGLHBZ]$|^([1-8])\1\d{7}$/i,"nl-NL":/^\d{9}$/,"pl-PL":/^\d{10,11}$/,"pt-BR":/(?:^\d{11}$)|(?:^\d{14}$)/,"pt-PT":/^\d{9}$/,"ro-RO":/^\d{13}$/,"sk-SK":/^\d{6}\/{0,1}\d{3,4}$/,"sl-SI":/^[1-9]\d{7}$/,"sv-SE":/^(\d{6}[-+]{0,1}\d{4}|(18|19|20)\d{6}[-+]{0,1}\d{4})$/,"uk-UA":/^\d{10}$/};ur["lb-LU"]=ur["fr-LU"];ur["lt-LT"]=ur["et-EE"];ur["nl-BE"]=ur["fr-BE"];ur["fr-CA"]=ur["en-CA"];var lr={"bg-BG":_0e,"cs-CZ":H0e,"de-AT":w0e,"de-DE":Y0e,"dk-DK":F0e,"el-CY":T0e,"el-GR":X0e,"en-CA":E0e,"en-IE":k0e,"en-US":x0e,"es-AR":L0e,"es-ES":U0e,"et-EE":J0e,"fi-FI":O0e,"fr-BE":M0e,"fr-FR":D0e,"fr-LU":q0e,"hr-HR":z0e,"hu-HU":P0e,"it-IT":j0e,"lv-LV":Q0e,"mt-MT":$0e,"nl-NL":eAe,"pl-PL":tAe,"pt-BR":nAe,"pt-PT":rAe,"ro-RO":iAe,"sk-SK":oAe,"sl-SI":sAe,"sv-SE":aAe,"uk-UA":cAe};lr["lb-LU"]=lr["fr-LU"];lr["lt-LT"]=lr["et-EE"];lr["nl-BE"]=lr["fr-BE"];lr["fr-CA"]=lr["en-CA"];var UL=/[-\\\/!@#$%\^&\*\(\)\+\=\[\]]+/g,Lp={"de-AT":UL,"de-DE":/[\/\\]/g,"fr-BE":UL};Lp["nl-BE"]=Lp["fr-BE"];function uAe(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"en-US";(0,Z0e.default)(e);var n=e.slice(0);if(t in ur)return t in Lp&&(n=n.replace(Lp[t],"")),ur[t].test(n)?t in lr?lr[t](n):!0:!1;throw new Error("Invalid locale '".concat(t,"'"))}$G.exports=kl.default;$G.exports.default=kl.default});var DL=d(Kl=>{"use strict";Object.defineProperty(Kl,"__esModule",{value:!0});Kl.default=gAe;Kl.locales=void 0;var lAe=dAe(E());function dAe(e){return e&&e.__esModule?e:{default:e}}var Be={"am-AM":/^(\+?374|0)(33|4[134]|55|77|88|9[13-689])\d{6}$/,"ar-AE":/^((\+?971)|0)?5[024568]\d{7}$/,"ar-BH":/^(\+?973)?(3|6)\d{7}$/,"ar-DZ":/^(\+?213|0)(5|6|7)\d{8}$/,"ar-LB":/^(\+?961)?((3|81)\d{6}|7\d{7})$/,"ar-EG":/^((\+?20)|0)?1[0125]\d{8}$/,"ar-IQ":/^(\+?964|0)?7[0-9]\d{8}$/,"ar-JO":/^(\+?962|0)?7[789]\d{7}$/,"ar-KW":/^(\+?965)([569]\d{7}|41\d{6})$/,"ar-LY":/^((\+?218)|0)?(9[1-6]\d{7}|[1-8]\d{7,9})$/,"ar-MA":/^(?:(?:\+|00)212|0)[5-7]\d{8}$/,"ar-OM":/^((\+|00)968)?(9[1-9])\d{6}$/,"ar-PS":/^(\+?970|0)5[6|9](\d{7})$/,"ar-SA":/^(!?(\+?966)|0)?5\d{8}$/,"ar-SD":/^((\+?249)|0)?(9[012369]|1[012])\d{7}$/,"ar-SY":/^(!?(\+?963)|0)?9\d{8}$/,"ar-TN":/^(\+?216)?[2459]\d{7}$/,"az-AZ":/^(\+994|0)(10|5[015]|7[07]|99)\d{7}$/,"bs-BA":/^((((\+|00)3876)|06))((([0-3]|[5-6])\d{6})|(4\d{7}))$/,"be-BY":/^(\+?375)?(24|25|29|33|44)\d{7}$/,"bg-BG":/^(\+?359|0)?8[789]\d{7}$/,"bn-BD":/^(\+?880|0)1[13456789][0-9]{8}$/,"ca-AD":/^(\+376)?[346]\d{5}$/,"cs-CZ":/^(\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,"da-DK":/^(\+?45)?\s?\d{2}\s?\d{2}\s?\d{2}\s?\d{2}$/,"de-DE":/^((\+49|0)1)(5[0-25-9]\d|6([23]|0\d?)|7([0-57-9]|6\d))\d{7,9}$/,"de-AT":/^(\+43|0)\d{1,4}\d{3,12}$/,"de-CH":/^(\+41|0)([1-9])\d{1,9}$/,"de-LU":/^(\+352)?((6\d1)\d{6})$/,"dv-MV":/^(\+?960)?(7[2-9]|9[1-9])\d{5}$/,"el-GR":/^(\+?30|0)?6(8[5-9]|9(?![26])[0-9])\d{7}$/,"el-CY":/^(\+?357?)?(9(9|6)\d{6})$/,"en-AI":/^(\+?1|0)264(?:2(35|92)|4(?:6[1-2]|76|97)|5(?:3[6-9]|8[1-4])|7(?:2(4|9)|72))\d{4}$/,"en-AU":/^(\+?61|0)4\d{8}$/,"en-AG":/^(?:\+1|1)268(?:464|7(?:1[3-9]|[28]\d|3[0246]|64|7[0-689]))\d{4}$/,"en-BM":/^(\+?1)?441(((3|7)\d{6}$)|(5[0-3][0-9]\d{4}$)|(59\d{5}$))/,"en-BS":/^(\+?1[-\s]?|0)?\(?242\)?[-\s]?\d{3}[-\s]?\d{4}$/,"en-GB":/^(\+?44|0)7[1-9]\d{8}$/,"en-GG":/^(\+?44|0)1481\d{6}$/,"en-GH":/^(\+233|0)(20|50|24|54|27|57|26|56|23|53|28|55|59)\d{7}$/,"en-GY":/^(\+592|0)6\d{6}$/,"en-HK":/^(\+?852[-\s]?)?[456789]\d{3}[-\s]?\d{4}$/,"en-MO":/^(\+?853[-\s]?)?[6]\d{3}[-\s]?\d{4}$/,"en-IE":/^(\+?353|0)8[356789]\d{7}$/,"en-IN":/^(\+?91|0)?[6789]\d{9}$/,"en-JM":/^(\+?876)?\d{7}$/,"en-KE":/^(\+?254|0)(7|1)\d{8}$/,"fr-CF":/^(\+?236| ?)(70|75|77|72|21|22)\d{6}$/,"en-SS":/^(\+?211|0)(9[1257])\d{7}$/,"en-KI":/^((\+686|686)?)?( )?((6|7)(2|3|8)[0-9]{6})$/,"en-KN":/^(?:\+1|1)869(?:46\d|48[89]|55[6-8]|66\d|76[02-7])\d{4}$/,"en-LS":/^(\+?266)(22|28|57|58|59|27|52)\d{6}$/,"en-MT":/^(\+?356|0)?(99|79|77|21|27|22|25)[0-9]{6}$/,"en-MU":/^(\+?230|0)?\d{8}$/,"en-MW":/^(\+?265|0)(((77|88|31|99|98|21)\d{7})|(((111)|1)\d{6})|(32000\d{4}))$/,"en-NA":/^(\+?264|0)(6|8)\d{7}$/,"en-NG":/^(\+?234|0)?[789]\d{9}$/,"en-NZ":/^(\+?64|0)[28]\d{7,9}$/,"en-PG":/^(\+?675|0)?(7\d|8[18])\d{6}$/,"en-PK":/^((00|\+)?92|0)3[0-6]\d{8}$/,"en-PH":/^(09|\+639)\d{9}$/,"en-RW":/^(\+?250|0)?[7]\d{8}$/,"en-SG":/^(\+65)?[3689]\d{7}$/,"en-SL":/^(\+?232|0)\d{8}$/,"en-TZ":/^(\+?255|0)?[67]\d{8}$/,"en-UG":/^(\+?256|0)?[7]\d{8}$/,"en-US":/^((\+1|1)?( |-)?)?(\([2-9][0-9]{2}\)|[2-9][0-9]{2})( |-)?([2-9][0-9]{2}( |-)?[0-9]{4})$/,"en-ZA":/^(\+?27|0)\d{9}$/,"en-ZM":/^(\+?26)?0[79][567]\d{7}$/,"en-ZW":/^(\+263)[0-9]{9}$/,"en-BW":/^(\+?267)?(7[1-8]{1})\d{6}$/,"es-AR":/^\+?549(11|[2368]\d)\d{8}$/,"es-BO":/^(\+?591)?(6|7)\d{7}$/,"es-CO":/^(\+?57)?3(0(0|1|2|4|5)|1\d|2[0-4]|5(0|1))\d{7}$/,"es-CL":/^(\+?56|0)[2-9]\d{1}\d{7}$/,"es-CR":/^(\+506)?[2-8]\d{7}$/,"es-CU":/^(\+53|0053)?5\d{7}$/,"es-DO":/^(\+?1)?8[024]9\d{7}$/,"es-HN":/^(\+?504)?[9|8|3|2]\d{7}$/,"es-EC":/^(\+?593|0)([2-7]|9[2-9])\d{7}$/,"es-ES":/^(\+?34)?[6|7]\d{8}$/,"es-GT":/^(\+?502)?[2|6|7]\d{7}$/,"es-PE":/^(\+?51)?9\d{8}$/,"es-MX":/^(\+?52)?(1|01)?\d{10,11}$/,"es-NI":/^(\+?505)\d{7,8}$/,"es-PA":/^(\+?507)\d{7,8}$/,"es-PY":/^(\+?595|0)9[9876]\d{7}$/,"es-SV":/^(\+?503)?[67]\d{7}$/,"es-UY":/^(\+598|0)9[1-9][\d]{6}$/,"es-VE":/^(\+?58)?(2|4)\d{9}$/,"et-EE":/^(\+?372)?\s?(5|8[1-4])\s?([0-9]\s?){6,7}$/,"fa-IR":/^(\+?98[\-\s]?|0)9[0-39]\d[\-\s]?\d{3}[\-\s]?\d{4}$/,"fi-FI":/^(\+?358|0)\s?(4[0-6]|50)\s?(\d\s?){4,8}$/,"fj-FJ":/^(\+?679)?\s?\d{3}\s?\d{4}$/,"fo-FO":/^(\+?298)?\s?\d{2}\s?\d{2}\s?\d{2}$/,"fr-BF":/^(\+226|0)[67]\d{7}$/,"fr-BJ":/^(\+229)\d{8}$/,"fr-CD":/^(\+?243|0)?(8|9)\d{8}$/,"fr-CM":/^(\+?237)6[0-9]{8}$/,"fr-FR":/^(\+?33|0)[67]\d{8}$/,"fr-GF":/^(\+?594|0|00594)[67]\d{8}$/,"fr-GP":/^(\+?590|0|00590)[67]\d{8}$/,"fr-MQ":/^(\+?596|0|00596)[67]\d{8}$/,"fr-PF":/^(\+?689)?8[789]\d{6}$/,"fr-RE":/^(\+?262|0|00262)[67]\d{8}$/,"fr-WF":/^(\+681)?\d{6}$/,"he-IL":/^(\+972|0)([23489]|5[012345689]|77)[1-9]\d{6}$/,"hu-HU":/^(\+?36|06)(20|30|31|50|70)\d{7}$/,"id-ID":/^(\+?62|0)8(1[123456789]|2[1238]|3[1238]|5[12356789]|7[78]|9[56789]|8[123456789])([\s?|\d]{5,11})$/,"ir-IR":/^(\+98|0)?9\d{9}$/,"it-IT":/^(\+?39)?\s?3\d{2} ?\d{6,7}$/,"it-SM":/^((\+378)|(0549)|(\+390549)|(\+3780549))?6\d{5,9}$/,"ja-JP":/^(\+81[ \-]?(\(0\))?|0)[6789]0[ \-]?\d{4}[ \-]?\d{4}$/,"ka-GE":/^(\+?995)?(79\d{7}|5\d{8})$/,"kk-KZ":/^(\+?7|8)?7\d{9}$/,"kl-GL":/^(\+?299)?\s?\d{2}\s?\d{2}\s?\d{2}$/,"ko-KR":/^((\+?82)[ \-]?)?0?1([0|1|6|7|8|9]{1})[ \-]?\d{3,4}[ \-]?\d{4}$/,"ky-KG":/^(\+996\s?)?(22[0-9]|50[0-9]|55[0-9]|70[0-9]|75[0-9]|77[0-9]|880|990|995|996|997|998)\s?\d{3}\s?\d{3}$/,"lt-LT":/^(\+370|8)\d{8}$/,"lv-LV":/^(\+?371)2\d{7}$/,"mg-MG":/^((\+?261|0)(2|3)\d)?\d{7}$/,"mn-MN":/^(\+|00|011)?976(77|81|88|91|94|95|96|99)\d{6}$/,"my-MM":/^(\+?959|09|9)(2[5-7]|3[1-2]|4[0-5]|6[6-9]|7[5-9]|9[6-9])[0-9]{7}$/,"ms-MY":/^(\+?60|0)1(([0145](-|\s)?\d{7,8})|([236-9](-|\s)?\d{7}))$/,"mz-MZ":/^(\+?258)?8[234567]\d{7}$/,"nb-NO":/^(\+?47)?[49]\d{7}$/,"ne-NP":/^(\+?977)?9[78]\d{8}$/,"nl-BE":/^(\+?32|0)4\d{8}$/,"nl-NL":/^(((\+|00)?31\(0\))|((\+|00)?31)|0)6{1}\d{8}$/,"nl-AW":/^(\+)?297(56|59|64|73|74|99)\d{5}$/,"nn-NO":/^(\+?47)?[49]\d{7}$/,"pl-PL":/^(\+?48)? ?([5-8]\d|45) ?\d{3} ?\d{2} ?\d{2}$/,"pt-BR":/^((\+?55\ ?[1-9]{2}\ ?)|(\+?55\ ?\([1-9]{2}\)\ ?)|(0[1-9]{2}\ ?)|(\([1-9]{2}\)\ ?)|([1-9]{2}\ ?))((\d{4}\-?\d{4})|(9[1-9]{1}\d{3}\-?\d{4}))$/,"pt-PT":/^(\+?351)?9[1236]\d{7}$/,"pt-AO":/^(\+244)\d{9}$/,"ro-MD":/^(\+?373|0)((6(0|1|2|6|7|8|9))|(7(6|7|8|9)))\d{6}$/,"ro-RO":/^(\+?40|0)\s?7\d{2}(\/|\s|\.|-)?\d{3}(\s|\.|-)?\d{3}$/,"ru-RU":/^(\+?7|8)?9\d{9}$/,"si-LK":/^(?:0|94|\+94)?(7(0|1|2|4|5|6|7|8)( |-)?)\d{7}$/,"sl-SI":/^(\+386\s?|0)(\d{1}\s?\d{3}\s?\d{2}\s?\d{2}|\d{2}\s?\d{3}\s?\d{3})$/,"sk-SK":/^(\+?421)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,"so-SO":/^(\+?252|0)((6[0-9])\d{7}|(7[1-9])\d{7})$/,"sq-AL":/^(\+355|0)6[2-9]\d{7}$/,"sr-RS":/^(\+3816|06)[- \d]{5,9}$/,"sv-SE":/^(\+?46|0)[\s\-]?7[\s\-]?[02369]([\s\-]?\d){7}$/,"tg-TJ":/^(\+?992)?[5][5]\d{7}$/,"th-TH":/^(\+66|66|0)\d{9}$/,"tr-TR":/^(\+?90|0)?5\d{9}$/,"tk-TM":/^(\+993|993|8)\d{8}$/,"uk-UA":/^(\+?38)?0(50|6[36-8]|7[357]|9[1-9])\d{7}$/,"uz-UZ":/^(\+?998)?(6[125-79]|7[1-69]|88|9\d)\d{7}$/,"vi-VN":/^((\+?84)|0)((3([2-9]))|(5([25689]))|(7([0|6-9]))|(8([1-9]))|(9([0-9])))([0-9]{7})$/,"zh-CN":/^((\+|00)86)?(1[3-9]|9[28])\d{9}$/,"zh-TW":/^(\+?886\-?|0)?9\d{8}$/,"dz-BT":/^(\+?975|0)?(17|16|77|02)\d{6}$/,"ar-YE":/^(((\+|00)9677|0?7)[0137]\d{7}|((\+|00)967|0)[1-7]\d{6})$/,"ar-EH":/^(\+?212|0)[\s\-]?(5288|5289)[\s\-]?\d{5}$/,"fa-AF":/^(\+93|0)?(2{1}[0-8]{1}|[3-5]{1}[0-4]{1})(\d{7})$/,"mk-MK":/^(\+?389|0)?((?:2[2-9]\d{6}|(?:3[1-4]|4[2-8])\d{6}|500\d{5}|5[2-9]\d{6}|7[0-9][2-9]\d{5}|8[1-9]\d{6}|800\d{5}|8009\d{4}))$/};Be["en-CA"]=Be["en-US"];Be["fr-CA"]=Be["en-CA"];Be["fr-BE"]=Be["nl-BE"];Be["zh-HK"]=Be["en-HK"];Be["zh-MO"]=Be["en-MO"];Be["ga-IE"]=Be["en-IE"];Be["fr-CH"]=Be["de-CH"];Be["it-CH"]=Be["fr-CH"];function gAe(e,t,n){if((0,lAe.default)(e),n&&n.strictMode&&!e.startsWith("+"))return!1;if(Array.isArray(t))return t.some(function(o){if(Be.hasOwnProperty(o)){var s=Be[o];if(s.test(e))return!0}return!1});if(t in Be)return Be[t].test(e);if(!t||t==="any"){for(var r in Be)if(Be.hasOwnProperty(r)){var i=Be[r];if(i.test(e))return!0}return!1}throw new Error("Invalid locale '".concat(t,"'"))}var IYe=Kl.locales=Object.keys(Be)});var qL=d((xl,eZ)=>{"use strict";Object.defineProperty(xl,"__esModule",{value:!0});xl.default=mAe;var fAe=IAe(E());function IAe(e){return e&&e.__esModule?e:{default:e}}var pAe=/^(0x)[0-9a-f]{40}$/i;function mAe(e){return(0,fAe.default)(e),pAe.test(e)}eZ.exports=xl.default;eZ.exports.default=xl.default});var PL=d((Ll,tZ)=>{"use strict";Object.defineProperty(Ll,"__esModule",{value:!0});Ll.default=AAe;var hAe=zL(lt()),CAe=zL(E());function zL(e){return e&&e.__esModule?e:{default:e}}function bAe(e){var t="\\d{".concat(e.digits_after_decimal[0],"}");e.digits_after_decimal.forEach(function(l,g){g!==0&&(t="".concat(t,"|\\d{").concat(l,"}"))});var n="(".concat(e.symbol.replace(/\W/,function(l){return"\\".concat(l)}),")").concat(e.require_symbol?"":"?"),r="-?",i="[1-9]\\d*",o="[1-9]\\d{0,2}(\\".concat(e.thousands_separator,"\\d{3})*"),s=["0",i,o],a="(".concat(s.join("|"),")?"),c="(\\".concat(e.decimal_separator,"(").concat(t,"))").concat(e.require_decimal?"":"?"),u=a+(e.allow_decimal||e.require_decimal?c:"");return e.allow_negatives&&!e.parens_for_negatives&&(e.negative_sign_after_digits?u+=r:e.negative_sign_before_digits&&(u=r+u)),e.allow_negative_sign_placeholder?u="( (?!\\-))?".concat(u):e.allow_space_after_symbol?u=" ?".concat(u):e.allow_space_after_digits&&(u+="( (?!$))?"),e.symbol_after_digits?u+=n:u=n+u,e.allow_negatives&&(e.parens_for_negatives?u="(\\(".concat(u,"\\)|").concat(u,")"):e.negative_sign_before_digits||e.negative_sign_after_digits||(u=r+u)),new RegExp("^(?!-? )(?=.*\\d)".concat(u,"$"))}var yAe={symbol:"$",require_symbol:!1,allow_space_after_symbol:!1,symbol_after_digits:!1,allow_negatives:!0,parens_for_negatives:!1,negative_sign_before_digits:!1,negative_sign_after_digits:!1,allow_negative_sign_placeholder:!1,thousands_separator:",",decimal_separator:".",allow_decimal:!0,require_decimal:!1,digits_after_decimal:[2],allow_space_after_digits:!1};function AAe(e,t){return(0,CAe.default)(e),t=(0,hAe.default)(t,yAe),bAe(t).test(e)}tZ.exports=Ll.default;tZ.exports.default=Ll.default});var jL=d((Ul,nZ)=>{"use strict";Object.defineProperty(Ul,"__esModule",{value:!0});Ul.default=SAe;var BAe=GAe(E());function GAe(e){return e&&e.__esModule?e:{default:e}}var ZAe=/^(bc1|tb1|bc1p|tb1p)[ac-hj-np-z02-9]{39,58}$/,vAe=/^(1|2|3|m)[A-HJ-NP-Za-km-z1-9]{25,39}$/;function SAe(e){return(0,BAe.default)(e),ZAe.test(e)||vAe.test(e)}nZ.exports=Ul.default;nZ.exports.default=Ul.default});var $L=d(Jl=>{"use strict";Object.defineProperty(Jl,"__esModule",{value:!0});Jl.isFreightContainerID=void 0;Jl.isISO6346=QL;var RAe=WAe(E());function WAe(e){return e&&e.__esModule?e:{default:e}}var NAe=/^[A-Z]{3}(U[0-9]{7})|([J,Z][0-9]{6,7})$/,VAe=/^[0-9]$/;function QL(e){if((0,RAe.default)(e),e=e.toUpperCase(),!NAe.test(e))return!1;if(e.length===11){for(var t=0,n=0;n<e.length-1;n++)if(VAe.test(e[n]))t+=e[n]*Math.pow(2,n);else{var r=void 0,i=e.charCodeAt(n)-55;i<11?r=i:i>=11&&i<=20?r=12+i%11:i>=21&&i<=30?r=23+i%21:r=34+i%31,t+=r*Math.pow(2,n)}var o=t%11;return o===10&&(o=0),Number(e[e.length-1])===o}return!0}var mYe=Jl.isFreightContainerID=QL});var eU=d((Ol,rZ)=>{"use strict";Object.defineProperty(Ol,"__esModule",{value:!0});Ol.default=wAe;var _Ae=EAe(E());function EAe(e){return e&&e.__esModule?e:{default:e}}var HAe=new Set(["aa","ab","ae","af","ak","am","an","ar","as","av","ay","az","az","ba","be","bg","bh","bi","bm","bn","bo","br","bs","ca","ce","ch","co","cr","cs","cu","cv","cy","da","de","dv","dz","ee","el","en","eo","es","et","eu","fa","ff","fi","fj","fo","fr","fy","ga","gd","gl","gn","gu","gv","ha","he","hi","ho","hr","ht","hu","hy","hz","ia","id","ie","ig","ii","ik","io","is","it","iu","ja","jv","ka","kg","ki","kj","kk","kl","km","kn","ko","kr","ks","ku","kv","kw","ky","la","lb","lg","li","ln","lo","lt","lu","lv","mg","mh","mi","mk","ml","mn","mr","ms","mt","my","na","nb","nd","ne","ng","nl","nn","no","nr","nv","ny","oc","oj","om","or","os","pa","pi","pl","ps","pt","qu","rm","rn","ro","ru","rw","sa","sc","sd","se","sg","si","sk","sl","sm","sn","so","sq","sr","ss","st","su","sv","sw","ta","te","tg","th","ti","tk","tl","tn","to","tr","ts","tt","tw","ty","ug","uk","ur","uz","ve","vi","vo","wa","wo","xh","yi","yo","za","zh","zu"]);function wAe(e){return(0,_Ae.default)(e),HAe.has(e)}rZ.exports=Ol.default;rZ.exports.default=Ol.default});var tU=d((Ml,iZ)=>{"use strict";Object.defineProperty(Ml,"__esModule",{value:!0});Ml.default=KAe;var YAe=FAe(E());function FAe(e){return e&&e.__esModule?e:{default:e}}var TAe=/^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,XAe=/^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,kAe=function(t){var n=t.match(/^(\d{4})-?(\d{3})([ T]{1}\.*|$)/);if(n){var r=Number(n[1]),i=Number(n[2]);return r%4===0&&r%100!==0||r%400===0?i<=366:i<=365}var o=t.match(/(\d{4})-?(\d{0,2})-?(\d*)/).map(Number),s=o[1],a=o[2],c=o[3],u=a&&"0".concat(a).slice(-2),l=c&&"0".concat(c).slice(-2),g=new Date("".concat(s,"-").concat(u||"01","-").concat(l||"01"));return a&&c?g.getUTCFullYear()===s&&g.getUTCMonth()+1===a&&g.getUTCDate()===c:!0};function KAe(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};(0,YAe.default)(e);var n=t.strictSeparator?XAe.test(e):TAe.test(e);return n&&t.strict?kAe(e):n}iZ.exports=Ml.default;iZ.exports.default=Ml.default});var iU=d((Dl,oZ)=>{"use strict";Object.defineProperty(Dl,"__esModule",{value:!0});Dl.default=eBe;var xAe=LAe(E());function LAe(e){return e&&e.__esModule?e:{default:e}}var UAe=/[0-9]{4}/,JAe=/(0[1-9]|1[0-2])/,OAe=/([12]\d|0[1-9]|3[01])/,nU=/([01][0-9]|2[0-3])/,rU=/[0-5][0-9]/,MAe=/([0-5][0-9]|60)/,DAe=/(\.[0-9]+)?/,qAe=new RegExp("[-+]".concat(nU.source,":").concat(rU.source)),zAe=new RegExp("([zZ]|".concat(qAe.source,")")),PAe=new RegExp("".concat(nU.source,":").concat(rU.source,":").concat(MAe.source).concat(DAe.source)),jAe=new RegExp("".concat(UAe.source,"-").concat(JAe.source,"-").concat(OAe.source)),QAe=new RegExp("".concat(PAe.source).concat(zAe.source)),$Ae=new RegExp("^".concat(jAe.source,"[ tT]").concat(QAe.source,"$"));function eBe(e){return(0,xAe.default)(e),$Ae.test(e)}oZ.exports=Dl.default;oZ.exports.default=Dl.default});var sU=d(ql=>{"use strict";Object.defineProperty(ql,"__esModule",{value:!0});ql.ScriptCodes=void 0;ql.default=rBe;var tBe=nBe(E());function nBe(e){return e&&e.__esModule?e:{default:e}}var oU=new Set(["Adlm","Afak","Aghb","Ahom","Arab","Aran","Armi","Armn","Avst","Bali","Bamu","Bass","Batk","Beng","Bhks","Blis","Bopo","Brah","Brai","Bugi","Buhd","Cakm","Cans","Cari","Cham","Cher","Chis","Chrs","Cirt","Copt","Cpmn","Cprt","Cyrl","Cyrs","Deva","Diak","Dogr","Dsrt","Dupl","Egyd","Egyh","Egyp","Elba","Elym","Ethi","Gara","Geok","Geor","Glag","Gong","Gonm","Goth","Gran","Grek","Gujr","Gukh","Guru","Hanb","Hang","Hani","Hano","Hans","Hant","Hatr","Hebr","Hira","Hluw","Hmng","Hmnp","Hrkt","Hung","Inds","Ital","Jamo","Java","Jpan","Jurc","Kali","Kana","Kawi","Khar","Khmr","Khoj","Kitl","Kits","Knda","Kore","Kpel","Krai","Kthi","Lana","Laoo","Latf","Latg","Latn","Leke","Lepc","Limb","Lina","Linb","Lisu","Loma","Lyci","Lydi","Mahj","Maka","Mand","Mani","Marc","Maya","Medf","Mend","Merc","Mero","Mlym","Modi","Mong","Moon","Mroo","Mtei","Mult","Mymr","Nagm","Nand","Narb","Nbat","Newa","Nkdb","Nkgb","Nkoo","Nshu","Ogam","Olck","Onao","Orkh","Orya","Osge","Osma","Ougr","Palm","Pauc","Pcun","Pelm","Perm","Phag","Phli","Phlp","Phlv","Phnx","Plrd","Piqd","Prti","Psin","Qaaa","Qaab","Qaac","Qaad","Qaae","Qaaf","Qaag","Qaah","Qaai","Qaaj","Qaak","Qaal","Qaam","Qaan","Qaao","Qaap","Qaaq","Qaar","Qaas","Qaat","Qaau","Qaav","Qaaw","Qaax","Qaay","Qaaz","Qaba","Qabb","Qabc","Qabd","Qabe","Qabf","Qabg","Qabh","Qabi","Qabj","Qabk","Qabl","Qabm","Qabn","Qabo","Qabp","Qabq","Qabr","Qabs","Qabt","Qabu","Qabv","Qabw","Qabx","Ranj","Rjng","Rohg","Roro","Runr","Samr","Sara","Sarb","Saur","Sgnw","Shaw","Shrd","Shui","Sidd","Sidt","Sind","Sinh","Sogd","Sogo","Sora","Soyo","Sund","Sunu","Sylo","Syrc","Syre","Syrj","Syrn","Tagb","Takr","Tale","Talu","Taml","Tang","Tavt","Tayo","Telu","Teng","Tfng","Tglg","Thaa","Thai","Tibt","Tirh","Tnsa","Todr","Tols","Toto","Tutg","Ugar","Vaii","Visp","Vith","Wara","Wcho","Wole","Xpeo","Xsux","Yezi","Yiii","Zanb","Zinh","Zmth","Zsye","Zsym","Zxxx","Zyyy","Zzzz"]);function rBe(e){return(0,tBe.default)(e),oU.has(e)}var CYe=ql.ScriptCodes=oU});var aU=d((zl,sZ)=>{"use strict";Object.defineProperty(zl,"__esModule",{value:!0});zl.default=aBe;var iBe=oBe(E());function oBe(e){return e&&e.__esModule?e:{default:e}}var sBe=new Set(["AFG","ALA","ALB","DZA","ASM","AND","AGO","AIA","ATA","ATG","ARG","ARM","ABW","AUS","AUT","AZE","BHS","BHR","BGD","BRB","BLR","BEL","BLZ","BEN","BMU","BTN","BOL","BES","BIH","BWA","BVT","BRA","IOT","BRN","BGR","BFA","BDI","KHM","CMR","CAN","CPV","CYM","CAF","TCD","CHL","CHN","CXR","CCK","COL","COM","COG","COD","COK","CRI","CIV","HRV","CUB","CUW","CYP","CZE","DNK","DJI","DMA","DOM","ECU","EGY","SLV","GNQ","ERI","EST","ETH","FLK","FRO","FJI","FIN","FRA","GUF","PYF","ATF","GAB","GMB","GEO","DEU","GHA","GIB","GRC","GRL","GRD","GLP","GUM","GTM","GGY","GIN","GNB","GUY","HTI","HMD","VAT","HND","HKG","HUN","ISL","IND","IDN","IRN","IRQ","IRL","IMN","ISR","ITA","JAM","JPN","JEY","JOR","KAZ","KEN","KIR","PRK","KOR","KWT","KGZ","LAO","LVA","LBN","LSO","LBR","LBY","LIE","LTU","LUX","MAC","MKD","MDG","MWI","MYS","MDV","MLI","MLT","MHL","MTQ","MRT","MUS","MYT","MEX","FSM","MDA","MCO","MNG","MNE","MSR","MAR","MOZ","MMR","NAM","NRU","NPL","NLD","NCL","NZL","NIC","NER","NGA","NIU","NFK","MNP","NOR","OMN","PAK","PLW","PSE","PAN","PNG","PRY","PER","PHL","PCN","POL","PRT","PRI","QAT","REU","ROU","RUS","RWA","BLM","SHN","KNA","LCA","MAF","SPM","VCT","WSM","SMR","STP","SAU","SEN","SRB","SYC","SLE","SGP","SXM","SVK","SVN","SLB","SOM","ZAF","SGS","SSD","ESP","LKA","SDN","SUR","SJM","SWZ","SWE","CHE","SYR","TWN","TJK","TZA","THA","TLS","TGO","TKL","TON","TTO","TUN","TUR","TKM","TCA","TUV","UGA","UKR","ARE","GBR","USA","UMI","URY","UZB","VUT","VEN","VNM","VGB","VIR","WLF","ESH","YEM","ZMB","ZWE"]);function aBe(e){return(0,iBe.default)(e),sBe.has(e.toUpperCase())}sZ.exports=zl.default;sZ.exports.default=zl.default});var cU=d((Pl,aZ)=>{"use strict";Object.defineProperty(Pl,"__esModule",{value:!0});Pl.default=dBe;var cBe=uBe(E());function uBe(e){return e&&e.__esModule?e:{default:e}}var lBe=new Set(["004","008","010","012","016","020","024","028","031","032","036","040","044","048","050","051","052","056","060","064","068","070","072","074","076","084","086","090","092","096","100","104","108","112","116","120","124","132","136","140","144","148","152","156","158","162","166","170","174","175","178","180","184","188","191","192","196","203","204","208","212","214","218","222","226","231","232","233","234","238","239","242","246","248","250","254","258","260","262","266","268","270","275","276","288","292","296","300","304","308","312","316","320","324","328","332","334","336","340","344","348","352","356","360","364","368","372","376","380","384","388","392","398","400","404","408","410","414","417","418","422","426","428","430","434","438","440","442","446","450","454","458","462","466","470","474","478","480","484","492","496","498","499","500","504","508","512","516","520","524","528","531","533","534","535","540","548","554","558","562","566","570","574","578","580","581","583","584","585","586","591","598","600","604","608","612","616","620","624","626","630","634","638","642","643","646","652","654","659","660","662","663","666","670","674","678","682","686","688","690","694","702","703","704","705","706","710","716","724","728","729","732","740","744","748","752","756","760","762","764","768","772","776","780","784","788","792","795","796","798","800","804","807","818","826","831","832","833","834","840","850","854","858","860","862","876","882","887","894"]);function dBe(e){return(0,cBe.default)(e),lBe.has(e)}aZ.exports=Pl.default;aZ.exports.default=Pl.default});var lU=d(jl=>{"use strict";Object.defineProperty(jl,"__esModule",{value:!0});jl.CurrencyCodes=void 0;jl.default=IBe;var gBe=fBe(E());function fBe(e){return e&&e.__esModule?e:{default:e}}var uU=new Set(["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BOV","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","CHE","CHF","CHW","CLF","CLP","CNY","COP","COU","CRC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MXV","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLE","SLL","SOS","SRD","SSP","STN","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","USN","UYI","UYU","UYW","UZS","VED","VES","VND","VUV","WST","XAF","XAG","XAU","XBA","XBB","XBC","XBD","XCD","XDR","XOF","XPD","XPF","XPT","XSU","XTS","XUA","XXX","YER","ZAR","ZMW","ZWL"]);function IBe(e){return(0,gBe.default)(e),uU.has(e.toUpperCase())}var yYe=jl.CurrencyCodes=uU});var gU=d((Ql,cZ)=>{"use strict";Object.defineProperty(Ql,"__esModule",{value:!0});Ql.default=yBe;var pBe=dU(E()),mBe=dU(lt());function dU(e){return e&&e.__esModule?e:{default:e}}var hBe=/^[A-Z2-7]+=*$/,CBe=/^[A-HJKMNP-TV-Z0-9]+$/,bBe={crockford:!1};function yBe(e,t){if((0,pBe.default)(e),t=(0,mBe.default)(t,bBe),t.crockford)return CBe.test(e);var n=e.length;return!!(n%8===0&&hBe.test(e))}cZ.exports=Ql.default;cZ.exports.default=Ql.default});var fU=d(($l,uZ)=>{"use strict";Object.defineProperty($l,"__esModule",{value:!0});$l.default=ZBe;var ABe=BBe(E());function BBe(e){return e&&e.__esModule?e:{default:e}}var GBe=/^[A-HJ-NP-Za-km-z1-9]*$/;function ZBe(e){return(0,ABe.default)(e),!!GBe.test(e)}uZ.exports=$l.default;uZ.exports.default=$l.default});var IU=d((ed,lZ)=>{"use strict";Object.defineProperty(ed,"__esModule",{value:!0});ed.default=VBe;var vBe=SBe(E());function SBe(e){return e&&e.__esModule?e:{default:e}}var RBe=/^[a-z]+\/[a-z0-9\-\+\._]+$/i,WBe=/^[a-z\-]+=[a-z0-9\-]+$/i,NBe=/^[a-z0-9!\$&'\(\)\*\+,;=\-\._~:@\/\?%\s]*$/i;function VBe(e){(0,vBe.default)(e);var t=e.split(",");if(t.length<2)return!1;var n=t.shift().trim().split(";"),r=n.shift();if(r.slice(0,5)!=="data:")return!1;var i=r.slice(5);if(i!==""&&!RBe.test(i))return!1;for(var o=0;o<n.length;o++)if(!(o===n.length-1&&n[o].toLowerCase()==="base64")&&!WBe.test(n[o]))return!1;for(var s=0;s<t.length;s++)if(!NBe.test(t[s]))return!1;return!0}lZ.exports=ed.default;lZ.exports.default=ed.default});var pU=d((td,dZ)=>{"use strict";Object.defineProperty(td,"__esModule",{value:!0});td.default=wBe;var _Be=EBe(E());function EBe(e){return e&&e.__esModule?e:{default:e}}var HBe=/(?:^magnet:\?|[^?&]&)xt(?:\.1)?=urn:(?:(?:aich|bitprint|btih|ed2k|ed2khash|kzhash|md5|sha1|tree:tiger):[a-z0-9]{32}(?:[a-z0-9]{8})?|btmh:1220[a-z0-9]{64})(?:$|&)/i;function wBe(e){return(0,_Be.default)(e),e.indexOf("magnet:?")!==0?!1:HBe.test(e)}dZ.exports=td.default;dZ.exports.default=td.default});var fZ=d((nd,gZ)=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});nd.default=TBe;var YBe=FBe(E());function FBe(e){return e&&e.__esModule?e:{default:e}}function TBe(e,t){if((0,YBe.default)(e),t){var n=new RegExp("[".concat(t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"]+$"),"g");return e.replace(n,"")}for(var r=e.length-1;/\s/.test(e.charAt(r));)r-=1;return e.slice(0,r+1)}gZ.exports=nd.default;gZ.exports.default=nd.default});var pZ=d((rd,IZ)=>{"use strict";Object.defineProperty(rd,"__esModule",{value:!0});rd.default=KBe;var XBe=kBe(E());function kBe(e){return e&&e.__esModule?e:{default:e}}function KBe(e,t){(0,XBe.default)(e);var n=t?new RegExp("^[".concat(t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"]+"),"g"):/^\s+/g;return e.replace(n,"")}IZ.exports=rd.default;IZ.exports.default=rd.default});var hZ=d((id,mZ)=>{"use strict";Object.defineProperty(id,"__esModule",{value:!0});id.default=UBe;var xBe=mU(fZ()),LBe=mU(pZ());function mU(e){return e&&e.__esModule?e:{default:e}}function UBe(e,t){return(0,xBe.default)((0,LBe.default)(e,t),t)}mZ.exports=id.default;mZ.exports.default=id.default});var yU=d((od,bZ)=>{"use strict";Object.defineProperty(od,"__esModule",{value:!0});od.default=QBe;var JBe=CZ(hZ()),OBe=CZ(YB()),MBe=CZ(E());function CZ(e){return e&&e.__esModule?e:{default:e}}function CU(e,t){return zBe(e)||qBe(e,t)||bU(e,t)||DBe()}function DBe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
64
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qBe(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,i,o,s,a=[],c=!0,u=!1;try{if(o=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(a.push(r.value),a.length!==t);c=!0);}catch(l){u=!0,i=l}finally{try{if(!c&&n.return!=null&&(s=n.return(),Object(s)!==s))return}finally{if(u)throw i}}return a}}function zBe(e){if(Array.isArray(e))return e}function PBe(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=bU(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
65
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o,s=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return s=u.done,u},e:function(u){a=!0,o=u},f:function(){try{s||n.return==null||n.return()}finally{if(a)throw o}}}}function bU(e,t){if(e){if(typeof e=="string")return hU(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?hU(e,t):void 0}}function hU(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function jBe(e){var t=new Set(["subject","body","cc","bcc"]),n={cc:"",bcc:""},r=!1,i=e.split("&");if(i.length>4)return!1;var o=PBe(i),s;try{for(o.s();!(s=o.n()).done;){var a=s.value,c=a.split("="),u=CU(c,2),l=u[0],g=u[1];if(l&&!t.has(l)){r=!0;break}g&&(l==="cc"||l==="bcc")&&(n[l]=g),l&&t.delete(l)}}catch(f){o.e(f)}finally{o.f()}return r?!1:n}function QBe(e,t){if((0,MBe.default)(e),e.indexOf("mailto:")!==0)return!1;var n=e.replace("mailto:","").split("?"),r=CU(n,2),i=r[0],o=r[1],s=o===void 0?"":o;if(!i&&!s)return!0;var a=jBe(s);return a?"".concat(i,",").concat(a.cc,",").concat(a.bcc).split(",").every(function(c){return c=(0,JBe.default)(c," "),c?(0,OBe.default)(c,t):!0}):!1}bZ.exports=od.default;bZ.exports.default=od.default});var AU=d((sd,yZ)=>{"use strict";Object.defineProperty(sd,"__esModule",{value:!0});sd.default=iGe;var $Be=eGe(E());function eGe(e){return e&&e.__esModule?e:{default:e}}var tGe=/^(application|audio|font|image|message|model|multipart|text|video)\/[a-zA-Z0-9\.\-\+_]{1,100}$/i,nGe=/^text\/[a-zA-Z0-9\.\-\+]{1,100};\s?charset=("[a-zA-Z0-9\.\-\+\s]{0,70}"|[a-zA-Z0-9\.\-\+]{0,70})(\s?\([a-zA-Z0-9\.\-\+\s]{1,20}\))?$/i,rGe=/^multipart\/[a-zA-Z0-9\.\-\+]{1,100}(;\s?(boundary|charset)=("[a-zA-Z0-9\.\-\+\s]{0,70}"|[a-zA-Z0-9\.\-\+]{0,70})(\s?\([a-zA-Z0-9\.\-\+\s]{1,20}\))?){0,2}$/i;function iGe(e){return(0,$Be.default)(e),tGe.test(e)||nGe.test(e)||rGe.test(e)}yZ.exports=sd.default;yZ.exports.default=sd.default});var GU=d((ad,AZ)=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});ad.default=gGe;var oGe=BU(E()),sGe=BU(lt());function BU(e){return e&&e.__esModule?e:{default:e}}var aGe=/^\(?[+-]?(90(\.0+)?|[1-8]?\d(\.\d+)?)$/,cGe=/^\s?[+-]?(180(\.0+)?|1[0-7]\d(\.\d+)?|\d{1,2}(\.\d+)?)\)?$/,uGe=/^(([1-8]?\d)\D+([1-5]?\d|60)\D+([1-5]?\d|60)(\.\d+)?|90\D+0\D+0)\D+[NSns]?$/i,lGe=/^\s*([1-7]?\d{1,2}\D+([1-5]?\d|60)\D+([1-5]?\d|60)(\.\d+)?|180\D+0\D+0)\D+[EWew]?$/i,dGe={checkDMS:!1};function gGe(e,t){if((0,oGe.default)(e),t=(0,sGe.default)(t,dGe),!e.includes(","))return!1;var n=e.split(",");return n[0].startsWith("(")&&!n[1].endsWith(")")||n[1].endsWith(")")&&!n[0].startsWith("(")?!1:t.checkDMS?uGe.test(n[0])&&lGe.test(n[1]):aGe.test(n[0])&&cGe.test(n[1])}AZ.exports=ad.default;AZ.exports.default=ad.default});var vU=d(cd=>{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});cd.default=pGe;cd.locales=void 0;var fGe=IGe(E());function IGe(e){return e&&e.__esModule?e:{default:e}}var ZU=/^\d{3}$/,nn=/^\d{4}$/,Zt=/^\d{5}$/,BZ=/^\d{6}$/,qs={AD:/^AD\d{3}$/,AT:nn,AU:nn,AZ:/^AZ\d{4}$/,BA:/^([7-8]\d{4}$)/,BE:nn,BG:nn,BR:/^\d{5}-?\d{3}$/,BY:/^2[1-4]\d{4}$/,CA:/^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z][\s\-]?\d[ABCEGHJ-NPRSTV-Z]\d$/i,CH:nn,CN:/^(0[1-7]|1[012356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[1-5]|8[1345]|9[09])\d{4}$/,CO:/^(05|08|11|13|15|17|18|19|20|23|25|27|41|44|47|50|52|54|63|66|68|70|73|76|81|85|86|88|91|94|95|97|99)(\d{4})$/,CZ:/^\d{3}\s?\d{2}$/,DE:Zt,DK:nn,DO:Zt,DZ:Zt,EE:Zt,ES:/^(5[0-2]{1}|[0-4]{1}\d{1})\d{3}$/,FI:Zt,FR:/^\d{2}\s?\d{3}$/,GB:/^(gir\s?0aa|[a-z]{1,2}\d[\da-z]?\s?(\d[a-z]{2})?)$/i,GR:/^\d{3}\s?\d{2}$/,HR:/^([1-5]\d{4}$)/,HT:/^HT\d{4}$/,HU:nn,ID:Zt,IE:/^(?!.*(?:o))[A-Za-z]\d[\dw]\s\w{4}$/i,IL:/^(\d{5}|\d{7})$/,IN:/^((?!10|29|35|54|55|65|66|86|87|88|89)[1-9][0-9]{5})$/,IR:/^(?!(\d)\1{3})[13-9]{4}[1346-9][013-9]{5}$/,IS:ZU,IT:Zt,JP:/^\d{3}\-\d{4}$/,KE:Zt,KR:/^(\d{5}|\d{6})$/,LI:/^(948[5-9]|949[0-7])$/,LT:/^LT\-\d{5}$/,LU:nn,LV:/^LV\-\d{4}$/,LK:Zt,MG:ZU,MX:Zt,MT:/^[A-Za-z]{3}\s{0,1}\d{4}$/,MY:Zt,NL:/^[1-9]\d{3}\s?(?!sa|sd|ss)[a-z]{2}$/i,NO:nn,NP:/^(10|21|22|32|33|34|44|45|56|57)\d{3}$|^(977)$/i,NZ:nn,PL:/^\d{2}\-\d{3}$/,PR:/^00[679]\d{2}([ -]\d{4})?$/,PT:/^\d{4}\-\d{3}?$/,RO:BZ,RU:BZ,SA:Zt,SE:/^[1-9]\d{2}\s?\d{2}$/,SG:BZ,SI:nn,SK:/^\d{3}\s?\d{2}$/,TH:Zt,TN:nn,TW:/^\d{3}(\d{2})?$/,UA:Zt,US:/^\d{5}(-\d{4})?$/,ZA:nn,ZM:Zt},BYe=cd.locales=Object.keys(qs);function pGe(e,t){if((0,fGe.default)(e),t in qs)return qs[t].test(e);if(t==="any"){for(var n in qs)if(qs.hasOwnProperty(n)){var r=qs[n];if(r.test(e))return!0}return!1}throw new Error("Invalid locale '".concat(t,"'"))}});var SU=d((ud,GZ)=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});ud.default=CGe;var mGe=hGe(E());function hGe(e){return e&&e.__esModule?e:{default:e}}function CGe(e){return(0,mGe.default)(e),e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/\//g,"/").replace(/\\/g,"\").replace(/`/g,"`")}GZ.exports=ud.default;GZ.exports.default=ud.default});var RU=d((ld,ZZ)=>{"use strict";Object.defineProperty(ld,"__esModule",{value:!0});ld.default=AGe;var bGe=yGe(E());function yGe(e){return e&&e.__esModule?e:{default:e}}function AGe(e){return(0,bGe.default)(e),e.replace(/"/g,'"').replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(///g,"/").replace(/\/g,"\\").replace(/`/g,"`").replace(/&/g,"&")}ZZ.exports=ld.default;ZZ.exports.default=ld.default});var SZ=d((dd,vZ)=>{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});dd.default=ZGe;var BGe=GGe(E());function GGe(e){return e&&e.__esModule?e:{default:e}}function ZGe(e,t){return(0,BGe.default)(e),e.replace(new RegExp("[".concat(t,"]+"),"g"),"")}vZ.exports=dd.default;vZ.exports.default=dd.default});var NU=d((gd,RZ)=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});gd.default=RGe;var vGe=WU(E()),SGe=WU(SZ());function WU(e){return e&&e.__esModule?e:{default:e}}function RGe(e,t){(0,vGe.default)(e);var n=t?"\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F":"\\x00-\\x1F\\x7F";return(0,SGe.default)(e,n)}RZ.exports=gd.default;RZ.exports.default=gd.default});var VU=d((fd,WZ)=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});fd.default=VGe;var WGe=NGe(E());function NGe(e){return e&&e.__esModule?e:{default:e}}function VGe(e,t){return(0,WGe.default)(e),e.replace(new RegExp("[^".concat(t,"]+"),"g"),"")}WZ.exports=fd.default;WZ.exports.default=fd.default});var _U=d((Id,NZ)=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});Id.default=HGe;var _Ge=EGe(E());function EGe(e){return e&&e.__esModule?e:{default:e}}function HGe(e,t){(0,_Ge.default)(e);for(var n=e.length-1;n>=0;n--)if(t.indexOf(e[n])===-1)return!1;return!0}NZ.exports=Id.default;NZ.exports.default=Id.default});var EU=d((pd,VZ)=>{"use strict";Object.defineProperty(pd,"__esModule",{value:!0});pd.default=LGe;var wGe=YGe(lt());function YGe(e){return e&&e.__esModule?e:{default:e}}var FGe={all_lowercase:!0,gmail_lowercase:!0,gmail_remove_dots:!0,gmail_remove_subaddress:!0,gmail_convert_googlemaildotcom:!0,outlookdotcom_lowercase:!0,outlookdotcom_remove_subaddress:!0,yahoo_lowercase:!0,yahoo_remove_subaddress:!0,yandex_lowercase:!0,yandex_convert_yandexru:!0,icloud_lowercase:!0,icloud_remove_subaddress:!0},TGe=["icloud.com","me.com"],XGe=["hotmail.at","hotmail.be","hotmail.ca","hotmail.cl","hotmail.co.il","hotmail.co.nz","hotmail.co.th","hotmail.co.uk","hotmail.com","hotmail.com.ar","hotmail.com.au","hotmail.com.br","hotmail.com.gr","hotmail.com.mx","hotmail.com.pe","hotmail.com.tr","hotmail.com.vn","hotmail.cz","hotmail.de","hotmail.dk","hotmail.es","hotmail.fr","hotmail.hu","hotmail.id","hotmail.ie","hotmail.in","hotmail.it","hotmail.jp","hotmail.kr","hotmail.lv","hotmail.my","hotmail.ph","hotmail.pt","hotmail.sa","hotmail.sg","hotmail.sk","live.be","live.co.uk","live.com","live.com.ar","live.com.mx","live.de","live.es","live.eu","live.fr","live.it","live.nl","msn.com","outlook.at","outlook.be","outlook.cl","outlook.co.il","outlook.co.nz","outlook.co.th","outlook.com","outlook.com.ar","outlook.com.au","outlook.com.br","outlook.com.gr","outlook.com.pe","outlook.com.tr","outlook.com.vn","outlook.cz","outlook.de","outlook.dk","outlook.es","outlook.fr","outlook.hu","outlook.id","outlook.ie","outlook.in","outlook.it","outlook.jp","outlook.kr","outlook.lv","outlook.my","outlook.ph","outlook.pt","outlook.sa","outlook.sg","outlook.sk","passport.com"],kGe=["rocketmail.com","yahoo.ca","yahoo.co.uk","yahoo.com","yahoo.de","yahoo.fr","yahoo.in","yahoo.it","ymail.com"],KGe=["yandex.ru","yandex.ua","yandex.kz","yandex.com","yandex.by","ya.ru"];function xGe(e){return e.length>1?e:""}function LGe(e,t){t=(0,wGe.default)(t,FGe);var n=e.split("@"),r=n.pop(),i=n.join("@"),o=[i,r];if(o[1]=o[1].toLowerCase(),o[1]==="gmail.com"||o[1]==="googlemail.com"){if(t.gmail_remove_subaddress&&(o[0]=o[0].split("+")[0]),t.gmail_remove_dots&&(o[0]=o[0].replace(/\.+/g,xGe)),!o[0].length)return!1;(t.all_lowercase||t.gmail_lowercase)&&(o[0]=o[0].toLowerCase()),o[1]=t.gmail_convert_googlemaildotcom?"gmail.com":o[1]}else if(TGe.indexOf(o[1])>=0){if(t.icloud_remove_subaddress&&(o[0]=o[0].split("+")[0]),!o[0].length)return!1;(t.all_lowercase||t.icloud_lowercase)&&(o[0]=o[0].toLowerCase())}else if(XGe.indexOf(o[1])>=0){if(t.outlookdotcom_remove_subaddress&&(o[0]=o[0].split("+")[0]),!o[0].length)return!1;(t.all_lowercase||t.outlookdotcom_lowercase)&&(o[0]=o[0].toLowerCase())}else if(kGe.indexOf(o[1])>=0){if(t.yahoo_remove_subaddress){var s=o[0].split("-");o[0]=s.length>1?s.slice(0,-1).join("-"):s[0]}if(!o[0].length)return!1;(t.all_lowercase||t.yahoo_lowercase)&&(o[0]=o[0].toLowerCase())}else KGe.indexOf(o[1])>=0?((t.all_lowercase||t.yandex_lowercase)&&(o[0]=o[0].toLowerCase()),o[1]=t.yandex_convert_yandexru?"yandex.ru":o[1]):t.all_lowercase&&(o[0]=o[0].toLowerCase());return o.join("@")}VZ.exports=pd.default;VZ.exports.default=pd.default});var HU=d((md,_Z)=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});md.default=MGe;var UGe=JGe(E());function JGe(e){return e&&e.__esModule?e:{default:e}}var OGe=/^[^\s-_](?!.*?[-_]{2,})[a-z0-9-\\][^\s]*[^-_\s]$/;function MGe(e){return(0,UGe.default)(e),OGe.test(e)}_Z.exports=md.default;_Z.exports.default=md.default});var wU=d((hd,EZ)=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});hd.default=zGe;var DGe=qGe(E());function qGe(e){return e&&e.__esModule?e:{default:e}}var Up={"cs-CZ":function(t){return/^(([ABCDEFHIJKLMNPRSTUVXYZ]|[0-9])-?){5,8}$/.test(t)},"de-DE":function(t){return/^((A|AA|AB|AC|AE|AH|AK|AM|AN|AÖ|AP|AS|AT|AU|AW|AZ|B|BA|BB|BC|BE|BF|BH|BI|BK|BL|BM|BN|BO|BÖ|BS|BT|BZ|C|CA|CB|CE|CO|CR|CW|D|DA|DD|DE|DH|DI|DL|DM|DN|DO|DU|DW|DZ|E|EA|EB|ED|EE|EF|EG|EH|EI|EL|EM|EN|ER|ES|EU|EW|F|FB|FD|FF|FG|FI|FL|FN|FO|FR|FS|FT|FÜ|FW|FZ|G|GA|GC|GD|GE|GF|GG|GI|GK|GL|GM|GN|GÖ|GP|GR|GS|GT|GÜ|GV|GW|GZ|H|HA|HB|HC|HD|HE|HF|HG|HH|HI|HK|HL|HM|HN|HO|HP|HR|HS|HU|HV|HX|HY|HZ|IK|IL|IN|IZ|J|JE|JL|K|KA|KB|KC|KE|KF|KG|KH|KI|KK|KL|KM|KN|KO|KR|KS|KT|KU|KW|KY|L|LA|LB|LC|LD|LF|LG|LH|LI|LL|LM|LN|LÖ|LP|LR|LU|M|MA|MB|MC|MD|ME|MG|MH|MI|MK|ML|MM|MN|MO|MQ|MR|MS|MÜ|MW|MY|MZ|N|NB|ND|NE|NF|NH|NI|NK|NM|NÖ|NP|NR|NT|NU|NW|NY|NZ|OA|OB|OC|OD|OE|OF|OG|OH|OK|OL|OP|OS|OZ|P|PA|PB|PE|PF|PI|PL|PM|PN|PR|PS|PW|PZ|R|RA|RC|RD|RE|RG|RH|RI|RL|RM|RN|RO|RP|RS|RT|RU|RV|RW|RZ|S|SB|SC|SE|SG|SI|SK|SL|SM|SN|SO|SP|SR|ST|SU|SW|SY|SZ|TE|TF|TG|TO|TP|TR|TS|TT|TÜ|ÜB|UE|UH|UL|UM|UN|V|VB|VG|VK|VR|VS|W|WA|WB|WE|WF|WI|WK|WL|WM|WN|WO|WR|WS|WT|WÜ|WW|WZ|Z|ZE|ZI|ZP|ZR|ZW|ZZ)[- ]?[A-Z]{1,2}[- ]?\d{1,4}|(ABG|ABI|AIB|AIC|ALF|ALZ|ANA|ANG|ANK|APD|ARN|ART|ASL|ASZ|AUR|AZE|BAD|BAR|BBG|BCH|BED|BER|BGD|BGL|BID|BIN|BIR|BIT|BIW|BKS|BLB|BLK|BNA|BOG|BOH|BOR|BOT|BRA|BRB|BRG|BRK|BRL|BRV|BSB|BSK|BTF|BÜD|BUL|BÜR|BÜS|BÜZ|CAS|CHA|CLP|CLZ|COC|COE|CUX|DAH|DAN|DAU|DBR|DEG|DEL|DGF|DIL|DIN|DIZ|DKB|DLG|DON|DUD|DÜW|EBE|EBN|EBS|ECK|EIC|EIL|EIN|EIS|EMD|EMS|ERB|ERH|ERK|ERZ|ESB|ESW|FDB|FDS|FEU|FFB|FKB|FLÖ|FOR|FRG|FRI|FRW|FTL|FÜS|GAN|GAP|GDB|GEL|GEO|GER|GHA|GHC|GLA|GMN|GNT|GOA|GOH|GRA|GRH|GRI|GRM|GRZ|GTH|GUB|GUN|GVM|HAB|HAL|HAM|HAS|HBN|HBS|HCH|HDH|HDL|HEB|HEF|HEI|HER|HET|HGN|HGW|HHM|HIG|HIP|HMÜ|HOG|HOH|HOL|HOM|HOR|HÖS|HOT|HRO|HSK|HST|HVL|HWI|IGB|ILL|JÜL|KEH|KEL|KEM|KIB|KLE|KLZ|KÖN|KÖT|KÖZ|KRU|KÜN|KUS|KYF|LAN|LAU|LBS|LBZ|LDK|LDS|LEO|LER|LEV|LIB|LIF|LIP|LÖB|LOS|LRO|LSZ|LÜN|LUP|LWL|MAB|MAI|MAK|MAL|MED|MEG|MEI|MEK|MEL|MER|MET|MGH|MGN|MHL|MIL|MKK|MOD|MOL|MON|MOS|MSE|MSH|MSP|MST|MTK|MTL|MÜB|MÜR|MYK|MZG|NAB|NAI|NAU|NDH|NEA|NEB|NEC|NEN|NES|NEW|NMB|NMS|NOH|NOL|NOM|NOR|NVP|NWM|OAL|OBB|OBG|OCH|OHA|ÖHR|OHV|OHZ|OPR|OSL|OVI|OVL|OVP|PAF|PAN|PAR|PCH|PEG|PIR|PLÖ|PRÜ|QFT|QLB|RDG|REG|REH|REI|RID|RIE|ROD|ROF|ROK|ROL|ROS|ROT|ROW|RSL|RÜD|RÜG|SAB|SAD|SAN|SAW|SBG|SBK|SCZ|SDH|SDL|SDT|SEB|SEE|SEF|SEL|SFB|SFT|SGH|SHA|SHG|SHK|SHL|SIG|SIM|SLE|SLF|SLK|SLN|SLS|SLÜ|SLZ|SMÜ|SOB|SOG|SOK|SÖM|SON|SPB|SPN|SRB|SRO|STA|STB|STD|STE|STL|SUL|SÜW|SWA|SZB|TBB|TDO|TET|TIR|TÖL|TUT|UEM|UER|UFF|USI|VAI|VEC|VER|VIB|VIE|VIT|VOH|WAF|WAK|WAN|WAR|WAT|WBS|WDA|WEL|WEN|WER|WES|WHV|WIL|WIS|WIT|WIZ|WLG|WMS|WND|WOB|WOH|WOL|WOR|WOS|WRN|WSF|WST|WSW|WTL|WTM|WUG|WÜM|WUN|WUR|WZL|ZEL|ZIG)[- ]?(([A-Z][- ]?\d{1,4})|([A-Z]{2}[- ]?\d{1,3})))[- ]?(E|H)?$/.test(t)},"de-LI":function(t){return/^FL[- ]?\d{1,5}[UZ]?$/.test(t)},"en-IN":function(t){return/^[A-Z]{2}[ -]?[0-9]{1,2}(?:[ -]?[A-Z])(?:[ -]?[A-Z]*)?[ -]?[0-9]{4}$/.test(t)},"en-SG":function(t){return/^[A-Z]{3}[ -]?[\d]{4}[ -]?[A-Z]{1}$/.test(t)},"es-AR":function(t){return/^(([A-Z]{2} ?[0-9]{3} ?[A-Z]{2})|([A-Z]{3} ?[0-9]{3}))$/.test(t)},"fi-FI":function(t){return/^(?=.{4,7})(([A-Z]{1,3}|[0-9]{1,3})[\s-]?([A-Z]{1,3}|[0-9]{1,5}))$/.test(t)},"hu-HU":function(t){return/^((((?!AAA)(([A-NPRSTVZWXY]{1})([A-PR-Z]{1})([A-HJ-NPR-Z]))|(A[ABC]I)|A[ABC]O|A[A-W]Q|BPI|BPO|UCO|UDO|XAO)-(?!000)\d{3})|(M\d{6})|((CK|DT|CD|HC|H[ABEFIKLMNPRSTVX]|MA|OT|R[A-Z]) \d{2}-\d{2})|(CD \d{3}-\d{3})|(C-(C|X) \d{4})|(X-(A|B|C) \d{4})|(([EPVZ]-\d{5}))|(S A[A-Z]{2} \d{2})|(SP \d{2}-\d{2}))$/.test(t)},"pt-BR":function(t){return/^[A-Z]{3}[ -]?[0-9][A-Z][0-9]{2}|[A-Z]{3}[ -]?[0-9]{4}$/.test(t)},"pt-PT":function(t){return/^([A-Z]{2}|[0-9]{2})[ -·]?([A-Z]{2}|[0-9]{2})[ -·]?([A-Z]{2}|[0-9]{2})$/.test(t)},"sq-AL":function(t){return/^[A-Z]{2}[- ]?((\d{3}[- ]?(([A-Z]{2})|T))|(R[- ]?\d{3}))$/.test(t)},"sv-SE":function(t){return/^[A-HJ-PR-UW-Z]{3} ?[\d]{2}[A-HJ-PR-UW-Z1-9]$|(^[A-ZÅÄÖ ]{2,7}$)/.test(t.trim())},"en-PK":function(t){return/(^[A-Z]{2}((\s|-){0,1})[0-9]{3,4}((\s|-)[0-9]{2}){0,1}$)|(^[A-Z]{3}((\s|-){0,1})[0-9]{3,4}((\s|-)[0-9]{2}){0,1}$)|(^[A-Z]{4}((\s|-){0,1})[0-9]{3,4}((\s|-)[0-9]{2}){0,1}$)|(^[A-Z]((\s|-){0,1})[0-9]{4}((\s|-)[0-9]{2}){0,1}$)/.test(t.trim())}};function zGe(e,t){if((0,DGe.default)(e),t in Up)return Up[t](e);if(t==="any"){for(var n in Up){var r=Up[n];if(r(e))return!0}return!1}throw new Error("Invalid locale '".concat(t,"'"))}EZ.exports=hd.default;EZ.exports.default=hd.default});var FU=d((Cd,HZ)=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});Cd.default=sZe;var PGe=YU(lt()),jGe=YU(E());function YU(e){return e&&e.__esModule?e:{default:e}}var QGe=/^[A-Z]$/,$Ge=/^[a-z]$/,eZe=/^[0-9]$/,tZe=/^[-#!$@£%^&*()_+|~=`{}\[\]:";'<>?,.\/\\ ]$/,nZe={minLength:8,minLowercase:1,minUppercase:1,minNumbers:1,minSymbols:1,returnScore:!1,pointsPerUnique:1,pointsPerRepeat:.5,pointsForContainingLower:10,pointsForContainingUpper:10,pointsForContainingNumber:10,pointsForContainingSymbol:10};function rZe(e){var t={};return Array.from(e).forEach(function(n){var r=t[n];r?t[n]+=1:t[n]=1}),t}function iZe(e){var t=rZe(e),n={length:e.length,uniqueChars:Object.keys(t).length,uppercaseCount:0,lowercaseCount:0,numberCount:0,symbolCount:0};return Object.keys(t).forEach(function(r){QGe.test(r)?n.uppercaseCount+=t[r]:$Ge.test(r)?n.lowercaseCount+=t[r]:eZe.test(r)?n.numberCount+=t[r]:tZe.test(r)&&(n.symbolCount+=t[r])}),n}function oZe(e,t){var n=0;return n+=e.uniqueChars*t.pointsPerUnique,n+=(e.length-e.uniqueChars)*t.pointsPerRepeat,e.lowercaseCount>0&&(n+=t.pointsForContainingLower),e.uppercaseCount>0&&(n+=t.pointsForContainingUpper),e.numberCount>0&&(n+=t.pointsForContainingNumber),e.symbolCount>0&&(n+=t.pointsForContainingSymbol),n}function sZe(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;(0,jGe.default)(e);var n=iZe(e);return t=(0,PGe.default)(t||{},nZe),t.returnScore?oZe(n,t):n.length>=t.minLength&&n.lowercaseCount>=t.minLowercase&&n.uppercaseCount>=t.minUppercase&&n.numberCount>=t.minNumbers&&n.symbolCount>=t.minSymbols}HZ.exports=Cd.default;HZ.exports.default=Cd.default});var KU=d(bd=>{"use strict";function wZ(e){"@babel/helpers - typeof";return wZ=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},wZ(e)}Object.defineProperty(bd,"__esModule",{value:!0});bd.default=fZe;bd.vatMatchers=void 0;var TU=uZe(E()),aZe=cZe(zG());function kU(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,n=new WeakMap;return(kU=function(i){return i?n:t})(e)}function cZe(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||wZ(e)!="object"&&typeof e!="function")return{default:e};var n=kU(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(o!=="default"&&{}.hasOwnProperty.call(e,o)){var s=i?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,n&&n.set(e,r),r}function uZe(e){return e&&e.__esModule?e:{default:e}}var lZe=function(t){var n=t.match(/^(AU)?(\d{11})$/);if(!n)return!1;var r=[10,1,3,5,7,9,11,13,15,17,19];t=t.replace(/^AU/,"");for(var i=(parseInt(t.slice(0,1),10)-1).toString()+t.slice(1),o=0,s=0;s<11;s++)o+=r[s]*i.charAt(s);return o!==0&&o%89===0},dZe=function(t){var n=function(i){var o=i.pop(),s=[5,4,3,2,7,6,5,4],a=(11-i.reduce(function(c,u,l){return c+u*s[l]},0)%11)%11;return o===a};return/^(CHE[- ]?)?(\d{9}|(\d{3}\.\d{3}\.\d{3})|(\d{3} \d{3} \d{3})) ?(TVA|MWST|IVA)?$/.test(t)&&n(t.match(/\d/g).map(function(r){return+r}))},gZe=function(t){var n=t.match(/^(PT)?(\d{9})$/);if(!n)return!1;var r=n[2],i=11-aZe.reverseMultiplyAndSum(r.split("").slice(0,8).map(function(o){return parseInt(o,10)}),9)%11;return i>9?parseInt(r[8],10)===0:i===parseInt(r[8],10)},XU=bd.vatMatchers={AT:function(t){return/^(AT)?U\d{8}$/.test(t)},BE:function(t){return/^(BE)?\d{10}$/.test(t)},BG:function(t){return/^(BG)?\d{9,10}$/.test(t)},HR:function(t){return/^(HR)?\d{11}$/.test(t)},CY:function(t){return/^(CY)?\w{9}$/.test(t)},CZ:function(t){return/^(CZ)?\d{8,10}$/.test(t)},DK:function(t){return/^(DK)?\d{8}$/.test(t)},EE:function(t){return/^(EE)?\d{9}$/.test(t)},FI:function(t){return/^(FI)?\d{8}$/.test(t)},FR:function(t){return/^(FR)?\w{2}\d{9}$/.test(t)},DE:function(t){return/^(DE)?\d{9}$/.test(t)},EL:function(t){return/^(EL)?\d{9}$/.test(t)},HU:function(t){return/^(HU)?\d{8}$/.test(t)},IE:function(t){return/^(IE)?\d{7}\w{1}(W)?$/.test(t)},IT:function(t){return/^(IT)?\d{11}$/.test(t)},LV:function(t){return/^(LV)?\d{11}$/.test(t)},LT:function(t){return/^(LT)?\d{9,12}$/.test(t)},LU:function(t){return/^(LU)?\d{8}$/.test(t)},MT:function(t){return/^(MT)?\d{8}$/.test(t)},NL:function(t){return/^(NL)?\d{9}B\d{2}$/.test(t)},PL:function(t){return/^(PL)?(\d{10}|(\d{3}-\d{3}-\d{2}-\d{2})|(\d{3}-\d{2}-\d{2}-\d{3}))$/.test(t)},PT:gZe,RO:function(t){return/^(RO)?\d{2,10}$/.test(t)},SK:function(t){return/^(SK)?\d{10}$/.test(t)},SI:function(t){return/^(SI)?\d{8}$/.test(t)},ES:function(t){return/^(ES)?\w\d{7}[A-Z]$/.test(t)},SE:function(t){return/^(SE)?\d{12}$/.test(t)},AL:function(t){return/^(AL)?\w{9}[A-Z]$/.test(t)},MK:function(t){return/^(MK)?\d{13}$/.test(t)},AU:lZe,BY:function(t){return/^(УНП )?\d{9}$/.test(t)},CA:function(t){return/^(CA)?\d{9}$/.test(t)},IS:function(t){return/^(IS)?\d{5,6}$/.test(t)},IN:function(t){return/^(IN)?\d{15}$/.test(t)},ID:function(t){return/^(ID)?(\d{15}|(\d{2}.\d{3}.\d{3}.\d{1}-\d{3}.\d{3}))$/.test(t)},IL:function(t){return/^(IL)?\d{9}$/.test(t)},KZ:function(t){return/^(KZ)?\d{12}$/.test(t)},NZ:function(t){return/^(NZ)?\d{9}$/.test(t)},NG:function(t){return/^(NG)?(\d{12}|(\d{8}-\d{4}))$/.test(t)},NO:function(t){return/^(NO)?\d{9}MVA$/.test(t)},PH:function(t){return/^(PH)?(\d{12}|\d{3} \d{3} \d{3} \d{3})$/.test(t)},RU:function(t){return/^(RU)?(\d{10}|\d{12})$/.test(t)},SM:function(t){return/^(SM)?\d{5}$/.test(t)},SA:function(t){return/^(SA)?\d{15}$/.test(t)},RS:function(t){return/^(RS)?\d{9}$/.test(t)},CH:dZe,TR:function(t){return/^(TR)?\d{10}$/.test(t)},UA:function(t){return/^(UA)?\d{12}$/.test(t)},GB:function(t){return/^GB((\d{3} \d{4} ([0-8][0-9]|9[0-6]))|(\d{9} \d{3})|(((GD[0-4])|(HA[5-9]))[0-9]{2}))$/.test(t)},UZ:function(t){return/^(UZ)?\d{9}$/.test(t)},AR:function(t){return/^(AR)?\d{11}$/.test(t)},BO:function(t){return/^(BO)?\d{7}$/.test(t)},BR:function(t){return/^(BR)?((\d{2}.\d{3}.\d{3}\/\d{4}-\d{2})|(\d{3}.\d{3}.\d{3}-\d{2}))$/.test(t)},CL:function(t){return/^(CL)?\d{8}-\d{1}$/.test(t)},CO:function(t){return/^(CO)?\d{10}$/.test(t)},CR:function(t){return/^(CR)?\d{9,12}$/.test(t)},EC:function(t){return/^(EC)?\d{13}$/.test(t)},SV:function(t){return/^(SV)?\d{4}-\d{6}-\d{3}-\d{1}$/.test(t)},GT:function(t){return/^(GT)?\d{7}-\d{1}$/.test(t)},HN:function(t){return/^(HN)?$/.test(t)},MX:function(t){return/^(MX)?\w{3,4}\d{6}\w{3}$/.test(t)},NI:function(t){return/^(NI)?\d{3}-\d{6}-\d{4}\w{1}$/.test(t)},PA:function(t){return/^(PA)?$/.test(t)},PY:function(t){return/^(PY)?\d{6,8}-\d{1}$/.test(t)},PE:function(t){return/^(PE)?\d{11}$/.test(t)},DO:function(t){return/^(DO)?(\d{11}|(\d{3}-\d{7}-\d{1})|[1,4,5]{1}\d{8}|([1,4,5]{1})-\d{2}-\d{5}-\d{1})$/.test(t)},UY:function(t){return/^(UY)?\d{12}$/.test(t)},VE:function(t){return/^(VE)?[J,G,V,E]{1}-(\d{9}|(\d{8}-\d{1}))$/.test(t)}};function fZe(e,t){if((0,TU.default)(e),(0,TU.default)(t),t in XU)return XU[t](e);throw new Error("Invalid country code: '".concat(t,"'"))}});var PU=d((zs,FZ)=>{"use strict";function YZ(e){"@babel/helpers - typeof";return YZ=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},YZ(e)}Object.defineProperty(zs,"__esModule",{value:!0});zs.default=void 0;var IZe=H(Wp()),pZe=H(IB()),mZe=H(rx()),hZe=H(ix()),CZe=H(ox()),bZe=H(ax()),yZe=H(cx()),AZe=H(YB()),BZe=H(mx()),GZe=H(bx()),ZZe=H(Eu()),vZe=H(Zx()),SZe=H(Tp()),RZe=H(xB()),WZe=H(Nx()),NZe=H(_x()),VZe=H(Hx()),_Ze=H(wx()),xU=Wo(Yx()),LU=Wo(Fx()),EZe=H(Tx()),UU=Wo(Xx()),HZe=H(Kx()),wZe=H(xx()),YZe=H(Lx()),FZe=H(Ux()),TZe=H(Jx()),XZe=H(nG()),kZe=H(rG()),KZe=H(Ox()),xZe=H(Mx()),LZe=H(zx()),UZe=H(Px()),JZe=H(kp()),JU=Wo(gB()),OZe=H($x()),MZe=H(fG()),DZe=H(eL()),qZe=H(nL()),zZe=H(rL()),PZe=H(sL()),jZe=H(aL()),QZe=H(cL()),OU=Wo(uL()),$Ze=H(dL()),eve=H(gL()),tve=H(fL()),nve=H(mL()),rve=H(CL()),ive=H(yL()),ove=H(AL()),sve=H(NB()),ave=H(BL()),cve=H(ZL()),uve=H(SL()),lve=H(WL()),dve=H(_L()),gve=H(HL()),fve=H(xG()),Ive=H(YL()),pve=H(TL()),mve=H(XL()),hve=H(kL()),Cve=H(KL()),bve=H(xL()),yve=H(ML()),MU=Wo(DL()),Ave=H(qL()),Bve=H(PL()),Gve=H(jL()),DU=$L(),Zve=H(eU()),vve=H(tU()),Sve=H(iU()),Rve=H(sU()),Wve=H(AG()),Nve=H(aU()),Vve=H(cU()),_ve=H(lU()),Eve=H(gU()),Hve=H(fU()),wve=H(SG()),Yve=H(IU()),Fve=H(pU()),Tve=H(yU()),Xve=H(AU()),kve=H(GU()),qU=Wo(vU()),Kve=H(pZ()),xve=H(fZ()),Lve=H(hZ()),Uve=H(SU()),Jve=H(RU()),Ove=H(NU()),Mve=H(VU()),Dve=H(SZ()),qve=H(_U()),zve=H(EU()),Pve=H(HU()),jve=H(wU()),Qve=H(FU()),$ve=H(KU());function zU(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,n=new WeakMap;return(zU=function(i){return i?n:t})(e)}function Wo(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||YZ(e)!="object"&&typeof e!="function")return{default:e};var n=zU(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(o!=="default"&&{}.hasOwnProperty.call(e,o)){var s=i?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,n&&n.set(e,r),r}function H(e){return e&&e.__esModule?e:{default:e}}var eSe="13.15.0",tSe={version:eSe,toDate:IZe.default,toFloat:pZe.default,toInt:mZe.default,toBoolean:hZe.default,equals:CZe.default,contains:bZe.default,matches:yZe.default,isEmail:AZe.default,isURL:BZe.default,isMACAddress:GZe.default,isIP:ZZe.default,isIPRange:vZe.default,isFQDN:SZe.default,isBoolean:NZe.default,isIBAN:OU.default,isBIC:$Ze.default,isAbaRouting:_Ze.default,isAlpha:xU.default,isAlphaLocales:xU.locales,isAlphanumeric:LU.default,isAlphanumericLocales:LU.locales,isNumeric:EZe.default,isPassportNumber:UU.default,passportNumberLocales:UU.locales,isPort:HZe.default,isLowercase:wZe.default,isUppercase:YZe.default,isAscii:TZe.default,isFullWidth:XZe.default,isHalfWidth:kZe.default,isVariableWidth:KZe.default,isMultibyte:xZe.default,isSemVer:LZe.default,isSurrogatePair:UZe.default,isInt:JZe.default,isIMEI:FZe.default,isFloat:JU.default,isFloatLocales:JU.locales,isDecimal:OZe.default,isHexadecimal:MZe.default,isOctal:DZe.default,isDivisibleBy:qZe.default,isHexColor:zZe.default,isRgbColor:PZe.default,isHSL:jZe.default,isISRC:QZe.default,isMD5:eve.default,isHash:tve.default,isJWT:nve.default,isJSON:rve.default,isEmpty:ive.default,isLength:ove.default,isLocale:VZe.default,isByteLength:sve.default,isULID:ave.default,isUUID:cve.default,isMongoId:uve.default,isAfter:lve.default,isBefore:dve.default,isIn:gve.default,isLuhnNumber:fve.default,isCreditCard:Ive.default,isIdentityCard:pve.default,isEAN:mve.default,isISIN:hve.default,isISBN:Cve.default,isISSN:bve.default,isMobilePhone:MU.default,isMobilePhoneLocales:MU.locales,isPostalCode:qU.default,isPostalCodeLocales:qU.locales,isEthereumAddress:Ave.default,isCurrency:Bve.default,isBtcAddress:Gve.default,isISO6346:DU.isISO6346,isFreightContainerID:DU.isFreightContainerID,isISO6391:Zve.default,isISO8601:vve.default,isISO15924:Rve.default,isRFC3339:Sve.default,isISO31661Alpha2:Wve.default,isISO31661Alpha3:Nve.default,isISO31661Numeric:Vve.default,isISO4217:_ve.default,isBase32:Eve.default,isBase58:Hve.default,isBase64:wve.default,isDataURI:Yve.default,isMagnetURI:Fve.default,isMailtoURI:Tve.default,isMimeType:Xve.default,isLatLong:kve.default,ltrim:Kve.default,rtrim:xve.default,trim:Lve.default,escape:Uve.default,unescape:Jve.default,stripLow:Ove.default,whitelist:Mve.default,blacklist:Dve.default,isWhitelisted:qve.default,normalizeEmail:zve.default,toString,isSlug:Pve.default,isStrongPassword:Qve.default,isTaxID:yve.default,isDate:RZe.default,isTime:WZe.default,isLicensePlate:jve.default,isVAT:$ve.default,ibanLocales:OU.locales},vYe=zs.default=tSe;FZ.exports=zs.default;FZ.exports.default=zs.default});var QU={};Ot(QU,{isRegistryModule:()=>TZ});function TZ(e){let t=e.split("/");return!(e.startsWith(".")||t.length<3||t.length>4||e.includes("github.com")||e.includes("bitbucket.org")||t.length===4&&!(0,jU.isFQDN)(t[0]))}var jU,XZ=Ve(()=>{"use strict";jU=M(PU())});var o5=d((SYe,kZ)=>{"use strict";var nSe=/[\p{Lu}]/u,rSe=/[\p{Ll}]/u,$U=/^[\p{Lu}](?![\p{Lu}])/gu,n5=/([\p{Alpha}\p{N}_]|$)/u,r5=/[_.\- ]+/,iSe=new RegExp("^"+r5.source),e5=new RegExp(r5.source+n5.source,"gu"),t5=new RegExp("\\d+"+n5.source,"gu"),oSe=(e,t,n)=>{let r=!1,i=!1,o=!1;for(let s=0;s<e.length;s++){let a=e[s];r&&nSe.test(a)?(e=e.slice(0,s)+"-"+e.slice(s),r=!1,o=i,i=!0,s++):i&&o&&rSe.test(a)?(e=e.slice(0,s-1)+"-"+e.slice(s-1),o=i,i=!1,r=!0):(r=t(a)===a&&n(a)!==a,o=i,i=n(a)===a&&t(a)!==a)}return e},sSe=(e,t)=>($U.lastIndex=0,e.replace($U,n=>t(n))),aSe=(e,t)=>(e5.lastIndex=0,t5.lastIndex=0,e.replace(e5,(n,r)=>t(r)).replace(t5,n=>t(n))),i5=(e,t)=>{if(!(typeof e=="string"||Array.isArray(e)))throw new TypeError("Expected the input to be `string | string[]`");if(t={pascalCase:!1,preserveConsecutiveUppercase:!1,...t},Array.isArray(e)?e=e.map(o=>o.trim()).filter(o=>o.length).join("-"):e=e.trim(),e.length===0)return"";let n=t.locale===!1?o=>o.toLowerCase():o=>o.toLocaleLowerCase(t.locale),r=t.locale===!1?o=>o.toUpperCase():o=>o.toLocaleUpperCase(t.locale);return e.length===1?t.pascalCase?r(e):n(e):(e!==n(e)&&(e=oSe(e,n,r)),e=e.replace(iSe,""),t.preserveConsecutiveUppercase?e=sSe(e,n):e=n(e),t.pascalCase&&(e=r(e.charAt(0))+e.slice(1)),aSe(e,r))};kZ.exports=i5;kZ.exports.default=i5});var a5=d((RYe,s5)=>{"use strict";var cSe=(e,t)=>(e=e.replace(/((?<![\p{Uppercase_Letter}\d])[\p{Uppercase_Letter}\d](?![\p{Uppercase_Letter}\d]))/gu,n=>n.toLowerCase()),e.replace(new RegExp("(\\p{Uppercase_Letter}+)(\\p{Uppercase_Letter}\\p{Lowercase_Letter}+)","gu"),(n,r,i)=>r+t+i.toLowerCase()));s5.exports=(e,{separator:t="_",preserveConsecutiveUppercase:n=!1}={})=>{if(!(typeof e=="string"&&typeof t=="string"))throw new TypeError("The `text` and `separator` arguments should be of type `string`");if(e.length<2)return n?e:e.toLowerCase();let r=`$1${t}$2`,i=e.replace(new RegExp("([\\p{Lowercase_Letter}\\d])(\\p{Uppercase_Letter})","gu"),r);return n?cSe(i,t):i.replace(new RegExp("(\\p{Uppercase_Letter})(\\p{Uppercase_Letter}\\p{Lowercase_Letter}+)","gu"),r).toLowerCase()}});var KZ=d(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.toSnakeCase=yi.toPascalCase=yi.toCamelCase=void 0;var c5=o5(),uSe=a5(),lSe=["KiB","MiB","GiB"];function dSe(...e){return c5(e)}yi.toCamelCase=dSe;function gSe(...e){return c5(e,{pascalCase:!0})}yi.toPascalCase=gSe;var fSe=new RegExp(`(^|[^A-Z])(${lSe.map(pSe).join("|")})($|[^a-z])`,"g");function ISe(e,t="_"){return e=e.replace(fSe,(r,i,o,s)=>i+n(o.toLowerCase())+s),uSe(e,{separator:t});function n(r){return r.slice(0,1).toUpperCase()+r.slice(1).toLowerCase()}}yi.toSnakeCase=ISe;function pSe(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}});var No=d(Ai=>{"use strict";var u5=fe().fromCallback,Lt=D(),mSe=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter(e=>typeof Lt[e]=="function");Object.assign(Ai,Lt);mSe.forEach(e=>{Ai[e]=u5(Lt[e])});Ai.exists=function(e,t){return typeof t=="function"?Lt.exists(e,t):new Promise(n=>Lt.exists(e,n))};Ai.read=function(e,t,n,r,i,o){return typeof o=="function"?Lt.read(e,t,n,r,i,o):new Promise((s,a)=>{Lt.read(e,t,n,r,i,(c,u,l)=>{if(c)return a(c);s({bytesRead:u,buffer:l})})})};Ai.write=function(e,t,...n){return typeof n[n.length-1]=="function"?Lt.write(e,t,...n):new Promise((r,i)=>{Lt.write(e,t,...n,(o,s,a)=>{if(o)return i(o);r({bytesWritten:s,buffer:a})})})};typeof Lt.writev=="function"&&(Ai.writev=function(e,t,...n){return typeof n[n.length-1]=="function"?Lt.writev(e,t,...n):new Promise((r,i)=>{Lt.writev(e,t,...n,(o,s,a)=>{if(o)return i(o);r({bytesWritten:s,buffers:a})})})});typeof Lt.realpath.native=="function"?Ai.realpath.native=u5(Lt.realpath.native):process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?","Warning","fs-extra-WARN0003")});var d5=d((VYe,l5)=>{"use strict";var hSe=require("path");l5.exports.checkPath=function(t){if(process.platform==="win32"&&/[<>:"|?*]/.test(t.replace(hSe.parse(t).root,""))){let r=new Error(`Path contains invalid characters: ${t}`);throw r.code="EINVAL",r}}});var p5=d((_Ye,xZ)=>{"use strict";var g5=No(),{checkPath:f5}=d5(),I5=e=>{let t={mode:511};return typeof e=="number"?e:{...t,...e}.mode};xZ.exports.makeDir=async(e,t)=>(f5(e),g5.mkdir(e,{mode:I5(t),recursive:!0}));xZ.exports.makeDirSync=(e,t)=>(f5(e),g5.mkdirSync(e,{mode:I5(t),recursive:!0}))});var Hn=d((EYe,m5)=>{"use strict";var CSe=fe().fromPromise,{makeDir:bSe,makeDirSync:LZ}=p5(),UZ=CSe(bSe);m5.exports={mkdirs:UZ,mkdirsSync:LZ,mkdirp:UZ,mkdirpSync:LZ,ensureDir:UZ,ensureDirSync:LZ}});var Bi=d((HYe,C5)=>{"use strict";var ySe=fe().fromPromise,h5=No();function ASe(e){return h5.access(e).then(()=>!0).catch(()=>!1)}C5.exports={pathExists:ySe(ASe),pathExistsSync:h5.existsSync}});var JZ=d((wYe,b5)=>{"use strict";var Ps=D();function BSe(e,t,n,r){Ps.open(e,"r+",(i,o)=>{if(i)return r(i);Ps.futimes(o,t,n,s=>{Ps.close(o,a=>{r&&r(s||a)})})})}function GSe(e,t,n){let r=Ps.openSync(e,"r+");return Ps.futimesSync(r,t,n),Ps.closeSync(r)}b5.exports={utimesMillis:BSe,utimesMillisSync:GSe}});var Vo=d((YYe,B5)=>{"use strict";var js=No(),Pe=require("path"),ZSe=require("util");function vSe(e,t,n){let r=n.dereference?i=>js.stat(i,{bigint:!0}):i=>js.lstat(i,{bigint:!0});return Promise.all([r(e),r(t).catch(i=>{if(i.code==="ENOENT")return null;throw i})]).then(([i,o])=>({srcStat:i,destStat:o}))}function SSe(e,t,n){let r,i=n.dereference?s=>js.statSync(s,{bigint:!0}):s=>js.lstatSync(s,{bigint:!0}),o=i(e);try{r=i(t)}catch(s){if(s.code==="ENOENT")return{srcStat:o,destStat:null};throw s}return{srcStat:o,destStat:r}}function RSe(e,t,n,r,i){ZSe.callbackify(vSe)(e,t,r,(o,s)=>{if(o)return i(o);let{srcStat:a,destStat:c}=s;if(c){if(yd(a,c)){let u=Pe.basename(e),l=Pe.basename(t);return n==="move"&&u!==l&&u.toLowerCase()===l.toLowerCase()?i(null,{srcStat:a,destStat:c,isChangingCase:!0}):i(new Error("Source and destination must not be the same."))}if(a.isDirectory()&&!c.isDirectory())return i(new Error(`Cannot overwrite non-directory '${t}' with directory '${e}'.`));if(!a.isDirectory()&&c.isDirectory())return i(new Error(`Cannot overwrite directory '${t}' with non-directory '${e}'.`))}return a.isDirectory()&&OZ(e,t)?i(new Error(Jp(e,t,n))):i(null,{srcStat:a,destStat:c})})}function WSe(e,t,n,r){let{srcStat:i,destStat:o}=SSe(e,t,r);if(o){if(yd(i,o)){let s=Pe.basename(e),a=Pe.basename(t);if(n==="move"&&s!==a&&s.toLowerCase()===a.toLowerCase())return{srcStat:i,destStat:o,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(i.isDirectory()&&!o.isDirectory())throw new Error(`Cannot overwrite non-directory '${t}' with directory '${e}'.`);if(!i.isDirectory()&&o.isDirectory())throw new Error(`Cannot overwrite directory '${t}' with non-directory '${e}'.`)}if(i.isDirectory()&&OZ(e,t))throw new Error(Jp(e,t,n));return{srcStat:i,destStat:o}}function y5(e,t,n,r,i){let o=Pe.resolve(Pe.dirname(e)),s=Pe.resolve(Pe.dirname(n));if(s===o||s===Pe.parse(s).root)return i();js.stat(s,{bigint:!0},(a,c)=>a?a.code==="ENOENT"?i():i(a):yd(t,c)?i(new Error(Jp(e,n,r))):y5(e,t,s,r,i))}function A5(e,t,n,r){let i=Pe.resolve(Pe.dirname(e)),o=Pe.resolve(Pe.dirname(n));if(o===i||o===Pe.parse(o).root)return;let s;try{s=js.statSync(o,{bigint:!0})}catch(a){if(a.code==="ENOENT")return;throw a}if(yd(t,s))throw new Error(Jp(e,n,r));return A5(e,t,o,r)}function yd(e,t){return t.ino&&t.dev&&t.ino===e.ino&&t.dev===e.dev}function OZ(e,t){let n=Pe.resolve(e).split(Pe.sep).filter(i=>i),r=Pe.resolve(t).split(Pe.sep).filter(i=>i);return n.reduce((i,o,s)=>i&&r[s]===o,!0)}function Jp(e,t,n){return`Cannot ${n} '${e}' to a subdirectory of itself, '${t}'.`}B5.exports={checkPaths:RSe,checkPathsSync:WSe,checkParentPaths:y5,checkParentPathsSync:A5,isSrcSubdir:OZ,areIdentical:yd}});var V5=d((FYe,N5)=>{"use strict";var Ut=D(),Ad=require("path"),NSe=Hn().mkdirs,VSe=Bi().pathExists,_Se=JZ().utimesMillis,Bd=Vo();function ESe(e,t,n,r){typeof n=="function"&&!r?(r=n,n={}):typeof n=="function"&&(n={filter:n}),r=r||function(){},n=n||{},n.clobber="clobber"in n?!!n.clobber:!0,n.overwrite="overwrite"in n?!!n.overwrite:n.clobber,n.preserveTimestamps&&process.arch==="ia32"&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
66
|
+
|
|
67
|
+
see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0001"),Bd.checkPaths(e,t,"copy",n,(i,o)=>{if(i)return r(i);let{srcStat:s,destStat:a}=o;Bd.checkParentPaths(e,s,t,"copy",c=>c?r(c):n.filter?v5(G5,a,e,t,n,r):G5(a,e,t,n,r))})}function G5(e,t,n,r,i){let o=Ad.dirname(n);VSe(o,(s,a)=>{if(s)return i(s);if(a)return Op(e,t,n,r,i);NSe(o,c=>c?i(c):Op(e,t,n,r,i))})}function v5(e,t,n,r,i,o){Promise.resolve(i.filter(n,r)).then(s=>s?e(t,n,r,i,o):o(),s=>o(s))}function HSe(e,t,n,r,i){return r.filter?v5(Op,e,t,n,r,i):Op(e,t,n,r,i)}function Op(e,t,n,r,i){(r.dereference?Ut.stat:Ut.lstat)(t,(s,a)=>s?i(s):a.isDirectory()?KSe(a,e,t,n,r,i):a.isFile()||a.isCharacterDevice()||a.isBlockDevice()?wSe(a,e,t,n,r,i):a.isSymbolicLink()?USe(e,t,n,r,i):a.isSocket()?i(new Error(`Cannot copy a socket file: ${t}`)):a.isFIFO()?i(new Error(`Cannot copy a FIFO pipe: ${t}`)):i(new Error(`Unknown file: ${t}`)))}function wSe(e,t,n,r,i,o){return t?YSe(e,n,r,i,o):S5(e,n,r,i,o)}function YSe(e,t,n,r,i){if(r.overwrite)Ut.unlink(n,o=>o?i(o):S5(e,t,n,r,i));else return r.errorOnExist?i(new Error(`'${n}' already exists`)):i()}function S5(e,t,n,r,i){Ut.copyFile(t,n,o=>o?i(o):r.preserveTimestamps?FSe(e.mode,t,n,i):Mp(n,e.mode,i))}function FSe(e,t,n,r){return TSe(e)?XSe(n,e,i=>i?r(i):Z5(e,t,n,r)):Z5(e,t,n,r)}function TSe(e){return(e&128)===0}function XSe(e,t,n){return Mp(e,t|128,n)}function Z5(e,t,n,r){kSe(t,n,i=>i?r(i):Mp(n,e,r))}function Mp(e,t,n){return Ut.chmod(e,t,n)}function kSe(e,t,n){Ut.stat(e,(r,i)=>r?n(r):_Se(t,i.atime,i.mtime,n))}function KSe(e,t,n,r,i,o){return t?R5(n,r,i,o):xSe(e.mode,n,r,i,o)}function xSe(e,t,n,r,i){Ut.mkdir(n,o=>{if(o)return i(o);R5(t,n,r,s=>s?i(s):Mp(n,e,i))})}function R5(e,t,n,r){Ut.readdir(e,(i,o)=>i?r(i):W5(o,e,t,n,r))}function W5(e,t,n,r,i){let o=e.pop();return o?LSe(e,o,t,n,r,i):i()}function LSe(e,t,n,r,i,o){let s=Ad.join(n,t),a=Ad.join(r,t);Bd.checkPaths(s,a,"copy",i,(c,u)=>{if(c)return o(c);let{destStat:l}=u;HSe(l,s,a,i,g=>g?o(g):W5(e,n,r,i,o))})}function USe(e,t,n,r,i){Ut.readlink(t,(o,s)=>{if(o)return i(o);if(r.dereference&&(s=Ad.resolve(process.cwd(),s)),e)Ut.readlink(n,(a,c)=>a?a.code==="EINVAL"||a.code==="UNKNOWN"?Ut.symlink(s,n,i):i(a):(r.dereference&&(c=Ad.resolve(process.cwd(),c)),Bd.isSrcSubdir(s,c)?i(new Error(`Cannot copy '${s}' to a subdirectory of itself, '${c}'.`)):e.isDirectory()&&Bd.isSrcSubdir(c,s)?i(new Error(`Cannot overwrite '${c}' with '${s}'.`)):JSe(s,n,i)));else return Ut.symlink(s,n,i)})}function JSe(e,t,n){Ut.unlink(t,r=>r?n(r):Ut.symlink(e,t,n))}N5.exports=ESe});var Y5=d((TYe,w5)=>{"use strict";var dt=D(),Gd=require("path"),OSe=Hn().mkdirsSync,MSe=JZ().utimesMillisSync,Zd=Vo();function DSe(e,t,n){typeof n=="function"&&(n={filter:n}),n=n||{},n.clobber="clobber"in n?!!n.clobber:!0,n.overwrite="overwrite"in n?!!n.overwrite:n.clobber,n.preserveTimestamps&&process.arch==="ia32"&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
68
|
+
|
|
69
|
+
see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0002");let{srcStat:r,destStat:i}=Zd.checkPathsSync(e,t,"copy",n);return Zd.checkParentPathsSync(e,r,t,"copy"),qSe(i,e,t,n)}function qSe(e,t,n,r){if(r.filter&&!r.filter(t,n))return;let i=Gd.dirname(n);return dt.existsSync(i)||OSe(i),_5(e,t,n,r)}function zSe(e,t,n,r){if(!(r.filter&&!r.filter(t,n)))return _5(e,t,n,r)}function _5(e,t,n,r){let o=(r.dereference?dt.statSync:dt.lstatSync)(t);if(o.isDirectory())return nRe(o,e,t,n,r);if(o.isFile()||o.isCharacterDevice()||o.isBlockDevice())return PSe(o,e,t,n,r);if(o.isSymbolicLink())return oRe(e,t,n,r);throw o.isSocket()?new Error(`Cannot copy a socket file: ${t}`):o.isFIFO()?new Error(`Cannot copy a FIFO pipe: ${t}`):new Error(`Unknown file: ${t}`)}function PSe(e,t,n,r,i){return t?jSe(e,n,r,i):E5(e,n,r,i)}function jSe(e,t,n,r){if(r.overwrite)return dt.unlinkSync(n),E5(e,t,n,r);if(r.errorOnExist)throw new Error(`'${n}' already exists`)}function E5(e,t,n,r){return dt.copyFileSync(t,n),r.preserveTimestamps&&QSe(e.mode,t,n),MZ(n,e.mode)}function QSe(e,t,n){return $Se(e)&&eRe(n,e),tRe(t,n)}function $Se(e){return(e&128)===0}function eRe(e,t){return MZ(e,t|128)}function MZ(e,t){return dt.chmodSync(e,t)}function tRe(e,t){let n=dt.statSync(e);return MSe(t,n.atime,n.mtime)}function nRe(e,t,n,r,i){return t?H5(n,r,i):rRe(e.mode,n,r,i)}function rRe(e,t,n,r){return dt.mkdirSync(n),H5(t,n,r),MZ(n,e)}function H5(e,t,n){dt.readdirSync(e).forEach(r=>iRe(r,e,t,n))}function iRe(e,t,n,r){let i=Gd.join(t,e),o=Gd.join(n,e),{destStat:s}=Zd.checkPathsSync(i,o,"copy",r);return zSe(s,i,o,r)}function oRe(e,t,n,r){let i=dt.readlinkSync(t);if(r.dereference&&(i=Gd.resolve(process.cwd(),i)),e){let o;try{o=dt.readlinkSync(n)}catch(s){if(s.code==="EINVAL"||s.code==="UNKNOWN")return dt.symlinkSync(i,n);throw s}if(r.dereference&&(o=Gd.resolve(process.cwd(),o)),Zd.isSrcSubdir(i,o))throw new Error(`Cannot copy '${i}' to a subdirectory of itself, '${o}'.`);if(dt.statSync(n).isDirectory()&&Zd.isSrcSubdir(o,i))throw new Error(`Cannot overwrite '${o}' with '${i}'.`);return sRe(i,n)}else return dt.symlinkSync(i,n)}function sRe(e,t){return dt.unlinkSync(t),dt.symlinkSync(e,t)}w5.exports=DSe});var Dp=d((XYe,F5)=>{"use strict";var aRe=fe().fromCallback;F5.exports={copy:aRe(V5()),copySync:Y5()}});var O5=d((kYe,J5)=>{"use strict";var T5=D(),x5=require("path"),Ce=require("assert"),vd=process.platform==="win32";function L5(e){["unlink","chmod","stat","lstat","rmdir","readdir"].forEach(n=>{e[n]=e[n]||T5[n],n=n+"Sync",e[n]=e[n]||T5[n]}),e.maxBusyTries=e.maxBusyTries||3}function DZ(e,t,n){let r=0;typeof t=="function"&&(n=t,t={}),Ce(e,"rimraf: missing path"),Ce.strictEqual(typeof e,"string","rimraf: path should be a string"),Ce.strictEqual(typeof n,"function","rimraf: callback function required"),Ce(t,"rimraf: invalid options argument provided"),Ce.strictEqual(typeof t,"object","rimraf: options should be object"),L5(t),X5(e,t,function i(o){if(o){if((o.code==="EBUSY"||o.code==="ENOTEMPTY"||o.code==="EPERM")&&r<t.maxBusyTries){r++;let s=r*100;return setTimeout(()=>X5(e,t,i),s)}o.code==="ENOENT"&&(o=null)}n(o)})}function X5(e,t,n){Ce(e),Ce(t),Ce(typeof n=="function"),t.lstat(e,(r,i)=>{if(r&&r.code==="ENOENT")return n(null);if(r&&r.code==="EPERM"&&vd)return k5(e,t,r,n);if(i&&i.isDirectory())return qp(e,t,r,n);t.unlink(e,o=>{if(o){if(o.code==="ENOENT")return n(null);if(o.code==="EPERM")return vd?k5(e,t,o,n):qp(e,t,o,n);if(o.code==="EISDIR")return qp(e,t,o,n)}return n(o)})})}function k5(e,t,n,r){Ce(e),Ce(t),Ce(typeof r=="function"),t.chmod(e,438,i=>{i?r(i.code==="ENOENT"?null:n):t.stat(e,(o,s)=>{o?r(o.code==="ENOENT"?null:n):s.isDirectory()?qp(e,t,n,r):t.unlink(e,r)})})}function K5(e,t,n){let r;Ce(e),Ce(t);try{t.chmodSync(e,438)}catch(i){if(i.code==="ENOENT")return;throw n}try{r=t.statSync(e)}catch(i){if(i.code==="ENOENT")return;throw n}r.isDirectory()?zp(e,t,n):t.unlinkSync(e)}function qp(e,t,n,r){Ce(e),Ce(t),Ce(typeof r=="function"),t.rmdir(e,i=>{i&&(i.code==="ENOTEMPTY"||i.code==="EEXIST"||i.code==="EPERM")?cRe(e,t,r):i&&i.code==="ENOTDIR"?r(n):r(i)})}function cRe(e,t,n){Ce(e),Ce(t),Ce(typeof n=="function"),t.readdir(e,(r,i)=>{if(r)return n(r);let o=i.length,s;if(o===0)return t.rmdir(e,n);i.forEach(a=>{DZ(x5.join(e,a),t,c=>{if(!s){if(c)return n(s=c);--o===0&&t.rmdir(e,n)}})})})}function U5(e,t){let n;t=t||{},L5(t),Ce(e,"rimraf: missing path"),Ce.strictEqual(typeof e,"string","rimraf: path should be a string"),Ce(t,"rimraf: missing options"),Ce.strictEqual(typeof t,"object","rimraf: options should be object");try{n=t.lstatSync(e)}catch(r){if(r.code==="ENOENT")return;r.code==="EPERM"&&vd&&K5(e,t,r)}try{n&&n.isDirectory()?zp(e,t,null):t.unlinkSync(e)}catch(r){if(r.code==="ENOENT")return;if(r.code==="EPERM")return vd?K5(e,t,r):zp(e,t,r);if(r.code!=="EISDIR")throw r;zp(e,t,r)}}function zp(e,t,n){Ce(e),Ce(t);try{t.rmdirSync(e)}catch(r){if(r.code==="ENOTDIR")throw n;if(r.code==="ENOTEMPTY"||r.code==="EEXIST"||r.code==="EPERM")uRe(e,t);else if(r.code!=="ENOENT")throw r}}function uRe(e,t){if(Ce(e),Ce(t),t.readdirSync(e).forEach(n=>U5(x5.join(e,n),t)),vd){let n=Date.now();do try{return t.rmdirSync(e,t)}catch{}while(Date.now()-n<500)}else return t.rmdirSync(e,t)}J5.exports=DZ;DZ.sync=U5});var Sd=d((KYe,D5)=>{"use strict";var Pp=D(),lRe=fe().fromCallback,M5=O5();function dRe(e,t){if(Pp.rm)return Pp.rm(e,{recursive:!0,force:!0},t);M5(e,t)}function gRe(e){if(Pp.rmSync)return Pp.rmSync(e,{recursive:!0,force:!0});M5.sync(e)}D5.exports={remove:lRe(dRe),removeSync:gRe}});var tJ=d((xYe,eJ)=>{"use strict";var fRe=fe().fromPromise,P5=No(),j5=require("path"),Q5=Hn(),$5=Sd(),q5=fRe(async function(t){let n;try{n=await P5.readdir(t)}catch{return Q5.mkdirs(t)}return Promise.all(n.map(r=>$5.remove(j5.join(t,r))))});function z5(e){let t;try{t=P5.readdirSync(e)}catch{return Q5.mkdirsSync(e)}t.forEach(n=>{n=j5.join(e,n),$5.removeSync(n)})}eJ.exports={emptyDirSync:z5,emptydirSync:z5,emptyDir:q5,emptydir:q5}});var oJ=d((LYe,iJ)=>{"use strict";var IRe=fe().fromCallback,nJ=require("path"),Gi=D(),rJ=Hn();function pRe(e,t){function n(){Gi.writeFile(e,"",r=>{if(r)return t(r);t()})}Gi.stat(e,(r,i)=>{if(!r&&i.isFile())return t();let o=nJ.dirname(e);Gi.stat(o,(s,a)=>{if(s)return s.code==="ENOENT"?rJ.mkdirs(o,c=>{if(c)return t(c);n()}):t(s);a.isDirectory()?n():Gi.readdir(o,c=>{if(c)return t(c)})})})}function mRe(e){let t;try{t=Gi.statSync(e)}catch{}if(t&&t.isFile())return;let n=nJ.dirname(e);try{Gi.statSync(n).isDirectory()||Gi.readdirSync(n)}catch(r){if(r&&r.code==="ENOENT")rJ.mkdirsSync(n);else throw r}Gi.writeFileSync(e,"")}iJ.exports={createFile:IRe(pRe),createFileSync:mRe}});var lJ=d((UYe,uJ)=>{"use strict";var hRe=fe().fromCallback,sJ=require("path"),Zi=D(),aJ=Hn(),CRe=Bi().pathExists,{areIdentical:cJ}=Vo();function bRe(e,t,n){function r(i,o){Zi.link(i,o,s=>{if(s)return n(s);n(null)})}Zi.lstat(t,(i,o)=>{Zi.lstat(e,(s,a)=>{if(s)return s.message=s.message.replace("lstat","ensureLink"),n(s);if(o&&cJ(a,o))return n(null);let c=sJ.dirname(t);CRe(c,(u,l)=>{if(u)return n(u);if(l)return r(e,t);aJ.mkdirs(c,g=>{if(g)return n(g);r(e,t)})})})})}function yRe(e,t){let n;try{n=Zi.lstatSync(t)}catch{}try{let o=Zi.lstatSync(e);if(n&&cJ(o,n))return}catch(o){throw o.message=o.message.replace("lstat","ensureLink"),o}let r=sJ.dirname(t);return Zi.existsSync(r)||aJ.mkdirsSync(r),Zi.linkSync(e,t)}uJ.exports={createLink:hRe(bRe),createLinkSync:yRe}});var gJ=d((JYe,dJ)=>{"use strict";var vi=require("path"),Rd=D(),ARe=Bi().pathExists;function BRe(e,t,n){if(vi.isAbsolute(e))return Rd.lstat(e,r=>r?(r.message=r.message.replace("lstat","ensureSymlink"),n(r)):n(null,{toCwd:e,toDst:e}));{let r=vi.dirname(t),i=vi.join(r,e);return ARe(i,(o,s)=>o?n(o):s?n(null,{toCwd:i,toDst:e}):Rd.lstat(e,a=>a?(a.message=a.message.replace("lstat","ensureSymlink"),n(a)):n(null,{toCwd:e,toDst:vi.relative(r,e)})))}}function GRe(e,t){let n;if(vi.isAbsolute(e)){if(n=Rd.existsSync(e),!n)throw new Error("absolute srcpath does not exist");return{toCwd:e,toDst:e}}else{let r=vi.dirname(t),i=vi.join(r,e);if(n=Rd.existsSync(i),n)return{toCwd:i,toDst:e};if(n=Rd.existsSync(e),!n)throw new Error("relative srcpath does not exist");return{toCwd:e,toDst:vi.relative(r,e)}}}dJ.exports={symlinkPaths:BRe,symlinkPathsSync:GRe}});var pJ=d((OYe,IJ)=>{"use strict";var fJ=D();function ZRe(e,t,n){if(n=typeof t=="function"?t:n,t=typeof t=="function"?!1:t,t)return n(null,t);fJ.lstat(e,(r,i)=>{if(r)return n(null,"file");t=i&&i.isDirectory()?"dir":"file",n(null,t)})}function vRe(e,t){let n;if(t)return t;try{n=fJ.lstatSync(e)}catch{return"file"}return n&&n.isDirectory()?"dir":"file"}IJ.exports={symlinkType:ZRe,symlinkTypeSync:vRe}});var GJ=d((MYe,BJ)=>{"use strict";var SRe=fe().fromCallback,hJ=require("path"),wn=No(),CJ=Hn(),RRe=CJ.mkdirs,WRe=CJ.mkdirsSync,bJ=gJ(),NRe=bJ.symlinkPaths,VRe=bJ.symlinkPathsSync,yJ=pJ(),_Re=yJ.symlinkType,ERe=yJ.symlinkTypeSync,HRe=Bi().pathExists,{areIdentical:AJ}=Vo();function wRe(e,t,n,r){r=typeof n=="function"?n:r,n=typeof n=="function"?!1:n,wn.lstat(t,(i,o)=>{!i&&o.isSymbolicLink()?Promise.all([wn.stat(e),wn.stat(t)]).then(([s,a])=>{if(AJ(s,a))return r(null);mJ(e,t,n,r)}):mJ(e,t,n,r)})}function mJ(e,t,n,r){NRe(e,t,(i,o)=>{if(i)return r(i);e=o.toDst,_Re(o.toCwd,n,(s,a)=>{if(s)return r(s);let c=hJ.dirname(t);HRe(c,(u,l)=>{if(u)return r(u);if(l)return wn.symlink(e,t,a,r);RRe(c,g=>{if(g)return r(g);wn.symlink(e,t,a,r)})})})})}function YRe(e,t,n){let r;try{r=wn.lstatSync(t)}catch{}if(r&&r.isSymbolicLink()){let a=wn.statSync(e),c=wn.statSync(t);if(AJ(a,c))return}let i=VRe(e,t);e=i.toDst,n=ERe(i.toCwd,n);let o=hJ.dirname(t);return wn.existsSync(o)||WRe(o),wn.symlinkSync(e,t,n)}BJ.exports={createSymlink:SRe(wRe),createSymlinkSync:YRe}});var _J=d((DYe,VJ)=>{"use strict";var{createFile:ZJ,createFileSync:vJ}=oJ(),{createLink:SJ,createLinkSync:RJ}=lJ(),{createSymlink:WJ,createSymlinkSync:NJ}=GJ();VJ.exports={createFile:ZJ,createFileSync:vJ,ensureFile:ZJ,ensureFileSync:vJ,createLink:SJ,createLinkSync:RJ,ensureLink:SJ,ensureLinkSync:RJ,createSymlink:WJ,createSymlinkSync:NJ,ensureSymlink:WJ,ensureSymlinkSync:NJ}});var HJ=d((qYe,EJ)=>{"use strict";var jp=FA();EJ.exports={readJson:jp.readFile,readJsonSync:jp.readFileSync,writeJson:jp.writeFile,writeJsonSync:jp.writeFileSync}});var Qp=d((zYe,FJ)=>{"use strict";var FRe=fe().fromCallback,Wd=D(),wJ=require("path"),YJ=Hn(),TRe=Bi().pathExists;function XRe(e,t,n,r){typeof n=="function"&&(r=n,n="utf8");let i=wJ.dirname(e);TRe(i,(o,s)=>{if(o)return r(o);if(s)return Wd.writeFile(e,t,n,r);YJ.mkdirs(i,a=>{if(a)return r(a);Wd.writeFile(e,t,n,r)})})}function kRe(e,...t){let n=wJ.dirname(e);if(Wd.existsSync(n))return Wd.writeFileSync(e,...t);YJ.mkdirsSync(n),Wd.writeFileSync(e,...t)}FJ.exports={outputFile:FRe(XRe),outputFileSync:kRe}});var XJ=d((PYe,TJ)=>{"use strict";var{stringify:KRe}=ks(),{outputFile:xRe}=Qp();async function LRe(e,t,n={}){let r=KRe(t,n);await xRe(e,r,n)}TJ.exports=LRe});var KJ=d((jYe,kJ)=>{"use strict";var{stringify:URe}=ks(),{outputFileSync:JRe}=Qp();function ORe(e,t,n){let r=URe(t,n);JRe(e,r,n)}kJ.exports=ORe});var LJ=d((QYe,xJ)=>{"use strict";var MRe=fe().fromPromise,vt=HJ();vt.outputJson=MRe(XJ());vt.outputJsonSync=KJ();vt.outputJSON=vt.outputJson;vt.outputJSONSync=vt.outputJsonSync;vt.writeJSON=vt.writeJson;vt.writeJSONSync=vt.writeJsonSync;vt.readJSON=vt.readJson;vt.readJSONSync=vt.readJsonSync;xJ.exports=vt});var DJ=d(($Ye,MJ)=>{"use strict";var DRe=D(),zZ=require("path"),qRe=Dp().copy,OJ=Sd().remove,zRe=Hn().mkdirp,PRe=Bi().pathExists,UJ=Vo();function jRe(e,t,n,r){typeof n=="function"&&(r=n,n={}),n=n||{};let i=n.overwrite||n.clobber||!1;UJ.checkPaths(e,t,"move",n,(o,s)=>{if(o)return r(o);let{srcStat:a,isChangingCase:c=!1}=s;UJ.checkParentPaths(e,a,t,"move",u=>{if(u)return r(u);if(QRe(t))return JJ(e,t,i,c,r);zRe(zZ.dirname(t),l=>l?r(l):JJ(e,t,i,c,r))})})}function QRe(e){let t=zZ.dirname(e);return zZ.parse(t).root===t}function JJ(e,t,n,r,i){if(r)return qZ(e,t,n,i);if(n)return OJ(t,o=>o?i(o):qZ(e,t,n,i));PRe(t,(o,s)=>o?i(o):s?i(new Error("dest already exists.")):qZ(e,t,n,i))}function qZ(e,t,n,r){DRe.rename(e,t,i=>i?i.code!=="EXDEV"?r(i):$Re(e,t,n,r):r())}function $Re(e,t,n,r){qRe(e,t,{overwrite:n,errorOnExist:!0},o=>o?r(o):OJ(e,r))}MJ.exports=jRe});var QJ=d((eFe,jJ)=>{"use strict";var zJ=D(),jZ=require("path"),eWe=Dp().copySync,PJ=Sd().removeSync,tWe=Hn().mkdirpSync,qJ=Vo();function nWe(e,t,n){n=n||{};let r=n.overwrite||n.clobber||!1,{srcStat:i,isChangingCase:o=!1}=qJ.checkPathsSync(e,t,"move",n);return qJ.checkParentPathsSync(e,i,t,"move"),rWe(t)||tWe(jZ.dirname(t)),iWe(e,t,r,o)}function rWe(e){let t=jZ.dirname(e);return jZ.parse(t).root===t}function iWe(e,t,n,r){if(r)return PZ(e,t,n);if(n)return PJ(t),PZ(e,t,n);if(zJ.existsSync(t))throw new Error("dest already exists.");return PZ(e,t,n)}function PZ(e,t,n){try{zJ.renameSync(e,t)}catch(r){if(r.code!=="EXDEV")throw r;return oWe(e,t,n)}}function oWe(e,t,n){return eWe(e,t,{overwrite:n,errorOnExist:!0}),PJ(e)}jJ.exports=nWe});var eO=d((tFe,$J)=>{"use strict";var sWe=fe().fromCallback;$J.exports={move:sWe(DJ()),moveSync:QJ()}});var nO=d((nFe,tO)=>{"use strict";tO.exports={...No(),...Dp(),...tJ(),..._J(),...LJ(),...Hn(),...eO(),...Qp(),...Bi(),...Sd()}});var iO=d($Z=>{"use strict";Object.defineProperty($Z,"__esModule",{value:!0});var rO=require("path"),QZ=class{constructor(t){this.buffer="",this.filePath=t}write(t){this.buffer+=t}async save(t){let n=nO(),r=rO.join(t,this.filePath);return await n.mkdirs(rO.dirname(r)),await n.writeFile(r,this.buffer),r}};$Z.default=QZ});var oO=d($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.CodeMaker=void 0;var aWe=require("util"),ev=KZ(),cWe=iO(),tv=class{constructor({indentationLevel:t=4,indentCharacter:n=" "}={}){this.currIndent=0,this.files=new Array,this.excludes=new Array,this.openBlockFormatter=r=>`${r} {`,this.closeBlockFormatter=()=>"}",this.indentation=t,this.indentCharacter=n}get currentIndentLength(){return this.currIndent*this.indentation}async save(t){let n=this.files.filter(r=>!this.excludes.includes(r.filePath)).map(r=>r.save(t));return(await Promise.all(n)).sort()}openFile(t){if(this.currentFile)throw new Error(`Cannot open file ${t} without closing the previous file ${this.currentFile.filePath}`);this.currentFile=new cWe.default(t)}closeFile(t){if(!this.currentFile)throw new Error(`Cannot close file ${t}. It was never opened`);if(this.currentFile.filePath!==t)throw new Error(`Cannot close file ${t}. The currently opened file is ${this.currentFile.filePath}`);this.files.push(this.currentFile),this.currentFile=void 0}line(t,...n){if(!this.currentFile)throw new Error("Cannot emit source lines without opening a file");t&&(t=this.makeIndent()+t,this.currentFile.write(aWe.format(t,...n))),this.currentFile.write(`
|
|
70
|
+
`)}indent(t){this.open(t)}unindent(t){this.close(t)}open(t){this.line(t),this.currIndent++}close(t){this.currIndent--,t!==!1&&this.line(t)}openBlock(t){this.open(this.openBlockFormatter(t))}closeBlock(t){this.close(this.closeBlockFormatter(t))}exclude(t){this.excludes.push(t)}toCamelCase(...t){return ev.toCamelCase(...t)}toPascalCase(...t){return ev.toPascalCase(...t)}toSnakeCase(t,n="_"){return ev.toSnakeCase(t,n)}getCurrentFilePath(){var t;return(t=this.currentFile)==null?void 0:t.filePath}makeIndent(){let t=this.currentIndentLength;return t<=0?"":this.indentCharacter.repeat(t)}};$p.CodeMaker=tv});var aO=d(Si=>{"use strict";var uWe=Si&&Si.__createBinding||(Object.create?function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]}),sO=Si&&Si.__exportStar||function(e,t){for(var n in e)n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n)&&uWe(t,e,n)};Object.defineProperty(Si,"__esModule",{value:!0});sO(oO(),Si);sO(KZ(),Si)});var sv={};Ot(sv,{CONFIG_DEFAULTS:()=>lO,LANGUAGES:()=>lWe,Language:()=>iv,TerraformModuleConstraint:()=>_o,TerraformProviderConstraint:()=>tm,isLocalModule:()=>fWe,logTimespan:()=>pWe,parseConfig:()=>dO,readConfigSync:()=>ov,shouldCheckCodeMakerOutput:()=>IWe});function em(e){return Array.isArray(e)&&e.length>0}function nv(e){return e.match(/^(\.\/|\.\.\/|\.\\\\|\.\.\\\\)(.*)/)}function fWe(e){return nv(e)!==null}function ov(e=rv.join(process.cwd(),gWe)){let t;return nm.existsSync(e)&&(t=nm.readFileSync(e).toString()),dO(t)}function IWe(e){return em(e.terraformModules)||em(e.terraformProviders)}function pWe(e){ne.debug(`Start timer for ${e}...`);let t=Date.now();return function(){let i=Date.now()-t;ne.debug(`${e} took ${i}ms`)}}var nm,rv,cO,uO,iv,lWe,dWe,gWe,lO,_o,tm,dO,rm=Ve(()=>{"use strict";nm=M(vo()),rv=M(require("path"));Eo();XZ();cO=require("process"),uO=M(aO()),iv=(o=>(o.TYPESCRIPT="typescript",o.PYTHON="python",o.CSHARP="csharp",o.JAVA="java",o.GO="go",o))(iv||{}),lWe=["typescript","python","java","csharp","go"],dWe="CDKTF_CONTEXT_JSON",gWe="cdktf.json",lO={output:"cdktf.out",codeMakerOutput:".gen"};_o=class{constructor(t){if(typeof t=="string"){let r=this.parseDependencyConstraint(t);this.name=r.name,this.source=r.source,this.fqn=r.fqn,this.version=r.version,this.namespace=r.namespace}else this.source=t.source,this.name=t.name,this.fqn=t.name,this.version=t.version,this.namespace=t.namespace;nv(this.source)&&(this.localSourceAbsolutePath=rv.join(process.cwd(),this.source))}get className(){return(0,uO.toPascalCase)(this.name.replace(/[-/.]/g,"_"))}get fileName(){return this.namespace?`${this.namespace}/${this.name}`:this.name}parseDependencyConstraint(t){let n=nv(t);if(n){let b=n[2],v=b.split("/"),Y=v.pop()??b,k=v.pop();return{name:Y,fqn:b,source:t,namespace:k}}let[r,i]=t.split("@"),o=r.split("//");if(TZ(o[0])){let b=o[0].split("/"),v=b.pop(),Y=b.pop()??r,k=`${b.pop()}/${v}`;if(o.length>1){let ee=o[1].split("/"),re=ee.pop();k=`${k}/${Y}/${ee.join("/")}`,Y=re??Y}return{name:Y,source:r,version:i,namespace:k,fqn:r.replace("//","/").replace(/\./g,"-")}}let s=t,a=s.match(/^([a-zA-Z0-9]*)::(.*)/);a&&(s=a[2]);let c=s.match(/^([a-zA-Z]*):\/\/(.*)/);c&&(s=c[2]),s=s.split(":").pop()??s;let l=s.match(/^[\d]*(.*)/);l&&(s=l[1]);let g=s.match(/[^/]*\.[^/]*\/(.*)/);g&&(s=g[1]);let f=s.match(/(.*)\?.*/);f&&(s=f[1]),s=s.replace(/\.git|\.hg|\.zip/,""),o=s.split("//");let I=o[0].split("/"),m=I.pop(),C=I.pop();if(!m)throw new Error(`Module name should be properly set in ${t}`);if(o.length>1){let b=o[1].split("/"),v=b.pop();C?C=`${C}/${m}/${b.join("/")}`:C=`${m}/${b.join("/")}`,m=v??m}return{name:m,source:t,fqn:s.replace("//","/"),namespace:C}}},tm=class{constructor(t){if(typeof t=="string"){let n=this.parseDependencyConstraint(t);this.name=n.name,this.fqn=n.fqn,this.source=n.fqn,this.version=n.version,this.namespace=n.namespace}else this.name=t.name,this.fqn=t.name,this.version=t.version,this.source=t.source,this.namespace=t.namespace}parseDependencyConstraint(t){let[n,r]=t.split("@"),i=n.split("/"),o=i.pop(),s=i.pop();if(!o)throw new Error(`Provider name should be properly set in ${t}`);return{name:o,source:n,version:r==="*"?void 0:r,fqn:n,namespace:s}}},dO=e=>{var n,r;let t={...lO,...JSON.parse(e||"{}")};return em(t.terraformModules)&&(t.terraformModules=(n=t.terraformModules)==null?void 0:n.map(i=>new _o(i))),em(t.terraformProviders)&&(t.terraformProviders=(r=t.terraformProviders)==null?void 0:r.map(i=>new tm(i))),t.context&&(cO.env[dWe]=JSON.stringify(t.context)),t}});var fO=d((cFe,gO)=>{"use strict";gO.exports=({onlyFirst:e=!1}={})=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}});var pO=d((uFe,IO)=>{"use strict";var mWe=fO();IO.exports=e=>typeof e=="string"?e.replace(mWe(),""):e});var CO={};Ot(CO,{HttpError:()=>im,downcaseFirst:()=>BWe,downloadFile:()=>GWe,ensureAllSettledBeforeThrowing:()=>ZWe,exec:()=>tt,hasNoColorFlagOrEnv:()=>am,mkdtemp:()=>bWe,readCDKTFManifest:()=>AWe,readCDKTFVersion:()=>yWe,shell:()=>hWe,withTempDir:()=>CWe});async function hWe(e,t=[],n={}){let r=new Array,i=new Array;try{return await tt(e,t,n,o=>{let s=n.noColor?(0,Tr.default)(o.toLocaleString()):o.toLocaleString();i.push(s),console.log(s)},o=>{let s=n.noColor?(0,Tr.default)(o.toLocaleString()):o.toLocaleString();r.push(s)})}catch(o){throw r.length>0&&(o.stderr=r.map(s=>s.toString()).join(""),n.noColor&&(o.stderr=(0,Tr.default)(o.stderr))),i.length>0&&(o.stdout=i.join(""),n.noColor&&(o.stdout=(0,Tr.default)(o.stdout))),o}}async function CWe(e,t){let n=process.cwd(),r=await Ue.mkdtemp(Qs.join(av.tmpdir(),"cdktf.")),i=Qs.join(r,e);await Ue.mkdirp(i);try{process.chdir(i),await t()}finally{process.chdir(n),await Ue.remove(r)}}async function bWe(e){let t=await Ue.mkdtemp(Qs.join(av.tmpdir(),"cdktf."));try{await e(t)}finally{await Ue.remove(t)}}async function yWe(e){let t=Qs.join(e,"cdk.tf.json");if(Ue.existsSync(t)){let n=Ue.readFileSync(t,"utf8");return JSON.parse(n)["//"].metadata.version}return""}async function AWe(){let{output:e}=ov(),t=await Ue.readFile(Qs.join(e,hO.Manifest.fileName));return JSON.parse(t.toString())}function BWe(e){return e===""?e:`${e[0].toLocaleLowerCase()}${e.slice(1)}`}async function GWe(e,t){let n=e.startsWith("http://")?sm.http:sm.https,r=Ue.createWriteStream(t);return new Promise((i,o)=>{let s=n.get(e,a=>{if(a.statusCode!==200){o(new im(`Failed to get '${e}' (${a.statusCode})`,a.statusCode));return}a.pipe(r)});r.on("finish",()=>i()),s.on("error",a=>{Ue.unlink(t,()=>o(a))}),r.on("error",a=>{Ue.unlink(t,()=>o(a))}),s.end()})}async function ZWe(e,t){try{await e}catch(n){throw await Promise.allSettled(t),n}}function am(){return vWe("no-color")||process.env.FORCE_COLOR==="0"}function vWe(e){let t=e.startsWith("-")?"":e.length===1?"-":"--",n=process.argv.indexOf(t+e),r=process.argv.indexOf("--");return n!==-1&&(r===-1||n<r)}var mO,Ue,sm,av,Qs,hO,Tr,tt,im,ea=Ve(()=>{"use strict";mO=M(xK()),Ue=M(vo()),sm=M(qK()),av=M(require("os")),Qs=M(require("path"));Eo();hO=require("cdktn");rm();Tr=M(pO());tt=async(e,t,n,r,i,o=!0)=>(typeof n.noColor!="boolean"&&am()&&(n.noColor=!0),new Promise((s,a)=>{var g,f,I,m;let c=(0,mO.spawn)(e,t,n),u=new Array,l=new Array;r!==void 0?(g=c.stdout)==null||g.on("data",C=>{let b=n.noColor?(0,Tr.default)(C.toLocaleString()):C.toLocaleString();om(b),u.push(b),r(b)}):(f=c.stdout)==null||f.on("data",C=>{let b=n.noColor?(0,Tr.default)(C.toLocaleString()):C.toLocaleString();om(b),u.push(b)}),i!==void 0?(I=c.stderr)==null||I.on("data",C=>{let b=n.noColor?(0,Tr.default)(C.toLocaleString()):C.toLocaleString();$s(b),o&&i(b),l.push(b)}):(m=c.stderr)==null||m.on("data",C=>{let b=n.noColor?(0,Tr.default)(C.toLocaleString()):C.toLocaleString();$s(b),o&&process.stderr.write(b),l.push(b)}),c.once("error",C=>a(C)),c.once("close",C=>{if(C!==0){let b=new Error(`non-zero exit code ${C}`);return b.stderr=l.map(v=>v.toString()).join(""),a(b)}return s(u.join(""))})}));im=class extends Error{constructor(n,r){super(n);this.statusCode=r;Object.setPrototypeOf(this,new.target.prototype)}}});var AO={};Ot(AO,{logFileName:()=>yO,logger:()=>ne,processLoggerDebug:()=>om,processLoggerError:()=>$s});var Nd,cm,bO,Ho,Xr,ne,yO,om,$s,Eo=Ve(()=>{"use strict";Nd=M(h9()),cm=M(vo()),bO=M(require("path")),Ho=M(UI());ea();Xr=(0,Nd.getLogger)(),ne={trace(e,...t){Xr.trace(e,...t),Ho.addBreadcrumb({message:e,level:"debug"})},debug(e,...t){Xr.debug(e,...t),Ho.addBreadcrumb({message:e,level:"debug"})},info(e,...t){Xr.info(e,...t),Ho.addBreadcrumb({message:e,level:"info"})},warn(e,...t){Xr.warn(e,...t),Ho.addBreadcrumb({message:e,level:"warning"})},error(e,...t){Xr.error(e,...t),Ho.addBreadcrumb({message:e,level:"error"})},fatal(e,...t){Xr.fatal(e,...t),Ho.addBreadcrumb({message:e,level:"fatal"})},setLevel(e){Xr.level=e},useDefaultLevel(){Xr.level=process.env.CDKTF_LOG_LEVEL||"INFO"}};Xr.level=process.env.CDKTF_LOG_LEVEL||"INFO";yO="cdktf.log";if(process.env.CDKTF_LOG_FILE_DIRECTORY&&cm.existsSync(process.env.CDKTF_LOG_FILE_DIRECTORY)&&cm.statSync(process.env.CDKTF_LOG_FILE_DIRECTORY).isDirectory())(0,Nd.configure)({appenders:{cdktf:{type:"file",filename:bO.join(process.env.CDKTF_LOG_FILE_DIRECTORY,yO)}},categories:{default:{appenders:["cdktf"],level:"debug"}}});else{let e=am()?"basic":"colored";(0,Nd.configure)({appenders:{out:{type:"stdout",layout:{type:e}}},categories:{default:{appenders:["out"],level:"info"}}})}om=e=>{ne.debug(e.toString())},$s=e=>{ne.error(e.toString())}});var BO=d((fFe,SWe)=>{SWe.exports={name:"@cdktn/commons",version:"0.22.0-pre.3",publishConfig:{access:"public"},description:"CDK Terrain Common utilities",scripts:{build:"tsc",watch:"tsc -w","watch-preserve-output":"tsc -w --preserveWatchOutput",lint:"eslint . ","lint:fix":"eslint . --fix",pretest:"yarn build","pretest:ci":"yarn build",test:"yarn lint && jest","test:ci":"yarn lint && jest --ci","test:update":"jest -u","jest-watch":"jest --watch",package:"./package.sh","dist-clean":"rm -rf dist","package:js":"./package.sh"},main:"src/index.js",types:"src/index.d.ts",repository:{type:"git",url:"git://github.com/open-constructs/cdk-terrain.git",directory:"packages/@cdktn/commons"},author:{name:"OpenConstructs",url:"https://github.com/open-constructs"},keywords:["cdk","cdktf","terraform"],license:"MPL-2.0",dependencies:{"@sentry/node":"7.120.3",cdktn:"0.22.0-pre.3","ci-info":"3.9.0",codemaker:"1.112.0","cross-spawn":"7.0.6","follow-redirects":"1.15.9","fs-extra":"11.3.0",log4js:"6.9.1","strip-ansi":"6.0.1",uuid:"9.0.1",validator:"13.15.0"},devDependencies:{"@eslint/compat":"^1.2.9","@eslint/eslintrc":"^3.3.1","@eslint/js":"^9.27.0","@types/follow-redirects":"1.14.4","@types/fs-extra":"11.0.4","@types/uuid":"9.0.8","@types/validator":"13.15.0","@typescript-eslint/parser":"^8.32.1",eslint:"^9.27.0","eslint-plugin-prettier":"^5.4.0","eslint-plugin-react":"7.37.5",jest:"^29.7.0","lint-staged":"^15.5.2","ts-jest":"29.3.4","tsc-files":"1.1.4",typescript:"5.4.5","typescript-eslint":"^8.32.1"},"lint-staged":{"src/**/*.{ts,tsx}":"tsc-files ambient.d.ts --noEmit"}}});var GO={};Ot(GO,{DISPLAY_VERSION:()=>wo});function RWe(){return BO().version.replace(/\+[0-9a-f]+$/,"")}var wo,Vd=Ve(()=>{"use strict";wo=`${RWe()}`});var NO={};Ot(NO,{ReportRequest:()=>um,getProjectId:()=>RO,getUserId:()=>WO,sendTelemetry:()=>HWe});function _We(){return process.env.CDKTF_HOME?Wi.resolve(process.env.CDKTF_HOME):Wi.join((Ri.userInfo().homedir??Ri.homedir()).trim()||"/",".cdktf")}async function EWe(e,t){return new Promise((n,r)=>{let i=WWe.request((0,vO.format)(e),{headers:{Accept:"application/json","Content-Length":t.length,"User-Agent":"OpenConstructs/cdktn-cli"},method:"POST"},o=>{if(o.statusCode){let a=o.statusCode;if(!VWe.includes(a))return r(new Error(o.statusMessage))}let s=new Array;o.on("data",a=>s.push(a)),o.on("error",a=>r(a)),o.on("end",()=>n())});i.setTimeout(1e3,()=>r(new Error("request timeout"))),i.write(t),i.end(),i.on("error",o=>r(o))})}async function HWe(e,t){let n={command:e,product:"cdktn",version:`${wo}`,dateTime:new Date,language:t.language,payload:t};try{await um(n)}catch(r){ne.error(`Could not send telemetry data: ${r}`)}}function SO(e,t,n=!1,r){let i=MI(),o;try{o=require(e)}catch{if(n){let s={};r&&(s["//"]=r.replace(/\n/g," ")),s[t]=i,_d.ensureDirSync(Wi.dirname(e)),_d.writeFileSync(e,JSON.stringify(s,null,2))}return i}return o[t]?o[t]:(_d.writeFileSync(e,JSON.stringify({...o,[t]:i},null,2)),i)}function RO(e=process.cwd()){return SO(Wi.resolve(e,"cdktf.json"),"projectId")}function WO(){return SO(Wi.resolve(_We(),"config.json"),"userId",!0,`This signature is a randomly generated UUID used to anonymously differentiate users in telemetry data order to inform product direction.
|
|
71
|
+
This signature is random, it is not based on any personally identifiable information.
|
|
72
|
+
To create a new signature, you can simply delete this file at any time.
|
|
73
|
+
See https://cdk.tf/telemetry for more
|
|
74
|
+
information on how to disable it.`)}async function um(e){if(process.env.CHECKPOINT_DISABLE)return;e.runID||(e.runID=MI()),e.dateTime||(e.dateTime=new Date),e.arch||(e.arch=Ri.arch()),e.os||(e.os=Ri.platform());let t=cv.default.isCI?cv.default.name||"unknown":!1;!e.userId&&!t&&(e.userId=WO()),t&&(e.ci=t),e.projectId=e.projectId||RO();let n=JSON.stringify(e);if(n.length>ZO){ne.warn(`Skipped sending telemetry as the request body size was ${n.length} bytes. The limit is ${ZO} bytes`);return}try{await EWe(`${NWe}telemetry/${e.product}`,n)}catch(r){$s(r.message)}}var vO,Ri,cv,Wi,_d,WWe,NWe,VWe,ZO,uv=Ve(()=>{"use strict";vO=require("url");DY();Ri=M(require("os")),cv=M(jY());Eo();Wi=M(require("path")),_d=M(vo());Vd();WWe=require("https"),NWe="https://checkpoint-api.hashicorp.com/v1/",VWe=[200,201],ZO=8192});var VO={};Ot(VO,{ConstructsMakerModuleTarget:()=>lm,ConstructsMakerProviderTarget:()=>dm,ConstructsMakerTarget:()=>Ed});var Ed,lm,dm,_O=Ve(()=>{"use strict";rm();Ed=class{constructor(t,n){this.constraint=t;this.targetLanguage=n;this.constraint instanceof _o?this.fileName=`${this.typesPath(this.constraint.fileName)}.ts`:this.fileName=`${this.typesPath(this.constraint.name)}.ts`}static from(t,n){return t instanceof _o?new lm(t,n):new dm(t,n)}get version(){return this.constraint.version}get source(){return this.constraint.source}get name(){return this.constraint.name}get fqn(){return this.constraint.fqn}get namespace(){return this.constraint.namespace}get moduleKey(){return this.fqn.replace(/\//gi,"_")}},lm=class extends Ed{get isModule(){return!0}get isProvider(){return!1}get srcMakName(){switch(this.targetLanguage){case"go":return this.name.replace(/-/gi,"_");case"java":case"csharp":case"python":return this.simplifiedFqn;default:return this.simplifiedName}}get trackingPayload(){return{name:this.name,fullName:this.fqn,version:this.version,type:"module"}}typesPath(t){return`modules/${t}`}get simplifiedName(){var t;return((t=this.namespace)==null?void 0:t.replace(/\//gi,".").replace(/-/gi,"_"))??this.name}get simplifiedFqn(){return this.fqn.replace(/\//gi,".").replace(/-/gi,"_")}},dm=class extends Ed{get isModule(){return!1}get isProvider(){return!0}get srcMakName(){switch(this.targetLanguage){case"java":return this.isNullProvider?"nullprovider":this.simplifiedName;case"csharp":return this.isNullProvider?"Providers.Null":this.simplifiedName;case"python":return this.simplifiedName;case"go":return this.name.replace(/-/gi,"_");default:return this.constraint.fqn}}get trackingPayload(){return{name:this.name,fullName:this.source,version:this.version,type:"provider"}}typesPath(t){return`providers/${t}/index`}get isNullProvider(){return this.constraint.name==="null"}get simplifiedName(){return this.name.replace(/\//gi,".").replace(/-/gi,"_")}}});var HO={};Ot(HO,{Errors:()=>dv,IsErrorType:()=>YWe});async function wWe(e,t){let n={command:e,product:"cdktn",version:`${wo}`,dateTime:new Date,payload:t};await um(n)}function YWe(e,t){return e&&e.__type===t}function lv(e,t){return(n,r=new Error,i)=>{wWe(t,{...i,message:n,type:e});let o=new Error(`${e} Error: ${n}`);return Object.entries(i||{}).forEach(([s,a])=>{o[s]=a}),o.__type=e,o.stack=r.stack,o}}var EO,gm,dv,gv=Ve(()=>{"use strict";uv();Vd();EO=M(UI());gm="unknown",dv={Internal:lv("Internal",gm),Usage:lv("Usage",gm),External:lv("External",gm),setScope(e){gm=e,EO.configureScope(t=>t.setTransactionName(e))}}});var YO={};Ot(YO,{terraformBinaryName:()=>wO,terraformVersion:()=>fv});var wO,fv,Iv=Ve(()=>{"use strict";gv();ea();wO=process.env.TERRAFORM_BINARY_NAME||"terraform",fv=tt(wO,["version","-json"],{}).then(e=>JSON.parse(e).terraform_version).catch(e=>dv.Usage(`Unknown: Error loading terraform version ${e}`,e))});var kO={};Ot(kO,{getDependencyInformationFromLine:()=>TO,getGradleDependencies:()=>FO,getGradlePackageVersion:()=>hv,getGradlePackageVersionFromBuild:()=>XO,isGradleProject:()=>mv});function mv(e){let t=pv.default.join(e,"build.gradle");try{return Hd.default.accessSync(t,Hd.default.constants.R_OK|Hd.default.constants.W_OK),!0}catch{return ne.debug(`No build.gradle found at ${t}`),!1}}async function FO(){let e;try{e=await tt("gradle",["dependencies","--console=plain"],{env:process.env})}catch(I){ne.debug(`Unable to run 'gradle dependencies': ${I}`);return}let t=e.split(/\r\n|\r|\n/),n=t.findIndex(I=>I.includes("implementation - "));if(n===-1){ne.debug(`Unable to find implementation section in output of 'gradle dependencies': ${e}`);return}let r=/^\s*$/,i=t.slice(n+1),o=i.findIndex(I=>r.test(I)),s=i.slice(0,o),a=t.findIndex(I=>I.includes("api - "));if(a===-1){ne.debug(`Unable to find api section in output of 'gradle dependencies': ${e}`);return}let c=t.slice(a+1),u=c.findIndex(I=>r.test(I)),l=c.slice(0,u),g=/^\s*[+\\-]+\s*/,f=/\s+\([nc*]\)\s*$/;return[...s,...l].filter(I=>I!=="No dependencies").map(I=>I.replace(g,"").replace(f,""))}function TO(e){let t=/^\s*([^:]+):([^:]+)(?::([^\s]+))?/,n=e.match(t);if(!n){ne.debug("Unexpected format for gradle build. Please file an issue at https://cdk.tf/bug");return}return n[3]===void 0?{group:"",name:n[1],version:n[2]}:{group:n[1],name:n[2],version:n[3]}}async function hv(e){let n={jsii:"jsii-runtime"}[e]||e;ne.debug("Running 'gradle dependencies' to find package version",n);let r=await FO();if(!r||r.length===0)return;for(let o of r)if(o.includes(`:${n}:`)){let s=TO(o);return s?s.version:void 0}let i=await XO(e);if(i)return i.version}async function XO(e){let t=pv.default.join(process.cwd(),"build.gradle"),r=(await Hd.default.readFile(t,"utf-8")).split(/\r\n|\r|\n/),i=/^\s*dependencies\s*\{/i;if(r.findIndex(f=>i.test(f))===-1){ne.debug("Unable to find dependencies section in output build.gradle");return}let s=r.findIndex(f=>f.includes(e));if(s===-1){ne.debug(`Unable to find package ${e} in output build.gradle`);return}let a=r[s],u=new RegExp(`([^:]+):${e}(?::([^\\s]+))?`,"i").exec(a);if(u)return{group:u[1],name:e,version:u[2]||""};let g=new RegExp(`java/(.*)/${e}/([^/]+)/.*\\.jar`,"i").exec(a);if(g)return{group:g[1].replace(/\//g,"."),name:e,version:g[2]}}var pv,Hd,Cv=Ve(()=>{"use strict";pv=M(require("path")),Hd=M(vo());Eo();ea()});var QO={};Ot(QO,{collectDebugInformation:()=>JWe,getDotnetVersion:()=>UO,getGoVersion:()=>PO,getGradleVersion:()=>MO,getJavaVersion:()=>JO,getLanguage:()=>LO,getMavenVersion:()=>OO,getNodeVersion:()=>jO,getPackageVersion:()=>wd,getPipVersion:()=>qO,getPipenvVersion:()=>zO,getPythonVersion:()=>DO});function LO(e=process.cwd()){try{return require(KO.resolve(e,"cdktf.json")).language}catch{ne.debug(`Unable to detect language in ${e}`);return}}async function dr(e,t){let n=()=>{};try{return(await tt(e,[t],{env:process.env,stdio:[void 0,void 0,"ignore"]},n,n)).trim().replace(/\r?\n|\r/g,"")}catch(r){ne.debug(`Failed to run ${e} ${t}: ${r}`);return}}function UO(){return dr("dotnet","--version")}function JO(){return dr("java","-version")}function OO(){return dr("mvn","--version")}function MO(){return dr("gradle","--version")}async function DO(){return await dr("python3","--version")||await dr("python","--version")}function qO(){return dr("pip","--version")}function zO(){return dr("pipenv","--version")}function PO(){return dr("go","version")}function jO(){return dr("node","--version")}async function FWe(e){return await(0,xO.pathExists)("pnpm-lock.yaml")?TWe(e):XWe(e)}async function TWe(e){var r,i,o;let t;try{t=await tt("pnpm",["list",e,"--json"],{env:{...process.env}})}catch(s){ne.debug(`Unable to run 'pnpm list ${e} --json': ${s}`);return}let n;try{n=JSON.parse(t)}catch(s){ne.debug(`Unable to parse output of 'pnpm list ${e} --json': ${s}`);return}if(!n||!Array.isArray(n)||n.length===0||!((o=(i=(r=n[0])==null?void 0:r.dependencies)==null?void 0:i[e])!=null&&o.version)){ne.debug(`Unable to find '${e}' in 'pnpm list ${e} --json': ${t}`);return}return n[0].dependencies[e].version}async function XWe(e){let t;try{t=await tt("npm",["list",e,"--json"],{env:{...process.env}})}catch(r){ne.debug(`Unable to run 'npm list ${e} --json': ${r}`);return}let n;try{n=JSON.parse(t)}catch(r){ne.debug(`Unable to parse output of 'npm list ${e} --json': ${r}`);return}if(!n.dependencies||!n.dependencies[e]||!n.dependencies[e].version){ne.debug(`Unable to find '${e}' in 'npm list ${e} --json': ${t}`);return}return n.dependencies[e].version}async function kWe(e){let t;try{t=await tt("pipenv",["run","pip","show","-qq",e],{env:process.env}),t=await tt("pipenv",["run","pip","show",e],{env:process.env})}catch(i){ne.debug(`Unable to run 'pipenv run pip show ${e}': ${i}`)}if(!t)try{t=await tt("pip",["show","-qq",e],{env:process.env}),t=await tt("pip",["show",e],{env:process.env})}catch(i){ne.debug(`Unable to run 'pip show ${e}': ${i}`)}if(!t)return;let n=t.split(/\r\n|\r|\n/).find(i=>i.startsWith("Version:"));if(!n){ne.debug(`Unable to find version in output of 'pipenv run pip show ${e}' / 'pip show ${e}': ${t}`);return}return n.split(":")[1].trim()}async function KWe(e){let n={jsii:"Amazon.JSII.Runtime",constructs:"Constructs",cdktf:"HashiCorp.Cdktf",cdktn:"Io.Cdktn"}[e]||e,r;try{r=await tt("dotnet",["list","package","--include-transitive"],{env:process.env})}catch(o){ne.debug(`Unable to run 'dotnet list package --include-transitive': ${o}`);return}let i=r.split(/\r\n|\r|\n/).find(o=>o.includes(`> ${n}`));if(!i){ne.debug(`Unable to find version for '${n}' in output of 'dotnet list package --include-transitive': ${r}`);return}return i.split(" ").reverse().find(o=>o!=="")}async function xWe(e){var o;let n={jsii:"jsii-runtime-go",cdktf:"github.com/hashicorp/terraform-cdk-go",cdktn:"github.com/open-constructs/cdk-terrain-go"}[e]||e,r;try{r=await tt("go",["list","-m","all"],{env:process.env})}catch(s){ne.debug(`Unable to run 'go list -m all': ${s}`);return}let i=r.split(/\r\n|\r|\n/).find(s=>s.includes(n));if(!i){ne.debug(`Unable to find version for '${n}' in output of 'go list -m all': ${r}`);return}return i.includes("=>")&&(ne.debug(`Found local version for '${n}': ${i}`),i=i.split("=>")[0].trim()),(o=i.split(" ").pop())==null?void 0:o.replace("v","")}async function LWe(e){let n={jsii:"jsii-runtime"}[e]||e,r;try{r=await tt("mvn",["dependency:list"],{env:process.env})}catch(l){ne.debug(`Unable to run 'mvn dependency:list': ${l}`);return}let i=r.split("The following files have been resolved")[1];if(!i){ne.debug(`Unable to find resolution passage in output of 'mvn dependency:list': ${r}`);return}let o=i.split(/\r\n|\r|\n/).find(l=>l.includes(`${n}:`));if(!o){ne.debug(`Unable to find version for '${n}' in output of 'mvn dependency:list': ${r}`);return}let s=`${n}:jar:`,a=o.indexOf(s)+s.length,u=o.indexOf(":compile");return o.substring(a,u)}async function UWe(e){return mv("./")?hv(e):LWe(e)}async function wd(e,t){let n=async()=>{};return await({typescript:FWe,python:kWe,go:xWe,csharp:KWe,java:UWe}[e]||n)(t)??void 0}async function JWe(){let e={},t=LO();e.language=t??null,e["cdktn-cli"]=wo;let n=jO();if(e.node=await n??null,t){let r=wd(t,"cdktn"),i=wd(t,"cdktf"),o=wd(t,"constructs"),s=wd(t,"jsii");e.cdktn=await r??null,e.cdktf=await i??null,e.constructs=await o??null,e.jsii=await s??null}switch(e.terraform=await fv,e.arch=ta.arch(),e.os=`${ta.platform()} ${ta.release()}`,t){case"python":{let r=DO(),i=qO(),o=zO();e.python=await r??null,e.pip=await i??null,e.pipenv=await o??null}break;case"java":{let r=JO(),i=OO(),o=MO();e.java=await r??null,e.maven=await i??null,e.gradle=await o??null}break;case"csharp":e.dotnet=await UO()??null;break;case"go":e.go=await PO()??null;break}return e}var KO,ta,xO,$O=Ve(()=>{"use strict";KO=M(require("path")),ta=M(require("os"));Eo();ea();Iv();Vd();xO=M(vo());Cv()});var t3={};Ot(t3,{CDKTF_DISABLE_PLUGIN_CACHE_ENV:()=>DWe,CHECKPOINT_DISABLE:()=>MWe,DISABLE_VERSION_CHECK:()=>OWe});function e3(e){return e==="true"||e==="1"}var OWe,MWe,DWe,n3=Ve(()=>{"use strict";OWe=e3(process.env.DISABLE_VERSION_CHECK),MWe=!!process.env.CHECKPOINT_DISABLE,DWe=e3(process.env.CDKTF_DISABLE_PLUGIN_CACHE_ENV)});var qWe={};var r3=Ve(()=>{"use strict"});var o3={};Ot(o3,{isAttributeNestedType:()=>i3,isNestedTypeAttribute:()=>zWe});function i3(e){return typeof e=="object"&&!Array.isArray(e)&&typeof e.nesting_mode=="string"&&(typeof e.attributes=="object"||typeof e.attributes>"u")}function zWe(e){return typeof e.nested_type<"u"&&i3(e.nested_type)}var s3=Ve(()=>{"use strict"});var We=d(ke=>{"use strict";var PWe=ke&&ke.__createBinding||(Object.create?function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]}),Jt=ke&&ke.__exportStar||function(e,t){for(var n in e)n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n)&&PWe(t,e,n)};Object.defineProperty(ke,"__esModule",{value:!0});Jt((uv(),St(NO)),ke);Jt((_O(),St(VO)),ke);Jt((rm(),St(sv)),ke);Jt(($O(),St(QO)),ke);Jt((n3(),St(t3)),ke);Jt((gv(),St(HO)),ke);Jt((Cv(),St(kO)),ke);Jt((Eo(),St(AO)),ke);Jt((r3(),St(qWe)),ke);Jt((s3(),St(o3)),ke);Jt((XZ(),St(QU)),ke);Jt((Iv(),St(YO)),ke);Jt((ea(),St(CO)),ke);Jt((Vd(),St(GO)),ke)});var c3=d((EFe,bv)=>{"use strict";var a3=require("fs");bv.exports=e=>new Promise(t=>{a3.access(e,n=>{t(!n)})});bv.exports.sync=e=>{try{return a3.accessSync(e),!0}catch{return!1}}});var l3=d((HFe,yv)=>{"use strict";var u3=(e,...t)=>new Promise(n=>{n(e(...t))});yv.exports=u3;yv.exports.default=u3});var g3=d((wFe,Av)=>{"use strict";var jWe=l3(),d3=e=>{if(!((Number.isInteger(e)||e===1/0)&&e>0))return Promise.reject(new TypeError("Expected `concurrency` to be a number from 1 and up"));let t=[],n=0,r=()=>{n--,t.length>0&&t.shift()()},i=(a,c,...u)=>{n++;let l=jWe(a,...u);c(l),l.then(r,r)},o=(a,c,...u)=>{n<e?i(a,c,...u):t.push(i.bind(null,a,c,...u))},s=(a,...c)=>new Promise(u=>o(a,u,...c));return Object.defineProperties(s,{activeCount:{get:()=>n},pendingCount:{get:()=>t.length},clearQueue:{value:()=>{t.length=0}}}),s};Av.exports=d3;Av.exports.default=d3});var p3=d((YFe,I3)=>{"use strict";var f3=g3(),fm=class extends Error{constructor(t){super(),this.value=t}},QWe=(e,t)=>Promise.resolve(e).then(t),$We=e=>Promise.all(e).then(t=>t[1]===!0&&Promise.reject(new fm(t[0])));I3.exports=(e,t,n)=>{n=Object.assign({concurrency:1/0,preserveOrder:!0},n);let r=f3(n.concurrency),i=[...e].map(s=>[s,r(QWe,s,t)]),o=f3(n.preserveOrder?1:1/0);return Promise.all(i.map(s=>o($We,s))).then(()=>{}).catch(s=>s instanceof fm?s.value:Promise.reject(s))}});var C3=d((FFe,Bv)=>{"use strict";var m3=require("path"),h3=c3(),e2e=p3();Bv.exports=(e,t)=>(t=Object.assign({cwd:process.cwd()},t),e2e(e,n=>h3(m3.resolve(t.cwd,n)),t));Bv.exports.sync=(e,t)=>{t=Object.assign({cwd:process.cwd()},t);for(let n of e)if(h3.sync(m3.resolve(t.cwd,n)))return n}});var y3=d((TFe,Gv)=>{"use strict";var Ni=require("path"),b3=C3();Gv.exports=(e,t={})=>{let n=Ni.resolve(t.cwd||""),{root:r}=Ni.parse(n),i=[].concat(e);return new Promise(o=>{(function s(a){b3(i,{cwd:a}).then(c=>{c?o(Ni.join(a,c)):a===r?o(null):s(Ni.dirname(a))})})(n)})};Gv.exports.sync=(e,t={})=>{let n=Ni.resolve(t.cwd||""),{root:r}=Ni.parse(n),i=[].concat(e);for(;;){let o=b3.sync(i,{cwd:n});if(o)return Ni.join(n,o);if(n===r)return null;n=Ni.dirname(n)}}});var B3=d((XFe,Zv)=>{"use strict";var A3=y3();Zv.exports=async({cwd:e}={})=>A3("package.json",{cwd:e});Zv.exports.sync=({cwd:e}={})=>A3.sync("package.json",{cwd:e})});var pm,Im,vv,G3,t2e,Ie,gt=Ve(()=>{"use strict";pm=M(Pd()),Im=M(require("path")),vv=M(B3()),G3=()=>{let e=vv.sync({cwd:__dirname});if(!e)throw new Error("unable to find package.json");return JSON.parse(pm.readFileSync(e,"utf-8"))},t2e=()=>{let e=vv.sync({cwd:__dirname});if(!e)throw new Error("unable to find package.json");return Im.default.dirname(e)},Ie=()=>{let e=Im.default.join(__dirname,"..","handlers.js");return pm.existsSync(e)?require(e):require(Im.default.join(t2e(),"bundle","bin","cmds","handlers.js"))}});var ce,ft=Ve(()=>{"use strict";ce=class{constructor(){this.handler=async t=>{t.getYargsCompletions||await this.handleCommand(t)}}}});var S3=d((UFe,v3)=>{"use strict";gt();var Z3=M(We());ft();var n2e=G3(),Sv=class extends ce{constructor(){super(...arguments);this.command="init";this.describe="Create a new cdktn project from a template.";this.builder=n=>n.showHelpOnFail(!0).option("template",{type:"string",desc:"The template to be used to create a new project. Either URL to zip file or one of the built-in templates."}).option("project-name",{type:"string",desc:"The name of the project."}).option("project-description",{type:"string",desc:"The description of the project."}).option("dist",{type:"string",desc:'Install dependencies from a "dist" directory (for development)'}).option("local",{type:"boolean",desc:"Use local state storage for generated Terraform.",default:!1}).option("cdktf-version",{type:"string",desc:"The cdktn version to use while creating a new project.",default:n2e.version}).option("from-terraform-project",{type:"string",desc:"Use a terraform project as the basis, CDK constructs will be generated based on the .tf files in the path"}).option("enable-crash-reporting",{type:"boolean",desc:"Enable crash reporting for the CLI, refer to https://cdk.tf/crash-reporting for more details"}).option("providers",{describe:"Providers to add to your project",type:"array",default:[]}).option("providers-force-local",{type:"boolean",desc:"Force local installation of provider specified in init"}).option("tfe-hostname",{type:"string",desc:"The hostname of the Terraform Enterprise instance to use for remote state storage"}).strict()}async handleCommand(n){Z3.Errors.setScope("init"),await Ie().init(n)}};v3.exports=new Sv});var Wv=d((MFe,N3)=>{"use strict";var mm=M(We());gt();var W3=M(We());ft();var R3=(0,mm.readConfigSync)(),Rv=class extends ce{constructor(){super(...arguments);this.command="get";this.describe="Generate CDK Constructs for Terraform providers and modules.";this.builder=n=>n.showHelpOnFail(!0).option("output",{default:R3.codeMakerOutput,type:"string",desc:"Output directory for generated Constructs",alias:"o"}).option("language",{default:R3.language,required:!0,type:"string",desc:"Output programming language",alias:"l",choices:mm.LANGUAGES}).option("force",{default:!1,type:"boolean",desc:"Regenerates all generated constructs"}).option("parallelism",{type:"number",required:!1,desc:"Number of concurrently generated provider / module bindings. Only applies for languages that are not Typescript (translated by JSII). Defaults to infinity, denoted by -1",default:-1}).option("show-performance-info",{type:"boolean",required:!1,desc:"Shows performance information after generation"})}async handleCommand(n){W3.Errors.setScope("get"),await Ie().get(n)}};N3.exports=new Rv});var w3=d((zFe,H3)=>{"use strict";var V3=M(We());ft();gt();var _3=M(require("path")),E3=M(Pd());function r2e(e=process.cwd()){try{let t=_3.join(e,"cdktf.json");return E3.readJsonSync(t)}catch{return}}var Nv=class extends ce{constructor(){super(...arguments);this.command="convert";this.describe="Converts a single file of HCL configuration to CDK Terrain. Takes the file to be converted on stdin.";this.builder=n=>{var r;return n.example("cat main.tf | cdktn convert --provider integrations/github","Takes the HCL content of main.tf and converts it to CDK Terrain content and prints it").example("cat main.tf | cdktn convert --provider hashicorp/aws > imported.ts","Takes the HCL content of main.tf and converts it to CDK Terrain content in imported.ts").example("cat main.tf | cdktn convert --provider 'hashicorp/aws@ ~>3.62.0' 'integrations/github@ ~>4.16.0' --language python > imported.py","Takes the HCL content of main.tf and converts it to CDK Terrain content in imported.py").option("language",{choices:["typescript","python","csharp","java","go"],default:((r=r2e())==null?void 0:r.language)||"typescript"}).option("provider",{describe:"The conversion needs to know which providers are used in addition to the ones in your cdktf.json file. We search for a cdktf.json below your current working directory.",type:"array",default:[]}).option("stack",{describe:"Wrap the generated code within a stack class",type:"boolean",default:!1}).showHelpOnFail(!0)}}async handleCommand(n){V3.Errors.setScope("convert");let r=Ie();n.withProject!==void 0&&(n.language==="typescript"?n.withProject=!1:n.withProject=!0),await r.convert(n)}};H3.exports=new Nv});var k3=d((QFe,X3)=>{"use strict";var F3=M(We());gt();var T3=M(We());ft();var Y3=(0,F3.readConfigSync)(),Vv=class extends ce{constructor(){super(...arguments);this.command="deploy [stacks...]";this.describe="Deploy the given stacks";this.aliases=["apply"];this.builder=n=>n.positional("stacks",{desc:"Deploy stacks matching the given ids. Required when more than one stack is present in the app",type:"string"}).option("app",{default:Y3.app,required:!0,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:Y3.output,required:!0,desc:"Output directory for the synthesized Terraform config",alias:"o"}).option("auto-approve",{type:"boolean",default:!1,required:!1,desc:"Auto approve"}).option("outputs-file",{type:"string",required:!1,desc:"Path to file where stack outputs will be written as JSON",requiresArg:!0}).option("outputs-file-include-sensitive-outputs",{type:"boolean",required:!1,desc:"Whether to include sensitive outputs in the output file",default:!1}).option("ignore-missing-stack-dependencies",{type:"boolean",required:!1,desc:"Don't check if all stacks specified in the command have their dependencies included as well",default:!1}).option("parallelism",{type:"number",required:!1,desc:"Number of concurrent CDKTN stacks to run. Defaults to infinity, denoted by -1",default:-1}).option("refresh-only",{default:!1,required:!1,boolean:!0,desc:'Select the "refresh only" planning mode, which checks whether remote objects still match the outcome of the most recent Terraform apply but does not propose any actions to undo any changes made outside of Terraform.'}).option("terraform-parallelism",{type:"number",required:!1,desc:"Forwards value as the `-parallelism` flag to Terraform. By default, the this flag is not forwarded to Terraform. Note: This flag is not supported by remote / cloud backend",default:-1}).option("no-color",{type:"boolean",default:process.env.FORCE_COLOR==="0",required:!1,desc:"Disables terminal formatting sequences in the output."}).option("migrate-state",{type:"boolean",default:!1,required:!1,desc:"Pass this flag after switching state backends to approve a state migration for all targeted stacks"}).option("var",{type:"array",default:[],required:!1,desc:"Set a value for one of the input variables in the stack or stacks to apply. Use this option more than once to set more than one variable."}).option("var-file",{type:"array",default:[],required:!1,desc:"Load variable values from the given file, in addition to the default files terraform.tfvars and *.auto.tfvars. Use this option more than once to include more than one variables file."}).option("skip-synth",{type:"boolean",default:!1,required:!1,desc:"Skip synthesis of the application, assume the synthesized Terraform code is already present and up to date"}).option("skip-provider-lock",{type:"boolean",default:!1,required:!1,desc:"Block `terraform provider lock` from being run for any reason. Warning: This may cause issues when used with HCP Terraform"}).showHelpOnFail(!0)}async handleCommand(n){T3.Errors.setScope("deploy"),await Ie().deploy(n)}};X3.exports=new Vv});var J3=d((tTe,U3)=>{"use strict";var x3=M(We());gt();var L3=M(We());ft();var K3=(0,x3.readConfigSync)(),_v=class extends ce{constructor(){super(...arguments);this.command="destroy [stacks..]";this.describe="Destroy the given stacks";this.builder=n=>n.positional("stacks",{desc:"Destroy stacks matching the given ids. Required when more than one stack is present in the app",type:"string"}).option("app",{default:K3.app,required:!0,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:K3.output,required:!0,desc:"Output directory for the synthesized Terraform config",alias:"o"}).option("auto-approve",{type:"boolean",default:!1,required:!1,desc:"Auto approve"}).option("ignore-missing-stack-dependencies",{type:"boolean",required:!1,desc:"Don't check if all stacks specified in the command have their dependencies included as well",default:!1}).option("parallelism",{type:"number",required:!1,desc:"Number of concurrent CDKTN stacks to run. Defaults to infinity, denoted by -1",default:-1}).option("terraform-parallelism",{type:"number",required:!1,desc:"Forwards value as the `-parallelism` flag to Terraform. By default, the this flag is not forwarded to Terraform. Note: This flag is not supported by remote / cloud backend",default:-1}).option("var",{type:"array",default:[],required:!1,desc:"Set a value for one of the input variables in the stack or stacks to apply. Use this option more than once to set more than one variable."}).option("var-file",{type:"array",default:[],required:!1,desc:"Load variable values from the given file, in addition to the default files terraform.tfvars and *.auto.tfvars. Use this option more than once to include more than one variables file."}).option("no-color",{type:"boolean",default:process.env.FORCE_COLOR==="0",required:!1,desc:"Disables terminal formatting sequences in the output."}).option("migrate-state",{type:"boolean",default:!1,required:!1,desc:"Pass this flag after switching state backends to approve a state migration for all targeted stacks"}).option("skip-synth",{type:"boolean",default:!1,required:!1,desc:"Skip synthesis of the application, assume the synthesized Terraform code is already present and up to date"}).option("skip-provider-lock",{type:"boolean",default:!1,required:!1,desc:"Block `terraform provider lock` from being run for any reason. Warning: This may cause issues when used with HCP Terraform"}).showHelpOnFail(!0)}async handleCommand(n){L3.Errors.setScope("destroy"),await Ie().destroy(n)}};U3.exports=new _v});var z3=d((iTe,q3)=>{"use strict";var M3=M(We());gt();var D3=M(We());ft();var O3=(0,M3.readConfigSync)(),Ev=class extends ce{constructor(){super(...arguments);this.command="diff [stack]";this.describe="Perform a diff (terraform plan) for the given stack";this.aliases=["plan"];this.builder=n=>n.positional("stack",{desc:"Diff stack which matches the given id only. Required when more than one stack is present in the app",type:"string"}).option("app",{default:O3.app,required:!0,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:O3.output,required:!0,desc:"Output directory for the synthesized Terraform config",alias:"o"}).option("refresh-only",{default:!1,required:!1,boolean:!0,desc:'Select the "refresh only" planning mode, which checks whether remote objects still match the outcome of the most recent Terraform apply but does not propose any actions to undo any changes made outside of Terraform.'}).option("terraform-parallelism",{type:"number",required:!1,desc:"Forwards value as the `-parallelism` flag to Terraform. By default, the this flag is not forwarded to Terraform. Note: This flag is not supported by remote / cloud backend",default:-1}).option("var",{type:"array",default:[],required:!1,desc:"Set a value for one of the input variables in the stack. Use this option more than once to set more than one variable."}).option("var-file",{type:"array",default:[],required:!1,desc:"Load variable values from the given file, in addition to the default files terraform.tfvars and *.auto.tfvars. Use this option more than once to include more than one variables file."}).option("no-color",{type:"boolean",default:process.env.FORCE_COLOR==="0",required:!1,desc:"Disables terminal formatting sequences in the output."}).option("migrate-state",{type:"boolean",default:!1,required:!1,desc:"Pass this flag after switching state backends to approve a state migration for the targeted stack"}).option("skip-synth",{type:"boolean",default:!1,required:!1,desc:"Skip synthesis of the application, assume the synthesized Terraform code is already present and up to date"}).option("skip-provider-lock",{type:"boolean",default:!1,required:!1,desc:"Block `terraform provider lock` from being run for any reason. Warning: This may cause issues when used with HCP Terraform"}).showHelpOnFail(!0)}async handleCommand(n){D3.Errors.setScope("diff"),await Ie().diff(n)}};q3.exports=new Ev});var Q3=d((aTe,j3)=>{"use strict";gt();var hm=M(We());ft();var P3=(0,hm.readConfigSync)(),Hv=class extends ce{constructor(){super(...arguments);this.command="list";this.describe="List stacks in app.";this.builder=n=>n.option("app",{default:P3.app,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:P3.output,desc:"Output directory for the synthesized Terraform config",alias:"o"}).showHelpOnFail(!0)}async handleCommand(n){hm.Errors.setScope("list"),await Ie().list(n)}};j3.exports=new Hv});var tM=d((lTe,eM)=>{"use strict";gt();var $3=M(We());ft();var wv=class extends ce{constructor(){super(...arguments);this.command="login";this.describe="Retrieves an API token to connect to Terraform Cloud or Terraform Enterprise.";this.builder=n=>n.showHelpOnFail(!0).option("tfe-hostname",{string:!0,requiresArg:!0,describe:"The Terraform Enterprise hostname to authenticate against. If you use Terraform Cloud you can leave this on the default.",default:"app.terraform.io"}).example("cdktn login","Takes you through the interactive login process").example("cdktn login --tfe-hostname tfe.my-company.com","Takes you through the interactive login process on your companies Terraform Enterprise instance.").example("cat my-token.txt | cdktn login","Uses a locally stored token directly, instead of going through the interactive login process").strict()}async handleCommand(n){$3.Errors.setScope("login"),await Ie().login(n)}};eM.exports=new wv});var rM=d((fTe,nM)=>{"use strict";var na=M(We());gt();ft();var Yv=(0,na.readConfigSync)(),Fv=class extends ce{constructor(){super(...arguments);this.command="synth";this.describe="Synthesizes Terraform code for the given app in a directory.";this.aliases=["synthesize"];this.builder=n=>n.option("app",{default:Yv.app,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:Yv.output,desc:"Output directory for the synthesized Terraform config",alias:"o"}).option("check-code-maker-output",{type:"boolean",desc:"Should `codeMakerOutput` existence check be performed? By default it will be checked if providers or modules are configured.",default:(0,na.shouldCheckCodeMakerOutput)(Yv)}).option("hcl",{type:"boolean",desc:"Should the output be in HCL format?",default:!1}).showHelpOnFail(!0)}async handleCommand(n){na.Errors.setScope("synth"),await Ie().synth(n)}};nM.exports=new Fv});var cM=d((mTe,aM)=>{"use strict";var oM=M(We());gt();var sM=M(We());ft();var iM=(0,oM.readConfigSync)(),Tv=class extends ce{constructor(){super(...arguments);this.command="watch [stacks..]";this.describe="[experimental] Watch for file changes and automatically trigger a deploy";this.builder=n=>n.positional("stacks",{desc:"Deploy stacks matching the given ids. Required when more than one stack is present in the app",type:"string"}).option("app",{default:iM.app,required:!0,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:iM.output,required:!0,desc:"Output directory for the synthesized Terraform config",alias:"o"}).option("auto-approve",{type:"boolean",default:!1,required:!1,desc:"Auto approve"}).option("parallelism",{type:"number",required:!1,desc:"Number of concurrent CDKTN stacks to run. Defaults to infinity, denoted by -1",default:-1}).option("terraform-parallelism",{type:"number",required:!1,desc:"Forwards value as the `-parallelism` flag to Terraform. By default, the this flag is not forwarded to Terraform. Note: This flag is not supported by remote / cloud backend",default:-1}).showHelpOnFail(!0)}async handleCommand(n){sM.Errors.setScope("watch"),await Ie().watch(n)}};aM.exports=new Tv});var dM=d((bTe,lM)=>{"use strict";var Cm=M(We());gt();ft();var uM=(0,Cm.readConfigSync)(),Xv=class extends ce{constructor(){super(...arguments);this.command="output [stacks..]";this.describe="Prints the output of stacks";this.aliases=["outputs"];this.builder=n=>n.positional("stacks",{desc:"Get outputs of the stacks matching the given ids. Required when more than one stack is present in the app",type:"string"}).option("app",{default:uM.app,required:!0,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:uM.output,required:!0,desc:"Output directory for the synthesized Terraform config",alias:"o"}).option("outputs-file",{type:"string",required:!1,desc:"Path to file where stack outputs will be written as JSON",requiresArg:!0}).option("outputs-file-include-sensitive-outputs",{type:"boolean",required:!1,desc:"Whether to include sensitive outputs in the output file",default:!1}).option("skip-synth",{type:"boolean",default:!1,required:!1,desc:"Skip synthesis of the application, assume the synthesized Terraform code is already present and up to date"}).option("skip-provider-lock",{type:"boolean",default:!1,required:!1,desc:"Block `terraform provider lock` from being run for any reason. Warning: This may cause issues when used with HCP Terraform"}).showHelpOnFail(!0)}async handleCommand(n){Cm.Errors.setScope("output"),await Ie().output(n)}};lM.exports=new Xv});var IM=d((BTe,fM)=>{"use strict";gt();var gM=M(We());ft();var kv=class extends ce{constructor(){super(...arguments);this.command="debug";this.describe="Get debug information about the current project and environment";this.builder=n=>n.showHelpOnFail(!0).option("json",{default:!1,type:"boolean",desc:"If set, output will be in JSON format."})}async handleCommand(n){gM.Errors.setScope("debug"),await Ie().debug(n)}};fM.exports=new kv});var hM=d((vTe,mM)=>{"use strict";gt();var pM=M(We());ft();var Kv=class extends ce{constructor(){super(...arguments);this.command="add <provider...>";this.describe="Add one or more Terraform providers to your project.";this.builder=n=>n.showHelpOnFail(!0).positional("provider",{type:"string",desc:"Name of the provider to add. Can include a version constraint (e.g. aws@~>4.0).",required:!0}).option("force-local",{type:"boolean",desc:"force local provider installation, even if pre-built provider exists"})}async handleCommand(n){pM.Errors.setScope("provider add"),await Ie().providerAdd(n)}};mM.exports=new Kv});var yM=d((WTe,bM)=>{"use strict";gt();var CM=M(We());ft();var xv=class extends ce{constructor(){super(...arguments);this.command="upgrade <provider...>";this.describe=`Upgrade one or more Terraform providers in your project to the newest version compatible with your CDKTN version.
|
|
75
|
+
If your project has the associated pre-built provider already installed, CDKTN updates the pre-built provider. Otherwise, CDKTN adds the specified provider to the cdktf.json configuration file and generates local provider bindings.`;this.builder=n=>n.showHelpOnFail(!0).positional("provider",{type:"string",desc:"Name of the provider to upgrade. Can include a version constraint (e.g. aws@~>4.0).",required:!0})}async handleCommand(n){CM.Errors.setScope("provider upgrade"),await Ie().providerUpgrade(n)}};bM.exports=new xv});var GM=d((_Te,BM)=>{"use strict";gt();var AM=M(We());ft();var Lv=class extends ce{constructor(){super(...arguments);this.command="list [flags]";this.describe="List installed providers";this.builder=n=>n.showHelpOnFail(!0).option("json",{type:"boolean",default:!1,desc:"get providers list as json"})}async handleCommand(n){AM.Errors.setScope("provider list"),await Ie().providerList(n)}};BM.exports=new Lv});var SM=d((ETe,vM)=>{"use strict";var ZM=M(require("yargs")),Uv=class{constructor(){this.command="provider";this.describe="A set of subcommands that facilitates provider management";this.builder=t=>t.command(Wv()).command(hM()).command(yM()).command(GM());this.handler=()=>{ZM.default.showHelp()}}};vM.exports=new Uv});var Vi=M(require("yargs")),RM=M(require("path")),WM=M(require("os")),bm=M(Pd()),NM=M(UI()),kr=M(We());process.env.NODE_ENV=process.env.NODE_ENV||"production";var i2e=()=>{let e=process.env.TF_PLUGIN_CACHE_DIR||RM.join(WM.homedir(),".terraform.d","plugin-cache");return bm.existsSync(e)||bm.mkdirpSync(e),e};kr.CDKTF_DISABLE_PLUGIN_CACHE_ENV||(process.env.TF_PLUGIN_CACHE_DIR=i2e());var o2e=function(e,t,n,r){t._.includes("diff")||t._.includes("deploy")||t._.includes("plan")||t._.includes("apply")?n(async(i,o)=>{let s=[];try{let a=await(0,kr.readCDKTFManifest)();s.push(...Object.values(a.stacks).map(c=>`${c.name}:target stack "${c.name}"`))}finally{r([...o,...s])}}):n()};Vi.command(S3()).command(Wv()).command(w3()).command(k3()).command(J3()).command(z3()).command(Q3()).command(tM()).command(rM()).command(cM()).command(dM()).command(IM()).command(SM()).recommendCommands().exitProcess(!1).wrap(Vi.terminalWidth()).showHelpOnFail(!1).env("CDKTF").epilogue('Options can be specified via environment variables with the "CDKTF_" prefix (e.g. "CDKTF_OUTPUT")').help().alias("h","help").option("experimental-provider-schema-cache-path",{type:"string",default:!1,required:!1,desc:"An experimental schema cache that can be used to improve the speed of cdktn get and convert. Supported using the env CDKTF_EXPERIMENTAL_PROVIDER_SCHEMA_CACHE_PATH."}).option("disable-plugin-cache-env",{type:"boolean",default:!1,required:!1,desc:"Dont set TF_PLUGIN_CACHE_DIR automatically. This is useful when the plugin cache is configured differently. Supported using the env CDKTF_DISABLE_PLUGIN_CACHE_ENV."}).option("log-level",{type:"string",required:!1,desc:"Which log level should be written. Only supported via setting the env CDKTF_LOG_LEVEL"}).option("log-file-directory",{require:!1,desc:"The directory path where CDKTN should create `cdktf.log` and print logs at the `debug` level. If not set, CDKTF writes logs to standard out at the level specified in `CDKTF_LOG_LEVEL`. Only supported via setting the env CDKTF_LOG_FILE_DIRECTORY"}).option("context-json",{required:!1,hidden:!0,desc:"Used internally for env variable"}).completion("completion",o2e).parserConfiguration({"boolean-negation":!1}).command({command:"*",handler:e=>{let t=e._[0];t!=="completion"&&(console.error(t?`Could not find command "${t}", here are all available ones:`:"Please pass a command to cdktn, here are all available ones:"),Vi.showHelp(),process.exit(1))}}).fail(async(e,t)=>{if(Vi.exit(1,t),e&&console.log(e),(0,kr.IsErrorType)(t,"Usage")||(0,kr.IsErrorType)(t,"External"))console.error(t.message);else if(t){console.error(t.message),console.error(t.stack),console.error("Collecting Debug Information...");let n=await(0,kr.collectDebugInformation)();console.error("Debug Information:"),Object.entries(n).forEach(([r,i])=>{console.log(`${r}: ${i===null?"null":i}`)})}await NM.close(4e3),process.exit(1)}).argv;
|
|
76
|
+
/*! Bundled license information:
|
|
77
|
+
|
|
78
|
+
@sentry/node/cjs/integrations/anr/worker-script.js:
|
|
79
|
+
(*! @sentry/node 7.120.3 (5a833b4) | https://github.com/getsentry/sentry-javascript *)
|
|
80
|
+
|
|
81
|
+
localforage/dist/localforage.js:
|
|
82
|
+
(*!
|
|
83
|
+
localForage -- Offline Storage, Improved
|
|
84
|
+
Version 1.10.0
|
|
85
|
+
https://localforage.github.io/localForage
|
|
86
|
+
(c) 2013-2017 Mozilla, Apache License 2.0
|
|
87
|
+
*)
|
|
88
|
+
*/
|
|
89
|
+
//# sourceMappingURL=cdktn.js.map
|