/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/selenium-query@0.52.77/lib/query.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
!function(){var e={},t={},r={},n={},o={},s={},i={},l={},a={},u={},c={},d={},h={},f={},p={},v={},m={},y={},g={},w={},b={},x={},_={},F={},C={},j={},E={},O={},D={},S={},k={},M={},A={},P={},q={},$={},L={},T={},N={};function R(){var e=arguments[0],t=arguments[1],r=document.documentElement,n=r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector||r.matchesSelector;return null!=e&&1===e.nodeType&&n.call(e,t)}function G(){return arguments[0].parentNode}function U(){function e(){var e=arguments[0],t=arguments[1],r=document.documentElement,n=r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector||r.matchesSelector;return null!=e&&1===e.nodeType&&n.call(e,t)}for(var t=arguments[0],r=arguments[1];null!=t&&null!=t.parentNode;)if(e(t=t.parentNode,r))return t;return null}function W(){function e(){var e=arguments[0],t=arguments[1],r=document.documentElement,n=r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector||r.matchesSelector;return null!=e&&1===e.nodeType&&n.call(e,t)}for(var t=arguments[1],r=[],n=arguments[0].firstElementChild;null!=n;)(null==t||e(n,t))&&r.push(n),n=n.nextElementSibling;return r}function B(){function e(){var e=arguments[0],t=arguments[1],r=document.documentElement,n=r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector||r.matchesSelector;return null!=e&&1===e.nodeType&&n.call(e,t)}var t=arguments[1],r=arguments[0].nextElementSibling;if(null==t)return r;for(;null!=r;){if(e(r,t))return r;r=r.nextElementSibling}return null}function H(){var e=arguments[0];null!=e.parentNode&&e.parentNode.removeChild(e)}function I(){var e=arguments.length;if(!(e<2)){var t=arguments[0],r=arguments[1];if(null!=t&&null!=r){if(2==e&&"string"==typeof r)return function(e,t){return e.getAttribute(t)}(t,r);if("object"!=typeof r)if(e>2&&"string"==typeof r)o(t,r,arguments[2]);else;else for(var n in r)o(t,n,r[n])}}function o(e,t,r){return e.setAttribute(t,r)}}function J(){var e=arguments[0],t=arguments[1],r=Array.prototype.slice.call(arguments,2);return"function"!=typeof e[t]&&console.error(t+" is not a function in ",e),e[t].apply(e,r)}function z(){var e=arguments[0],t=Array.prototype.slice.call(arguments,1),r=e.value;if(0!==t.length){var n=t[0];if("string"!=typeof n){s=t[0];var o=t[1];"number"==typeof s&&"number"==typeof o&&i(s,o)}else{var s;-1!==(s=r.indexOf(n))&&i(s,s+n.length)}}else i(0,r.length);function i(t,r){if(e.focus&&e.focus(),void 0!==e.selectionStart)return e.selectionStart=t,void(e.selectionEnd=r);if(void 0===e.setSelectionRange)throw Error("Unable to select the range");e.setSelectionRange(t,r)}}function Q(){function e(){var e=arguments[0],t=arguments[1],r=arguments[2];if(null!=r||"function"!=typeof e[t]){var n=function(t,r){return null==r||"on"+t in e?function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!0),t}(t):function(e,t={}){var r=document.createEvent("CustomEvent");return r.initCustomEvent(e,!0,!0,t),r}(t,r)}(t,r);!function(e,t){e.dispatchEvent(t)}(e,n)}else e[t]()}var t,r=arguments[0],n=arguments[1],o=a((function(e,t){var r=e.textContent||"";return-1!==r.trim().indexOf(n)}));if(null==o&&(o=a(l("value"))),null==o&&(o=a(l("name"))),null==o&&(o=a(l("id"))),null==o)throw Error("Option not found: "+n);var s=o[0],i=o[1];function l(e){return function(t){return(t.getAttribute(e)||"").trim()===n}}function a(e){null==t&&(t=r.querySelectorAll("option"));for(var n,o=t.length,s=0;s<o;s++)if(!0===e(n=t[s],s))return[n,s];return null}r.selectedIndex=i,e(s,"click"),e(r,"change")}function K(){if(null==window.__eventManager){var e={};function t(e,r){if(null==r&&(r=[]),null==e||"object"!=typeof e)return e;if(e===document||e===window)return null;if(e instanceof HTMLElement)return!1===document.body.contains(e)?null:e;if(Array.isArray(e))return e.map((function(e){return t(e,r)}));if(r.indexOf(e)>-1)return null;r.push(e);var n={};for(var o in e)n[o]=t(e[o],r);return n}window.__eventManager={add(t,r){var n=1e8*Math.random()|0,o=e[n]={queue:[],el:t,type:r,cb:function(e){o.queue.push(e)}};return o.el.addEventListener(o.type,o.cb,!1),n},remove(t){var r=e[t];if(null==r)throw new Error("Event ID not found: "+t);return delete e[t],r.el.removeEventListener(r.type,r.cb,!1),!0},tryGet(r){var n=e[r];if(null==n)throw new Error("Event ID not found: "+r);return 0===n.queue.length?null:t(n.queue.shift())}}}var r=arguments[0],n=arguments[1];return window.__eventManager.add(r,n)}function Y(){var e=arguments[1];return window.__eventManager.remove(e)}function V(){var e=arguments[1];return window.__eventManager.tryGet(e)}function Z(){var e=arguments[0],t=arguments[1];null!=e&&null!=t&&(function(){var e=arguments[0],t=arguments[1];if(null!=e&&null!=t)return e.classList?e.classList.contains(t):-1!==(" "+e.className+" ").indexOf(" "+t+" ")}(e,t)||(e.classList?e.classList.add(t):e.className+=" "+t))}function X(){var e=arguments[0],t=arguments[1];null!=e&&null!=t&&!1!==function(){var e=arguments[0],t=arguments[1];if(null!=e&&null!=t)return e.classList?e.classList.contains(t):-1!==(" "+e.className+" ").indexOf(" "+t+" ")}(e,t)&&(e.classList?e.classList.remove(t):e.className=(" "+e.className+" ").replace(" "+t+" "," "))}function ee(){var e=arguments[0],t=arguments[1];null!=e&&null!=t&&(e.classList?e.classList.toggle(t):function(){var e=arguments[0],t=arguments[1];if(null!=e&&null!=t)return e.classList?e.classList.contains(t):-1!==(" "+e.className+" ").indexOf(" "+t+" ")}(e,t)?function(){var e=arguments[0],t=arguments[1];null!=e&&null!=t&&!1!==function(){var e=arguments[0],t=arguments[1];if(null!=e&&null!=t)return e.classList?e.classList.contains(t):-1!==(" "+e.className+" ").indexOf(" "+t+" ")}(e,t)&&(e.classList?e.classList.remove(t):e.className=(" "+e.className+" ").replace(" "+t+" "," "))}(e,t):function(){var e=arguments[0],t=arguments[1];null!=e&&null!=t&&(function(){var e=arguments[0],t=arguments[1];if(null!=e&&null!=t)return e.classList?e.classList.contains(t):-1!==(" "+e.className+" ").indexOf(" "+t+" ")}(e,t)||(e.classList?e.classList.add(t):e.className+=" "+t))}(e,t))}function te(){var e=arguments[0],t=arguments[1];if(null!=e&&null!=t)return e.classList?e.classList.contains(t):-1!==(" "+e.className+" ").indexOf(" "+t+" ")}function re(){var e=arguments[0],t=arguments[1],r=arguments[2];if(null!=r||"function"!=typeof e[t]){var n=function(t,r){return null==r||"on"+t in e?function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!0),t}(t):function(e,t={}){var r=document.createEvent("CustomEvent");return r.initCustomEvent(e,!0,!0,t),r}(t,r)}(t,r);!function(e,t){e.dispatchEvent(t)}(e,n)}else e[t]()}function ne(){var e=arguments[0],t=arguments[arguments.length-1],r=(document.readyState,Date.now());!function n(){var o=document.querySelector(e);if(null==o){return Date.now()-r>1e4?void t({error:new Error(`Resource wait timeout: ${e} in 10000ms`)}):void setTimeout(n,150)}!function(e){if(!0===e.completed)return void t({element:e});if("SCRIPT"===e.tagName)return e.async=!1,e.defer=!1,void setTimeout((function(){t({element:e})}),50);e.addEventListener("load",(function(){t({element:e})})),e.addEventListener("error",(function(){t({element:e})}))}(o)}()}!function(){var e=null!=x?x:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.dfr_resolve=e.dfr_run=void 0;const r=require("atma-utils");function n(e){return null!=e&&"object"==typeof e&&e.constructor===Object}e.dfr_run=function(e){return new Promise(e)},e.dfr_resolve=function(e){let t=new r.class_Dfr,n=0===arguments.length?[]:[e];return t.resolve(...n),t},x===t.exports||(n(x)&&n(t.exports)?Object.assign(x,t.exports):x=t.exports)}(),function(){var e=null!=N?N:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.node_toScript=e.node_getDriver=e.node_evalAsync=e.node_eval=void 0;const r=x;function n(e){return"executeScript"in e?e:"getDriver"in e?e.getDriver():e.driver_}function o(e){if("string"==typeof e)return e;var t=e.toString(),r=/^[^\)]+\)\s*=>/;return r.test(t)&&"{"!==(t=t.replace(r,"").trim())[0]?`return ${t}`:t=(t=(t=t.substring(t.indexOf("{")+1)).substring(0,t.lastIndexOf("}")-1)).trim()}function s(e){return null!=e&&"object"==typeof e&&e.constructor===Object}e.node_eval=function(e,t,...s){return(0,r.dfr_run)(((r,i)=>{var l=o(t),a=n(e);if(null==a)return void i(new Error("Driver is not resolved."));let u=e==a?s:[e,...s];a.executeScript(l,...u).then((e=>{r(e)}),(e=>{console.error("Unexpected sync browser error",e,"for",l),r()}))}))},e.node_evalAsync=function(e,t,...s){return(0,r.dfr_run)(((r,i)=>{var l=o(t),a=n(e);null!=a?a.executeAsyncScript(l,e,...s).then(r,(e=>{console.error("Unexpected async browser error",e,"for",l),r()})):i(new Error("Driver is not resolved."))}))},e.node_getDriver=n,e.node_toScript=o,N===t.exports||(s(N)&&s(t.exports)?Object.assign(N,t.exports):N=t.exports)}(),function(){var e=null!=d?d:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.refs=void 0;const r=require("selenium-webdriver");function n(e){return null!=e&&"object"==typeof e&&e.constructor===Object}e.refs={driver:undefined,Key:r.Key},d===t.exports||(n(d)&&n(t.exports)?Object.assign(d,t.exports):d=t.exports)}(),function(){var e=null!=y?y:{},t={exports:e};function r(e,t,r=null){if(null==e)return r||e;for(var n=e.length,o=-1;++o<n;)t.call(r||e,e[o],o);return r||e}function n(e){return null!=e&&"object"==typeof e&&e.constructor===Object}Object.defineProperty(e,"__esModule",{value:!0}),e.indexOf=e.aggr=e.map=e.each=void 0,e.each=r,e.map=function(e,t){const n=[];return r(e,((e,r)=>{n.push(t(e,r))})),n},e.aggr=function(e,t,n,o){return r(t,(function(r,s){e=n.call(o||t,e,r,s)})),e},e.indexOf=function(e,t,r){if(null==e)return-1;for(var n=e.length,o=-1;++o<n;)if(!0===t.call(r||e,e[o],o))return o;return-1},y===t.exports||(n(y)&&n(t.exports)?Object.assign(y,t.exports):y=t.exports)}(),function(){var e=null!=g?g:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e._when=e.async_toThenable=e.async_all=e.async_waterfallFn=e.async_waterfall=e.async_mutate=e.async_getValueOf=e.async_traverse=e.async_aggr=e.async_next=e.async_at=e.async_filter=e.async_map=e.async_each=void 0;const r=y,n=x,o=require("atma-utils");function s(e,t){const n=e.ctx.newAsync(null,e);return e.ensureAsync().done((e=>{c((0,r.map)(e,(e=>t(n,e))).filter(Boolean),(()=>{n.resolve(n)}))})),n}function i(e,t){const r=e.ctx.newAsync(null,e);return a(e).then((e=>{u(t(r,e),(e=>r.resolve(e??r)))})),r}function l(e,t){return(0,n.dfr_run)(((r,n)=>{var o=-1,s=e.length;!function i(){++o>=s?r():t(e[o],o).then((()=>i()),(e=>n(e)))}()}))}function a(e){return e.ensureAsync()}function u(e,t){if(null!=e&&"then"in e!=!1)return e.then((function(...e){t(...e)}),(function(e){t()}));t()}function c(e,t){if(0!==e.length){var n=e.length;(0,r.each)(e,(e=>u(e,o)))}else t();function o(){--n<1&&t()}}function d(e){return null!=e&&"object"==typeof e&&e.constructor===Object}e.async_each=s,e.async_map=function(e,t){return i(a(e),((e,r)=>l(r,((r,o)=>(0,n.dfr_run)((n=>{function s(t){e.add(t),n()}var i=t(e.ctx.newSync(r),o);null!=i&&"function"==typeof i.then?i.then(s,s):s(i)}))))))},e.async_filter=function(e,t){return i(a(e),((e,r)=>l(r,((r,o)=>(0,n.dfr_run)(((n,s)=>{var i=t(e.ctx.newSync(r),o);"boolean"==typeof i&&(!0===i&&e.add(r),n()),i.then((t=>{t&&e.add(r),n()}),s)}))))))},e.async_at=function(e,t,r){const n=e.ctx.newAsync(null,e);return a(e).done((o=>{t>=o.length?n.resolve(n):u(r(n,e[t]),(()=>n.resolve(n)))})),n},e.async_next=i,e.async_aggr=function(e,t,r){return(0,n.dfr_run)(((n,o)=>{a(t).done((t=>{l(t,(t=>r(e,t).then((t=>{e=t})))).then((()=>n(e)),(e=>o(e)))}))}))},e.async_traverse=function(e,t){return s(e,((e,r)=>u(t(r),(t=>{e.add(t)}))))},e.async_getValueOf=function(e,t,r){return(0,n.dfr_run)((n=>{a(t).done((t=>{if(e>=t.length)return void n(null);let s=r(t[e]);!1!==(0,o.is_Object)(s)&&!1!==(0,o.is_Function)(s.then)?s.then((function(e){n(e)}),(e=>{console.error("Getter error",e),n(null)})):n(s)}))}))},e.async_mutate=function(e,t){const n=e.ctx.newAsync(null,e);return e.ensureAsync().done((e=>{c((0,r.map)(e,(e=>(n.add(e),t(e)))),(()=>n.resolve(n)))})),n},e.async_waterfall=l,e.async_waterfallFn=function(...e){return(0,n.dfr_run)(((t,r)=>{let n=-1,o=e.length;!function s(){++n>=o?t():e[n]().then((()=>s()),(e=>r(e)))}()}))},e.async_all=function(e){let t=e.length,r=null,n=new Array(e.length),s=new o.class_Dfr;return e.forEach(((e,o)=>{e.then((e=>{r||(n[o]=e,--t>0&&s.resolve(n))}),(e=>{r||(r=e,s.reject(r))}))})),s},e.async_toThenable=a,e._when=c,g===t.exports||(d(g)&&d(t.exports)?Object.assign(g,t.exports):g=t.exports)}(),function(){var e=null!=i?i:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.SelectorsEx=void 0;let r=/:([\w]+)(\s*\(([^)]+)\))?/g;function n(e){return null!=e&&"object"==typeof e&&e.constructor===Object}!function(e){e.pseudoFns={async text(e,t){let r=await e.text();return new RegExp(t,"i").test(r)},has:async(e,t)=>(await e.find(t)).length>0},e.register=function(t,r){e.pseudoFns[t]=r},e.find=function(t,n,o){let s=t.ctx.newAsync();return s.ctx.breadcrumbs.push(n),async function(t,n,o){r.lastIndex=-1;let s=t;do{let i=r.exec(n);if(null==i)break;let[l,a,u,c]=i;if(a in e.pseudoFns==!1)continue;let d=n.substring(0,i.index);if(d.length>0&&(s=await o(s,d),0===s.length))return s;n=n.substring(i.index+i[0].length);let h=e.pseudoFns[a];if("function"!=typeof h){s=await h.fn(s,c);continue}let f=h,p=t.ctx.newSync(null,t);for(let e=0;e<s.length;e++){let t=s[e],r=s.ctx.newSync(t);await f(r,c)&&p.add(t)}s=p}while(n.length>0);if(n.length>0)return o(s,n);return s}(t,n,o).then((e=>{s.resolve(e)}),(e=>{s.reject(e)})),s}}(e.SelectorsEx||(e.SelectorsEx={})),i===t.exports||(n(i)&&n(t.exports)?Object.assign(i,t.exports):i=t.exports)}(),function(){var e=null!=s?s:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.IQuery=e.IQueryCtx=void 0;const r=g,n=require("atma-utils"),o=x,l=y,a=i;class u{constructor(){this.breadcrumbs=[]}newSync(e,t){let r=new this.Ctor(e);return r.ctx.owner=t??this.self,u.copyFrom(r.ctx,t?.ctx),r}newAsync(e,t){let r=new this.Ctor(e);return r.ctx.owner=t??this.self,r.then=r.ctx.thener,u.copyFrom(r.ctx,t?.ctx),r}static copyFrom(e,t){return null!=t&&(e.url=t.url,e.source=t.source,e.status=t.status,e.headers=t.headers,e.breadcrumbs=[...t?.breadcrumbs??[]]),e}}e.IQueryCtx=u;class c extends n.class_Dfr{constructor(e){super(),this.length=0,this.ctx=new u,this.ctx.self=this,this.ctx.thener=this.then,this.ctx.Ctor=this.constructor,this.ensureSync(),this.add(e),null!=e&&this.resolve(this)}get[Symbol.toStringTag](){return"IQuery"}ensureSync(){return this.then=null,this}ensureAsync(){return null!=this.then?this:this.ctx.newAsync(this,this)}resolve(...e){if(0!==e.length){let t=e[0];if(null!=t&&null!=t.then&&t instanceof c){let r=new t.ctx.Ctor(t);e[0]=r}}return super.resolve(...e)}wait(e){return(0,r.async_next)(this,((t,r)=>new Promise((t=>{setTimeout((()=>{t(this)}),e)}))))}require(e){const t=this.ctx.newAsync(null,this);return(0,r.async_toThenable)(this).then((r=>{let n=e?.count??1;if(r.length!==n)throw new Error(`Elements count missmatch. ${this.ctx.breadcrumbs.join(", ")}. Expected: ${n}. Got ${r.length}`);t.resolve(r)})),t}hasClass(e){return d.mapFirst(this,(t=>this.hasClassFn(t,e)))}addClass(e){return d.mutate(this,(t=>this.addClassFn(t,e)))}removeClass(e){return d.mutate(this,(t=>this.removeClassFn(t,e)))}toggleClass(e){return d.mutate(this,(t=>this.toggleClassFn(t,e)))}add(e){return null==e?this:!0===(0,n.is_ArrayLike)(e)?(0,l.each)(e,this.add,this):(this[this.length++]=e,this)}eq(e){return(0,r.async_next)(this,((t,r)=>{e<r.length&&t.add(r[e])}))}get(e){return this[e]}slice(e=0,t){return(0,r.async_next)(this,((r,n)=>{var o=e;if(t>n.length&&(t=n.length),o<t)for(;o<t;o++)r.add(n[o])}))}each(e){return(0,r.async_next)(this,((t,n)=>(0,r.async_waterfall)(n,((r,n)=>(t.add(r),e(r,n))))))}map(e){return(0,r.async_map)(this,e)}toArray(){return(0,o.dfr_run)((e=>{this.ensureAsync().done((t=>{var r=Array.prototype.slice.call(t);e(r)}))}))}as(){let e;return e=this,this}use(e){let t=e.prototype;for(;null!=t&&t!==Object.prototype;)Object.getOwnPropertyNames(t).forEach((t=>{t in c.prototype||(c.prototype[t]=e.prototype[t])})),t=Object.getPrototypeOf(t);return this}text(e){return void 0===e?(0,r.async_aggr)("",this,((e,t)=>this.textGetFn(t).then((t=>e+t)))):(0,r.async_each)(this,((t,r)=>this.textSetFn(r,e).then((()=>{t.add(r)}))))}html(e){return void 0===e?(0,r.async_aggr)("",this,((e,t)=>this.htmlGetFn(t).then((t=>e+t)))):(0,r.async_each)(this,((t,r)=>this.htmlSetFn(r,e).then((()=>{t.add(r)}))))}outerHtml(){return(0,r.async_aggr)("",this,((e,t)=>this.htmlOuterGetFn(t).then((t=>e+t))))}append(e){return d.mutate(this,(t=>this.appendFn(t,e)))}prepend(e){return d.mutate(this,(t=>this.prependFn(t,e)))}before(e){return d.mutate(this,(t=>this.beforeFn(t,e)))}after(e){return d.mutate(this,(t=>this.afterFn(t,e)))}css(e,t){if(1===arguments.length&&"string"==typeof e)return d.mapFirst(this,(t=>this.cssGet(t,e)));let r=1===arguments.length?e:{[e]:t};return d.mutate(this,(e=>this.cssSet(e,r)))}height(e){return null==e?d.mapFirst(this,(e=>this.heightGetFn(e))):this.css("height",e)}innerHeight(){return d.mapFirst(this,(e=>this.innerHeightFn(e)))}width(e=null){return null==e?d.mapFirst(this,(e=>this.widthGetFn(e))):this.css("width",e)}innerWidth(){return d.mapFirst(this,(e=>this.innerWidthFn(e)))}offset(){return d.mapFirst(this,(e=>this.getBoundingClientRect(e)))}position(){return d.mapFirst(this,(e=>this.getPosition(e)))}scrollTop(e){return 0===arguments.length?d.mapFirst(this,(e=>this.scrollTopGetFn(e))):d.mutate(this,(t=>this.scrollTopSetFn(t,e)))}scrollLeft(e){return 0===arguments.length?d.mapFirst(this,(e=>this.scrollLeftGetFn(e))):d.mutate(this,(t=>this.scrollLeftSetFn(t,e)))}eval(e,...t){return d.mapFirst(this,(r=>this.evalFn(r,e,...t)))}click(){return d.mutate(this,(e=>this.clickFn(e)))}trigger(e,...t){return d.mutate(this,(r=>this.triggerFn(r,e,...t)))}select(...e){return d.mutate(this,(t=>this.selectFn(t,...e)))}focus(){return d.mutate(this,(e=>this.focusFn(e)))}blur(){return d.mutate(this,(e=>this.blurFn(e)))}sendKeys(e){return d.mutate(this,(t=>this.sendKeysFn(t,e)))}type(e){return d.mutate(this,(t=>this.typeFn(t,e)))}press(e){return d.mutate(this,(t=>this.pressFn(t,e)))}remove(){return d.mutate(this,(e=>this.removeFn(e)))}attr(e,t){if(1===arguments.length&&"string"==typeof e)return d.mapFirst(this,(t=>this.attrGetFn(t,e)));let r=2===arguments.length?{[e]:t}:e;return d.mutate(this,(e=>this.attrSetFn(e,r)))}val(e){return 0===arguments.length?d.mapFirst(this,(e=>this.valGetFn(e))):d.mutate(this,(t=>this.valSetFn(t,e)))}data(e,t){if(1===arguments.length&&"string"==typeof e)return d.mapFirst(this,(t=>this.dataGetFn(t,e)));let r=2===arguments.length?{[e]:t}:e;return d.mutate(this,(e=>this.dataSetFn(e,r)))}prop(e,t){if(1===arguments.length&&"string"==typeof e)return d.mapFirst(this,(t=>this.getField(t,e)));let r=2===arguments.length?{[e]:t}:e;return d.mutate(this,(e=>this.setField(e,r)))}find(e){return a.SelectorsEx.find(this,e,((e,t)=>(0,r.async_traverse)(e,(e=>this.findFn(e,t)))))}filter(e){if("string"==typeof e){let t=e;return(0,r.async_filter)(this,(e=>this.matchesFn(e[0],t)))}let t=e;return(0,r.async_filter)(this,t)}parent(){return(0,r.async_traverse)(this,(e=>this.parentFn(e)))}closest(e){return(0,r.async_traverse)(this,(t=>this.closestFn(t,e)))}children(e){return(0,r.async_traverse)(this,(t=>this.childrenFn(t,e)))}next(e){return(0,r.async_traverse)(this,(t=>this.nextFn(t,e)))}on(e,t){return(0,r.async_each)(this,((r,n)=>this._onFn(n,e,t)))}off(e,t){return(0,r.async_each)(this,((r,n)=>this._offFn(n,e,t)))}once(e,t=null){return(0,r.async_each)(this,((r,n)=>this._onOnceFn(n,e,t)))}}var d;function h(e){return null!=e&&"object"==typeof e&&e.constructor===Object}e.IQuery=c,function(e){e.mutate=function(e,t){return(0,r.async_each)(e,((e,r)=>(e.add(r),t(r))))},e.mapFirst=function(e,t){return(0,r.async_getValueOf)(0,e,t)}}(d||(d={})),s===t.exports||(h(s)&&h(t.exports)?Object.assign(s,t.exports):s=t.exports)}(),function(){var e=null!=j?j:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultConfig=e.buildDriver=void 0;const r=require("atma-utils"),n=require("selenium-webdriver");function o(e){return null!=e&&"object"==typeof e&&e.constructor===Object}e.buildDriver=async function(t){t=(0,r.obj_extend)(Object.create(e.DefaultConfig),t);let o=new(require("selenium-webdriver/"+t.name.toLowerCase()).Options);t.setBinaryPath(o),t.setArguments(o),t.setLogging(o);let s=(new n.Builder).forBrowser(t.name.toLowerCase());t.setOptions(s,o),t.applyOptions(s,o);let i=await s.build();return t.setDriverConfiguration&&await t.setDriverConfiguration(i),i},e.DefaultConfig={name:"Chrome",args:["no-sandbox"],binaryPath:null,applyOptions(e,t){var r=`set${this.name}Options`;if("function"!=typeof e[r])throw Error(`Default function not found, please override 'applyOptions(builder, options)' to set it yourself. Was looking for : ${r}`);e[r](t)},setOptions(e,t){},setArguments(e){e.addArguments(this.args)},setBinaryPath(e){var t=`set${this.name}BinaryPath`;if("function"!=typeof e[t])throw Error(`Default function not found, please override 'setBinaryPath' to set it yourself. Was looking for: ${t}`);this.binaryPath&&e[t](this.binaryPath)},setLogging(e){e.setLoggingPrefs({})}},void 0!==process.env.BROWSER_PATH&&(e.DefaultConfig.binaryPath=process.env.BROWSER_PATH),j===t.exports||(o(j)&&o(t.exports)?Object.assign(j,t.exports):j=t.exports)}(),function(){var e,t=null!=n?n:{},r={exports:t};Object.defineProperty(t,"__esModule",{value:!0}),t.cookieContainer=t.CookieContainer=void 0;class o{constructor(e){this.domain=e,this.arr=[]}add(e,t){if(null!=e)if("string"!=typeof e){if(Array.isArray(e)){if(0===e.length)return;if("string"==typeof e[0])return void e.forEach((e=>this.push(e,t)));throw Error("Cookie models are not yet supported")}for(let r in e){let n=`${r}=${e[r]}`;this.push(n,t)}}else this.push(e,t)}stringify(){return this.arr.map((e=>`${e.key}=${e.value}`)).join("; ")}push(e,t){o.parse(e).forEach((e=>{let r=this.arr.findIndex((t=>t.key===e.key));if(-1===r)this.arr.push(e);else{if(!0===t?.extend)return;this.arr[r]=e}}))}static parse(t){let r=e.detectFormat(t);if("key-values"===r)return t.split(";").map(o.parseSingle);if("set-cookie"===r){let e=[],r=/,/g;for(;""!==t;){let n=r.exec(t);if(null==n){e.push(t);break}let o=t.substring(0,n.index);/Expires=[\w]{1,4}$/i.test(o)||(e.push(o),t=t.substring(n.index+1).trim())}return e.map(o.parseSingle)}throw new Error(`Unknown cookie format: ${r} for ${t}`)}static parseSingle(e){let t=e.indexOf("=");if(-1===t)throw new Error(`Invalid cookie format ${e}`);let r=e.substring(0,t);return t=(e=e.substring(t+1).trim()).indexOf(";"),-1===t?{key:r,value:e}:{key:r,value:e.substring(0,t),rawOptions:e.substring(t)}}}!function(e){e.detectFormat=function(e){if(/;\s*(Path|Domain|Expires|Max\-Age|Secure|HttpOnly)([=;]|$)/i.test(e))return"set-cookie";if(/^[\w_-]+=\{/.test(e))return"key-values";let t=e.indexOf(","),r=e.indexOf(";");return t>-1&&-1===r?"set-cookie":"key-values"}}(e||(e={}));class s{constructor(){this.domains={}}addCookies(e,t,r){let n="global";if(arguments.length>1){let t=e;n=this.getDomain(t)}else t=e;let s=this.domains[n];null==s&&(s=this.domains[n]=new o(n)),s.add(t,r)}clearCookies(){this.domains={}}getCookies(e){let t=[],r=e&&this.getDomain(e)||null;for(let e in this.domains)"global"!==e&&e!==r&&!1===r.endsWith("."+e)||t.push(this.domains[e].stringify());return t.join("; ")}getDomain(e){return e.replace(/https?:\/\//,"").replace(/\/.*$/,"").toLowerCase()}}function i(e){return null!=e&&"object"==typeof e&&e.constructor===Object}t.CookieContainer=s,t.cookieContainer=new s,n===r.exports||(i(n)&&i(r.exports)?Object.assign(n,r.exports):n=r.exports)}(),function(){var e=null!=p?p:{},t={exports:e};function r(e){return null!=e&&"object"==typeof e&&e.constructor===Object}Object.defineProperty(e,"__esModule",{value:!0}),e.$domains=void 0,function(e){let t=/^(?<protocol>\w+):[\/]{1,3}(?<base>[\w\-\.:]+)/;function r(e){let r=t.exec(e);if(null==r)throw new Error(`Invalid URL: ${e}`);return r[0]}e.fromUrl=r,e.equal=function(e,t){if(null==t)return!1;if(t.startsWith("data:"))return!1;let n=r(e),o=r(t),s=/\w+:[\/]{1, 3}/;return n=n.replace(s,""),o=o.replace(s,""),n.toLowerCase()===o.toLowerCase()}}(e.$domains||(e.$domains={})),p===t.exports||(r(p)&&r(t.exports)?Object.assign(p,t.exports):p=t.exports)}(),function(){var e=null!=b?b:{},t={exports:e};function r(e,t){if(0===e.length)return 0;for(var r=t.length,o=-1;++o<r;)if(n(t[o],e))return o+1;return t.push(e),t.length}function n(e,t){if(e.length!==t.length)return!1;for(var r=e.length,n=0;n<r;n++)if(e[n]!==t[n])return!1;return!0}function o(e){return null!=e&&"object"==typeof e&&e.constructor===Object}Object.defineProperty(e,"__esModule",{value:!0}),e.memoize=e.singleton=void 0,e.singleton=function(e,t,r){var n=null==r,o=function(e){var t=null,r=function(...r){return null==t?t=e.apply(this,r):t};return r.clearArgs=function(...e){t=null},r.clearAll=function(){t=null},r}(n?e[t]:r.value);if(!n)return r.value=o,r;e[t]=o},e.memoize=function(e,t,n){var o=null==n,s=function(e){var t={},n=[],o=function(...o){var s=r(o,n);return null==t[s]?t[s]=e.apply(this,o):t[s]};return o.clearArgs=function(...e){var o=r(e,n);t[o]=null},o.clearAll=function(){t={}},o}(o?e[t]:n.value);if(!o)return n.value=s,n;e[t]=s},b===t.exports||(o(b)&&o(t.exports)?Object.assign(b,t.exports):b=t.exports)}(),function(){var e=null!=C?C:{},t={exports:e},r=this&&this.__decorate||function(e,t,r,n){var o,s=arguments.length,i=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(i=(s<3?o(i):s>3?o(t,r,i):o(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};Object.defineProperty(e,"__esModule",{value:!0}),e.driverPool=e.DriverWrapper=e.DriverPool=void 0;const o=require("atma-utils"),s=j,i=T,l=n,a=p,u=b;let c;class d{constructor(){this.pool=[],this.queue=[]}async get(e=null,t,r){let n=t.driver??(r?.query?f.extractDriver(r.query):null);if(n){if(this.singleton&&this.singleton.driver===n)return this.singleton.busy=!0,this.singleton;let e=this.pool.find((e=>e.driver===n));return null==e&&(e=new h,e.driver=n,e.busy=!0,e.requestedAt=new Date,this.pool.push(e)),e}return r?.pool?("number"==typeof r.pool&&(c=Math.max(r.pool,this.pool.length)),await this.requestDriver(e,t)):await this.getGlobal(e,t)}async getWithDomain(e=null,t,r){let n=await this.get(e,t,r),o=a.$domains.fromUrl(e),s=await n.driver.getCurrentUrl();return!1===a.$domains.equal(o,s)&&await n.driver.get(o),n}async unlockDriver(e){let t=f.extractDriver(e);if(null==t||0===this.pool.length)return;let r=this.pool.find((e=>e.driver===t));if(null==r)return void console.warn("SeleniumQuery. Unlock driver. Wrapper not found");r.busy=!1;let n=this.queue.shift();n&&(r.busy=!0,await r.ensureCookies(n.url,n.config),n.dfr.resolve(r))}async getGlobal(e=null,t){this.memCookies(e,t);let r=new h;return await r.build(t),await r.ensureCookies(e,t),this.singleton=r}extractDriver(e){return f.extractDriver(e)}async requestDriver(e=null,t){this.memCookies(e,t);let r=this.pool.find((e=>!0!==e.busy));if(r)return r.busy=!0,await r.ensureCookies(e,t),r;if(this.pool.length<(null==c?5:c)){let r=new h;return r.busy=!0,r.requestedAt=new Date,this.pool.push(r),await r.build(t),await r.ensureCookies(e,t),r}let n=new o.class_Dfr;return this.queue.push({url:e,config:t,dfr:n}),n}memCookies(e,t){t?.cookies&&l.cookieContainer.addCookies(e,t.cookies)}setGlobal(e){this.singleton=new h,this.singleton.busy=!1,this.singleton.driver=e}}r([u.singleton],d.prototype,"getGlobal",null),e.DriverPool=d;class h{constructor(){this.busy=!1}async build(e){this.driver=await(0,s.buildDriver)(e)}async ensureCookies(e,t){let r=l.cookieContainer.getCookies(e);r&&r!==this.cookies&&(this.cookies=r,await(0,i.ensureCookies)(this.driver,e,r,t))}}var f;function v(e){return null!=e&&"object"==typeof e&&e.constructor===Object}e.DriverWrapper=h,e.driverPool=new d,function(e){function t(e){return null!=e&&"get"in e&&"manage"in e}function r(e){let r=e[0];return t(r)?r:function(e){return null!=e&&"getDriver"in e}(r)?r.getDriver():null}e.extractDriver=function(e){if(null==e)return null;if(n=r(e))return n;var n=function(e){let t=e.ctx&&e.ctx.owner,n=[];for(;null!=t;){let e=r(t);if(e)return e;if(n.push(t),t=t.ctx&&t.ctx.owner,-1!==n.indexOf(t))return null}}(e);return n||((n=function(e){return t(e)?e:"driver"in e&&"busy"in e?e.driver:null}(e))||null)}}(f||(f={})),C===t.exports||(v(C)&&v(t.exports)?Object.assign(C,t.exports):C=t.exports)}(),function(){var e=null!=m?m:{},t={exports:e};function r(e){return null!=e&&"object"==typeof e&&e.constructor===Object}Object.defineProperty(e,"__esModule",{value:!0}),e.$promise=void 0,function(e){e.wait=function(e){return new Promise((t=>{setTimeout(t,e)}))}}(e.$promise||(e.$promise={})),m===t.exports||(r(m)&&r(t.exports)?Object.assign(m,t.exports):m=t.exports)}(),function(){var e=null!=T?T:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.waitForPageLoad=e.waitForElement=e.driver_evalAsync=e.ensureCookies=e.loadUrl=void 0;const r=x,n=g,o=C,s=S,i=require("atma-utils"),l=N,a=m;function u(e,t,r){return e.get(t).then((()=>e),(e=>e))}var c;async function d(e,t){let r,n=Date.now(),o=400,s=1e4,i="";"number"==typeof t?s=t:(s=t?.timeout??s,o=t?.interval??o,i=t?.name??i,r=t?.tick),await async function t(){if(!0===await e())return;if(Date.now()-n>s)throw new Error(`Timeout error ${i}`);let l=o;if("function"==typeof r){let e=Date.now();await r();let t=Date.now()-e;n+=t,l=Math.max(0,l-t)}await a.$promise.wait(l),await t()}()}async function h(e){try{return await e.isDisplayed()}catch(e){return!1}}function f(e){return null!=e&&"object"==typeof e&&e.constructor===Object}e.loadUrl=u,e.ensureCookies=function(e,t,o,s){return(0,r.dfr_run)(((r,i)=>{if(!o)return void r();let l=o.split(";").map((e=>e.trim())).map((e=>{let t=e.indexOf("=");return{name:e.substring(0,t).trim(),value:e.substring(t+1).trim()}})),a=s.cookieOrigin;null==a&&(a=t),u(e,a).then((e=>{let t=l.map((t=>e.manage().addCookie(t)));(0,n._when)(t,(()=>{r()}))}))}))},e.driver_evalAsync=function(e,t,...r){let n=s.WebdriverQuery.newAsync(void 0,e),i=(0,l.node_toScript)(t),a=o.driverPool.extractDriver(e);return null==a?(n.reject(new Error("Driver is not resolved.")),n):(a.executeAsyncScript(i,...r).then((e=>{n.resolve(Promise.resolve(e))}),(e=>{console.error("Unexpected browser error",e),n.reject(e)})),n)},e.waitForElement=function(e,t,r){let n=o.driverPool.extractDriver(e),i=s.WebdriverQuery.newAsync(void 0,e);if(null!=n)return d((async()=>{let n=await e.find(t);if(0===n.length)return!0===r?.hidden;if(!0===r?.visible){let e=n.get(0);if(!1===await h(e))return!1}if(!0===r?.hidden)for(let e=0;e<n.length;e++){let t=n.get(e);if(await h(t))return!1}if(r?.check){if(!1===await r.check(n))return!1}return!0}),{timeout:r?.timeout,interval:r?.interval,name:t,tick:r?.tick}).then((()=>{!0!==r?.hidden?e.find(t).then((e=>{i.resolve(e)}),(e=>{i.reject(e)})):i.resolve([])}),(e=>{i.reject(e)})),i;i.reject(new Error("Driver not found in set"))},e.waitForPageLoad=function(e,t="complete",r){let i=o.driverPool.extractDriver(e),l=s.WebdriverQuery.newAsync(null,e);if(null==i)return l.reject(new Error("Driver not found in set")),l;let a=c.delay(),u=(0,n.async_toThenable)(e);return(0,n.async_all)([u,a]).then((([e])=>{let o=[];if(null!=r&&o.push((()=>c.documentUrl(i,1e4,r))),o.push((()=>c.documentState(i,1e4,t))),e.length>0&&e[0]!==i){let t=e[0];o.unshift((()=>c.elementLeavesDom(i,t,8e3)))}(0,n.async_waterfallFn)(...o).then((()=>{l.add(i),l.resolve(l)}),(e=>l.reject(e)))})),l},function(e){e.delay=function(){let e=new i.class_Dfr;return setTimeout((()=>e.resolve()),100),e},e.documentUrl=function(e,t,r){let n=new i.class_Dfr;return d((function(){return e.getCurrentUrl().then((e=>"string"==typeof r?r.replace(/[^\w]/g,"")===e.replace(/[^\w]/g,""):r.test?.(e)??!1))}),{timeout:t,name:r?.toString()}).then((()=>{n.resolve()}),(e=>{n.reject(new Error(`${r} not seen. timeouted`))})),n},e.documentState=function(e,t,r="complete"){let n=new i.class_Dfr;return d((function(){return e.executeScript("return document.readyState").then((e=>"interactive"===r?"interactive"===e||"complete"===e:e===r))}),{timeout:t,name:`Document state ${r}`}).then((()=>{n.resolve()}),(e=>{n.reject(new Error("ReadyState timeout"))})),n},e.elementLeavesDom=function(e,t,n){let o=new i.class_Dfr;return d((function(){return(0,r.dfr_run)(((e,r)=>{t.getTagName().then((t=>{e(!1)}),(t=>{e(!0)}))}))}),{timeout:n,name:"elementLeavesDom"}).then((e=>{o.resolve()}),(e=>{o.reject(new Error(`The old element is still in dom after ${n}ms. Reload is not triggered`))})),o}}(c||(c={})),T===t.exports||(f(T)&&f(t.exports)?Object.assign(T,t.exports):T=t.exports)}(),function(){var e=null!=q?q:{},t={exports:e};function r(e){return null!=e&&"object"==typeof e&&e.constructor===Object}Object.defineProperty(e,"__esModule",{value:!0}),e.scripts_fetchAsync=void 0,e.scripts_fetchAsync=function(){var e=arguments[0],t=null;arguments.length>2&&"string"==typeof(t=arguments[1])&&(t=JSON.parse(t));var r=arguments[arguments.length-1];(t=t||{}).body instanceof HTMLFormElement&&(t.body=new FormData(t.body)),fetch(e,t).then((n=>{var o=n.headers.get("content-type"),s=n.status,i=Array.from(n.headers.entries()).reduce(((e,t)=>(e[t[0]]=t[1],e)),{});n.text().then((l=>{let a={status:s,headers:i,data:l,name:null,message:null};if(!1!==t.deserialize)if(n.ok){if(o.includes("html")){for(var u=(new DOMParser).parseFromString(l,"text/html"),c=u.querySelector("body"),d=c.querySelectorAll("link[href]"),h=0;h<d.length;h++)d[h].parentElement.removeChild(d[h]);var f=c.querySelectorAll("script");for(h=0;h<d.length;h++){var p=f[h],v=p.getAttribute("type");v&&!v.includes("javascript")||p.parentElement.removeChild(p)}var m,y=u.createElement("div");return y.setAttribute("style","display: none"),y.setAttribute("visibility","hidden"),y.attachShadow&&(m=y.attachShadow({mode:"open"})),null!=m?m.appendChild(c):y.appendChild(c),document.body.appendChild(y),void r(Object.assign(a,{data:c}))}if(o.includes("json"))try{var g=JSON.parse(l);r(Object.assign(a,{data:g}))}catch(e){r(Object.assign(a,{name:"Error",message:e.message}))}else r(a)}else r(Object.assign(a,{name:"Error",message:e+" has the status code "+n.status}));else r(a)}),(e=>{r(e)}))}),(e=>{r(e)}))},q===t.exports||(r(q)&&r(t.exports)?Object.assign(q,t.exports):q=t.exports)}(),function(){var e=null!=D?D:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.WebdriverFormData=void 0;class r{constructor(e,t,r){this.$=e,this.form=t,this.formId=r}async append(e,t){if(null==t)return this;let r="object"==typeof t&&"file"in t,n=r?"file":null,o=r?null:t,s=await this.$.eval((function(){let e=arguments[0],t=arguments[1],r=arguments[2],n=arguments[3],o=document.createElement("input");return o.setAttribute("name",t),null!=r&&o.setAttribute("type",r),null!=n&&o.setAttribute("value",n),e.appendChild(o),o}),this.form,e,n,o);return r&&await s.sendKeys(t.file),this}static async create(e){let t=`${Date.now()}_${Math.round(1e4*Math.random())}`,n=await e.eval((function(){let e=arguments[0],t=document.createElement("form");return t.setAttribute("style","display: none"),t.setAttribute("id",e),document.body.appendChild(t),t}),t);return new r(e,n,t)}}function n(e){return null!=e&&"object"==typeof e&&e.constructor===Object}e.WebdriverFormData=r,D===t.exports||(n(D)&&n(t.exports)?Object.assign(D,t.exports):D=t.exports)}(),function(){var e=null!=o?o:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.FormDataBase=void 0;const r=require("alot");function n(e){return null!=e&&"object"==typeof e&&e.constructor===Object}e.FormDataBase=class{constructor(){this.dict=Object.create(null)}append(e,t){return this.dict[e]=t,this}entries(){return r.fromObject(this.dict).map((e=>[e.key,e.value])).toArray()}},o===t.exports||(n(o)&&n(t.exports)?Object.assign(o,t.exports):o=t.exports)}(),function(){var e=null!=v?v:{},t={exports:e};function r(e){return null!=e&&"object"==typeof e&&e.constructor===Object}Object.defineProperty(e,"__esModule",{value:!0}),e.$headers=void 0,function(e){e.resolve=function(e){if(null==e)return{};if("string"==typeof e){let t=Object.create(null);return e.split("\n").map((e=>e.trim())).filter(Boolean).forEach((r=>{let n=r.indexOf(":");if(-1===n)throw new Error(`Invalid header delimter. ":" expected. ${r} in ${e}`);let o=r.substring(0,n).trim(),s=r.substring(n+1).trim();t[o]=s})),t}return e}}(e.$headers||(e.$headers={})),v===t.exports||(r(v)&&r(t.exports)?Object.assign(v,t.exports):v=t.exports)}(),function(){var e=null!=E?E:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.Webdriver=void 0;const r=T,n=C,s=require("atma-utils"),l=S,a=i,u=q,c=D,d=o,h=require("alot"),f=v,p=require("selenium-webdriver");function m(e){return null!=e&&"object"==typeof e&&e.constructor===Object}e.Webdriver={fromHtml:(t,r)=>e.Webdriver.load(`data:text/html;charset=utf-8,${t}`,r),build(e,t){let r=l.WebdriverQuery.newAsync();return n.driverPool.get(null,e,t).then((e=>{r.add(e.driver),r.resolve(r)}),(e=>{r.reject(e)})),r},load(e,t,o){"/"===e[0]&&(e="file://"+process.cwd()+e);let s=l.WebdriverQuery.newAsync();return n.driverPool.get(e,t,o).then((n=>{(0,r.loadUrl)(n.driver,e,t).then((e=>{s.add(e),s.resolve(s)}))}),(e=>s.reject(e))),s},unlockDriver(e){n.driverPool.unlockDriver(e)},async fetch(e,t,r){let o=await n.driverPool.getWithDomain(t?.baseUrl??e,t,r);!1===t?.includeCookies&&await o.driver.manage().deleteAllCookies();let i=null!=r?.query,a=t?.httpsProxy;if(a){let e=await o.driver.getCapabilities(),r=new p.Capabilities,n="string"==typeof a?a:a.url,s={proxyType:"manual",httpProxy:n,sslProxy:n},i=r.setProxy(s);if(e.merge(i),"string"!=typeof a&&a.username){let{username:e,password:r}=a,n=`${e}:${r}`,o=Buffer.from(n).toString("base64"),s="Proxy-Authorization";null==t.headers?t.headers={[s]:o}:"string"==typeof t.headers?t.headers+=`\n${s}: ${o}`:t.headers[s]=o}}if(t.body instanceof d.FormDataBase){let e=new l.WebdriverQuery(o.driver),r=await c.WebdriverFormData.create(e);await(0,h.default)(t.body.entries()).forEachAsync((async([e,t])=>{await r.append(e,t)})).toArrayAsync({threads:1}),t.body=r.form}let v={...r?.opts??{},body:r?.opts?.body??t.body,headers:r?.opts?.headers??t.headers,method:r?.opts?.method??t.method};"string"==typeof v.headers&&(v.headers=f.$headers.resolve(v.headers));let m=await o.driver.executeAsyncScript(u.scripts_fetchAsync,e,v);if(null==m)throw new Error("Response from the script is undefined");if(m={...m,driver:o.driver},"Error"===m.name)throw!1===i&&n.driverPool.unlockDriver(o),m;let y=m.data;if(null!=y&&"object"==typeof y&&("findElements"in y||(0,s.is_ArrayLike)(y)&&0!==y.length&&"findElements"in y[0])){let e=new l.WebdriverQuery(y);return{...m,data:e}}return!1===i&&n.driverPool.unlockDriver(o),m},pseudo:a.SelectorsEx.pseudoFns},E===t.exports||(m(E)&&m(t.exports)?Object.assign(E,t.exports):E=t.exports)}(),function(){var e=null!=_?_:{},t={exports:e};function r(e){return null!=e&&"object"==typeof e&&e.constructor===Object}Object.defineProperty(e,"__esModule",{value:!0}),e.Humanize=void 0,function(e){let t;!function(e){e.getSeconds=function(e){let t=/^(\d+)(s|sec|seconds|m|mins?|h|hours?|d|days?|w|weeks?|months?|y|years?)$/,r=t.exec(e);if(null==r)throw new Error(`Invalid Humanize seconds. Pattern: ${t.toString()}. Got: ${e}`);let n=parseFloat(r[1]);switch(r[2]){case"s":case"sec":return n;case"m":case"min":case"mins":return 60*n;case"h":case"hour":case"hours":return 60*n*60;case"d":case"day":case"days":return 60*n*60*24;case"w":case"week":case"weeks":return 60*n*60*24*7;case"month":case"months":return 60*n*60*24*31;case"y":case"year":case"years":return 60*n*60*24*365}return 0}}(t=e.Time||(e.Time={}))}(e.Humanize||(e.Humanize={})),_===t.exports||(r(_)&&r(t.exports)?Object.assign(_,t.exports):_=t.exports)}(),function(){var e=null!=F?F:{},t={exports:e};function r(e,t={}){if(e.includes("://localhost")&&e.replace("://localhost","://127.0.0.1"),t.query){let r="";for(let n in t.query){if(e.includes(`${n}=`))continue;r+=(r?"&":"")+`${n}=${encodeURIComponent(t.query[n])}`}r&&(e+=(e.includes("?")?"&":"?")+r)}return e}function n(e){return null!=e&&"object"==typeof e&&e.constructor===Object}Object.defineProperty(e,"__esModule",{value:!0}),e.serializeCachableUrl=e.serializeUrl=void 0,e.serializeUrl=r,e.serializeCachableUrl=function(e,t){e=e.replace(/(?<!:)[/]{2,}/g,"/");let n=t.cacheQueryIgnore;return n&&n.forEach((t=>{e=(e=e.replace(new RegExp(`&${t}=[\\w\\d]+`),"")).replace(new RegExp(`\\?${t}=[\\w\\d]+`),"?")})),r(e,t)},F===t.exports||(n(F)&&n(t.exports)?Object.assign(F,t.exports):F=t.exports)}(),function(){var e=null!=a?a:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.cache=e.Cache=void 0;const r=require("crypto"),n=require("atma-io"),o=require("zlib"),s=_,i=F,l="./cache/squery";class u{constructor(){this.meta=null,this.isFlushDeferred=!1}hasInner(e,t,{isAsync:r=!1}={}){if(null==t.cache||!1===t.cache)return!1;e=(0,i.serializeCachableUrl)(e,t);let o=d.getDomainKey(e);this.ensureMeta(o);let s=this.meta[o],a=s[e]??s[e.toLowerCase()];return null!=a&&n.File[r?"exists":"existsAsync"](`${l}/${o}/${a.file}`)}has(e,t){return this.hasInner(e,t,{isAsync:!1})}hasAsync(e,t){return this.hasInner(e,t,{isAsync:!0})}remove(e,t){e=(0,i.serializeCachableUrl)(e,t);let r=d.getDomainKey(e);this.ensureMeta(r);let n=this.meta[r];if(null==(n[e]??n[e.toLowerCase()]))return null;delete this.meta[r][e],this.flushMeta(r)}async get(e,t){if(null==t.cache||!1===t.cache)return null;e=(0,i.serializeCachableUrl)(e,t);let r=d.getDomainKey(e);this.ensureMeta(r);let o=this.meta[r],s=o[e]??o[e.toLowerCase()];if(null==s)return null;let a=(Date.now()-s.time)/1e3|0,u=d.getMaxAge(t.cache,s);if(u&&a>u)return null;let h=s.file.endsWith(".gz"),f=h?"buffer":"utf8",p=await new n.File(`${l}/${r}/${s.file}`,{cached:!1}).readAsync({encoding:f});if(h){let e=await c.decompress(p);p=JSON.parse(e)}return null!=p.file&&(p.body=await new n.File(`${l}/${r}/${p.file}`,{cached:!1}).readAsync({encoding:"buffer"}),delete p.file),p}save(e,t,o){if(null==t.cache||!1===t.cache)return null;if(!o.body||o.status>=400)return null;let s="boolean"!=typeof t.cache?t.cache:{compress:!0,maxAge:86400};!0===t.cache&&(s={compress:!0}),e=(0,i.serializeCachableUrl)(e,t);let a=d.getDomainKey(e);this.ensureMeta(a);let u=r.createHash("md5").update(e).digest("hex"),h=`${u}.json`,f=s.compress;f&&(h+=".gz"),this.meta[a][e]={time:Date.now(),file:h,maxAge:d.getMaxAge(s)},this.flushMeta(a);let p={status:o.status,headers:o.headers,url:o.url,body:o.body},v=o.headers["content-type"];if(!1===/json|text/.test(v)){let t=/\.[\w\d]+$/.exec(e)[0],r=`${l}/${a}/files/${u}${t}`;new n.File(r,{cached:!1}).writeAsync(o.body),p.file=`files/${u}${t}`,delete p.body}if(!f)return void new n.File(`${l}/${a}/${h}`,{cached:!1}).writeAsync(p);let m=JSON.stringify(p);c.compress(Buffer.from(m)).then((e=>{new n.File(`${l}/${a}/${h}`,{cached:!1}).writeAsync(e)}))}ensureMeta(e){if(null!=this.meta&&null!=this.meta[e])return;null==this.meta&&(this.meta={});let t=`${l}/${e}/meta.json`;n.File.exists(t)?this.meta[e]=n.File.read(t):this.meta[e]={}}flushMeta(e){this.isFlushDeferred||(this.isFlushDeferred=!0,setTimeout((async()=>{try{await n.File.writeAsync(`${l}/${e}/meta.json`,this.meta[e])}finally{this.isFlushDeferred=!1}}),1e3))}}e.Cache=u;class c{static compress(e){return new Promise(((t,r)=>{o.deflate(e,((e,n)=>{e?r(e):t(n)}))}))}static decompress(e){return new Promise(((t,r)=>{o.unzip(e,((e,n)=>{e?r(e):t(n.toString("utf8"))}))}))}}var d;function h(e){return null!=e&&"object"==typeof e&&e.constructor===Object}!function(e){function t(e){if(null==e)return!0;if(!1===e)return 0;if(!0===e)return Number.MAX_SAFE_INTEGER;let t=e.maxAge;return"string"==typeof t?s.Humanize.Time.getSeconds(t):t}e.getDomainKey=function(e){let t=/([\w\d_\-]+\.[\w]{2,5})([\/:]|$)/.exec(e);return t?t[1].replace(".","_"):""},e.getMaxAge=function(e,r){return t(e)??t(r)??0}}(d||(d={})),e.cache=new u,a===t.exports||(h(a)&&h(t.exports)?Object.assign(a,t.exports):a=t.exports)}(),function(){var e=null!=l?l:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.Body=void 0;const r=require("atma-utils");function n(e){return null!=e&&"object"==typeof e&&e.constructor===Object}!function(e){function t(e,n={},o=null){for(let s in e){let i=e[s];if(null==i)continue;let l=o?`${o}[${s}]`:s;if("object"==typeof i&&!Buffer.isBuffer(i)){if(Array.isArray(i))return void i.forEach(((e,r)=>{t(e,n,`${l}[${r}]`)}));if((0,r.is_rawObject)(i))return void t(i,n,l);throw new Error(`Cannt flattern object. Unsupported value type in ${l}`)}n[l]=i}return n}e.handleAsRawObject=function(e){let n=e.headers?.["content-type"]??e.headers?.["Content-Type"];if(null==n&&(n="application/json; charset=UTF-8",e.headers=(0,r.obj_extend)(e.headers,{"Content-Type":n})),n.includes("/json"))e.body=JSON.stringify(e.body);else if(n.includes("form-urlencoded")){const{URLSearchParams:r}=require("url"),n=new r,o=t(e.body);for(let e in o)n.append(e,o[e]);e.body=n}else if(n.includes("form-data")){const r=new(require("form-data")),n=t(e.body);for(let e in n)r.append(e,n[e]);return e.body=r,delete e.headers["Content-Type"],void delete e.headers["content-type"]}}}(e.Body||(e.Body={})),l===t.exports||(n(l)&&n(t.exports)?Object.assign(l,t.exports):l=t.exports)}(),function(){var e=null!=c?c:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.NetworkSpan=e.NetworkTracer=void 0;const r=require("atma-utils"),n="complete";class o extends r.class_EventEmitter{constructor(){super(...arguments),this.active=!1,this.spans=[]}createSpan(e){if(!1===this.active)return new i(e);let t=new s(e);return this.spans.push(t),t.on(n,(()=>this.trigger(n,t))),t}onComplete(e){this.active=!0,this.on(n,e)}clear(){this.active=!1,this.spans.length=0,this.off(n)}}e.NetworkTracer=o;class s extends r.class_EventEmitter{constructor(e){super(),this.cached=!1,this.req=e,this.startTime=new Date}complete(e){this.endTime=new Date,this.res={url:e.url,status:e.status,headers:e.headers,body:e.body},Buffer.isBuffer(e.body)&&(this.res.body=e.body.toString()),this.trigger(n,this)}}e.NetworkSpan=s;class i{constructor(e){}complete(e){}}function l(e){return null!=e&&"object"==typeof e&&e.constructor===Object}c===t.exports||(l(c)&&l(t.exports)?Object.assign(c,t.exports):c=t.exports)}(),function(){var e=null!=u?u:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.NetworkDriver=void 0;const r=require("https"),o=require("http"),s=require("url"),i=require("node-fetch"),d=n,h=a,f=require("atma-utils"),p=l,m=c,y=F,g=v,w={headers:{Accept:"text/html,application/xhtml+xml,application/xml,application/json;q=0.9,image/webp,image/apng,*/*;q=0.8","Accept-Encoding":"gzip, deflate","Accept-Language":"en,ru;q=0.9,de;q=0.8,en-GB;q=0.7,uk;q=0.6,la;q=0.5","Cache-Control":"no-cache",Pragma:"no-cache","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"}},b={http:new o.Agent({keepAlive:!0}),https:new r.Agent({keepAlive:!0})},x=new m.NetworkTracer;function _(e){let t={};for(let r of e.entries()){let[e,n]=r;t[e]=n}return t}e.NetworkDriver={isCached:(e,t={})=>(e=(0,y.serializeCachableUrl)(e,t),h.cache.has(e,t)),isCachedAsync:(e,t={})=>(e=(0,y.serializeCachableUrl)(e,t),h.cache.hasAsync(e,t)),clearCookies(){d.cookieContainer.clearCookies()},clearCached(e,t={}){e=(0,y.serializeCachableUrl)(e,t),h.cache.remove(e,t)},load:(e,t={})=>new C(e,t).load(),getCookies:e=>d.cookieContainer.getCookies(e),setCookies(...e){d.cookieContainer.addCookies(...e)},tracer:x};class C{constructor(e,t={}){this.url=e,this.config=t,this.promise=new f.class_Dfr,this.isCompleted=!1,this.timer=null,this.redirectIndex=0,this.retryIndex=0;const r=Object.assign({},!1!==t?.includeDefaultHeaders?w.headers:{},g.$headers.resolve(t.headers));if(this.options={headers:r,method:t.method,body:t.body,follow:t.follow,onRedirect(e){e.prev.startsWith("http:")&&e.url.includes("https:")&&(e.opts.agent=b.https)}},this.cookieContainer=t.cookieContainer||d.cookieContainer,this.retryCount="retryCount"in t?t.retryCount:3,this.retryTimeout="retryTimeout"in t?t.retryTimeout:1e3,this.doNotThrow=t.doNotThrow,this.options.headers.Cookie&&this.cookieContainer.addCookies(e,this.options.headers.Cookie),t.cookies&&this.cookieContainer.addCookies(e,t.cookies),t.cookiesDefault&&this.cookieContainer.addCookies(e,t.cookiesDefault,{extend:!0}),!1!==t.includeCookies){let t=this.cookieContainer.getCookies(e);t&&(this.options.headers.Cookie=t)}if(e=(0,y.serializeUrl)(e,t),t.agent?this.options.agent=t.agent:(e.startsWith("http:")&&(this.options.agent=b.http),e.startsWith("https:")&&(this.options.agent=b.https)),t.httpsProxy){process.env.NODE_TLS_REJECT_UNAUTHORIZED="0";let e,r=require("https-proxy-agent"),n=null,o=null;if("string"==typeof t.httpsProxy)o=s.parse(t.httpsProxy);else{o=s.parse(t.httpsProxy.url);let{username:r,password:n}=t.httpsProxy;r&&n&&(e=`${r}:${n}`)}o.auth&&(e=o.auth),e&&(n={"Proxy-Authorization":`Basic ${Buffer.from(e).toString("base64")}`}),this.options.agent=new r({...o,headers:n})}t.ignoreSSLErrors&&(process.env.NODE_TLS_REJECT_UNAUTHORIZED="0"),null!=t.body&&(0,f.is_rawObject)(t.body)&&p.Body.handleAsRawObject(this.options),!1!==this.config.includeDefaultHeaders&&null==this.options.headers.Referer&&(this.options.headers.Referer=e),this.redirectCount=null==this.options.follow?10:this.options.follow,this.options.redirect="manual",this.location=e}async load(){this.span=x.createSpan({url:this.location,headers:this.options.headers,method:this.options.method,body:this.options.body});let e=await this._fromCache();return e?(this.span.complete(e),e):(this.config.timeoutMs&&(this.timer=setTimeout((()=>{this.doComplete(new Error(`Timeouted in ${this.config.timeoutMs}ms`))}),this.config.timeoutMs)),this._fetch(this.location),this.promise)}async _fromCache(){try{let e=await h.cache.get(this.url,this.config);if(e)return{status:e.status,url:e.url,headers:e.headers,body:e.body}}catch(e){}return null}async _handleResponse(e){if(e.status>=400&&--this.retryCount>0)switch(e.status){case 404:case 401:case 403:break;default:return console.log(`Retry ${this.retryCount} for [${this.options.method}] ${this.location} as got ${e.status}`),await(t=this.retryTimeout,new Promise((e=>{setTimeout((()=>e(null)),t)}))),void this._fetch(this.location)}var t;let r=e.headers.get("set-cookie");if(r&&this.cookieContainer.addCookies(this.location,r),301===e.status||302===e.status){let t=this.cookieContainer.getCookies(this.location);t&&(this.options.headers.Cookie=t);var n=e.headers.get("location");if(!n)throw new Error("Location not present");if(++this.redirectIndex<this.redirectCount)return this.options.method="GET",this.options.body=null,this.options.headers&&(delete this.options.headers["Content-Type"],delete this.options.headers["content-type"],delete this.options.headers["Content-Length"],delete this.options.headers["content-length"]),this.location=n,void this._fetch(n)}return await this._handleCompletion(e)}async _handleCompletion(e){let t=e.status>=400,r="buffer",n=e.headers.get("content-type");/\bjson\b/i.test(n)&&(r="json"),/\btext\b/i.test(n)&&(r="text");let o=null;switch(r){case"text":o=await(e.textConverted?.()??e.text());break;case"json":let t=await(e.textConverted?.()??e.text());try{o=JSON.parse(t)}catch(r){throw new Error(`Invalid json response for ${e.url}: ${t}`)}break;case"buffer":let r=await e.arrayBuffer();o=Buffer.from(r)}let s={status:e.status,headers:_(e.headers),url:e.url,body:o};if(this.span.complete(s),t){if(!0===this.doNotThrow)return s;let t=new Error(`Request for ${e.url} failed with ${e.status}`);throw t.status=s.status,t.body=s.body,t.headers=s.headers,t}return h.cache.save(this.location,this.config,s),s}async _fetch(e){try{let t=this.config?.fetcher??i.default,r=await t(e,this.options),n=await this._handleResponse(r);null!=n&&this.doComplete(null,n)}catch(e){this.doComplete(e)}}doComplete(e,t){clearTimeout(this.timer),this.isCompleted||(this.isCompleted=!0,null==e?this.promise.resolve(t):this.promise.reject(e))}}function j(e){return null!=e&&"object"==typeof e&&e.constructor===Object}u===t.exports||(j(u)&&j(t.exports)?Object.assign(u,t.exports):u=t.exports)}(),function(){var e=null!=f?f:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.JsdomQuery=void 0;const r=s,n=require("jsdom"),o=x,i=u;class l extends r.IQuery{waitForElement(e,t){throw new Error("Method not implemented.")}_onFn(e,t,r){throw new Error("Method not implemented.")}_onOnceFn(e,t,r){throw new Error("Method not implemented.")}_offFn(e,t,r){throw new Error("Method not implemented.")}hasClassFn(e,t){return(0,o.dfr_resolve)(e.classList.contains(t))}addClassFn(e,t){return e.classList.add(t),(0,o.dfr_resolve)()}removeClassFn(e,t){return e.classList.remove(t),(0,o.dfr_resolve)()}toggleClassFn(e,t){return e.classList.toggle(t),(0,o.dfr_resolve)()}textGetFn(e){return(0,o.dfr_resolve)(e.textContent)}textSetFn(e,t){return e.textContent=t,(0,o.dfr_resolve)()}htmlOuterGetFn(e){return(0,o.dfr_resolve)(e.outerHTML)}htmlGetFn(e){return(0,o.dfr_resolve)(e.innerHTML)}htmlSetFn(e,t){return e.innerHTML=t,(0,o.dfr_resolve)()}appendFn(e,t){return e.insertAdjacentHTML("beforeend",t),(0,o.dfr_resolve)()}prependFn(e,t){return e.insertAdjacentHTML("afterbegin",t),(0,o.dfr_resolve)()}beforeFn(e,t){return e.insertAdjacentHTML("beforebegin",t),(0,o.dfr_resolve)()}afterFn(e,t){return e.insertAdjacentHTML("afterend",t),(0,o.dfr_resolve)()}cssGet(e,t){return(0,o.dfr_resolve)(e.style[a(t)])}cssSet(e,t){for(let r in t)e.style[a(r)]=t[r];return(0,o.dfr_resolve)()}async heightGetFn(e){return(await this.getBoundingClientRect(e)).height}async widthGetFn(e){return(await this.getBoundingClientRect(e)).width}innerHeightFn(e){return this.getField(e,"offsetHeight")}innerWidthFn(e){return this.getField(e,"offsetWidth")}getBoundingClientRect(e){return(0,o.dfr_resolve)(e.getBoundingClientRect())}async getPosition(e){let t=this.getField(e,"offsetTop"),r=this.getField(e,"offsetLeft"),[n,o]=await Promise.all([t,r]);return{top:n,left:o}}scrollTopGetFn(e){return this.getField(e,"scrollTop")}scrollTopSetFn(e,t){return this.setField(e,"scrollTop",t)}scrollLeftGetFn(e){return this.getField(e,"scrollLeft")}scrollLeftSetFn(e,t){return this.setField(e,"scrollLeft",t)}evalFn(e,t,...r){throw new Error("Eval is not supported in JSDOM")}clickFn(e){return e.click(),(0,o.dfr_resolve)()}triggerFn(e,t,...r){throw new Error("Trigger is not supported in JSDOM")}selectFn(e,...t){throw new Error("Select is not supported in JSDOM")}focusFn(e){throw new Error("FOCUS is not supported in JSDOM")}blurFn(e){throw new Error("BLUR is not supported in JSDOM")}sendKeysFn(e,t){throw new Error("SEND_KEYS is not supported in JSDOM")}typeFn(e,t){throw new Error("TYPE is not supported in JSDOM")}pressFn(e,t){throw new Error("PRESS is not supported in JSDOM")}removeFn(e){return e.parentElement.removeChild(e),(0,o.dfr_resolve)()}attrGetFn(e,t){return(0,o.dfr_resolve)(e.getAttribute(t))}attrSetFn(e,t){for(let r in t)e.setAttribute(r,t[r]);return(0,o.dfr_resolve)()}valGetFn(e){return this.getField(e,"value")}valSetFn(e,t){return this.setField(e,"value",t)}dataGetFn(e,t){return(0,o.dfr_resolve)(e.dataset[t])}dataSetFn(e,t){for(let r in t)e.dataset[r]=t[r];return(0,o.dfr_resolve)()}propGetFn(e,t){return(0,o.dfr_resolve)(e[t])}propSetFn(e,t){for(let r in t)e[r]=t[r];return(0,o.dfr_resolve)()}findFn(e,t){let r=Array.from(e.querySelectorAll(t));return(0,o.dfr_resolve)(r)}matchesFn(e,t){return(0,o.dfr_resolve)(e.matches(t))}parentFn(e){return(0,o.dfr_resolve)(e.parentElement)}closestFn(e,t){let r=e.parentElement;for(;null!=r&&(r=r.parentElement,!r.matches(t));r=r.parentElement);return(0,o.dfr_resolve)(r)}childrenFn(e,t){let r=Array.from(e.children);return t&&(r=r.filter((e=>e.matches(t)))),(0,o.dfr_resolve)(r)}nextFn(e,t){let r=e.nextElementSibling;if(null!=t)for(;null!=r&&!r.matches(t);r=r.nextElementSibling);return(0,o.dfr_resolve)(r)}getField(e,t){return e[t]}setField(e,t,r){if(2===arguments.length){for(let r in t)e[r]=t[r];return(0,o.dfr_resolve)()}return e[t]=r,(0,o.dfr_resolve)()}callField(e,t,...r){return(0,o.dfr_resolve)(e[t](...r))}static newAsync(e,t){let r=new l(e);return r.ctx.owner=t,r.then=r.ctx.thener,r}unlock(){}static build(e,t){throw new Error("No build for JSDom is required. Use direkt load")}static load(e,t,r){let o=l.newAsync();return i.NetworkDriver.load(e,r?.opts).then((e=>{let t=e.body.toString(),r=new n.JSDOM(t);o.add(r.window.document),o.resolve(o)})),o}static fetch(e,t,r){return this.load(e,t,r)}static setDriver(e){throw new Error("JSDOM does not support driver")}static getDriver(e,t){throw new Error("JSDOM does not support driver")}static unlockDriver(e){}}function a(e){return e.replace(/\-(\w)/g,((e,t)=>t.toUpperCase()))}function c(e){return null!=e&&"object"==typeof e&&e.constructor===Object}e.JsdomQuery=l,f===t.exports||(c(f)&&c(t.exports)?Object.assign(f,t.exports):f=t.exports)}(),function(){var e=null!=h?h:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.JsdomDriver=void 0;const r=f,n=u,o=require("jsdom"),s=i;function l(e){return null!=e&&"object"==typeof e&&e.constructor===Object}e.JsdomDriver={fromHtml:t=>e.JsdomDriver.build({html:t}),build(e){let t=e.html,n=new o.JSDOM(t).window.document,s=!0;return/^\s*<(?!(!?DOCTYPE|html))/i.test(t)&&(s=!1),!0===e.fragment&&(s=!1),!1===s&&(n=Array.from(n.body.children)),new r.JsdomQuery(n)},load(e,t){let s=r.JsdomQuery.newAsync();return n.NetworkDriver.load(e,t).then((e=>{let t=new o.JSDOM(e.body.toString());s.add(t.window.document),s.resolve(s)}),(e=>{s.reject(e)})),s},fetch(e,t,r){return this.load(e,t,r)},setDriver(e){throw new Error("JSDOM does not support driver")},getDriver(e,t){throw new Error("JSDOM does not support driver")},unlockDriver(e){throw new Error("JSDOM does not support driver")},pseudo:s.SelectorsEx.pseudoFns},h===t.exports||(l(h)&&l(t.exports)?Object.assign(h,t.exports):h=t.exports)}(),function(){var e=null!=t?t:{},r={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.CheerioUtils=void 0;const n=require("cheerio");function o(e){return null!=e&&"object"==typeof e&&e.constructor===Object}e.CheerioUtils={fromHtml:e=>n.default(e,void 0,void 0,{xml:{decodeEntities:!1}}),fromNode:e=>n.default(e,void 0,void 0,{xml:{decodeEntities:!1}})},t===r.exports||(o(t)&&o(r.exports)?Object.assign(t,r.exports):t=r.exports)}(),function(){var e=null!=r?r:{},n={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.CherrioQuery=void 0;const o=s,i=x,l=u,a=t,c=require("cheerio");class d extends o.IQuery{waitForElement(e,t){throw new Error("Method not implemented.")}_onFn(e,t,r){throw new Error("Method not implemented.")}_onOnceFn(e,t,r){throw new Error("Method not implemented.")}_offFn(e,t,r){throw new Error("Method not implemented.")}hasClassFn(e,t){return(0,i.dfr_resolve)((0,c.default)(e).hasClass(t))}addClassFn(e,t){return(0,c.default)(e).addClass(t),(0,i.dfr_resolve)()}removeClassFn(e,t){return(0,c.default)(e).removeClass(t),(0,i.dfr_resolve)()}toggleClassFn(e,t){return(0,c.default)(e).toggleClass(t),(0,i.dfr_resolve)()}textGetFn(e){const t="script"===e.tagName?"html":"text";return(0,i.dfr_resolve)((0,c.default)(e)[t]())}textSetFn(e,t){return(0,c.default)(e).text(t),(0,i.dfr_resolve)()}htmlOuterGetFn(e){return(0,i.dfr_resolve)(c.default.html(e))}htmlGetFn(e){return(0,i.dfr_resolve)(a.CheerioUtils.fromNode(e).html())}htmlSetFn(e,t){return(0,c.default)(e).html(t),(0,i.dfr_resolve)()}appendFn(e,t){return(0,c.default)(e).append(t),(0,i.dfr_resolve)()}prependFn(e,t){return(0,c.default)(e).prepend(t),(0,i.dfr_resolve)()}beforeFn(e,t){return(0,c.default)(e).insertBefore(t),(0,i.dfr_resolve)()}afterFn(e,t){return(0,c.default)(e).insertAfter(t),(0,i.dfr_resolve)()}cssGet(e,t){return(0,i.dfr_resolve)((0,c.default)(e).css(t))}cssSet(e,t){return(0,c.default)(e).css(t),(0,i.dfr_resolve)()}async heightGetFn(e){throw new Error("Cheerio driver does not support dimensions feature")}async widthGetFn(e){throw new Error("Cheerio driver does not support dimensions feature")}innerHeightFn(e){throw new Error("Cheerio driver does not support dimensions feature")}innerWidthFn(e){throw new Error("Cheerio driver does not support dimensions feature")}getBoundingClientRect(e){throw new Error("Cheerio driver does not support dimensions feature")}async getPosition(e){throw new Error("Cheerio driver does not support dimensions feature")}scrollTopGetFn(e){throw new Error("Cheerio driver does not support dimensions feature")}scrollTopSetFn(e,t){throw new Error("Cheerio driver does not support dimensions feature")}scrollLeftGetFn(e){throw new Error("Cheerio driver does not support dimensions feature")}scrollLeftSetFn(e,t){throw new Error("Cheerio driver does not support dimensions feature")}evalFn(e,t,...r){throw new Error("Eval is not supported with Cheerio Driver")}clickFn(e){throw new Error("Cheerio driver does not support manipulation feature")}triggerFn(e,t,...r){throw new Error("Cheerio driver does not support manipulation feature")}selectFn(e,...t){throw new Error("Cheerio driver does not support manipulation feature")}focusFn(e){throw new Error("FOCUS is not supported in Cheerio")}blurFn(e){throw new Error("BLUR is not supported in Cheerio")}sendKeysFn(e,t){throw new Error("SEND_KEYS is not supported in Cheerio")}typeFn(e,t){throw new Error("TYPE is not supported in Cheerio")}pressFn(e,t){throw new Error("PRESS is not supported in Cheerio")}removeFn(e){return(0,c.default)(e).remove(),(0,i.dfr_resolve)()}attrGetFn(e,t){return(0,i.dfr_resolve)((0,c.default)(e).attr(t))}attrSetFn(e,t){for(let r in t)(0,c.default)(e).attr(r,t[r]);return(0,i.dfr_resolve)()}valGetFn(e){return(0,i.dfr_resolve)((0,c.default)(e).val())}valSetFn(e,t){return(0,c.default)(e).val(t),(0,i.dfr_resolve)()}dataGetFn(e,t){return(0,i.dfr_resolve)((0,c.default)(e).data(t))}dataSetFn(e,t){for(let r in t)(0,c.default)(e).data(r,t[r]);return(0,i.dfr_resolve)()}propGetFn(e,t){return(0,i.dfr_resolve)((0,c.default)(e).prop(t))}propSetFn(e,t){for(let r in t)(0,c.default)(e).prop(r,t[r]);return(0,i.dfr_resolve)()}findFn(e,t){let r=(0,c.default)(e).find(t).toArray();return(0,i.dfr_resolve)(r)}matchesFn(e,t){return(0,i.dfr_resolve)((0,c.default)(e).is(t))}parentFn(e){let t=(0,c.default)(e).parent().get(0);return(0,i.dfr_resolve)(t)}closestFn(e,t){let r=(0,c.default)(e).closest(t).get(0);return(0,i.dfr_resolve)(r)}childrenFn(e,t){let r=(0,c.default)(e).children(t).toArray();return(0,i.dfr_resolve)(r)}nextFn(e,t){let r=(0,c.default)(e).next(t).get(0);return(0,i.dfr_resolve)(r)}getField(e,t){return e[t]}setField(e,t,r){if(2===arguments.length){for(let r in t)e[r]=t[r];return(0,i.dfr_resolve)()}return e[t]=r,(0,i.dfr_resolve)()}callField(e,t,...r){return(0,i.dfr_resolve)(e[t](...r))}static newAsync(e,t){let r=new d(e);return r.ctx.owner=t,r.then=r.ctx.thener,r}unlock(){}static build(e,t){throw new Error("No build for JSDom is required. Use direkt load")}static load(e,t,r){let n=d.newAsync();return l.NetworkDriver.load(e,r?.opts).then((e=>{let t=e.body.toString(),r=a.CheerioUtils.fromHtml(t);n.ctx.source=t,n.add(r),n.resolve(n)})),n}static fetch(e,t,r){return this.load(e,t,r)}static setDriver(e){throw new Error("JSDOM does not support driver")}static getDriver(e,t){throw new Error("JSDOM does not support driver")}static unlockDriver(e){}}function h(e){return null!=e&&"object"==typeof e&&e.constructor===Object}e.CherrioQuery=d,r===n.exports||(h(r)&&h(n.exports)?Object.assign(r,n.exports):r=n.exports)}(),function(){var n=null!=e?e:{},o={exports:n};Object.defineProperty(n,"__esModule",{value:!0}),n.CheerioDriver=void 0;const s=r,l=u,a=t,c=i;let d;n.CheerioDriver={fromHtml:e=>n.CheerioDriver.build({html:e}),build(e){let t=e.html;d=new h(e),d.html=t;let r=a.CheerioUtils.fromHtml(t),n=new s.CherrioQuery(r);return n.ctx.source=t,n},load:(e,t)=>(d=new h(t),d.getAsQuery(e)),fetch(e,t,r){return this.load(e,t,r)},setDriver(e){throw new Error("Cheerio does not support driver")},getDriver:(e,t)=>Promise.resolve(d),unlockDriver(e){d=null},pseudo:c.SelectorsEx.pseudoFns};class h{constructor(e){this.config=e}async get(e){let t=s.CherrioQuery.newAsync(),r=await l.NetworkDriver.load(e,this.config),n=r.body.toString(),o=a.CheerioUtils.fromHtml(n);this.url=r.url,this.headers=r.headers,this.status=r.status,this.html=n,t.ctx.source=n,t.ctx.url=e,t.ctx.status=r.status,t.ctx.headers=r.headers,t.add(o),t.resolve(t)}async getCurrentUrl(){return this.url}async getPageSource(){return this.html}async getAsQuery(e){await this.get(e);let t=s.CherrioQuery.newAsync(),r=a.CheerioUtils.fromHtml(this.html);return t.ctx.source=this.html,t.ctx.url=e,t.ctx.status=this.status,t.ctx.headers=this.headers,t.add(r),t.resolve(t),t}manage(){throw new Error("Method not implemented.")}execute(e,t){throw new Error("Method not implemented.")}setFileDetector(e){throw new Error("Method not implemented.")}getExecutor(){throw new Error("Method not implemented.")}getSession(){throw new Error("Method not implemented.")}getCapabilities(){throw new Error("Method not implemented.")}quit(){throw new Error("Method not implemented.")}actions(e){throw new Error("Method not implemented.")}wait(...e){throw new Error("Method not implemented.")}sleep(e){throw new Error("Method not implemented.")}getWindowHandle(){throw new Error("Method not implemented.")}getAllWindowHandles(){throw new Error("Method not implemented.")}close(){throw new Error("Method not implemented.")}getTitle(){throw new Error("Method not implemented.")}findElement(e){throw new Error("Method not implemented.")}findElements(e){throw new Error("Method not implemented.")}takeScreenshot(){throw new Error("Method not implemented.")}navigate(){throw new Error("Method not implemented.")}switchTo(){throw new Error("Method not implemented.")}executeScript(e,...t){throw new Error("Method not implemented.")}executeAsyncScript(e,...t){throw new Error("Method not implemented.")}}function f(e){return null!=e&&"object"==typeof e&&e.constructor===Object}e===o.exports||(f(e)&&f(o.exports)?Object.assign(e,o.exports):e=o.exports)}(),function(){var e=null!=O?O:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.WebdriverEventsPoll=void 0;const r=N;function n(e){return null!=e&&"object"==typeof e&&e.constructor===Object}!function(e){let t=[],n={};e.addEventListener=function(e,o,s){return(0,r.node_eval)(e,K,o).then((i=>{t.push([e,o,s,i]),n[i]={node:e,type:o,cb:s,active:!0},async function t(){let o=n[i];if(!0!==o.active)return;let l=await(0,r.node_eval)(e,V,i);return!0===o.active?l?(s(l),void t()):void setTimeout(t,200):void 0}()}))},e.removeEventListener=async function(e,o,s=null){for(let i=0;i<t.length;i++){let l=t[i],[a,u,c,d]=l;if(o!==u)continue;if(e!==a)continue;if(null!=s&&s!==c)continue;let h=n[d];h&&(h.active=!1),await(0,r.node_eval)(e,Y,d),t.splice(i,1),delete n[d],i--}}}(e.WebdriverEventsPoll||(e.WebdriverEventsPoll={})),O===t.exports||(n(O)&&n(t.exports)?Object.assign(O,t.exports):O=t.exports)}(),function(){var e=null!=P?P:{},t={exports:e};function r(e){return null!=e&&"object"==typeof e&&e.constructor===Object}Object.defineProperty(e,"__esModule",{value:!0}),e.scripts_nodeCss=void 0,e.scripts_nodeCss=function(){var e=arguments.length;if(!(e<2)){var t=arguments[0],r=arguments[1];if(null!=t&&null!=r){if(2==e&&"string"==typeof r)return function(e,t){return getComputedStyle(e)[o(t)]}(t,r);if("object"!=typeof r)if(e>2&&"string"==typeof r)s(t,r,arguments[2]);else;else for(var n in r)s(t,n,r[n])}}function o(e){return e.replace(/\-(.)/g,(function(e,t){return t.toUpperCase()}))}function s(e,t,r){e.style[o(t)]=r}},P===t.exports||(r(P)&&r(t.exports)?Object.assign(P,t.exports):P=t.exports)}(),function(){var e=null!=L?L:{},t={exports:e};function r(e){return null!=e&&"object"==typeof e&&e.constructor===Object}Object.defineProperty(e,"__esModule",{value:!0}),e.scripts_nodeProperty=void 0,e.scripts_nodeProperty=function(){var e=arguments.length;if(!(e<2)){var t=arguments[0],r=arguments[1];if(null!=t&&null!=r){if(2==e&&"string"==typeof r)return function(e,t){return e[t]}(t,r);if("object"!=typeof r)if(e>2&&"string"==typeof r)o(t,r,arguments[2]);else;else for(var n in r)o(t,n,r[n])}}function o(e,t,r){e[t]=r}},L===t.exports||(r(L)&&r(t.exports)?Object.assign(L,t.exports):L=t.exports)}(),function(){var e=null!=$?$:{},t={exports:e};function r(e){return null!=e&&"object"==typeof e&&e.constructor===Object}Object.defineProperty(e,"__esModule",{value:!0}),e.scripts_nodeDataset=void 0,e.scripts_nodeDataset=function(){function e(e){return o.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}var t=arguments.length;if(!(t<2)){var r=arguments[0],n=arguments[1];if(null!=r&&null!=n){if(2==t&&"string"==typeof n)return function(t,r){if(r=function(e){return e.replace(/\-(.)/g,(function(e,t){return t.toUpperCase()}))}(r),t.dataset)return t.dataset[r];return t.getAttribute("data-"+e())}(r,n);if("object"!=typeof n)if(t>2&&"string"==typeof n)s(r,n,arguments[2]);else;else for(var o in n)s(r,o,n[o])}}function s(t,r,n){null!=n?t.dataset?t.dataset[r]=n:t.setAttribute(t,"data-"+e(),n):function(){var e=arguments[0],t=arguments[1];null!=e&&null!=t&&(e.dataset?delete e.dataset[t]:e.removeAttribute(t))}(t,r)}},$===t.exports||(r($)&&r(t.exports)?Object.assign($,t.exports):$=t.exports)}(),function(){var t=null!=S?S:{},r={exports:t};Object.defineProperty(t,"__esModule",{value:!0}),t.WebdriverQuery=void 0;const n=N,l=d,a=s,c=E,f=C,p=h,v=e,m=u,y=T,g=j,w=O,b=i,x=P,_=L,F=$,k=D,M=o;class A extends a.IQuery{hasClassFn(e,t){return(0,n.node_eval)(e,te,t)}addClassFn(e,t){return(0,n.node_eval)(e,Z,t)}removeClassFn(e,t){return(0,n.node_eval)(e,X,t)}toggleClassFn(e,t){return(0,n.node_eval)(e,ee,t)}textGetFn(e){return this.getField(e,"textContent")}textSetFn(e,t){return this.setField(e,"textContent",t)}htmlOuterGetFn(e){let t=(0,n.node_getDriver)(e);return t===e?t.getPageSource():this.getField(e,"outerHTML")}htmlGetFn(e){let t=(0,n.node_getDriver)(e);return t===e?t.getPageSource():this.getField(e,"innerHTML")}htmlSetFn(e,t){return this.setField(e,"innerHTML",t)}appendFn(e,t){return this.callField(e,"insertAdjacentHTML","beforeend",t)}prependFn(e,t){return this.callField(e,"insertAdjacentHTML","afterbegin",t)}beforeFn(e,t){return this.callField(e,"insertAdjacentHTML","beforebegin",t)}afterFn(e,t){return this.callField(e,"insertAdjacentHTML","afterend",t)}cssGet(e,t){return new Promise(((r,n)=>{e.getCssValue(t).then(r,n)}))}cssSet(e,t){return(0,n.node_eval)(e,x.scripts_nodeCss,t)}async heightGetFn(e){return(await this.getBoundingClientRect(e)).height}async widthGetFn(e){return(await this.getBoundingClientRect(e)).width}innerHeightFn(e){return this.getField(e,"offsetHeight")}innerWidthFn(e){return this.getField(e,"offsetWidth")}getBoundingClientRect(e){return(0,n.node_eval)(e,J,"getBoundingClientRect")}async getPosition(e){let t=this.getField(e,"offsetTop"),r=this.getField(e,"offsetLeft"),[n,o]=await Promise.all([t,r]);return{top:n,left:o}}scrollTopGetFn(e){return this.getField(e,"scrollTop")}scrollTopSetFn(e,t){return this.setField(e,"scrollTop",t)}scrollLeftGetFn(e){return this.getField(e,"scrollLeft")}scrollLeftSetFn(e,t){return this.setField(e,"scrollLeft",t)}evalFn(e,t,...r){return(0,n.node_eval)(e,t,...r)}clickFn(e){return e.click()}triggerFn(e,t,...r){return(0,n.node_eval)(e,re,t,...r)}selectFn(e,...t){return this.getField(e,"tagName").then((r=>{var o="SELECT"===r?Q:z;return(0,n.node_eval)(e,o,...t)}))}focusFn(e){return this.callField(e,"focus")}blurFn(e){return this.callField(e,"blur")}sendKeysFn(e,t){return e.sendKeys(t)}typeFn(e,t){var r=q.toSequance(t);return q.getSequenceFunction(r)(e)}pressFn(e,t){var r=q.toCombination(t);return e.sendKeys(r)}removeFn(e){return(0,n.node_eval)(e,H)}attrGetFn(e,t){return new Promise(((r,n)=>{e.getAttribute(t).then(r,n)}))}attrSetFn(e,t){return(0,n.node_eval)(e,I,t)}valGetFn(e){return this.getField(e,"value")}valSetFn(e,t){return this.setField(e,"value",t)}dataGetFn(e,t){return(0,n.node_eval)(e,F.scripts_nodeDataset,t)}dataSetFn(e,t){return(0,n.node_eval)(e,F.scripts_nodeDataset,t)}propGetFn(e,t){return(0,n.node_eval)(e,_.scripts_nodeProperty,t)}propSetFn(e,t){return(0,n.node_eval)(e,_.scripts_nodeProperty,t)}findFn(e,t){return new Promise(((r,n)=>{e.findElements({css:t}).then(r,n)}))}matchesFn(e,t){return(0,n.node_eval)(e,R,t)}parentFn(e){return(0,n.node_eval)(e,G)}closestFn(e,t){return(0,n.node_eval)(e,U,t)}childrenFn(e,t){return(0,n.node_eval)(e,W,t)}nextFn(e,t){return(0,n.node_eval)(e,B,t)}getField(e,t){return(0,n.node_eval)(e,_.scripts_nodeProperty,t)}setField(e,t,r){return 2===arguments.length?(0,n.node_eval)(e,_.scripts_nodeProperty,t):3===arguments.length?(0,n.node_eval)(e,_.scripts_nodeProperty,t,r):null}callField(e,t,...r){return(0,n.node_eval)(e,J,t,...r)}_onFn(e,t,r){return w.WebdriverEventsPoll.addEventListener(e,t,r)}_offFn(e,t,r){return w.WebdriverEventsPoll.removeEventListener(e,t,r)}_onOnceFn(e,t,r){const n=async function(o){await w.WebdriverEventsPoll.removeEventListener(e,t,n),r(o)};return w.WebdriverEventsPoll.addEventListener(e,t,n)}manage(){let e=f.driverPool.extractDriver(this);if(null==e)throw console.log(this),new Error("Driver not found in set");return e.manage()}waitForPageLoad(e){return(0,y.waitForPageLoad)(this,void 0,e)}waitForPageReady(e){return(0,y.waitForPageLoad)(this,"interactive",e)}waitForElement(e,t){return"function"==typeof t&&(t={check:t}),(0,y.waitForElement)(this,e,t)}waitForNoElement(e,t){return"function"==typeof t&&(t={check:t}),(0,y.waitForElement)(this,e,{...t??{},hidden:!0})}waitForResource(e){return(0,y.driver_evalAsync)(this,ne,e)}unlock(){c.Webdriver.unlockDriver(this)}getDriver(){return f.driverPool.extractDriver(this)}async createFormData(){return k.WebdriverFormData.create(this)}static build(e,t){return c.Webdriver.build(e,t)}static load(e,t=g.DefaultConfig,r){return"jsdom"===t.name?p.JsdomDriver.load(e,t,r):"cheerio"===t.name?v.CheerioDriver.load(e,t,r):c.Webdriver.load(e,t,r)}static fetch(e,t=g.DefaultConfig,r){switch(t.name?.toLowerCase()){case"jsdom":return p.JsdomDriver.fetch(e,t,r);case"cheerio":return v.CheerioDriver.fetch(e,t,r);default:return c.Webdriver.fetch(e,t,r)}}static setDriver(e){f.driverPool.setGlobal(e)}static async getDriver(e,t){return(await f.driverPool.get("",e,t)).driver}static unlockDriver(e){c.Webdriver.unlockDriver(e)}static newAsync(e,t){let r=new A(e);return r.ctx.owner=t,r.then=r.ctx.thener,r}}var q;function K(e){return null!=e&&"object"==typeof e&&e.constructor===Object}t.WebdriverQuery=A,A.FormData=M.FormDataBase,A.cheerio=v.CheerioDriver,A.jsdom=p.JsdomDriver,A.network=m.NetworkDriver,A.pseudo=b.SelectorsEx.pseudoFns,function(e){const t=l.refs.Key,r={ctrl:"control",backspace:"back_space",esc:"escape",left:"arrow_left",right:"arrow_right",up:"arrow_up",down:"arrow_down"};e.toSequance=function(e){var n="_%%%%%%_";return(e=e.replace(/\{([\w_]+)\}/g,(function(e,o){var s=(r[o]||o).toUpperCase();return s in t==!1?e:n+s+n}))).split(n).map(((e,r)=>r%2==0?e:t[e]))},e.toCombination=function(e){var n=e.split("+");return n.forEach(((e,o)=>{if(""!==e)if((r[s=e]||s).toUpperCase()in t)n[o]=function(e){var n=(r[e]||e).toUpperCase();return t[n]}(e);else var s;else n[o]="+"})),0===n.length?n[0]:t.chord(...n)},e.getSequenceFunction=function(e){return async function(t){for(let r of e)await t.sendKeys(r)}}}(q||(q={})),S===r.exports||(K(S)&&K(r.exports)?Object.assign(S,r.exports):S=r.exports)}(),function(){var e=null!=w?w:{},t={exports:e};function r(e){return null!=e&&"object"==typeof e&&e.constructor===Object}Object.defineProperty(e,"__esModule",{value:!0}),e.FnPrototypeAlias=e.Classify=void 0,e.Classify=function(e){const t=function(...t){return new e(...t)};return t.prototype=e.prototype,function(e,t){let r=Object.create(null),n=e;do{let e=Object.getOwnPropertyNames(n);for(let n=0;n<e.length;n++){let o=e[n];o in r==!1&&t(o),r[o]=null}}while(n=Object.getPrototypeOf(n))}(e,(r=>{r in t==!1&&(t[r]=e[r])})),t},e.FnPrototypeAlias=function(e){return e.fn=e.prototype,e},w===t.exports||(r(w)&&r(t.exports)?Object.assign(w,t.exports):w=t.exports)}(),function(){var e=null!=k?k:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.BrowserNetworkInterceptor=void 0;class r{constructor(e){this.wsConnection=e,this.interceptions=[],e.on("message",(e=>{this.onMessage(JSON.parse(e))}))}static async start(e){const t=await e.createCDPConnection("page");return await t.execute("Fetch.enable",{},null),await t.execute("Network.setCacheDisabled",{cacheDisabled:!0},null),new r(t._wsConnection)}register(e){this.interceptions.push({urlMatch:e.match,response:e.response})}async onMessage(e){if("Fetch.requestPaused"===e.method){let t=e.params,r=e.params.request.url,n=this.interceptions.find((e=>e.urlMatch.test(r)));if(n){if(n.response)return void this.wsConnection.execute("Fetch.fulfillRequest",{requestId:t.requestId,responseCode:n.response.status??200,responseHeaders:n.response.headers,body:Buffer.from(n.response.body,"utf8").toString("base64")});throw new Error("Modify sent data not supported yet")}this.wsConnection.execute("Fetch.continueRequest",{requestId:e.params.requestId})}}}function n(e){return null!=e&&"object"==typeof e&&e.constructor===Object}e.BrowserNetworkInterceptor=r,k===t.exports||(n(k)&&n(t.exports)?Object.assign(k,t.exports):k=t.exports)}(),function(){var e=null!=A?A:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.CDPConnection=void 0;let r=0;function n(e){return null!=e&&"object"==typeof e&&e.constructor===Object}e.CDPConnection=class{constructor(e,t){this.wsConnection=e,this.sessionId=t,this.requests=new Map,e.on("message",this.onMessage.bind(this)),e.on("close",this.onClose.bind(this)),e.on("error",this.rejectAll.bind(this))}execute(e,t,n=null){let o={sessionId:this.sessionId,method:e,params:t,id:++r},s={id:o.id,resolve:null,reject:null},i=new Promise(((e,t)=>{s.resolve=e,s.reject=t}));return this.requests.set(s.id,s),this.wsConnection.send(JSON.stringify(o),n),i}onMessage(e){let t=JSON.parse(e.toString()),{id:r,result:n}=t;null!=r&&this.requests.has(r)&&(this.requests.get(r)?.resolve?.(n),this.requests.delete(r))}onClose(){this.rejectAll(new Error("CDPConnection: The underlying connection was closed"))}rejectAll(e){let t=this.requests.values();this.requests=new Map;for(let r of t)r.reject(e)}},A===t.exports||(n(A)&&n(t.exports)?Object.assign(A,t.exports):A=t.exports)}(),function(){var e=null!=M?M:{},t={exports:e};Object.defineProperty(e,"__esModule",{value:!0}),e.BrowserNetworkMonitor=void 0;const r=require("atma-utils"),n=A;class o extends r.class_EventEmitter{constructor(e,t){super(),this.driver=e,this.wsConnection=t,this.cdp=new n.CDPConnection(this.wsConnection,this.driver.sessionId),this.requests=[],this.requestsHash={},t.on("message",(e=>{this.onMessage(JSON.parse(e))}))}static async start(e){const t=await e.createCDPConnection("page");return await t.execute("Network.enable",{},null),await t.execute("Network.setCacheDisabled",{cacheDisabled:!0},null),new o(e,t._wsConnection)}getRequest(e){return this.getRequests(e)[0]}getRequests(e){if(null==e)return this.requests;if(e instanceof RegExp){let t=e;return this.requests.filter((e=>t.test(e.request.url)))}return this.requests.filter((t=>e(t.request)))}async getResponseBody(e){let{base64Encoded:t,body:r}=await this.cdp.execute("Network.getResponseBody",{requestId:e.requestId});return{base64Encoded:t,body:r}}async getRequestBody(e){let{postData:t}=await this.cdp.execute("Network.getRequestPostData",{requestId:e.requestId});return{body:t}}async onMessage(e){if("Network.requestWillBeSent"===e.method){let t={requestId:e.params.requestId,request:{url:e.params.request.url,method:e.params.request.method,headers:e.params.request.headers,date:Date.now()},response:{}};return this.requests.push(t),this.requestsHash[t.requestId]=t,void this.emit("requestWillBeSent",t)}if("Network.responseReceived"===e.method){let t=this.requestsHash[e.params.requestId];if(null==t)return;return t.response={status:e.params.response.status,headers:e.params.response.headers,date:Date.now()},void this.emit("responseReceived",t)}if("Network.loadingFinished"!==e.method);else{let t=this.requestsHash[e.params.requestId];if(null==t)return;this.emit("loadingFinished",t)}}}function s(e){return null!=e&&"object"==typeof e&&e.constructor===Object}e.BrowserNetworkMonitor=o,M===t.exports||(s(M)&&s(t.exports)?Object.assign(M,t.exports):M=t.exports)}();var oe,se=this&&this.__decorate||function(e,t,r,n){var o,s=arguments.length,i=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(i=(s<3?o(i):s>3?o(t,r,i):o(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};const ie=S,le=w,ae=n,ue=k,ce=M;let de=oe=class extends ie.WebdriverQuery{};de.default=oe,de.CookieContainer=ae.CookieContainer,de.BrowserNetworkInterceptor=ue.BrowserNetworkInterceptor,de.BrowserNetworkMonitor=ce.BrowserNetworkMonitor,de=oe=se([le.Classify,le.FnPrototypeAlias],de),de.default=de,module.exports=de}();
//# sourceMappingURL=/sm/45ae7ef1c5d6cff1f9679c89fd51ede2c3fb25678c3434cf2034674bdce5b5d7.map