pup-recorder 0.3.3 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_tsup-dts-rollup.d.ts +103 -53
- package/dist/app.cjs +16 -16
- package/dist/chunk-VBQTMHHL.js +2 -0
- package/dist/cli.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/package.json +2 -2
- package/dist/chunk-QZHVDBDU.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import'source-map-support/register.js';import {createRequire}from'module';import {dirname,join}from'path';import {Log}from'node-av';import {AV_LOG_ERROR,AV_LOG_WARNING}from'node-av/constants';import {spawn}from'child_process';import Ge from'tree-kill';import g from'zod';import Ve from'electron';import {platform}from'os';import {HardwareContext}from'node-av/api';import {EventEmitter}from'events';var Pe=Object.create;var C=Object.defineProperty;var xe=Object.getOwnPropertyDescriptor;var _=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),v=t=>{throw TypeError(t)};var q=(t,e,r)=>e in t?C(t,e,{enumerable:true,configurable:true,writable:true,value:r}):t[e]=r;var Y=t=>[,,,Pe(null)],X=["class","method","getter","setter","accessor","field","value","get","set"],T=t=>t!==void 0&&typeof t!="function"?v("Function expected"):t,ve=(t,e,r,o,n)=>({kind:X[t],name:e,metadata:o,addInitializer:s=>r._?v("Already initialized"):n.push(T(s||null))}),N=(t,e)=>q(e,_("metadata"),t[3]),Q=(t,e,r,o)=>{for(var n=0,s=t[e>>1],a=s&&s.length;n<a;n++)s[n].call(r);return o},E=(t,e,r,o,n,s)=>{var i,c,u,f,p=e&7,R=false,d=false,k=2,D=X[p+5],we=t[k]||(t[k]=[]),h=((n=n.prototype),xe(n,r));for(var L=o.length-1;L>=0;L--)u=ve(p,r,c={},t[3],we),(u.static=R,u.private=d,f=u.access={has:m=>r in m},(f.get=m=>m[r]),p>2),i=(0, o[L])(h[D],u),c._=1,T(i)&&(h[D]=i);return h&&C(n,r,h),n},Z=(t,e,r)=>q(t,e+"",r);var Je=(t,e,r)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&v("Object expected");var o,n;r&&(o=e[_("asyncDispose")]),o===void 0&&(o=e[_("dispose")],r&&(n=o)),typeof o!="function"&&v("Object not disposable"),n&&(o=function(){try{n.call(this);}catch(s){return Promise.reject(s)}}),t.push([r,o,e]);}else r&&t.push([r]);return e},qe=(t,e,r)=>{var o=typeof SuppressedError=="function"?SuppressedError:function(a,i,c,u){return u=Error(c),u.name="SuppressedError",u.error=a,u.suppressed=i,u},n=a=>e=r?new o(a,e,"An error was suppressed during disposal"):(r=true,a),s=a=>{for(;a=t.pop();)try{var i=a[1]&&a[1].call(a[2]);if(a[0])return Promise.resolve(i).then(s,c=>(n(c),s()))}catch(c){n(c);}if(r)throw e};return s()};function ee(t,e,r){try{return e(process.env[t])}catch{return r}}function re(t){if(typeof t=="number")return t;let e=Number(t);if(Number.isNaN(e))throw new Error(`Value ${t} is not a valid number`);return e}function Ze(t){return typeof t=="string"?t:String(t)}var Ie=createRequire(import.meta.url),I=process.env,S=ee("PUP_LOG_LEVEL",re,2),te=I.PUP_USE_INNER_PROXY==="1",oe=I.PUP_DISABLE_GPU==="1",ne=I.PUP_DISABLE_HW_CODEC==="1",se=I.PUP_DETERMINISTIC==="1",Oe=dirname(Ie.resolve("pup-recorder/package.json")),ie=join(Oe,"dist","app.cjs"),ae=I.PUP_WINDOW_TOLERANT==="1";var $="<pup@debug>",M="<pup@info>",H="<pup@warn>",W="<pup@error>",V="<pup@fatal>";function O(t,e){return function(...r){let o=r.map(n=>n instanceof Error?n.stack??String(n):n);return t.call(this,...o)}}var pe,ce,le,ue,de,y;de=[O],ue=[O],le=[O],ce=[O],pe=[O];var x=class{constructor(e=S){this._level=e;Q(y,5,this);Z(this,"_impl");this.impl=console;}_level;get level(){return this._level}set level(e){this._level=e,this.impl=this._impl??console;}get impl(){return this._impl}set impl(e){let r=e.debug??console.debug,o=e.info??console.info,n=e.warn??console.warn,s=e.error??console.error,a=this._level;this._impl={debug:a>=3?r:void 0,info:a>=2?o:void 0,warn:a>=1?n:void 0,error:a>=0?s:void 0};}debug(...e){this.impl?.debug?.($,...e);}info(...e){this.impl?.info?.(M,...e);}warn(...e){this.impl?.warn?.(H,...e);}error(...e){this.impl?.error?.(W,...e);}fatal(...e){this.impl?.error?.(V,...e),process.exit(1);}dispatch(e){let r=e.trimEnd();r.startsWith($)?this.debug(r.slice($.length+1)):r.startsWith(M)?this.info(r.slice(M.length+1)):r.startsWith(H)?this.warn(r.slice(H.length+1)):r.startsWith(W)?this.error(r.slice(W.length+1)):this.info(r);}attach(e,r){return new Promise((o,n)=>{this.debug(`${r}.attach`);let s="",a=i=>{let c=i.toString();c.startsWith(V)?s+=c.slice(V.length+1):this.dispatch(c);};e.stderr?.on("data",a),e.stdout?.on("data",a),e.on("error",i=>{s+=i.message,e.kill();}).once("close",(i,c)=>{i||c||s?(s||=`command failed: ${e.spawnargs.join(" ")}`,this.debug(`${r}.close`,{code:i,signal:c,fatal:s}),n(new Error(s))):(this.debug(`${r}.close`),o());}).on("unhandledRejection",i=>{this.error(`${r}.unhandled`,i);}).on("uncaughtExceptionMonitor",i=>{this.error(`${r}.unhandled`,i);});})}};y=Y(),E(y,1,"debug",de,x),E(y,1,"info",ue,x),E(y,1,"warn",le,x),E(y,1,"error",ce,x),E(y,1,"fatal",pe,x),N(y,x);var l=new x;Log.setCallback((t,e)=>{let r=e.trimEnd();r&&(t<=AV_LOG_ERROR?l.error(r):t<=AV_LOG_WARNING&&l.warn(r));});function gr(t,e){return (...r)=>{try{let o=t(...r);return o instanceof Promise?o.catch(()=>e):o}catch{return e}}}var j="--pup-priv-args";function xr(){let t=process.argv,e=t.find(o=>o.startsWith(j));if(!e)return l.debug("procargv",t),process.argv;let r=["exec",...t.slice(-1)];return e=Buffer.from(e.split("=")[1],"base64").toString(),r.push(...JSON.parse(e)),l.debug("pupargs",r),r}function me(t,e){let r=t.split(" ").filter(i=>i.length),[o,...n]=r;if(!o)throw new Error("empty command");let s=spawn(o,n,{stdio:"inherit",...e}),a=false;return {process:s,wait:l.attach(s,o),get killed(){return a},kill(){if(a)return;a=true;let i=s.pid;i?Ge(i,"SIGKILL"):s.kill("SIGKILL");}}}var Le=1920,Ue=1080,Ce=30,Ne=5,Fe="output.mp4",kr=g.object({duration:g.number().describe("Duration in seconds"),width:g.number().describe("Video width"),height:g.number().describe("Video height"),fps:g.number().describe("Frames per second"),withAudio:g.boolean().describe("Capture and encode audio"),outFile:g.string().describe("Comma-separated output paths; extension (.mp4/.webm) selects encoder"),useInnerProxy:g.boolean().describe("Use bilibili inner proxy for resource access"),deterministic:g.boolean().describe("Render by frame rather than recording"),disableGpu:g.boolean().describe("Disable GPU rendering, may reduce performance but increase stability"),disableHwCodec:g.boolean().describe("Disable hardware video encoder (NVENC/VideoToolbox), use software x265"),windowTolerant:g.boolean().describe("Fall back to dom-ready if warmup load times out")}),ge={width:Le,height:Ue,fps:Ce,duration:Ne,outFile:Fe,withAudio:false,useInnerProxy:te,deterministic:se,disableGpu:oe,disableHwCodec:ne,windowTolerant:ae};var Me="[HWAccel]";async function He(){let t=HardwareContext.auto(),e=t!==null;return t?.dispose(),e}var fe=He().then(t=>(l.debug(Me,"gpu:",t),t));async function he(t){let e=["no-sandbox","disable-dev-shm-usage","disable-web-security","disable-site-isolation-trials","ignore-certificate-errors","disable-blink-features=AutomationControlled","mute-audio","autoplay-policy=no-user-gesture-required","disable-extensions","force-device-scale-factor=1","force-color-profile=srgb","ignore-gpu-blocklist","use-gl=angle","deterministic-mode","enable-begin-frame-control","disable-new-content-rendering-timeout","run-all-compositor-stages-before-draw","disable-threaded-animation","disable-threaded-scrolling","disable-checker-imaging","disable-image-animation-resync","enable-surface-synchronization","font-render-hinting=none","disable-background-networking","js-flags=--max-old-space-size=512","renderer-process-limit=1","num-raster-threads=2","disable-background-timer-throttling","disable-renderer-backgrounding","disable-backgrounding-occluded-windows","enable-logging=stderr"];S>=3?e.push("log-level=0","v=1"):e.push("log-level=3");let r=["FontationBackend"];if(!(await fe&&!t))e.push("use-angle=swiftshader","enable-unsafe-swiftshader");else {e.push("disable-gpu-sandbox","enable-unsafe-webgpu");let n=platform();n==="darwin"?e.push("use-angle=metal"):n==="win32"?e.push("use-angle=d3d11"):(e.push("use-angle=vulkan","disable-vulkan-surface"),r.push("Vulkan"));}return e.push(`enable-features=${r.join(",")}`),e}async function je(t){return [...await he(t),"headless=new"]}var Be="[Electron]";async function be({args:t}){let r=(await je(t.includes("--disable-gpu"))).map(s=>`--${s}`);r.push(`${j}=${Buffer.from(JSON.stringify(t)).toString("base64")}`);let o=[Ve,...r,ie].join(" ");l.debug(Be,o);let n={...process.env,RUST_BACKTRACE:"full"};return me(o,{stdio:["ignore","pipe","pipe","ipc"],env:n})}var G=class extends EventEmitter{constructor(e){super(),e.on("message",r=>{let o=r;switch(this.emit("message",o),o.type){case "progress":this.emit("progress",o.value);break;case "done":this.emit("done",o.payload);break;case "error":this.emit("error",new Error(o.error));break}}),e.once("exit",r=>this.emit("close",r));}};var A="[pup]";async function ze(t,e){l.debug(A,"runPupApp",t,e);let r=[t,"--width",`${e.width}`,"--height",`${e.height}`,"--fps",`${e.fps}`,"--duration",`${e.duration}`,"--out-file",`${e.outFile}`];return e.withAudio&&r.push("--with-audio"),e.useInnerProxy&&r.push("--use-inner-proxy"),e.deterministic&&r.push("--deterministic"),e.disableGpu&&r.push("--disable-gpu"),e.disableHwCodec&&r.push("--disable-hw-codec"),e.windowTolerant&&r.push("--window-tolerant"),be({args:r})}var P=ge;async function Xr(t,e){l.debug(A,"pup",t,e);let{signal:r}=e;r?.throwIfAborted();let o=e.outFile??P.outFile,n={width:e.width??P.width,height:e.height??P.height,fps:e.fps??P.fps,duration:e.duration??P.duration,withAudio:e.withAudio??P.withAudio,useInnerProxy:e.useInnerProxy??P.useInnerProxy,deterministic:e.deterministic??P.deterministic,disableGpu:e.disableGpu??P.disableGpu,disableHwCodec:e.disableHwCodec??P.disableHwCodec,windowTolerant:e.windowTolerant??P.windowTolerant,outFile:o},s=performance.now(),a=0,i=f=>{l.info(A,`${t} progress: ${f}%`),a=f,e.onProgress?.(f);},c=await ze(t,n),u=()=>(l.error(A,"aborted"),c.kill());r?.addEventListener("abort",u,{once:true});try{let f=new Promise((R,d)=>{new G(c.process).on("close",k=>{let D=JSON.stringify({source:t,progress:a,code:k,killed:c.killed});d(new Error(`crashed: ${D}`));}).on("message",()=>r?.aborted&&d(r.reason)).on("progress",i).on("done",R).on("error",d);});i(0);let[p]=await Promise.all([f,c.wait]);return i(100),l.info(A,`done ${o} in ${Math.round(performance.now()-s)}ms`),{...p,options:n}}catch(f){throw c.kill(),r?.throwIfAborted(),f}finally{r?.removeEventListener("abort",u);}}export{Xr as A,Je as a,qe as b,ee as c,re as d,Ze as e,S as f,te as g,oe as h,ne as i,se as j,Oe as k,ie as l,ae as m,x as n,l as o,gr as p,j as q,xr as r,me as s,Le as t,Ue as u,Ce as v,Ne as w,Fe as x,kr as y,ge as z};//# sourceMappingURL=chunk-VBQTMHHL.js.map
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9iYXNlL2Vudi50cyIsIi4uL3NyYy9iYXNlL3BhcnNlci50cyIsIi4uL3NyYy9iYXNlL2NvbnN0YW50cy50cyIsIi4uL3NyYy9iYXNlL2xvZ2dpbmcudHMiLCIuLi9zcmMvYmFzZS9ub2Vyci50cyIsIi4uL3NyYy9iYXNlL3Byb2Nlc3MudHMiLCIuLi9zcmMvcmVuZGVyZXIvc2NoZW1hLnRzIiwiLi4vc3JjL2Jhc2UvaHdhY2NlbC50cyIsIi4uL3NyYy9iYXNlL2Nocm9taXVtLnRzIiwiLi4vc3JjL3JlbmRlcmVyL2VsZWN0cm9uLnRzIiwiLi4vc3JjL3JlbmRlcmVyL2lwYy50cyIsIi4uL3NyYy9wdXAudHMiXSwibmFtZXMiOlsicGVudiIsIm5hbWUiLCJwYXJzZXIiLCJkZWZhdWx0VmFsdWUiLCJwYXJzZU51bWJlciIsIngiLCJudW0iLCJwYXJzZVN0cmluZyIsInJlcXVpcmUiLCJjcmVhdGVSZXF1aXJlIiwiZW52IiwicHVwTG9nTGV2ZWwiLCJwdXBVc2VJbm5lclByb3h5IiwicHVwRGlzYWJsZUdQVSIsInB1cERpc2FibGVId0NvZGVjIiwicHVwRGV0ZXJtaW5pc3RpYyIsInB1cFBrZ1Jvb3QiLCJkaXJuYW1lIiwicHVwQXBwIiwiam9pbiIsInB1cFdpbmRvd1RvbGVyYW50IiwiREVCVUciLCJJTkZPIiwiV0FSTiIsIkVSUk9SIiwiRkFUQUwiLCJzdGFja0hvb2siLCJ0YXJnZXQiLCJfY29udGV4dCIsIm1lc3NhZ2VzIiwicHJvY2Vzc2VkIiwibXNnIiwiX2ZhdGFsX2RlYyIsIl9lcnJvcl9kZWMiLCJfd2Fybl9kZWMiLCJfaW5mb19kZWMiLCJfZGVidWdfZGVjIiwiX2luaXQiLCJMb2dnZXIiLCJfbGV2ZWwiLCJfX3J1bkluaXRpYWxpemVycyIsIl9fcHVibGljRmllbGQiLCJ2YWx1ZSIsImRlYnVnIiwiaW5mbyIsIndhcm4iLCJlcnJvciIsImx2IiwibWVzc2FnZSIsInByb2MiLCJyZXNvbHZlIiwicmVqZWN0IiwiZmF0YWwiLCJkaXNwYXRjaCIsImRhdGEiLCJlcnIiLCJjb2RlIiwic2lnbmFsIiwicmVhc29uIiwiX19kZWNvcmF0b3JTdGFydCIsIl9fZGVjb3JhdGVFbGVtZW50IiwiX19kZWNvcmF0b3JNZXRhZGF0YSIsImxvZ2dlciIsIkxvZyIsImxldmVsIiwiQVZfTE9HX0VSUk9SIiwiQVZfTE9HX1dBUk5JTkciLCJub2VyciIsImZuIiwiYXJncyIsInJldCIsIlBVUF9BUkdTX0tFWSIsInBhcmdzIiwiYXJndiIsInByaXYiLCJhcmciLCJleGVjIiwiY21kIiwib3B0aW9ucyIsInBhcnRzIiwicyIsImNvbW1hbmQiLCJzcGF3biIsImtpbGxlZCIsInBpZCIsInRyZWVLaWxsIiwiREVGQVVMVF9XSURUSCIsIkRFRkFVTFRfSEVJR0hUIiwiREVGQVVMVF9GUFMiLCJERUZBVUxUX0RVUkFUSU9OIiwiREVGQVVMVF9PVVRfRklMRSIsIlJlbmRlclNjaGVtYSIsInoiLCJkZWZhdWx0UmVuZGVyT3B0aW9ucyIsIlRBRyIsImRldGVjdEdQVURyaXZlciIsImh3IiwiSGFyZHdhcmVDb250ZXh0IiwicmVzdWx0IiwiY2FuSVVzZUdQVSIsImNocm9taXVtT3B0aW9ucyIsImRpc2FibGVHcHUiLCJvcHRzIiwiZmVhdHVyZXMiLCJwbGF0IiwicGxhdGZvcm0iLCJlbGVjdHJvbk9wdHMiLCJydW5FbGVjdHJvbkFwcCIsImVsZWN0cm9uQXJncyIsImEiLCJlbGVjdHJvbiIsIklwY1JlYWRlciIsIkV2ZW50RW1pdHRlciIsImNoaWxkIiwicmF3IiwiYyIsInJ1blB1cEFwcCIsInNvdXJjZSIsInJlbmRlciIsImQiLCJwdXAiLCJvdXRGaWxlIiwicmVuZGVyT3B0cyIsInQwIiwicHJvZ3Jlc3MiLCJ0aWNrIiwicCIsImhhbmRsZSIsIm9uQWJvcnQiLCJzdW1tYXJ5IiwiZSJdLCJtYXBwaW5ncyI6IjhpRUFNTyxTQUFTQSxFQUFBQSxDQUFRQyxFQUFjQyxDQUFBQSxDQUFzQkMsQ0FBQUEsQ0FBaUMsQ0FDM0YsR0FBSSxDQUNGLE9BQU9ELENBQUFBLENB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QUFPLENBQUFBLENBQVUsS0FBQXBFLENBQUFBLENBQU0sTUFBQSxDQUFRdUUsRUFBTyxNQUFPLENBQUMsRUFDNUU1RSxDQUFBQSxDQUFPLElBQUksTUFBTSxDQUFBLFNBQUEsRUFBWXBCLENBQUcsRUFBRSxDQUFDLEVBQ3JDLENBQUMsQ0FBQSxDQUNBLEVBQUEsQ0FBRyxVQUFXLElBQU0wQixDQUFBQSxFQUFRLE9BQUEsRUFBV04sQ0FBQUEsQ0FBT00sQ0FBQUEsQ0FBTyxNQUFNLENBQUMsQ0FBQSxDQUM1RCxFQUFBLENBQUcsV0FBWW9FLENBQUksQ0FBQSxDQUNuQixHQUFHLE1BQUEsQ0FBUTNFLENBQU8sQ0FBQSxDQUNsQixFQUFBLENBQUcsT0FBQSxDQUFTQyxDQUFNLEVBQ3ZCLENBQUMsQ0FBQSxDQUNEMEUsRUFBSyxDQUFDLENBQUEsQ0FDTixHQUFNLENBQUNJLENBQU8sQ0FBQSxDQUFJLE1BQU0sT0FBQSxDQUFRLEdBQUEsQ0FBSSxDQUFDL0IsQ0FBQUEsQ0FBUTZCLENBQUFBLENBQU8sSUFBSSxDQUFDLENBQUEsQ0FDekQsT0FBQUYsQ0FBQUEsQ0FBSyxHQUFHLEVBQ1IvRCxDQUFBQSxDQUFPLElBQUEsQ0FBS2dDLEVBQUssQ0FBQSxLQUFBLEVBQVEyQixDQUFPLE9BQU8sSUFBQSxDQUFLLEtBQUEsQ0FBTSxZQUFZLEdBQUEsRUFBSSxDQUFJRSxDQUFFLENBQUMsQ0FBQSxFQUFBLENBQUksQ0FBQSxDQUN0RSxDQUFFLEdBQUdNLENBQUFBLENBQVMsUUFBU1AsQ0FBVyxDQUMzQyxPQUFTUSxDQUFBQSxDQUFHLENBQ1YsTUFBQUgsQ0FBQUEsQ0FBTyxJQUFBLEVBQUssQ0FDWnRFLEdBQVEsY0FBQSxFQUFlLENBQ2pCeUUsQ0FDUixDQUFBLE9BQUUsQ0FDQXpFLEdBQVEsbUJBQUEsQ0FBb0IsT0FBQSxDQUFTdUUsQ0FBTyxFQUM5QyxDQUNGIiwiZmlsZSI6ImNodW5rLVZCUVRNSEhMLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ3JlYXRlZCBieSBBdXRva2FrYSAocXExOTA5Njk4NDk0QGdtYWlsLmNvbSkgb24gMjAyNi8wMi8yNS5cblxuZXhwb3J0IHR5cGUgRW52UGFyc2VyPFQ+ID0gKHZhbHVlOiB1bmtub3duKSA9PiBUO1xuXG5leHBvcnQgZnVuY3Rpb24gcGVudjxUPihuYW1lOiBzdHJpbmcsIHBhcnNlcjogRW52UGFyc2VyPFQ+LCBkZWZhdWx0VmFsdWU6IFQpOiBUO1xuZXhwb3J0IGZ1bmN0aW9uIHBlbnY8VD4obmFtZTogc3RyaW5nLCBwYXJzZXI6IEVudlBhcnNlcjxUPiwgZGVmYXVsdFZhbHVlPzogVCk6IFQgfCB1bmRlZmluZWQ7XG5leHBvcnQgZnVuY3Rpb24gcGVudjxUPihuYW1lOiBzdHJpbmcsIHBhcnNlcjogRW52UGFyc2VyPFQ+LCBkZWZhdWx0VmFsdWU/OiBUKTogVCB8IHVuZGVmaW5lZCB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlcihwcm9jZXNzLmVudltuYW1lXSk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gIH1cbn1cbiIsIi8vIENyZWF0ZWQgYnkgQXV0b2tha2EgKHFxMTkwOTY5ODQ5NEBnbWFpbC5jb20pIG9uIDIwMjYvMDEvMzAuXG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZU51bWJlcih4OiB1bmtub3duKTogbnVtYmVyIHtcbiAgaWYgKHR5cGVvZiB4ID09PSBcIm51bWJlclwiKSB7XG4gICAgcmV0dXJuIHg7XG4gIH1cbiAgY29uc3QgbnVtID0gTnVtYmVyKHgpO1xuICBpZiAoTnVtYmVyLmlzTmFOKG51bSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFZhbHVlICR7eH0gaXMgbm90IGEgdmFsaWQgbnVtYmVyYCk7XG4gIH1cbiAgcmV0dXJuIG51bTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU3RyaW5nKHg6IHVua25vd24pOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIHggPT09IFwic3RyaW5nXCIpIHJldHVybiB4O1xuICByZXR1cm4gU3RyaW5nKHgpO1xufVxuIiwiLy8gQ3JlYXRlZCBieSBBdXRva2FrYSAocXExOTA5Njk4NDk0QGdtYWlsLmNvbSkgb24gMjAyNi8wMi8wOS5cblxuaW1wb3J0IHsgY3JlYXRlUmVxdWlyZSB9IGZyb20gXCJtb2R1bGVcIjtcbmltcG9ydCB7IGRpcm5hbWUsIGpvaW4gfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgcGVudiB9IGZyb20gXCIuL2VudlwiO1xuaW1wb3J0IHsgcGFyc2VOdW1iZXIgfSBmcm9tIFwiLi9wYXJzZXJcIjtcblxuY29uc3QgcmVxdWlyZSA9IGNyZWF0ZVJlcXVpcmUoaW1wb3J0Lm1ldGEudXJsKTtcbmNvbnN0IGVudiA9IHByb2Nlc3MuZW52O1xuXG5leHBvcnQgY29uc3QgcHVwTG9nTGV2ZWwgPSBwZW52KFwiUFVQX0xPR19MRVZFTFwiLCBwYXJzZU51bWJlciwgMik7XG5leHBvcnQgY29uc3QgcHVwVXNlSW5uZXJQcm94eSA9IGVudltcIlBVUF9VU0VfSU5ORVJfUFJPWFlcIl0gPT09IFwiMVwiO1xuZXhwb3J0IGNvbnN0IHB1cERpc2FibGVHUFUgPSBlbnZbXCJQVVBfRElTQUJMRV9HUFVcIl0gPT09IFwiMVwiO1xuZXhwb3J0IGNvbnN0IHB1cERpc2FibGVId0NvZGVjID0gZW52W1wiUFVQX0RJU0FCTEVfSFdfQ09ERUNcIl0gPT09IFwiMVwiO1xuZXhwb3J0IGNvbnN0IHB1cERldGVybWluaXN0aWMgPSBlbnZbXCJQVVBfREVURVJNSU5JU1RJQ1wiXSA9PT0gXCIxXCI7XG5cbmV4cG9ydCBjb25zdCBwdXBQa2dSb290ID0gZGlybmFtZShyZXF1aXJlLnJlc29sdmUoXCJwdXAtcmVjb3JkZXIvcGFja2FnZS5qc29uXCIpKTtcbmV4cG9ydCBjb25zdCBwdXBBcHAgPSBqb2luKHB1cFBrZ1Jvb3QsIFwiZGlzdFwiLCBcImFwcC5janNcIik7XG5cbmV4cG9ydCBjb25zdCBwdXBXaW5kb3dUb2xlcmFudCA9IGVudltcIlBVUF9XSU5ET1dfVE9MRVJBTlRcIl0gPT09IFwiMVwiO1xuIiwiLy8gQ3JlYXRlZCBieSBBdXRva2FrYSAocXExOTA5Njk4NDk0QGdtYWlsLmNvbSkgb24gMjAyNi8wMi8wNi5cblxuaW1wb3J0IHR5cGUgeyBDaGlsZFByb2Nlc3MgfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IHsgTG9nIH0gZnJvbSBcIm5vZGUtYXZcIjtcbmltcG9ydCB7IEFWX0xPR19FUlJPUiwgQVZfTE9HX1dBUk5JTkcgfSBmcm9tIFwibm9kZS1hdi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHB1cExvZ0xldmVsIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9nZ2VyTGlrZSB7XG4gIGRlYnVnPyh0aGlzOiB2b2lkLCAuLi5tZXNzYWdlczogdW5rbm93bltdKTogdm9pZDtcblxuICBpbmZvPyh0aGlzOiB2b2lkLCAuLi5tZXNzYWdlczogdW5rbm93bltdKTogdm9pZDtcblxuICB3YXJuPyh0aGlzOiB2b2lkLCAuLi5tZXNzYWdlczogdW5rbm93bltdKTogdm9pZDtcblxuICBlcnJvcj8odGhpczogdm9pZCwgLi4ubWVzc2FnZXM6IHVua25vd25bXSk6IHZvaWQ7XG59XG5cbmNvbnN0IERFQlVHID0gXCI8cHVwQGRlYnVnPlwiO1xuY29uc3QgSU5GTyA9IFwiPHB1cEBpbmZvPlwiO1xuY29uc3QgV0FSTiA9IFwiPHB1cEB3YXJuPlwiO1xuY29uc3QgRVJST1IgPSBcIjxwdXBAZXJyb3I+XCI7XG5jb25zdCBGQVRBTCA9IFwiPHB1cEBmYXRhbD5cIjtcblxuZnVuY3Rpb24gc3RhY2tIb29rKHRhcmdldDogRnVuY3Rpb24sIF9jb250ZXh0OiBDbGFzc01ldGhvZERlY29yYXRvckNvbnRleHQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICh0aGlzOiBMb2dnZXIsIC4uLm1lc3NhZ2VzOiB1bmtub3duW10pIHtcbiAgICBjb25zdCBwcm9jZXNzZWQgPSBtZXNzYWdlcy5tYXAoKG1zZykgPT4ge1xuICAgICAgcmV0dXJuIG1zZyBpbnN0YW5jZW9mIEVycm9yID8gKG1zZy5zdGFjayA/PyBTdHJpbmcobXNnKSkgOiBtc2c7XG4gICAgfSk7XG4gICAgcmV0dXJuIHRhcmdldC5jYWxsKHRoaXMsIC4uLnByb2Nlc3NlZCk7XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBMb2dnZXIgaW1wbGVtZW50cyBMb2dnZXJMaWtlIHtcbiAgcHJpdmF0ZSBfaW1wbD86IExvZ2dlckxpa2U7XG5cbiAgZ2V0IGxldmVsKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2xldmVsO1xuICB9XG5cbiAgc2V0IGxldmVsKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9sZXZlbCA9IHZhbHVlO1xuICAgIHRoaXMuaW1wbCA9IHRoaXMuX2ltcGwgPz8gY29uc29sZTtcbiAgfVxuXG4gIGdldCBpbXBsKCk6IExvZ2dlckxpa2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9pbXBsO1xuICB9XG5cbiAgc2V0IGltcGwodmFsdWU6IExvZ2dlckxpa2UpIHtcbiAgICBjb25zdCBkZWJ1ZyA9IHZhbHVlLmRlYnVnID8/IGNvbnNvbGUuZGVidWc7XG4gICAgY29uc3QgaW5mbyA9IHZhbHVlLmluZm8gPz8gY29uc29sZS5pbmZvO1xuICAgIGNvbnN0IHdhcm4gPSB2YWx1ZS53YXJuID8/IGNvbnNvbGUud2FybjtcbiAgICBjb25zdCBlcnJvciA9IHZhbHVlLmVycm9yID8/IGNvbnNvbGUuZXJyb3I7XG4gICAgY29uc3QgbHYgPSB0aGlzLl9sZXZlbDtcbiAgICB0aGlzLl9pbXBsID0ge1xuICAgICAgZGVidWc6IGx2ID49IDMgPyBkZWJ1ZyA6IHVuZGVmaW5lZCxcbiAgICAgIGluZm86IGx2ID49IDIgPyBpbmZvIDogdW5kZWZpbmVkLFxuICAgICAgd2FybjogbHYgPj0gMSA/IHdhcm4gOiB1bmRlZmluZWQsXG4gICAgICBlcnJvcjogbHYgPj0gMCA/IGVycm9yIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9sZXZlbDogbnVtYmVyID0gcHVwTG9nTGV2ZWwpIHtcbiAgICB0aGlzLmltcGwgPSBjb25zb2xlO1xuICB9XG5cbiAgQHN0YWNrSG9va1xuICBkZWJ1ZyguLi5tZXNzYWdlczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgdGhpcy5pbXBsPy5kZWJ1Zz8uKERFQlVHLCAuLi5tZXNzYWdlcyk7XG4gIH1cblxuICBAc3RhY2tIb29rXG4gIGluZm8oLi4ubWVzc2FnZXM6IHVua25vd25bXSk6IHZvaWQge1xuICAgIHRoaXMuaW1wbD8uaW5mbz8uKElORk8sIC4uLm1lc3NhZ2VzKTtcbiAgfVxuXG4gIEBzdGFja0hvb2tcbiAgd2FybiguLi5tZXNzYWdlczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgdGhpcy5pbXBsPy53YXJuPy4oV0FSTiwgLi4ubWVzc2FnZXMpO1xuICB9XG5cbiAgQHN0YWNrSG9va1xuICBlcnJvciguLi5tZXNzYWdlczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgdGhpcy5pbXBsPy5lcnJvcj8uKEVSUk9SLCAuLi5tZXNzYWdlcyk7XG4gIH1cblxuICBAc3RhY2tIb29rXG4gIGZhdGFsKC4uLm1lc3NhZ2VzOiB1bmtub3duW10pOiB2b2lkIHtcbiAgICB0aGlzLmltcGw/LmVycm9yPy4oRkFUQUwsIC4uLm1lc3NhZ2VzKTtcbiAgICBwcm9jZXNzLmV4aXQoMSk7XG4gIH1cblxuICBwcml2YXRlIGRpc3BhdGNoKG1lc3NhZ2U6IHN0cmluZykge1xuICAgIGNvbnN0IG1zZyA9IG1lc3NhZ2UudHJpbUVuZCgpO1xuICAgIGlmIChtc2cuc3RhcnRzV2l0aChERUJVRykpIHtcbiAgICAgIHRoaXMuZGVidWcobXNnLnNsaWNlKERFQlVHLmxlbmd0aCArIDEpKTtcbiAgICB9IGVsc2UgaWYgKG1zZy5zdGFydHNXaXRoKElORk8pKSB7XG4gICAgICB0aGlzLmluZm8obXNnLnNsaWNlKElORk8ubGVuZ3RoICsgMSkpO1xuICAgIH0gZWxzZSBpZiAobXNnLnN0YXJ0c1dpdGgoV0FSTikpIHtcbiAgICAgIHRoaXMud2Fybihtc2cuc2xpY2UoV0FSTi5sZW5ndGggKyAxKSk7XG4gICAgfSBlbHNlIGlmIChtc2cuc3RhcnRzV2l0aChFUlJPUikpIHtcbiAgICAgIHRoaXMuZXJyb3IobXNnLnNsaWNlKEVSUk9SLmxlbmd0aCArIDEpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbmZvKG1zZyk7XG4gICAgfVxuICB9XG5cbiAgYXR0YWNoKHByb2M6IENoaWxkUHJvY2VzcywgbmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuZGVidWcoYCR7bmFtZX0uYXR0YWNoYCk7XG4gICAgICBsZXQgZmF0YWw6IHN0cmluZyA9IFwiXCI7XG4gICAgICBjb25zdCBkaXNwYXRjaCA9IChkYXRhOiBCdWZmZXIpID0+IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGRhdGEudG9TdHJpbmcoKTtcbiAgICAgICAgaWYgKG1lc3NhZ2Uuc3RhcnRzV2l0aChGQVRBTCkpIHtcbiAgICAgICAgICBmYXRhbCArPSBtZXNzYWdlLnNsaWNlKEZBVEFMLmxlbmd0aCArIDEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZGlzcGF0Y2gobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBwcm9jLnN0ZGVycj8ub24oXCJkYXRhXCIsIGRpc3BhdGNoKTtcbiAgICAgIHByb2Muc3Rkb3V0Py5vbihcImRhdGFcIiwgZGlzcGF0Y2gpO1xuICAgICAgcHJvY1xuICAgICAgICAub24oXCJlcnJvclwiLCAoZXJyKSA9PiB7XG4gICAgICAgICAgZmF0YWwgKz0gZXJyLm1lc3NhZ2U7XG4gICAgICAgICAgcHJvYy5raWxsKCk7XG4gICAgICAgIH0pXG4gICAgICAgIC5vbmNlKFwiY2xvc2VcIiwgKGNvZGUsIHNpZ25hbCkgPT4ge1xuICAgICAgICAgIGlmIChjb2RlIHx8IHNpZ25hbCB8fCBmYXRhbCkge1xuICAgICAgICAgICAgZmF0YWwgfHw9IGBjb21tYW5kIGZhaWxlZDogJHtwcm9jLnNwYXduYXJncy5qb2luKFwiIFwiKX1gO1xuICAgICAgICAgICAgdGhpcy5kZWJ1ZyhgJHtuYW1lfS5jbG9zZWAsIHsgY29kZSwgc2lnbmFsLCBmYXRhbCB9KTtcbiAgICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoZmF0YWwpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kZWJ1ZyhgJHtuYW1lfS5jbG9zZWApO1xuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLm9uKFwidW5oYW5kbGVkUmVqZWN0aW9uXCIsIChyZWFzb24pID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yKGAke25hbWV9LnVuaGFuZGxlZGAsIHJlYXNvbik7XG4gICAgICAgIH0pXG4gICAgICAgIC5vbihcInVuY2F1Z2h0RXhjZXB0aW9uTW9uaXRvclwiLCAoZXJyKSA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvcihgJHtuYW1lfS51bmhhbmRsZWRgLCBlcnIpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCk7XG5cbi8vIFJvdXRlIGZmbXBlZyBuYXRpdmUgbG9ncyB0aHJvdWdoIHB1cCdzIGxvZ2dlci5cbkxvZy5zZXRDYWxsYmFjaygobGV2ZWwsIG1lc3NhZ2UpID0+IHtcbiAgY29uc3QgbXNnID0gbWVzc2FnZS50cmltRW5kKCk7XG4gIGlmICghbXNnKSByZXR1cm47XG4gIGlmIChsZXZlbCA8PSBBVl9MT0dfRVJST1IpIGxvZ2dlci5lcnJvcihtc2cpO1xuICBlbHNlIGlmIChsZXZlbCA8PSBBVl9MT0dfV0FSTklORykgbG9nZ2VyLndhcm4obXNnKTtcbn0pO1xuXG5leHBvcnQgeyBsb2dnZXIgfTtcbiIsIi8vIENyZWF0ZWQgYnkgQXV0b2tha2EgKHFxMTkwOTY5ODQ5NEBnbWFpbC5jb20pIG9uIDIwMjYvMDIvMjQuXG5cbmV4cG9ydCBmdW5jdGlvbiBub2VycjxGbiBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gYW55LCBEPihcbiAgZm46IEZuLFxuICBkZWZhdWx0VmFsdWU6IEQsXG4pOiAoLi4uYXJnczogUGFyYW1ldGVyczxGbj4pID0+IFJldHVyblR5cGU8Rm4+IHwgRCB7XG4gIHJldHVybiAoLi4uYXJncykgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXQgPSBmbiguLi5hcmdzKTtcbiAgICAgIGlmIChyZXQgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgIHJldHVybiByZXQuY2F0Y2goKCkgPT4gZGVmYXVsdFZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXQ7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICAgIH1cbiAgfTtcbn1cbiIsIi8vIENyZWF0ZWQgYnkgQXV0b2tha2EgKHFxMTkwOTY5ODQ5NEBnbWFpbC5jb20pIG9uIDIwMjYvMDEvMzAuXG5cbmltcG9ydCB7IHNwYXduLCB0eXBlIENoaWxkUHJvY2VzcywgdHlwZSBTcGF3bk9wdGlvbnMgfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IHRyZWVLaWxsIGZyb20gXCJ0cmVlLWtpbGxcIjtcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gXCIuL2xvZ2dpbmdcIjtcblxuZXhwb3J0IGNvbnN0IFBVUF9BUkdTX0tFWSA9IFwiLS1wdXAtcHJpdi1hcmdzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJncygpIHtcbiAgY29uc3QgYXJndiA9IHByb2Nlc3MuYXJndjtcbiAgbGV0IHByaXYgPSBhcmd2LmZpbmQoKGFyZykgPT4gYXJnLnN0YXJ0c1dpdGgoUFVQX0FSR1NfS0VZKSk7XG4gIGlmICghcHJpdikge1xuICAgIGxvZ2dlci5kZWJ1ZyhcInByb2Nhcmd2XCIsIGFyZ3YpO1xuICAgIHJldHVybiBwcm9jZXNzLmFyZ3Y7XG4gIH1cbiAgY29uc3QgYXJncyA9IFtcImV4ZWNcIiwgLi4uYXJndi5zbGljZSgtMSldO1xuICBwcml2ID0gQnVmZmVyLmZyb20ocHJpdi5zcGxpdChcIj1cIilbMV0hLCBcImJhc2U2NFwiKS50b1N0cmluZygpO1xuICBhcmdzLnB1c2goLi4uSlNPTi5wYXJzZShwcml2KSk7XG4gIGxvZ2dlci5kZWJ1ZyhcInB1cGFyZ3NcIiwgYXJncyk7XG4gIHJldHVybiBhcmdzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2Nlc3NIYW5kbGUge1xuICBwcm9jZXNzOiBDaGlsZFByb2Nlc3M7XG4gIHdhaXQ6IFByb21pc2U8dm9pZD47XG4gIGdldCBraWxsZWQoKTogYm9vbGVhbjtcbiAga2lsbCgpOiB2b2lkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXhlYyhjbWQ6IHN0cmluZywgb3B0aW9ucz86IFNwYXduT3B0aW9ucyk6IFByb2Nlc3NIYW5kbGUge1xuICBjb25zdCBwYXJ0cyA9IGNtZC5zcGxpdChcIiBcIikuZmlsdGVyKChzKSA9PiBzLmxlbmd0aCk7XG4gIGNvbnN0IFtjb21tYW5kLCAuLi5hcmdzXSA9IHBhcnRzO1xuICBpZiAoIWNvbW1hbmQpIHRocm93IG5ldyBFcnJvcihcImVtcHR5IGNvbW1hbmRcIik7XG4gIGNvbnN0IHByb2MgPSBzcGF3bihjb21tYW5kLCBhcmdzLCB7XG4gICAgc3RkaW86IFwiaW5oZXJpdFwiLFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xuICBsZXQga2lsbGVkID0gZmFsc2U7XG4gIHJldHVybiB7XG4gICAgcHJvY2VzczogcHJvYyxcbiAgICB3YWl0OiBsb2dnZXIuYXR0YWNoKHByb2MsIGNvbW1hbmQpLFxuICAgIGdldCBraWxsZWQoKSB7XG4gICAgICByZXR1cm4ga2lsbGVkO1xuICAgIH0sXG4gICAga2lsbCgpIHtcbiAgICAgIGlmIChraWxsZWQpIHJldHVybjtcbiAgICAgIGtpbGxlZCA9IHRydWU7XG4gICAgICBjb25zdCBwaWQgPSBwcm9jLnBpZDtcbiAgICAgIGlmIChwaWQpIHRyZWVLaWxsKHBpZCwgXCJTSUdLSUxMXCIpO1xuICAgICAgZWxzZSBwcm9jLmtpbGwoXCJTSUdLSUxMXCIpO1xuICAgIH0sXG4gIH07XG59XG4iLCIvLyBDcmVhdGVkIGJ5IEF1dG9rYWthIChxcTE5MDk2OTg0OTRAZ21haWwuY29tKSBvbiAyMDI2LzAyLzA2LlxuXG5pbXBvcnQgeiBmcm9tIFwiem9kXCI7XG5pbXBvcnQge1xuICBwdXBEZXRlcm1pbmlzdGljLFxuICBwdXBEaXNhYmxlR1BVLFxuICBwdXBEaXNhYmxlSHdDb2RlYyxcbiAgcHVwVXNlSW5uZXJQcm94eSxcbiAgcHVwV2luZG93VG9sZXJhbnQsXG59IGZyb20gXCIuLi9iYXNlL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9XSURUSCA9IDE5MjA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9IRUlHSFQgPSAxMDgwO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRlBTID0gMzA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9EVVJBVElPTiA9IDU7XG5leHBvcnQgY29uc3QgREVGQVVMVF9PVVRfRklMRSA9IFwib3V0cHV0Lm1wNFwiO1xuXG5leHBvcnQgY29uc3QgUmVuZGVyU2NoZW1hID0gei5vYmplY3Qoe1xuICBkdXJhdGlvbjogei5udW1iZXIoKS5kZXNjcmliZShcIkR1cmF0aW9uIGluIHNlY29uZHNcIiksXG4gIHdpZHRoOiB6Lm51bWJlcigpLmRlc2NyaWJlKFwiVmlkZW8gd2lkdGhcIiksXG4gIGhlaWdodDogei5udW1iZXIoKS5kZXNjcmliZShcIlZpZGVvIGhlaWdodFwiKSxcbiAgZnBzOiB6Lm51bWJlcigpLmRlc2NyaWJlKFwiRnJhbWVzIHBlciBzZWNvbmRcIiksXG4gIHdpdGhBdWRpbzogei5ib29sZWFuKCkuZGVzY3JpYmUoXCJDYXB0dXJlIGFuZCBlbmNvZGUgYXVkaW9cIiksXG4gIG91dEZpbGU6IHouc3RyaW5nKCkuZGVzY3JpYmUoXCJDb21tYS1zZXBhcmF0ZWQgb3V0cHV0IHBhdGhzOyBleHRlbnNpb24gKC5tcDQvLndlYm0pIHNlbGVjdHMgZW5jb2RlclwiKSxcbiAgdXNlSW5uZXJQcm94eTogei5ib29sZWFuKCkuZGVzY3JpYmUoXCJVc2UgYmlsaWJpbGkgaW5uZXIgcHJveHkgZm9yIHJlc291cmNlIGFjY2Vzc1wiKSxcbiAgZGV0ZXJtaW5pc3RpYzogei5ib29sZWFuKCkuZGVzY3JpYmUoXCJSZW5kZXIgYnkgZnJhbWUgcmF0aGVyIHRoYW4gcmVjb3JkaW5nXCIpLFxuICBkaXNhYmxlR3B1OiB6LmJvb2xlYW4oKS5kZXNjcmliZShcIkRpc2FibGUgR1BVIHJlbmRlcmluZywgbWF5IHJlZHVjZSBwZXJmb3JtYW5jZSBidXQgaW5jcmVhc2Ugc3RhYmlsaXR5XCIpLFxuICBkaXNhYmxlSHdDb2RlYzogei5ib29sZWFuKCkuZGVzY3JpYmUoXCJEaXNhYmxlIGhhcmR3YXJlIHZpZGVvIGVuY29kZXIgKE5WRU5DL1ZpZGVvVG9vbGJveCksIHVzZSBzb2Z0d2FyZSB4MjY1XCIpLFxuICB3aW5kb3dUb2xlcmFudDogei5ib29sZWFuKCkuZGVzY3JpYmUoXCJGYWxsIGJhY2sgdG8gZG9tLXJlYWR5IGlmIHdhcm11cCBsb2FkIHRpbWVzIG91dFwiKSxcbn0pO1xuXG5leHBvcnQgdHlwZSBSZW5kZXJPcHRpb25zID0gei5pbmZlcjx0eXBlb2YgUmVuZGVyU2NoZW1hPjtcblxuZXhwb3J0IGludGVyZmFjZSBSZW5kZXJSZXN1bHQge1xuICBvcHRpb25zOiBSZW5kZXJPcHRpb25zO1xuICB3cml0dGVuOiBudW1iZXI7XG4gIGphbms6IG51bWJlcjtcbiAgb3V0RmlsZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdFJlbmRlck9wdGlvbnM6IFJlbmRlck9wdGlvbnMgPSB7XG4gIHdpZHRoOiBERUZBVUxUX1dJRFRILFxuICBoZWlnaHQ6IERFRkFVTFRfSEVJR0hULFxuICBmcHM6IERFRkFVTFRfRlBTLFxuICBkdXJhdGlvbjogREVGQVVMVF9EVVJBVElPTixcbiAgb3V0RmlsZTogREVGQVVMVF9PVVRfRklMRSxcbiAgd2l0aEF1ZGlvOiBmYWxzZSxcbiAgdXNlSW5uZXJQcm94eTogcHVwVXNlSW5uZXJQcm94eSxcbiAgZGV0ZXJtaW5pc3RpYzogcHVwRGV0ZXJtaW5pc3RpYyxcbiAgZGlzYWJsZUdwdTogcHVwRGlzYWJsZUdQVSxcbiAgZGlzYWJsZUh3Q29kZWM6IHB1cERpc2FibGVId0NvZGVjLFxuICB3aW5kb3dUb2xlcmFudDogcHVwV2luZG93VG9sZXJhbnQsXG59O1xuIiwiLy8gQ3JlYXRlZCBieSBBdXRva2FrYSAocXExOTA5Njk4NDk0QGdtYWlsLmNvbSkgb24gMjAyNi8wMi8yNy5cblxuaW1wb3J0IHsgSGFyZHdhcmVDb250ZXh0IH0gZnJvbSBcIm5vZGUtYXYvYXBpXCI7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tIFwiLi9sb2dnaW5nXCI7XG5cbmNvbnN0IFRBRyA9IFwiW0hXQWNjZWxdXCI7XG5cbmFzeW5jIGZ1bmN0aW9uIGRldGVjdEdQVURyaXZlcigpIHtcbiAgY29uc3QgaHcgPSBIYXJkd2FyZUNvbnRleHQuYXV0bygpO1xuICBjb25zdCByZXN1bHQgPSBodyAhPT0gbnVsbDtcbiAgaHc/LmRpc3Bvc2UoKTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGNvbnN0IGNhbklVc2VHUFUgPSBkZXRlY3RHUFVEcml2ZXIoKS50aGVuKChyZXN1bHQpID0+IHtcbiAgbG9nZ2VyLmRlYnVnKFRBRywgXCJncHU6XCIsIHJlc3VsdCk7XG4gIHJldHVybiByZXN1bHQ7XG59KTtcbiIsIi8vIENyZWF0ZWQgYnkgQXV0b2tha2EgKHFxMTkwOTY5ODQ5NEBnbWFpbC5jb20pIG9uIDIwMjYvMDQvMDMuXG5cbmltcG9ydCB7IHBsYXRmb3JtIH0gZnJvbSBcIm9zXCI7XG5pbXBvcnQgeyBwdXBMb2dMZXZlbCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgY2FuSVVzZUdQVSB9IGZyb20gXCIuL2h3YWNjZWxcIjtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNocm9taXVtT3B0aW9ucyhkaXNhYmxlR3B1OiBib29sZWFuKSB7XG4gIGNvbnN0IG9wdHMgPSBbXG4gICAgLy8g5a655Zmo5rKZ566xXG4gICAgXCJuby1zYW5kYm94XCIsXG4gICAgXCJkaXNhYmxlLWRldi1zaG0tdXNhZ2VcIixcbiAgICAvLyDot6jln58v5a6J5YWoXG4gICAgXCJkaXNhYmxlLXdlYi1zZWN1cml0eVwiLFxuICAgIFwiZGlzYWJsZS1zaXRlLWlzb2xhdGlvbi10cmlhbHNcIixcbiAgICBcImlnbm9yZS1jZXJ0aWZpY2F0ZS1lcnJvcnNcIixcbiAgICAvLyDlvZXliLbooYzkuLpcbiAgICBcImRpc2FibGUtYmxpbmstZmVhdHVyZXM9QXV0b21hdGlvbkNvbnRyb2xsZWRcIixcbiAgICBcIm11dGUtYXVkaW9cIixcbiAgICBcImF1dG9wbGF5LXBvbGljeT1uby11c2VyLWdlc3R1cmUtcmVxdWlyZWRcIixcbiAgICBcImRpc2FibGUtZXh0ZW5zaW9uc1wiLFxuICAgIC8vIOa4suafk1xuICAgIFwiZm9yY2UtZGV2aWNlLXNjYWxlLWZhY3Rvcj0xXCIsXG4gICAgXCJmb3JjZS1jb2xvci1wcm9maWxlPXNyZ2JcIixcbiAgICBcImlnbm9yZS1ncHUtYmxvY2tsaXN0XCIsXG4gICAgXCJ1c2UtZ2w9YW5nbGVcIixcbiAgICBcImRldGVybWluaXN0aWMtbW9kZVwiLFxuICAgIFwiZW5hYmxlLWJlZ2luLWZyYW1lLWNvbnRyb2xcIixcbiAgICBcImRpc2FibGUtbmV3LWNvbnRlbnQtcmVuZGVyaW5nLXRpbWVvdXRcIixcbiAgICBcInJ1bi1hbGwtY29tcG9zaXRvci1zdGFnZXMtYmVmb3JlLWRyYXdcIixcbiAgICBcImRpc2FibGUtdGhyZWFkZWQtYW5pbWF0aW9uXCIsXG4gICAgXCJkaXNhYmxlLXRocmVhZGVkLXNjcm9sbGluZ1wiLFxuICAgIFwiZGlzYWJsZS1jaGVja2VyLWltYWdpbmdcIixcbiAgICBcImRpc2FibGUtaW1hZ2UtYW5pbWF0aW9uLXJlc3luY1wiLFxuICAgIFwiZW5hYmxlLXN1cmZhY2Utc3luY2hyb25pemF0aW9uXCIsXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3B1cHBldGVlci9wdXBwZXRlZXIvaXNzdWVzLzI0MTBcbiAgICBcImZvbnQtcmVuZGVyLWhpbnRpbmc9bm9uZVwiLFxuICAgIC8vIOi1hOa6kOaOp+WItlxuICAgIFwiZGlzYWJsZS1iYWNrZ3JvdW5kLW5ldHdvcmtpbmdcIixcbiAgICBcImpzLWZsYWdzPS0tbWF4LW9sZC1zcGFjZS1zaXplPTUxMlwiLFxuICAgIFwicmVuZGVyZXItcHJvY2Vzcy1saW1pdD0xXCIsXG4gICAgXCJudW0tcmFzdGVyLXRocmVhZHM9MlwiLFxuICAgIFwiZGlzYWJsZS1iYWNrZ3JvdW5kLXRpbWVyLXRocm90dGxpbmdcIixcbiAgICBcImRpc2FibGUtcmVuZGVyZXItYmFja2dyb3VuZGluZ1wiLFxuICAgIFwiZGlzYWJsZS1iYWNrZ3JvdW5kaW5nLW9jY2x1ZGVkLXdpbmRvd3NcIixcbiAgICAvLyDml6Xlv5fov73ouKpcbiAgICBcImVuYWJsZS1sb2dnaW5nPXN0ZGVyclwiLFxuICBdO1xuXG4gIGlmIChwdXBMb2dMZXZlbCA+PSAzKSB7XG4gICAgb3B0cy5wdXNoKFwibG9nLWxldmVsPTBcIiwgXCJ2PTFcIik7XG4gIH0gZWxzZSB7XG4gICAgb3B0cy5wdXNoKFwibG9nLWxldmVsPTNcIik7XG4gIH1cblxuICBjb25zdCBmZWF0dXJlcyA9IFtcIkZvbnRhdGlvbkJhY2tlbmRcIl07XG4gIGNvbnN0IGVuYWJsZUdwdSA9IChhd2FpdCBjYW5JVXNlR1BVKSAmJiAhZGlzYWJsZUdwdTtcbiAgaWYgKCFlbmFibGVHcHUpIHtcbiAgICBvcHRzLnB1c2goXCJ1c2UtYW5nbGU9c3dpZnRzaGFkZXJcIiwgXCJlbmFibGUtdW5zYWZlLXN3aWZ0c2hhZGVyXCIpO1xuICB9IGVsc2Uge1xuICAgIG9wdHMucHVzaChcImRpc2FibGUtZ3B1LXNhbmRib3hcIiwgXCJlbmFibGUtdW5zYWZlLXdlYmdwdVwiKTtcbiAgICBjb25zdCBwbGF0ID0gcGxhdGZvcm0oKTtcbiAgICBpZiAocGxhdCA9PT0gXCJkYXJ3aW5cIikge1xuICAgICAgb3B0cy5wdXNoKFwidXNlLWFuZ2xlPW1ldGFsXCIpO1xuICAgIH0gZWxzZSBpZiAocGxhdCA9PT0gXCJ3aW4zMlwiKSB7XG4gICAgICBvcHRzLnB1c2goXCJ1c2UtYW5nbGU9ZDNkMTFcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIG9wdHMucHVzaChcInVzZS1hbmdsZT12dWxrYW5cIiwgXCJkaXNhYmxlLXZ1bGthbi1zdXJmYWNlXCIpO1xuICAgICAgZmVhdHVyZXMucHVzaChcIlZ1bGthblwiKTtcbiAgICB9XG4gIH1cblxuICBvcHRzLnB1c2goYGVuYWJsZS1mZWF0dXJlcz0ke2ZlYXR1cmVzLmpvaW4oXCIsXCIpfWApO1xuICByZXR1cm4gb3B0cztcbn1cbiIsIi8vIENyZWF0ZWQgYnkgQXV0b2tha2EgKHFxMTkwOTY5ODQ5NEBnbWFpbC5jb20pIG9uIDIwMjYvMDIvMjUuXG5cbmltcG9ydCBlbGVjdHJvbiBmcm9tIFwiZWxlY3Ryb25cIjtcbmltcG9ydCB7IGNocm9taXVtT3B0aW9ucyB9IGZyb20gXCIuLi9iYXNlL2Nocm9taXVtXCI7XG5pbXBvcnQgeyBwdXBBcHAgfSBmcm9tIFwiLi4vYmFzZS9jb25zdGFudHNcIjtcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gXCIuLi9iYXNlL2xvZ2dpbmdcIjtcbmltcG9ydCB7IGV4ZWMsIFBVUF9BUkdTX0tFWSB9IGZyb20gXCIuLi9iYXNlL3Byb2Nlc3NcIjtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVsZWN0cm9uT3B0cyhkaXNhYmxlR3B1OiBib29sZWFuKSB7XG4gIHJldHVybiBbLi4uKGF3YWl0IGNocm9taXVtT3B0aW9ucyhkaXNhYmxlR3B1KSksIFwiaGVhZGxlc3M9bmV3XCJdO1xufVxuXG5jb25zdCBUQUcgPSBcIltFbGVjdHJvbl1cIjtcblxuZXhwb3J0IGludGVyZmFjZSBSdW5FbGVjdHJvbkFwcE9wdGlvbnMge1xuICBhcmdzOiB1bmtub3duW107XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5FbGVjdHJvbkFwcCh7IGFyZ3MgfTogUnVuRWxlY3Ryb25BcHBPcHRpb25zKSB7XG4gIGNvbnN0IG9wdHMgPSBhd2FpdCBlbGVjdHJvbk9wdHMoYXJncy5pbmNsdWRlcyhcIi0tZGlzYWJsZS1ncHVcIikpO1xuICBjb25zdCBlbGVjdHJvbkFyZ3MgPSBvcHRzLm1hcCgoYSkgPT4gYC0tJHthfWApO1xuICBlbGVjdHJvbkFyZ3MucHVzaChgJHtQVVBfQVJHU19LRVl9PSR7QnVmZmVyLmZyb20oSlNPTi5zdHJpbmdpZnkoYXJncykpLnRvU3RyaW5nKFwiYmFzZTY0XCIpfWApO1xuICBjb25zdCBjbWQgPSBbZWxlY3Ryb24sIC4uLmVsZWN0cm9uQXJncywgcHVwQXBwXS5qb2luKFwiIFwiKTtcbiAgbG9nZ2VyLmRlYnVnKFRBRywgY21kKTtcblxuICBjb25zdCBlbnY6IE5vZGVKUy5Qcm9jZXNzRW52ID0geyAuLi5wcm9jZXNzLmVudiwgUlVTVF9CQUNLVFJBQ0U6IFwiZnVsbFwiIH07XG4gIHJldHVybiBleGVjKGNtZCwgeyBzdGRpbzogW1wiaWdub3JlXCIsIFwicGlwZVwiLCBcInBpcGVcIiwgXCJpcGNcIl0sIGVudiB9KTtcbn1cbiIsIi8vIENyZWF0ZWQgYnkgQXV0b2tha2EgKHFxMTkwOTY5ODQ5NEBnbWFpbC5jb20pIG9uIDIwMjYvMDQvMDEuXG5cbmltcG9ydCB0eXBlIHsgQ2hpbGRQcm9jZXNzIH0gZnJvbSBcImNoaWxkX3Byb2Nlc3NcIjtcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gXCJldmVudHNcIjtcblxuZXhwb3J0IGNvbnN0IGVudW0gSXBjTXNnVHlwZSB7XG4gIFBST0dSRVNTID0gXCJwcm9ncmVzc1wiLFxuICBET05FID0gXCJkb25lXCIsXG4gIEVSUk9SID0gXCJlcnJvclwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElwY0RvbmVQYXlsb2FkIHtcbiAgd3JpdHRlbjogbnVtYmVyO1xuICBqYW5rOiBudW1iZXI7XG4gIG91dEZpbGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9ncmVzc01zZyB7XG4gIHR5cGU6IElwY01zZ1R5cGUuUFJPR1JFU1M7XG4gIHZhbHVlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9uZU1zZyB7XG4gIHR5cGU6IElwY01zZ1R5cGUuRE9ORTtcbiAgcGF5bG9hZDogSXBjRG9uZVBheWxvYWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXJyb3JNc2cge1xuICB0eXBlOiBJcGNNc2dUeXBlLkVSUk9SO1xuICBlcnJvcjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBJcGNNc2cgPSBQcm9ncmVzc01zZyB8IERvbmVNc2cgfCBFcnJvck1zZztcblxuZXhwb3J0IGludGVyZmFjZSBJcGNFdmVudHMge1xuICBwcm9ncmVzczogW3ZhbHVlOiBudW1iZXJdO1xuICBtZXNzYWdlOiBbbXNnOiBJcGNNc2ddO1xuICBkb25lOiBbcGF5bG9hZDogSXBjRG9uZVBheWxvYWRdO1xuICBlcnJvcjogW2Vycm9yOiBFcnJvcl07XG4gIGNsb3NlOiBbY29kZTogbnVtYmVyIHwgbnVsbF07XG59XG5cbmV4cG9ydCBjbGFzcyBJcGNXcml0ZXIge1xuICB3cml0ZVByb2dyZXNzKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmQoeyB0eXBlOiBJcGNNc2dUeXBlLlBST0dSRVNTLCB2YWx1ZSB9KTtcbiAgfVxuXG4gIHdyaXRlRXJyb3IoZXJyb3I6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnNlbmQoeyB0eXBlOiBJcGNNc2dUeXBlLkVSUk9SLCBlcnJvciB9KTtcbiAgfVxuXG4gIHdyaXRlRG9uZShwYXlsb2FkOiBJcGNEb25lUGF5bG9hZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnNlbmQoeyB0eXBlOiBJcGNNc2dUeXBlLkRPTkUsIHBheWxvYWQgfSk7XG4gIH1cblxuICBwcml2YXRlIHNlbmQobXNnOiBJcGNNc2cpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGlmICghcHJvY2Vzcy5zZW5kKSByZXR1cm4gcmVzb2x2ZSgpO1xuICAgICAgcHJvY2Vzcy5zZW5kKG1zZywgKCkgPT4gcmVzb2x2ZSgpKTtcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSXBjUmVhZGVyIGV4dGVuZHMgRXZlbnRFbWl0dGVyPElwY0V2ZW50cz4ge1xuICBjb25zdHJ1Y3RvcihjaGlsZDogQ2hpbGRQcm9jZXNzKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjaGlsZC5vbihcIm1lc3NhZ2VcIiwgKHJhdykgPT4ge1xuICAgICAgY29uc3QgbXNnID0gcmF3IGFzIElwY01zZztcbiAgICAgIHRoaXMuZW1pdChcIm1lc3NhZ2VcIiwgbXNnKTtcbiAgICAgIHN3aXRjaCAobXNnLnR5cGUpIHtcbiAgICAgICAgY2FzZSBJcGNNc2dUeXBlLlBST0dSRVNTOlxuICAgICAgICAgIHRoaXMuZW1pdChcInByb2dyZXNzXCIsIG1zZy52YWx1ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgSXBjTXNnVHlwZS5ET05FOlxuICAgICAgICAgIHRoaXMuZW1pdChcImRvbmVcIiwgbXNnLnBheWxvYWQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIElwY01zZ1R5cGUuRVJST1I6XG4gICAgICAgICAgdGhpcy5lbWl0KFwiZXJyb3JcIiwgbmV3IEVycm9yKG1zZy5lcnJvcikpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNoaWxkLm9uY2UoXCJleGl0XCIsIChjKSA9PiB0aGlzLmVtaXQoXCJjbG9zZVwiLCBjKSk7XG4gIH1cbn1cbiIsIi8vIENyZWF0ZWQgYnkgQXV0b2tha2EgKHFxMTkwOTY5ODQ5NEBnbWFpbC5jb20pIG9uIDIwMjYvMDIvMDkuXG5cbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gXCIuL2Jhc2UvbG9nZ2luZ1wiO1xuaW1wb3J0IHsgcnVuRWxlY3Ryb25BcHAgfSBmcm9tIFwiLi9yZW5kZXJlci9lbGVjdHJvblwiO1xuaW1wb3J0IHsgSXBjUmVhZGVyLCB0eXBlIElwY0RvbmVQYXlsb2FkIH0gZnJvbSBcIi4vcmVuZGVyZXIvaXBjXCI7XG5pbXBvcnQgeyBkZWZhdWx0UmVuZGVyT3B0aW9ucywgdHlwZSBSZW5kZXJPcHRpb25zLCB0eXBlIFJlbmRlclJlc3VsdCB9IGZyb20gXCIuL3JlbmRlcmVyL3NjaGVtYVwiO1xuXG5jb25zdCBUQUcgPSBcIltwdXBdXCI7XG5cbmV4cG9ydCB0eXBlIFB1cFByb2dyZXNzQ2FsbGJhY2sgPSAocHJvZ3Jlc3M6IG51bWJlcikgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVwT3B0aW9ucyBleHRlbmRzIFBhcnRpYWw8UmVuZGVyT3B0aW9ucz4ge1xuICBzaWduYWw/OiBBYm9ydFNpZ25hbDtcbiAgb25Qcm9ncmVzcz86IFB1cFByb2dyZXNzQ2FsbGJhY2s7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVwUmVzdWx0IGV4dGVuZHMgUmVuZGVyUmVzdWx0IHt9XG5cbmFzeW5jIGZ1bmN0aW9uIHJ1blB1cEFwcChzb3VyY2U6IHN0cmluZywgcmVuZGVyOiBSZW5kZXJPcHRpb25zKSB7XG4gIGxvZ2dlci5kZWJ1ZyhUQUcsIGBydW5QdXBBcHBgLCBzb3VyY2UsIHJlbmRlcik7XG5cbiAgY29uc3QgYXJnczogc3RyaW5nW10gPSBbXG4gICAgc291cmNlLFxuICAgIGAtLXdpZHRoYCxcbiAgICBgJHtyZW5kZXIud2lkdGh9YCxcbiAgICBgLS1oZWlnaHRgLFxuICAgIGAke3JlbmRlci5oZWlnaHR9YCxcbiAgICBgLS1mcHNgLFxuICAgIGAke3JlbmRlci5mcHN9YCxcbiAgICBgLS1kdXJhdGlvbmAsXG4gICAgYCR7cmVuZGVyLmR1cmF0aW9ufWAsXG4gICAgYC0tb3V0LWZpbGVgLFxuICAgIGAke3JlbmRlci5vdXRGaWxlfWAsXG4gIF07XG4gIGlmIChyZW5kZXIud2l0aEF1ZGlvKSBhcmdzLnB1c2goYC0td2l0aC1hdWRpb2ApO1xuICBpZiAocmVuZGVyLnVzZUlubmVyUHJveHkpIGFyZ3MucHVzaChgLS11c2UtaW5uZXItcHJveHlgKTtcbiAgaWYgKHJlbmRlci5kZXRlcm1pbmlzdGljKSBhcmdzLnB1c2goYC0tZGV0ZXJtaW5pc3RpY2ApO1xuICBpZiAocmVuZGVyLmRpc2FibGVHcHUpIGFyZ3MucHVzaChgLS1kaXNhYmxlLWdwdWApO1xuICBpZiAocmVuZGVyLmRpc2FibGVId0NvZGVjKSBhcmdzLnB1c2goYC0tZGlzYWJsZS1ody1jb2RlY2ApO1xuICBpZiAocmVuZGVyLndpbmRvd1RvbGVyYW50KSBhcmdzLnB1c2goYC0td2luZG93LXRvbGVyYW50YCk7XG5cbiAgcmV0dXJuIHJ1bkVsZWN0cm9uQXBwKHsgYXJncyB9KTtcbn1cblxuY29uc3QgZCA9IGRlZmF1bHRSZW5kZXJPcHRpb25zO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHVwKHNvdXJjZTogc3RyaW5nLCBvcHRpb25zOiBQYXJ0aWFsPFB1cE9wdGlvbnM+KTogUHJvbWlzZTxQdXBSZXN1bHQ+IHtcbiAgbG9nZ2VyLmRlYnVnKFRBRywgYHB1cGAsIHNvdXJjZSwgb3B0aW9ucyk7XG5cbiAgY29uc3QgeyBzaWduYWwgfSA9IG9wdGlvbnM7XG4gIHNpZ25hbD8udGhyb3dJZkFib3J0ZWQoKTtcblxuICBjb25zdCBvdXRGaWxlID0gb3B0aW9ucy5vdXRGaWxlID8/IGQub3V0RmlsZTtcbiAgY29uc3QgcmVuZGVyT3B0czogUmVuZGVyT3B0aW9ucyA9IHtcbiAgICB3aWR0aDogb3B0aW9ucy53aWR0aCA/PyBkLndpZHRoLFxuICAgIGhlaWdodDogb3B0aW9ucy5oZWlnaHQgPz8gZC5oZWlnaHQsXG4gICAgZnBzOiBvcHRpb25zLmZwcyA/PyBkLmZwcyxcbiAgICBkdXJhdGlvbjogb3B0aW9ucy5kdXJhdGlvbiA/PyBkLmR1cmF0aW9uLFxuICAgIHdpdGhBdWRpbzogb3B0aW9ucy53aXRoQXVkaW8gPz8gZC53aXRoQXVkaW8sXG4gICAgdXNlSW5uZXJQcm94eTogb3B0aW9ucy51c2VJbm5lclByb3h5ID8/IGQudXNlSW5uZXJQcm94eSxcbiAgICBkZXRlcm1pbmlzdGljOiBvcHRpb25zLmRldGVybWluaXN0aWMgPz8gZC5kZXRlcm1pbmlzdGljLFxuICAgIGRpc2FibGVHcHU6IG9wdGlvbnMuZGlzYWJsZUdwdSA/PyBkLmRpc2FibGVHcHUsXG4gICAgZGlzYWJsZUh3Q29kZWM6IG9wdGlvbnMuZGlzYWJsZUh3Q29kZWMgPz8gZC5kaXNhYmxlSHdDb2RlYyxcbiAgICB3aW5kb3dUb2xlcmFudDogb3B0aW9ucy53aW5kb3dUb2xlcmFudCA/PyBkLndpbmRvd1RvbGVyYW50LFxuICAgIG91dEZpbGUsXG4gIH07XG5cbiAgY29uc3QgdDAgPSBwZXJmb3JtYW5jZS5ub3coKTtcblxuICBsZXQgcHJvZ3Jlc3MgPSAwO1xuICBjb25zdCB0aWNrID0gKHA6IG51bWJlcikgPT4ge1xuICAgIGxvZ2dlci5pbmZvKFRBRywgYCR7c291cmNlfSBwcm9ncmVzczogJHtwfSVgKTtcbiAgICBwcm9ncmVzcyA9IHA7XG4gICAgb3B0aW9ucy5vblByb2dyZXNzPy4ocCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlID0gYXdhaXQgcnVuUHVwQXBwKHNvdXJjZSwgcmVuZGVyT3B0cyk7XG5cbiAgY29uc3Qgb25BYm9ydCA9ICgpID0+IChsb2dnZXIuZXJyb3IoVEFHLCBgYWJvcnRlZGApLCBoYW5kbGUua2lsbCgpKTtcbiAgc2lnbmFsPy5hZGRFdmVudExpc3RlbmVyKFwiYWJvcnRcIiwgb25BYm9ydCwgeyBvbmNlOiB0cnVlIH0pO1xuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFByb21pc2U8SXBjRG9uZVBheWxvYWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIG5ldyBJcGNSZWFkZXIoaGFuZGxlLnByb2Nlc3MpXG4gICAgICAgIC5vbihcImNsb3NlXCIsIChjb2RlKSA9PiB7XG4gICAgICAgICAgY29uc3QgbXNnID0gSlNPTi5zdHJpbmdpZnkoeyBzb3VyY2UsIHByb2dyZXNzLCBjb2RlLCBraWxsZWQ6IGhhbmRsZS5raWxsZWQgfSk7XG4gICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihgY3Jhc2hlZDogJHttc2d9YCkpO1xuICAgICAgICB9KVxuICAgICAgICAub24oXCJtZXNzYWdlXCIsICgpID0+IHNpZ25hbD8uYWJvcnRlZCAmJiByZWplY3Qoc2lnbmFsLnJlYXNvbikpXG4gICAgICAgIC5vbihcInByb2dyZXNzXCIsIHRpY2spXG4gICAgICAgIC5vbihcImRvbmVcIiwgcmVzb2x2ZSlcbiAgICAgICAgLm9uKFwiZXJyb3JcIiwgcmVqZWN0KTtcbiAgICB9KTtcbiAgICB0aWNrKDApO1xuICAgIGNvbnN0IFtzdW1tYXJ5XSA9IGF3YWl0IFByb21pc2UuYWxsKFtyZXN1bHQsIGhhbmRsZS53YWl0XSk7XG4gICAgdGljaygxMDApO1xuICAgIGxvZ2dlci5pbmZvKFRBRywgYGRvbmUgJHtvdXRGaWxlfSBpbiAke01hdGgucm91bmQocGVyZm9ybWFuY2Uubm93KCkgLSB0MCl9bXNgKTtcbiAgICByZXR1cm4geyAuLi5zdW1tYXJ5LCBvcHRpb25zOiByZW5kZXJPcHRzIH07XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBoYW5kbGUua2lsbCgpO1xuICAgIHNpZ25hbD8udGhyb3dJZkFib3J0ZWQoKTtcbiAgICB0aHJvdyBlO1xuICB9IGZpbmFsbHkge1xuICAgIHNpZ25hbD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsIG9uQWJvcnQpO1xuICB9XG59XG4iXX0=
|
package/dist/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import'source-map-support/register.js';import {
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import'source-map-support/register.js';import {y,p,d,o,r,z,A}from'./chunk-VBQTMHHL.js';import {program}from'commander';async function m(n){let e=y.shape,i=n.defaults;program.name(n.name).argument("<source>","file://, http(s)://, or data: URI").option("-W, --width <number>",e.width.description,`${i.width}`).option("-H, --height <number>",e.height.description,`${i.height}`).option("-f, --fps <number>",e.fps.description,`${i.fps}`).option("-t, --duration <number>",e.duration.description,`${i.duration}`).option("-o, --out-file <path>",e.outFile.description,i.outFile).option("-a, --with-audio",e.withAudio.description,i.withAudio).option("-d, --deterministic",e.deterministic.description,i.deterministic).option("--use-inner-proxy",e.useInnerProxy.description,i.useInnerProxy).option("--disable-gpu",e.disableGpu.description,i.disableGpu).option("--disable-hw-codec",e.disableHwCodec.description,i.disableHwCodec).option("--window-tolerant",e.windowTolerant.description,i.windowTolerant).action(async(t,o$1)=>{try{await n.run(t,{width:p(d,i.width)(o$1.width),height:p(d,i.height)(o$1.height),fps:p(d,i.fps)(o$1.fps),duration:p(d,i.duration)(o$1.duration),outFile:o$1.outFile??i.outFile,withAudio:o$1.withAudio??i.withAudio,useInnerProxy:o$1.useInnerProxy??i.useInnerProxy,deterministic:o$1.deterministic??i.deterministic,disableGpu:o$1.disableGpu??i.disableGpu,disableHwCodec:o$1.disableHwCodec??i.disableHwCodec,windowTolerant:o$1.windowTolerant??i.windowTolerant});}catch(w){o.fatal(w);}}),await program.parseAsync(r());}m({name:"pup",defaults:z,run:async(n,e)=>{let i=new AbortController,t=0;process.once("SIGTERM",()=>(t=143,i.abort())),process.once("SIGINT",()=>(t=130,i.abort())),process.once("exit",o=>(t=o,i.abort()));try{await A(n,{...e,signal:i.signal});}finally{t&&process.exit(t);}}});//# sourceMappingURL=cli.js.map
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24udHMiLCIuLi9zcmMvY2xpLnRzIl0sIm5hbWVzIjpbIm1ha2VDTEkiLCJvcHRpb25zIiwic2hhcGUiLCJSZW5kZXJTY2hlbWEiLCJkIiwicHJvZ3JhbSIsInNvdXJjZSIsIm9wdHMiLCJub2VyciIsInBhcnNlTnVtYmVyIiwiZSIsImxvZ2dlciIsInBhcmdzIiwiZGVmYXVsdFJlbmRlck9wdGlvbnMiLCJjdHJsIiwiZXhpdENvZGUiLCJjIiwicHVwIl0sIm1hcHBpbmdzIjoidUhBZUEsZUFBc0JBLEVBQVFDLENBQUFBLENBQXFCLENBQ2pELElBQU1DLENBQUFBLENBQVFDLENBQUFBLENBQWEsS0FBQSxDQUNyQkMsQ0FBQUEsQ0FBSUgsQ0FBQUEsQ0FBUSxTQUNsQkksT0FBQUEsQ0FDRyxJQUFBLENBQUtKLENBQUFBLENBQVEsSUFBSSxDQUFBLENBQ2pCLFFBQUEsQ0FBUyxVQUFBLENBQVksbUNBQW1DLEVBQ3hELE1BQUEsQ0FBTyxzQkFBQSxDQUF3QkMsQ0FBQUEsQ0FBTSxLQUFBLENBQU0sV0FBQSxDQUFhLENBQUEsRUFBR0UsQ0FBQUEsQ0FBRSxLQUFLLEVBQUUsQ0FBQSxDQUNwRSxNQUFBLENBQU8sdUJBQUEsQ0FBeUJGLENBQUFBLENBQU0sTUFBQSxDQUFPLFdBQUEsQ0FBYSxDQUFBLEVBQUdFLENBQUFBLENBQUUsTUFBTSxDQUFBLENBQUUsQ0FBQSxDQUN2RSxNQUFBLENBQU8sb0JBQUEsQ0FBc0JGLENBQUFBLENBQU0sR0FBQSxDQUFJLFdBQUEsQ0FBYSxDQUFBLEVBQUdFLEVBQUUsR0FBRyxDQUFBLENBQUUsQ0FBQSxDQUM5RCxNQUFBLENBQU8seUJBQUEsQ0FBMkJGLENBQUFBLENBQU0sUUFBQSxDQUFTLFdBQUEsQ0FBYSxHQUFHRSxDQUFBQSxDQUFFLFFBQVEsQ0FBQSxDQUFFLENBQUEsQ0FDN0UsT0FBTyx1QkFBQSxDQUF5QkYsQ0FBQUEsQ0FBTSxPQUFBLENBQVEsV0FBQSxDQUFhRSxFQUFFLE9BQU8sQ0FBQSxDQUNw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Q0FDMUQsR0FBSSxDQUNGLE1BQU1HLENBQUFBLENBQUlYLENBQUFBLENBQVEsQ0FBRSxHQUFHTCxDQUFBQSxDQUFTLE1BQUEsQ0FBUWEsQ0FBQUEsQ0FBSyxNQUFPLENBQUMsRUFDdkQsQ0FBQSxPQUFFLENBQ0FDLENBQUFBLEVBQVksUUFBUSxJQUFBLENBQUtBLENBQVEsRUFDbkMsQ0FDRixDQUNGLENBQUMsQ0FBQSIsImZpbGUiOiJjbGkuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDcmVhdGVkIGJ5IEF1dG9rYWthIChxcTE5MDk2OTg0OTRAZ21haWwuY29tKSBvbiAyMDI2LzAyLzA5LlxuXG5pbXBvcnQgeyBwcm9ncmFtIH0gZnJvbSBcImNvbW1hbmRlclwiO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSBcIi4vYmFzZS9sb2dnaW5nXCI7XG5pbXBvcnQgeyBub2VyciB9IGZyb20gXCIuL2Jhc2Uvbm9lcnJcIjtcbmltcG9ydCB7IHBhcnNlTnVtYmVyIH0gZnJvbSBcIi4vYmFzZS9wYXJzZXJcIjtcbmltcG9ydCB7IHBhcmdzIH0gZnJvbSBcIi4vYmFzZS9wcm9jZXNzXCI7XG5pbXBvcnQgeyBSZW5kZXJTY2hlbWEsIHR5cGUgUmVuZGVyT3B0aW9ucyB9IGZyb20gXCIuL3JlbmRlcmVyL3NjaGVtYVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENMSU9wdGlvbnMge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlZmF1bHRzOiBSZW5kZXJPcHRpb25zO1xuICBydW46IChzb3VyY2U6IHN0cmluZywgb3B0aW9uczogUmVuZGVyT3B0aW9ucykgPT4gUHJvbWlzZTx1bmtub3duPjtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1ha2VDTEkob3B0aW9uczogQ0xJT3B0aW9ucykge1xuICBjb25zdCBzaGFwZSA9IFJlbmRlclNjaGVtYS5zaGFwZTtcbiAgY29uc3QgZCA9IG9wdGlvbnMuZGVmYXVsdHM7XG4gIHByb2dyYW1cbiAgICAubmFtZShvcHRpb25zLm5hbWUpXG4gICAgLmFyZ3VtZW50KFwiPHNvdXJjZT5cIiwgXCJmaWxlOi8vLCBodHRwKHMpOi8vLCBvciBkYXRhOiBVUklcIilcbiAgICAub3B0aW9uKFwiLVcsIC0td2lkdGggPG51bWJlcj5cIiwgc2hhcGUud2lkdGguZGVzY3JpcHRpb24sIGAke2Qud2lkdGh9YClcbiAgICAub3B0aW9uKFwiLUgsIC0taGVpZ2h0IDxudW1iZXI+XCIsIHNoYXBlLmhlaWdodC5kZXNjcmlwdGlvbiwgYCR7ZC5oZWlnaHR9YClcbiAgICAub3B0aW9uKFwiLWYsIC0tZnBzIDxudW1iZXI+XCIsIHNoYXBlLmZwcy5kZXNjcmlwdGlvbiwgYCR7ZC5mcHN9YClcbiAgICAub3B0aW9uKFwiLXQsIC0tZHVyYXRpb24gPG51bWJlcj5cIiwgc2hhcGUuZHVyYXRpb24uZGVzY3JpcHRpb24sIGAke2QuZHVyYXRpb259YClcbiAgICAub3B0aW9uKFwiLW8sIC0tb3V0LWZpbGUgPHBhdGg+XCIsIHNoYXBlLm91dEZpbGUuZGVzY3JpcHRpb24sIGQub3V0RmlsZSlcbiAgICAub3B0aW9uKFwiLWEsIC0td2l0aC1hdWRpb1wiLCBzaGFwZS53aXRoQXVkaW8uZGVzY3JpcHRpb24sIGQud2l0aEF1ZGlvKVxuICAgIC5vcHRpb24oXCItZCwgLS1kZXRlcm1pbmlzdGljXCIsIHNoYXBlLmRldGVybWluaXN0aWMuZGVzY3JpcHRpb24sIGQuZGV0ZXJtaW5pc3RpYylcbiAgICAub3B0aW9uKFwiLS11c2UtaW5uZXItcHJveHlcIiwgc2hhcGUudXNlSW5uZXJQcm94eS5kZXNjcmlwdGlvbiwgZC51c2VJbm5lclByb3h5KVxuICAgIC5vcHRpb24oXCItLWRpc2FibGUtZ3B1XCIsIHNoYXBlLmRpc2FibGVHcHUuZGVzY3JpcHRpb24sIGQuZGlzYWJsZUdwdSlcbiAgICAub3B0aW9uKFwiLS1kaXNhYmxlLWh3LWNvZGVjXCIsIHNoYXBlLmRpc2FibGVId0NvZGVjLmRlc2NyaXB0aW9uLCBkLmRpc2FibGVId0NvZGVjKVxuICAgIC5vcHRpb24oXCItLXdpbmRvdy10b2xlcmFudFwiLCBzaGFwZS53aW5kb3dUb2xlcmFudC5kZXNjcmlwdGlvbiwgZC53aW5kb3dUb2xlcmFudClcbiAgICAuYWN0aW9uKGFzeW5jIChzb3VyY2U6IHN0cmluZywgb3B0cykgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgb3B0aW9ucy5ydW4oc291cmNlLCB7XG4gICAgICAgICAgd2lkdGg6IG5vZXJyKHBhcnNlTnVtYmVyLCBkLndpZHRoKShvcHRzLndpZHRoKSxcbiAgICAgICAgICBoZWlnaHQ6IG5vZXJyKHBhcnNlTnVtYmVyLCBkLmhlaWdodCkob3B0cy5oZWlnaHQpLFxuICAgICAgICAgIGZwczogbm9lcnIocGFyc2VOdW1iZXIsIGQuZnBzKShvcHRzLmZwcyksXG4gICAgICAgICAgZHVyYXRpb246IG5vZXJyKHBhcnNlTnVtYmVyLCBkLmR1cmF0aW9uKShvcHRzLmR1cmF0aW9uKSxcbiAgICAgICAgICBvdXRGaWxlOiBvcHRzLm91dEZpbGUgPz8gZC5vdXRGaWxlLFxuICAgICAgICAgIHdpdGhBdWRpbzogb3B0cy53aXRoQXVkaW8gPz8gZC53aXRoQXVkaW8sXG4gICAgICAgICAgdXNlSW5uZXJQcm94eTogb3B0cy51c2VJbm5lclByb3h5ID8/IGQudXNlSW5uZXJQcm94eSxcbiAgICAgICAgICBkZXRlcm1pbmlzdGljOiBvcHRzLmRldGVybWluaXN0aWMgPz8gZC5kZXRlcm1pbmlzdGljLFxuICAgICAgICAgIGRpc2FibGVHcHU6IG9wdHMuZGlzYWJsZUdwdSA/PyBkLmRpc2FibGVHcHUsXG4gICAgICAgICAgZGlzYWJsZUh3Q29kZWM6IG9wdHMuZGlzYWJsZUh3Q29kZWMgPz8gZC5kaXNhYmxlSHdDb2RlYyxcbiAgICAgICAgICB3aW5kb3dUb2xlcmFudDogb3B0cy53aW5kb3dUb2xlcmFudCA/PyBkLndpbmRvd1RvbGVyYW50LFxuICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgbG9nZ2VyLmZhdGFsKGUpO1xuICAgICAgfVxuICAgIH0pO1xuICBhd2FpdCBwcm9ncmFtLnBhcnNlQXN5bmMocGFyZ3MoKSk7XG59XG4iLCIvLyBDcmVhdGVkIGJ5IEF1dG9rYWthIChxcTE5MDk2OTg0OTRAZ21haWwuY29tKSBvbiAyMDI2LzAyLzI1LlxuXG5pbXBvcnQgeyBtYWtlQ0xJIH0gZnJvbSBcIi4vY29tbW9uXCI7XG5pbXBvcnQgeyBwdXAgfSBmcm9tIFwiLi9wdXBcIjtcbmltcG9ydCB7IGRlZmF1bHRSZW5kZXJPcHRpb25zIH0gZnJvbSBcIi4vcmVuZGVyZXIvc2NoZW1hXCI7XG5cbm1ha2VDTEkoe1xuICBuYW1lOiBcInB1cFwiLFxuICBkZWZhdWx0czogZGVmYXVsdFJlbmRlck9wdGlvbnMsXG4gIHJ1bjogYXN5bmMgKHNvdXJjZSwgb3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IGN0cmwgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgbGV0IGV4aXRDb2RlID0gMDtcbiAgICBwcm9jZXNzLm9uY2UoXCJTSUdURVJNXCIsICgpID0+ICgoZXhpdENvZGUgPSAxNDMpLCBjdHJsLmFib3J0KCkpKTtcbiAgICBwcm9jZXNzLm9uY2UoXCJTSUdJTlRcIiwgKCkgPT4gKChleGl0Q29kZSA9IDEzMCksIGN0cmwuYWJvcnQoKSkpO1xuICAgIHByb2Nlc3Mub25jZShcImV4aXRcIiwgKGMpID0+ICgoZXhpdENvZGUgPSBjKSwgY3RybC5hYm9ydCgpKSk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHB1cChzb3VyY2UsIHsgLi4ub3B0aW9ucywgc2lnbmFsOiBjdHJsLnNpZ25hbCB9KTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgZXhpdENvZGUgJiYgcHJvY2Vzcy5leGl0KGV4aXRDb2RlKTtcbiAgICB9XG4gIH0sXG59KTtcbiJdfQ==
|
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,6 @@ export { pupDisableHwCodec } from './_tsup-dts-rollup.js';
|
|
|
5
5
|
export { pupDeterministic } from './_tsup-dts-rollup.js';
|
|
6
6
|
export { pupPkgRoot } from './_tsup-dts-rollup.js';
|
|
7
7
|
export { pupApp } from './_tsup-dts-rollup.js';
|
|
8
|
-
export { pupIpcSocket } from './_tsup-dts-rollup.js';
|
|
9
8
|
export { pupWindowTolerant } from './_tsup-dts-rollup.js';
|
|
10
9
|
export { penv } from './_tsup-dts-rollup.js';
|
|
11
10
|
export { EnvParser } from './_tsup-dts-rollup.js';
|
|
@@ -24,6 +23,7 @@ export { ProcessHandle } from './_tsup-dts-rollup.js';
|
|
|
24
23
|
export { useRetry } from './_tsup-dts-rollup.js';
|
|
25
24
|
export { RetryOptions } from './_tsup-dts-rollup.js';
|
|
26
25
|
export { sleep } from './_tsup-dts-rollup.js';
|
|
26
|
+
export { withTimeout } from './_tsup-dts-rollup.js';
|
|
27
27
|
export { periodical } from './_tsup-dts-rollup.js';
|
|
28
28
|
export { FormatMuxer } from './_tsup-dts-rollup.js';
|
|
29
29
|
export { EncoderPipelineOptions } from './_tsup-dts-rollup.js';
|